[Paper Review] Dropout

Published on: Tue Jun 05 2018

Dropout, 'Improving neural networks by preventing co-adaptation of feature detectors' (2012)


Review: 신경망에서 드롭아웃에 관한 첫번째 논문이다. 이후 정리한 논문이 더 자세한 것 같다. 학습단계에서 무작위로 은닉층의 뉴런, 특징추출기 중 절반을 생략한다. 이를 통해 드롭아웃이 미적용된 망에서 보이던 동조화 현상이 현저히 줄어드는 것을 보았고, 자체적으로 앙상블 모델과 같은 모델 평균 효과를 보여준다. 이 두 작용을 통해 과최적화, Overfitting을 방지하는 결과를 보여준다.

Dropout: Improving neural networks by preventing co-adaptation of feature detectors

  • References
    • Hinton, Geoffrey E., et al. “Improving neural networks by preventing co-adaptation of feature detectors.” (2012). [pdf]

Abstract

  • 작은 데이터셋으로 feedforward 뉴럴넷을 학습시켰을 시, 테스트셋에서 성과가 저조하다. 이런 “과적화(Overfitting)“는, 각각의 트레이닝 케이스(예시: mini batch)마다 무작위로 절반의 특징추출기(feature detectors)를 생략하는 “드롭아웃(dropout)“을 통해 줄일 수 있다. 이 방법은 특징추출기들의 동조화(co-adaptation)을 막는다.
  • Dropout을 적용했더니, 음성 인식과 이미지 인식에서 향상된 결과를 보였다.
  • Co-adaptation, 동조화: 특정 뉴런의 가중치나 바이어스가 큰 값을 갖게 되면, 그 특정 뉴런의 영향이 커지면서 다른 뉴런들의 학습 속도가 느려지거나 학습이 제대로 진행되지 못하는 경우.

Overfitting의 원인에 관하여

  • feedforward neural network(input units + hidden units + output units)는 입력층과 은닉층 그리고 출력층으로 구성된다. 은닉층은 입력층에 입력된 값은 바탕으로 가중치를 조정하고 출력층이 정확한 출력을 예측하게 특징추출기를 학습한다.
  • 입력과 출력의 관계가 복잡하거나 라벨링된 학습데이터가 부족하다면, 모델은 트레인셋에 특화되므로 테스트셋에서 아주 저조한 성과를 보일 것이다. 이를 “Overfitting”이라고 한다.

Dropout의 장점과 기능 2가지

  • 드롭아웃은 학습데이터의 복잡한 co-adaptatio을 방지하여 overfitting을 방지한다.
    • 일정한 training case(예: mini-batch)마다 은닉뉴런을 무작위로 50% 확률로 생략시킨다. 이를 통해 은닉뉴런들이 특정 혹은 다른 은닉뉴런에 동조하는 것을 막을 수 있다.
  • 드롭아웃을 보는 다른 관점으로, 모델 평균효과(model averaging)를 들 수 있다.
    • 테스트셋에서 에러를 줄이는 방법으로 앙상블, 여러 다른 형태의 네트워크의 결과를 평균내는 방법이 있다. 하지만 이 방법은 너무 비용이 크다.
    • 드롭아웃은 적절한 시간을 들여 다양한 망을 학습하게 해준다.

Regularization 적용에 관하여

  • 드롭아웃 뉴럴넷에는 기본적으로 SGD와 mini-batch training case를 적용했으나, L2 norm 대신 다른 패널티 방식, Regularization 방식을 적용했다. (Max norm 방식)
    • 은닉레이어에 L2 norm이 적용된, 가중치 벡터에 상한치(upper boundary)를 적용하여 이를 넘지 못하게 했다.
    • 이 방식을 통해 가중치가 너무 커지는 것을 방지하여, learning rate을 큰 값부터 사용하는 것이 가능하게 되고, 학습 속도를 빠르게 할 수 있게 되었다.

