Dropout은 신경 네트워크에서 사용 된 정기적 인 기술로 과잉을 방지합니다. 그것은 훈련 중에 신경의 하위 세트를 무작위로 비활성화하는 것을 포함하며 네트워크가 더 강력한 기능을 개발하도록 격려합니다. 이론적 기반을 이해하고 실용적인 구현은 모델 성능과 일반화를 향상시킬 수 있습니다.

Dropout의 이론적 재단

Dropout은 뉴런 중 복잡한 공동 적응을 줄이기 위해 방법을 도입했습니다. 훈련 중에 무작위로 떨어지는 단위로 네트워크는 과다한 표현을 배우며, 이는 데이터가 아닌 데이터를 종합적으로 향상시키는 능력을 향상시킵니다. 이 기술은 여러 네트워크의 ensemble을 동시에 훈련시키는 법의로 볼 수 있습니다.

Practical 구현 팁

Dropout을 효과적으로 구현하면 특정 매개 변수에주의해야합니다. 드롭 아웃 속도는 일반적으로 0.2 ~ 0.5 범위의 신경을 비활성화하는 확률을 지정합니다. 그것은 일반적으로 건축에 따라 완전히 연결된 층과 때로는 복잡한 층 후에 적용된다.

교육 중, 낙하는 활동이지만, 출현 중에도 꺼져 있습니다. 떨어졌다 단위를 계산하기 위해, 무게는 테스트 중에 적절하게 스케일을 갖습니다. 많은 딥러닝 프레임 워크는이 자동을 처리하고 구현 프로세스를 단순화합니다.

Dropout을 사용하는 추가 팁

  • 체중 감소와 같은 다른 정규화 방법을 가진 결합 dropout.
  • 모델과 데이터셋의 복잡성을 기반으로 드롭아웃 속도를 조정합니다.
  • 완전히 연결된 층에서 dropout을 주로 사용하십시오. 복잡한 층에서 덜 효과적입니다.
  • 과도한 dropout을 방지하기 위해 검증된 성능을 모니터링합니다.