2021.11.4

予測の不確かさを利用したAIモデルの信頼性の定量化

ー教師なし異常検知を題材にー

AIのビジネス活用を進めて行くために、あるべき仕組みとは_サムネイル

こんにちは、AITC 製品開発グループの太田です。

機械学習の技術を搭載した実アプリケーションが増えてきた昨今、機械学習システムはCRISP-DM機械学習の安全性機械学習の品質など、モデリング以外の部分が多くなっていると思います。

本コラムでは、機械学習の安全性において、重要な機能である「予測の不確かさ」を、画像を用いた異常検知タスクに適応する例をもとに、予測の不確かさの必要性について考えたいと思います。

AIの出力を人間が評価する際に重要となる「予測の不確かさ」


「予測の不確かさ」とは、何か?

本コラムでは、予測のばらつきを「予測の不確かさ」とします。

予測のばらつきとは、ある入力データに対して、モデルが複数の予測結果を示し、その予測結果のばらつきのことを指します。

このとき、複数の出力結果が全て同じ結果ならば、予測の不確かさは小さいといいます。逆に複数の出力結果が、バラバラの場合に予測の不確かさは大きいといいます。


なぜ「予測の不確かさ」が生まれる?

データにノイズが多いもとでモデルを訓練したときに、「予測の不確かさ」が大きくなります。これは、モデルが訓練データからでは予測が1つに定まらず、「わからない」ことを示します。

さらに、訓練データ内に似たサンプルがないときに、「予測の不確かさ」を大きくなります。これは、モデルがサンプルを初めて見たということで、予測に自信がなく、「知らない」ことを示します。


そもそも、なぜ予測の不確かさが必要なのか?

それは、モデルの予測結果を信頼できるか人間が判断するためです。モデルの予測が当たっている場合は、人間はそのモデルを信頼できると感じますが、外れると不信感を抱くことになります。

予測が外れたとき、どうして予測が外れたのか、モデルに聞くすべを用意する必要があります。そんな時、予測の不確かさを用いることで学習後のモデルがなぜ予測を外したのか分析することができます。

本コラムの内容に関連づけると、通常の異常検知モデルでは、予測の確信度を持って、閾値を基準に異常かどうか判定します。

しかしこのような判定方法では、モデルが確信度の出力に自信を持って異常と判断しているのか、自信なく異常と判定しているのかわかりません。

そこで、予測の不確かさを出力することで、異常検知モデルにとって、訓練データ内で見たことがない(予測に自信のない)入力データを見つけることができます。

教師なし異常検知への応用例を紹介

ここからは、画像の教師なし異常検知手法実装コードも公開されており、性能も良いPaDiMに予測の不確かさを加えることで、検出された異常部分に対するモデルの予測の自信を評価する例を用いて予測の不確かさの有効性について説明していきたいと思います。

モデルの出力結果は、画像内のどの領域に予測の自信がないのか調べることができます。もし入力サンプルが異常画像であれば、異常データは訓練データにはないので、予測の不確かさが大きくなっていることを確認できます。


今回の例で題材となる画像の異常検知モデルとは?

画像の異常検知モデルは、製造業の外観検査などに使用されています。経済産業省のこちらの資料「中小企業のAI活用促進について」では外観検査を取り上げています。


画像の教師なし異常検知に予測の不確実性を導入するメリットとは?

下の表ではモデル設計者と現場の方の両方の視点から整理しました。

予測の不確かさを入れた場合と入れない場合の異常検知の違い

ここから、より詳細に説明します。

今回のメインタスクは、ピクセルレベルの教師なし異常検知です。ピクセルレベルの教師なし異常検知は、訓練では、正常なサンプルのみが与えられ、テスト時には、異常サンプルと正常サンプルが用意されています。また、異常サンプルには、ピクセルレベルで異常箇所を示すマスクも含まれます。

データセットは、MVTecのデータセットを用います。MVTecは、異常検知に使われている工業検査のデータセットMVTec Anomaly Detection Dataset(MVTec AD)です。

網やカーペットなどのテクスチャ5種類とネジ、ナッツなどオブジェクトが10種類あります。各クラスにつき異常画像と、画像の異常箇所を表すマスクも含まれています。

MVTec Anomaly Detection Dataset(MVTec AD)

MVTec Anomaly Detection Dataset(MVTec AD)から引用

アルゴリズムは、著者による実装コードも公開されており、性能も良いPaDiMを用います。

PaDiMは特徴ベースな異常検知手法です。具体的には、正常データの特徴分布とテストサンプルとの距離を特徴空間上で測り、閾値以上距離が離れている場合、異常とみなすアプローチです。

モデルの具体的な説明は、こちらの記事をご参照ください。

