襖からキリン

読んだ論文まとめ。

予測の不確実性(Predictive Uncertainty)の原因を整理してみた。

このブログでは、機械学習における不確実性の原因を紹介します。 紹介していく中で、予測の不確実性の定量化に関する研究の背景の一部を自分の言葉で説明していきます。

想定読者:仕事、研究でAI関連に携わる方々のうち、予測の不確実性をふんわりしか知らない人。 このブログではMCMCキャリブレーションやアンサンブル、分布外検知など、出てきません。

現在、AIの研究では、予測の不確実性を定量化する研究が盛んに取り組まれています。 この研究背景には、XAIの観点で、モデルはいつ自信を持って予測できるのか、予測に自信がない場合の理由は何かを知りたいからだと考えています。 広く言うと、AIシステムの出力結果をもとに意思決定者を支援したいから、だと思っています。

f:id:masamasa59:20220404204609p:plain
不確実性の定量化の必要性

なぜ不確実性の定量化おこなうのか、のお気持ちをもう少し紐解いていくと、 予測の不確実性の生成過程を整理することにつながったため、自分の理解も含めて文字起こししました。

予測の不確実性の定量化の技術動向は、別の資料を参照してください。

不確実性とは

「不確実性」は、ある結果に対する知識の欠如を指して使われます。 知識の欠如は、結果に至るまでで、何かしらがわからない、知らない、理解できていないことを伴っている状態とします。 知識の欠如がもとで、結果にばらつきが生まれます。

結果に対する知識の欠如はどうして生まれるのでしょうか。

[Gershon 98]の知識の欠如の原因をもとに考えると、データ収集時でいくつか考えられます。

  • 例えば、データに欠損があり、欠損部分が何かわからないから、結果に不確実性が伴う。
  • データが少なく、現象の一部分しか見えていないから。
  • 複雑な要因をもとにデータが集まり、データの生成過程が不明だから。
  • 元から一貫性のない情報からデータ収集され、真実がわからず再現性がないから。
  • 収集方法に人間の主観が含まれているから。

と様々です。 さらに、機械学習モデルを構築する中で、アノテーションや、モデル選択を含め、様々な過程で不確実性が生まれます。

つまり、データ収集時でさえ、予測結果に対する不確実性の原因は様々あり、別のシーンでも不確実性の原因は眠っています。 それらが組み合わさって予測の不確実性が定量化されているということです。 このブログでは、不確実性が生まれるタイミングを分け、それぞれでどうして生まれるのかを説明します。

不確実性を定量化したい背景

不確実性が現れる原因は多数あるとわかりました。 では、不確実性を定量化したいモチベーションはどこにあるのでしょうか。 よくある例を題材に説明します。

不確実性は既に定量化されているのでは?

AutoMLの分類タスクでも、ソフトマックス関数を使っていると確信度が出力されるので、それを可視化すればいいじゃないかと思う方もいるかもしれません。

それは正しいですが、確信度の値を持って、人は何をどう意思決定すればいいのでしょうか。 例えば、あるテキストに対して、あるクラスの確信度(0~1)が0.5でした。

確信度0.5と言われると、AIの結果を重視するのを躊躇いますか。

これは、誰がAIの結果をもとに意思決定するのかで変わると思います。 もしあなたがテキストの知識がある程度ある人であった場合、自分と答えが同じか確認するでしょう。 確信度が0.5と出力され、自分と同じ答えであれば、確信度の原因が気にはなりますが意思決定は変えないでしょう。 ただ、自分と違う答えであれば、自分のミスを疑いつつ、AIの結果に疑問を持つと思います。 そして、AIシステムから予測の不確かさの背後にある原因をフィードバックされないと、AIシステムへの信頼が失われていくと思いませんか。

このように確信度だけでは、不確実性の原因を特定することができず、利用者の意思決定の支援に役立てるのが難しいケースがあります。 もちろん、確信度を目安に使うだけで意思決定に影響なく、問題ないケースもあります。リスクの観点がポイントです。

このような背景もあり、不確実性の原因を特定するために、予測の不確実性を分解する形でOOの不確実性の定量化といった個別ケースの不確実性の定量化が取り組まれています。例えば、データの不確実性、モデルの不確実性があります。 このブログでは、OOの不確実性のOOに入る個別ケースを整理します。 中には定量化できていないもの。定量化方法が難しいものがあります。 しかし、大雑把に不確実性の原因がわかれば、後はデータ分析である程度の原因が明らかにでき、AIシステム提供者として利用者にフィードバックができると考えています。 また、不確実性の原因を解決するためにデータを収集するなど、モデル改善の意思決定にもつなげることができます。

