Transformer in Transformer

Transformer는 주목(mechanism)을 통해 입력 데이터를 강력한 특징으로 인코딩하는 새로운 종류의 신경망 아키텍처이다. 기본적으로 시각적 Transformer는 입력 이미지를 여러 개의 지역적 패치로 나누고, 각 패치의 표현과 그 상호관계를 계산한다. 자연 이미지는 풍부한 세부 정보와 색상 정보를 지니고 있어 매우 높은 복잡도를 가지므로, 단순히 큰 크기의 패치(예: 16×16)로 나누는 것은 다양한 크기와 위치에 있는 객체의 특징을 효과적으로 탐색하기에 부족하다. 본 논문에서는 이러한 지역적 패치 내부의 주목도 또한 고성능 시각적 Transformer 구축에 있어 필수적임을 지적하고, 새로운 아키텍처인 Transformer in Transformer(TNT)를 제안한다. 구체적으로, 지역적 패치(예: 16×16)를 '시각적 문장(visual sentence)'으로 간주하고, 이를 더 작은 패치(예: 4×4)로 나누어 '시각적 단어(visual word)'로 정의한다. 각 시각적 단어는 주어진 시각적 문장 내 다른 단어들과의 주목을 거의 무비용으로 계산한다. 이로써 단어와 문장의 특징을 통합하여 표현 능력을 향상시킨다. 여러 벤치마크에서 수행된 실험을 통해 제안하는 TNT 아키텍처의 효과성을 입증하였으며, ImageNet에서 81.5%의 top-1 정확도를 달성하여 유사한 계산 비용을 가진 최첨단 시각적 Transformer보다 약 1.7% 높은 성능을 보였다. PyTorch 코드는 https://github.com/huawei-noah/CV-Backbones에서, MindSpore 코드는 https://gitee.com/mindspore/models/tree/master/research/cv/TNT에서 확인할 수 있다.