- 2023년 5월 12일 오후 1:46
- 조회수: 14422
REFERENCES
INFORMATION
- 2023년 5월 12일
- 오전 12시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
요약:
좋은
신뢰성을 가진 모델은 예측이 틀렸을 때 높은 불확실성을 표현하며, 예측 정확도와 유사한 예측 신뢰도를 가진다. 따라서 신뢰성이 높은 모델은 의료 및 자율 주행 분야와 같이
생명과 관련된 분야에서 안전하게 사용될 수 있는 장점이 있다. 본 세미나에서는 신뢰성이 높은 모델의 구체적인 특성과
현대에 많이 사용되는 딥러닝 모델들의 신뢰성 수준을 리뷰하고, 신뢰도 향상에 효과적인 대표 기법들을 설명한다.
참고문헌:
[1] Guo, Chuan, et al. "On calibration of
modern neural networks." International conference on machine learning.
PMLR, 2017.
[2]
Müller, Rafael, Simon Kornblith, and
Geoffrey E. Hinton. "When does label smoothing help?." Advances in
neural information processing systems 32 (2019).
[3] Thulasidasan,
Sunil, et al. "On
mixup
training: Improved calibration and predictive uncertainty for deep neural
networks." Advances in Neural Information Processing Systems 32 (2019).
[4] Minderer, Matthias, et al. "Revisiting the calibration of modern neural networks." Advances in Neural Information Processing Systems 34 (2021)
청취자 후기

최근 딥러닝의 발전으로 많은 분야에서 좋은 예측 성능을 보이고 있다. 이에 따라 좋은 예측 성능을 나타내는 정확도 뿐 아니라 학습 모델의 예측 결과가 얼마나 신뢰할 수 있는 결과인지에 대한 신뢰성(Calibration) 부분에 있어서도 이목이 집중되고 있다. 신뢰도의 관점에서 모델의 성능은 예측 모델의 확률 결과와 정확도의 차이를 통해 판단한다. 실제로, 1998년도의 LeNet과 2016년도의 ResNet의 경우 오히려 비교적 최신 모델인 ResNet이 더 overconfident하고 신뢰성이 떨어지는 모습을 보였다. 이를 통해, 크고 깊어진 딥러닝 모델이 꼭 좋은 신뢰성을 보장하는 것은 아님을 알 수 있었다.
세미나에서 소개된 두 개의 논문은 모두 특정 조건의 변화에 따른 Calibration의 변화를 실험적으로 증명하는 논문이었다. Calibration에 영향을 주는 요인은 다양했는데, 모델의 Depth, Batch Normalization, Weight Decay, Convolutional Model의 여부, Noisy data 등이 있었다. 그리고 Calibration을 개선시킬 방법으로 크게 Label smoothing, Temperature scaling, 엔트로피 정규화, mix-up 네 가지를 소개하였다.
기존에는 크게 신경쓰지 않았던 신뢰성이라는 개념을 처음부터 차근차근 설명해줘서 잘 이해할 수 있었다. 새로운 아이디어를 바탕으로 기존에 없던 모델을 만드는 것도 의미있는 연구이지만, 오늘 진수가 소개해준 최근 딥러닝이 앓고 있는 문제를 해결하는 연구도 굉장히 매력적이라고 느꼈다. 유익한 세미나를 준비해준 진수에게 감사를 표하며, 세미나 후기를 마친다.

