위키득계정 ↗
기술

RepVGG

RepVGG기술
주요 원리
구조적 재매개변수화
학습 블록
합성곱과 항등 분기
배포 블록
3×3 합성곱과 ReLU
변환 조건
분기의 선형 결합
RepVGG는 여러 분기를 사용해 학습한 뒤 이를 단일 합성곱으로 변환해 배포하는 신경망이다. 학습할 때의 구조와 추론할 때의 구조를 다르게 만드는 구조적 재매개변수화가 핵심이다.

학습과 배포의 구조

학습 블록은 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 / 모형 압축