Mean network 효과(평균 망 효과)에 대하여

  • 테스트 시에는, 모든 은닉뉴런을 사용했지만 그 가중치를 절반으로 줄였다.
  • … (이부분 잘 이해안됨)

MNIST 적용 결과

  • MNIST
    • 60,000 28x28 training images of individual hand written digits
    • 10,000 test images
  • 기존 feedforward 신경망을 통한 테스트셋에서 160 errors
  • 드롭아웃 50%, max norm 적용하여 130 errors
    • 20%의 픽셀에 드롭아웃을 적용하여 110 errors

MNIST Pre-trianing과의 조합

  • 50% 드롭아웃과 작은 학습율, 가중치제한 없이 pre-trained 모델에 적용하여, 118 errors에서 92 errors로 결과 향상.
  • 이외 이어서 미적용모델과 적용모델을 계속 학습시켰으나, 드롭아웃 적용 모델이 더 성능이 좋았음.

TIMIT 적용 결과

  • TIMIT
    • 짧은 단어로 이루어진 음성 데이터셋
  • 당시에 음성인식에 hidden Markov models을 사용함. 자세한 내용은 생략…
  • 총 4개의 FC 은닉층에 4000개의 뉴런, 185개의 softmax 출력뉴런으로 39개의 라벨을 분류함
  • 암튼 드롭아웃을 적용하여 22.7%에서 19.7%로 성능 향상

CIFAR-10 적용 결과

  • CIFAR-10
    • 50,000 32x32 training images of color object
    • 10,000 test images with 10 classes
  • 구형 망을 통한 테스트에서 18.5%
  • 3 Convolution layers + 3 Max-pooling layers + 1 locally connected layers, 16.6%
    • dropout in last hidden layer 15.6%

ImageNet

  • ImageNet(2010)
    • 1000 images on each 1000 classes
  • 5 Conv. layer with max-pooling layer + 2 globally connected layers + 1000 way softmax layer. + 가중치제한 + 50% 드롭아웃. 47.2% -> 42.4%

Reuters

  • Reuters dataset(로이터 통신 데이터셋)
    • 201,369 docs with 50 상호배타적인 classes
  • 50% 드롭아웃 적용. 31.05% -> 29.62%

실험에 의한 dropout 평가

  • 확실히 dropout 적용시 성능이 좋아짐.
    • FC의 모든 은닉층에 적용함이 하나의 은닉층에 적용함 보다 성능향상에 좋음.
    • 극단적인 드롭아웃 적용은 성능을 저하시킴. 그래서 0.5 씩 적용함.
    • 입력에도 드롭아웃 적용 시, 성능향상에 도움을 주기도 함.
    • validation set의 결과를 보고 각 은닉층과 입력층에 적용하는 드롭아웃율을 조절하는 방법도 가능함.

기타 논의

  • 학습 데이터로 얻은 사후 확률로 각 모델의 가중치를 정하는 베이지안 모델 평균방식보다, 드롭아웃은 적용하기 더 단순하다.
    • 복잡한 모델에서, 베이지안 방식은 사후 확률분포에서 모델을 샘플링하는데에 마코프 체인 몬테 카를로 방법을 사용한다.
    • 반면, 드롭아웃은 각 모델이 0.5의 확률로 같은 중요도로 결합되고, 학습 시 이런한 점이 전제된다.
    • 테스트에서, 드롭아웃의 결정은 각 단위에 독립적이므로 mean net을 통한 단일 통과를 사용하여 지수함수적으로 다양한 dropout망의 결합 옵션을 최적화하는 것이 쉽다. (한번에 통과하면서 좋은 성능을 보여줄 수 있따?)
  • 베이지안 모델 평균의 대안으로 “bagging”이 있다.
    • 드롭아웃은 극단적인 형태의 bagging이라고 볼수 있다. 한번의 학습에 각 모델의 파라미터는 다른 모델의 파라미터와 공유하며 강하게 정규화된다.
  • 양성 생식 진화 이론과 견주어 비교해 볼 수 있다.

Tags

paper review