Overfitting

Overfitting

Training Dataset에 너무 최적화되어 Test Dataset에서 낮은 정확도를 얻는 현상

  • 너무 Deep한 Layer일때 Overfitting 발생
  • 위 사진의 빨간 선부터 Overfitting 발생

 

 


Solution for Overfitting

  1. 더 많은 Training Dataset
  2. Regularization (정규화)
  3. Dropout

 


Dropout

 

  • Train시 neuron들을 랜덤하게 사용하지 않음

 

※ Dropout 사용시 주의할점!

model.train()과 model.eval() 에 대해 알아야 합니다.

model.eval()은 eval mode에서 사용할 것이라고 모든 레이어에 선언하는 것이며,

BatchNomalization과 Dropout들은 train mode 대신에 eval model로 작동합니다.

또한 eval 에서 torch.no_grad()는 Backpropagation에 사용하는 계산량을 줄여서 처리 속도를 높입니다.

(eval mode에서는 dropout은 비활성화, BatchNomalization은 학습에서 저장된 파라미터를 사용)

 


Code

 

 

 

 

 

 

출처:

https://www.youtube.com/watch?v=wTxMsp22llc&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=32&t=2s 

 

+ Recent posts