위키득계정 ↗
기술

깊이별 분리 합성곱

깊이별 분리 합성곱기술
영문명
Depthwise separable convolution
첫 단계
깊이별 공간 합성곱
두 번째 단계
1×1 채널 결합
주요 특징
필터 구조의 분리
깊이별 분리 합성곱은 채널별 공간 처리와 채널 간 결합을 두 단계로 나누는 연산이다. 먼저 깊이별 합성곱을 적용하고 이어 1×1 점별 합성곱으로 채널을 섞는다. 공간 방향의 필터를 가로·세로로 분해하는 방식과는 다른 구분이다.

두 단계의 역할

깊이별 단계는 각 입력 채널의 주변 공간 정보를 따로 처리한다. 점별 단계는 같은 출력 위치에서 중간 채널들을 가중합해 새 출력 채널을 만든다. 깊이별 단계만 사용할 때 없었던 채널 간 상호작용이 두 번째 단계에서 생긴다.

계산을 나누어 보기

공간 위치 하나의 입력 채널이 (2,5)이고 깊이별 1×1 필터가 (3,-1)이면 중간 값은 (6,-5)다. 이 두 채널을 가중치 (2,1)로 결합하면 출력은 7이다. 모든 편향과 활성화는 생략했다. 중간 출력 두 개와 최종 출력 하나를 구분해야 한다.

매개변수 수 비교

깊이 배수 1, 3×3 공간 필터, 입력 4채널, 출력 8채널이면 깊이별 가중치는 36개, 점별 가중치는 32개다. 최종 편향 8개까지 총 76개다. 같은 크기의 그룹 없는 일반 합성곱은 296개다. 중간 단계에도 별도 편향을 두는 구성이라면 계산을 다시 해야 한다.

표현력과 실제 실행

매개변수를 줄이는 대신 일반 합성곱과 다른 구조적 제약을 둔다. 따라서 임의의 일반 합성곱을 항상 같은 깊이 배수로 정확히 대체할 수 있다는 뜻은 아니다. 단계 사이의 활성화나 정규화 유무도 모델을 바꾸며, 실행 속도는 연산 수 외에 하드웨어와 구현의 영향도 받는다.

관련 문서

깊이별 합성곱 / 합성곱 층 / 합성곱 / 완전연결 층 / 배치 정규화 / ReLU / 인공 신경망