NIPS2017読みメモ: Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles(その1)

以下の論文を読みます。

Balaji Lakshminarayanan, Alexander Pritzel, Charles Blundell. Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles. In Advances in Neural Information Processing Systems 30 (NIPS 2017). https://arxiv.org/abs/1612.01474
※ キャラクターは架空のものです。解釈の誤りは筆者に帰属します。おかしな点がありましたらご指摘ください。
次回:まだ
f:id:cookie-box:20190101155733p:plain:w60

ニューラルネットの予測の不確かさを如何に定量化するか」という課題を掲げていますね。重みの分布を学ぶベイジアンニューラルネットというのが現状その課題に対するSOTAな解法であるそうですが、一方でそれは従来のニューラルネットをあまりに改造しなければならず、計算コストもあまりに増大するといっています。そこで本論文では代わりにもっと手軽な手法を考案すると。この手法は分類問題においても回帰問題においても近似ベイジアンニューラルネットと同等以上の不確かさの推定性能を記録したようです…アブストラクトの時点では手法の内容についてはまだよくわかりませんね。

f:id:cookie-box:20190101160814p:plain:w60

従来のニューラルネットをあまり改変しなくて済むってことくらいかな? あと論文のタイトルをみるにモデルをアンサンブルするっぽいね。先に最後の節もみてみようか…あ、ページをめくっていくと9ページの Figure 6 に「不確かな手書き数字」がみえるね。

f:id:cookie-box:20190101155733p:plain:w60

いわれてみればタイトルの Scalable やら Ensembles やらがアブストで回収されていませんね…というか Figure 6 の字汚っ! これはさすがに判定させられるニューラルネットさんも怒っていいでしょう…いえ、通常のニューラルネットさんは「これが数字かどうかはとても不確かなのでは?」と文句をいうことができないのですね。それで、4節の Discussion の2文目が今回の提案手法について言及していますね…しかしここでも何やら「proper scoring rules」「アンサンブル」「敵対的学習」が用いられるらしいことくらいしかわかりません。イントロに戻ってみると、冒頭にはニューラルネットは強力な手法だが「予測の不確かさを定量化するのが不得手で自信過剰な予測をしがち」とあります…えっと、どういうことですか? ニューラルネットって欠陥品なんですか?

f:id:cookie-box:20190101160814p:plain:w60

想像だけど、ニューラルネットが欠陥品というよりは、「人間が1つの正解をアノテートして、それだけを出力させるようモデルを訓練する」というやり方の限界なんだと思う。例えば、入力したメールがスパムメールでないなら 0、スパムメールなら 1 を出力することを目指すニューラルネットなら、x_iスパムメールでないなら  - \log (1 - f(x_i))x_iスパムメールなら  - \log f(x_i) をそのデータの損失として損失の総和を最小化する(つまり正解ラベルのみで1をとる確率分布との交差エントロピーを最小化する)ことを目指すと思うけど、そうして学習したモデルの出力値を「入力したメールがスパムメールである確率」と解釈すべきではないんだよね。というのは、学習の目的関数が「真の分布は正解ラベルのみで1をとる」と仮定しているのがおそらく実際には正しくない。訓練データの中には、「現にスパムメールではあったけどそれが未知メールだと考えるとスパムメールでない確率もそこそこありそう」みたいなメールもあるかもしれない。逆も然り。だから、ある未知のメールを入力したときのモデルの出力が 0.5 だったとしても、それは「訓練データ中の非スパムメールたちとスパムメールたちの分離境界上にあたる」って意味でしかなくて「そのメールは 50% の確率でスパムメールである」ではないかもしれない。分離境界に近い非スパムメールが本当は胡散臭いものだったかもしれないし。モデルの出力が 0.99 だったとしても「訓練データ中のスパムメールに近いが非スパムメールには近くない」って意味でしかなくて「かなり確実にスパムメールである」ということもないかもしれない。その未知メールに近い訓練データ中のメールはスパムだけど非スパムでもありうるようなものだったかもしれない。だからスパムメールフィルタにかけるのは「自信過剰」かもしれない。

f:id:cookie-box:20190101155733p:plain:w60

であれば、厳密な正解ラベルを付ければいいのでしょうか。「このメールは60%の確率でスパムメールで、40%の確率で非スパムメールである」というような。この正解分布との交差エントロピーを最小化するようモデルを訓練すればよいはずです。

f:id:cookie-box:20190101160814p:plain:w60

そういう正解ラベルを付けられるならいいと思うんだけど、付けられるかな?

f:id:cookie-box:20190101155733p:plain:w60

