위키득계정 ↗
기술

FitNets

FitNets기술
핵심 신호
교사의 중간 은닉 표현
학생 구조
교사보다 깊고 얇게 설계 가능
차원 연결
학생 표현을 변환하는 학습 가능한 연결
관련 방법
출력 기반 지식 증류
FitNets는 교사 신경망의 중간 표현을 힌트로 사용해 더 얇고 깊은 학생 신경망의 학습을 돕는 방법이다. 최종 출력만 따라 하게 하는 데서 나아가 학생의 일부 은닉층이 교사의 은닉 표현을 예측하도록 유도한다.

중간 단계의 힌트

깊은 학생 모형을 처음부터 최종 정답만으로 학습하기 어려울 때 교사가 만든 중간 표현을 추가 목표로 사용한다. 교사의 힌트층과 학생의 안내받는 층을 고르고, 학생의 해당 부분이 힌트를 재현하도록 학습한다. 최종 확률을 맞추는 일과 중간 특징을 맞추는 일은 서로 다른 학습 신호다.

차원이 다르면 변환하기

교사와 학생의 은닉층은 채널 수나 공간 크기가 다를 수 있다. 학생의 표현을 교사 표현의 크기로 보내는 학습 가능한 변환을 두고 두 표현의 차이를 줄인다. 학생층과 교사층의 배열 모양이 다르다는 이유만으로 값을 직접 빼면 의미 있는 손실을 구성할 수 없다.

작은 벡터 계산 예제

교사의 힌트가 (1,0)이고 학생 표현이 하나의 수 s=2라고 하자. 단순한 선형 연결 W=(0.5,0)ᵀ를 쓰면 Ws=(1,0)이므로 표현 일치 손실은 0이다. 이 자체 예제는 학생과 교사의 은닉 차원이 같을 필요가 없다는 뜻을 보여 준다. 실제 신경망의 성능이나 특정 연결층의 적합성을 보장하는 예제는 아니다.

학습 단계와 추론 단계

힌트로 학생의 앞부분을 학습한 뒤 최종 출력 목표와 증류 신호를 이용해 전체 학생을 훈련하는 구성을 사용할 수 있다. 힌트 연결은 학습을 돕기 위한 것이므로 최종 추론에 무엇을 남기는지 구별한다. 더 깊고 얇다는 표현만으로 실행 시간이 짧아진다고 단정하지 않으며 연산량과 실제 장치에서의 지연을 함께 확인한다.

관련 문서

지식 증류 / 신경망 / 은닉층 / 합성곱 신경망 / 역전파 / 선형 변환