논문 링크: 2201.09792
Overview:
Transformer 기반 Vision 모델의 성능이 patch 기반 입력 표현 때문인지, self-attention 구조 때문인지 탐구하고, 단순한 convolution 기반 모델 ConvMixer를 제안함.
1. Introduction
- 기존 Vision 분야에서 CNN이 오랫동안 표준 모델이었음.
- 하지만 Transformer 기반 모델(특히 ViT)이 등장하며, 대규모 데이터셋에서 CNN보다 우수한 성능을 보이기 시작함.
- Transformer는 원래 NLP에 특화되었고, self-attention의 계산 복잡도는 입력의 길이에 대해 제곱 (O(N²))이기 때문에, 이미지의 각 픽셀에 직접 적용하기에는 매우 비효율적임.
→ 이를 해결하기 위해 등장한 아이디어가 바로 "patch embeddings":
이미지를 일정 크기의 patch로 나눈 뒤, 각 patch를 하나의 토큰으로 간주하여 처리함.
ViT의 좋은 성능은 Transformer의 구조적 강점 때문인가? 아니면 patch 표현을 썼기 때문인가?
2. A Simple Model: ConvMixer
2.1 Architecture
- ConvMixer는 patch 기반 입력을 사용하지만, Transformer나 MLP 없이 모든 연산을 convolution으로만 수행함.
- patch embedding → 반복되는 ConvMixer block → Global Average Pooling → classifier 구조
2.2 Patch Embedding Layer
이미지를 patch 단위로 나누는 과정은 다음과 같은 Conv 연산으로 처리됨:
- p: patch size
- h: hidden dimension (출력 채널 수)
- 입력 이미지를 p × p 크기로 나눈 뒤, 각 patch를 h차원으로 임베딩함.
2.3 ConvMixer Block
하나의 block은 다음과 같이 구성됨:
- Depthwise Convolution (spatial mixing: 공간 정보 섞):
- 채널 간 독립적인 convolution (groups=h)
- large kernel 사용
- 보통 kernel_size를 비정상적으로 크게(ex: 9) 설정하는 것이 효과적임.
- Attention처럼 멀리 떨어진 pixel 간의 상관관계도 학습하기 위함(global receptive field 대신 큰 kernel을 사용).
- 작은 kernel + 깊은 network vs 큰 kernel + 얕은 network
- Residual connection 포함:
- Pointwise Convolution (channel mixing: 정보 통합):
- 각 convolution 후에는 GELU() activation + BatchNorm
- GELU: 입력값의 확률적 중요성에 따라 부드럽게 통과시켜 gradient 흐름이 부드럽고 안정적이며 작은 입력에 대한 정보도 유지함(ReLU처럼 음수 입력을 죽이지 않음), 최근 논문에서 기본 activation으로 채택한다고 함.
2.4 PyTorch 구현

3. Experiments
3.1 Training Setup
- ImageNet-1k에서 사전 학습 없이 학습
- augmentation: RandAugment, Mixup, CutMix, Random Erasing 등
- Optimizer: AdamW, Learning rate scheduler: triangular(: 삼각형처럼 선형 증가 후 선형 감소)
- hyperparameter tunning 전혀 없음
3.2 Results


- ConvMixer는 더 적은 파라미터로 더 높은 정확도를 달성함.
- 큰 kernel size가 중요(ex. k=9 → k=3으로 줄이면 정확도 -1%)
Depthwise Convolutional Kernel 시각화: 초기 레이어에선 작은 범위만 활성화된 kernel (small receptive field), 후반 레이어선 전체 커널 범위를 활용하며 점점 더 확산된 형태 → 표현 계층 구조가 형성됨
- patch size가 커질수록 속도는 증가하나 정확도는 하락 (ex: patch 14 사용 시 78.9%)
- 일부 필터는 노이즈처럼 보이기도 하며, 더 많은 regularization 또는 데이터 필요 가능성 있음
Patch Embedding Layer의 Weight 시각화: 큰 patch를 썼을 때 정확도 하락한 이유는 불분명, p=14 → p=7 로 줄였을 때: 필터 모양은 거의 비슷하며, p=7 은 단순히 downsample된 형태로 보임
3.3 CIFAR-10
- CIFAR-10에서는 파라미터 수 0.7M만으로도 96% 이상의 정확도 달성
- 이는 convolution의 inductive bias가 데이터 효율성이 뛰어나다는 점을 보여줌.
4. Related Work
① Isotropic 구조
- ViT, MLP-Mixer, ResMLP 등은 downsampling 없이 고정 해상도, 채널 수 유지하여 spatial 정보 보존이 잘 됨, 설계 단순
- ConvMixer도 이와 동일하되, 오직 convolution만 사용
② Patch Embedding의 중요성
- 다른 연구들(Melas-Kyriazi 등)은 patch embedding이 중요한 요인임을 시사
- ResMLP도 convolution을 일부 사용했지만, ConvMixer만큼 단순하지는 않음
③ CNN과 Transformer 융합
- self-attention을 conv처럼 초기화하거나, transformer에 conv를 추가하는 연구 있음 (Cordonnier, Dai, Guo 등)
- 반대로 ResNet에 attention을 추가하는 연구도 있음
- 하지만 ConvMixer는 단순성 유지에 집중
5. Conclusion
- ConvMixer는 매우 단순하지만 강력한 성능을 보이는 모델
- patch embedding + spatial/channel 분리 mixing 구조만으로도 Transformer 수준의 정확도 달성
- 핵심 요인은 Transformer의 self-attention이 아니라, patch-based isotropic structure 자체일 가능성
Future Work
- 더 깊고 넓은 ConvMixer + 큰 patch 사용 시 속도-정확도 균형 개선 가능
- segmentation, detection 등 다양한 vision task로 확장 가능성 있음
- 대규모 pretraining 환경에서도 ConvMixer의 효과 확인 필요