드롭 아웃이 모델에서 일부 뉴런을 억제한다는 점에서 드롭 아웃 레이어를 추가하면 딥 / 머신 러닝 성능이 개선되는 이유는 무엇입니까?


13

일부 뉴런을 제거하면 더 나은 성능의 모델이 생성되는 경우, 처음에는 더 적은 수의 뉴런과 더 적은 뉴런으로 더 단순한 신경망을 사용하지 않겠습니까? 처음에 더 크고 복잡한 모델을 만들고 나중에 그 일부를 억제하는 이유는 무엇입니까?

답변:


31

드롭 아웃의 기능은 모델의 견고성을 높이고 뉴런 간의 간단한 종속성을 제거하는 것입니다.

뉴런은 네트워크를 통해 한 번의 앞뒤로 패스 할 때만 제거됩니다. 즉, 패스에 대해 가중치가 합성 적으로 0으로 설정되므로 오류도 함께 발생하므로 가중치가 업데이트되지 않습니다. Dropout 은 모델의 복잡성에 다소 불이익을 주므로 정규화 의 형태로 작동합니다 .

Michael Nielsen의 Deep Learning 서적 (무료 및 온라인) 에서 Dropout 섹션을 읽어 보시면 좋은 직관력을 제공하고 매우 유용한 다이어그램 / 설명을 얻을 수 있습니다. 그는 다음과 같이 설명합니다.

드롭 아웃은 정규화를위한 근본적으로 다른 기술입니다. L1 및 L2 정규화와 달리 드롭 아웃은 비용 함수 수정에 의존하지 않습니다. 대신 드롭 아웃에서 네트워크 자체를 수정합니다.

여기 좋은 요약 기사가 있습니다. 그 기사에서 :

일부 관찰 :

  • Dropout은 신경망이 다른 뉴런의 여러 가지 임의의 하위 집합과 함께 유용한 더 강력한 기능을 배우도록합니다.
  • 드롭 아웃은 수렴에 필요한 반복 횟수를 대략 두 배로 늘립니다. 그러나 각 시대에 대한 훈련 시간은 짧습니다.
  • H 은폐 유닛으로 각각 떨어 뜨릴 수 있으므로 2 ^ H 모델이 가능합니다. 테스트 단계에서는 전체 네트워크가 고려되고 각 활성화는 요인 p만큼 감소합니다.

내가 차 한 잔을 만들어달라고 요청한다고 상상해보십시오. 항상 오른손으로 물을 붓고 왼쪽 눈으로 물의 양을 측정 한 다음 다시 오른손으로 차를 숟가락으로 저어 줄 수 있습니다. 이것은 왼손과 오른쪽 눈이 거의 목적을 달성하지 못함을 의미합니다. 탈락을 사용하면 오른손을 등 뒤로 묶어서 왼손을 사용해야합니다. 이제 한 눈 또는 한 손으로 행동을 취하지 않은 채로 20 잔의 차를 만든 후에는 가능한 모든 것을 사용하는 것이 더 좋습니다. 어쩌면 작은 부엌에서 차를 만들어야 할 수도 있습니다. 여기서 왼팔으로 주전자를 사용할 수 있습니다 ... 드롭 아웃을 사용한 후에는 경험이 있습니다! 보이지 않는 데이터에 대해 더욱 강력 해졌습니다.


멀티 클래스 분류에 가장 적합한 드롭 아웃 값을 결정하는 방법은 무엇입니까? 최고의 드롭 아웃 레이어 수를 결정하는 방법은 무엇입니까?
N.IT

2
@ N.IT-내가 아는 한, 많은 조합을 시도하는 jsut과는 별도로 최고의 드롭 아웃 수준 또는 레이어 수를 찾는 잘 정의 된 방법이 없습니다 . 다른 정규화 및 아키텍처 탐색 방법과 마찬가지로 모델을 학습하고 교육 / 검증 손실 곡선을 비교하면 최상의 결과를 얻을 수 있습니다. 주제에 대한설명을 확인하십시오 .
n1k31t4

좋은 대답입니다. 주방 비유와 관련하여보다 구체적으로 설명하기 위해 Dropout은 추론 중이 아닌 훈련 중에 만 사용됩니다. 따라서 복잡한 모델은 부분적으로 사용되지 않습니다.
Vaibhav Garg

눈을 감 으면이 답장을 입력합니다. 더 많은 훈련이 필요합니다. nwws는 seopour를 깎았 다.
VHanded

3

드롭 아웃은 실제로 뉴런을 제거하지 않습니다. 특정 뉴런이 주어진 데이터 배치에 대해 어떤 역할도하지 않습니다 (활성화되지 않음).

