Overfitting이란?

Training error가 generalization error에 비해 현격히 낮아지는 현상.

이것을 방지하기 위해 나온 방법: Regularization

Regularization

Dropout

<그림 1>에서 보는 것처럼, dropout은 임의로 딥러닝 레이어의 노드들을 동작하지 않도록 함. 확률 p에 따라, 노드를 turn-off 하는 것.

Untitled

<그림 1>

문제는, 그렇다면 Inference 때는 어떻게 구현할 것인가? 학습을 통해 모든 웨이트 파라미터 값들이 ground truth 분포를 잘 모사한다고 가정한다면, 추론때 dropout을 사용하는 것은 오히려 성능 저하를 일으킬 것이다. 따라서 추론때는 모든 노드를 turn-on한다.

Untitled

<그림 2>

하지만, <그림 2>처럼 학습 때보다 평균적으로 $\frac{1}{p}$배 더 큰 입력을 최종 아웃풋이 받게 될 것. 따라서, p를 웨이트 파라미터들에 곱하여 이를 상쇄시킨다.