[21′ NIPS] MLP-Mixer: An all-MLP Architecture for Vision

This entry is part 22 of 22 in the series Vision Model

1. 들어가며

최근 딥러닝 분야에서는 CNN과 Transformer 기반의 모델이 이미지 처리 분야에서 주요한 역할을 해왔습니다. 특히, Transformer의 Self-Attention 메커니즘은 텍스트 처리 뿐만 아니라 이미지 처리에서도 뛰어난 성능을 보여주었습니다. 그러나 이러한 모델들은 연산량이 많다는 큰 단점을 가지고 있습니다. 특히, Self-Attention 구조는 입력 사이즈에 따라 연산량이 제곱에 비례하여 늘어나는 문제점을 가지고 있어, 연산량과 성능 간의 트레이드오프가 필요하다는 인식이 강화되었습니다.

이러한 배경 속에서, MLP-Mixer라는 새로운 모델이 등장하게 되었습니다. 이 모델은 Vision Transformer와 매우 유사한 구조를 가지고 있지만, 내부 연산에서 Transformer의 Encoder 대신 MLP만을 사용한다는 특징을 가지고 있습니다. 이 글에서는 MLP-Mixer의 구조를 Vision Transformer와 비교하면서 하나하나 자세히 살펴보게 될 것입니다. 특히, Token Mixing MLP와 Channel Mixing MLP의 구성 방법을 기존 CNN과 비교하며 설명하는 부분이 이 글의 핵심 포인트입니다.

MLP-Mixer의 독특한 구조와 그 특성, 그리고 그로 인한 실험 결과들을 통해 우리는 어떠한 장단점을 발견할 수 있을지, 그리고 이 모델이 이미지 처리 분야에 어떠한 의의를 가지는지 함께 알아보겠습니다. 이 글을 통해 독자 여러분은 MLP-Mixer의 핵심 개념과 그 특징을 명확하게 이해할 수 있을 것입니다. 시작해 보겠습니다!

2. 기존 방법의 문제점

MLP-Mixer가 발표된 2021년 당시에는 엄청난 성능을 보이는 Vision Architecture들이 경쟁적으로 발표되던 시기였습니다. 이 모델들은 공통적으로 CNN 구조이거나, 또는 Transformer 구조를 하고 있었죠. CNN구조의 대표적인 모델은 ResNet, EfficientNet 등이 있습니다. 특히 2017년에는 Transformer가 발표되며 NLP 분야는 비약적으로 성장하였고, 이에 영감을 받아 Vision Model에서도 다양한 Transformer 기반의 모델들이 경쟁적으로 연구되었습니다. 대표적인 모델로는 ImageGPT, Vision Transformer 등이 있죠. 특히 Vision Transformer는 2017년 발표된 Transformer 구조를 거의 그대로 Image Domain에 적용하여 기존 CNN 계열 모델들보다 좋은 성능을 낸 첫 사례라고 할 수 있습니다.

하지만 이러한 SOTA 모델들은 공통적인 한계를 갖고 있었는데요. 바로 복잡한 구조와 연산량이었습니다. 2012년 AlexNet이 발표된 이후로 다양한 CNN 모델들이 발표되며 성능을 향상해왔는데요. 이러한 성능 향상은 구조적 복잡성과 증가한 연산량 덕분이었죠. Transformer 기반의 모델들 또한 구조적 복잡성과 많은 연산량은 CNN SOTA 모델들에 뒤쳐지지 않았는데요. 특히 Transformer의 핵심 연산인 Self Attention은 입력 데이터 복잡도의 제곱에 비례하여 연산량이 많아진다는 치명적인 단점이 있습니다.

그림1. Self Attention
그림1. Self Attention

위 그림은 Self Attention 연산 과정을 도식화한 그림인데요. Attention Score를 계산하는 과정에서 Query, Key를 구해야 하고 이 둘의 연산 과정을 거치며 연산량이 기하급수적으로 들어나는 형태를 갖고 있습니다. Self Attention에 관한 더 자세한 내용은 Self Attention 설명글을 참고해주세요.

