위키득계정 ↗
기술

드롭아웃

드롭아웃기술
영문명
Dropout
주요 목적
과적합 완화
주요 설정
활성값을 제거할 확률
일반적 적용 시점
학습 중
드롭아웃은 신경망 학습 중 일부 활성값을 무작위로 0으로 만드는 정칙화 방법이다. 특정 활성값의 조합에 지나치게 의존하는 것을 줄이기 위해 사용한다. 일반적인 추론에서는 이 무작위 제거를 적용하지 않는다.

제거 확률과 보정

제거 확률을 p, 유지 확률을 q=1-p라 하자. 0 이상 1 미만인 p에 대해 널리 쓰이는 역 드롭아웃은 유지한 활성값을 1/q배 한다. 고정된 입력 x의 출력은 확률 q로 x/q, 확률 p로 0이 된다. 따라서 출력의 기댓값은 x다.

매번 합이 같은 것은 아니다

x=6, p=1/4이면 출력은 확률 3/4로 8, 확률 1/4로 0이다. 평균을 취하면 6이지만 개별 시행의 출력은 6이 아니다. 여러 활성값을 처리해도 매번 출력의 합이 입력의 합과 같아지는 규칙은 아니다.

추론과 학습 상태

역 드롭아웃에서는 학습 때 보정했으므로 일반적인 추론 때 입력을 그대로 통과시킨다. 학습 가능한 가중치가 없더라도 학습 모드 여부에 따라 동작이 달라질 수 있다. 가중치를 고정하는 설정과 학습 모드를 전환하는 설정을 동일하게 취급해서는 안 된다.

적용 범위를 고르기

위 예에서 출력의 분산은 12다. 일반적으로 고정 입력에 대한 역 드롭아웃의 분산은 x²p/(1-p)이므로 제거 확률을 높이면 잡음도 커진다. 개별 활성값마다 독립적으로 제거할지 공간이나 시간축에서 마스크를 공유할지도 별도 선택이다. 드롭아웃을 사용한다고 과적합 방지가 자동으로 보장되지는 않는다.

관련 문서

인공 신경망 / 교차 검증 / 조기 종료 (기계 학습) / 활성화 함수 / 분산 / ReLU / AdamW