학습과 배포의 구조
학습 블록은 3×3 합성곱, 1×1 합성곱과 가능한 경우의 항등 분기를 결합한다. 학습이 끝난 뒤 분기들의 가중치를 하나로 합쳐 단순한 순차 구조로 바꾼다. 분기의 출력들을 합한 다음 ReLU를 적용하는 순서가 중요하다.
가중치를 합치는 방법
평가 상태의 고정된 통계를 사용하는 배치 정규화는 합성곱의 가중치와 편향에 흡수할 수 있다. 1×1 커널은 3×3 커널의 중심에 배치하고 나머지를 0으로 채운다. 항등 연산도 중심 원소로 표현해 같은 크기의 커널끼리 더할 수 있다.
간단한 대수 예제
스칼라 입력 x에 세 선형 분기가 2x+1, 3x−2, x를 출력한다면 합은 6x−1이다. 따라서 합산 뒤의 ReLU도 ReLU(6x−1)로 계산할 수 있다. 이것은 원리를 설명하는 독립 예제다. 각 분기에 별도의 비선형 함수를 먼저 적용한 임의의 구조까지 이런 식으로 합칠 수 있는 것은 아니다.
변환 후 확인할 점
변환 전후를 같은 평가 모드와 입력으로 비교해 출력 오차를 확인한다. 실수 연산의 반올림 때문에 수치가 완전히 같지 않을 수 있다. 배포 모형의 속도는 연산량뿐 아니라 장치와 라이브러리에도 좌우되므로 실제 입력 크기에서 측정한다.
관련 문서
EfficientNetV2 / 합성곱 신경망 / 배치 정규화 / ReLU / ResNet / 모형 압축