학습 데이터의 오차가 일반화 오차보다 현격하게 작은 현상이다.
[kernal academy - DL Basic]
Bias와 Variance는 trade-off 관계에 있다.
모델의 복잡성(complexity, 파라미터 개수)이 증가하면 variance는 증가하지만 bias는 작아지고 이는 과적합을 유발한다.
[kernal academy - DL Basic]
Local Minimum : 손실 함수의 특정 영역에서의 극소값을 의미한다.
local minimum에 빠져 학습이 멈추면 실제 극소값(=전역 최소값)을 찾을 수 없으므로 bias가 생긴다.
[kernal academy - DL Basic]
Global Minimum : 가능한 모든 파라미터에 대해 손실 함수가 최소값을 갖게 된다.
정의: 모델 학습 시 임의의 가중치 노드를 일정 확률로 비활성화시킨다.
[kernal academy - DL Basic]
효과: 모델이 특정 노드들에 의존하지 못하게 하여, 일반화 성능을 더 향상시킨다.
Dropout에 대한 해석
일종의 Ensemble 기법이다.
각 epoch마다 다르게 학습한 노드들이 최종적으로 합쳐지는 일종의 앙상블
[kernal academy - DL Basic]
일종의 noise를 주어 모델의 견고성을 향상시키는 기법이다.
model.eval()
시에 Dropout 기능은 비활성화된다. 따라서 모든 노드를 사용하여 예측을 수행한다.
이 때, 학습 시보다 더 많은 노드로부터 입력을 받아 출력하기 때문에 각 레이어의 출력 scale이 학습 때보다 클 수 있다.
⇒ 모델 예측 시에는 scale down이 필요하다.
pytorch의 nn.Droptout()
은 train 시에 미리 scale up을 적용하고 있다.
model.train()
) 에서 p 확률로 임의의 노드를 dropout 하고, 활성화된 노드들의 출력을 $\frac{1}{1-p}$ 배로 scaling up 한다.model.eval()
) 에서는 dropout 기능을 비활성화하고, 별다른 scaling은 하지 않는다. (이미 train 시에 scale up이 수행됨)/2