Uncertainty를 고려하는 Bayesian Neural Network

govlKH·2023년 9월 14일
0

핸즈온 머신러닝

목록 보기
13/15

Uncertainty를 고려하는 Bayesian Neural Network

이번 포스터에서는 베이지안 뉴럴 네트워크에 대해 이야기 해보겠습니다.

베이지안 방법론이 무엇일까요?

우선 저희가 살아가는 대부분 곳에는 불확실성이 다수 존재합니다.
딥러닝에서 알아보면 한 예시로 테슬라의 자율주행에서 트럭의 트레일러를 하늘이라고 판단하여 충돌한 사례가 있습니다. 이와 같이 정확한 예측을 하지 못한다면 큰 인명피해로 이어질 것입니다. 따라서 딥러닝이 잘 모르는 상황을 사전에 알아 방지하는 아이디어라고 생각하면 됩니다.

ex) 자율주행에서 단순히 '하늘'이라고 [0 0 0 1 0]확신하는 것 보다 [0.1 0 0.7 0.2]로 다른 부분도 고려할 수 있게 해주는 것 입니다.
이렇게 함으로써 트레일러일 경우도 0.2정도 존재하니 옆 차선이 비어있다면 더 안전한 노선으로 이동하여 가자!

이를 베이지안 방법으로 많은 불확실성을 고려합니다. 기존의 확률 관점인 빈도주의 관점과는 다르게 모델이나 현상의 불확실성을 주입하는 것 입니다. 머신러닝 딥러닝에 사용되는 확률 모델의 불확실성을 측정하기 위해 베이즈룰을 사용하고 이러한 방법을 통해 모델의 불확실성을 정량화한 것을 베이지안 머신러닝or딥러닝 이라고 합니다!

자세한 내용은 아래와 같습니다.

아래는 Monte Carlo dropout을 통해 반복적으로 돌린 결과입니다.
a는 고정된 dropout하나를 사용한 것이며, c는 여러 개의 dropout을 사용하여 나온 출력을 통해 확률분포를 구하고 불확실성을 보기 위해 학습하지 않은 구간의 출력을 나타낸 것 입니다. 불확실성이 매우 큰 것을 볼 수 있습니다.

이러한 방법은 주로 자율주행에서 사용되며 semantic segmentation에서도 각 경계에 대한 불확실성을 따지는 곳에서도 사용됩니다.


참고 : https://hyeongminlee.github.io/post/bnn003_vi/
https://gaussian37.github.io/dl-concept-bayesian_neural_network/

profile
수학과 대학원생. 한 걸음씩 꾸준히

0개의 댓글