AI 모델 개발: 불확실성 추정 – Bayesian Neural Network
ㅁ 불확실성 추정
ㅇ 정의:
모델이 예측한 결과에 대해 신뢰도를 수치로 표현하는 기법으로, 예측값의 분포나 변동성을 통해 불확실성을 정량화함.
ㅇ 특징:
– 단순 확률 출력이 아니라 예측 분포 전체를 모델링함.
– 데이터 부족, 노이즈, 모델 구조 한계 등으로 인한 예측 불확실성을 구분 가능.
– Bayesian 접근법, 앙상블, 드롭아웃 기반 추정 등 다양한 방법 존재.
ㅇ 적합한 경우:
– 의료 진단, 자율주행 등 오판 위험이 큰 분야.
– 데이터가 불완전하거나 범위 밖(out-of-distribution) 데이터가 들어올 가능성이 높은 환경.
ㅇ 시험 함정:
– 확률값이 높다고 해서 반드시 불확실성이 낮은 것은 아님.
– 불확실성 추정은 모델 정확도와 동일 개념이 아님.
– 단일 예측값만 제공하는 모델은 불확실성 추정 불가.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “불확실성 추정은 예측값의 신뢰도를 정량화하는 기법이다.”
X: “불확실성 추정은 항상 모델 정확도를 향상시킨다.”
================================
1. Bayesian Neural Network
ㅇ 정의:
가중치를 고정된 값이 아닌 확률 분포로 모델링하여, 학습과 예측 시 불확실성을 반영하는 신경망.
ㅇ 특징:
– 각 가중치에 사전분포(prior distribution)를 설정하고, 학습을 통해 사후분포(posterior distribution)를 추정.
– 출력값뿐 아니라 예측의 분산을 함께 제공.
– 변분추론(Variational Inference), MCMC 등으로 근사 추정.
ㅇ 적합한 경우:
– 데이터가 적거나 노이즈가 많은 상황에서 신뢰도 있는 예측이 필요한 경우.
– 예측 결과에 대한 불확실성 정보를 의사결정에 활용해야 하는 경우.
ㅇ 시험 함정:
– 단순한 신경망의 가중치 학습과 동일하다고 오해하기 쉬움.
– 확률적 해석 없이 단순 드롭아웃 적용만으로 Bayesian Neural Network라 부르지 않음.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Bayesian Neural Network는 가중치를 확률 분포로 모델링한다.”
X: “Bayesian Neural Network는 항상 정확도가 높다.”
ㅁ 추가 학습 내용
Bayesian Neural Network 학습 시 변분 추론은 사후분포를 근사하기 위해 최적화 기반으로 파라미터를 학습하는 방법이다. Monte Carlo Dropout은 드롭아웃을 확률적 모델링 관점에서 해석하여, 여러 번의 드롭아웃 샘플링을 통해 불확실성을 추정하는 기법이다.
불확실성은 Epistemic(모델 불확실성)과 Aleatoric(데이터 불확실성)으로 구분된다. 센서 노이즈로 인한 오차는 Aleatoric 불확실성, 훈련 데이터 부족으로 인한 오차는 Epistemic 불확실성에 해당한다.
BNN은 특히 Epistemic 불확실성 추정에 강점을 가지며, 예측값과 함께 분산을 제공한다. 또한 사전분포(prior) 선택이 결과에 영향을 미친다는 점을 기억해야 한다.