AI 모델 개발: 불확실성 추정 – Dropout 기반 추정
ㅁ 불확실성 추정
ㅇ 정의:
모델이 예측한 결과에 대해 신뢰도를 수치로 표현하는 기법으로, 예측값의 변동성이나 불확실성을 정량화하여 의사결정에 활용함.
ㅇ 특징:
– 단순 정확도 지표 외에 예측의 신뢰도를 제공
– 의료, 자율주행 등 오판이 치명적인 분야에서 중요
– 불확실성은 데이터 불확실성(aleatoric)과 모델 불확실성(epistemic)으로 구분 가능
ㅇ 적합한 경우:
– 위험 기반 의사결정이 필요한 경우
– 예측 결과에 대한 신뢰 구간을 제시해야 하는 경우
ㅇ 시험 함정:
– 불확실성 추정은 항상 모델 정확도를 높이는 것은 아님
– 불확실성 추정 방식에 따라 계산 비용이 크게 달라질 수 있음
ㅇ 시험 대비 “패턴 보기” 예시:
O: “불확실성 추정은 예측값의 신뢰도를 정량화한다.”
X: “불확실성 추정은 항상 모델의 정확도를 향상시킨다.”
================================
1. Dropout 기반 추정
ㅇ 정의:
학습 및 추론 시 Dropout을 활성화하여 여러 번 예측을 수행하고, 예측 분포의 분산을 통해 불확실성을 추정하는 기법.
ㅇ 특징:
– Monte Carlo Dropout(MC Dropout)이라고도 함
– 학습 시 사용한 Dropout을 추론 시에도 적용
– 동일 입력에 대해 여러 번 추론하여 분산 계산
– 구현이 간단하고 기존 모델 구조를 크게 변경할 필요 없음
ㅇ 적합한 경우:
– 딥러닝 모델에서 빠르게 불확실성 추정을 적용하고 싶은 경우
– 모델 재학습 없이 불확실성 추정을 추가하려는 경우
ㅇ 시험 함정:
– Dropout 비율이 너무 높거나 낮으면 불확실성 추정이 왜곡됨
– 추론 속도가 느려질 수 있음(여러 번 예측 필요)
– MC Dropout은 근본적인 모델 불확실성만 반영, 데이터 불확실성은 별도 처리 필요
ㅇ 시험 대비 “패턴 보기” 예시:
O: “MC Dropout은 추론 시에도 Dropout을 적용하여 불확실성을 추정한다.”
X: “Dropout 기반 추정은 데이터 불확실성을 직접 계산한다.”
ㅁ 추가 학습 내용
Dropout 기반 추정 관련 핵심 정리
1. Monte Carlo Dropout의 수학적 원리
– 학습과 추론 시 모두 Dropout을 적용하여 여러 번 추론을 수행
– 각 추론 결과를 샘플로 간주하여 확률적 예측 분포를 근사
– 이는 베이지안 신경망의 후방분포 추정에 대한 근사 방법으로 볼 수 있음
– 베이지안 관점에서 Dropout은 가중치에 대한 분포를 암시적으로 정의하고 샘플링하는 역할을 함
2. 예측 분산 계산 공식
– 동일 입력 x에 대해 T번 추론한 결과 y₁, y₂, …, y_T를 얻음
– 예측 평균: μ = (1/T) Σ y_t
– 예측 분산: σ² = (1/T) Σ (y_t²) – μ²
– Classification의 경우 softmax 확률 벡터의 분산을 각 클래스별로 계산 가능
– Regression의 경우 예측값의 표준편차를 사용
3. Aleatoric vs Epistemic 불확실성
– Aleatoric 불확실성: 데이터 자체의 노이즈로 인해 발생, 더 많은 데이터로도 줄이기 어려움
– Epistemic 불확실성: 모델의 한계나 데이터 부족으로 발생, 데이터가 많아지면 줄어듦
– MC Dropout은 주로 Epistemic 불확실성을 추정하는 데 사용 가능
4. Bayesian Neural Network(BNN)와의 차이
– BNN: 가중치에 대한 명시적인 확률분포를 정의하고 샘플링
– MC Dropout: Dropout을 통해 암시적으로 가중치 샘플링을 수행, 구현과 계산이 간단
5. Dropout 비율 선택 시 trade-off
– Dropout 비율이 높으면 모델이 더 불확실하게 추정하나 과도하면 성능 저하
– 낮으면 불확실성 추정이 약화될 수 있음
– 적절한 비율 선택이 중요
6. 추론 반복 횟수(T)에 따른 신뢰도 변화
– T가 클수록 예측 분산 추정이 안정적이고 신뢰도 상승
– 하지만 계산 비용 증가
– 실무에서는 성능과 비용의 균형을 고려해 T를 결정
7. Classification vs Regression에서 불확실성 계산 차이
– Classification: softmax 확률의 분산을 통해 클래스별 예측 불확실성 측정
– Regression: 예측값의 표준편차 또는 분산으로 불확실성 측정