`[논문] On Calibration of Modern Neural Networks: 측정`에서 이어지는 내용입니다.
Observing Miscalibration
최근 몇 년 동안 신경망(Neural Networks)의 아키텍처와 훈련 방식이 빠르게 발전해 왔습니다. 이 섹션에서는 신경망 모델에서 발생하는 Calibration 문제를 유발하는 몇 가지 최근 변화를 확인합니다. 비록 이러한 변화가 Calibration 문제의 원인이라고 단언할 수는 없지만, 모델 용량 증가와 규제 부족이 모델 Calibration 문제와 밀접하게 관련이 있음을 본 논문에서 발견했습니다.
Model Capacity
신경망의 모델 용량은 최근 몇 년 동안 급격하게 증가했습니다. 이제는 수백 개, 심지어 수천 개의 레이어(layer)를 가진 네트워크가 흔하며, 레이어당 수백 개의 컨볼루션 필터를 사용하는 것도 일반적입니다. 매우 깊거나 넓은 모델은 더 작은 모델보다 일반화(generalization) 능력이 뛰어나면서도 훈련 데이터를 쉽게 맞출 수 있는 용량을 갖추고 있다고 합니다.
모델의 깊이와 폭을 증가시키면 분류 오류를 줄일 수 있지만, 이러한 증가가 모델의 Calibration에 부정적인 영향을 미친다는 것을 관찰했습니다. 예를 들어, CIFAR-100 데이터셋에서 ResNet을 사용해 모델의 깊이와 폭에 따른 오류와 ECE를 조사한 결과, 모델 용량이 증가할수록 ECE 값도 크게 증가하는 것을 발견했습니다. 그래프에서 볼 수 있듯이, 가장 작은 모델조차 어느 정도의 Calibration 문제를 가지고 있지만, 모델 용량이 증가함에 따라 ECE가 크게 증가합니다.
훈련 중에 모델이 (거의) 모든 훈련 샘플을 올바르게 분류한 후에도, NLL을 더 최소화할 수 있는 방법은 예측의 신뢰도를 높이는 것입니다. 모델 용량이 증가하면 훈련 데이터에 대해 NLL이 낮아지며, 이로 인해 모델이 평균적으로 더 (과도하게) 과신하게 됩니다.
Batch Normalization
Batch Normalization은 신경망의 최적화를 개선하는 기술로, 신경망의 은닉층 내에서 활성화 값의 분포 변화를 최소화하는 역할을 합니다. 이 기술 덕분에 ResNet과 DenseNet과 같은 매우 깊은 신경망 구조가 개발될 수 있었습니다. Batch Normalization은 훈련 시간을 단축시키고, 추가적인 정규화 필요성을 줄이며, 때로는 네트워크의 정확성을 향상시키는 것으로 알려져 있습니다.
그러나 Batch Normalization이 모델의 최종 예측에 미치는 정확한 영향을 파악하기는 어렵습니다. 하지만 Batch Normalization을 사용하여 훈련된 모델이 더 높은 miscalibration을 보이는 경향이 있다는 것을 관찰했습니다. 예를 들어, Figure 2의 중간 오른쪽 플롯에서는 Batch Normalization을 적용한 6-레이어 ConvNet이 약간의 분류 정확도 향상에도 불구하고, 더 나쁜 Calibration을 보였습니다. 이 결과는 학습률과 같은 Batch Normalization 모델의 하이퍼파라미터 설정에 관계없이 일관되게 나타났습니다.
Weight Decay
Weight Decay는 신경망에서 과적합을 방지하기 위한 주요 정규화 기법으로 오랫동안 사용되어 왔습니다. 학습 이론에 따르면, 모델 용량이 증가할수록 정규화가 과적합을 방지하는 데 필요합니다. 그러나 Batch Normalization의 내재된 정규화 효과로 인해, 최근 연구들은 L2 정규화를 줄인 모델이 더 나은 일반화 성능을 보일 수 있다고 제안하고 있습니다. 결과적으로, 현대 신경망을 훈련할 때 Weight Decay를 거의 사용하지 않거나 아예 사용하지 않는 것이 일반적입니다. 2015년의 최고 성능을 기록한 ImageNet 모델들은 이전 연도의 모델들에 비해 Weight Decay를 훨씬 적게 사용했습니다.
그러나 Weight Decay를 줄여서 훈련하는 것이 모델의 Calibration에 부정적인 영향을 미칠 수 있다는 것을 발견했습니다. Figure 2의 가장 오른쪽 플롯에서는 110-레이어 ResNet의 다양한 Weight Decay 설정에 따른 훈련 오류와 ECE를 보여줍니다. 다른 정규화 형태는 데이터 증강과 Batch Normalization뿐이었습니다. 이 플롯에서, 정확도와 Calibration은 동일한 파라미터 설정에서 최적화되지 않음을 알 수 있습니다. 모델은 분류 오류와 관련하여 과도한 정규화와 부족한 정규화 모두를 보이지만, Weight Decay가 너무 많은 경우에도 Calibration이 크게 나빠지지는 않습니다. 실제로 정규화를 더 많이 추가할수록, 정확도가 최적화되는 지점 이후에도 모델의 Calibration은 계속해서 개선됩니다. 그래프 끝부분에서의 약간의 상승은 최적화를 방해하는 Weight Decay 요인에 의한 현상일 수 있습니다.
NLL
NLL은 모델의 Calibration을 간접적으로 측정하는 데 사용될 수 있습니다. 실무에서, NLL과 정확도 사이에 불일치가 발생하는데, 이는 Figure 2에서 관찰된 miscalibration을 설명할 수 있습니다. 이 불일치는 신경망이 0/1 손실에 과적합되지 않고도 NLL에 과적합될 수 있기 때문에 발생합니다. 일부 miscalibrated 모델의 훈련 곡선에서 이러한 경향을 관찰했습니다.
Figure 3에서는 CIFAR-100 데이터셋에서 훈련이 진행됨에 따라 테스트 오류와 NLL(오류와 일치하도록 재조정됨)을 보여줍니다. 학습률이 낮아지는 250 에포크에서 오류와 NLL이 즉시 감소하지만, 이후 NLL은 과적합됩니다. 놀랍게도 NLL에 과적합되는 것이 분류 정확도에는 긍정적인 영향을 미쳤습니다. CIFAR-100에서, NLL이 과적합되는 구간에서 테스트 오류가 29%에서 27%로 감소했습니다. 이 현상은 miscalibration의 명확한 설명을 제공합니다: 네트워크는 잘 모델링된 확률을 희생시키면서 더 나은 분류 정확도를 학습합니다.
'통계 & 머신러닝 > 통계적 머신러닝' 카테고리의 다른 글
[Torch Uncertainty] Installation (0) | 2024.08.22 |
---|---|
[논문] On Calibration of Modern Neural Networks: Results (0) | 2024.08.20 |
[논문] On Calibration of Modern Neural Networks: Calibration (0) | 2024.08.20 |
[논문] On Calibration of Modern Neural Networks: 측정 (0) | 2024.08.19 |
[논문] On Calibration of Modern Neural Networks: Calibration이란? (0) | 2024.08.19 |