드롭아웃 및 확률적 정규화
드롭아웃은 각 훈련 단계에서 일부 뉴런을 무작위로 꺼서 네트워크가 중복되고 강력한 표현을 구축하도록 하는 정규화 트릭입니다.
개요
It became one of the most influential techniques for fighting overfitting in deep learning.
심층 분석
2012년경 Hinton 그룹이 도입한 드롭아웃은 대규모 네트워크의 주요 약점을 해결합니다. 즉, 뉴런은 공동 적응할 수 있으며 훈련 데이터에서만 작동하는 방식으로 서로의 실수를 수정하는 방법을 학습할 수 있습니다. 훈련 중 모든 순방향 패스에서 드롭아웃은 임의의 확률 p(종종 조밀한 레이어에서 0.5)로 각 뉴런의 출력을 0으로 무작위로 설정합니다. 어떤 뉴런이라도 사라질 수 있기 때문에 네트워크는 취약한 파트너십에 의존할 수 없으며 유용한 정보를 여러 단위에 분산시켜야 합니다. 이는 가중치를 공유하는 얇은 네트워크의 거대한 앙상블을 훈련하는 것과 같은 역할을 합니다. 테스트 시간에는 드롭아웃이 꺼지고 예상 출력이 훈련과 일치하도록 활성화가 조정된 전체 네트워크가 사용됩니다. 결과는 일반적으로 약간 더 긴 훈련 비용으로 더 나은 일반화입니다.
기술적 통찰력
훈련하는 동안 각 단위는 무작위 바이너리 마스크를 통해 확률(1 - p)로 유지되므로 배치마다 다른 하위 네트워크가 샘플링됩니다. 최신 프레임워크는 역드롭아웃을 사용합니다. 살아남은 활성화는 학습 시 (1 - p)로 나누어지므로 추론 시 크기 조정이 필요하지 않습니다. 이러한 무작위성은 공동 적응을 방해하고 기하급수적인 수의 공유 가중치 하위 네트워크(저렴한 형태의 앙상블)에 대한 평균을 근사화하는 노이즈를 주입합니다.
전략적 영향
더 명확한 결정들
이는 명확한 기술적 주장과 마케팅 언어를 구분하는 데 도움이 됩니다.
비용 및 예산
돈이나 시간을 들이기 전에 더 나은 구현 질문을 할 수 있습니다.
팀과 워크플로우
이해를 공유한 팀은 더 나은 제품, 정책 및 학습 결정을 내립니다.
드롭아웃과 확률적 정규화의 미래
컨벌루션 비전 네트워크에서 배치 정규화는 표준 드롭아웃을 크게 대체했지만 변형은 다른 곳에서도 번창합니다. 변환기는 어텐션 및 피드포워드 레이어에 드롭아웃을 적용하고 DropPath(확률적 깊이)는 전체 잔여 블록을 삭제합니다. 추론 시 드롭아웃을 활성 상태로 유지하는 몬테카를로 드롭아웃은 모델 불확실성을 추정하는 데 사용됩니다. 확률론적 정규화는 단일 고정 레시피가 아닌 아키텍처별로 적용되는 유연한 툴킷으로 유지됩니다.
실제 구현
PyTorch 또는 Keras의 이미지 또는 텍스트 분류기의 밀집 레이어 사이에 p가 약 0.5인 드롭아웃 레이어 추가
사전 훈련 중 주의 가중치 및 피드포워드 활성화에 드롭아웃을 적용하는 변환기 모델
몬테 카를로 드롭아웃(Monte Carlo dropout), 드롭아웃이 추론 시 계속 유지되어 의료 또는 안전 관련 예측에 대한 불확실성 추정치를 생성합니다.
ResNet 및 비전 변환기와 같은 매우 깊은 네트워크를 정규화하기 위해 잔여 블록을 무작위로 건너뛰는 확률적 깊이(DropPath)
위험 및 가드레일
팀마다 동일한 용어를 다르게 사용할 수 있으므로 범위를 조기에 정의하세요.
벤치마크는 강력해 보이지만 실제 성능은 고르지 않을 수 있습니다.
데이터 품질 및 평가 계획을 무시하면 취약한 결과가 발생하는 경우가 많습니다.
구현 로드맵
필요한 결과에 대한 일반 언어 정의부터 시작하세요.
테스트하기 전에 하나의 성공 지표와 하나의 실패 조건을 선택하세요.
세련된 데모 세트가 아닌 대표 데이터를 사용하여 소규모 파일럿을 실행하세요.
Dropout 및 Stochastic Regularization이 도움이 되는 부분과 더 간단한 방법이 더 나은 부분을 문서화하세요.
계속 탐색하세요
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Dropout and Stochastic Regularization quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
다음 가이드
모멘텀을 이용한 확률적 경사하강법
자주 묻는 질문
What is Dropout and Stochastic Regularization?
드롭아웃은 각 훈련 단계에서 일부 뉴런을 무작위로 꺼서 네트워크가 중복되고 강력한 표현을 구축하도록 하는 정규화 트릭입니다. 이는 딥러닝에서 과적합을 방지하는 가장 영향력 있는 기술 중 하나가 되었습니다.
훈련 중에 드롭아웃은 무엇을 합니까?
드롭아웃은 훈련 중에 확률 p로 각 뉴런을 무작위로 0으로 설정하므로 각 단계마다 서로 다른 얇은 하위 네트워크가 사용됩니다.
드롭아웃이 일반화를 향상시키는 이유는 무엇입니까?
드롭아웃은 단위를 무작위로 제거함으로써 뉴런이 훈련 데이터에만 작동하는 취약한 파트너십을 형성하는 것을 방지하여 견고성을 향상시킵니다.
테스트(추론) 시 드롭아웃은 어떻게 되나요?
추론 시 전체 네트워크는 드롭아웃이 비활성화된 상태로 실행되며 예상 출력이 훈련 분포와 일치하도록 활성화가 조정됩니다.
레이어에서 p = 0.5의 드롭아웃 비율은 훈련 중에 대략 무엇을 의미합니까?
p = 0.5인 경우 각 뉴런은 0이 될 확률이 50%이므로 정방향 패스당 평균 약 절반이 삭제됩니다.
드롭아웃은 종종 근사치로 설명됩니까?
각 단계마다 서로 다른 하위 네트워크를 샘플링하는 것은 저렴한 앙상블의 한 형태인 기하급수적인 수의 공유 가중치 네트워크에 대한 평균을 구하는 것과 비슷합니다.