커널 크기, 그동안 너무 가볍게 본 것 아닐까?
MobileNet, ShuffleNet, NASNet, CondenseNet까지의 흐름은 명확했습니다.
“연산량은 줄이면서, 정확도는 어떻게든 유지하거나 더 올려보자.”
이 과정에서 Depthwise Convolution은
경량 네트워크의 필수 부품처럼 자리 잡았습니다.
그런데 한 가지는 거의 늘 “고정값”으로 다뤄졌습니다.
“Depthwise Conv에서 커널 크기는 그냥 3×3 쓰면 되는 거 아냐?”
2019년 MixNet은 이 질문에 정면으로 파고듭니다.
- 커널 크기를 바꾸면 정확도와 효율이 어떻게 달라지는지,
- 작은 커널과 큰 커널은 각각 어떤 패턴에 유리한지,
- 그리고 “한 번에 하나의 커널 크기만 써야 할 이유가 있는지”를
실험적으로 끝까지 밀어붙인 논문입니다.
그 결과 나온 결론은 의외로 단순합니다.
“커널을 하나만 쓰지 말고,
여러 크기를 섞어서 한 번에 쓰자.”
이 아이디어를 depthwise convolution에 녹인 것이 MixConv,
이를 기반으로 NAS로 찾은 아키텍처 패밀리가 바로 MixNet입니다.
커널 크기 실험: 크면 다 좋은 게 아니었다
논문은 먼저 MobileNet V1/V2에서
depthwise convolution의 커널 크기만 바꿔가며 실험을 합니다.
- 3×3, 5×5, 7×7, 9×9, 11×11 …
- 나머지 구조와 연산 예산은 최대한 비슷하게 맞춰 놓고
결과는 대략 이런 흐름입니다.
- 커널 크기를 3×3 → 5×5 → 7×7로 키우면
정확도가 꽤 안정적으로 올라갑니다. - 하지만 너무 크게 (9×9, 11×11 등) 가져가면
파라미터는 늘어나는데 오히려 정확도가 떨어집니다.
이를 통해 드러난 포인트는 두 가지입니다.
- 큰 커널
- 더 넓은 범위의 고해상도 패턴을 한 번에 보게 해 줍니다.
- 그러나 파라미터/연산량 증가 + 과적합 위험도 같이 커짐.
- 작은 커널
- 지역적인 저해상도 패턴에 강함.
- 연산량은 적지만, 멀리 떨어진 정보는 잘 통합하지 못함.
결국 “최적 커널 크기”는 네트워크마다 어딘가에 존재하지만,
“한 가지 크기로 전체 네트워크를 밀어붙이는 것”에는 분명 한계가 있다는 겁니다.
그래서 논문이 내린 결론:
“단일 커널 크기만 고집하는 건 비효율적이다.
여러 크기를 동시에 쓰는 방법이 필요하다.”
MixConv(MDConv) — 하나의 Depthwise Conv 안에 여러 커널을 섞다
여기서 등장하는 연산이 바로
Mixed Depthwise Convolution, 즉 MixConv(MDConv) 입니다.
아이디어는 놀라울 만큼 간단합니다.
“입력 채널을 여러 그룹으로 나누고,
그룹마다 다른 커널 크기를 쓰자.”
예를 들어, 어떤 depthwise 레이어에서
입력 채널이 32개라고 해 봅시다.
이를 다음처럼 나눌 수 있습니다.
- 채널 8개: 3×3 depthwise conv
- 채널 8개: 5×5 depthwise conv
- 채널 8개: 7×7 depthwise conv
- 채널 8개: 9×9 depthwise conv
즉, 하나의 depthwise conv 레이어 안에서
3×3, 5×5, 7×7, 9×9가 동시에 쓰이는 구조입니다.
| 항목 | Vanilla Depthwise Conv | MixConv (MDConv) |
| 커널 크기 | 한 레이어에 하나만 사용 (보통 3×3) | 한 레이어에서 여러 크기 혼합 (예: 3×3+5×5+7×7…) |
| 채널 처리 방식 | 모든 채널에 동일 커널 크기 적용 | 채널을 그룹으로 나눠 각 그룹에 다른 커널 크기 적용 |
| 구현 난이도 | 가장 단순 | Group + concat으로 구현 가능(연산은 더 복잡) |
결과적으로 MixConv는,
- 큰 커널 그룹이 넓은 문맥 정보를,
- 작은 커널 그룹이 세밀한 로컬 패턴을
동시에 포착하는 구조가 됩니다.
게다가 pointwise(1×1) conv와 결합하면,
기존 MobileNet 스타일 블록을 거의 그대로 유지하면서
depthwise 부분만 교체하는 형태로 쓸 수 있습니다.
즉, MixConv는
“기존 depthwise conv 자리에 그저 끼워 넣을 수 있는 대체 연산”입니다.

