드롭아웃(dropout)은 인공 신경망에서 과적합을 줄이기 위해 사용되는 정규화 기법으로, 훈련 데이터에 대한 복잡한 상호적응을 방지한다. 이 기법은 훈련 과정 중에 뉴런의 입력 및/또는 출력을 무작위로 0으로 설정하는 방식으로 구성되며, 추론 과정에서는 적용되지 않는다. 네트워크에서 유닛을 일시적으로 제거함으로써, 드롭아웃은 남은 유닛들이 특정 다른 유닛의 존재에 의존하기보다는 독립적으로 잘 작동하는 더 견고한 특징을 학습하도록 강제한다. 이 접근법은 Deep learning 및 Machine learning에서 표준 도구가 되었으며, 특히 과적합 위험이 큰 대규모 모델 훈련에 널리 사용된다.
이 개념은 가중치를 무작위로 0에 가깝게 감소시키는 오래된 기법인 희석(dilution)과 밀접하게 관련되어 있다. 희석은 제거된 연결의 비율에 따라 약한 희석과 강한 희석으로 나뉜다. 드롭아웃은 종종 희석의 특수한 경우로 설명되지만, 개별 가중치가 아닌 전체 노드(가중치 행렬의 행)를 제거한다는 점에서 차이가 있으며, 이는 수학적 분석과 실제 구현에 영향을 미친다.
역사적 발전
신경망 연결을 무작위로 교란하는 아이디어는 노이즈 주입 및 가중치 감쇠에 대한 초기 연구에 뿌리를 두고 있다. 드롭아웃의 전신인 희석은 1980년대와 1990년대에 홉필드 네트워크 및 연상 기억 모델의 맥락에서 연구되었다. 연구자들은 연결의 작은 비율을 무작위로 제거하면 일반화가 개선될 수 있음을 관찰했지만, 이론적 이해는 제한적이었다.
현대적인 드롭아웃은 2012년 논문에서 Nitish Srivastava와 Geoffrey Hinton이 University of Toronto에서 소개했으며, 2014년에 더 상세한 저널 논문이 발표되었다. 이 기법은 이미지 분류 작업에서 성공적으로 적용된 후 널리 주목받았으며, 이전 방법보다 과적합을 크게 줄였다. 2014년 논문은 MNIST 손글씨 숫자 데이터셋과 CIFAR-10 이미지 데이터셋의 테스트 오류 감소를 포함한 여러 벤치마크 데이터셋에서 개선을 보고했다.
소개 이후 드롭아웃은 다양한 형태로 확장 및 적응되었으며, 훈련 중 활성화를 스케일링하여 출력 크기를 일관되게 유지하는 역 드롭아웃(inverted dropout)과 베이지안 해석을 적용하는 변분 드롭아웃(variational dropout)이 포함된다. 이러한 변형은 많은 Neural network 아키텍처에 통합되었으며 주요 Machine learning 프레임워크에서 지원된다.
수학적 공식화
일반화된 선형 네트워크에서 선형 노드 계층의 출력은 \( y_i = \sum_j w_{ij} x_j \)로 설명할 수 있으며, 여기서 \( y_i \)는 노드 \( i \)의 출력, \( w_{ij} \)는 희석 전의 실수 가중치(헤브 연결 강도라고도 함), \( x_j \)는 노드 \( j \)의 입력이다. 벡터 표기법으로는 \( \mathbf{y} = \mathbf{W} \mathbf{x} \)로 작성되며, 여기서 \( \mathbf{y} \)는 출력 벡터, \( \mathbf{W} \)는 가중치 행렬, \( \mathbf{x} \)는 입력 벡터이다.
약한 희석 동안 제거된 연결의 유한한 비율은 작아서 약간의 불확실성을 발생시킨다. 이 경계 사례는 평균장 이론으로 정확히 해결할 수 있다. 희석된 가중치 \( \hat{w}_{ij} \)는 \( \hat{w}_{ij} = c w_{ij} \)로 주어지며, 여기서 \( c \)는 가중치를 유지할 확률을 나타내는 확률 분포 \( P(c) \)를 따르는 무작위 변수이다. 약한 희석에서는 가중치의 작고 고정된 비율만 희석되며, 합의 항 수가 무한대로 갈 때 여전히 무한대로 남아 평균장 이론을 적용할 수 있다.
강한 희석은 제거된 연결의 유한한 비율이 클 때 발생하며, 큰 불확실성을 초래한다. 이 영역에서는 평균장 이론의 가정이 더 이상 유지되지 않을 수 있으며 분석이 더 복잡해진다.
드롭아웃은 무작위 개별 가중치 대신 벡터 행렬의 전체 행이 제거되는 가중치 방정식의 특수한 경우이다. 희석된 행 \( \hat{\mathbf{w}}_j \)는 \( \hat{\mathbf{w}}_j = c \mathbf{w}_j \)로 주어지며, 여기서 \( c \)는 가중치 행렬에서 행을 유지할 확률이다. 드롭아웃은 전체 행을 제거하므로 약한 희석에 대한 이전 가정과 평균장 이론의 사용은 적용되지 않는다.
메커니즘 및 구현
훈련 중 드롭아웃은 각 순방향 패스에서 뉴런 활성화의 일부 비율을 무작위로 0으로 설정한다. 이 비율은 종종 드롭아웃 비율이라고 하며 일반적으로 0.2에서 0.5 사이로 설정되는 하이퍼파라미터이다. 각 훈련 예제에 대해 다른 유닛 집합이 제거되어 가중치를 공유하는 얇은 네트워크의 앙상블을 효과적으로 생성한다. 추론 시에는 모든 유닛이 사용되지만, 활성 유닛 수의 증가를 고려하여 출력은 유지 확률로 스케일링된다.
노드가 0으로 구동되는 과정(가중치를 0으로 설정, 노드 제거 또는 기타 수단)은 최종 결과에 영향을 미치지 않으며 새로운 고유한 사례를 만들지 않는다. 신경망이 고성능 디지털 배열 곱셈기로 처리되는 경우 프로세스 그래프 후반에 값을 0으로 구동하는 것이 더 효과적일 수 있다. AMD 또는 Intel 가속기와 같은 제한된 하드웨어 구현으로 처리되는 경우 특정 방법은 효율성에 영향을 미칠 수 있지만 결과에는 영향을 미치지 않는다.
실제로 드롭아웃은 합성곱 계층보다 완전 연결 계층에 더 자주 적용되지만 네트워크의 어느 부분에서나 사용할 수 있다. Large language model 아키텍처(예: Transformer (architecture))의 경우 드롭아웃은 주의 계층 및 피드포워드 계층의 출력에 종종 적용되며 비율은 일반적으로 약 0.1이다. TensorFlow 및 PyTorch와 같은 현대 프레임워크는 스케일링을 자동으로 처리하는 내장 드롭아웃 계층을 제공한다.
희석과의 관계
희석과 드롭아웃은 관련이 있지만 구별되는 기법이다. 희석은 가중치를 무작위로 0에 가깝게 감소시키는 반면, 드롭아웃은 전체 뉴런 활성화를 0으로 설정한다. 희석은 일반적으로 약한 희석과 강한 희석으로 나뉘며, 둘 사이의 한계에 대한 명확한 구분은 없으며 종종 특정 사용 사례의 선례에 따라 달라지고 정확한 해를 구하는 방법에 영향을 미친다.
때때로 희석은 입력에 감쇠 노이즈를 추가하는 데 사용된다. 이 경우 약한 희석은 작은 양의 감쇠 노이즈를 추가하는 것을 의미하고 강한 희석은 더 큰 양의 감쇠 노이즈를 추가하는 것을 의미한다. 둘 다 가중치 희석의 변형으로 다시 작성할 수 있다.
이러한 기법은 때때로 가중치의 무작위 가지치기라고도 하지만, 이는 일반적으로 비반복적인 일방향 작업이다. 네트워크는 가지치기된 후 이전 모델보다 개선된 경우 유지된다. 희석과 드롭아웃은 모두 기법이 적용된 후 네트워크가 계속 학습하는 반복적 프로세스를 나타낸다. 대조적으로 가중치 가지치기는 일반적으로 네트워크가 계속 학습한다는 것을 의미하지 않는다.
이점 및 한계
드롭아웃은 신경망 훈련에서 여러 이점을 제공한다. 뉴런이 특정 다른 뉴런에 너무 많이 의존하는 복잡한 상호적응을 방지하여 과적합을 줄인다. 이는 보이지 않는 데이터에 대한 더 나은 일반화로 이어진다. 드롭아웃은 또한 얇은 네트워크의 앙상블을 훈련하고 추론 시 예측을 평균화하므로 모델 평균화의 한 형태로 작용한다. 이는 예측의 견고성을 개선하고 분산을 줄일 수 있다.
그러나 드롭아웃에는 한계가 있다. 네트워크가 무작위로 누락된 유닛으로 학습해야 하므로 수렴이 느려질 수 있어 훈련 시간이 증가한다. 드롭아웃 비율은 신중하게 조정해야 하며, 너무 높은 비율은 과소적합을 유발하고 너무 낮은 비율은 정규화 이점을 거의 제공하지 않는다. 드롭아웃은 공간 상관 관계가 있는 합성곱 계층에서는 덜 효과적이며, 배치 정규화나 가중치 감쇠와 같은 다른 기법이 선호될 수 있다.
Generative AI 및 Artificial intelligence 시스템의 맥락에서 드롭아웃은 종종 다른 정규화 방법과 함께 사용된다. 예를 들어 OpenAI 및 Google DeepMind가 개발한 Transformer (architecture) 기반 모델에서는 대규모 데이터셋의 과적합을 방지하기 위해 주의 가중치와 피드포워드 계층에 드롭아웃이 적용된다.
현대 AI에서의 응용
드롭아웃은 다양한 도메인에서 심층 신경망 훈련의 표준 구성 요소가 되었다. 컴퓨터 비전에서는 이미지 분류 및 객체 감지를 위한 합성곱 네트워크에 사용된다. 자연어 처리에서는 언어 모델링 및 번역과 같은 작업을 위한 순환 네트워크 및 트랜스포머에 적용된다. 강화 학습에서는 정책 네트워크와 가치 함수를 정규화하는 데 드롭아웃을 사용할 수 있다.
Large language model 훈련의 경우 데이터와 모델 매개변수의 대규모 규모가 이미 일부 정규화를 제공하므로 드롭아웃은 종종 낮은 비율로 적용된다. 그러나 더 작은 모델이나 훈련 데이터가 제한된 경우에는 여전히 유용하다. Anthropic 및 Amazon Web Services와 같은 회사는 다양한 AI 서비스의 훈련 파이프라인에 드롭아웃을 통합한다.
드롭아웃은 불확실성 추정에도 응용된다. 추론 시 드롭아웃을 적용하는 몬테카를로 드롭아웃(Monte Carlo dropout)을 통해 모델은 서로 다른 제거된 유닛으로 여러 예측을 생성할 수 있으며, 이를 통해 예측 불확실성을 추정할 수 있다. 이는 Waymo 또는 Tesla이 개발한 시스템이 불확실성 정량화의 이점을 얻을 수 있는 자율 주행과 같은 안전이 중요한 응용 분야에서 유용하다.
이론적 관점
이론적 관점에서 드롭아웃은 확률적 정규화의 한 형태로 해석될 수 있다. 이는 훈련 과정에 노이즈를 도입하며, 특징 수준의 데이터 증강 유형으로 볼 수 있다. 일부 연구자는 드롭아웃을 베이지안 추론과 연결했으며, 드롭아웃 비율은 네트워크 가중치에 대한 사전 분포에 해당한다.
Stanford AI Lab 및 BAIR (Berkeley AI Research)와 같은 기관의 연구자는 손실 표면 및 일반화 경계에 대한 영향과 같은 드롭아웃의 이론적 속성을 연구했다. 완전한 이론적 이해는 여전히 열린 문제로 남아 있지만, 경험적 증거는 그 효과성을 강력히 뒷받침한다.
결론
드롭아웃은 Deep learning 분야에 지대한 영향을 미친 간단하면서도 강력한 정규화 기법이다. 훈련 중 유닛을 무작위로 제거함으로써 과적합을 방지하고 일반화를 개선하여 Machine learning 실무자의 도구 상자에서 기본적인 도구가 되었다. 희석과의 관계는 더 넓은 확률적 정규화 방법 계열을 강조하며, 현대 아키텍처에서의 지속적인 사용은 그 지속적인 관련성을 강조한다.