배움 기록/Deep Learning

불확실성 (Epistemic, Aleatoric)이란? (feat. 베이지안 뉴럴 네트워크, MC dropout)

Spezi 2023. 9. 1. 06:24
반응형

오늘은 요즘 공부하고 있는 불확실성에 대한 개념에 대해 정리할 겸 글을 써보려고 한다.

 

Uncertainty

모델이 학습한 데이터를 기반으로 새로운 데이터에 대한 예측을 수행할 때, 모델은 종종 다양한 요소에 의해 예측의 불확실성을 갖게 되는데, 이러한 불확실성은 모델이 얼마나 확신할 수 있는지, 어떤 범위 내에서 예측이 정확한지 등을 나타낸다.

 

기계 학습에서 불확실성은 크게 두가지로 나뉜다.  

 

Epistemic Uncertainty

Epistemic Uncertainty , 이는 모델 자체의 불확실성을 나타낸다. 즉, 모델이 데이터에 대해 얼마나 정확하게 학습되었는지에 대한 불확실성이다. 모델이 훈련 데이터에 제한된 양의 정보만을 가지고 있거나 데이터의 다양성을 충분히 포착하지 못한 경우에 발생할 수 있고, 이러한 불확실성은 더 많은 다양한 훈련 데이터를 사용하거나 모델의 구조와 파라미터를 조정하여 감소시킬 수 있다.


Aleatoric Uncertainty

Aleatoric Uncertainty,  이는 데이터 자체의 불확실성을 나타낸다. 데이터에 내재된 노이즈, 측정 오차, 환경적 변동 등으로 인해 발생하는 불확실성이다. 따라서 이러한 불확실성은 모델 자체의 개선으로 해결하기 어렵다.

Epistemic Uncertainty은 데이터가 누락된 영역에서 높게 나타나고, Aleatoric Uncertainty은 훈련 데이터의 내재적 분산으로 인해 높아짐

이미지 출처 https://towardsdatascience.com/my-deep-learning-model-says-sorry-i-dont-know-the-answer-that-s-absolutely-ok-50ffa562cb0b

 

이미지 출처: Kendall, A., & Gal, Y.. (2017). What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision? https://arxiv.org/abs/1703.04977

 

boundary (경계) 근처이거나 카메라로부터 거리가 멀면, aleatoric uncertainty가 증가하는 것을 볼 수 있음.  Epistemic 불확실성은 수집된 데이터를 생성한 모델에 대한 무지함을 나타냄. 세 번째 행은 epistemic 불확실성이 높은 것을 보아, 모델이 보행로를 segment 하지 못하는 것을 볼 수 있음. 하지만 Aleatoric 불확실성을 보고는 모델의 실패를 직접적으로 연관시킬 수 없다. 데이터 자체의 불확실성만 나타내기 때문!


그렇다면 베이지안 뉴럴 네트워크(Bayesian Neural Networks)에 불확실성은 어떻게 사용되는 것일까? 먼저 베이지안 뉴럴 네트워크가 무엇인지 알아보자.

 

Bayesian Neural Networks

: Each parameter is characterized as a distribution. Final predictions have a variance estimation

 

베이지안 뉴럴 네트워크는 뉴럴 네트워크의 확률적인 특성을 활용하여 불확실성을 추정하는 방법 중 하나로, 일반적인 뉴럴 네트워크는 고정된 가중치 값을 가지고 있지만, 베이지안 뉴럴 네트워크는 가중치의 불확실성을 확률적으로 모델링한다. 즉, 베이지안 뉴럴 네트워크에서는 가중치 값 자체를 직접적으로 업데이트하지 않고, 가우시안 분포의 평균과 분산을 업데이트함.

 

베이지안 뉴럴네트워크에서는 각각의 parameter가 하나의 값이 아닌 분포를 나타낸다는 것이 일반적인 뉴럴네트워크와의 차이

 

이미지 출처 https://towardsdatascience.com/why-you-should-use-bayesian-neural-network-aaf76732c150

 

사실 아래에서 내가 예로 가져온 Monte Carlo Dropout은 엄격히 보면 확률 분포를 모델링하는 전통적인 베이지안 뉴럴 네트워크와는 차이가 있지만, 계산상의 간편함과 효과성 때문에 베이지안 뉴럴 네트워크의 대안으로 널리 사용되고 있다. 나도..

 

 

Monte Carlo Dropout

MC dropout은 베이지안 뉴럴 네트워크의 일종으로, 드롭아웃(dropout)을 통해 뉴럴 네트워크의 가중치를 샘플링하는 방식이다. 학습 단계에서는 드롭아웃을 적용하여 가중치를 무작위로 선택하고, 이를 통해 여러 번 예측을 수행한다. 이렇게 생성된 예측 결과들을 평균내면 최종 예측을 얻을 수 있고, 이를 통해 불확실성을 추정할 수 있다.

 

이미지 출처 https://docs.aws.amazon.com/prescriptive-guidance/latest/ml-quantifying-uncertainty/mc-dropout.html

 

 

 

 


배움을 기록하기 위한 공간입니다. 

수정이 필요한 내용이나 공유하고 싶은 것이 있다면 언제든 댓글로 남겨주시면 환영입니다 :D

반응형