본문 바로가기

딥러닝/딥러닝 역사 시리즈 - 이미지 분류

MixNet, 2019 — 혼합 커널의 탐색 (딥러닝 이미지 분류 시리즈 2부 ⑦)

반응형

 

커널 크기, 그동안 너무 가볍게 본 것 아닐까?

 

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 등) 가져가면
    파라미터는 늘어나는데 오히려 정확도가 떨어집니다.

이를 통해 드러난 포인트는 두 가지입니다.

  1. 큰 커널
    • 더 넓은 범위의 고해상도 패턴을 한 번에 보게 해 줍니다.
    • 그러나 파라미터/연산량 증가 + 과적합 위험도 같이 커짐.
  2. 작은 커널
    • 지역적인 저해상도 패턴에 강함.
    • 연산량은 적지만, 멀리 떨어진 정보는 잘 통합하지 못함.

결국 “최적 커널 크기”는 네트워크마다 어딘가에 존재하지만,
“한 가지 크기로 전체 네트워크를 밀어붙이는 것”에는 분명 한계가 있다는 겁니다.

그래서 논문이 내린 결론:

“단일 커널 크기만 고집하는 건 비효율적이다.
여러 크기를 동시에 쓰는 방법이 필요하다.”


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 자리에 그저 끼워 넣을 수 있는 대체 연산”입니다.

 

Mixed depthwise convolution (MixConv)


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은 대략 다음 원칙을 따릅니다.

  1. 앞단 레이어
    • 연산량이 가장 부담되는 구간이므로
      작은 커널(3×3, 5×5) 위주로 설계
    • 대신 채널 수를 적절히 늘려 표현력 확보
  2. 뒷단 레이어
    • Feature map 크기가 작아지므로
      큰 커널(7×7, 9×9)도 사용 가능
    • 넓은 문맥 정보를 깊은 층에서 통합
  3. MixConv 조합
    • 레이어마다 사용할 커널 크기 세트(예: {3,5}, {3,5,7}, {3,5,7,9})와
      각 커널에 할당할 채널 비율을 NAS로 탐색

이 과정은 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은 다음 세 가지 축을 교차시킨 모델입니다.

  1. MobileNet 계열의 경량화 철학
    • depthwise separable conv 기반의 구조를 유지하면서
    • 커널 크기 설계에 “멀티-스케일” 개념을 도입
  2. NASNet/MnasNet의 자동 설계 철학
    • 사람이 블록을 직접 튜닝하는 대신
    • MixConv를 연산 후보로 넣어 NAS가 구조를 선택
  3. EfficientNet으로 이어지는 Tan & Le 계열 라인
    • MixNet과 EfficientNet은 모두
      “적절한 설계 + NAS + 효율적 스케일링” 조합을 탐구한 연구들입니다.

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

 

 

반응형