위키득계정 ↗
기술

Net2Net

Net2Net기술
영문
Net2Net
변환 방향
너비 또는 깊이 확장
핵심 조건
변환 시 함수 보존
목적
큰 모형의 학습 초기화
Net2Net은 이미 학습한 신경망의 함수를 유지하는 변환으로 더 넓거나 깊은 모형을 초기화하는 방법이다. 새 구조를 매번 무작위로 시작하는 대신 기존 학습 결과를 활용한다.

구조를 키우며 출력을 유지하기

기존 계산을 보존하도록 새 가중치를 정하면 더 큰 모형을 출발점으로 사용할 수 있다. 출력 예시를 흉내 내도록 별도 학습하는 지식 증류와는 다른 이전 방식이다. 구조가 커진 뒤에는 추가 학습으로 함수가 달라질 수 있다.

너비 확장의 독립 예제

어떤 은닉값 h가 출력에 6h만큼 기여한다고 하자. 같은 h를 내는 뉴런 두 개를 만들고 출력 계수를 각각 3으로 두면 합은 여전히 6h다. 입력 가중치를 그대로 복제하고 뒤쪽 기여를 나누는 원리를 보여 준다. 실제 확장에서는 연결 전체를 맞춰야 한다.

깊이와 비선형

새 선형층을 항등행렬로 두는 것만으로 모든 신경망의 함수가 보존되지는 않는다. 뒤에 새 활성함수를 넣으면 음수 값이 잘리는 등 계산이 달라질 수 있다. 사용하는 활성함수와 입력 범위를 고려해 함수 보존 조건을 확인해야 한다.

초기화와 최종 성능

변환 직후 출력이 같다는 조건은 이후의 학습 경로나 최종 정확도가 같다는 보장이 아니다. 복제한 뉴런이 대칭적으로 움직이는 문제와 추가 계산량도 고려한다. 같은 최종 품질까지의 전체 학습 시간을 무작위 초기화와 비교한다.

관련 문서

네트워크 모피즘 / DARTS / ENAS / Once-for-All / 언어 모형 / 트랜스포머