似たような話で、ICML2021 Workshop "Uncertainty and Robustness in Deep Learning"のチュートリアルでは、予測モデルがまず間違っていることを知ることが役立つという話がありました。

f:id:masamasa59:20220404205331p:plain
ICML2021 Workshopの資料から抜粋

不確実性の原因を3つの観点で整理

ここまで、不確実性の原因を知りたい背景を説明しました。 ここから、本記事のテーマである不確実性の原因について整理していきます。 不確実性の原因を[Thomson 05]や[Skeels 2009]や[Gawlikowski 21] をもとに、3つの観点で順番に説明します。

  • データ収集の観点
  • AIモデル構築の観点
  • 総合的な観点

ここで紹介するものだけが不確実性の原因とは限りません。 気づいていないだけで別の原因は存在するものです。

データ収集時の観点

データ収集は、物理量をセンサーで計測するのか、人の意見・行動をアンケートや利用履歴で集めるのか、 または組合わせるのかで不確実性の原因が変わります。

両方を加味して、[Thomson 05] はデータ収集時の不確実性の原因を大きく3つ(Accuracy、Precisionとtrustworthiness)としています。 [Thomson 05] は、trustworthinessをさらに細かく7種類に分類し、計9種類としました。

ここで出てくる”情報” は、入出力 (x,y)の入力 xが得られる前の現象・真実と読み替えて問題ないです。 9つの分類と言葉の定義は以下です。

  • 精度/誤差 (Accuracy/ error):データ観測と真実の差
  • 正確性 (Precision):測定/推定の正確さ
  • 完全性 (Completeness):観測されたデータがどの程度、現象を包括しているか
  • 一貫性 (Consistency):情報の要素が一致している度合い
  • 系統(Lineage):情報の受け渡し経路による情報の損失
  • タイミング (Currency/ timing):情報の発生から収集・加工を経て利用されるまでの期間
  • 信憑性 (Credibility):データの信憑性
  • 主観性 (Subjectivity):データの構築に人間の解釈や判断がどの程度関与しているか
  • 相互関連性 (Interrelatedness):他の情報からの独立性

個別具体的な例を[Thomson 05]から引用して説明します。

カテゴリ サブカテゴリ
Accuracy Collection Accuracy(データ収集時の精度)
Processing errors(処理エラー)
Deception(ごまかし)
・英語に翻訳された文書には、翻訳エラーが含まれることがある。
・戦車50台が観測されたが、実際にはダミー戦車であったという報告書がある。
Precision Precision of collection capability(データ収集能力の精度) 衛星画像の解像度の問題
Completeness Composite completeness(構成の完全性)
Information completeness(情報の完全性)
Incomplete sequence(不完全な系列)
悪天候のため、特定の日に現地の衛星画像が得られないことがある。
・盗聴された音声には、はっきりしない言葉が含まれていることがある。
・確証のない情報は、不完全であるかもしれません。
Consistency Multi-INT Conflict
Model/observation Consistency
・複数の情報が衝突することがある。
・繰り返した観測値が異なる場合がある。
Lineage Translation(翻訳)
Transformation(変換)
Interpretation(解釈性)
機械翻訳は、言語学者による翻訳よりも不確実性が高い。
・測定値や信号が変換されている可能性がある。
・現実のデータ生成過程と、分析者が解釈した報告書とは異なる系譜を持つ 。
Currency/ timing Temporal gaps (時間的なギャップ)
Versioning
・新しいオブジェクトを示す画像は、そのオブジェクトが最初に出現した時期を示さない。
・イベントが発生してから、分析者が情報を利用できるようになるまで時間がかかる。
・報告書には複数のバージョンがあり、時には大きな変更が加えられることがある。
Credibility
Reliability(信頼性)
Proximity
Appropriateness
Motivation (of the source)
・意図的な偽情報の可能性がある。
・情報提供者がテーマに関する専門知識を持たない可能性がある。
・情報が二次的なものである可能性がある。
Subjectivity Analytic judgment(分析の判断) ・純粋な事実よりも付加された推測の量が多い。
Interrelatedness Source independence ・情報が他の報道された情報(繰り返されるニュース記事など)に由来する可能性が高い。

感覚的な部分も多く理解しにくい方向けに、[Thomson 05]が各不確実性の定量化の簡単化した例を紹介しています。