이러한 흐름에서 MLP-Mixer 저자들은 다음과 같은 의문을 제기합니다. 이렇게 복잡한 구조가 꼭 필요한 걸까요? Convolution과 Self Attention 같은 복잡한 연산은 제거하고 최대한 간단한 연산만으로는 이렇게 좋은 성능을 낼 수 없을까요? 예를 들어 MLP (Multi Layer Perception) 같은 간단한 연산 말이죠.

MLP-Mixer는 이러한 문제 의식에서 출발하여 MLP를 주요 연산으로 하는 Architecture를 제안합니다. 그리고 이렇게 간단한 연산을 수행하는 MLP-Mixer가 Convolution, Self Attention 등을 주요 모듈로 사용하는 기존 Architecture들에 뒤지지 않는 성능을 보임을 증명합니다. MLP만으로 Convolution과 Self Attention 구조를 모두 이긴다니, 믿기 어려운 일인데요. 모든 유행은 돌고 돈다더니, MLP에서 시작한 딥러닝이 CNN과 Transformer를 거쳐 다시 MLP로 회기하는 듯한 결과입니다.

3. MLP-Mixer

이번 챕터에서는 어떻게 MLP만으로 이런 엄청난 결과가 나온건지 살펴보겠습니다. 먼저 전체적인 Architecture를 살펴보겠습니다. MLP-Mixer는 Vision Transformer와 아주 유사한 Architecture를 갖고 있습니다. 따라서 Vision Transformer의 Architecture와 비교해보며 공통점과 차이점을 정리해보겠습니다. 이어서 핵심 내용인 Mixer-Layer를 자세히 뜯어보겠습니다. MLP 연산을 어떻게 배치했는지 살펴보며 적은 연산량과 단순한 구조만으로 복잡한 모델들에 비견되는 성능을 보인 비밀을 파헤쳐 보겠습니다. 이어서 기타 연산 모듈들을 살펴보고요, MLP-Mixer의 중요한 특징 세가지를 살펴보겠습니다.

3-1. Architecture

먼저 Architecture입니다. MLP-Mixer는 Vision Transformer와 아주 유사한 Architecture를 갖고 있습니다.

그림2. MLP-Mixer와 Vision Transformer의 Architecture 비교
그림2. MLP-Mixer와 Vision Transformer의 Architecture 비교

위 그림은 MLP-Mixer와 Vision Transformer의 Architecture를 비교한 그림입니다. 어떤가요? 아주 판박이죠?

각 모델 그림의 왼쪽 아래에는 입력 이미지가 표현되어 있습니다. 두 모델 모두 입력 이미지를 패치로 나누어 순서대로 입력해주는 모습입니다. 이렇게 나뉘어진 패치들은 Projection Layer를 거쳐 특정 차원으로 매핑되는데요. 이를 MLP-Mixer에서는 Per-Patch Fully-Connected 라고 표현했고, Vision Transformer에서는 Linear Projection of Flattened Patches라고 표현했는데요. 본질적으로 동일한 연산이라고 볼 수 있습니다.

이어서 Vision Transformer에서는 이렇게 나온 Patch Embedding에 Positional Embedding을 추가해주는 모습을 볼 수 있습니다. 반면 MLP-Mixer에서는 Positional Embedding을 추가해주지 않습니다. 이건 중요한 부분인데요. 이 이유를 알려면 먼저 Vision Transformer에서 왜 Positional Embedding을 추가해야만 했는지를 생각해봐야 합니다. 이 이유는 Vision Transformer 리뷰글에서 설명했듯이 Self Attention 연산의 특징 때문입니다. Transformer의 Self Attention은 입력 패치의 순서에 구애받지 않습니다. 그저 입력 받은 모든 패치의 상관 관계를 계산할 뿐이죠. 따라서 위치 정보를 강제로 입력해주기 위해 Transformer 계열의 모델들은 대부분 Positional Embedding을 적용합니다. 하지만 MLP-Mixer에는 Self Attention 연산이 포함되어 있지 않습니다. 따라서 Positional Embedding이 필요가 없죠.

이제 Patch Embedding은 메인 연산 모듈로 들어가게 되는데요. MLP-Mixer에서는 Mixer-Layer에 해당하고요, Vision Transformer에서는 Transformer Encoder에 해당합니다. 이 부분이 결정적인 차이이자, MLP-Mixer의 모든 특성과 철학을 함축하고 있는 부분이죠. 이 Mixer-Layer는 바로 아래 챕터에서 구체적으로 분석해보겠습니다.