최근 인공지능 연구들은 모델의 성능을 높이고자 하는 방향을 위주로 진행되고 있다. 그러나 마냥 성능이 높다고 좋은 모델이라고 할 수 있을까? 본 세미나에서는 성능뿐만 아니라 Calibration을 함께 고려할 필요가 있다고 말한다. Calibration이란, 한 단어로 표현하면 “신뢰성”이라고 할 수 있다. “신뢰성”이 뭘까..? 본 세미나에서는 이러한 Calibration의 개념부터 여러 방법론에 대해 소개한다.
Calibration의 신뢰도를 “인공지능”적인 언어로 표현하면, 분류모델의 관점에서 모델의 Accuracy와 해당 Class로 예측한 확률이 유사할수록 신뢰성이 높은 모델이라고 말한다. 개인적으로 처음 세미나를 들었을 때는 정답 Class라고 99%확신에 찬 예측값을 많이 뱉는 모델이 신뢰성이 높지 않을까 생각했지만, 오히려 이는 해당 이미지에 과적합된(Overfitting or Overconfidence) 결과일 수 있다고 해석한다. 그렇다면 이러한 Calibration을 어떻게 정량화할까? 이때, ECE라는 지표를 많이 활용한다. 데이터를 여러 집단으로 나눈 후, 집단 별 Accuracy와 모델이 예측한 Class의 확률값들에 대한 평균을 비교하여 산출한다.
컴퓨터 비전분야에서 Convolution 계열보다 Non-Convolution 계열이 좋은 Calibration을 보인다고 한다. CNN 기반의 Convolution계열은 모델이 무거워질수록 성능은 증가하지만, Calibration은 떨어지는 경향을 보이고, Non-Convolution 계열은 모델이 무거워질수록 성능/Calibration 모두 증가한다고 한다. 또한 사전학습에 대해서도 실험을 진행했는데, 데이터의 개수가 아무리 많아도, Calibration에는 큰 영향이 없었다고 한다.
그렇다면, 이러한 Calibration을 어떻게 개선할까? 세미나에서는 크게 두 갈래로 소개한다. 첫번째로 레이블 값을 변형하여 Calibration을 개선하는 Label Smoothing 기법과 Mixup기법이다. 분류문제의 경우, Label값이 정답 Class만 1이고 나머지는 모두 0이지만, 이처럼 확정적인 값보다 Smoothing한 값을 부여한다. 두번째 갈래는 목적함수를 개선하는 것이다. 엔트로피 정규화는 Negative Cross Entropy를 추가적으로 반영하여 Calibration을 향상시켰다.
이번 세미나를 통해 Calibration이라는 개념을 새롭게 알 수 있었다. 개인적으로는 세미나를 들으면서 준지도학습과 Calibration을 비교하게 되었다. 준지도학습 방법론 중 하나인 FixMatch는 정답 Class로 예측한 확률이 높을수록 이는 Confident한 Output으로 해석하지만, Calibration은 오히려 이를 Overconfident로 해석한다. 비슷한 시기에 나온 연구이지만, 이렇게 다른 관점으로 해석할 수 있다는 것도 연구의 묘미인가 싶다. 유익한 세미나를 준비해주신 배진수 연구원님께 고맙다는 말을 전하며 세미나 후기를 마친다.

