AI & Statistics Lab

Paper Review

Convolutional Vision Transformer (CvT) 논문 리뷰

AIStat 2025. 6. 15. 20:04

이 논문은 "CvT: Introducing Convolutions to Vision Transformers"라는 제목으로, 기존의 Vision Transformer (ViT) 아키텍처에 컨볼루션(Convolution) 연산을 도입하여 성능과 효율성을 개선한 새로운 아키텍처인 Convolutional vision Transformer (CvT)를 제안합니다. CvT의 목표는 CNN(Convolutional Neural Network)의 바람직한 특성(예: 이동, 스케일 및 왜곡 불변성)과 트랜스포머의 장점(예: 동적 어텐션, 전역 컨텍스트, 더 나은 일반화)을 결합하여 두 디자인의 최고를 이끌어내는 것입니다.

1. 도입 및 배경

트랜스포머는 최근 자연어 처리(NLP) 분야에서 광범위한 작업에 걸쳐 지배적인 위치를 차지했습니다. Vision Transformer (ViT)는 대규모 이미지 분류에서 경쟁력 있는 성능을 달성하기 위해 전적으로 트랜스포머 아키텍처에 의존한 최초의 컴퓨터 비전 모델입니다. ViT는 이미지를 겹치지 않는 패치(예: 16x16)로 분할하고, 이 패치를 토큰으로 처리한 후, 표준 트랜스포머 레이어에 입력하여 분류를 위한 전역 관계를 모델링합니다. 이때 공간 정보를 나타내기 위해 특수 위치 인코딩(positional encoding)이 토큰에 더해집니다.

하지만 ViT는 대규모 데이터셋(예: ImageNet-22k, JFT-300M)에서 뛰어난 성능을 보였음에도 불구하고, 소량의 데이터로 훈련했을 때는 ResNet과 같은 CNN 기반 모델에 비해 성능이 떨어지는 한계가 있었습니다. 이는 CNN 아키텍처에 내재된 특정 바람직한 속성, 즉 이미지의 강력한 2D 지역 구조(인접 픽셀 간의 높은 상관관계)를 포착하는 능력 때문으로 분석됩니다. CNN은 지역 수용 필드(local receptive fields), 가중치 공유(shared weights), 공간 서브샘플링(spatial subsampling)을 통해 이동, 스케일, 왜곡 불변성과 같은 특성을 자연스럽게 얻습니다. 또한, 계층적 구조를 통해 저수준의 에지나 텍스처부터 고차원의 의미적 패턴까지 다양한 복잡도의 시각적 패턴을 학습합니다.

이러한 배경에서 논문은 컨볼루션 연산을 ViT 구조에 전략적으로 도입하여 성능과 견고성을 개선하고 동시에 높은 계산 및 메모리 효율성을 유지할 수 있다는 가설을 세웠습니다.

2. CvT의 핵심 개선 사항

CvT는 ViT 아키텍처의 두 가지 핵심 부분에 컨볼루션을 도입합니다.

  • 계층적 트랜스포머 구조와 컨볼루션 토큰 임베딩 (Convolutional Token Embedding):
    • CvT는 CNN에서 차용한 다단계 계층 구조로 트랜스포머를 여러 단계로 나눕니다.
    • 각 단계의 시작에는 '컨볼루션 토큰 임베딩'이 포함됩니다. 이는 2D로 재구성된 토큰 맵에 스트라이드(stride)를 사용한 오버래핑(overlapping) 컨볼루션 연산을 수행합니다.
    • 이 과정을 통해 모델은 지역 정보를 포착할 수 있을 뿐만 아니라, CNN에서 수행되는 방식처럼 시퀀스 길이를 점진적으로 줄이면서 동시에 토큰 피처의 차원을 증가시켜 공간 다운샘플링과 함께 풍부한 표현을 얻습니다.
    • 특히, CvT는 기존 ViT와 달리 명시적인 위치 임베딩(position embedding)을 토큰에 더하지 않습니다.
  • 컨볼루션 프로젝션 (Convolutional Projection):
    • 트랜스포머 모듈 내의 모든 셀프-어텐션 블록(self-attention block) 이전에 사용되는 선형 프로젝션(linear projection)이 제안된 '컨볼루션 프로젝션'으로 대체됩니다.
    • 이 컨볼루션 프로젝션은 2D로 재구성된 토큰 맵에 s×s 깊이별 분리 가능 컨볼루션(depth-wise separable convolution)을 사용합니다.
    • 이를 통해 모델은 추가적인 지역 공간 컨텍스트를 포착하고 어텐션 메커니즘의 의미론적 모호성을 줄일 수 있습니다.
    • 또한, 컨볼루션의 스트라이드를 사용하여 키(Key) 및 값(Value) 행렬을 서브샘플링함으로써 계산 복잡성을 관리하고 효율성을 4배 이상 향상시킬 수 있습니다. 이로 인한 성능 저하는 미미합니다. 기존 선형 프로젝션은 1x1 컨볼루션으로도 구현될 수 있으므로, 제안된 컨볼루션 프로젝션은 원본 트랜스포머 블록의 일반화된 형태라고 할 수 있습니다.

3. CvT의 장점

