-
ConvMixer : PATCHES ARE ALL YOU NEED?AI/Vision 2023. 5. 8. 14:10
Arxiv
CONVOLUTIONS ATTENTION MLPsPATCHE ARE ALL YOU NEED?
Asher Trockman, J. Zico Kolter1
이 논문은 vision transformer(ViT)의 성능 향상의 근본적인 원인을 찾고 그것을 convolution으로 해결하기 위한 방법을 제시한 논문이다. 이들이 말하는 ViT의 성능 향상의 원인은 patch 단위로 이미지를 처리하는 것으로 이를 실험적으로 증명하고 이를 활용한 간단한 하지만 강력한 모델인 ConvMixer를 제안한다.
Doi : https://doi.org/10.48550/arXiv.2201.09792
Patches Are All You Need?
Although convolutional networks have been the dominant architecture for vision tasks for many years, recent experiments have shown that Transformer-based models, most notably the Vision Transformer (ViT), may exceed their performance in some settings. Howe
arxiv.org
1. Introduction
수년동안 convoutional neural network는 computer vision task에서 deep learning system의 주요 아키텍처로 사용되었다. 그러나 최근 NLP 분야에서 강력한 성능을 가지고 있는 Transforemr를 vision task에 적용한 ViT가 CNN의 성능을 능가함을 보였다. 특히 대규모 데이터 세셍서 기존의 CNN을 능가하는 강력한 성능을 보인다. 이미 ViT는 다양한 이미지 분야에서 적용되고 있으며 CNN을 밀어내고 vision 분야를 정복하는 것은 시간문제일 것이다.
그러나 Transformer 에서 사용되는 self-attention은 이미지에서 적용 시 pixel-level에서 naively 하게 적용될 경우 이미지당 pixel 수에 따라서 qudratically 하게 증가한다는 문제점을 가지고 있다. 그렇기 때문에 ViT는 이미지를 여러 개의 "patch"로 분할하는 것으로 이 문제를 해결하였다. linearly embed 된 이 patch 모음에 직접 transformer를 적용하는 방식으로 사용된다.
논문의 저자들은 이러한 방식을 사용한 ViT의 강력한 성능의 근본적인 원인에 대해서 고민을 하였다.
이들이 제시한 ViT 성능의 근본적인 원인의 가설은 아래의 두 가지와 같다.
- Transformer Architecture 자체가 기존 CNN보다 근본적으로 강력하다.
- Patch-based representation을 하기 때문에 성능이 강력하다.
본 저자들은 위 두 가지 가능성 중 patch-based representation 때문에 ViT가 강력한 성능을 가진다고 말하고 있다. 그래서 MLP-Mixer에서 영감을 받아 이와 비슷한 ConvMixer를 제안한다.
ConvMxier의 특징은 아래와 같다
- Patch 에서 직접 작동한다.
- 모든 layer에서 동일한 해상도와 크기의 representation을 유지한다.
- 연속된 layer에서 downsampling을 하지 않는다.
- 정보의 "spatial mixing"에서 "channel-wise mixing"을 분리한다.
위와 같은 특징은 ViT 혹은 MLP-Mixer와 유사하다. 그러나 ConvMixer는 standard convolutions 만을 이용하여 이 작업을 수행한다는 차이점을 가지고 있다.
ConvMixer의 code ConvMixer는 위와 같이 극도로 단순하게 만들어졌지만 statdard vision model (ResNet과 같은)과 일부에 해당에서 ViT model, MLP-Mixer 그리고 다양한 방법을 적용한 그 외의 모델의 성능을 능가한다.
ConvMixer는 비교 대상 모델과 달리 정확도나 속도를 극대화 하도록 실험적으로 hyper parameters를 조절하는 설계를 하지 않았음에도 저러한 결과가 나왔다. 이는 적어도 어느 정도는 patch representation 자체가 중요한 component 일 수 있음을 시사한다고 얘기하고 있다.
2. ConvMixer
위 그림은 ConvMixer의 architecture이다.
ConvMixer는 그림에서 볼 수 있듯이 Patch Embedding layer와 단순한 fully-convolution blockd의 반복으로 이루어져 있다.
모델의 구조 및 구현에 대해서 자세히 알아보자.
Patch size "p"와 embedding dimension "h"를 가진 patch embedding은 input channel "C_in"과 output channel "h", kernel size "p"와 stride "p"를 가진 Convolution으로 구현할 수 있다.
ConvMixer block 자체는 depthwise convolution (channel 수 (h) 와 동일한 group이 있는 grouped convolution)와 pointwise covolution (kernel size : 1x1)으로 구성되어 있다. 이때 ConvMixer는 depthwise convoltion에 대해 비정상적으로 큰 kernel size와 가장 잘 작동한다고 한다.
ConMixer block을 지난후 global pooling과 softmax classifier를 지나 분류를 시행한다.
기존의 MLPs와 self-attention은 멀리 떨어진 spatial location을 혼합할 수 있다. 이는 임의의 large receptive field를 가질 수 있는 것을 의미한다. ConvMixer는 이러한 특성을 비정상적으로 큰 kernel size를 가진 convolution을 통해서 멀리 떨어진 spatial location을 혼합한다.
ConvMixer에서 사용한 depthwise convolution을 통해 spatial location 정보를 혼합하며 pointwise convolution을 통해서 channel location을 혼합한다.
MLPs와 self-attention은 이론적으로 더 유연하여 넓은 receptive field와 content-aware behavior를 허용하는 반면 ConvMixer에서 사용한 convolution의 inductive bias는 vision task에 더 적합하여 높은 데이터 효율을 제공한다는 강점을 가지고 있다. 이러한 standard operation을 사용하면 기존의 pyramid-shaped의 architecture와 달리 patch represenation 자체의 효과도 얻을 수 있다.
3. Experiments
< Traning Step >
Pretraining or additional data 없이 학습을 진행한다.
Augmentation으로 Random Augment, Mixup, CutMix, random erasing 및 gradient norm clipping을 사용하였지만 hyper parameter는 timm augmentation default 값을 사용하였다.
Optimizer는 AdamW를 사용하였으며 simple triangular leraning rate schedule을 사용하였다.
< Comparison to other models >
기존의 ViT 계열의 모델들과 CNN들 보다 높은 성능을 가짐을 확인할 수 있다.
이 논문을 통해서 그저 좋다고만 생각하던 ViT의 근복적인 성능향상의 원인에 대해서 생각을 하게 되었다.
본 논문은 patch-based representation 이 왜 좋은 성능을 가지는지를 실험적으로 증명하였지만 이를 뒷받침하는 이론적인 설명이 부족하다고 느껴 과연 본 논문에서 하는 말이 맞는 것인지에 대한 의문이 많이 생긴다. 하지만 기존 ViT의 강점을 CNN을 사용하여 가져와 보고자하는 시도는 참신하고 ViT가 왜 성능이 좋은가에 대한 생각을 하게 되는 논문이어서 가볍게 읽어보기에는 가치가 있다고 생각한다.
이와 비슷하게 ViT의 성공요인을 분석하고 적용하며 다양한 CNN의 기법들을 실험을 통해 통합한 논문인 "ConvNeXt"도 다양한 task에서 강력한 성능을 보이는 것이 입증된 논문이는 꼭 읽고는 것이 좋다고 추천한다.
'AI > Vision' 카테고리의 다른 글