Related to: Fundamentals

개요

Dropout은 딥러닝 모델의 과적합을 방지하기 위한 정규화 기법입니다. 매 훈련 과정에서 랜덤으로 일부 퍼셉트론을 비활성화함으로써 다양한 서브 네트워크 구조를 학습하는 효과를 냅니다.

핵심 개념

  • 매 훈련 과정에서 랜덤으로 일부 퍼셉트론을 없애버림
    • 퍼셉트론에 연결된 가중치들도 의미없는 값이 됩니다.
    • 이 과정에서 약간씩 다른, 엄청 다양한 구조가 학습된다고 생각할 수 있습니다.
  • 구현할 때는 일단 계산한 후 0 or 1 마스크를 곱해 결과값을 0으로 만들어버리는 방식으로 구현합니다.

Untitled 60.png

  • Dropout은 훈련 시에만 적용되며, 추론(inference) 시에는 모든 뉴런을 사용하되 dropout 비율만큼 출력을 스케일링합니다.
  • 앙상블 효과: 매 iteration마다 다른 서브 네트워크를 학습하는 것과 유사

관련 개념

참조

https://deepestdocs.readthedocs.io/en/latest/004_deep_learning_part_2/0042/