이렇게 Mixer-Layer 또는 Transformer Encoder를 거쳐 나온 Feature는 Classification을 학습하기 위해 Fully Connected 또는 MLP Head를 거친 뒤 Classification Loss로 학습합니다. 이 부분은 MLP-Mixer와 Vision Transformer가 완벽하게 동일한 부분이죠.

여기까지 정리해보겠습니다. MLP-Mixer는 Vision Transformer와 거의 동일한 Architecture를 갖고 있습니다. 다만 차이점은 Vision Transformer와 달리 MLP-Mixer는 Positional Embedding이 없으며, Self Attention 대신 MLP 연산을 수행한다는 것이죠.

3-2. Mixer-Layer

이제 MLP-Mixer의 핵심인 Mixer-Layer를 자세히 파헤쳐보겠습니다.

그림3. Mixer-Layer
그림3. Mixer-Layer

위 그림은 Mixer-Layer의 구성을 나타낸 그림입니다. 크게 두 번의 연산을 거치고 있는데요. 첫 번째 MLP는 Token Mixing MLP입니다. Token을 섞어주는 역할을 하고 있습니다. 두 번째는 Channel Mixing MLP입니다. 이 모듈은 Channel 정보를 섞어주는 역할을 하고 있죠.

자세하게 들어가기 전에, 저자들의 핵심 아이디어를 잠깐 짚고 넘어갈게요. 저자들의 생각은 이랬습니다. 그냥 입력 데이터를 MLP로 연산해주자, 이게 아니고요. 위치 정보와 채널 정보를 완벽하게 분리해서 각각 MLP로 연산해주자는 겁니다. 이러한 아이디어는 이 전에도 적용된적이 있어요. 바로 Xception이라는 모델인데요. Xception은 Inception 시리즈의 최종 버전이자, Inception 핵심 철학을 집약한 모델이라고 할 수 있습니다. Inception 모델의 핵심 철학이 바로 ‘위치 정보와 채널 정보를 독립적으로 연산하자’는 것이었거든요.

그림4. Inception Module
그림4. Inception Module

그래서 Inception 에서는 위 그림처럼 1×1 Conv로 채널 정보를 연산해주고, 3×3 Conv와 5×5 Conv 등으로 위치 정보를 연산해주었죠. Xception에서는 이러한 아이디어를 최대한 활용하여 채널 연산과 위치 연산을 극단적으로 분리해주죠.

그림5. Xception Module
그림5. Xception Module

위 그림은 Xception Module의 연산 방법을 표현한 그림인데요. 채널 정보를 연산하는 1×1 Conv와 위치 정보를 연산하는 3×3 Conv를 완전히 분리하여 적용한 모습을 볼 수 있습니다. 이러한 방법으로 Xception은 Inception 시리즈들중 가장 좋은 성능을 보였죠.

MLP-Mixer도 동일한 아이디어를 적용했다고 볼 수 있습니다. 입력 데이터를 한번의 MLP만으로 연산하기에는 요구되는 연산량도 너무 많고 Overfitting의 위험이 있죠. 그래서 채널 정보와 위치 정보를 연산하는 MLP를 독립적으로 설계했을것으로 추정됩니다. 이제 내부 모듈을 살펴보겠습니다.

3-2-1. MLP Block

먼저 각 MLP Block이 어떻게 구성되어 있는지 살펴보겠습니다. 각각의 MLP Block이 수행해야 하는 역할은 분명합니다. 최소한의 역할로 비선형적인 연산을 수행해야 하죠. 이를 위해 2개의 Fully Connected 연산과 GELU 활성화 함수를 연결해줍니다.

그림6. MLP Block
그림6. MLP Block

LayerNorm까지 포함하여 수식으로는 다음과 같이 표현됩니다.

그림7. MLP Block 연산 수식
그림7. MLP Block 연산 수식

이렇게 구성된 MLP Block은 이제 아래에서 살펴볼 Token Mixing MLP와 Channel Mixing MLP에 적용되어 각각 위치 정보와 채널 정보에 대한 비선형 연산을 수행합니다.

3-2-2. Token Mixing MLP