Category 確率的な表現 パラメータの例 具体的な定量
Accuracy/error Distribution of measurement error(測定誤差の分布) source variace \displaystyle{\sigma _ x^ 2 = \sigma _ s^ 2 }
Precision Measurement device limitations(データ計測装置の制限) Root mean square deviation \displaystyle{ \sigma _ x^ 2 = E[ (x _ {s}- \bar{x} _ {s})^ 2 ] }
Completeness Sampling error(サンプリングエラー) Variance and bias due to sampling error \displaystyle{\sigma _ x^ 2 = \frac{\sigma _ s^ 2}{\gamma} }
Consistency Repeatability across multiple sources(複数のソースにまたがる再現性) Inter-source variance \displaystyle{\sigma _ x^ 2 = \sigma _ k^ 2 + \sigma _ s^ 2 }
Lineage Change due to transformation stages(データ変換による変化) Additional variance and/or bias due to channel noise \displaystyle{\sigma _ x^ 2 = \sigma _ c^ 2 + \sigma _ s^ 2 }
Currency/ timing Dependence of accuracy on time of collection(時間的なギャップ) Dependence on collection time \displaystyle{ \sigma _ x^ 2(t, t _ s)= \sigma _ s^ 2 e^ {\frac {(t-t _ {s})}{\tau}}}
Credibility Dependence of accuracy on source (of the source) Additional variance due to source lack of knowledge \displaystyle{\sigma _ x^ 2 = \frac{\sigma _ s^ 2}{\alpha} }
Subjectivity Distribution of data depends on the analyst Variance of the analyst \displaystyle{\sigma _ x^ 2 = \sigma _ a^ 2 + \sigma _ s^ 2 }
Interrelatedness Lack of independence Source Correlation \displaystyle{r _ {1,2}^ {2}=E [\tilde{x} _ {1} \tilde{x} _ {2}] \geq 0}

数式の説明として、 \displaystyle{\sigma _ s^ 2 }は情報が与えられたもとで観測値の分散です。 \displaystyle{\sigma _ x^ 2 } はデータセットとして手元に入手した時のデータの分散です。データセットになるまでに、様々なバイアスが入り、元の分散より大きくなることが多いです。

\displaystyle{ \sigma _ k^ 2 }は別の情報による影響の分散です。 \displaystyle{ \sigma _ c^ 2 }は情報の伝達の中で生まれる分散です。  \gamma \in[0,1 ] は完全性を、 \alpha \in[0,1 ] は信憑性を表すパラメータです。 各分散が正しく推定できるかは、別問題です。

ここでは、データ収集時の知識の欠如として、情報の信憑性のなさ計測・入手の正確性の低さ観測データの網羅性の低さを説明しました。 不確実性の9つの分類の定義は、後の説明でも同じ意味で使います。

AIモデル構築時の観点

データ収集後も人間のAIモデル構築までの選択次第で、不確実性となる知識の欠如を引き起こしていきます。

アノテーションミスは、サンプルに誤ラベルをつけてしまうことです。 原因は、ワーカーのやる気やドメイン知識量による信頼性の問題なのか、データ収集ミスによるサンプルが識別困難な問題なのかに分かれます。 そもそも、アノテーションの考え方の違いで複数人でラベル付けが変わる場合もあります。

f:id:masamasa59:20220407180455p:plain:w500
アノテーションの個人差の例(MLOps: From Model-centric to Data-centric AIから引用)

データセット作成において、運用時とのデータの違いを考慮しておらず、訓練時との特徴量の違いから不確実性につながることがあります。 例えば、衛星画像の地物分類をおこなうとき、訓練データには春夏の青茂った森林が多く、期間的に短い秋の紅葉が少なくなる場合があります。

f:id:masamasa59:20220212125423p:plain:w500
訓練時と推論時で特徴が変化している例([Qin 22]]から引用)

学習時では、ニューラルネットワークのモデルパラメータの初期値依存性による局所解の違いから、予測の不一致が生まれます。 その原因は、サンプル不足や関数近似誤差とも考えられます。

f:id:masamasa59:20220407182444p:plain:w500
局所解の違いによる予測の不一致([Gawlikowski 21] から引用)

ここでは、AIモデル構築時の不確実性の原因として、データセットの現象の網羅性の低さアノテーションの質の低さモデルの近似誤差を説明しました。

総合的な観点

