공간 처리와 채널 결합 분리
일반 합성곱은 공간 필터링과 채널 결합을 한 연산에 담는다. 초기 MobileNet은 채널마다 공간 필터를 적용한 뒤 1×1 합성곱으로 채널을 섞는다. 두 연산 사이의 구조적 제약을 이용해 비용을 줄이는 방식이며 임의의 일반 합성곱을 항상 같은 출력으로 대체한다는 뜻은 아니다.
한 위치의 연산 수 비교
입력 채널 M=16, 출력 채널 N=32, 공간 커널 3×3을 가정하자. 한 출력 위치에서 일반 합성곱의 곱셈 누산 수는 9×16×32=4608이다. 채널마다 한 필터를 쓰는 깊이별 처리와 점별 결합은 9×16+16×32=656이다. 비율은 약 0.142다. 배치 정규화 등 추가 연산은 이 계산에서 제외했다.
폭과 해상도 조절
폭 배수는 층의 채널 수를 줄이는 데 쓰고 해상도 배수는 공간 크기를 줄인다. 채널 수 두 개가 곱해지는 점별 합성곱 비용은 폭 배수의 제곱에 비례하는 부분이 크다. 다만 깊이별 연산과 입출력층 등도 있으므로 모형 전체의 비용이 정확히 같은 비율로 줄어드는 것은 아니다.
버전과 장치 조건
MobileNet이라는 계열 이름과 각 버전의 구체적 구조를 구별해야 한다. 초기 구조의 설명을 이후 모든 버전에 그대로 적용하지 않는다. 이론적인 연산 수가 적어도 메모리 접근과 실행 커널, 입력 크기에 따라 지연이 달라지므로 실제 사용할 환경에서 평가한다. 양자화나 증류와 결합할 수도 있지만 효과는 별도로 확인한다.
관련 문서
깊이별 분리 합성곱 / 깊이별 합성곱 / 점별 합성곱 / 신경망 양자화 / 지식 증류 / ShuffleNet