이번에는 Token Mixing MLP를 살펴보겠습니다. Mixer-Layer 그림에서 형광색으로 표현된 부분이 Token Mixing MLP인데요. 단어에서 표현하고 있듯이 Token을 섞어주는 역할을 하고 있습니다. 이때의 Token이란 이미지 패치를 의미하므로, 쉽게 표현하면 위치 정보를 연산해준다는 의미입니다. 그림을 보면요, LayerNorm을 거쳐 들어온 입력 데이터를 Transpose 해준뒤에 각 행에 대해 MLP1을 연결해주고 있습니다.

그림8. Token Mixing MLP
그림8. Token Mixing MLP

이렇게 구성된 각각의 행은 패치들을 의미하잖아요. 따라서 이렇게 각각의 행을 MLP로 연산한다는건 위치 정보를 연산한다는 의미로 이해할 수 있습니다. 이러한 역할을 CNN에서는 보통 NxN Convolution과 Pooling 등이 수행하죠. 따라서 MLP-Mixer의 Token Mixing MLP는 CNN의 NxN Convolution과 Pooling을 한거구나, 라고 이해해도 좋습니다.

3-2-3. Channel Mixing MLP

다음은 Channel Mixing MLP를 살펴보겠습니다. Mixer-Layer 그림에서 분홍색으로 표현된 부분이 Channel Mixing MLP 인데요. 단어에서 표현하고 있듯이 Channel 정보를 섞어주는 역할을 하고 있습니다. 이때 Channel에는 서로 다른 여러 객체 정보를 담고 있다고 볼 수 있는데요, 따라서 객체 정보에 대한 연산이라고 이해할 수 있습니다.

그림9. Channel Mixing MLP
그림9. Channel Mixing MLP

그림을 보면 Token Mixing MLP의 출력 데이터를 다시 한번 Transpose 한 뒤 각 행에 대해 MLP 연산을 수행하는 모습을 볼 수 있습니다. 이때의 각 행은 패치별 채널 정보를 의미하잖아요. 따라서 이렇게 패치별 채널 정보들끼리 MLP로 연산한다는건 위치 정보는 배제하고 채널 정보만 연산해준다는 의미로 이해할 수 있습니다. 이러한 역할을 CNN에서는 보통 1×1 Convolution이 수행하죠. 따라서 MLP-Mixer의 Channel Mixing MLP는 CNN의 1×1 Convolution을 한거구나, 라고 이해해도 좋습니다.

3-3. 기타 연산

여기까지 MLP-Mixer의 주요 모듈을 살펴봤습니다. 기타 모듈로 소개되고 있는 연산들이 있는데요. 대표적으로 Skip Connection, Layer Normalization, Classification Head, Global Average Pooling 등입니다. 이러한 모듈은 기존 CNN과 Transformer 계열 모델에서 이미 다 적용된 모듈로, 자세한 설명은 생략하겠습니다.

3-4. 특징

이제 MLP-Mixer의 구성 요소는 모두 살펴봤는데요. 실험 결과를 살펴보기 전에, 실험 없이도 생각해볼 수 있는 MLP-Mixer의 주요 특징 세가지를 정리해보겠습니다.

첫 번째 특징은 적은 연산량입니다. 만약 입력 이미지 화질이 증가하면 어떻게 될까요? 일단 CNN에서는 최종 Feature 차원이 증가하기 때문에 연산량이 무조건 증가합니다. 반면 Transformer 계열에서는 패치 개수만 동일하다면 연산량은 동일하죠. 하지만 패치 개수가 증가하게 된다면요? Transformer 계열에서는 패치 개수의 제곱에 비례하여 연산량이 증가합니다. 이는 앞서 설명한 Self Attention 연산의 치명적인 한계 때문이죠. 반면 MLP-Mixer는 패치 개수에 비례하여 연산량이 증가합니다. MLP의 Hidden Dimension만 유지된다면 입력 차원만 증가하기 때문이죠. 이 부분은 Transformer 계열의 모델들과 비교했을때 MLP-Mixer가 압도적으로 유리한 부분입니다.