이번 세미나는 Deep Neural Network의 Calibration이라는 주제로 진행되었다. 딥러닝 모델들은 굉장히 높은 성능을 내고 있지만 실제로 현장에 적용하기에는 굉장히 큰 리스크가 따르는데, 당연하게도 대부분의 모델들이 그러하듯 100%의 성능은 존재하지 않으며 잘못 판단했을 때 Risk가 너무나도 크기 때문에 특히 의료와 같은 분야에서는 모델의 정확도 외에도 결정에 따른 신뢰도가 같이 따라야 한다고 한다. 따라서 모델의 신뢰도를 평가하기 위해서 신뢰도와 정확도를 활용하여 Expected Calibration Error(ECE)라는 Metric을 정의하고 설명하는 것을 확인할 수 있었다. 뿐만 아니라 Reliability Diagram, Confidence Histogram을 통해서도 모델의 신뢰성을 시각화하고 파악할 수 있었다. 이어서 어떻게 신뢰도가 높은 모델을 만들 수 있는지 3가지를 설명하였다. 첫번째로 Label Smoothing을 통해서 One-hot Encoding된 극단적인 값을 목표로 학습하는 것이 아니라 약간 Smooth한 Label로 학습을 진행하면 모델이 과신을 덜할 수 있게 되어 신뢰도 향상이 가능하다고 한다. 두번째로 Label은 그대로 두고 Prediction 결과 값을 조정해주는데 살짝 평탄화 된 결과를 도출하도록 패널티를 주는 방법이다. 마지막으로 Mix-up 증강기법을 활용하여 Label도 Mix-up하여 학습하는데 첫번째와 유사한 메커니즘을 통해 높은 성능과 신뢰성을 보이는 것 같다. 이번 세미나를 통해서 많은 것을 얻을 수 있었는데, 특히 개인 연구를 진행하면서 일반적인 Convolutional 방법론과 성능 비교를 진행하고 있는데 신뢰성이라는 Metric을 추가함으로써 내가 제안하는 방법론의 기여점을 조금 더 어필할 수 있을 것 같아 매우 큰 도움이 되는 세미나였다. 뿐만 아니라 강화학습에서 미래의 Reward를 할인하기 위하여 Gamma를 사용하게 되는데 그 결과가 첫번째의 Label Smoothing의 메커니즘과 유사하여 성능 향상을 설명할 수 있는 좋은 근거를 찾은 것 같다. 하지만 개인연구를 진행하면서, 그리고 세미나를 들으며 궁금한점이 있는데 결과적으로 Test Set에서 가장 높은 성능을 내는 것이 중요한지, 성능은 조금 떨어져도 가장 높은 신뢰성을 가지는 것이 좋은지는 아직도 잘모르겠다. 결국 하고자 하는 것은 Class를 잘 분류하는 것이라면 신뢰도가 낮더라도 Test Set에서 높은 성능을 냈다는 그게 좋은것인지... 더 많은 공부와 고민을 해야할 것 같다. 이번 세미나를 통해 그저 높은 성능만 주장하는 것이 아니라 신뢰도라는 것에 대해서 다루어 흥미로웠고 연구에 많은 도움이 되어 매우 유익하였다. 굉장히 바쁜스케줄 가운데서도 세미나를 준비하느라 고생한 배진수 연구원에게 감사의 말을 전하며 이상으로 세미나 후기를 마친다.

금번 세미나는 Deep Neural Network에 대한 Calibration에 대한 내용이었다. 여러 분야에서 우수한 성능을 내며 딥러닝이 발전해왔다. 점차 크고 무거운 모델들이 등장하며 정확도가 굉장히 높아졌는데, 바로 실제 산업에 적용해도 될 정도로 신뢰할 수 있냐가 이 세미나의 서두다. 예측 정확도 외에도 신뢰도가 높아야 산업 현장에서 안전하게 적용할 수 있다는 것인데 그럼 그 신뢰도(Calibration)은 어떤 것을 뜻하는 걸까? 신뢰도가 높다는 것이 어떤 의미인지 본 세미나에서 개념부터 예시를 들어 잘 설명해주고 있다.
신뢰할 수 있는 좋은 모델은 예측 모델의 확률 결과와 정확도가 유사하다는 것이다. 따라서 신뢰도 관점에서 모델 성능을 평가할 때는 예측 모델의 확률 결과와 정확도 차이가 얼마인지 확인하면 된다. 여기서는 그 지표를 ECE(Expected Calibration Error)를 사용하고 있다. 그럼 현대에서 주로 사용되고 있는 크고 넓고 무겁고 높은 정확도를 가지는 Convolutional 모델들은 정확도와 함께 신뢰도가 함께 향상 되고 있을까? 세미나에서 보면 그렇지 않았다. 학습 데이터에 대한 정확도가 높음에도 불구하고 학습이 계속 이루어지면 Overconfidence가 발생하여 신뢰도가 하락되는 모습을 보여주었다. 그럼 어떤 구조를 가진 이미지 분류 모델이 더 좋은 신뢰도를 가지고 있을까? Convolutional 모델에 비해 Non-Convloutional 모델이 ECE 지표상 더 좋은 신뢰도를 가지고 있었다. 또한 다량의 데이터 기반 사전학습 시 신뢰도는 그대로인 채 정확도까지 우수해지는 경향을 나타내었다. 또한 Noisy Data에 대해서도 Robust하다.
그럼, Calibration을 개선하는 방법은 무엇일까? 결국 예측이 틀릴 때 불확실한 상태로 틀릴 수 있게 Label에 대한 Smoothing을 적용해서 과한 확신을 방지해야 한다. 이런 간단하고 직관적인 아이디어로 ECE를 효과적으로 개선할 수 있으며, 또 과한 확신 시 패널티를 부여하는 엔트로피 정규화 방식을 이용할 수도 있다. 마지막으로 Mix-up 증강 기법 적용을 통해 과한 확신을 방지할 수 있다. 이번 세미나를 통해 결국 좋은 모델이라는 것은 정확도와 신뢰도가 함께 높은 모델이란 것을 깨닫게 되었다. 앞으로 연구를 진행할 때 현장 적용 시 hit ratio를 높이기 위해서 이런 신뢰도를 개선하는 방법에 대한 힌트를 얻게 되어 감사하다. 바쁜 와중에 금쪽같은 시간을 내서 훌륭한 세미나를 준비해 주신 배진수 연구원님께 다시 한번 감사를 드리며 세미나 후기를 마친다.

