
이 논문은 dropout이라는 기술을 딥러닝에 적용하여 성능 향상을 이루어낸 논문이다.
무작위로 unit을 비활성화함으로써 신경망의 공동 적응[co-adaptation] 현상을 방지하고, 가장 중요한 오버피팅을 극복하고 개별 뉴런의 특징 추출 능력을 향상하는 성과를 거두었다.
오버피팅의 문제
만약 6시간 걸려서 학습한 모델에서 12시간만큼 학습한다고 하였을 때 우리는 당연히 더 좋은 성능이 나올 것이라고 기대한다. 하지만 더 오래 학습한 모델이 오히려 성능이 나빠졌다면 어떨까? 이는 문제집만 너무 열심히 봐서 결국에는 문제집을 전부 외워버린 현상으로 비유할 수 있다. 따라서 문제집에 있는 문제를 풀 때는 잘 풀지만 처음 보는 문제를 마주하면 오히려 더 못 푸는 모습을 떠올리면 이해할 수 있다.

딥러닝 모델의 경우 더 복잡한 학습[에포크 증가, 파라미터 및 layer 증가 등]을 하였을 때 학습을 진행하면서 training에서는 loss가 줄어들지만 [문제집에 있는 문제를 풀 때는 잘 풀고 오답이 적음] test의 경우에서는 시간이 지나면서 오히려 loss가 늘어나는 모습을 보여준다[처음 보는 문제를 마주하면 오히려 더 못 풀고 오답이 늘어남].
이러한 문제점을 오버피팅[overfitting]이라고 하며 이는 더 좋은 성능을 만들기 위해서 더 좋은 모델을 만들어야하는 입장에서 커다란 문제점으로 다가온다.
드롭아웃 소개
위에서 소개한 오버피팅의 문제점을 막기위해서 소개되는 기법이 드롭아웃[dropout]이다. 전구의 스위치를 끄듯이 인공신경망 학습에서 일정 부분의 노드를 "끄는" 모습을 보여준다. 아래 모습처럼 한 번의 학습에 모든 노드들이 사용될 수 없고 일정 갯수 만으로 학습이 진행된다.

전부 다 사용하는 것보다 일부분을 돌아가면서 사용하는 것이 오히려 효과가 더 좋은 이유는 무엇일까? 인공신경망에 있는 은닉층에서 이미지와 같은 입력 데이터의 특징을 추출하여 학습할 때 과도하게 이미지 전체를 외우는 것을 막고 중요한 특징만을 학습하여 새로운 이미지가 입력으로 들어와도 잘 인지할 수 있는 능력을 보여줄 수 있다.
이러한 드롭아웃은 모델을 학습할 때에만 적용을하여 몇몇 뉴런을 "꺼서" 진행하고 검증이나 테스트의 경우에는 드롭아웃을 적용하지 않고 모든 뉴런을 다 사용하여 예측한다. 파이토치의 model.eval()은 자동으로 드롭아웃을 끄고 나서 예측을 진행하도록 도와준다.
논문 흐름
논문의 진행 흐름으로는 dropout의 대조군으로 표준[standard] 딥러닝 모델과 dropout을 사용한 확률적 경사하강 [stochastic gradient procedure] 모델 간의 오분류 정도 비교를 통해서 성능향상을 보여준다.
이를 검증하기 위한 벤치마크로 MNIST, TIMIT, CIFAR-10, ImageNet 데이터셋들을 사용하였다. [TIMIT는 작은 단어들로 이루어진 "음성" 데이터셋, 나머지는 이미지]
dropout을 이용해서 입력이나 은닉층에 무작위 50%만을 이용하여서 다른 unit에 의존하지 않음을 통해 과적합을 감소시킬 수 있다. L2 norm을 전체 적용하는 대신 상한선을 두고 초과시 가중치를 분할하여 가중치가 너무 커지는 것에 대해서 막는다. [재정규화]
MNIST의 손글씨로 적은 숫자 이미지 6만개의 training 이미지와 만개의 test 이미지를 인식하기 위해서 dropout을 은닉층에 50% 적용하고 입력층에 20%를 적용함으로써 표준 순전파 신경망을 이용하여 기록한 160개의 오분류를 약 110개로 줄일 수 있었다. TIMIT은 음성 모델이기 때문에 시간에 따른 변화[temporal variability]를 대처해야하고 음성적인 특징 추출을 위해서 hidden Morkov models[HMMs]를 이용한다. hidden unit에 대해서 50% dropout을 적용을 하였을 때 분류[classification] 오류의 정도가 3% 떨어지는 모습이 확인된다.

CIFAR-10의 32X32의 색상 이미지를 인식하기 위해서 합성곱 3층에 3개의 max-pooling을 삽입한 신경망을 통해서 기존의 최고 기록이었던 error rate를 18.5%에서 16.6%의 수준으로 낮추었다. 또한, 마지막 은닉층에 dropout을 적용하였을 때 15.6%까지 낮아지는 효과를 보여주었다.
ImageNet의 1000개의 클래스에서 각각 1000개의 샘플들이 존재하는 이미지 데이터셋을 인식하기 위해 합성곱 5층에 마지막 6번째 은닉층에 50% dropout을 적용함으로써 우승 기록과 당시 최고 기록이었던 error rate 47.2%와 45.7%보다 뛰어난 42.4%를 기록하였다.
dropout은 기존에 가중치를 사후 확률[posterior probability]로 구현한 Bayesian model에 비해서 더욱 간단하게 구현하여 output에 대해서 더욱 쉽게 근사할 수 있다.
dropout은 정규화[regularization]의 새로운 패러다임을 제시하였고 과적합 문제를 해결하였고 특히 뉴런 간 과도한 의존성을 해소함으로써 모델의 일반화 성능을 근본적으로 개선하는 계기가 되었다.
참고
G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever and R. R. Salakhutdinov (2012). Improving neural networks by preventing co-adaptation of feature detectors : https://arxiv.org/pdf/1207.0580