일부 뉴런을 제거하면 더 나은 성능의 모델이 생성되는 경우, 처음에는 더 적은 수의 뉴런과 더 적은 뉴런으로 더 단순한 신경망을 사용하지 않겠습니까? 처음에 더 크고 복잡한 모델을 만들고 나중에 그 일부를 억제하는 이유는 무엇입니까?
일부 뉴런을 제거하면 더 나은 성능의 모델이 생성되는 경우, 처음에는 더 적은 수의 뉴런과 더 적은 뉴런으로 더 단순한 신경망을 사용하지 않겠습니까? 처음에 더 크고 복잡한 모델을 만들고 나중에 그 일부를 억제하는 이유는 무엇입니까?
답변:
드롭 아웃의 기능은 모델의 견고성을 높이고 뉴런 간의 간단한 종속성을 제거하는 것입니다.
뉴런은 네트워크를 통해 한 번의 앞뒤로 패스 할 때만 제거됩니다. 즉, 패스에 대해 가중치가 합성 적으로 0으로 설정되므로 오류도 함께 발생하므로 가중치가 업데이트되지 않습니다. Dropout 은 모델의 복잡성에 다소 불이익을 주므로 정규화 의 형태로 작동합니다 .
Michael Nielsen의 Deep Learning 서적 (무료 및 온라인) 에서 Dropout 섹션을 읽어 보시면 좋은 직관력을 제공하고 매우 유용한 다이어그램 / 설명을 얻을 수 있습니다. 그는 다음과 같이 설명합니다.
드롭 아웃은 정규화를위한 근본적으로 다른 기술입니다. L1 및 L2 정규화와 달리 드롭 아웃은 비용 함수 수정에 의존하지 않습니다. 대신 드롭 아웃에서 네트워크 자체를 수정합니다.
여기 좋은 요약 기사가 있습니다. 그 기사에서 :
일부 관찰 :
- Dropout은 신경망이 다른 뉴런의 여러 가지 임의의 하위 집합과 함께 유용한 더 강력한 기능을 배우도록합니다.
- 드롭 아웃은 수렴에 필요한 반복 횟수를 대략 두 배로 늘립니다. 그러나 각 시대에 대한 훈련 시간은 짧습니다.
- H 은폐 유닛으로 각각 떨어 뜨릴 수 있으므로 2 ^ H 모델이 가능합니다. 테스트 단계에서는 전체 네트워크가 고려되고 각 활성화는 요인 p만큼 감소합니다.
내가 차 한 잔을 만들어달라고 요청한다고 상상해보십시오. 항상 오른손으로 물을 붓고 왼쪽 눈으로 물의 양을 측정 한 다음 다시 오른손으로 차를 숟가락으로 저어 줄 수 있습니다. 이것은 왼손과 오른쪽 눈이 거의 목적을 달성하지 못함을 의미합니다. 탈락을 사용하면 오른손을 등 뒤로 묶어서 왼손을 사용해야합니다. 이제 한 눈 또는 한 손으로 행동을 취하지 않은 채로 20 잔의 차를 만든 후에는 가능한 모든 것을 사용하는 것이 더 좋습니다. 어쩌면 작은 부엌에서 차를 만들어야 할 수도 있습니다. 여기서 왼팔으로 주전자를 사용할 수 있습니다 ... 드롭 아웃을 사용한 후에는 경험이 있습니다! 보이지 않는 데이터에 대해 더욱 강력 해졌습니다.
드롭 아웃은 실제로 뉴런을 제거하지 않습니다. 특정 뉴런이 주어진 데이터 배치에 대해 어떤 역할도하지 않습니다 (활성화되지 않음).
예 -8 개 차선이 있다고 가정합니다. 트럭이 오면 1,2,4,6,7 차선을 통과하고, 차가 오면 2,3,4,7,8 차선을 통과하고 자전거가 오면 차선 1,2,5,8을 통과합니다. 따라서 차량에 관계없이 모든 차선이 있지만 일부 차선 만 사용됩니다.
마찬가지로 모든 뉴런이 전체 모델에 사용되지만 특정 데이터 배치에 대해 뉴런의 하위 집합 만 활성화됩니다. 그리고 모델은 나중에 축소되지 않고 모델의 복잡성은 그대로 남아 있습니다.
드롭 아웃을 사용해야하는 이유
Ian Goodfellow의 딥 러닝 북에 제공된 바와 같이,
드롭 아웃은 무게 감소, 필터 표준 제약 및 희소 한 활동 정규화와 같은 다른 표준 계산 저렴한 정규화 기보다 효과적입니다.
그는 또한 말합니다
드롭 아웃의 한 가지 장점은 계산이 매우 저렴하다는 것입니다.
드롭 아웃의 또 다른 중요한 이점은 사용할 수있는 모델 또는 교육 절차의 유형을 크게 제한하지 않는다는 것입니다. 분산 표현을 사용하고 확률 적 경사 하강으로 훈련 할 수있는 거의 모든 모델에서 잘 작동합니다. 여기에는 피드 포워드 신경망, 제한된 볼츠만 기계 (Srivastava et al., 2014)와 같은 확률 모델 및 반복 신경망 (Bayer and Osendorfer, 2014; Pascanu et al., 2014a)이 포함됩니다.
이 책의 says-
핵심 아이디어는 레이어의 출력 값에 노이즈를 도입하면 중요하지 않은 상황 패턴을 분리 할 수 있으며 노이즈가 없으면 네트워크가 암기하기 시작한다는 것입니다.
드롭 아웃이 수행하는 것을 보는 또 다른 방법은 베이지안 모델에서 공변량에 대한 계수 (복잡한 기능 변환이있는 원래 공변량의 복잡한 교호 작용 항)에 대한 슬래브 앤 스파이크와 유사하다는 것입니다. 이것은 Yarin Gal이 그의 논문에서 제안한 해석입니다 ( 그의 출판물 목록 참조 ).
이것이 왜 그런지에 대한 간단한 손짓 논쟁은 다음과 같습니다.
왜 슬래브 앤 스파이크를 원할까요? 뉴런이없는 뉴트럴 네트워크와 뉴런이있는 뉴트럴 네트워크 사이의 평균 베이지안 모델을 유도합니다. 즉, 뉴트럴 네트워크가 실제로 가능한 모든 복잡성을 가져야하는지에 대한 불확실성을 표현하고이 불확실성을 적절히 고려합니다. 예측. 이는 중립 네트워크가 데이터에 과적 합할 수있는 주요 문제를 해결합니다 (물론이를 달성 할 수있는 유일한 방법은 아님).
드롭 아웃 계층은 특정 뉴런 부분을 무차별 적으로 컬링하여 해당 모델의 표현 능력을 줄입니다. 이는 네트워크가 복잡한 비선형 결정 경계 (즉, 데이터 세트의 "노이즈")를 맞추지 못하도록하여 과적 합을 방지 (또는 개선)합니다.
드롭 아웃은 다음과 같은 이유로 기계 학습 모델의 성능을 향상시킵니다.