深層学習における予測の不確実性の定量化は、4種類あります。

  1. 単一のNNを用いて決定論的に不確実性を定量化する方法
  2. 複数の決定論的なNNを用いるアンサンブル方法
  3. 確率的なNNであるベイジアンニューラルネットワーク
  4. テスト時にサンプルをデータ拡張する方法

詳しく知りたい方は、サーベイ論文を参照してください。

今回は学習済みモデルをそのまま利用するPaDiMと一番相性が良いアンサンブル方法を採用します。

採用したモデルは以下の5つのモデルです。
Resnet-18、Resnet-34、Resnet-50、Resnet-101、wide-resnet-50-2

初めに、全体の性能を把握するため、それぞれの単独モデルとアンサンブルした結果をimage-AUROC、pixel-AUROCで評価し、以下の表に示します。

MVTecの結果

MVTec Anomaly Detection Dataset(MVTec AD)から引用

実験の結果から、最右列から二番目のWide-ResNet50-2の性能が最も高く、最右列のアンサンブルは2番目に高いことがわかり、性能面では大きな問題はありません。

次に、定性的な評価をします。まず、Bottleのカテゴリにおいて、正常に異常画像を異常と判断した結果をResNet18の結果と比較してみます。

上段がResNet18、下段がアンサンブルの結果を示します。アンサンブルの予測マップを見るとどのモデルでも異常と判定した部分は赤く示されています。5つのモデルの予測結果の不一致度は、モデルの不確かさ(下段最左列)を見ると分かります。

黄色であるほど意見がばらついており、現在のデータとモデルから異常かどうか判断するのが難しい箇所です。これは、モデルが予測に自信がないことを示します。

注目してほしいのは、モデルの不確かさ(下段最左列)の異常箇所(上段左二列目の白い領域)に関しては、意見が一致しているため、不確かさが低い点です。このデータに関しては、モデルは、自信を持って、異常と予測をしているので、機械学習システムの結果を信頼することができます。

MVTecの結果

MVTec Anomaly Detection Dataset(MVTec AD)から引用

次に、ヘーゼルナッツのカテゴリにおいて、個別モデルでは異常サンプルを正常と予測したが、アンサンブルでは異常を異常と予測した結果を示します。アンサンブルは、異常部位を予測していますが、モデルの不確かさを見ると異常部位に関して不確かさが高く、人手での確認を必要としています。つまりこの部分では予測の信頼性が低いと言えます。

MVTecの結果

MVTec Anomaly Detection Dataset(MVTec AD)から引用

最後に、網のカテゴリに対して、アンサンブルでも、異常サンプルを見抜けなかった結果を示します。ただし、モデルの不確かさを見ると、異常部位に関して不確かさが高いことが分かります。

MVTecの結果

MVTec Anomaly Detection Dataset(MVTec AD)から引用

これらの結果から、異常検知に「予測の不確かさ」を導入することで、予測の自信のなさを定量化でき、誤分類したサンプルを検出するのに役立たせることができます。また、どのサンプルの予測には、機械学習システムを信頼し、どのサンプルを人間によって確認すべきかを明からにすることが可能です。

まとめ

本コラムでは、昨今、必要性が増している機械学習システムの安全性や信頼性に関して、予測の不確かさに焦点を当てて考察しました。特に、安全性や信頼性が必要となる異常検知に予測の不確かさを用いて、それらを定量化する方法を画像の異常検知を例に説明しました。

そして、不確かさによる定量化手法は、いつ機会学習システムを信頼し、いつ人間による目視確認が必要になるかの手がかりになることが分かりました。

参考文献

[CRISP-DM] Wirth, Rüdiger, and Jochen Hipp. "CRISP-DM: Towards a standard process model for data mining." Proceedings of the 4th international conference on the practical applications of knowledge discovery and data mining. Vol. 1. London, UK: Springer-Verlag, 2000.

[機械学習の安全性] Hendrycks, D., Carlini, N., Schulman, J., & Steinhardt, J. (2021). Unsolved Problems in ML Safety. arXiv preprint arXiv:2109.13916.

[機械学習の品質] https://www.cpsec.aist.go.jp/achievements/aiqm/

[MVTec] Bergmann, P., Batzner, K., Fauser, M. et al. The MVTec Anomaly Detection Dataset: A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection. Int J Comput Vis 129, 1038–1059 (2021). https://doi.org/10.1007/s11263-020-01400-4

[教師なし異常検知手法] Defard, Thomas, et al. "PaDiM: A patch distribution modeling framework for anomaly detection and localization." International Conference on Pattern Recognition. Springer, Cham, 2021.

[深層学習における不確かさ] Gawlikowski, Jakob, et al. "A survey of uncertainty in deep neural networks." arXiv preprint arXiv:2107.03342 (2021).

執筆
AITC 製品開発グループ
太田 真人