1. 논문 리뷰 :
MLP-Mixer: An all-MLP Architecture for Vision
저자 : Ilya Tolstikhin, Neil Houlsby, Alexander Kolesnikov, Lucas Beyer, Xiaohua Zhai,
Thomas Unterthiner, Jessica Yung, Andreas Steiner, Daniel Keysers, Jakob Uszkoreit, Mario
Lucic, Alexey Dosovitskiy
Google Research, Brain Team
발표자 : 정우진
SK C&C
1
2. Background. Inductive Bias
• Bias, Variance
• Error를 설명하기 위한 개념
• Bias : 편향, 실제와 예측의 차이
• Bias가 작을경우 예측성능 좋음
• Variance : 예측이 퍼진 정도
• Variance가 지나치게 작을경우 일반화 실패
(너무 좁은 부위에 오버피팅)
• Inductive Bias(귀납편향)
• 학습 시 만나보지 않았던 상황에 대해 정확한 예측을 위해 사용하는 추가적인 가정
• (라고 위키피디아에 적혀 있지만 딥러닝에서는 학습과정에서 습득된 편향이라는 의미로 사용됨)
• 우리는 이미 많이 사용하고 있음
• Inductive Bias의 예
• Nearest Neighbors: 특징 공간에 있는 작은 이웃의 경우 대부분이 동일한 클래스에 속한다고 가정합니다.
• Translation Invariance : 어떠한 사물이 들어 있는 이미지를 제공해줄 때 사물의 위치가 바뀌어도 해당 사물을 인식할 수 있습니다.
• Minimum cross-validation error : 가설 중에서 선택하려고 할 때 교차 검증 오차가 가장 낮은 가설을 선택합니다.
• Minimum features: 특정 피쳐가 유용하다는 근거가 없는 한 삭제해야 합니다.
• 관계를 강제하여 편향을 만들 수도 있음
• MLP(Multi-Layer Perceptron) Convolution
Recurrent 구조
• “Inductive Bias가 강할수록, Sample Efficiency가 좋아지긴 하나
그만큼 가정이 강하게 들어간 것임으로 좋게 볼 수만은 없습니다. “
• “많은 현대의 딥러닝 방법은 최소한의 선행 표현 및 계산 가정을 강조하는 "End-to-End" 설계 철학을 따르며, 이러한 트렌드가 왜 대부분의
딥러닝 기법들이 데이터 집약적(Data-Intensive)인지를 설명합니다.”
2
노란원 : 실제 데이터 분포
파랑X : 예측
https://velog.io/@euisuk-chung/Inductive-Bias%EB%9E%80
3. Background. Convolution, Perceptron, Attention
• Convolution과 Multi-Layer Perceptron(MLP)는 사실 동일한 연산
• MLP에서 몇몇 연결이 끊어짐 Convolution
• Convolution 의 커널 사이즈가 데이터 사이즈와 동일 MLP
• 영상에서 Conv. 가 효과적인 이유?
Locally Connected Operation
정보가 뭉쳐 있다는 편향을 강제함
• Transformer는 왜 잘되는가?
• Conv. 는 모든 위치에서 동일한 Weight
• Transformer는 Query, Key 에 따라서
바뀌는 Weight
매 입력에 적응적
편향이 적음
모델의 표현 범위가 Conv. 대비 더 넓음
• MLP 는 Transformer보다 넓거나 최소 동등
3
http://dsba.korea.ac.kr/seminar/?mod=document&uid=1743
4. Background. 데이터량, 모델의 발전 방향
• Hand-Crafted Features
• MLP
• CNN
• Transformer
• 머신러닝 발전 방향
• 데이터의 양은 증가됨
• 모델의 표현력도 넓어짐
• 모델의 편향은 줄어듦
(사람의 개입이 줄어든다 볼 수도 있음)
• 앞으로 예상
• 더 많은 데이터를 대비
• 더 큰 모델을 준비
• 더 적은 편향
4
SIFT등의 Hand-Crafted Features 얕은 Neural Network
CNN, 깊은 네트워크 Transformer
5. 논문 Introduction
• 최근 비전 연구의 흐름
• 사실상 표준 CNN -> Transformer 기반 ViT 가
가능성을 보여줌
• 이런 상황에서 저자는 MLP-Mixer 구조를 제안
• Convolution, Self-Attention을 사용하지 않음
• 모든 층이 MLP로 구현됨
• Spatial Location 내 연산과
Spatial Location 간 연산을 나눔
• MLP만 사용하였지만 CNN의 특별한 형태에 가까움
• 1×1 Convolution
• Depth-wise Convolution
• (먼저 리뷰한 사람들의 해석에 따르면)
• CNN보다 표현력이 좋은 ViT
• 단점 : ViT는 연산시간 많이 걸림
• ViT를 더 빠르게 CNN처럼 분할된 연산도입
• Large Conv. 3×3 Conv. Separable Conv.
• (또한 ViT의 성공이 과연 Self-Att. 때문인지
확인 가능함)
5
6. 모델 구조
• ViT와 동일한 구조
• Image Patch Token
Network Head
• 2방향의 MLP 반복
• Channel Mixing
• 패치 내 연산
• 1x1 Convolution 으로 해석 가능
• Token Mixing
• 패치 간 연산
• Depth-Wise Convolution 으로 해석 가능
• 한 Spatial Location 에서 연산과
Different Spatial Locations 간 연산을
분할하도록 구성
• MLP는 위치를 자체적으로 알기때문에
Position을 따로 알려주지 않음
• (결국 ViT와 큰틀에서 완전히 동일하되
연산을 모두 MLP로 바꿈)
• (ViT, CNN과 모두 유사성이 있으므로
비교하기 좋음)
6
ⓐ
ⓑ
ⓒ
ⓓ
ⓔ ⓖ
ⓕ
7. 학습 상세
• 전형적인 Pre-Training Fine-Tuning
• 데이터는 공개 2, 자체 1 사용
• ILSVRC2021, ImageNet 21K, JFT-300M
7
• Pre-Training
• Adam
• LR : Warmup + Linear Decay
• Batch Size : 4096
• 224 해상도
• Weight Decay 사용
• Gradient Clipping
• Fine-Tuning
• SGD
• LR : Warmup + Cosine Learning Rate
• Batch Size : 512
• Pre-Training보다 큰 해상도 (BiT 와 유사하게)
• Weight Decay 사용안함
• Gradient Clipping
• (대체로 BiT와 유사하게 학습시킨것 같음)
• (Pre-Training은 일반화 성능을 위주로 학습, Fine-Tuning은 Downstream Task에 Fit하게 학습시킨듯)
8. 모델 상세
• S small, B base, L large, H huge
• 𝐷𝑐 Channel Mixing의 Hidden Width
• 𝐷𝑠 Token Mixing의 Hidden Width
8
9. 실험 결과
• 파란색 : Transformer계열
• 노란색 : CNN계열
• 분홍색 : MLP-Mixer
• (구글에서 연구한 ViT, BiT, Mixer
위주로 보는것이 편리함)
• Avg 5 : 5개 벤치마크 평균
(ImageNet, CIFAR10/100, Pets,
Flowers)
• Pre-Training 따라서 성능 증가
• JFT-300M에서 CNN, Mixer역전됨
• Mixer의 Throughput은
대단히 좋음
• TPU 구조 때문일 수 도 있음
9
10. 실험 결과
• 대체로 큰 모델일수록 데이터가 클수록
결과가 좋음
• 적은 데이터에는 작은 모델이 더 효과적
10
11. 실험 결과
• 가로축
• Pre-Training단계에서 사용된 시간
(=모델 규모라고 생각해도 될듯)
• 세로축
• ImageNet Fine-Tuning 후 성능
• 점선
• 파레토 최적선
• 21k 혹은 JFT로 Pre-Training
• (이 그래프는 잘 해석이 안되네요)
• (믹서가 CNN, Transformer계열
과 비슷한 급이라는 점을 보여주고
싶었던것 같습니다)
11
12. 실험 결과
• 가로축 :
• JFT-300M을 3%, 10%, 30%, 100% 만 가지고
Pre-Training
• 가능하면 동일한 학습량을 유지
• 233, 70,23, 7 에폭의 결과,
• 마지막은 JFT-3B 의 결과
• 데이터 양과 성능 비교
• Few-Shot Learning
• 적은 데이터에서는 CNN계열 우위
(오버피팅?)
• 데이터 양이 충분하면 Mixer, Transformer가
좋은 성능을 보이는 것을 확인
• JFT-3B에서는 MLP Mixer가 제일
좋은결과를 보임
• (최소 ViT와 동급의 표현력을
갖는다고 생각 가능)
12
13. 실험 결과
• 모델 크기와 Throughput의 상관관계
• 왼쪽
• Pre-Training 시간 대비 Transfer후 Acc.
• (Pre-Training 시간이 많다 == 모델이 크다)
• 오른쪽
• Throughput 대비 Transfer 후 Acc.
• 비슷한 성능, 크기에서 MIxer가 Throughput이 좋다
13
14. 실험 결과
• CNN구조와 Mixer의 차이를 확인하기 위한 실험
• 다음 방식으로 영상을 섞은 후 JFT-300M에서 Pre-Training
• Original : 원본
• Global Shuffling : 영상 내 모든 픽셀을 뒤섞음
• Patch + Pixel Shuffling : 패치를 뒤섞은 다음 패치내 픽셀도 뒤섞음
• 그래프
• ImageNet 에서 Fine-Tuning 시
학습그래프(Top 1 Acc.)
• Mixer가 더 빠르게 학습되어감
• Mixer는 픽셀 위치에 Invariance 를
갖음
• (영상이기 때문에 위치에 대한
Inductive Bias가 있는게 맞을 수 있음)
• (좋다 나쁘다가 아니라 이런 특성이
있음을 실험으로 보여준 것 같음)
14
15. 실험 결과
• 1,2,3 번째 Token-Mixing의 Hidden Weights를 시각화
• 가버필터와 비슷한 형상
• CNN과 유사한 결과
• (데이터를 통해 Convolution
커널과 비슷하게 Inductive
Bias를 학습했다고 유추가능)
15
16. 결론 & 같이 논의하고 싶은 것들
• 결론
• MLP-Mixer를 통해 모델 크기와 데이터 량의 관계, Pre-Training에서 적합도 등을 확인함
• 최신 모델과 성능은 견줄만 하면서도 Throughput은 빠른 모델을 제시함
• CNN, Transformer와의 비교를 통해 모델에 대해 이해하는 연구였음
• Inductive Bias 대한 이해에 도움되길 바람
• 나아가 향후 다른 연구자들에게 긍정적인 영향을 끼치길 바람
• 생각해볼 것들
• 영상데이터에서 Locally 연산해야 한다는 Inductive Bias를 제거해야 하는가?
• Inductive Bias가 학습된 큰 모델을 Fine-Tuning vs. 우리 데이터 규모에 맞고 작고 Inductive Bias를 직접 주입한 모델
• ViT, Swin의 다음은 어떤 것이 나올 수 있나
• Swin-Mixer는 이미 있음
16