소개글 (간략하게 논문이나 논문 주제에 대한 트리비아)
위치정보를 구조적으로 제한하는 CNN 구조는 locality와 inductive bias 강제적으로 가진다. 강제적으로 가질 수 밖에 없는 inductive bias를 적절하게 조절해 가질 수 있다면 보다 높은 성능을 얻을 수 있다. 공간적으로 아주 멀리 떨어진 픽셀들 간의 상관관계와 같은 inductive bias를 얻을 수 있다면 기존의 CNN 구조의 성능을 넘어설 수 있다. 하지만 적은 데이터에서는 이러한 inductive bias를 얻기 어렵다.
모든 관계를 살펴보는 transformer 모델은 CNN과 비교해 inductive bias에 대한 더 큰 자유도를 가지고 있지만 입력 데이터의 모든 요소간의 관계를 계산하기 위해 많은 데이터를 요구한다. 따라서 ViT는 레이블이 지정된 수억 개의 이미지 pre-training을 사용할 수 있을 때 컴퓨터 비전 작업에서 state-of-the-art convolution network보다 뛰어나다. 이는 방대한 데이터가 강력한 ViT 모델을 training하기 위해 locality 및 translation equivalence와 같은 충분한 inductive bias를 제공하기 때문이다.
최근 연구에서는 전체적인 global self attention을 local attention과 같은 방법으로 대체하고 계층적 transformer 구조를 사용해 local image patch에서 attention을 수행하는 방법을 제안했다. 이러한 접근 방식의 단점은 패치간에 information communication을 촉진하기 위해 복잡한 설계가 필요하고 구현하기 어렵다는 부분이다.
Introduction
ViT는 입력 이미지는 패치 단위로 분할하고 nlp 애플리케이션의 토큰과 동일한 방식으로 처리한다. 그런 다음 여러 개의 self-attention layers가 global information communication을 수행하여 분류를 위한 feature를 추출한다. 그러나 소규모 데이터셋에서 train된 경우 ViT는 일반적으로 CNN에 비해 성능이 낮다.
ViT 모델의 data inefficiency는 locality와 같은 inductive bias의 부족에서 비롯된다. data inefficiency를 완화하기 위해 global self-attention 대신 local image patch에서 attention을 수행한다. 패치 간 information communication을 촉진하기 위해, swin transformer 등의 vision transformer에서는 "haloing operation" 및 "shifted window"와 같은 구조를 제안한다.
이러한 변형은 ViT에서 data augmentation에 대한 의존성을 낮추며 더 적은 데이터로도 높은 성능을 얻을 수 있지만, 아키텍처의 복잡성을 증가시키고 실질적인 구현이 쉽지 않다.
본 논문에서 제안하는 NesT의 작업은 이러한 복잡한 아키텍처 구조를 없애고 아키텍처 및 training 측면에서 단순화에 초점을 맞춘다.
Proposed Method
Swin transformer등 계층적 구조를 사용하는 모델과 달리, NesT의 모든 블록은 standard transformer layer를 통해 information을 독립적으로 처리하며, 일부 단순한 spatial operations(컨볼루션 및 풀링 등)을 통해 블록 aggregation 단계에서 global information만 연산한다.
블록 boundaries를 공유하는 작은convolution과 max pooling kernel을 통한 작은 information 교환은 중요한 이점을 가져온다. locality 같은 inductive bias를 강제함으로서 빠르게 수렴하고 더 적은 데이터에도 충분히 training이 가능하며 data augmentation에 대해 의존도 감소한다. 따라서 데이터 효율성을 위해 하위 계층에서 full self-attention이 바람직하지 않음을 시사한다.
Experiment
cifar10, cifar100 데이터셋에서 swin transformer는 DeiT 및 PVT 보다 성능이 높다. 하지만 모델 크기가 커짐에 따라 성능의 개선이 거의 없다. 더 적은 데이터로 더 큰 모델을 traning 하는 것이 더 어려워진다는 것을 알 수 있다. 이러한 결과가 나타나는 것은 shifted windows with masked MSA 같은 복잡한 설계로 인해 더 많은 데이터가 필요하기 때문이라고 추측한다.
Swin과 NesT를 비교하면 같은 성과에서 57%의 parameter가 감소한다. 따라서 심플한 aggregation의 설계가 중요하며 심플한 aggregation을 통해 global self-attention 방법보다 effective visual feature를 훨씬 더 효율적으로 터득할 수 있다.
data augmentation은 global self-attention에서 일반환하는데 매우 중요하지만, NesT에서는 도메인 또는 태스크에 종속된 data augmentation에 대한 의존도가 낮기 때문에 아키텍처가 다른 작업에도 이용이 용이한가?
Conclusions
data augmentation은 transformer에서 global self-attention에서 일반환하는데 매우 중요하지만, NesT에서는 도메인 또는 태스크에 종속된 data augmentation에 대한 의존도가 낮기 때문에 아키텍처가 다른 작업에 이용이 용이하다.
전반적으로 local self-attention(transformer blocks)와 global information selection(block aggreation)을 분리하는 것은 모델을 더 쉽게 해석할 수 있는 잠재력을 가지고 있다고 볼 수 있다. original ViT가 hundreds of millions의 이미지 pre-trainiung을 통해 CNN보다 더 나은 결과를 보일 수 있지만, 데이터 요구 사항을 실용적이기 어렵다. 전반적으로 wisely designed aggregation function을 통해 nested transformers를 aggregating하기만 하면 더 나은 정확성, 데이터 효율성 및 수렴을 이룰 수 있다.
Share article