Dropout
Dropout is a technique of reducing overfitting in neural networks by preventing complex co-adaptations on training data. It is a very efficient way of performing model averaging with neural networks. The term "dropout" refers to dropping out units (both hidden and visible) in a neural network.
개요
Regularization 기법의 하나이다. Deep Neural Network의 학습 단계에서(Test에서는 아님) 각각의 Hidden Layer에서 랜덤하게 몇개의 Neuron 들만(보통 50%) 사용하여 학습하는 것이다. 이렇게 할 경우 매우 다양한 장점이 있다.
매 학습시 마다 랜덤하게 50%의 Neuron들만 사용하여 학습 할 경우, nC2 가지 만큼의 조합이 탄생하게 된다. 따라서 하나의 거대한 DNN에 여러개의 작은 뉴럴 넷이 앙상블되어지는(합쳐진) 효과가 있다.
앙상블을 할 경우 일반적으로 Overftting이 크게 줄어든다고 알려져 있다.(하나의 Classifier에 의해서만 결정되지 않고 여러개의 Classifier가 같이 결정하기 때문에 편견(Bias)가 줄어든다.)
또한 Drop out을 사용 할 경우 비슷한 Weight를 갖는 뉴런들이 줄어들게 되어, 중복된 판단을 하는 뉴런 들이 줄어들게 되어 각 뉴런을 100%(실제론 아니지만) 활용할 수 있게 된다고 한다.