[KOREAN] MLP Mixer: An all-MLP Architecture for Vision

2021. 6. 9. 15:57AI Paper Review/Deep Learning Vision Papers

<arxiv> https://arxiv.org/pdf/2105.01601.pdf

As the history of computer vision demonstrates, the availability of larger datasets coupled with in- creased computational capacity often leads to a paradigm shift

 

큰 이벤트가 될 논문이라 생각해서 나중에 입문하실 초보 분들을 위해 초보가 한국어로 리뷰를 작성하기로 했다.

 

1. 비전을 위한 신경망 아키텍쳐

비전을 위한 신경망 아키텍쳐들은 본 글의 머릿말과 같이 데이터셋의 크기가 커지고, 컴퓨터 자원의 성능이 올라감에 따라 패러다임이 계속 바뀌어 왔다. 기존 휴리스틱, 머신러닝 기반 컴퓨터 비전부터, ResNet과 EfficientNet 같은 Convolutional Neural Network들, Vision Transformer(ViT), 그리고 오늘 소개하는 MLP Mixer까지, 참 빠르고 자주 변해온 것 같다. ViT까지의 발전 방향은, 더 크고, 더 복잡하고, 더 정확한 모델을 만드는 것이었다.

전통적인 컴퓨터비전 방법의 예시) Haar Cascade

 

가히 혁명적이었던 ResNet

 

트랜스포머의 새로운 가능성, ViT

2. MLP Mixer

"MLP" Mixer이다. 뭔가 감이 오지 않는가? 맞다. 이것은 MLP만으로 만든 비전 신경망이다. 구현하기 편하고, 가볍고, 간단한 형태의 신경망이다. 이미지를 돌려서 자른 row 하나하나에 MLP를 입히고, 다시 돌리고, 다시 MLP 입히고, 하는 신경망이다. 여기서 각 층의 MLP는 딱 하나씩, 그러니까 CNN의 필터처럼 weight가 공유되는 형태이다. 이것은 MLP Mixer를 매우 가볍게 만들어 준다. 이 구조는 사진으로 한번만 보면 정말 직관적으로 잘 이해된다.

Mixer Layer의 구조

 

여기에서 유의할 점은 저 MLP 블록 하나하나에 두개의 MLP 레이어와 GELU 함수가 들어간다는 점이다. 각 MLP 블록의 첫번째 MLP는 token-mixing, 즉 이미지 column에 적용되는 형태이다. 두번째 MLP는 chaneel-mixing, 즉 이미지 row에 적용되는 것이다. 두 MLP 중간에는 GELU 함수로 element-wise 하게 비선형성(nonlinearity)을 추가해준다.

 

 

MLP 블록 구조

 

그렇다면 MLP 블록의 구조를 고려해 Mixer Layer는 다음과 같이 쓸 수 있다.

Mixer Layer의 수학적 표현

최종적인 MLP Mixer 구조는 이미지를 패치로 나누고, 패치당 Fully-Connected를 적용한 다음, Mixer Layer에 넣고, Global Average Pooling을 거쳐, 최종적으로 다시 FC에 들어가 클래스를 뽑는다. 진짜 순수하게 MLP만 썼다. 독한놈들

 

 

MLP Mixer

 

3. Experimental Results

MLP Mixer 구조를 7개나 만들어 실험했다고 한다.

MLP Mixer 구조 리스트

당연히 빠질 수 없는 ImageNet Accuracy. 사실 이 실험 결과에서 Accuracy가 그렇게 중요한 것은 아닌 것 같다. 결국 퍼포먼스 자체는 BiT-ResNet152x4보다는 좋지만, ViT보다 떨어졌다. (0.5% 정도) 사실 그래서 퍼포먼스 자체는 비슷하다. 그렇지만 MLP Mixer는 벤치마크로 사용된 신경망보다 훨씬 간단하고, 학습시간이 덜 들었다. BiT 대비 거의 2배, ViT 대비 2.5배 정도 향상되었다.

 

4. Discussion

MLP Mixer가 사실상 Convolution을 하는 것이 아니냐는 지적도 있지만, 나는 분명 이것이 가볍고 좋은, 또 새로운 비전 아키텍쳐라고 생각한다. 적용하고 개선할 부분이 매우 많을 것 같다. 나온지 얼마 안 됐지만 MLP를 사용한 다른 비전 아키텍쳐들도 많이 나오고 있다. 잘 발전된다면 CNN, ResNet, ViT에 이어 새로운 패러다임이 될 수도 있을 것 같다.

 

5. 이 포스팅을 위해 알아야 할 사전 지식

CNN, ViT, ResNet, 컴퓨터 비전에 대한 기본 지식