む…確かにイントロの2段落目に、私たちは通常「正しい不確かさ」を知り得ないとありますね。なので、ニューラルネットの応用場面で用いられる2つの評価指標に目を付けたといっています?

  • 1つ目はキャリブレーション…モデルの予測分布と、実際にそれを長期にわたって稼働させたときの頻度分布のずれを測る指標ということでしょうか。モデルがよくキャリブレーションされているかどうかは proper scoring rules なるもので計測されるようです。「モデルの予測は正確でもキャリブレーションされていない場合もあるし、逆も然り」とありますが…? 参考文献は割に古いんですね。
  • 2つ目は「ネットワークが、『ネットワーク自身が何を知っているか』を知っているかを測る」? 「例えばある訓練済みのネットワークを訓練データからかけ離れたデータでテストしたら、ネットワークの予測は不確かであるべきだ」と…いっていることはわかる気はします。本当にネットワークが知らないはずのデータを入力しても自信満々に予測するなら「そのネットワークは自信過剰なのではないか」となりそうです。
誤って自信満々に予測してしまうのを防ぐことや、データの様相が変わったときにも正しい不確かさで予測することは、天気予報や医療診断など多くの実用分野で重要だとありますね。それはそうでしょう。

f:id:cookie-box:20190101160814p:plain:w60

モデルの正確さとキャリブレーションの話は、「予測分布の最頻値による予測の正解率はよいが、予測分布としてはフィットしていない」「予測分布はよくフィットしているが、最頻値による予測の正解率はよくない」ということなのかな。

f:id:cookie-box:20190101155733p:plain:w60

なるほど。次の段落で、ニューラルネットで不確かさを扱おうとする方法として主流なのはベイズ的なネットワークの重みの分布の更新とありますが、これで先の正解ラベルが厳密でない問題って解決します?

f:id:cookie-box:20190101160814p:plain:w60

厳密な正解ラベルが付けられないという点は解消されないよ。解消されたのは「訓練データの正解ラベルを目指すべき真の分布とする」という考え方だろう。

f:id:cookie-box:20190101155733p:plain:w60

はあ。続きをみると、しかし厳密なベイジアンニューラルネットは取り扱うのが大変なので、近似的なアプローチがよく用いられるということなんですね。ラプラス近似や MCMC、変分ベイズ法、仮定密度フィルタリング(assumed density filtering)、期待値伝搬法(expectation propagation)、各種の確率的勾配MCMCなどが挙げられています。そしてベイジアンニューラルネットの予測の不確かさは、その計算手段の制約に起因する近似の度合いや、事前分布に依存すると。まあそれでなんか結局ベイジアンニューラルネットは実装も大変だし計算も遅いのでもっと従来のニューラルネットを改変せずに予測の不確かさを取り扱いたいといっていますね。

f:id:cookie-box:20190101160814p:plain:w60

そんなに近似解法挙げておいて!?

f:id:cookie-box:20190101155733p:plain:w60

それで近年、Gal and Ghahramani という方が予測の不確かさを推定するために評価時にモンテカルロドロップアウト(MC-dropout)する手法を提案したそうです。

Gal and Ghahramani さんの提案内容は追えていないのですが、dropout はある種モデルのアンサンブルととらえられ、本論文でも予測の不確かさを推定するのにモデルのアンサンブルを利用するようですね。その次の段落は何をいいたいのでしょう…どうも、モデルのアンサンブルと Bayesian model averaging(BMA)は似て非なるものだといいたいようですね。BMA は考え方としてはソフトに(重み付き平均で)1つのモデルを選択しようとするものだが、アンサンブルはモデルを組み合わせようとするものであると。BMA というものをよく知らないのですが、色々な異なるモデルを事後確率で重み付けして足し合わせて1つのモデルとするものであるようですが、確かに対してアンサンブルというのは同じモデルを別々に抽出したデータセットで学習して組み合わせるといったものと思うので、違うようにみえます。しかしなぜここで急に BMA を目の敵にしたのかがよくわかりませんが…。

f:id:cookie-box:20190101160814p:plain:w60

次の段落にこの論文の要点がまとめられているのかな。つまり、proper scoring rule を利用して分布を予測するニューラルネットを学習する手法、および予測の不確かさの推定のよさを評価するタスクを提案するみたいだね。

f:id:cookie-box:20190101155733p:plain:w60

イントロの最後の段落は、ディープアンサンブルや敵対的学習の、不確かさの推定への有用性について調べ、かつ SOTA な近似ベイジアンニューラルネットと比較検証したのは本論文が初めてだとかそんな感じですかね。

(次回があれば)つづく