「分からない」と答えるAI
こんにちは豆蔵note編集室です!
今回は豆蔵技術情報より、【分からない」と答えるAI】をご紹介します。
豆蔵技術情報とは?
株式会社豆蔵公式HPにて公開している技術情報のことです。
その時にホットな技術的な情報、社内の活動について発信をしております。
それではどうぞ!
AI技術チームの藤堂です。AIのビジネス適用が進められている中で、開発したAI製品やサービスの信頼性をステークホルダーにうまく説明できず、開発・運用に至らない、もしくは運用停止に至るケースがあるということを耳にします。このような背景から近年、AIの品質や信頼性といったワードが注目され、各所からガイドラインが発行されています[1,2]。今回は、そのようなAIの信頼性向上に繋がる技術として、学習に使用していない分布外のデータが入力されたときに「分からない」と答えるAIを紹介します。具体的には、今年発表され注目されたVirtual Outlier Synthesis (VOS) [3]と呼ばれる技術を取り上げます。
記事の構成として、まずAIの課題として知られる分布外データに対する誤判定について述べ、次にその対処法として分からないことを理解するAIについて説明します。最後に、そのようなAIを適用する場面について考察します。
1. 分布外データに対する誤判定
AIとして用いられる深層学習は、過去のデータからデータの傾向を学習し活用することで、時には人間をこえるような性能を発揮します。ただ一方で、人間では考えられないような間違った判断をすることもあります。図1左図は深層学習を用いたAIが「ヘラジカ」を「歩行者」だと、89%という高い信頼度で誤答する例を示しています。一点重要な事実として、このAIはヘラジカの画像を分類するように学習していません。言い換えると、このAIにとってヘラジカの画像は学習データの分布の外のサンプル、OOD (Out of distribution)サンプルということになります (図1右図)。
以上のように、AIはOODサンプルに対して過信した誤判断を下すことが課題として知られています。この課題はAIの学習外データに対する脆弱性として知られ、AI技術記事第3回[4]でご紹介した「ドメインシフト」と呼ばれる課題と、分布外のデータの推論による性能低下という点では本質的に同じです。また、これは画像系の深層学習特有の課題ではありません。元々従来型の機械学習で知られていた課題であり、テーブルデータやテキストデータをはじめとしたあらゆる機械学習への応用で生じ得ます[5]。
2. 分からないことを理解するAI
それではどのようにこの課題に対処するのでしょうか?筆者は大きく2つの解決方法があると考えています。第一の方法は、大量かつ多様なデータを学習することで多様なデータ表現を獲得する方法です。この方法は、最近のAIのトレンドである「基盤モデル」に由来します。基盤モデルとは、大量のデータを自己教師あり学習で訓練する巨大深層学習モデルのことで、分布外データに対して誤判断をしにくいことが示されています[6]。第二の方法は、入力データが学習データの分布内にあるのか分布外にあるのかを判定する方法です。言うなれば第一の方法は、「分からないことがないAIを作る」という目的に対し、第二の方法では「分からないことを理解するAIを作る」ことを目的とします。
では、第二の方法「分からないことを理解するAI」について少し掘り下げて説明します。そもそも機械学習を用いたAIがなぜOODサンプルに対して脆弱なのかというと、機械学習はデータから入力と出力の関係は学習しますが、入力データの分布(学習データの分布)は明示的に学習しないためだと考えられています(注1)。このことを、入力サンプルが学習データ分布の内か外かを判定する基準数値としてIDスコア(In-distributionスコア)を導入し、説明したのが図2です。この図はデータが表現される空間(特徴量空間)のIDスコアを模式的に示しており、機械学習モデルがどの領域を学習分布内(ID)と判断し、逆にどの領域を学習分布外(OOD)と判断するかを描いています。従来の機械学習では、左図のように学習データ点(灰色の点)が存在する領域が学習分布内(赤い領域)と判断されず、逆に学習データ点と離れた領域が学習分布内と評価されます。理想的には右図のように、学習データ点が存在する周りだけが学習分布内と判断され、それ以外は学習分布外と判断されることが望ましいです。
このような学習データの分布を明示的に学習・識別する技術として、Virtual Outlier Synthesis(VOS)が提案されました[3]。VOSには大きく2つの技術要素があります。1つ目はIDスコアの一種であるエネルギースコア[7]を導入することです。2つ目がユニークで、機械学習モデルの学習時に実データの周りに仮想的なOODデータを生成し、OODデータに対してIDスコアを下げる方向に、実データに対してIDスコアをあげる方向に訓練することです。技術的な詳細は元論文[3]をご参考ください。
図3はOODサンプルに対しVOSを適用したAIの結果を示しています。図3の画像内の対象は、いずれも学習データに含まれません。上の並びの画像はVOSを使って学習していないAIを適用した結果で、下の並びは上と同じ画像に対してVOSで学習したAIを適用した結果を示しています。素のAIで誤判断した物体に対し、VOSを使用することでOODと判断することができます。例えば、左から2番目の画像は人間の目からは「交通標識」ですが、素のAIは「電車」と判断し、VOSを使うと「OOD」と判断します。このようにVOSを使うことでOODサンプルに対し、「学習データ分布の外だから分からない」と判断することができます。
注1) 入力xと出力yに対し、多くの機械学習モデルではxとyの関係y=f(x)を学習しますが、入力分布p(x)は学習しません。
3. 利用場面・ユースケース
最後にVOSのような技術を、どのような場面で使用できるかを議論します。まず考えられるのは、自動運転のシステムや一般ユーザー向けのAIサービスなど、オープンワールドのデータを対象としている場合です。これらのケースでは入力される画像が非常に多岐にわたり、すべての対象を包含するような学習データを用意することは実質的に不可能であるため、分布外データの入力が頻発することが予想されます。このようなケースにおいてAIの誤判断は、交通事故やユーザーからの信頼性を下げる結果に繋がる可能性があります。
次に考えられるのは、ドメインが変わる場合です。既に運用中のAIシステムをスケールさせるために、別の拠点や国などに導入する場合、人間からすると別拠点でも識別対象が同じであると分かりますが、AIからすると分布外となってしまう可能性があります。その結果AIの精度が下がってしまい、従来のAIではその原因が分布外であることが分からないため、ステークホルダーに精度低下の原因をうまく説明できない状況が想像されます(注2)。VOSを使うことで分布外であることが分かるので、その原因を説明しやすくなるでしょう。
今回ご紹介したVOSという技術は、今あるAIの付加情報として学習データの分布内外の判断をします。あらゆる場面で必要かというと決してそうではなく、AIの品質が求められる状況で、とくにオープンワールドデータを入力としたときの誤判定の原因を理解したり、ドメインの違いを理解したりする場面で活用できるでしょう。現在、AIの分野では特定の課題を解決するための様々な技術が、日々開発されています。AIに携わるエンジニアは、これらの技術を取捨選択し、利用シーンに応じて適切に使い分ける能力が求められます。
注2) 例えば医療分野において、ある病院のX線画像から肺炎を診断できるように学習した機械学習モデルが、別の病院のX線画像に適用するとうまく肺炎と診断できずモデルの性能が下がってしまうことが知られています[8]。この明確な理由は定かではありませんが、論文内では、その病院の本来肺炎とは関係ない、撮像システムやプロセスに起因する何らかの画像の特徴と肺炎の有病率とが相関することが要因として考察されています。機械学習モデルはその病院特有の画像特徴を学習・使用することでその病院の画像には正しく肺炎と判断できますが、他の病院の画像にはその特徴が含まれないため判断を誤ってしまいます。
参考
[1]機械学習品質マネジメントガイドライン(2021). 国立研究開発法人産業技術総合研究所[2]AIプロダクト品質保証ガイドライン(2022) AI プロダクト品質保証コンソーシアム[3]Du, Xuefeng, et al. "VOS: Learning What You Don't Know by Virtual Outlier Synthesis." arXiv preprint arXiv:2202.01197 (2022).[4]豆蔵AI技術チームによる技術発信「第3回:ドメインシフトと機械学習の性能低下」(https://www.mamezou.com/techinfo/AI_machinelearning_rpa/AI_tech_team/3)[5]Barrino, Marco, et al. "The security of machine learning." Machine Learning 81.2 (2010): 121-148.[6]Bommasani, Rishi, et al. "On the opportunities and risks of foundation models." arXiv preprint arXiv:2108.07258 (2021).[7]Liu, Weitang, et al. "Energy-based out-of-distribution detection." Advances in Neural Information Processing Systems 33 (2020): 21464-21475.[8]Zech, John R., et al. "Variable generalization performance of a deep learning model to detect pneumonia in chest radiographs: a cross-sectional study." PLoS medicine 15.11 (2018): e1002683.
※転載元の情報は上記執筆時点の情報です。
上記執筆後に転載元の情報が修正されることがあります。