두 번째 특징은 패치 위치에 영향을 받지 않는다는 점입니다. 즉 Positional Invariance 특성을 갖는다고 표현할 수 있는데요. 이게 MLP-Mixer의 아주 중요한 특징중 하나입니다. 이렇게 Positional Invariant한 특성을 갖게 된 이유는 Channel Mixing MLP 때문입니다. Channel Mixing MLP은 모두 동일한 파라미터로 구성되는데요. 논문에서는 이를 Tying Parameter라고 표현하고 있습니다. 쉽게 말해서 위에서 살펴본 Channel Mixing MLP인 MLP2는 하나의 MLP라는 겁니다. 모든 패치들에 대해 동일한 MLP로 채널 정보 연산을 수행하는거죠. 이 방법이 왜 Positional Invariant 한 특성을 만든다는 걸까요? 모든 패치에 대해 동일한 MLP를 적용했다는 말은, 위치랑 관계없이 동일하게 연산해주겠다는 말이잖아요? 따라서 위치와 관계없는 (Positional Invariant) 특성을 만들어내는 것이죠. 또한 이 덕분에 연산량도 많이 줄일 수 있는 부가적인 장점도 있습니다.

세 번째 특징은 Isotropic한 구조라는 점입니다. 이 말은 층(Layer)과 관련 없이 동일한 사이즈의 데이터를 입력으로 받아 연산한다는 의미입니다. 이러한 특성은 Transformer, RNN과 유사하죠. 반면 CNN은 Layer에 따라 입력 데이터의 사이즈가 달라집니다. 일반적으로 깊은 층으로 내려갈수록 화질은 낮아지고 채널은 깊어지는 특성을 갖고 있죠. 따라서 MLP-Mixer는 데이터 연산 구조의 측면에서는 Transformer와 닮았다고 할 수 있습니다.

4. 실험 결과

여기까지 MLP-Mixer의 방법을 모두 살펴봤습니다. 이번 챕터에서는 여러 실험 결과를 통해 제안 방법이 얼마나 효과적이었는지 살펴보겠습니다. 총 네 가지 실험을 살펴볼건데요. 가장 먼저 기존 SOTA 모델들과 성능을 비교해볼겁니다. 다음은 학습량에 따른 성능 변화를 살펴보고요. 세번째로 모델 스케일에 따른 성능을 살펴보겠습니다. 마지막으로 Positional Invariant한 특성을 분석한 실험 결과를 살펴보겠습니다.

4-1. SOTA 모델들과의 성능 비교

먼저 살펴볼 실험은 SOTA 모델들과의 성능 비교 실험입니다.

그림10. SOTA 모델들과의 성능 비교
그림10. SOTA 모델들과의 성능 비교

위 표는 기존 SOTA 모델들과의 성능을 비교한 그림입니다. 대표적으로 BiT(ResNet), ViT (Vision Transformer)와 성능을 비교해보겠습니다. Throughput은 데이터 처리량을 의미합니다. 즉 동일 시간에 몇 장의 이미지를 처리할 수 있는지를 의미하는데요. 값이 클 수록 Inference 속도가 빠름을 의미합니다. TPUv3 core-days는 모델을 학습하는데 필요한 계산 리소스를 의미합니다. 값이 클 수록 학습하는데에 더 많은 계산 리소스가 필요함을 의미합니다.

결과를 보면 동일한 수준의 모델끼리 비교해봤을때 ViT, BiT에 뒤지지 않는 성능을 보이는 모습입니다. 성능은 비슷한데 Inference 속도는 훨씬 빠른 모습을 보이고 있죠. 모델 구조의 복잡성을 생각해봤을때 엄청 놀라운 일이라고 할 수 있습니다.

4-2. 학습량에 따른 성능 비교

다음은 학습량에 따른 성능을 비교한 실험 결과를 살펴보겠습니다.

그림11. 학습량에 따른 성능 비교
그림11. 학습량에 따른 성능 비교

위 그림은 학습량에 따른 모델별 성능을 측정한 그래프인데요. 왼쪽은 학습 리소스에 따른 성능을, 오른쪽은 학습 데이터양에 따른 성능을 보여주고 있습니다.

이를 통해 학습량이 많아질수록 성능이 증가한다는 사실 외에 Mixer는 다른 모델들보다 더 급격하게 성능이 증가한다는 사실을 알 수 있습니다.

4-3. 모델 스케일에 따른 성능 비교