不確実性は、様々な箇所で発生することがわかりました。 これらを[Skeels 09] がまとめた結果、以下に分類され、レベルごとに不確実性は伝達されていきます。 レベル1ではデータ収集、レベル2ではデータ整形、レベル3ではAIモデル構築の不確実性の原因に該当し、全ての階層で不一致(inconsistency)と信憑性(Credibility)の原因がつきまといます。

f:id:masamasa59:20220403143550p:plain:w400
不確実性の階層構造([Skeels 09]から引用)
各階層については、触れてきたので、最後に全ての階層を横断する原因を説明します。

  • Approximation(近似)

図に書かれていませんが、全ての階層に横断する不確実性の原因です。 科学やその他の領域では、近似が必要な場合が多く、近似が不確実性につながります。 この不確実性は、測定される現象が持つランダムな変動によるもの、モデル化するために必要な単純化された仮定によるもの、センサーの計測機器の限界によるものがあります。また、母集団全体ではなく、サンプリングする場合にも近似が発生します。

  • Disagreement or inconsistency(不一致)

専門家同士の意見の不一致は、不確実性を示していると考えています。 測定精度の不一致は、同じものを複数回または異なるセンサーによって測定され、測定値が同じでない場合に発生します(系統誤差と偶然誤差)。 完全性の不一致は、データセットは部分的に重複しているが同一でない場合に予測で不一致が生じます。 推論の不一致は、同じデータから2つ(またはそれ以上)の異なる結論が導き出されることによって不一致が生じます。 これは、2人(またはそれ以上)の専門家がデータセットを見て異なる結論に達した場合や、2つの異なる数理モデルをデータセットに適用して推論を行った場合などが考えられます。

  • Credibility(信憑性)

不確実性の一種である信憑性は、データの出所に起因することもあります。 信頼できない情報源から得たデータは、信頼できる情報源から得たデータよりも不確実性が高いとみなされます。 信頼できる情報源とみなされない理由は、データ収集方法、またはデータの作成者の偏見や利益相反を取り巻く懸念に関連する可能性があります。 この不確実性は簡単に測定することはできません。 他のデータと矛盾するデータを作成する情報源、過去に信頼できないデータを作成した情報源、または何らかの理由で疑わしい情報源は、不確実性につながります。 しかし、何をもって信頼できる情報源とするかは、個人によって判断が異なる場合があります。

基準としては、過去の行動の関連性があげられています。 人からの情報源は、過去の行動や関連性から信頼できるとみなされることがあります。 専門医からの情報は、専門医の知識と専門性を信頼しているため、一般医からの情報よりも不確実性が低いかもしれません。

不確実性が伝達される例

これらの総合的な原因も理解した上で、不確実性の伝達の様子を[Skeels 09] の例を訳して説明します。

f:id:masamasa59:20220403145353p:plain
不確実性の伝達の例([Skeels 09]から引用)

ロボット犬がサッカーをするプロジェクトを例に、不確実性のレベルの違いとその相互作用について説明します。
犬がサッカーをするとき、問題の1つはサッカーボールの位置を特定することです。
各犬はボールの位置を把握するために複数のセンサーを持っています。
個々の犬のレベルでは、センサーデータのノイズにより計測の不確実性があります。
この計測の不確実性に加えて、理論的には連続であるが、実際にはサンプリングされているため、データの不完全性による不確実性も存在します。
また、センサデータをボールの位置に変換するモデルが近似であるため、不確実な測定値の不完全なサンプルをボールの位置の推定に使用する場合、推論レベルでも不確実性が存在します。
これは、1頭の犬であれば、ボール位置の不一致に基づく不確実性は存在しません。
しかしチームであるため、複数の犬によるボール推定位置の集合ができ、ボールの位置の確率を特定するための推論がおこなわれます。
結果的に、ボールがその時どこにあるかは、何重もの不確実性が混ざっています。
推論は他の推論の上におこなわれ、その推論は不完全なデータの集合の上でおこなわれています。

深層学習における予測の不確実性との繋がり

ここまで、不確実性の原因をデータ収集からAIモデル構築までの間で、分類しつつ説明してきました。 深層学習における予測の不確実性の定量化では、今まで上げた不確実性の何を定量化しているのか最後にまとめます。

[Gawlikowski 2021]のサーベイ論文からは、大きく2つの不確実性が定量化されています。 予測の不確実性において、データに内在する問題なのか、データの不足による問題なのかを区別することです。

  • データに内在する問題(データの不確実性)

