[모두의 딥러닝] NN Dropout and model ensemble
📗강의노트/모두의 딥러닝

[모두의 딥러닝] NN Dropout and model ensemble

728x90
반응형

Sung Kim 님의 "모두의 딥러닝" 강의노트입니다

좋은 강의 감사드립니다!

https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5

새로운 문제를 풀지 못함 : 응용력이 없다는 것 !  

중간과정부터 test err가 증가하게 되는데 이를 Overfitting이라고 한다. 

Regularization : W를 너무 구부리지 말고 좀 피자
Regularization strength 0 이면 신경 안쓰고, 0.01은 조금 , 0.1은 좀 더 많이 신경쓴다는 것이다. 


network를 끊어버려 몇 개의 노드를 끊어버리자는 것!

random하게 각 neuron들을 쉬게하고 나머지로 훈련을 진행함. 나머지를 통해 맞추게 훈련하고 마지막에 총동원해서 예측하게 하면 더 잘 될 수도 있다. 이것이 Dropout의 아이디어이다. 

random하게 어떤 node를 끊거나 / activation function이 0이 나오게 하면 된다. 

보통 dropout_rate = 0.5로 하여 반 정도를 잘라낸다. 일단은 임의의 숫자로 냅둔다. 
“ 중요한 것은 학습하는 과정에서만 Dropout이 이루어 진다. “
“ 실전에서는 모든 node를 총동원한다. “
그래서 마지막 Evaluation을 할 때는 dropout_rate를 1로 설정해야 한다. 

독립적으로 NN을 만든다. Training set을 다 같게 해줄 수도 있고, 다르게 해줄 수도 있다.
똑같은 형태의 모델을 여러개 만든다. 초기값이 다르기 때문에 결과값이 다르게 나온다. 그 후 결과값들을 합친다. 그렇게 결과를 내는 것. 독립된 여러명의 전문가들에게 물어보고 이를 통합하는 것을 Ensemble(앙상블)이라고 한다. 최소 2% ~ 4/ 5%나 성능이 향상된다. 실전에서 사용하기 굉장히 좋다. 







728x90
반응형