- 2020년 4월 17일 오후 2:52
- 조회수: 9315
REFERENCES
INFORMATION
- 2020년 4월 24일
- 오후 1시 ~
- 화상 프로그램 이용(Zoom)
TOPIC
OVERVIEW
발표자 후기
1년전 민정언니의 연구실 세미나를 통해 uncertainty에 대해 처음 접하게 되었고 이후에uncertainty개념이 흥미로워 공부해보고 싶다고 생각하고 있었지만, 논문들을 읽어보면 수식적인 설명이 대다수였기 때문에 마음처럼 쉽게 이해하기가 어려웠다. 필요로하는 배경 통계지식이 많았기 공부하는 진입장벽이 높았고, 여러이유에서 공부를 미뤄오고 있었던 것 같다. 최근, 해당 내용들을 개인연구로 발전시키고 싶은 생각이 들며 공부의 필요성을 다시 한번 갖게되었고, 세미나 주제로 선정하면 한번 더 개념을 깔끔하게 정리할 수 있는 기회라고 생각했기 때문에 Baysesian deep learning이라는 주제를 선정하게 되었다. 본격적으로 해당 문헌들을 살펴보며, 수식적인 전개와 통계적인 이론에 대해 이해해볼 수 있었고 하나의 개념을 이해하기 위해서는 훨씬 더 많은 양의 문헌들을 찾아봐야하는 어려움도 있었다. 하지만, 평소에 수학에 자신감이 없었기 때문에 공부하는 과정에서 사소한 수식전개를 풀이해보고, 공부를 시도했다라는 것 자체에 개인적으로 성취감이 남는다. 물론, 막상 세미나 장표를 구성해보니 수식적인 부분에 대한 설명을 하는데에는 갈일이 멀구나 라는 생각을 했다. 개인 연구에 해당 연구들을 적용시키고 싶은 만큼 앞으로 더 많은 공부가 필요할 것 같다는 생각을 다시금 할 수 있었고, 여지껏 초기에 제안된 내용만 이해하는 내용에 주력해왔기 때문에 앞으로는 틈틈히 최근 연구 동향에 대해서도 살펴봐야겠다는 생각이 들었다.
오늘 내 목표는 세미나를 들은 사람들이 uncertainty라는 것의 존재가 있고, 이것이 예측확률과는 다르며 여러문제상황에 적용가능하다는 정도만 확실히 이해시키고 싶었는데 잘 전달이 된 것 같아 다행이다. 반면, 세미나의 전반적인 흐름이나 시간을 고려하여 세미나 자료 준비 초기에 가장 준비를 많이했던 수식적인 전개 부분을 다루지 못한 것은 개인적인 아쉬움이 남는다.
처음으로 화상 발표를 진행하면서 화면에 대고 혼자 말을 하다보니 오히려 사람들이 잘 이해하고 있는지, 내 목소리나 속도가 적당한지 가늠이 안가서 더 긴장되었던 것 같다. 또한, 초반에 인터넷 연결 문제로 잠시 세미나 진행이 원활하지 못했던 것 같아 아쉬움이 있지만, 다들 잘 이해해주고 도움을 주어 다시 진행할 수 있었다. 끝까지 금일 세미나를 경청해준 연구실 모든 구성원에게 감사하다는 마음을 전한다.
청취자 후기
오늘 세미나는 Uncertainty를 주제로 지윤이가 진행했다. Uncertainty(불확실성)이란 모델이 예측결과를 얼마나 확신하는지 나타내는 지표를 말한다. 여러 예측확률을 도출하여 분포를 추정할 수 있는데 확신이 없으면 분포의 분산이 넓고, 확신이 있으면 분산이 작다. Uncertainty를 고려해 예측성능을 높이고자 접근한 대표적인 방법으로 Bayesian neural network가 있다. 예측할 때 Data와 Model이 주어지는 것처럼, Data에 대한 Uncertainty (aleatoric uncertainty)가 있고, Model에 대한 Uncertainty(epistemic uncertainty)가 있다. aleatoric uncertainty에서도 Input에 따라 같은 값을 지니는 homoscedastic, 다른 값을 진니는 heteroscedastic uncertainty로 구분지을 수 있으며 많은 응용분야에서 그 활약을 살펴볼 수 있었다. 특히, Explainable AI 분야에 적용한 면이 인상적이었다. 최근 Explainable AI 를 활용하여 모델이 어떻게 "잘" 예측했는지 설명할 수 있는 접근이 주를 이루는데, 모델이 왜 "잘 못"예측했는지 설명해주는 부분이 많은 활용가치가 있다고 생각한다. 또한, 성능을 높이는 목적도 가지고 있는 Uncertainty 를 고려함에 있어, 지난 ICCV 학회에서 인상깊게 본 Uncertainty CAM 논문이 오랜만에 생각났다. 이차원 이상 Input 데이터에 적용하는Convolutional 연산과 Uncertatinty를 고려한 Attention mechanism을 제안한 연구였는데 다시 한번 살펴보고 현재 진행하고 있는 연구를 발전시킬 수 있는지 살펴보고 싶다. 오늘 전반적인 Uncertainty 개념과 응용연구, 또 개인연구로 어떻게 발전시켰는지 소개해주는 "강의"였다. 그리고 스터디가 더 필요한 부분을 면밀히 살펴볼 수 있는 강의자료를 공유해주었다. 지난 지윤이 세미나는 PeiPei를 보는 듯 했는데 오늘 세미나는 지윤이만의 짜임새있는 강의력에 놀랐다.
금일 세미나는 Bayesian Deep Learning for Safe AI라는 주제로 지윤이가 발표했다. Bayesian Neural Network는 예측에 대한 uncertainty를 추정하는 것을 목표로 하며 크게 Epistemic uncertainty (model uncertainty), Aleatoric uncertainty (data uncertainty)의 두 타입이 있다. BNN에서는 이 두 타입에 대해 추정하는 연구가 진행되고 있다. Dropout은 모델 학습 시 과적합을 방지하기 위한 기법으로 BNN에서는 MC dropout을 제안하여 실제 test를 진행할 때에도 dropout이 적용되고 여러 입력 데이터에 대한 다른 예측값을 도출한다. 뿐만 아니라 data uncertainty 추정을 하기 위해서 모델의 출력 노드에 데이터의 분산을 예측하는 연구도 소개해주었다. 하지만 BNN의 경우에는 모델 구조가 한정적이고 많은 계산량의 단점이 있어 이를 해결하고자 하는 연구 또한 진행되고 있다. 해결 방안은 ensemble을 이용해 uncertainty를 추정함으로써 구조의 간단함과 계산 효율성을 높였다. 금일 세미나는 Bayesian neural network에 전반적인 연구 동향을 살펴볼 수 있었고 uncertainty의 정의를 다시 한 번 되새길 수 있었다. 매번 어려워하던 분야였지만 돋보이는 세미나 장표와 발표 덕분에 점심 식사가 소화된 기분이었다. “기회가 되면 BNN 분야에 발 한 번 담그어 봐야지”하는 생각이 들었던 세미나였다.
금일 세미나는 지윤이가 "Bayesian Deep Learning for Safe AI"라는 주제로 세미나를 진행해주었다. Uncertainty를 모델을 통해 도출된 예측 결과에 대해 얼마나 확신할 수 있는지 지표로 두고 Bayesian 접근 방식과 Non-Bayesian 접근 방식으로 구분지어 설명해주었다. Bayesian Neural Networks 에서 학습 단계와 추론 단계에서 모두 dropout 기법을 사용하는 MC Dropout이라는 새로운 기법에 대해 알게 되었다. 이러한 Bayesian Neural Networks를 통한 Uncertainty 추정을 컴퓨터 비전에 적용한 논문도 살펴보았고 세미나에서 지윤이가 강조해주었던 모델의 불확실성 추정의 개념인 Epistemic uncertainty, 데이터의 불확실성 추정의 개념인 Aleatoric uncertainty에 대해서도 쉽게 설명해주어 처음 접하는데도 불구하고 확실하게 이해를 할 수 있었다. 비교적 간단한 network architecture에서 loss function에 Residual's weigh 부분을 노이즈가 클수록 예측한 결과 값의 정보를 덜 반영하고 노이즈가 작을수록 예측한 결과 값의 정보를 많이 반영한다고 이해했는데 이후 더 추후적으로 공부하면서 더 확실하게 이해를 해야할 필요성도 느꼇다. 개인적으로 논문 실험 결과들 중 인상 깊었던 부분은 Depth regression 문제에서 이미지를 입력했을 때 테두리에 대한 예측 부분에서 aleatoric uncertainty가 높은 값을 보인다는게 인상깊었다. Depth를 추정하는데 있어 이미지 내 사물의 테두리에 초점을 두어 데이터의 노이즈 질을 파악하는 것인가라는 의문이 들었고 만약 이러한 가정이 맞다면 이미지 내 테두리가 잘 나타나는 질이 좋은 이미지를 추가적으로 학습시키는 방법도 좋겠지만, 이미지의 명도나 채도를 수정하여 테두리를 더 뚜렷하게 만들어서 이미지를 변형시켜 학습시킬 수도 있지 않을까 생각이 들었다. 이후에 이미지의 데이터를 RGB 값에서 명도 채도를 수정할 수 있을지 찾아봐야 겠다는 생각이 들었다. 마지막으로 지윤이가 진행 중인 연구의 실험결과도 상당히 인상 깊었고 좋은 결과가 있을 것이라 기대되었다. 금일 세미나 덕분에 Uncertainty에 대해 조금 더 생각하게 되고 꼭 한번 다시 공부해서 구현도 해봐야겠다는 필요성을 느꼇다. 그리고 발표 내용을 떠나서 전반적인 세미나의 흐름이나 발표 자료, 발표를 듣는 사람에 대한 배려같은 부분들이 개인적으로 너무 좋았던 세미나여서 이후에 내가 발표를 할 때도 지윤이 발표를 준비해야 겠다는 생각이 들었다. 모든 면에서 완벽했던 세미나 였다고 생각 들고 이러한 세미나를 준비해준 지윤이에게 고맙고 많은 것을 배울 수 있었다.
Bayesian Deep Learning for Safe AI 를 주제로 금일 이지윤 연구원이 세미나를 진행했다.
최근에 AI를 현업에 적용하는 과정에서 발생하는 모델 한계점을 해소하고자하는 연구들이 주목을 받고있는 것으로 알고 있고,
최근에 개인적인 연구과제로 진행하는 감성 분석 시에도 오버피팅으로 인한 문제를 해결하기 위해 고민이 많던차라 강의 주제에 대해서 관심이 많았다.
세미나는 Baysian Deep Learning에 대한 전반적인 설명 및 신뢰도 정보인 'uncertainty'에 대한 안내였다.
Bayesian에 대한 지식이 충분하지 않은 사람도 쉽게 이해할 수 있도록 설명을 잘 해주어서 낯선 용어들이 많이 등장했지만 어렵지 않았다.
그리고 'uncertainty'라는 부분을 어떻게 모델로 찾아 낼 수 있을까를 시각적으로 잘 보여주어 향후에 활용할 곳이 많겠다는 생각이 들었다.
아직 연구 중인 분야라 추가적인 연구들이 더 진행되어 해당 모델을 현업에 적용할 수 있도록 지속적인 관심을 가지고 F/W 해주기를 바라며, 낯선 온라인 세미나 환경에서도 훌륭하게 끝마친 이지윤 연구원에게 감사의 말을 전한다.
오늘은 "Uncertainty"를 주제로 세미나가 진행되었습니다. Uncertainty는 모델의 불확실성에 의해 생기는 "Epistemic uncertainty"와 데이터의 노이즈에 의해 생기는 "Aleatoric uncertainty"로 구분됩니다. Aleatoric uncertainty는 다시 서로 다른 입력값에 대해 서로 같은 값을 내는 "Homoscedastic uncertainty"와 서로 다른 입력값에 대해 서로 다른 출력값을 내는 "Heteroscedastic uncertainty"로 구분됩니다. Epistemic uncertainty는 추가적인 데이터를 통해 모델을 계속 학습해 나가면 줄일 수 있는 불확실성이고 aleatoric uncertainty는 데이터 자체의 노이즈 때문에 발생하기 때문에 줄일 수 없는 불확실성 입니다. 일반적으로 사용되는 Neural Network 모델들은 이러한 불확실성에 대해 측정할 수 없기 때문에 예측 결과에 대한 신뢰성의 문제가 발생할 수 있습니다. 따라서 기존 모델들과 달리 예측에 대한 불확실성을 추정하는 것이 목표인 Bayesian Neural Network가 등장하게 됩니다. 이번 세미나에서 소개된 논문인 "Dropout as a Bayesian Approximation"은 Bayesian Neural Network가 MC Dropout과 L2 regularization을 사용해서 구현될 수 있다는 것을 증명하면서 Bayesian Neural Network와 관련된 연구가 활발해지는 데 기여합니다. 두 번째 소개된 논문은 "What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?"이라는 논문으로 앞서 소개된 모델은 epistemic uncertainty에 대해서만 모델에 반영한 것에 반해 output node를 2개로 늘려 aleatoric uncertainty까지 모델에 반영할 수 있도록 합니다. 또한 이를 Computer Vision의 depth regression에 적용해 모델의 불확실성과 데이터의 불확실성에 대해 시각화하여 모델을 해석하는 것을 가능하게 합니다. 앞서 소개된 두 개의 논문들은 Bayesian 방법론을 기반으로 진행이 되었지만 세 번째 소개된 논문은 non-Bayesian 방법론을 기반으로 Bayesian Neural Network를 구현합니다. 기존의 방법론이 계산량이 많고 모델 구조가 한정적이라는 것을 지적하며 MC Dropout 대신 앙상블 모델을 통해서 모델을 만들게 됩니다. 논문에서는 앙상블 모델은 병렬 연산이 가능하기 때문에 계산 효율이 향상한다고 주장하고 있지만, 세미나에서도 언급되었듯이 앙상블 모델을 학습하기 위해서는 실제로는 dropout보다 더 많은 시간이 필요하다는 단점이 있습니다. 오늘 세미나를 통해 Bayesian Neural Network에 대해 처음 접하게 되었고 앞으로 관련된 연구 분야에 대해 더 공부해보고 싶은 생각이 들었습니다. 해당 주제를 소개하기 위해 세미나를 열심히 준비해준 지윤 누나에게 감사의 뜻을 표합니다.
딥러닝 모델을 사용해서 Uncertainty (불확실성)을 추정하는 방법론과 배경 지식에 대한 세미나를 청취했다. 기본적으로 우리가 평소에 사용하는 딥러닝 모델은 각 입력값에 대해 하나의 정답을 반환한다. 물론 성능이 좋은 경우가 많지만 아쉽게도 모델을 실제로 사용했을 때는 약간의 잘못된 정보가 큰 사태를 불러올 수 있기 때문에, 예측 결과에 대해 얼마나 모델이 확신을 하는가에 대한 정보를 주는 것이 중요하다고 할 수 있다. '찍어서 맞춘 정답'에 대해서는 모델이 확신하지 못하다는 정보를 주는 것이다. 이전에 가장 활발히 연구가 되었던 알고리즘은 Bayesian Neural Networks이며 MC Dropout과 L2 정규화를 사용해 'epistemic uncertainty: 모델의 불확실성'을 추정하는 방법론이다. Testing 단계에서도 dropout을 적용함으로써 여러 개의 정답을 얻고, 이에 대한 분포를 반환하는 방식이다. 그 다음에 소개된 논문인 'What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?'이라는 논문에서는 'aleatoric uncertainty: 데이터의 불확실성'을 더 세분화하여 노이즈가 큰 데이터 (불확실한)에 대해서는 loss를 적게 반영하는 목적식을 제안하였다. 즉, '찍은 예측값'에 대해서는 학습을 덜 하도록 모델을 디자인 한 것이다. 마지막으로 소개된 논문에서는
분포를 가정하지 않고 여러 딥러닝 모델의 앙상블을 사용해 불확실성을 측정하는 방법론을 제안했다. Bayesian을 사용하지 않음으로써 모델의 구조에 제한이 적고 병렬 연산을 통해 연산 효율성을 증가시켰다. 하지만 이전 논문들에서는 불확실성의 종류와 속성에 대해서 차례차례 분해하고 이를 결과로써 보여주었다면, 이 논문에서는 단순히 하나의 불확실성으로 사용한 것이 약간 아쉬웠다. 마지막에는 발표자 본인이 수행하고 있는 Hierarchical Attention과 Bayesian Net을 결합한 연구주제까지 소개했다. 각 논문들이 포함하고 있는 내용이 매우 난이도가 어렵고 많은 지식이 필요한 분야인데 열심히 정리해서 세미나를 진행해 준 발표자에게 감사하다.
금일 세미나는 지윤이가 Bayesian Deep Learning을 주제로 진행하였다. 회귀 또는 분류 모델의 예측 결과에 대한 신뢰도를 의미하는 uncertainty는 모델의 예측 불확실성을 의미하는 epistemic과 데이터 자체의 노이즈를 의미하는 aleatoric uncertainty의 2가지로 나눠볼 수 있다. MC dropout과 L2 regularization을 사용하여 epistemic uncertainty를 추정하는 논문, 타겟 뿐만 아니라 aleatoric uncertainty를 예측하는 네트워크를 구축하여 예측된 uncertainty를 loss에 반영하여 heteroscedastic uncertainty를 반영한 논문, Bayesian approach 대신 ensemble을 사용하여 유사한 방식으로 uncertainty를 추정하는 non-bayesian approch 논문까지 총 3가지에 대한 설명이 핵심 내용이였다. BNN를 처음 접해본 나도 쉽게 이해할 수 있을 정도로 각 논문의 핵심을 잘 정리한 좋은 세미나였다. 세미나를 들으면서 해석력, 모델 성능 향상, 예측 신뢰도 평가 등 다양한 이점이 있는 BNN에 대하여 관심을 갖고 공부를 해야겠다는 필요성을 느꼈고 오늘 지윤이가 소개해준 논문 말고도 다른 논문들을 살펴봐야겠다는 생각을 했다. 항상 믿고 듣는 퀄리티의 세미나를 진행해주는 지윤이에게 감사하다는 말을 전하며 후기를 마친다.
이번 주 세미나는 지윤이가 ’Bayesian Deep Learning for Safe AI’라는 주제를 가지고 진행하였다. 먼저 Uncertainty란 예측 결과에 대해 얼마나 확신하는가에 대한 정보이다. Bayesian Neural Networks의 목표는 예측에 대한 uncertainty를 추정하는 것이 목표이고 이러한 uncertainty는 모델이 불확실한 경우의 Epistemic과 데이터가 불확실한 경우의 Aleatoric 두가지로 나뉘어 진다. Epistemic의 경우 학습데이터의 부족으로 인한 학습 상태를 알 수 있으며 Aleatoric의 경우 실제 상황에서 일부 데이터에 노이즈가 높게 존재하는 경우에 중요하게 사용된다. 그 중에서도 지윤이가 Bayesian방식과 Non-Bayesian방식 두가지에 대해 자세히 설명해 주었다. BNN에서 MC Dropout방식을 적용한 기법에 대해 새롭게 알게 되었는데 Dropout기법을 모델의 학습 과정이 아닌 추론 단계에서도 적용을 하게 되어 결과가 여러 개 도출 되고 이러한 결과의 평균을 사용하는 것이 핵심이다. 여기서 uncertainty를 세분화 하여 data uncertainty에 해당하는 Aleatoric uncertainty는 Loss function에 heteroscedastic uncertainty를 반영하여 노이즈에 따라 loss에 어떻게 반영되는지에 대해 설명해 주었다. 예를 들면 노이즈가 큰 경우는 분모가 커지게 되어 전체적인 분수의 값은 작아지게 되는 원리이다. 마지막으로 Non-Bayesian방식은 Loss function에서 scoring rule을 제안한 방식으로 예측 분산이 클 때, loss에 반영할 수 있는 방법이다. Uncertainty에 대해 자세히 정리해주고 모든 발표자를 배려해서 세미나를 진행해준 지윤이에게 감사한 마음을 전하고 싶다.
오늘 지윤이가 Bayesian Deep Learning에 대한 주제로 세미나를 진행해주었다. 관심분야이기 때문에 리마인드하며 내가 놓쳤던 부분을 다시 확인하며 공부할 수 있는 기회여서 좋았다. 일단 PPT하면 지윤이기 때문에 세미나 ppt를 기대했는대 역시나 깔끔하고 꼼꼼하게 만들어져 있어서 감탄했다. 색을 정말 잘 쓴다는 느낌을 항상 받는대 이런 부분은 잘 보고 배워야겠다고 생각했다. 이번 세미나로 연구원들 모두가 Aleatoric, Epistemic uncertainty에 대해서는 확실히 알고 이를 어떻게 NN에 구현할 수 있는지 알 수 있게 되었을 것 같다. Aleatoric uncertainty가 residual's weight 역할을 하는 부분을 강조하여 설명하였는대 이 부분이 heteroscedastic gaussian noise를 가정하여 likelihood가 어떻게 되면 따라서 Negative Log Likelihood를 loss로 사용하면 자연스럽게 반영될 수 있다는 방향으로 설명되었더라면 사람들로 하여금 더 이해를 도울 수 있었을 것이라는 아쉬움은 있다. 중간중간 재미를 충족시키기 위한 장표를 보면서 같이 수업 팀프로젝트 발표할 때 발표장표를 만들면서 같이 재밌었던 추억이 생각났다. 세미나 준비뿐만 아니라 연구도 이쪽으로 진행하는 것으로 알고 있는대 같이 연구를 공유하고 토론할 수 있는 동료가 생긴 것 같아 매우 기분이 좋다. 같이 연구 파이팅하자 지윤아~
오늘 세미나는 Bayesian Deep Learning for Safe AI 라는 주제로 이지윤 연구원이 설명해 주었다.
처음에 세미나 제목만 봤을때는 안전한 AI 가 뭘까, 위험한 AI도 있나 싶어 호기심이 들었다. 시작점에 이야기해준 인종차별로 보일 수 있는 구글포토의 오분류나 테슬라의 자율주행 사고 사례를 들으니 바로 safe AI 가 이해가 되면서 과거 경험이 생각났다. 과거에 진행했던 프로젝트 중에 실험적으로는 꽤 의미있는 결과를 내었다고 생각했지만 고객측에서는 100% 정답을 맞추는 것이 아니면 의미가 없다고 하여 애먹었던 적이 있었다. 시장에서는 100% 정확한 것이 아니면 아에 의미가 없는 경우가 많이 있다. 이런 점이 선뜻 AI 가 확산해 나가지 못하는 한계점이라 생각했는데 이번 세미나를 통해 그 한계점을 해소하고자 하는 많은 연구가 있다는 것을 알았다.
세미나의 중요 키워드로 나왔던 ‘Uncertainty’ - 예측결과가 얼마나 확실한가에 대한 정보가 정말 중요함을 느꼈다. Epistemic uncertainty, Aleatoric uncertainty 의 개념이 햇갈렸는데 자세히 알려주고 계속 강조해주어서 끝까지 집중하며 들을 수 있었다.
네트워크 상태가 좋지 않아 강의 중간중간 어려움이 있었지만 끝까지 상세하고 (초보자에게도) 친절하게 강의해준 이지윤 연구원에게 매우 감사하다.
오늘 세미나는 ‘Bayesian Deep Learning for Safe AI’로 진행되었다. 오늘의 핵심 키워드인 uncertainty은 예측 결과에 대해 얼마나 확신하는가에 대한 정보를 의미한다. Epistemic uncertainty는 모델에 대한 uncertainty이고 Aleatoric uncertainty는 데이터의 uncertainty이다. Uncertainty를 예측 확률에 적용해볼 수 있으며, 방법은 Bayesian 방식과 Non-Bayesian 방식이 있다. 우선 Bayesian Neural Networks는 파라미터들의 분포를 각각 가정하여 동일한 입력 값에 대해서도 다른 예측 값이 도출된다. 첫번째 논문에서, Epistemic uncertainty을 모델링하기 위해 파라미터의 분포를 가정하는 방법으로는 L2정규화와 함께 MC Dropout를 사용하여 모델의 추론 단계에서도 dropout을 적용한다. 두번째 논문에서는 Aleatoric uncertainty를 입력값에 상관없이 같은 값을 지닌 Homoscedastic과 입력값에 따라 다른 값을 지닌 Heteroscedastic으로 세분화했다. 최종 uncertainty는 Epistemic uncertainty와 Aleatoric uncertainty가 모두 사용되어 계산된다. 다음으로 세번째 논문에서 소개된 방식은 Non-Bayesian Neural Networks으로 다양한 모델의 앙상블을 통해 간단하게 uncertainty를 모델링할 수 있다고 소개했다. 최근 예측값이 구간을 가지고 나오는 모델을 연구에 적용해보고자 하는 생각이 있었는데 언니가 유머러스하게 만들어주신 ‘야 너두 할수있어!’ 장표를 보고 용기 내어 배운 방법론을 향후에 적용해보고자 한다. Uncertainty의 개념과 어렵게만 생각했던 베이지안 관련 내용을 쉽게 설명해주신 지윤언니께 감사함을 표하고 싶다.
금일은 Bayesian Deep Learning for Safe AI를 주제로 세미나가 진행되었다. 오늘 세미나에서 가장 중요한 키워드는 Uncertainty였는데 개인적으로 항상 알고 싶었지만 시간내서 접근하지 못했던 분야 중 하나였다. 평소에 궁금했던 분야에 대해 지윤이가 잘 소개해주어 많은 공부가 될 수 있었다. Uncertainty는 예측 결과에 대해 얼마나 확신할 수 있는가에 대한 정보이다. 세미나에서는 Uncertainty를 크게 Epistemic uncertainty와 Aleatoric uncertainty 2가지로 나누어 설명이 진행되었다. Epistemic uncertainty는 모델에서 발생하는 Uncertainty로 모델이 예측 결과를 도출할 때, 어떤 특징을 학습했는지 정확히 알기 어려운 경우 그 값이 커진다. 이 경우 모델이 아직 학습이 덜 된 것으로 판단할 수 있고 더 많은 데이터로 모델을 학습해 해결할 가능성이 높다. Aleatoric uncertainty는 데이터 자체에서 발생하는 uncertainty로 실제 데이터 분석시 자주 발생하는 상황이다. 이러한 불확실성에 대해서는 모델 학습 과정에서 제약 조건을 부여해 학습을 안정적으로 진행할 수 있다. 본 세미나에서는 Uncertainty를 고려하며 모델링 하는 방식은 Bayesian 접근 방식과 Non-bayesian 접근 방식이 소개되었다. Bayesian 접근 방식으로는 Testing 단계에서 MC Dropout을 사용하여 모델의 불확실성까지 모델링하는 방식이 있다. 그리고 Computer vision task에서 Uncertainty를 Loss Function에 반영하여 학습하는 방법도 소개되었다. 개인적으로는 Loss Function 관련한 수식적인 설명을 잘 해줘서 이해하기 좋았다. 마지막으로 Non-bayesian 접근 방식으로 앙상블을 활용해 Uncertainty를 고려하는 방안도 소개되었다. 오늘은 평소에 여기저기서 듣던 Uncertainty와 관련된 내용에 대한 설명을 자세하면서도 쉽게 들을 수 있어서 좋았다. 멀게만 느껴졌던 Uncertainty에 대해서 조금 가까워진 느낌이다. 앞으로 모델을 디자인할 때, 이런 부분도 고려해서 한다면 더 좋은 모델을 구축할 수 있을 것으로 기대된다. 좋은 세미나를 준비해준 지윤이에게 감사함을 표한다.
금일 세미나는 Bayesian Deep Learning for Safe AI라는 주제로 이지윤 연구원님께서 발표해주셨다. Uncertainty에 대한 접근방식을 Bayesian approach와 Non-Bayesian approach로 나누어 설명해주셨다. 이번 주제에 대한 배경지식을 설명하기위해 도입부에 여러 예시를 들어주셨는데, Google photo 오분류, Tesla 자율주행 사고, SNS 핫도그 사진이 아직도 생생하게 생각날 정도로 유쾌하게 잘 설명해주신 것 같다. 그리고 Uncertainty의 case를 2가지로 구분지어 설명해주셨는데 Model이 uncertainty인 경우가 Episteminc uncertainty 이며 학습데이터가 학습되지않은 상태를 식별할 수 있기 때문에 중요하고, Data가 uncertainty인 경우 Aleatoric uncertainty이며 실제 상황에서 일부 데이터의 노이즈가 높게 존재하는 경우 중요하다는 것을 이해하기 쉽게 강의해주셨다. 이번 강의는 처음 들어보는 단어가 많았음에도 불구하고 이지윤 연구원님의 똑부러지는 강의력덕분에 유익하게 잘 들을 수 있어서 감사했다. 매력만점 이지윤 연구원님에게 더 빠져버린 강의였다.
금일 세미나는 "Bayesian Deep Learning for Safe AI" 라는 주제로 지윤이가 진행을 했다. 빈도주의자와 베이지안의 비교는 전통적인 통계학에서 시작하여 인공지능의 영역에서까지 비교되고 있다. 많은 연구들이 빈도주의자의 관점에서 진행되고 있지만, 해당 연구의 결과물에 대한 신뢰 정도를 증명하는 것에 대한 문제는 존재한다. 하지만 베이지안들은 확률을 이용해 신뢰 정도를 나타냄으로써, 연구 결과에 대한 신뢰도를 증명한다. 해당 연구들에서 산출되는 확률을 인공지능 분야에서는 Uncertainty로 정의하고, 계속해서 연구되고 있다. 베이지안 기반 인공지능 연구의 특징은 모집단에서 추출한 여러 샘플들에 대한 예측값들을 평균이나 majority voting과 같은 방법으로 하나의 값으로 요악하고 이를 최종 예측 값으로 선정한다. 본 세미나에서 소개한 논문들도 회귀 문제와 이미지 분할, 깊이 예측(Depth Regression) 문제들에 대해 베이지안 기반 예측 값 선정을 적용했고 성능의 뛰어남을 증명했다.
본인은 세미나를 들으면서 다음의 생각을 했다. '여러 예측 값들을 하나의 값으로 요약하는데 많은 시간이 걸리지 않을까?'. 세미나에서 소개한 두번째 논문에서 SegNet과 베이지안 기반 인공 신경망을 결합하여 이미지 분할 문제를 풀었는데 연구에서 개발한 모형의 성능이 기존 SegNet보다 뛰어났다는 실험 결과가 있었다. 하지만 이를 실제 자율주행 자동차의 눈을 담당하는 영역에 적용해야 하는 상황에서 여러 예측값들을 산출하는 시간이 판단에 소요되는 시간보다 길다면 해당 연구 방법이 상용화가 가능할 것인가에 대한 의문이 들었다. 따라서 베이지안 기반 이미지 분할 모형들이 실제로 어떻게 사용되고 있는지에 대한 응용 논문을 찾아보아야 겠다는 생각을 하였다. Uncertainty를 주제로 논문을 작성 중인 지윤이가 연구를 진행하면소 많은 참고 문헌을 탐색하였고, 이를 잘 요약하여 청중들이 이해하기 쉽게 예시와 함께 설명해주었다. Uncertainty에 관한 전문가로 거듭나길 응원합니다 지윤!
기존 Neural net의 결과를 우리가 완전히 믿어도 될까에 대한 의문으로부터 Bayesian Neural Net과 Non-Bayesian Neural net을 소개한 세미나였다. Uncertainty라는 키워드에 공감하기 위해 Introduction 에 있었던 사례는 매우 적절하였다.
우리가 흔히 알고 있는 Neural Net은 deterministic한 output 만 도출하되 이에 대한 신뢰구간 혹은 신뢰성은 어느 정도인가는 나타내주지 않는다. 얼마나 신뢰할 수 있는가를 output의 variance로 나타내어, 일관성을 보여주는 것이 상당한 이점인 것 같다.
지윤 누나가 소개 해준 논문은 총 3개로, 간단하게 Epistemic uncertainty(Model Uncertainty)와 Aleatoric Uncertainty(Data Uncertainty)의 고려유무에 따라 나뉜다. 첫번째 논문은 MC Dropout과 L2 Regularization을 활용한 BNN 초기 모델인데, 가장 직관적으로 이해하기 쉬웠다. 차후 모델들은 어떠한 점에서 이전 모델들의 개선했는가를 일부는 이해하였으나, loss function이나 기타 수식이 이해하기 어려웠다. 하지만 이번 세미나를 계기로 충분히 흥미있는 주제였다고 생각하여 다음에 심도있게 읽어볼 것이다.
화상 세미나를 진행함에 있어 인터넷 불안정 문제로 고생하였으나 끝까지 열심히 발표해준 지윤누나께 감사의 말씀을 드린다. 논문의 내용이 쉽지않은 내용이었는데, 재미있는 이미지와 비유 등으로 쉽게 녹아내신 것 같다.
오늘 세미나는 'Bayesian Deep Learning for Safe AI'라는 주제로 진행되었다. 예측 결과에 대해서 얼마나 확신하는지의 값을 나타내는 "Uncertainty"의 정보를 포함한 모델의 설명을 들을 수 있었다. Uncertainty에는 모델에 대한 불확실성인 Epistemic Uncertainty와 데이터에 대한 불확실성인 Aleatoric Uncertainty가 존재한다. 첫 번째로 설명해주신 Bayesian Neural Network의 경우 MC Dropout을 적용시켜 Epistemic Uncertainty 값을 추정하고, 이를 모델에 적용시키게 된다. 이는 Aleatoric Uncertainty값 역시 함께 추정하여 모델에 대한 불확실성과 데이터에 대한 불확실성을 모두 적용시키는 모델로 발전하게 된다. 마지막으로 소개시켜주신 논문은 Bayesian Neural Network이 아닌 다른 방식으로도 uncertainty를 모델링할 수 있다는 Non-Bayesian Approach에 대한 내용으로, M개의 네트워크를 병렬처리하여 앙상블 기법을 활용한 방식이다. 처음 들어보는 흥미로운 주제에 대해서도 자세하게 차근차근 설명해주시고, 더 나아가 직접 연구에 적용시킨 결과도 보여주셔서 더욱 관심이 가게 되었다. 향후 연구를 진행할 때에 이번 세미나 내용을 적용시켜 더욱 예측력이 높은 모델을 만들어보고싶다. 발표자료부터 발표 내용까지 완벽하게 준비해주신 지윤언니께 감사의 말을 전하고 싶다.
금일 세미나 주제는 'Bayesian Deep learning for Safe AI'로 기계학습 예측 신뢰도에 관한 유익한 설명을 들을 수 있었다. 선형회귀 모형의 오차항 가정 진단처럼 딥러닝, 머신러닝도 모형에 대한 진단을 할 수 있으면 좋지 않을까 생각하였는데, 베이지안 관점으로 가능하게끔 만든 것이 인상적이였다. 세미나의 시작은 Uncertainty의 개념을 소개하면서 시작하였다. 비모수 기반의 딥러닝을 베이지안 관점으로 바라보려면 가중치에 대한 분포를 가정하고 시작해야 하는데, 논문 두 편을 세미나에서 살펴봄으로써 그 과정을 이해할 수 있었다. 첫 번째 논문은 드랍 아웃 구현 과정에서 모수적 접근을 진행하였고(베르누이 분포를 따르는 확률로 드랍 아웃 노드 결정에 관여함), 두 번째 논문은 손실 함수에 Uncertainty를 반영함으로써 모수적 접근을 진행하였다. 그리고 베이지안 관점에서 벗어나 Uncertainty를 구현하는 논문 한 편을 더 들을 수 있었는데, 핵심은 앙상블 기법을 활용한 방식이였다. 마지막으로 지윤 누나가 진행 중인 연구 현황을 듣고 실험 결과가 상당히 인상적이였다. 그리고 발표 자료 구성부터 발표 내용까지 꼼꼼히 신경 쓴 지윤 누나의 자세에 대해 꼭 본받아야 하겠다고 생각하였고, 감사의 말을 전하고 싶다. 신입생 입장에서 세미나는 항상 다양한 주제를 접할 수 있기에, 늘 즐거운 시간인 것 같다.
오늘 세미나는 “Bayesian Deep Learning for Safe AI” 라는 제목으로 이지윤 연구원님이 발표해 주셨다. 박사 과정의 연구원 답게 능숙하고 이해하기 쉽게 이야기를 풀어나갔다. 주제는 믿을 수 있는 AI를 위해 불확실성(Uncertainty)를 어떻게 예측할 수 있고 개선할 수 있는지에 대한 내용이었다. 먼저 Uncertainty에는 모델에 대한 이해도 부족에 의해 발생하는 Epistemic uncertainty와 데이터에 내재된 노이즈로 인해 발생하는 Aleatoric uncertainty 두가지가 있다. Epistemic uncertainty는 데이터의 추가학습으로 불확실성을 줄일 수 있는 불확실성으로 인공신경망에 Drop-out 기법을 통해 측정할 수 있음을 보였다. Drop-out은 학습되는 매 Batch 마다 무작위로 신경망을 끊고 학습하여 모델을 강건하게 하는 역할을 하는데, 이를 Test에 이용하여 Drop-out의 적용여부에 따른 모델의 불확실성을 측정하는 원리였다. 또한 동일한 방법을 활용하여 Aleatoric uncertainty 역시 예측할 수 있음을 보였는데, 이는 인공신경망의 Y값과 함께 Aleatoric uncertainty parameter를 반영하여 학습하는 방법으로 해결하는 모습이 참신했다. 이번 세미나를 통해 딥러닝의 또 다른 연구분야를 봄과 동시에 어떻게 보면 어렵지 않지만 창의적인 아이디어로 강력하게 불확실성을 측정하고 모델을 강건하게 만드는 방법을 배운 것 같아서 기분이 좋은 세미나였다. 100 Page 가량의 정성스런 PPT와 함께 완벽한 발표를 해준 발표자의 정성이 돋보이는 세미나였다. 훌륭한 세미나를 해준 이지윤 연구원님께 감사하다는 말을 전한다.
이번주 세미나는 "Bayesian Deep Learning for Safe AI"을 주제로 세미나가 진행되었다. 기계학습의 예측 정확도에 대한 신뢰를 얼마나 할 수 있을지에 대한 설명이었다. Uncertainty 를 신뢰도에 대한 설명으로 진행되는데 Bayesian Neural Networks로 하나의 예측값이 아닌 여러가지의 예측값을 뽑아내어 이에대해 평균,분산을 측정하고 분산을 Uncertainty로 잡는다. 이때 분산이 작다는것은 예측정확도의 오차가 작은 것이고 이 경우 좋다 라고 말할 수 있다. 즉 Bayesian Neural Net의 목표는 Uncertainty를 추정하고 더 나은 예측 성능을 도출하자 이다. Uncertainty는 모델에 대한 불확실성인 Epistemic 이 있고 데이터에 대한 불확실성인 Aleatoric이 있다. Epistemic은 더 많은 데이터가 학습이 된다면 uncertainty를 줄일 수 있는것이다. 하지만 Aleatoric의 경우 데이터에 내재된 노이즈로 인해 이해하지 못하는 정도로 데이터를 더 늘려 학습한다 해도 uncertainty를 줄일 수 없고 측정 정밀도를 높이면 줄일 수 있다. 이번 세미나는 총3가지 논문을 가지고 진행이 되었는데 Uncertainty를 고려하여 모델링 하는 방식을 Bayesian접근과 Non-Bayesian 방식으로 구분하고 Bayesian 방식에서 MC Dropout 방식을 고려 추론단계에서 dropout 방식을 적용하여 예측결과값이 다르게 나오도록 한 다음 이를 평균한 예측값을 사용하고 분산을 epistemic uncertainty로 해석하였다. 여기서 Aleatoric uncertainty인 데이터에 대한 노이즈까지 고려하여 Homoscedastic uncertainty (서로 다른 입력값에 대해서도 같은 constant값을 지님) 과 Heteroscedastic uncertainty(서로 다른 입력값에 대해 다른값을 가짐) L2 regularization 을 사용하여 더욱 데이터 노이즈에 강건한 모델을 구축하였다. 마지막으로 Non-Bayesian 접근 방식인 앙상블을 활용해 Uncertainty를 고려하는 방안도 진행 되었다. 기존의 Bayesian은 모델 구조가 한정적이고 계산량이 많아서 더 심플하고 계산 효율이 좋은 앙상블 방법을 이용하는것이다. Bayesian이고 uncertainty이고 너무나 어려워 보이는 수식과 내용으로 접근하기 어려웠는데 이번 세미나를 통해 좀 이해가 되었다. 좋은 세미나를 진행 해 주어서 고마웠다.
이번 세미나는 "Bayesian Deep Learning for Safe AI"라는 주제로 진행되었다. 발표에서 중점적으로 다룬 개념은 “Uncertainty”로 모델을 통해서 나온 결과를 얼마나 신뢰할 수 있는가에 대한 문제를 다루었다. 이는 세부적으로 Uncertainty가 모델에 있는가(Epistemic Uncertainty) 데이터에 있는가(Aleatoric Uncertainty)로 나뉜다. 이를 해결하는 방법으로는 크게 Bayesian 모델과 Non-Bayesian 모델이 있다.
Bayesian 모델(Bayesian Neural Net; BNN)은 모델의 과적합을 막아주는 방법인 Dropout을 적용한다. 다만 일반적으로는 학습할 때에만 일부 파라미터를 학습하는 방법을 쓰고 추론 단계에서는 모든 파라미터에 가중치를 곱하는 방법을 사용하는 반면 여기서는 MC Dropout으로 모델의 학습과정 뿐만 아니라 추론하는 과정에서도 Dropout을 사용한다. 이 과정을 일정 횟수 동안 진행하여 결과 T개를 생성하게 되고 최종적인 예측 값은 T번 예측한 값들의 평균을 사용한다. 그리고 T개의 예측된 값들의 분산을 모델의 Uncertainty(Epistemic Uncertainty)로 해석로 해석할 수 있다. 더 나아가서 전체 Uncertainty를 구할 때에 모델의 Uncertainty에 데이터의 Uncertainty(Aleatoric Uncertainty)까지 고려함으로써 데이터 노이즈에 보다 강건한 모델을 구축할 수 있다. 이 때 BNN은 손실함수에 입력 데이터의 분산을 사용하여 정규화식을 추가하고, 데이터의 불확실성을 분산을 추론하는 출력 노드도 추가하게 된다.
Non-Bayesian 모델은 앙상블 기법을 적용하고 데이터의 불확실성을 고려한 Deep ensembles라는 방법을 사용한다. 여기서도 최종 출력 값으로 다수의 출력 값의 평균을 최종 출력 값으로 사용하고 데이터의 불확실성을 추론한 값을 주는 출력 노드가 있다는 점이 BNN과는 같다. 하지만 Dropout이 하나의 모델에서 일부 노드를 사용한다면 앙상블은 다수의 모델을 사용한다는 점이 다르다. 다수의 모델을 사용하기 때문에 병렬 연상이 가능하여 계산 효율 측면에서는 dropout보다 더 나은 점이 있다고 한다. 하지만 앙상블 모델을 학습하는 부분에서 dropout보다 더 오랜 시간이 걸릴 수 있다는 단점이 있다.
Bayesian Neural Net을 전혀 접해보지 못한 상태에서 들은 세미나였지만 지윤이가 발표자료 준비와 설명을 친절하게 진행해준 덕분에 흐름을 놓치지 않고 따라 갈 수 있었다. Bayesian의 새로운 매력을 알게 해준 지윤이에게 감사의 말을 전한다.
예측 정확도 측면에선 딥 러닝 모델이 아주 우수한 성능을 보여준다. 하지만 학습하는 파라미터의 수가 너무 많아 학습 데이터에서 의도치 않은 특징을 학습해버리는 과적합 현상은 언제나 고질적인 문제점으로 꼽힌다. 학습 데이터가 충분히 많아 모집단을 충분히 대변할 수 있다면 일반화 성능을 크게 걱정하지 않아도 되겠지만 많은 현실 문제의 경우 충분히 많은 데이터를 확보하기란 어렵다. 오늘 세미나의 주제였던 Bayesian Deep Learning에서는 위와 같은 상황에서 데이터와 모델에 내재된 불확실성을 정량적으로 모델링하고자 하는 시도들이 계속되고 있다. 불확실성을 정량화할 수 있다면 역으로 모델이 취약한 부분을 짚을 수 있고 모델을 강화하기 위해 어떤 특징을 갖는 샘플을 추가해야 하는지 제시할 수 있다. 이론적인 증명은 상당히 복잡해보이지만 직접 모델 코드를 구현하는 입장에서는 Dropout과 L2 Regularization만으로 가능하단 점에서 활용성이 높은 것 같다. 발표자가 진행하고 있는 Attention 기법에의 적용에서 좋은 연구 결과가 나올 수 있길 바랍니다.
이번 세미나 주제는 Bayesian deep neural network과 neural network에서의 uncertainty estimation에 대한 소개로 진행되었다. Predictive model에서 uncertainty를 측정하는 것은 predictive model의 결과를 이용해서 의사결정을 내리는 데 많은 도움을 준다. 최근 neural network 기반의 모델들이 높은 성능을 내기 시작하면서 다양한 분야의 의사결정에 사용되기 시작했고, 이에 따라 모델의 uncertainty를 잘 추정하는 방법론에 대한 연구도 진행되고 있다. Uncertainty를 estimation하는 가장 직접적인 방법은, 모델 parameter들이 처음부터 uncertain하다고 가정하고 learning을 진행하는 Bayesian approach를 사용하는 것이다. 세미나에서 다루어진 부분은 이런 Bayesian deep learning에 대한 소개였다. 특히 세미나에서 주로 다룬 내용은 dropout as a Bayesian approximation에 대한 내용이었는데, 그 이전에는 어떤 시도들이 있었는지, 또 어떤 점에서 기존 방법론과 차이를 보이는지를 자세히 설명해주었으면 더 좋았을 것 같다는 생각이 든다. 이번 세미나 이전까지는 단순히 dropout과 L2 Regularization을 이용해서 Bayesian inference를 하는 것과 같은 효과를 낼 수 있다는 것만 알고 있었는데, 세미나를 듣기 전후로 조금 더 공부해보니 GP와도 관련이 많고, 연산 과정에서 어떤 테크닉들이 들어가는지 조금 더 자세하게 알게 되었다. 다음에는 BNN 자체에 대해서 조금 더 자세한 내용을 들을 기회가 있으면 좋을 것 같다.
이번 세미나는 Bayesian Deep Learning에 관한 내용이었다. 말 그대로 베이시안적인 이론들을 딥러닝에 적용시킨 논문들을 설명해 주었다. 기존 딥러닝 모델은 deterministic하게 확률이 가장 높은 값을 예측하지만, 베이시안은 예측되는 값의 확률 분포를 예측한다. 딥러닝 모델이 다양한 데이터로 학습되어야 하지만 현실적으로는 편향된 데이터들이 주로 학습되는 등의 문제점이 생긴다. 이러한 경우 모델학습에 필요한 정보가 부족했기 때문에 정확히 예측할 수 없다. 문제점들을 극복하기 위해 두 가지 종류의 uncertainty를 제안하며 dropout을 이용하여 구현하였다. 모델의 학습과 일반화를 위해 고안된 dropout을 이용하여 자신의 이론을 구현할 수 있는 방안으로 수정한 것이 흥미로웠다. dropout을 이용하여 uncertainty를 구할 수 있게 되었으며 불확실성을 구할 수 있었다. 그 다음으로 소개된 논문으로는 기존의 uncertainty(epistemic) 불확실성에 더해 aleatoric uncertainty가지 구할 수 있도록 설계된 모델이었다. 두 가지의 uncertainty는 각각 모델의 불확실성, 데이터의 불확실성을 구할 수 있으며 각각의 원인이 다르기 때문에 불확실성을 낮추기 위해서는 다른 방향으로 극복할 수 있다. 마지막 논문은 dropout 대신에 앙상블 모델을 제안한 논문이었다. 여러 모델을 병렬로 학습시킨다는 장점이 있는데, 사실 dropout보다 효율적이라는 이론적인 근거가 조금 부족한 것 같다. 베이시안 딥러닝은 기존 딥러닝의 문제점을 극복해 줄 수 있는 좋은 방안 중 하나인 것 같다. 기존 모델에서는 표시할 수 없는 내재된 정보들을 알 수 있게 해주는 것 같다. 특히 현실문제에 딥러닝을 적용하면서 나타나는 문제점(모델의 불안정성)에도 적용될 수 있을 것 같다.
오늘 세미나는 뉴럴넷 모델이 도출한 결과가 얼마나 신뢰할 수 있는 정보인지에 대한 불확실성이란 개념에 대해 다룬 시간이었다. 불확실성의 의미에 대해서 잘 정의해 주었는데, 불확실성을 그것을 야기하는 원인에 기반하여 몇 가지로 분류할 수 있음을 알게 되었다. 그 원인에 따라 소개해 준 해결방안 중, 데이터에 의한 불확실성(Aleatoric Uncertainty)을 해결하기 위한 손실함수를 디자인 하는 부분이 가장 흥미로웠다. 네트워크의 출력부에 추가적인 아웃풋 노드를 붙이고 그 노드의 역수값을 손실함수에 이용한 것 만으로 노드의 값이 데이터에 의한 불확실성을 표현할 수 있게 하였다. 이 방법을 완전히 이해하기 위해선 관련 자료를 더 살펴봐야겠지만 접근법 자체가 상당히 흥미로웠고 다양한 응용의 여지가 있을것으로 보였다. 기본적인 DNN 구조 외에도 적용할 수 있는 방법이 있는지 찾아보고 싶은 마음이 생겼으며, 새롭고 어려운 내용을 흥미있고 이해하기 쉽게 잘 설명해주어 고맙다.
오늘 세미나는 Bayesian Deep Learning for Safe AI를 주제로 지윤이가 진행을 해주었다. 기존의 딥러닝 모델의 경우, 학습된 parameter에 의해 계산된 정답을 반환한다. 하지만 이렇게 모델이 내놓은 답은 모델의 불확실성, 데이터의 불확실성 측면에서 그 정답 자체의 불확실성을 내재하고 잇다. 지윤이가 오늘 설명을 준 내용은 이러한 불확실성을 표현하는 방법론에 대한 이야기였다. 그 중 Bayesian Deep Learning은 이러한 정답에 대한 불확실성 정보를 알려주기 위해 하나의 정답이 아닌, 분포의 형태로 정답을 반환해주는 방식이다. 지윤이의 설명에 따르면 Bayesian Deep Learning의 parameter 도출 과정은 posterior를 구하는 복잡한 과정 대신 Variational Inference의 기법을 통해 구하기 쉬운 분포로 근사하는 방법을 취한다고 한다. 발표자료의 Appendix에 세심하게 유도과정에 대한 수식을 자세하게 다루어 놓았는데, MC Dropout과 L2 Regularization를 추가한 형태만으로 Bayesian Deep Learning이 구현된다는 유도과정이 매우 흥미로웠다. 또한 Aleatoric Uncertainty를 다루기 위해, Variance가 큰 데이터에 대하여 Loss를 적게 반영하는 방식 또한 인상깊었다. 요 근래 하나의 모델에서 성격이 다른 데이터를 서로 다른 Loss Function으로 모델을 학습시키는 방법론을 공부하고 있었기에 더욱 시선이 갔다. 마지막으로 불확실성을 다루는 베이지안 방식에 대한 비교를 위해 앙상블을 활용한 Non-Bayesian approach 방법론을 소개해 주었는데, 이 부분에서는 되려 앞의 Bayesian approach를 유지하면서 연산량 측면의 효율을 높일 방법이 없을까 궁금해졌다.
방대한 양의 세미나 자료와 이해하기 쉬운 직관적인 설명 등을 보며 세미나의 준비에 발표자가 얼마나 많이 공을 들였는지 실감할 수 있었다. 현재 내가 개인적으로 관심을 가지고 있는 주제와 관련하여서도 많은 부분에서 닿아있는 발표 주제였는데, 이렇게 많은 정보를 가만히 넙죽 받아도 되는지 겸연쩍은 마음이 들 정도다. 다시 한번 수고해 준 발표자 이지윤에게 깊은 감사를 표한다.
이번 세미나는 ZOOM을 통해 ‘Uncertainty’라는 주제로 진행되었습니다. 흔히 알고있는 인공신경망 모델은 훈련 데이터셋을 이용하여 파라미터들을 학습시키고 결과를 내뱉는 형태입니다. 여기서 학습되었던 파라미터들은 전부 특정한 값을 가지는 것이고 결과 또한 하나의 값으로 나오게 됩니다. 그리고 이렇게 모델을 구축할 때 모델의 성능 또한 우수한 경우도 많습니다. 다만, uncertainty(불확실성)을 컨트롤해야 하는 분야에서는 예측 결과를 어느정도 믿을 수 있는지 아는 것이 상당히 중요하다고 할 수 있습니다. 예를 들면, 자율주행과 관련된 모델의 경우 운전자의 안전과 직접적인 연관이 있기 때문에 결과에 대한 확신이 중요한 요소라고 할 수 있습니다.
이러한 문제를 해결하고자 나온 것이 Bayesian Neural Networks입니다. Bayesian 관점에서 보면 예측 값을 분포로 추정할 수 있기 때문에 기존에 언급한 결과에 대한 확신 정도를 나타낼 수 있는 장점이 있습니다. 불확실성의 종류에는 epistemic uncertainty(model uncertainty)와 aleatoric uncertainty(data uncertainty)가 있습니다. Epistemic uncertainty는 모델 자체가 어떻게 잘 학습되었고 어떤 데이터의 특징을 가져와서 보는지를 알 수 없는 상태를 의미하고, aleatoric uncertainty는 데이터 자체가 가지고 있는 노이즈 때문에 불확실성이 생기는 것을 말합니다. 이러한 문제에 대해 첫번째로 소개된 논문의 Bayesian Neural Network에서는 MC dropout과 L2 regularization을 이용한 모델을 구축하여 불확실성 부분을 해결하고자 하였습니다. 두번째로 소개된 논문에서는 aleatoric uncertainty 부분을 추가하여 고려하는 모델을 제안하였습니다. 여기서는 앞서 말한 노이즈가 큰 데이터가 존재하는데 이러한 데이터에 대해서 손실값을 적게 주어 계산하는 목적함수를 만들었습니다. 마지막 논문에서는 과도한 연산량 문제 등으로 인해 각 모델의 앙상블을 통해 불확실성을 해결하고자 하였습니다. 이렇게 다양한 방법으로 불확실성에 대해 알아볼 수 있어서 좋았고 훌륭한 세미나를 준비해준 이지윤 연구원에게 감사의 인사를 전합니다.
이번 세미나는 이지윤 연구원님께서 Bayesian Deep Learning 을 통한 Uncertainty 파악에 중점을 맞추어 진행해 주셨습니다.
예측 결과에 대한 확신 척도인 Uncertainty는 완벽한 예측이 필요한 분야, 특히 자율운전 분야에서 특히 관심있게 연구되고 있는 분야입니다.
Bayesian을 활용한 Uncertainty 추정은 처음엔 Model Uncertainty인 Epistemic Uncertainty 모델링 방법이 처음 제안되었으며, Dropout과 L2 Regularization을 활용했습니다.
2017년에 나온 개선된 Bayesian 모델은 Data Uncertainty인 Aleatoric Uncertainty중 특히 Heteroscedastic Uncertainty까지 커버할 수 있는 모델을 제안했습니다. 이는 BNN구조가 강제된다는 단점이 있으나 Uncertainty 모델링에서 현재까지 가장 주목할 만한 모델입니다.
같은 해에 나온 Non-Bayesian 기법의 Uncertainty 모델은 딥 앙상블, Scoring Rule, Adversarial Training을 활용하여 구조가 강제되지 않고 계산 효율을 증가한 모델을 제안했으나, 실험적인 모델이므로 좀 더 연구가 필요한 모델로 소개되었습니다.
DL 분야에 이제 막 입문한 입장에서 난이도 있는 주제였습니다. 그럼에도 쉽게 설명해 주셔서 이해하기 편했고, 향후 Uncertainty까지 고려할 만한 수준으로 역량이 올라갔을 때 한 번 참고하면서 진행할 수 있을만한 좋은 세미나였습니다. 감사합니다.
1. 통계학에서 벌이고 있는 오랜 싸움? (Frequentist vs Bayesian)이 NN에서도 재개되는 느낌
2. Uncertainty에 대한 자세한 설명을 들을 수 있었던 좋은 기회 (Aleatoric, Epistemic)
3. Dropout (w/t regularization) 외 다른 방법론은 없나? 라는 의문
4. Non-Bayesian Approach까지 성실하게 내용을 구성한 점 매우 훌륭
5. 발표 시간이 너무 길어 후반부에 집중하기 힘들었음