データ収集の計測機器の制限の可能性(Precision)、データノイズの可能性(Accuracy)、類似データとの混同の可能性( Information completeness)、アノテーションミスの可能性(Credibility)であり、これらを区別せず、データの不確実性として定量化しています。

  • データ不足による問題(モデルの不確実性)

データ収集方法の欠陥による情報不足の可能性(Composite completeness)データ選択時の情報欠落の可能性(Completeness)、帰納バイアスによる分類境界の変動の可能性(Approximation)があり、これらを区別せず、モデルの不確実性として定量化しています。

情報の信頼性(信憑性)に関わる不確実性の定量化は、まだ研究レベルであり、取り組みが少ない認識です。

情報の信頼性に最も近い文脈だと、ワーカーのアノテーションの品質を情報の信頼性と捉えるのが近いかもしれません。 ただ、例えば、推論時に予測の不確実性が低く、その理由が ”推論データに最も近いデータをアノテーションしたワーカーは品質が高く信頼できるから。”と出力する説明は見たことはありません。

コラム

本筋とは関係ないですが、不確実性の原因をより広げた考え方と今日出てきた話と関連する概念を紹介します。

意思決定までの不確実性の伝達

今までの議論をより俯瞰的に見ると、不確実性は可視化と意思決定にまで広がっています[Kamal 2021] 。

f:id:masamasa59:20220403221416p:plain
人が意思決定するまでの不確実性の伝達の図([Kamal 2021] から引用)

Visualization uncertainty

可視化プロセスそのものが不確実性をもたらします。 例えば、データが多すぎると、可視化が乱雑になり、情報の整理ができず、人の知識の欠如(不確実性)が増大する可能性があります。

不確実性の可視化は、95%信頼区間に色つけるか、エラーバーか、テキストをカラー強調するのか、ぼかすか、%表記するのか様々です。 ユーザーの個々の能力や理解度によって、可視化される不確実性の種類が異なる可能性があります。 例えば、分数で不確実性を表現すると、分母を過小評価することがあります(比率バイアス)。例えば、9/11は10/13より小さいと考える人がいます。

f:id:masamasa59:20220403224305p:plain
不確実性の可視化方法([Bhatt 2021]から引用)

Decision uncertainty

まだ説明できるほどわかっていません。

不確実性の意識(Awareness)

最後にデータ分布外検知に関連する部分で完全性と近い概念の不確実性の意識(Awareness)があります[Sacha 16]。 手元のデータ情報から、自分が知っている情報(known knowns)と、存在は知っているが調べないとわからない情報(known unknowns)、自分が知らない情報(unidentified unknowns)を区別する概念です。

f:id:masamasa59:20220403162146p:plain:w300
不確実性の意識
予測の不確実性に対応させると、データの不確実性とモデルの不確実性は、known knowns とknown unknowns になります。 モデルの不確実性とは別に定量化してほしいunidentified unknowns に該当する不確実性として、ドメイン外の不確実性(Out-of-domain uncertainty )があります。 ドメイン外の不確実性は、訓練データに見たことあるなしに関係ないレベルの未知のデータに対して、不確実性を高めることが期待されています。 例えば、犬猫分類に猿の画像を入力された時を想定すると良いです。

まとめ

  • 不確実性の定量化の研究が盛んな動機は、AIシステムの出力結果をもとに意思決定する者を支援したいからだと考えています。
  • 不確実性の定量化を意思決定者に役立てるためには、不確実性の原因ごとに定量化する必要があることを説明しました。
  • 不確実性の原因をデータ収集時の観点、予測モデル構築時の観点、総合的な観点で整理しました。
  • 総合的な観点では、不確実性の原因は段階的に伝達されていき、最後は予測の不確実性として表現されることを例を用いて説明しました。
  • 深層学習では、不確実性の原因をデータに内在する問題、データ不足による問題と大きく抽象化し、定量化していることを説明しました。
  • 抽象化された不確実性から個別の原因を特定するには、不確実性の高いサンプルをより分析することで明らかになると思っています。

超個人的には、不確実性の定量化が、人とAIが協調する際の接着剤になればいいなと思っています。 人は、AIを過度/過小に信頼せず、AIも予測の不確実性を適切に定量化することで相互にバランスを取り、人とAIが適材適所する協調システムが実現できればと考えています。

興味が出た方は、私のGithubに不確実性に関する論文をまとめてあるので覗いてみてください。

github.com

参考文献