본문 바로가기

🤖AI/딥러닝

[딥러닝] Overfitting을 완화시키는 방법(2) - Dropout

Dropout이란?

Layer에 포함된 weight들 중에서 일부만 참여시키는 방법이다.

Random하게 일부 뉴런을 0으로 만드는 것이다.

일정한 mini-batch 구간 동안 dropout된 망에 대한 학습을 한다.

학습이 끝나면 다시 무작위로 다른 뉴런 들을 dropout하면서 반복적으로 학습한다.

Dropout의 기대효과

- Voting효과

mini batch구간 동안 dropout된 각자의 망에 fitting이 되면서 평균 효과를 얻을 수 있다.

 

- Co-adaptation(동조화) 방지

특정 뉴런의 bias나 weight가 큰 값을 갖게 되면 그것의 영향이 커지면서 다른 뉴런들의 학습 속도가 느려지거나 학습이 제대로 진행되지 못한다.

dropout을 이용하면 특정 뉴런의 weight나 bias에 영향을 받지 않기 때문에 뉴런들이 서로 동조화 되는 것을 피할 수 있다.

 

결론적으로 dropout을 이용해서 선명한 특징(salient feature)을 이끌어낼 수 있다.

 

출처: 문과생도 이해하는 딥러닝, sacko.tistory.com/45