予測がどれくらいの確信度のものなのか, また入力がそのモデルが確かに予測できるデータの分布から外れていないか (out-of-distribution detection) といった問題を考える.
ラベルの予測器を拡張して確信度 \(c \in [0,1]\) も同時に出力するようにする. 下図は彼らが画像認識をNNで組んだときのネットワーク図. 最後の方で全結合層で分岐させて最後に sigmoid を噛ましたと述べている.
画像認識のような多クラス分類だとすると, 本来ラベル予測器は \[p = f(x; \theta)\] \[\sum_i p_i = 1, p_i \geq 0\] の形をしているが, これを \[(p, c) = f(x; \theta)\] にする.
さて \(c\) の教師データは直接与えられないので次のように hint を与えることで間接的に学習させる.
教師データ \((x, y)\) について,
この \(\mathcal L\) を損失関数にして学習する. 通常の教師あり学習は \(c=1\) の場合に相当する.
教師データを完全には信用しない学習なので, 嘘のラベルが混じっていてもよくなるのかも?
ただしこれだけだと, 常に \(c=0\) と予測すれば最適解になるので, \[\mathcal L(x, y) - \log c\] を改めて損失関数にする. もちろんこれの最適解は \(c=1\) であって, 常に正しい予測をする場合になる.