다음은 모델 스케일에 따른 성능 비교 실험을 살펴보겠습니다.

그림12. 모델 스케일에 따른 성능 비교
그림12. 모델 스케일에 따른 성능 비교

위 그래프는 학습 리소스와 처리 속도별 성능을 비교한 그림입니다. 왼쪽 그래프를 통해 학습 리소스를 많이 사용할수록 성능이 좋아지는 모습을 볼 수 있습니다. 오른쪽 그래프를 통해서는 처리 속도가 느려질수록, 즉 입력 이미지 화질이 좋아질수록 성능이 증가하는 모습을 볼 수 있습니다.

4-4. Positional Invariance

마지막으로 Positional Invariant 특성을 실험한 결과를 보겠습니다.

그림13. Positional Invariance 실험 결과
그림13. Positional Invariance 실험 결과

위 그림은 입력 데이터의 패치 구성을 바꾸어 가며 성능을 측정한 결과인데요. 먼저 입력 데이터는 위의 세 가지 종류로 구성해주었습니다. 파란색은 입력 이미지 원본을 의미하고요. 가운데 초록색은 16×16 사이즈의 패치들을 무작위로 섞어서 구성한 이미지입니다. 오른쪽 주황색은 더 작은 사이즈의 패치로 무작위로 섞어서 구성한 이미지입니다. 사실상 사람 눈에는 가운데와 오른쪽 이미지는 형태를 알 수 없는, 의미없는 이미지에 해당하죠. 이러한 이미지들에 대해 Mixer와 ResNet은 각각 어떻게 반응했는지 살펴보겠습니다.

위 그림의 아래쪽에 Mixer와 ResNet의 성능을 비교한 그래프를 보여주고 있는데요. 재미있는 부분은 Mixer의 경우 파란색과 초록색의 성능이 완벽하게 동일하다는 점입니다. 반면 주황색의 성능은 크게 하락한 모습이죠. 반면 ResNet은 파란색보다 초록색의 성능이 떨어지고, 주황색의 성능은 크게 떨어지는 모습을 보입니다.

이러한 결과를 통해 Mixer는 16×16 사이즈 패치들을 무작위로 섞었을때 원본 이미지와 전혀 구분하지 못한다는점을 알 수 있는데요. 이는 Mixer의 한계라고 할 수 있습니다. Channel Mixing MLP의 파라미터를 통일하게 구성하여 Positional Invariant 특성을 갖게 되었는데. 이 때문에 사람의 시각처리와는 전혀 다른 특성을 갖게 되었죠.

5. 장단점

여기까지 살펴본 MLP-Mixer의 장단점을 정리해보겠습니다.

5-1. 장점

첫 번째 장점은 간단한 구조입니다. MLP-Mixer는 이미지 분류 작업을 위해 전통적인 CNN이나 Transformer의 Self-Attention 메커니즘을 사용하지 않습니다. 대신, 단순한 MLP (Multi-Layer Perceptron)만을 사용하여 이미지를 처리합니다. 이로 인해 모델의 구조가 깔끔하고 간단해집니다. 이는 연구자나 개발자가 모델을 빠르게 구현하고 실험할 수 있게 해주며, 복잡한 연산이나 추가적인 메커니즘 없이도 높은 성능을 달성할 수 있음을 의미합니다.

두 번째 장점은 모듈화 및 확장성입니다. MLP-Mixer의 구조는 블록 형태로 설계되어 있어, 다양한 크기와 형태로 쉽게 확장할 수 있습니다. 이는 다양한 연산 리소스와 데이터셋에 적응할 수 있게 해주며, 작은 모델에서부터 대규모 모델까지 다양한 크기의 MLP-Mixer를 쉽게 구현할 수 있게 합니다.

세 번째 장점은 효율적인 학습입니다. MLP-Mixer는 위치 정보를 명시적으로 인코딩하지 않아도 학습 데이터에서 위치 정보를 학습할 수 있습니다. 이는 학습 과정에서 필요한 연산량을 줄이는 데 도움을 줍니다. 따라서, MLP-Mixer는 학습 과정이 더욱 효율적이며, 빠른 학습 속도를 기대할 수 있습니다.

5-2. 단점

