Coda

論文メモ On Calibration of Modern Neural Networks

November 23, 2019

ネットワークの複雑化、バッチ正則化、重み減衰を使わない、負の対数尤度の過学習が汎化精度を上げるが、予測確率と精度のズレを大きくすることを実験的に示した。 予測確率を補正する6つの手法を19種類のクラス分類のデータセットに適用した結果、 最も補正できたものは、温度つきソフトマックスの出力を予測確率にする場合であった。

ネットワークの複雑化とズレの関係を調べる実験では、LeNet(1998)とResNet(2016)のCIFER-100への適用結果を比較している。 下の左右の図は、それぞれLesNetとResNetの精度と予測確率のズレを示す。 accuracy vs confidence 青いヒストグラムは、一定区間内にある予測確率で推定されたサンプルについての精度を示す。 Gapが小さいほどズレがないことを意味する。 LesNetと比べ、ResNetはエラー率が低くてGapが大きく、ズレの拡大を許して精度を上げている。

ズレ幅と補正は、Expected Calibration Error(ECE)で評価される。 クラスを\(Y\in\mathcal{Y}=\{1,\dots ,K\}\)、予測されたクラスを\(\hat{Y}\)、予測確率を\(\hat{P}\)とおくと、ズレのない状態は以下のように定義される。 $$ \mathbb{P}\left(\hat{Y}=Y\mid \hat{P} = p\right) = p, \forall p\in [0, 1] $$ ECEは、\(p\)からの左辺と右辺の差の期待値を意味する。 $$ \mathbb{E}\left[\big|\mathbb{P}\left(\hat{Y}=Y\mid\hat{P}=p\right)-p\big|\right] $$ \(p\)は連続量なので、ECEは次のように有限のデータで差を求めるために近似する。

$$ ECE =\sum^{M}_{m=1}\frac{\mid B_m \mid}{n}\big|acc (B_m) - conf (B_m)\big| $$ ただし $$ acc(B_m) =\frac{1}{\mid B_m\mid}\sum_{i\in B_m}\boldsymbol{1}(\hat{y}_i - y_i) $$ $$ conf(B_m) = \frac{1}{\mid B_m \mid}\sum_{i\in B_m}\hat{p_i} $$ である。 補正は、補正の前後でのECEの差で評価できる。

実験された補正方法の中で最もECEを小さくできたのは、温度つきソフトマックスであった。 温度つきソフトマックスによる補正では、 ソフトマックスへの入力を\(\boldsymbol{z}_i\)とすると、 次のように温度\(T\)によって補正された\(\hat{q}_i\)を予測確率とみなす。 $$ \hat{q}_i=\max_{k} \frac{\exp(z_i/T^{(k)})}{\sum_{j=1}^{K}\exp({z_i/T}^{(j)})} $$ 温度\(T\)は、検証データを使い、負の対数尤度を誤差関数とする学習で求められる。