-
MLP-Mixer: An all-MLP Architecture for Vision 논문 요약Computer Vision 2024. 3. 29. 16:21
https://arxiv.org/abs/2105.01601
Idea
- 그동안 computer vision 분야에서 주로 사용된 모델은 CNN 기반이거나, attention 기반이다.
- 그러나, 이 논문에서는 MLP만으로도 SOTA에 근접한 좋은 결과를 낼 수 있음을 보여주었다.
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를 갖고 있음을 알 수 있다.
'Computer Vision' 카테고리의 다른 글