Computer Vision

MLP-Mixer: An all-MLP Architecture for Vision 논문 요약

kk_eezz 2024. 3. 29. 16:21

 

 

https://arxiv.org/abs/2105.01601

 

MLP-Mixer: An all-MLP Architecture for Vision

Convolutional Neural Networks (CNNs) are the go-to model for computer vision. Recently, attention-based networks, such as the Vision Transformer, have also become popular. In this paper we show that while convolutions and attention are both sufficient for

arxiv.org

 

 

Idea

  • 그동안 computer vision 분야에서 주로 사용된 모델은 CNN 기반이거나, attention 기반이다.
  • 그러나, 이 논문에서는 MLP만으로도 SOTA에 근접한 좋은 결과를 낼 수 있음을 보여주었다.

Multi Layer Perceptron, 이미지 출처: https://buomsoo-kim.github.io/keras/2018/04/21/Easy-deep-learning-with-Keras-2.md/

 

 

Methods

  • MLP-Mixer는 이미지 patch를 입력으로 받고, 이를 N개의 동일한 Mixer Layer에 통과시킨 후, Global Average Pooling layer와 FC layer를 통과하여 최종 output을 출력한다.
  • Mixer Layer는 두 가지 종류의 MLP layer로 이루어져있는데 첫번째는 channel-mixing MLP, 두번째는 token-mixing MLP이다.
  • 이름에서도 유추할 수 있듯이, channel-mixing MLP에서는 하나의 이미지 패치에서의 여러 channel에 대한 정보를 통합하는 역할을 한다. 그리고, token-mixing MLP는 여러 이미지 패치의 정보를 통합하는 역할을 한다.
  • 전체 프로세스는 다음과 같다.

1. S개의 image patch를 입력으로 받는다. (S = H*W/(P*P))

2. 각 image patch는 hidden dimenstion C로 linear하게 project된다.

3. project된 feature들은 Layer norm을 거친 후, token-mixing layer를 통해 정보가 통합된다.

4. channel-mixing layer를 통해 하나의 이미지 패치에서 여러 channel에 대한 정보를 통합한다.

5. 각각의 mixer layer에서의 연산은 다음과 같이 표현될 수 있다.

  • 시그마는 GELU activation function을 의미한다.
  • 여기서 C와 S는 각각 token-mixing MLP와 channel-mixing MLP에서의 hidden width 값이고 이 값은 hyperparameter로서 조정될 수 있다.

6. Mixer는 ViT와는 달리 positional embedding을 사용하지 않는다. 이는 token-mixing MLP가 input token의 순서에 민감하기 때문이라고 한다.

 

 

 

Experiments

  • 모델 세부 사항은 다음과 같다. B, S, L은 각각 base, small, large를 의미하고 뒤에 붙은 숫자는 patch의 크기를 의미한다.

 

 

  • Downstream task에 대해 SOTA 모델과 비교한 결과.
    • MLP 기반 Mixer 모델은 핑크색, CNN 기반 모델은 노란색, attention 기반 모델은 파란색으로 표시되어 있다.

 

 

  • ImageNet으로 측정한 성능 대 학습 비용

 

 

  • 모델 크기에 따른 성능 변화

 

 

  • Pretraining 데이터셋 크기에 따른 성능 변화

 

 

  • 입력 patch 순서 변화에 대한 불변성.
    • resnet과 비교했을때 patch, pixel 순서에 변화가 있을 때의 성능 저하가 훨씬 덜한 것을 확인할 수 있다.

 

 

  • Token-mixing layer 시각화
    • CNN과 유사하게, 어떤 feature detection들은 큰 부분에 집중하는 반면, 다른 것들은 이미지의 세부 부분에 집중하는 등, 서로 다른 phase를 갖고 있음을 알 수 있다.