오늘 세미나는 예측 모델의 과신(overconfidence bias) 성향에 대해 설명하고 있습니다. 분류 문제를 다루는 예측 모델은 입력 데이터를 받아 분류하려는 각 범주의 확률값을 반환합니다. 반환된 값은 정확도, 재현률 등 다양한 평가 지료를 통해 실제 범주와 비교하여 예측 모델의 성능을 평가하는 것이 일반적인 접근입니다. 그러나 오늘의 세미나에서는 정확도 등의 실 결과와 예측 결과를 비교하는 방식만으로는 예측 모델의 신뢰도를 평가하기는 부족하며 잘못된 예측을 과신하는 모델은 구분되어야 한다고 주장합니다. 이를 expected calibration error(이하 ECE)로 설명하고 있는데 예측 모델의 확률 결과와 정확도의 차이를 연산하는 index로 예측이 맞는 case에서는 해당 범주의 confidence가 높을 수록 error가 작으며 틀린 경우에는 confidence가 낮을 수록 error가 작도록 설계되었습니다. ECE를 통해 최근 발표된 다양한 이미지 분류모델을 평가한 실험 결과를 따르면, CNN 계열 보다는 MLP-Mixer, Vit, CLIP와 같이 CNN 계열이 아닌 모델이 더 좋은 신뢰도를 보이고 있음도 소개하고 있습니다.
예측 모델이 과신하는 경향을 개선할 수 있는 방법도 소개되었습니다. 첫 번째는 smoothing label을 사용하는 것으로 학습과정에서 0, 1과 같이 극단적인 확률값으로 label을 학습시키는 대신 0.9, 0.1 과 같이 상대적으로 bias가 완화된 label를 학습시키는 방식입니다. 이러한 간단하고 직관적인 방법으로 ECE를 효과적으로 개선할 수 있음을 증명하였습니다.
두 번째는 과하게 확신하는 예측 사례를 엔트로피 정규화를 사용하여 확률값에 제약을 가하는 방식입니다.
마지막으로 데이터 증강 기법으로 잘 알려진 mix-up 방법론입니다. 복수 클래스의 이미지를 겹쳐서 데이터를 증강하는 방법으로 증강된 데이터는 겹쳐지는 강도만큼 자연스럽게 smoothing 된 label을 갖게되고 이러한 데이터를 학습한 모델은 성능 향상뿐 아니라 신뢰도 또한 개선될 수 있음을 보였습니다.
제가 근무하는 제조 공정은 부품의 기능을 원점으로 조절하는 많은 조정 공정들이 있습니다. 예측 모델에도 이러한 개념을 적용했다는 것이 매우 흥미로웠고 간혹 0.5 주변의 예측 값은 반영하지 않는 경우가 많았는데 모델의 신뢰도 관점에서 개선도 필요함을 알 수 있어 유익했습니다. 수고 많으셨습니다.

