깊이별 합성곱

IT 위키

깊이별 합성곱(Depthwise Convolution)은 합성곱 신경망(CNN)에서 연산 효율성을 높이기 위해 제안된 구조로, 표준 합성곱(Standard Convolution)을 채널 단위로 분리하여 수행하는 방식이다. 이 방식은 MobileNet 등 경량 신경망의 핵심 구성 요소로 사용되며, 모델의 파라미터 수와 연산량을 크게 줄인다.

개요[편집 | 원본 편집]

일반적인 합성곱 연산은 입력의 모든 채널에 대해 동일한 필터를 적용하여 출력을 생성한다. 반면, 깊이별 합성곱은 각 입력 채널마다 독립된 필터를 적용함으로써 공간적 특징 추출채널 간 결합을 분리한다. 이후 1×1 합성곱(Pointwise Convolution)을 통해 채널 간 정보를 통합하는데, 이 전체 과정을 Depthwise Separable Convolution(깊이별 분리 합성곱)이라 부른다.

구조[편집 | 원본 편집]

깊이별 분리 합성곱은 두 단계로 이루어진다.

  1. Depthwise Convolution: 입력의 각 채널에 대해 하나의 필터를 적용하여 공간적 특징을 추출한다.
  2. Pointwise Convolution (1×1 Conv): 깊이별 합성곱의 출력을 1×1 합성곱으로 결합하여 채널 간 상호작용을 학습한다.

이 구조는 표준 합성곱에 비해 연산량이 크게 감소한다. 예를 들어, 입력 크기가 H×W×C이고 출력 채널 수가 M, 커널 크기가 K×K일 때:

  • 표준 합성곱 연산량: K×K×C×M×H×W
  • 깊이별 분리 합성곱 연산량: K×K×C×H×W + C×M×H×W

→ 연산량이 약 1/M + 1/K² 배 수준으로 줄어든다.

장점[편집 | 원본 편집]

  • 연산 효율성: 표준 합성곱 대비 약 8~9배 적은 연산으로 비슷한 성능을 낼 수 있다.
  • 파라미터 절감: 모델 크기가 작아지고, 메모리 사용량이 크게 감소한다.
  • 모바일 친화적 구조: MobileNet, ShuffleNet 등 모바일 비전 모델에서 기본 블록으로 사용된다.

한계[편집 | 원본 편집]

  • 채널 간 상호작용 부족: Depthwise 단계에서는 채널 간 정보 교환이 일어나지 않아 표현력이 제한된다.
  • 복잡한 특징 학습의 어려움: 대규모 데이터나 고해상도 입력에서는 정확도가 떨어질 수 있다.
  • 추가 결합 연산 필요: Pointwise Convolution 단계가 필수로 추가되어야 하며, 완전한 합성곱 대체는 불가능하다.

활용 사례[편집 | 원본 편집]

  • MobileNet – Depthwise Separable Convolution을 활용한 대표적인 경량 CNN
  • ShuffleNet – Group Convolution과 채널 셔플을 결합하여 효율 향상
  • EfficientNet – 구조적 최적화를 통해 Depthwise Convolution 기반의 고효율 모델 구현

같이 보기[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]

Howard, Andrew G., et al. "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications." *arXiv preprint arXiv:1704.04861* (2017).

각주[편집 | 원본 편집]