CvT는 CNN의 모든 장점(지역 수용 필드, 가중치 공유, 공간 서브샘플링)을 가져오면서도 트랜스포머의 장점(동적 어텐션, 전역 컨텍스트 융합, 더 나은 일반화)을 유지합니다.

  • 성능 및 효율성: ImageNet-1k 사전 학습 시 최첨단 성능을 달성하며, 기존 CNN 기반 모델(예: ResNet) 및 트랜스포머 기반 모델(예: ViT, DeiT)보다 적은 FLOPS와 파라미터로 더 나은 성능을 보입니다. ImageNet-22k와 같은 대규모 데이터셋으로 사전 학습 시에도 성능 이득이 유지됩니다.
  • 위치 인코딩 제거: 기존 비전 트랜스포머에서 필수적인 요소였던 위치 인코딩을 안전하게 제거할 수 있어 모델 설계를 단순화하고 고해상도 비전 작업에 더 쉽게 적용할 수 있습니다. 이는 컨볼루션 도입으로 인해 네트워크가 자체적으로 지역 공간 관계를 모델링할 수 있게 되었기 때문입니다. DeiT-S의 경우 위치 임베딩을 제거하면 ImageNet Top-1 정확도가 1.8% 하락하는 반면, CvT는 성능 저하가 없음을 보여줍니다.

4. 실험 결과

논문은 대규모 이미지 분류 데이터셋과 다양한 다운스트림 작업에서 CvT 모델을 평가했습니다.

  • 설정: ImageNet-1k (1.3M 이미지, 1k 클래스) 및 ImageNet-22k (14M 이미지, 22k 클래스) 데이터셋을 사용했으며, CIFAR-10/100, Oxford-IIIT-Pet, Oxford-IIIT-Flower와 같은 다운스트림 작업으로 모델을 전이 학습시켰습니다. CvT-13, CvT-21, CvT-W24와 같은 다양한 모델 변형을 실험했습니다.
  • 최첨단 모델과의 비교:
    • 트랜스포머 기반 모델 대비: CvT는 ViT, DeiT, PVT, T2T, TNT 등 다른 트랜스포머 기반 모델과 비교했을 때, 더 적은 파라미터와 FLOPs로 훨씬 높은 정확도를 달성했습니다. 예를 들어, CvT-21은 DeiT-B보다 파라미터가 63%, FLOPs가 60% 적으면서도 ImageNet Top-1 정확도가 0.5% 더 높았습니다.
    • CNN 기반 모델 대비: CvT는 CNN 기반 모델과의 성능 격차를 더욱 줄였습니다. CvT-13 (20M 파라미터, 4.5G FLOPs)은 ResNet-152 (60M 파라미터, 11G FLOPs)보다 ImageNet Top-1 정확도에서 3.2% 더 높은 성능을 보였습니다.
    • 대규모 사전 학습: ImageNet-22k로 사전 학습된 CvT-W24는 ImageNet에서 87.7%의 Top-1 정확도를 달성하여, 비슷한 파라미터 수와 FLOPs를 가진 기존 최고의 트랜스포머 기반 모델 ViT-L/16을 2.5%p 능가했습니다.
  • 다운스트림 작업 전이: ImageNet-22k로 사전 학습된 CvT-W24 모델은 모든 다운스트림 작업에서 최고의 성능을 달성했으며, BiT-R152x4와 같은 훨씬 큰 모델과 비교해도 우위를 보였습니다.
  • Ablation Study (요소별 영향 분석):
    • 위치 임베딩 제거: CvT에서 위치 임베딩을 제거해도 성능 저하가 없음을 확인했습니다. 이는 컨볼루션 도입으로 인한 지역 컨텍스트 모델링 능력 덕분이며, 가변 해상도 입력 이미지에 대한 적응을 용이하게 합니다.
    • 컨볼루션 토큰 임베딩: 컨볼루션 토큰 임베딩을 사용하지 않고 비-오버래핑 패치 임베딩을 사용하면 성능이 0.8% 하락하는 것을 통해 이 컴포넌트의 효과를 입증했습니다.
    • 컨볼루션 프로젝션: 키와 값 프로젝션에 스트라이드 2를 사용하면 ImageNet Top-1 정확도가 0.3% 하락하지만 FLOPs는 30% 감소하여 효율성 이득이 있음을 보여주었습니다. 또한, 컨볼루션 프로젝션을 더 많은 단계에서 사용할수록 성능이 지속적으로 향상됨을 확인했습니다.

5. 결론

이 논문은 비전 트랜스포머 아키텍처에 컨볼루션을 도입하여 트랜스포머와 CNN의 장점을 결합하는 것에 대한 상세한 연구를 제시했습니다. 광범위한 실험을 통해 도입된 컨볼루션 토큰 임베딩과 컨볼루션 프로젝션, 그리고 컨볼루션에 의해 가능해진 다단계 네트워크 설계가 CvT 아키텍처가 뛰어난 성능을 달성하면서도 계산 효율성을 유지하게 함을 입증했습니다. 또한, 컨볼루션에 의해 내재된 지역 컨텍스트 구조 덕분에 CvT는 더 이상 위치 임베딩을 필요로 하지 않아, 가변 입력 해상도를 요구하는 다양한 비전 작업에 적용할 잠재적 이점을 제공합니다.