Inception vs MixConv — 멀티 스케일을 다루는 또 다른 방식
여러 커널 크기를 한 번에 쓰는 구조를 보면
바로 떠오르는 모델이 있습니다. Inception 계열이죠.
둘의 공통점과 차이를 정리하면:
| 관점 | Inception (GoogLeNet 등) | MixConv / MixNet |
| 멀티 스케일 처리 | 서로 다른 브랜치(1×1, 3×3, 5×5, Pooling 등)를 병렬로 배치 | 하나의 depthwise conv를 채널 그룹으로 나누고, 그룹마다 다른 커널 크기를 사용 |
| 어디에 적용? | 네트워크 상위 구조(모듈 수준) | 연산 단위(오퍼레이터 수준) |
| 결합 방식 | 브랜치 출력을 채널 concat | 그룹 출력을 채널 방향으로 concat (실질적으로 하나의 conv처럼 동작) |
| 설계 난이도 | 브랜치 설계가 복잡, 수작업 튜닝 많음 | “커널 크기 목록 + 채널 분배 비율”만 정하면 됨 |
Inception이 “레이어 구조 차원에서의 멀티-스케일”을 만들었다면,
MixConv는 “연산 단위 자체를 멀티-스케일화” 했다고 볼 수 있습니다.
이 덕분에 MixConv는
- 기존 MobileNet, MnasNet, EfficientNet 등의
depthwise conv만 간단히 교체해 쓸 수 있고, - AutoML/NAS의 검색 공간에 자연스럽게 포함될 수 있습니다.
MixNet — NAS가 찾아낸 MixConv 기반 경량 네트워크
연산 단위(MixConv)의 유용성이 확인되자,
논문은 여기서 한 걸음 더 나아갑니다.
“그럼 MixConv를 기본 블록으로 쓰는
새로운 네트워크를 NAS로 통째로 찾아보면 어떨까?”
이렇게 탄생한 것이 MixNet입니다.
MixNet은 대략 다음 원칙을 따릅니다.
- 앞단 레이어
- 연산량이 가장 부담되는 구간이므로
작은 커널(3×3, 5×5) 위주로 설계 - 대신 채널 수를 적절히 늘려 표현력 확보
- 연산량이 가장 부담되는 구간이므로
- 뒷단 레이어
- Feature map 크기가 작아지므로
큰 커널(7×7, 9×9)도 사용 가능 - 넓은 문맥 정보를 깊은 층에서 통합
- Feature map 크기가 작아지므로
- MixConv 조합
- 레이어마다 사용할 커널 크기 세트(예: {3,5}, {3,5,7}, {3,5,7,9})와
각 커널에 할당할 채널 비율을 NAS로 탐색
- 레이어마다 사용할 커널 크기 세트(예: {3,5}, {3,5,7}, {3,5,7,9})와
이 과정은 MnasNet에서 이미 사용했던
“연산 효율 + 정확도”를 함께 고려하는 NAS 전략 위에서 진행됩니다.
4-2. 세 가지 크기: MixNet-S / M / L
논문은 최종적으로 세 가지 모델을 제안합니다.
- MixNet-S (Small)
- 약 256M FLOPs
- ImageNet Top-1 약 75.8%
- MixNet-M (Medium)
- 약 360M FLOPs
- ImageNet Top-1 약 77% 수준 (EfficientNet-B0와 비슷)
- MixNet-L (Large)
- 약 600M FLOPs 이하
- ImageNet Top-1 78.9%로, 당시 모바일 설정에서 SOTA를 기록
핵심은:
비슷한 FLOPs 예산에서
기존 MobileNetV2, ShuffleNetV2, MnasNet, FBNet 등을
대부분 능가하는 정확도를 기록했다는 점입니다.
즉, MixNet은
- 하나의 커널 크기만 쓰던 depthwise conv의 한계를 넘고,
- 멀티-스케일 패턴을 오퍼레이터 수준에서 자연스럽게 통합한 뒤,
- NAS로 가장 효율적인 조합을 찾아낸 결과물이라고 볼 수 있습니다.
마무리하며,
2부 전체의 큰 흐름 속에서 보면,
MixNet은 다음 세 가지 축을 교차시킨 모델입니다.
- MobileNet 계열의 경량화 철학
- depthwise separable conv 기반의 구조를 유지하면서
- 커널 크기 설계에 “멀티-스케일” 개념을 도입
- NASNet/MnasNet의 자동 설계 철학
- 사람이 블록을 직접 튜닝하는 대신
- MixConv를 연산 후보로 넣어 NAS가 구조를 선택
- EfficientNet으로 이어지는 Tan & Le 계열 라인
- MixNet과 EfficientNet은 모두
“적절한 설계 + NAS + 효율적 스케일링” 조합을 탐구한 연구들입니다.
- MixNet과 EfficientNet은 모두
CondenseNet이 “학습 중 구조를 스스로 가지치기”하는 실험이었다면,
MixNet은 “연산 단위 자체를 더 유연하게 만들어 NAS에 던져주는 실험”이라고 볼 수 있습니다.
즉, MixNet은
- 사람이 설계한 효율적인 연산(Depthwise + MixConv) 과
- AutoML이 찾아낸 전역 구조(블록 쌓는 패턴) 가 만나
“작지만 똑똑한 모델”이라는
2부의 핵심 주제를 잘 보여주는 모델 중 하나입니다.
참고 문헌
Tan, M., & Le, Q. V. (2019). MixConv: Mixed Depthwise Convolutional Kernels (introducing the MixNet family). arXiv:1907.09595. (BMVC 2019)
이미지 크레딧
MixNet 구조도: 원문(Tan & Le, 2019, arXiv:1907.09595 / BMVC 2019)을 바탕으로 필자 재제작.
이전 글: CondenseNet, 2018 — 구조적 압축의 실험 (딥러닝 이미지 분류 시리즈 2부 ⑥)
CondenseNet, 2018 — 구조적 압축의 실험 (딥러닝 이미지 분류 시리즈 2부 ⑥)
DenseNet의 연결성을, MobileNet의 효율로 2018년, 딥러닝 연구는 두 가지 축으로 나뉘어 있었습니다.하나는 NASNet처럼 자동으로 구조를 탐색하는 흐름, 또 하나는 MobileNet과 ShuffleNet처럼사람이 직접 설
bitwizx.tistory.com
다음 글: GhostNet, 2019 — 가짜 특징으로 진짜 효율을 (딥러닝 이미지 분류 시리즈 2부 ⑧)
GhostNet, 2019 — 가짜 특징으로 진짜 효율을 (딥러닝 이미지 분류 시리즈 2부 ⑧)
“특징 맵, 이 정도까지 많이 뽑아야 해?” ResNeXt, MobileNet, ShuffleNet, NASNet, CondenseNet, MixNet까지계속해서 반복된 질문은 이거였습니다.“어떻게 하면 연산량(FLOPs)은 줄이면서,정확도는 그대로 혹은
bitwizx.tistory.com
'딥러닝 > 딥러닝 역사 시리즈 - 이미지 분류' 카테고리의 다른 글
| RegNet, 2019 — 구조적 일관성을 찾아서 (딥러닝 이미지 분류 시리즈 2부 ⑨) (0) | 2025.11.14 |
|---|---|
| GhostNet, 2019 — 가짜 특징으로 진짜 효율을 (딥러닝 이미지 분류 시리즈 2부 ⑧) (0) | 2025.11.13 |
| CondenseNet, 2018 — 구조적 압축의 실험 (딥러닝 이미지 분류 시리즈 2부 ⑥) (0) | 2025.11.12 |
| NASNet, 2018 — 스스로 설계하는 신경망 (딥러닝 이미지 분류 시리즈 2부 ⑤) (0) | 2025.11.02 |
| ShuffleNet, 2018 — 효율의 미학 (딥러닝 이미지 분류 시리즈 2부 ④) (0) | 2025.11.02 |