[논문 리뷰] Can Vision Transformers Perform Convolution?
이 논문은 이미지 패치를 입력으로 사용할 때 상대적 위치 인코딩과 최소 9개의 어텐션 헤드를 갖춘 단일 비전 트랜스포머(ViT) 레이어가 어떤 컨볼루션 연산도 정확히 표현할 수 있음을 증명한다. 저자들은 이 이론적 구성에 기반해 사전 훈련된 CNN으로부터 ViT를 초기화하는 이중 단계 훈련 파이프라인을 제안하며, 아키텍처 변경 없이도 저데이터 환경에서 성능을 크게 향상시킨다.
Several recent studies have demonstrated that attention-based networks, such as Vision Transformer (ViT), can outperform Convolutional Neural Networks (CNNs) on several computer vision tasks without using convolutional layers. This naturally leads to the following questions: Can a self-attention layer of ViT express any convolution operation? In this work, we prove that a single ViT layer with image patches as the input can perform any convolution operation constructively, where the multi-head attention mechanism and the relative positional encoding play essential roles. We further provide a lower bound on the number of heads for Vision Transformers to express CNNs. Corresponding with our analysis, experimental results show that the construction in our proof can help inject convolutional bias into Transformers and significantly improve the performance of ViT in low data regimes.
연구 동기 및 목표
- 이미지 패치를 입력으로 사용할 때 비전 트랜스포머 레이어가 다수의 어텐션 헤드와 상대적 위치 인코딩을 사용해 어떤 컨볼루션 연산도 정확히 표현할 수 있는지 확인하는 것.
- 패치 입력 및 픽셀 입력 설정에서 ViT가 컨볼루션을 표현하기 위해 필요한 어텐션 헤드 수의 이론적 하한을 설정하는 것.
- 저데이터 환경에서 일반화 성능을 향상시키기 위해 비전 트랜스포머에 컨볼루션 인덕티브 바이어스를 주입하는 실용적인 훈련 파이프라인을 개발하는 것.
- 작은 데이터셋에서 ViT의 표현력 제한이 아키텍처 때문이 아니라 일반화 능력 부족 때문임을 입증하는 것.
제안 방법
- 9개의 헤드와 상대적 위치 인코딩을 갖춘 다중 헤드 자기주의 레이어가 이미지 패치에 대해 어떤 K×K 컨볼루션도 시뮬레이션할 수 있음을 체계적으로 증명한다.
- 9개의 헤드가 패치 입력 ViT가 컨볼루션을 표현하기 위해 필수적이고 충분함을 보여주는 하한을 유도하며, 픽셀 입력 ViT의 경우 K²개의 헤드가 필요함을 확인한다.
- 이중 단계 훈련 파이프라인을 제안한다: 첫 번째 단계에서는 사전 훈련된 CNN에서 이론적 구성에 따라 ViT 가중치를 초기화하고, 두 번째 단계에서는 최종 작업 데이터에서 미세조정한다.
- 상대적 위치 인코딩을 사용해 패치 간 공간적 관계를 인코딩함으로써 어텐션 레이어가 패치 경계를 넘어서 특징을 집계할 수 있도록 한다.
- 표준 다중 헤드 자기주의(MHSA) 모듈을 아키텍처 수정 없이 그대로 유지하여 기존 ViT 프레임워크와의 호환성을 확보한다.
- CIFAR-100과 ImageNet에서 실증적으로 방법을 검증하며, 무작위 초기화된 ViT와의 성능을 비교한다.
실험 결과
연구 질문
- RQ1이미지 패치를 입력으로 사용할 때 다수의 어텐션 헤드와 상대적 위치 인코딩을 사용한 단일 ViT 레이어가 어떤 컨볼루션 연산도 표현할 수 있는가?
- RQ2패치 입력 및 픽셀 입력 설정에서 K×K 컨볼루션을 정확히 표현하기 위해 ViT 레이어가 최소 몇 개의 어텐션 헤드가 필요한가?
- RQ3이론적 초기화를 통한 컨볼루션 인덕티브 바이어스 주입이 저데이터 환경에서 ViT 성능을 향상시킬 수 있는가?
- RQ4패치 입력 ViT에서 컨볼루션을 표현하기 위해 9개의 헤드 수준이 최적의 헤드 수일까?
주요 결과
- 이미지 패치를 입력으로 사용할 때 9개의 헤드와 상대적 위치 인코딩을 갖춘 단일 ViT 레이어는 어떤 K×K 컨볼루션도 정확히 표현할 수 있으며, 이는 ViT의 국소적 수신장이 초과하는 표현력임을 입증한다.
- 이론적 구성에 따르면 패치 입력 ViT의 경우 9개의 헤드가 컨볼루션을 표현하기 위해 필수적이고 충분하며, 픽셀 입력 ViT의 경우 K²개의 헤드가 필요함을 보여주며, 패치 기반 아키텍처에서 헤드 효율성이 뛰어남을 입증한다.
- 이론적 구성에 기반해 사전 훈련된 CNN에서 초기화된 이중 단계 훈련 파이프라인은 저데이터 환경에서 CIFAR-100과 ImageNet에서 테스트 정확도를 크게 향상시킨다.
- 이 방법은 훈련 효율성과 최적화 안정성을 향상시키며, 아키텍처 수정 없이도 랜덤 초기화된 모델보다 뛰어난 성능을 내며, 성능 향상이 이루어진다.
- 실증 결과는 작은 데이터셋에서 ViT와 CNN 간의 성능 격차가 표현력 부족 때문이 아니라 일반화 능력 부족 때문임을 확인하며, 적절한 인덕티브 바이어스 주입 시 성능 향상이 가능함을 입증한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.