-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-

핵심 아이디어는 레이어의 출력 값에 노이즈를 도입하면 중요하지 않은 상황 패턴을 분리 할 수 ​​있으며 노이즈가 없으면 네트워크가 암기하기 시작한다는 것입니다.


억제 단어를 사용하고 제거하지 않도록 질문을 편집했습니다. 질문은 남아있다. 왜 그중 일부만이 결국에 사용될 때 그렇게 많은 차선을 구축합니까?
user781486

@ user781486 그들 중 일부는 각 데이터 배치에 대해 일부를 의미하지만 전체 데이터를 고려하면 모든 데이터가 사용됩니다. 내 예에서와 같이, 각 차량에 대해 조합 된 차선 번호 세트를 사용하는 경우 모든 차선 1-8이 사용됩니다.
Ankit Seth

3

드롭 아웃이 수행하는 것을 보는 또 다른 방법은 베이지안 모델에서 공변량에 대한 계수 (복잡한 기능 변환이있는 원래 공변량의 복잡한 교호 작용 항)에 대한 슬래브 앤 스파이크와 유사하다는 것입니다. 이것은 Yarin Gal이 그의 논문에서 제안한 해석입니다 ( 그의 출판물 목록 참조 ).

이것이 왜 그런지에 대한 간단한 손짓 논쟁은 다음과 같습니다.

  • 뉴런이 제거되는 배치에서, 특징 / 공변량에 대한 계수 (뉴런으로 들어가는 신경망의 연결에 의해 구성됨)는 0입니다 (스파이크 0).
  • 뉴런이 존재하는 배치에서 계수는 제한되지 않습니다 (부적절한 사전 = 슬래브).
  • 모든 배치에서 평균적으로 스파이크 앤 슬래브를 미리 얻습니다.

왜 슬래브 앤 스파이크를 원할까요? 뉴런이없는 뉴트럴 네트워크와 뉴런이있는 뉴트럴 네트워크 사이의 평균 베이지안 모델을 유도합니다. 즉, 뉴트럴 네트워크가 실제로 가능한 모든 복잡성을 가져야하는지에 대한 불확실성을 표현하고이 불확실성을 적절히 고려합니다. 예측. 이는 중립 네트워크가 데이터에 과적 합할 수있는 주요 문제를 해결합니다 (물론이를 달성 할 수있는 유일한 방법은 아님).


좋은 지적. 답변을 업데이트합니다.
Björn

2

드롭 아웃 계층은 특정 뉴런 부분을 무차별 적으로 컬링하여 해당 모델의 표현 능력을 줄입니다. 이는 네트워크가 복잡한 비선형 결정 경계 (즉, 데이터 세트의 "노이즈")를 맞추지 못하도록하여 과적 합을 방지 (또는 개선)합니다.


0

드롭 아웃은 다음과 같은 이유로 기계 학습 모델의 성능을 향상시킵니다.

  • 네트워크를보다 단순하게 만들기 : 네트워크를 더 단순하게 만들어 과잉 맞춤을 방지합니다.
  • 단일 단순 네트워크를 사용하는 것보다 낫습니다. 일단 특정 아키텍처를 설계 한 후에는 전체 교육 프로세스가 끝날 때까지 (즉, 모든 아키텍처에 대해 네트워크 아키텍처가 고정 된 경우) 변경할 수 없기 때문에 간단한 네트워크를 수동으로 다시 설계하는 것이 좋습니다. 그러나 중퇴에서 네트워크는 각 시대마다 다양한 방식으로 단순 해지고 있습니다. 1000 가지 간단한 네트워크 변형으로 실제로 시도하고있는 1000 개의 에포크를 가정 해보십시오.
  • 여러 가지 방법으로 배우십시오 : 네트워크의 입력 및 출력은 변경되지 않습니다. 유일한 변경 사항은 네트워크 간의 매핑입니다. 네트워크가 다양한 방식으로 동일한 것을 배우고 있다고 상상해보십시오. 따라서이 네트워크와 마찬가지로 인간에게도 동일한 문제를 다른 방식으로 생각할 때마다이를 일반화하는 방법을 자동으로 배우고 전반적인 지식과 이해도 향상되고 네트워크에서도 이와 유사한 일이 발생합니다. 각 시대의 탈락 과정에서 무작위로 일부 가중치 (뉴런에서 다음 레이어의 다른 뉴런으로의 연결)가 끊어지고 있으므로 네트워크는 여전히 사용 가능한 기존 연결을 사용하여 네트워크를 배우도록 강요하고 있습니다. 다른 관점에서 동일한 문제를 분석하는 방법.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.