`[논문] On Calibration of Modern Neural Networks: Miscalibration!`에서 이어지는 내용입니다.
Calibration Methods
이 섹션에서는 기존의 Calibration 방법을 검토하고, 새로운 변형 방법을 소개합니다. 모든 방법은 Calibrated 확률을 생성하는 후처리 단계입니다. 각 방법은 Hold-out 검증 세트가 필요하며, 실제로는 하이퍼파라미터 튜닝에 사용된 검증 세트를 동일하게 사용할 수 있습니다. 여기서는 훈련, 검증, 테스트 세트가 동일한 분포에서 추출된다고 가정합니다.
1. Binary Classification
우선 이진 설정(즉, $ Y = {0, 1} $)에서의 Calibration을 소개합니다. 이 섹션에서는 모델이 오직 긍정 클래스에 대한 신뢰도만을 출력한다고 가정합니다. 샘플 $ x_i $가 주어졌을 때, 우리는 네트워크의 예측 확률 $ \hat{p}_i $와 비확률적 출력 값인 $ z_i $를 사용할 수 있습니다. 예측 확률 $ \hat{p}_i $는 $ z_i $를 시그모이드 함수 $ \sigma $에 넣어 계산됩니다. 즉, $ \hat{p}_i = \sigma(z_i) $입니다. 우리의 목표는 $ y_i $, $ \hat{p}_i $, 그리고 $ z_i $를 기반으로 Calibrated된 확률 $ \hat{q}_i $를 생성하는 것입니다.
Histogram Binning
Histogram Binning은 간단한 비모수적 Calibration 방법입니다(Zadrozny & Elkan, 2001). 기본적으로, 모든 비Calibrated 예측값 $ \hat{p}i $는 상호 배타적인 여러 개의 Bin $ B_1, \dots, B_M $으로 나누어집니다. 각 Bin은 Calibrated된 점수 $ \theta_m $를 할당받습니다. 즉, 만약 $ \hat{p}i $가 Bin $ B_m $에 할당되었다면, $ \hat{q}i = \theta_m $가 됩니다. 테스트 시에는 예측값 $ \hat{p}_{te} $가 Bin $ B_m $에 속하면, Calibrated된 예측값 $ \hat{q}_{te} $는 $ \theta_m $이 됩니다. 보다 구체적으로, 적절하게 선택된 $ M $에 대해, 우리는 Bin 경계를 다음과 같이 정의합니다: $ 0 = a_1 \leq a_2 \leq \dots \leq a{M+1} = 1 $. 여기서 Bin $ B_m $은 구간 $ (a_m, a_{m+1}] $로 정의됩니다. 일반적으로 Bin 경계는 동일한 길이의 간격으로 선택하거나, 각 Bin에 동일한 수의 샘플이 있도록 조정됩니다. 예측값 $ \theta_i $는 다음과 같은 Bin별 제곱 손실을 최소화하도록 선택됩니다:
$$\min_{\theta_1, \dots, \theta_M} \sum_{m=1}^{M} \sum_{i=1}^{n} \mathbf{1}(a_m \leq \hat{p}_i < a_{m+1}) (\theta_m - y_i)^2,$$
여기서 $ 1 $은 지시 함수(Indicator function)입니다. 고정된 Bin 경계가 주어지면, 이 최적화 문제의 해는 Bin $ B_m $에서 긍정 클래스 샘플의 평균 수에 해당하는 $ \theta_m $으로 나타납니다.
Isotonic Regression
Isotonic Regression은 아마도 가장 일반적인 비모수적 Calibration 방법일 것입니다(Zadrozny & Elkan, 2002). 이 방법은 비Calibrated 출력을 변환하기 위한 구간별 상수 함수 $ f $를 학습하여, $ \hat{q}_i = f(\hat{p}_i) $로 나타냅니다. 구체적으로, Isotonic Regression은 다음과 같은 제곱 손실을 최소화하는 $ f $를 생성합니다:
$$\sum_{i=1}^{n} \left(f(\hat{p}_i) - y_i\right)^2$$
$ f $는 구간별 상수로 제한되므로, 이 최적화 문제는 다음과 같이 표현될 수 있습니다:
$$\min_{M, \theta_1, \dots, \theta_M, a_1, \dots, a_{M+1}} \sum_{m=1}^{M} \sum_{i=1}^{n} \mathbf{1}(a_m \leq \hat{p}_i < a_{m+1}) (\theta_m - y_i)^2$$
$$\text{subject to} \quad 0 = a_1 \leq a_2 \leq \dots \leq a_{M+1} = 1, \quad \theta_1 \leq \theta_2 \leq \dots \leq \theta_M.$$
여기서 $ M $은 구간의 수이고, $ a_1, \dots, a_{M+1} $는 구간 경계이며, $ \theta_1, \dots, \theta_M $은 함수 값입니다. 이 매개변수화 하에서, Isotonic Regression은 히스토그램 Binning의 엄격한 일반화로, Bin 경계와 Bin 예측값을 공동으로 최적화합니다.
Bayesian Binning into Quantiles (BBQ)
BBQ는 히스토그램 Binning을 확장하여 Bayesian 모델 평균을 사용하는 방법입니다(Naeini et al., 2015). 기본적으로, BBQ는 모든 가능한 Binning 스키마를 평균화하여 $ \hat{q}_i $를 생성합니다. 보다 공식적으로, Binning 스키마 $ s $는 $ M $개의 Bin과 구간 $ I $으로 이루어져 있으며, 이 구간은 $ [0, 1] $을 상호 배타적인 구간으로 나누는 것입니다. 히스토그램 Binning과 Isotonic Regression은 각각 단일 Binning 스키마를 생성하는 반면, BBQ는 검증 데이터셋 $ D $에 대해 모든 가능한 Binning 스키마 $ S $의 공간을 고려합니다. BBQ는 각 스키마에 의해 생성된 확률의 Bayesian 평균을 수행합니다:
$$\mathbb{P}(\hat{q}_{te} \mid \hat{p}_{te}, D) = \sum_{s \in S} \mathbb{P}(\hat{q}_{te}, S = s \mid \hat{p}_{te}, D) \\
= \sum_{s \in S} \mathbb{P}(\hat{q}_{te} \mid \hat{p}_{te}, S = s, D) \mathbb{P}(S = s \mid D).$$
여기서 $ P(\hat{q}_{te} | \hat{p}_{te}, S = s, D) $는 Binning 스키마 $ s $를 사용하여 얻은 Calibrated된 확률입니다. 균등한 사전 분포를 사용하여, Bayes 규칙에 따라 가중치 $ P(S = s | D) $를 도출할 수 있습니다:
$$\mathbb{P}(S = s \mid D) = \frac{\mathbb{P}(D \mid S = s)}{\sum_{s' \in S} \mathbb{P}(D \mid S = s')}.$$
파라미터 $ \theta_1, \dots, \theta_M $은 $ M $개의 독립적인 이항 분포의 파라미터로 볼 수 있습니다. 따라서, $ \theta_1, \dots, \theta_M $에 Beta 사전 분포를 설정함으로써, Binning 스키마에 대한 주변 가능도 $ P(D | S = s) $의 폐쇄형 표현을 얻을 수 있습니다. 이를 통해 어떤 테스트 입력에 대해서도 $ P(\hat{q}_{te} | \hat{p}_{te}, D) $를 계산할 수 있습니다.
Platt Scaling
Platt Scaling은 non Calibrated 출력을 Calibration하는 매개변수적 접근법으로, 다른 접근법과는 달리 파라미터를 사용합니다. 이 방법은 분류기의 비확률적 예측값을 로지스틱 회귀 모델의 피처로 사용하여, 검증 세트에서 학습된 후 확률을 반환합니다. 구체적으로, 신경망의 경우(Niculescu-Mizil & Caruana, 2005), Platt Scaling은 스칼라 파라미터 $ a, b \in \mathbb{R} $를 학습하며, $ \hat{q}_i = \sigma(a z_i + b) $를 Calibrated된 확률로 출력합니다. 파라미터 $ a $와 $ b $는 검증 세트에 대해 NLL 손실을 최소화하도록 최적화될 수 있습니다. 중요한 점은 이 단계에서 신경망의 파라미터는 고정된다는 것입니다.
2. Extension to Multiclass Models
다중 클래스 문제(K > 2)에 대한 확장에서는 원래 문제의 정의로 돌아갑니다. 네트워크는 각 입력 $ x_i $에 대해 클래스 예측 $ \hat{y}_i $와 신뢰도 점수 $ \hat{p}_i $를 출력합니다. 이 경우, 네트워크의 로짓(logits) $ z_i $는 벡터로 표현되며, $ \hat{y}_i = \text{argmax}_k z_i^{(k)} $로 정의되고, $ \hat{p}_i $는 보통 소프트맥스 함수 $ \sigma_{SM} $를 사용해 계산됩니다:
$$\sigma_{SM}(z_i)^{(k)} = \frac{\exp(z_i^{(k)})}{\sum_{j=1}^{K} \exp(z_i^{(j)})}, \quad \hat{p}_i = \max_k \sigma_{SM}(z_i)^{(k)}.$$
목표는 $ y_i $, $ \hat{y}_i $, $ \hat{p}_i $, 그리고 $ z_i $를 기반으로 Calibrated된 신뢰도 $ \hat{q}_i $와 (필요시 새롭게 결정된) 클래스 예측 $ \hat{y}'_i $를 생성하는 것입니다.
Binning Methods의 확장
이진 Calibration 방법을 다중 클래스 설정으로 확장하는 일반적인 방법 중 하나는 문제를 K개의 일대다(one-versus-all) 문제로 취급하는 것입니다(Zadrozny & Elkan, 2002). $ k = 1, \dots, K $에 대해, 레이블이 $ 1(y_i = k) $이고 예측 확률이 $ \sigma_{SM}(z_i)^{(k)} $인 이진 Calibration 문제를 형성합니다. 이를 통해 특정 클래스에 대한 K개의 Calibration 모델을 얻을 수 있습니다. 테스트 시에는 Calibrated된 확률 $ \hat{q}_i^{(k)} $를 포함하는 비정규화 확률 벡터 $ [\hat{q}_i^{(1)}, \dots, \hat{q}_i^{(K)}] $를 얻습니다. 이 벡터의 최대값이 새로운 클래스 예측 $ \hat{y}'_i $를 제공하며, 새로운 신뢰도 $ \hat{q}'i $는 벡터의 최대값을 $ \sum{k=1}^{K} \hat{q}_i^{(k)} $로 정규화한 값이 됩니다. 이 확장은 히스토그램 Binning, Isotonic Regression, 그리고 BBQ에 적용될 수 있습니다.
Platt Scaling의 다중 클래스 확장
Platt Scaling의 다중 클래스 확장으로는 매트릭스 스케일링(Matrix Scaling)과 벡터 스케일링(Vector Scaling)이 있습니다. $ x_i $에 대한 소프트맥스 층 이전의 로짓 벡터 $ z_i $가 주어지면, 매트릭스 스케일링은 로짓에 선형 변환 $ Wz_i + b $을 적용합니다:
$$\hat{q}_i = \max_k \sigma_{SM}(\mathbf{Wz}_i + \mathbf{b})^{(k)}, \\
\hat{y}_i = \arg\max_k (\mathbf{Wz}_i + \mathbf{b})^{(k)}.$$
여기서 파라미터 $ W $와 $ b $는 검증 세트에서 NLL을 최소화하도록 최적화됩니다. 매트릭스 스케일링의 경우, 파라미터의 수가 클래스 수 $ K $에 따라 이차적으로 증가하기 때문에, $ W $를 대각 행렬로 제한한 벡터 스케일링이라는 변형 방법이 정의됩니다.
가장 간단한 Platt Scaling의 확장 방법은 Temperature Scaling입니다. 이 방법은 모든 클래스에 대해 단일 스칼라 파라미터 $ T > 0 $을 사용합니다. 로짓 벡터 $ z_i $가 주어지면, 새로운 신뢰도 예측은 다음과 같이 계산됩니다:
$$\hat{q}_i = \max_k \sigma_{SM}\left(\frac{\mathbf{z}_i}{T}\right)^{(k)}.$$
여기서 $ T $는 "Temperature"라고 불리며, $ T > 1 $일 때 소프트맥스 출력을 "부드럽게" 합니다(즉, 출력 엔트로피를 증가시킴). $ T \to \infty $로 갈수록 확률 $ \hat{q}_i $는 최대 불확실성을 나타내는 $ 1/K $에 접근합니다. $ T = 1 $일 때, 원래의 확률 $ \hat{p}_i $가 복원됩니다. $ T \to 0 $로 갈수록 확률이 하나의 점 질량으로 수렴합니다(즉, $ \hat{q}_i = 1 $). $ T $는 검증 세트에서 NLL을 최소화하도록 최적화됩니다. Temperature Scaling은 소프트맥스 함수의 최대값을 변경하지 않기 때문에, 클래스 예측 $ \hat{y}'_i $는 변경되지 않습니다. 즉, Temperature Scaling은 모델의 정확도에 영향을 미치지 않습니다.
Temperature Scaling은 주로 지식 증류(Knowledge Distillation)(Hinton et al., 2015)와 통계 역학(Statistical Mechanics)(Jaynes, 1957)과 같은 설정에서 사용됩니다. 우리가 아는 한, 확률 모델의 Calibration 문맥에서 Temperature Scaling이 사용된 예는 없었습니다. 이 모델은 로짓에 대한 특정 제약을 조건으로 출력 확률 분포의 엔트로피를 극대화하는 것과 동등합니다
참조
'통계 & 머신러닝 > 통계적 머신러닝' 카테고리의 다른 글
[Torch Uncertainty] Installation (0) | 2024.08.22 |
---|---|
[논문] On Calibration of Modern Neural Networks: Results (0) | 2024.08.20 |
[논문] On Calibration of Modern Neural Networks: Miscalibration! (0) | 2024.08.19 |
[논문] On Calibration of Modern Neural Networks: 측정 (0) | 2024.08.19 |
[논문] On Calibration of Modern Neural Networks: Calibration이란? (0) | 2024.08.19 |