이번 세미나는 On Calibration of Deep Neural Networks를 주제로 진행되었다. 신뢰할 수 있는 인공지능 모델이란 예측 정확도와 확률 결과가 유사한 모델을 말한다. Model Calibration은 모델이 갖고 있는 특성으로 출력한 결과와 실제 정확도가 얼마나 비슷한지 확인할 수 있으며, 예측 정확도와 신뢰도가 모두 우수해야 실제 산업에서 사용될 수 있다.
현대에서 주로 사용되고 있는 Convolutional 모델은 사이즈가 커질수록 정확도 성능은 향상되지만, 신뢰도 성능은 떨어지는 추세를 가지고 있으며, Non-Convolutional 모델인 VIT와 같은 모델은 신뢰도 성능이 전반적으로 좋으며 정확도까지 우수하다는 특징을 가지고 있다. 딥러닝 모델이 과대 확신을 하지 않은 방법에는 과하게 확신하는 결과에 패널티를 주는 Entropy 정규화와 과하게 확신하지 않도록 보정 된 정답 값을 학습하는 label Smoothing, Mix-up 방법론이 소개되었다.
이번 세미나는 진수가 모델 평가 시 정확도만이 아니라 신뢰도 또한 우수해야 한다는 Calibration라는 새로운 기준에 대해 설명해주었다. 들으면서 regression인 경우 어떻게 Calibration을 가할 수 있을지 개인 연구와 연결 짓는 고민이 들었다. 유익한 내용의 세미나를 해준 배진수 연구원에게 수고했다는 얘기를 전하며 세미나 후기를 마친다.

이번 세미나는 Deep Neural Network의 Calibration에 대한 주제로 진행되었다. 현대 딥러닝 모델들은 다양한 분야에서 높은 성능을 보이고 있지만, 실제 산업에 적용할 때 실패에 대한 위험이 높아 적용하기 어려운 경우가 많다는 것을 인지하게 되었다. 그러므로 모델의 정확도뿐만 아니라 신뢰도 역시 중요하다는 사실을 새삼 느끼게 되었다. 이러한 모델의 신뢰도를 측정하는 과정을 Calibration이라고 한다.
보통, 모델의 예측확률이 그 정확도와 비슷할수록 신뢰도가 높은 모델이라고 평가된다. 이렇게 정확도와 예측 확률이 불일치하는 경우, 즉 모델이 Over Confident한 특성을 갖게 되면 신뢰도가 떨어진다는 사실을 알 수 있다.
현대의 복잡한 딥러닝 모델들은 정확도 측면에서는 높은 성능을 보이고 있지만, 신뢰도 측면에서는 그렇지 않다는 것이 인상적이었다. 특히, Convolution을 사용한 모델은 Non-Convolution 모델에 비해 신뢰도가 낮다는 점이 눈에 띄었다.
세미나에서는 또한, 이러한 Over Confident한 모델의 특성을 줄일 수 있는 다양한 방법론을 소개하였다. Label Smoothing은 0과 1같은 극단값을 사용하는 대신, 0.05, 0.9 등의 값을 사용하여 모델이 Over Confident하게 학습하는 것을 방지하는 방법이었다. 이러한 방법을 사용함으로써, Baseline 모델에 비해 ECE 값이 개선되었다는 결과를 얻을 수 있었다.
다음으로, Over Confident 정도를 손실함수에 추가하여 학습하는 방법은 모델의 신뢰도를 높이는 데에 효과적이었다. 마지막으로, 이미지에 대해 Mix-up을 적용하는 방법도 소개되었다. 이 방법에서는 One-hot encoding의 문제점을 해결하기 위해 학습에 사용될 데이터를 일정한 비율로 학습하고, 레이블에도 그 비율을 적용하여 학습하는 방식을 사용한다. 이렇게 하면, 일반화 성능을 향상시킬 수 있다.
이번 세미나를 통해 실제 산업 분야에 딥러닝을 적용하는 데 있어 신뢰도에 대한 고찰과 이를 개선할 수 있는 방법론에 대해 이해할 수 있었다. 이로써, 연구를 진행할 때 정확도뿐만 아니라 신뢰도 측면에서도 고려해야 한다는 중요성을 다시 한번 깨닫게 되었다. 이번 세미나를 진행해준 배진수 연구원께 감사드리며, 이상으로 세미나 후기를 마친다.