위키득계정 ↗
기술

깊이별 합성곱

깊이별 합성곱기술
영문명
Depthwise convolution
필터 적용 범위
각 입력 채널
채널 간 혼합
연산 자체에서는 없음
출력 채널 수
입력 채널 수 × 깊이 배수
깊이별 합성곱은 입력 채널마다 별도의 공간 필터를 적용하는 연산이다. 서로 다른 입력 채널의 값을 한 출력 안에서 섞지 않는다는 점이 일반 합성곱과 다르다. Depthwise convolution이라고 한다.

채널마다 독립적으로

일반 합성곱의 한 출력 채널은 여러 입력 채널의 가중합을 사용할 수 있다. 깊이별 합성곱에서는 한 출력 채널이 한 입력 채널의 공간 영역만 처리한다. 같은 공간 위치에 있는 다른 채널의 정보는 이 단계에서 합쳐지지 않는다.

두 채널 예

공간 위치가 하나이고 입력 채널 값이 (2,5)라고 하자. 1×1 깊이별 필터가 각 채널에서 3과 -1이면 출력은 (6,-5)다. 편향과 활성화는 생략했다. 출력 6은 두 번째 입력 5의 영향을 받지 않으며, 두 입력을 더해 7을 만드는 연산도 아니다.

깊이 배수와 크기

입력 채널 4개에 깊이 배수 2를 사용하면 출력 채널은 8개다. 3×3 필터의 가중치 수는 3×3×4×2=72개다. 같은 입력·출력 채널 수를 갖는 그룹 없는 일반 합성곱의 288개와 다르다. 편향을 채널마다 추가하면 두 구성 모두 8개가 더해진다.

다른 연산과 조합하기

깊이별 합성곱 뒤에 채널을 섞는 1×1 합성곱을 붙일 수 있다. 두 단계를 조합하는 깊이별 분리 합성곱과 깊이별 연산 하나는 같은 이름으로 취급하면 안 된다. 필터 수가 줄어도 같은 출력 표현력이나 같은 실행 속도가 자동으로 보장되지는 않는다.

관련 문서

합성곱 층 / 합성곱 / 완전연결 층 / 최대 풀링 / 평균 풀링 / 인공 신경망 / 활성화 함수