Abstract

vision task에서 오랫동안 CNN이 지배적이었지만 최근 ViT 계열의 Transformer-based 모델들이 뛰어난 성능을 보이고 있다. 그러나 ViTs는 Patch embedding이 필요하다. self-attention의 연산량 때문이다. 픽셀들을 모두 그대로 넣어준다면 감당할 수 없을 것이다. 여기서 이 논문은 의문을 제기한다.

이 의문에 대한 증거를 이 논문에서 제시하며 ConvMixer라는 ViT와 MLP-Mixer에서 영감받은 새로운 아키텍쳐를 제안한다.

ConvMixer는 input에서 패치들을 연산하고 spatial dimension과 channel dimension의 mixing을 분리한다. 그리고 네트워크 전반에서 같은 size와 resolution을 유지한다.

ConvMixer는 오직 일반 convolution 연산만을 사용한다. 단순한 구조에도 ViT와 MLP-Mixer의 성능을 뛰어넘었다.


Introduction

NLP에서처럼 vision에서도 ViT구조가 주가 되는 것은 시간문제로 보이나 이미지의 경우에는 self attention의 연산량 때문에 변화가 필요했다. 바로 patch embedding이다.

이 논문에서는 vision transformers의 성능이 transformer 구조 그 자체에서 온 것인지 patch-based representation에서 온 것인지를 분석한다. 그리고 매우 간단한 convolutional 아키텍쳐 “ConvMixer”를 제안한다. 이는 ViT와 MLP-Mixer와 많은 점에서 유사하다.

  1. patch단위로 연산된다는 점
  2. 모든 레이어에서 같은 해상도와 사이즈(채널을 의미하는 듯 하다)를 유지한다. (downsampling x)
  3. information을 channel-wise mixing과 spatial mixing으로 분리한다.

그러나 오직 convolution연산으로만 이루어져 있다는 것이 다른 점이다.

ConvMixer아키텍쳐의 실험결과를 ResNets와 ViT, MLP-Mixer와 비교하지만 ConvMixer는 accuracy나 speed를 위해 설계한 것이 아니다 ( 오직 patch embedding의 영향에 대한 분석을 위해 설계)

또한 patch embedding과 다른 요소들의 영향을 분리하기 위해서는 더 많은 실험이 필요할 것이라고 한다.

A Simple Model : ConvMixer

ConvMixer : Patch Embedding Layer + fully convolutional blocks

Untitled