첫 번째 단점은 위치 정보의 암묵적 학습입니다. MLP-Mixer는 위치 정보를 명시적으로 인코딩하지 않기 때문에, 위치 정보를 암묵적으로 학습해야 합니다. 이로 인해 일부 작업에서는 위치 정보를 명시적으로 인코딩하는 모델에 비해 성능이 떨어질 수 있습니다. 특히, 이미지 내의 객체들의 상대적 위치가 중요한 작업에서는 이러한 특성이 성능 저하의 원인이 될 수 있습니다.

두 번째 단점은 대규모 데이터의 필요성입니다. MLP-Mixer는 위치 정보를 암묵적으로 학습하기 때문에, 충분한 양의 학습 데이터가 필요합니다. 작은 데이터셋에서는 MLP-Mixer의 성능이 제한될 수 있습니다. 따라서, 대규모 데이터셋에서의 학습이 권장됩니다.

세 번째 단점은 새로운 접근 방식의 미숙성입니다. MLP-Mixer는 비교적 새로운 접근 방식이기 때문에, 다양한 시나리오와 작업에 대한 성능과 특성이 아직 완전히 연구되지 않았습니다. 이로 인해, 특정 작업에서 예상치 못한 문제나 성능 저하가 발생할 수 있습니다.

6. 의의

마지막으로 MLP-Mixer의 의의를 생각해보겠습니다.

첫 번째 의의는 CNN과 Transformer에 대한 새로운 대안 제시했다는 점입니다. MLP-Mixer는 이미지 분류 작업에 대한 새로운 접근 방식을 제시합니다. 전통적으로 이미지 분류 작업에는 CNN이나 최근에는 Transformer가 주로 사용되었습니다. 그러나 MLP-Mixer는 이러한 기존의 구조를 사용하지 않고, 단순한 MLP만을 사용하여 이미지를 처리하는 방식을 제안합니다. 이는 이미지 처리 분야에 새로운 패러다임을 제시하며, 다양한 모델 구조와 접근 방식의 가능성을 열어놓습니다.

두 번째 의의는 간단한 구조로도 높은 성능 달성했다는 점입니다. MLP-Mixer는 간단한 구조임에도 불구하고, 기존의 CNN이나 Transformer와 비교하여 경쟁력 있는 성능을 보여줍니다. 이는 복잡한 구조나 추가적인 메커니즘 없이도 높은 성능을 달성할 수 있음을 보여주며, 연구자나 개발자에게 더욱 간결하고 효율적인 모델 설계의 중요성을 강조합니다.

세 번째 의의는 위치 정보의 암묵적 학습의 가능성을 탐구했다는 점입니다. MLP-Mixer는 위치 정보를 명시적으로 인코딩하지 않는 방식을 채택하였습니다. 이로 인해, 모델은 학습 데이터를 통해 위치 정보를 암묵적으로 학습하게 됩니다. 이는 위치 정보의 명시적 인코딩 없이도 모델이 이미지 내의 객체들의 상대적 위치를 학습할 수 있음을 보여주며, 이러한 접근 방식의 가능성과 한계를 탐구하는 데 중요한 의미를 가집니다.

7. 마치며

이 글을 통해 우리는 이미지 처리 분야에서의 새로운 도전자, MLP-Mixer에 대해 깊게 알아보았습니다. 기존의 CNN과 Transformer 기반 모델들의 한계를 극복하고자 등장한 MLP-Mixer는 그 독특한 구조와 특성으로 많은 주목을 받고 있습니다. 특히, Token Mixing MLP와 Channel Mixing MLP의 구성 방법을 통해 이미지 내의 정보를 어떻게 효과적으로 처리하는지를 자세히 살펴보았습니다.

MLP-Mixer의 장단점과 그 의의를 통해, 이 모델이 어떻게 이미지 처리 분야에 혁신을 가져올 수 있을지에 대한 통찰을 얻었기를 바랍니다. 물론, 모든 모델에는 그에 맞는 적절한 활용 분야와 한계가 있습니다. 따라서 MLP-Mixer 역시 다양한 연구와 실험을 통해 그 적합성과 한계를 지속적으로 탐색해야 할 것입니다.

8. 참고 자료

Series Navigation<< [21′ ICLR] Vision Transformer : AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE[논문 리뷰] KAN: Kolmogorov–Arnold Networks >>
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top