モデルが出力する「予測の不確実性」はどこまで信用できますか?(1/2)

モデルが出力する「予測の不確実性」はどこまで信用できますか?(1/2)

1.モデルが出力する「予測の不確実性」はどこまで信用できますか?(1/2)まとめ

・学習時に使用したデータと製品展開後に扱うデータが同じようなデータ分布になる事は現実世界では少ない
・トレーニングデータと実際のデータの分布に差がある事は「共変量シフト」として知られている
・共変量シフトや分類外データを扱う際にモデルが出力する「予測の確実性」は信頼できるのかを調査した

2.共変量シフトとは?

以下、ai.googleblog.comより「Can You Trust Your Model’s Uncertainty?」の意訳です。元記事の投稿は2020年1月15日、Jasper SnoekさんとZachary Nadoさんによる投稿です。アイキャッチ画像のクレジットはPhoto by Andy Kelly on Unsplash

理想的な世界では、学習時に使用したデータと製品展開後に扱うデータが同じようなデータ分布になるため、ディープラーニングなどの機械学習(ML)が製品に展開された後でも問題は発生しません。

しかし、現実世界ではまったく異なる状況が発生する場合があります。カメラのレンズの不具合でぼやけた写真が撮影されたり、センサーが劣化して収集データが異常なデータになったり、人気のあるオンライントピックの定義が従来の定義から変更されたりすると、モデルがトレーニング時に使ったデータとモデルが実際に分類するデータに差が発生します。この差とは、数学的に言えばデータの分布が違う事であり、これは「共変量シフト(covariate shift)」として知られています。

例えば、胸部X線画像から肺炎を検出するように訓練された深層学習モデルが、画像の取得と処理時の微妙な違いが一因で、診断精度が非常に異なってしまう事が最近観察された事が「Variable generalization performance of a deep learning model to detect pneumonia in chest radiographs: A cross-sectional study」で発表されています。学習時に使われなかった病院のデータを使うとこのような事が起こり得ます。

2019で発表した論文「Can you trust your model’s uncertainty? Evaluating Predictive Uncertainty Under Shift」では、最新の深層学習モデルの不確実性に関するベンチマークを行っています。これは、モデルが前述の「データ分布の変化(shifting data distributions)」や後述の「分類外データ(out-of-distribution data)」に直面した際の不確実性を測定するベンチマークです。

この研究では、画像、テキスト、オンライン広告データなど、様々な入力データについて検討を行いました。ディープラーニングモデルを徐々に変化していくこれらのテストデータに直面させ、予測確率がどのように変化するか慎重に分析しました。また、モデルの不確実性を改善するための様々な手法を比較して、分布が変動する状況下でどの戦略が最適に機能するかを調べました。

分類外データ(Out-of-Distribution Data)とは何でしょうか?
ディープラーニングモデルは予測をする際に、「モデルの信頼度」または「予測の不確実性を表す確率」を出力する事ができます。これにより、ディープラーニングモデルは「そのデータが何なのか知らない」と言う事を表現することができ、これを参考にすれば、データが学習時に使ったトレーニングデータとかけ離れている時の予測を控えることができます。共変量シフトが起こっている場合、精度が低下するにつれて不確実性は理想通りに増加します。

より極端なケースは、トレーニングセット内に全くデータが存在しない場合です。つまり、データが分類外データ(OOD)の場合です。例えば、猫と犬の画像を分類する画像分類器に飛行機の画像を入力した場合はどうなるかを考えてみましょう。

モデルは自信を持って間違った予測をしてしまうのでしょうか?それとも、低い確率で猫、または低い確率で犬と予測するでしょうか?

最近投稿された関連記事「Improving Out-of-Distribution Detection in Machine Learning Models」では、このようなOODの例を特定するために開発した方法について議論しました。

今回の研究では、代わりに、分類外データ及びシフトしたデータを与えられた際のモデルの挙動を分析します。モデルが出力する「モデルの信頼度」または「不確実性を表す確率」が、「モデルがデータを予測する能力」を実際に反映しているかどうかを確認したのです。

不確実性の品質を定量的に判断する
「あるモデルがその不確実性を別のモデルよりもよく表現出来ている」はどういう事なのでしょうか?

これは多くの場合、下流タスクによって定義される微妙な問題ですが、確率的予測の品質を定量的に評価する一般的な手法は存在します。

例えば、気象コミュニティはこの質問を慎重に検討しています。精度を考慮しつつ適切に品質をスコア付けするために、天気予報の確率を比較する関数が満たすべき適切なスコアリングルールのセットを開発しています。

ブライアスコア(Brier score)や負の対数尤度(NLL:Negative Log Likelihood)などのこれらの適切なスコアリングルールを、ECE(expected calibration error)などのより人間が直感的に理解できる指標と共に適用して、データセットが変化する際に異なるMLモデルがどのように不確実性を処理したかを理解しました。

実験内容
データセットの変化が画像、テキスト、オンライン広告データ、ゲノミクスなどのさまざまなデータにおいて不確実性に与える影響を分析しました。

例として、人気のある画像理解ベンチマークであるImageNetデータセット内のデータに変更を加えた際の影響を示します。ImageNetでは、100万を超える画像が1000の異なるカテゴリに分類されています。

現在、ImageNetを使って確かめる事のできる課題はほぼ解決されていると考えられており、Corrupted Imagenet(またはImagenet-C)など、より強力な改変版が開発されています。Corrupted Imagenetでは、Imagenetの各画像データをそれぞれ16の異なる現実的に起こり得る破損状態に破損させています。
破損は、5つの異なる強度で行われており、これにより更にImagenetのデータ数を水増しさせています。


Corrupted Imagenetの画像の破損と強度がモデルの不確実性にどのように影響するかを調査しました。
上に表示されているのは、強度レベル3(最大5)の画像破損の事例です。

3.モデルが出力する「予測の不確実性」はどこまで信用できますか?(1/2)関連リンク

1)ai.googleblog.com
Can You Trust Your Model’s Uncertainty?

2)arxiv.org
Can You Trust Your Model’s Uncertainty? Evaluating Predictive Uncertainty Under Dataset Shift
On Calibration of Modern Neural Networks

3)journals.plos.org
Variable generalization performance of a deep learning model to detect pneumonia in chest radiographs: A cross-sectional study

4)github.com
google-research/uq_benchmark_2019/