【記事更新】私のブックマーク「説明可能AI」(Explainable AI)


私のブックマーク

説明可能AI(Explainable AI)

原 聡(大阪大学産業科学研究所)

はじめに

2018年に本誌5 月号(Vol. 33, No. 3, pp. 366-369)の”私のブックマーク”に「機械学習における解釈性」という記事を書いた。前記事の執筆から1年が経ち、機械学習モデルの解釈・説明技術を取り巻く社会的な情勢の変化や新たな研究の発展など、数多くの進展があった。本記事はこれら近年の変化・進展についてまとめた、上記の”私のブックマーク”の続編である。本記事を読む前に、まずは上記の前記事をご一読いただきたい。

用語について

本記事では、機械学習モデルの出力に加えて、その出力を補助する追加の情報(モデルの解釈、判断根拠の説明、など)を出力する技術一般および研究分野全体を指す用語としてXAI(Explainable AI, 説明可能AI)を用いる。XAIはアメリカの国防高等研究計画局(DARPA)が主導している研究プロジェクト使われている略称である。

研究を取り巻く情勢

社会情勢

2018年度は日本国内においてXAIへの注目が大きく高まった一年であった。機械学習技術の利用の拡大とともに、将来的にもたらされるだろう社会的な問題への関心・懸念がより高まってきた。このような社会的な関心の高まりを受けて、行政を中心に各種の団体がXAIを重要な研究領域の一つとして取り上げている(2019年4月時点)。

研究界の動向

2018年度は前年に引き続き、様々なXAI技術が提案された。ここでは情勢把握に有用な情報を紹介する。個別の研究については本記事後半で紹介する。

まとめ・解説資料

日本語資料

2018年度は「機械学習における解釈性」以外にも、XAI技術について複数の日本語まとめ・解説資料が公開された。

英語資料

英語でもまとめ資料が複数公開されて注目を集めている。

ライブラリ

PythonやRでXAIの代表的な手法が使えるようにツールの整理も進んでいる。各論文の著者が個別に公開している実装以外にも、各種手法を集めて整理したライブラリが公開されている。

色々な説明法

前記事「機械学習における解釈性」で紹介した研究の他にも、様々な手法が研究・提案されている。特に、「局所的な説明」(特定の入力に対するブラックボックスモデルの予測の根拠を提示することで説明とする方法)に関する研究が活発に行われている。

1. 局所的な説明
  • Interpretable Predictions of Tree-based Ensembles via Actionable Feature Tweaking [Python実装 ml-feature-tweaking; R実装 featureTweakR]
    KDD’17論文。LIMEなどのように「判断根拠になった特徴量」を説明するのでなく、判断結果を反転させる「”有用”な特徴量」を出力する方法を提案した論文。日本語での解説記事はこちらこちらなど。
  • Anchors: High-Precision Model-Agnostic Explanations [Python実装 Anchor]
    LIMEの作者によるAAAI’18論文。LIMEでは説明対象データの周りで線形モデルを作るが、Anchorでは領域モデル(決定木の葉ノードのようなもの)を作る。
  • Human-in-the-Loop Interpretability Prior
    NeurIPS’18論文。局所的な説明を”わかりやすい”モデルの学習に応用する方法を提案した論文。人間がモデルの学習ループの中に入ることで、”わかりやすい”モデルを学習する。学習の過程で人間に局所的な説明を与えて、人間の反応時間(わかりづらい説明ほど反応が遅くなると想定)をもとに現在のモデルの”わかりやすさ”を評価する。学習を繰り返すことで、人間の反応時間が短くなるように(モデルがわかりやすくなるように)モデルを学習する。
2. 深層学習モデルの説明

深層学習モデルの説明法としても、従来の「画像の注目領域のハイライト」だけでなく色々な説明法が考案されている。

  • Interpretability Beyond Feature Attribution: Quantitative Testing with Concept Activation Vectors (TCAV) [著者スライド] [Tensorflow実装 tcav]
    ICML’18論文。CNNなどの画像認識モデルにおいて、モデルが特定の”コンセプト”に基づいて対象を認識しているかを測る方法を提案した論文。特定のコンセプトの画像(e.g. ストライプ柄の画像)を集めて、コンセプトを代表するベクトルを学習する。学習されたコンセプトベクトルとモデルの認識過程との関係を定量化することで、認識結果への”コンセプト”の影響度合いを調べる。
  • This Looks Like That: Deep Learning for Interpretable Image Recognition
    画像認識モデルにおいて、類似の学習データを認識の根拠として提示する方法を提案した論文。事後的に認識対象と学習データの紐付けをするのでなく、モデル内部に訓練データとの類似度を計算するレイヤーを明示的に埋め込んでいる。これにより、モデルが訓練データとの類似度に基づいて画像認識をするようになる。
  • Generating Visual Explanations [Caffe実装]
    ECCV’16論文。画像認識モデルの認識根拠を文章で説明する方法を提案した論文。CNNの中間層の特徴を使って、説明文を生成するモデル(RNN+LSTM)を学習する。このような画像+文章の研究は説明以外の様々な文脈でも研究されている。これらの研究についてはオムロンサイニックエックスの牛久祥孝さんの資料(こちらこちら)に詳しい。
3. 説明の学習

従来の説明法は、説明獲得のための計算プロセス(e.g. 最適化問題を解く、微分を計算する、など)は人間が設計していた。これに対し、説明法そのものを学習しよう、という試みが提案されている。

  • Real Time Image Saliency for Black Box Classifiers [PyTorch実装 pytorch-saliency]
    NIPS’17論文。深層学習モデルの「画像の注目領域のハイライトの仕方」を学習する方法を提案している。ResNetを使い画像の潜在表現を抽出し、潜在表現を元にハイライトを生成するネットワークを構築・学習する。
  • Learning How to Explain Neural Networks: PatternNet and PatternAttribution [Tensorflow実装 innvestigate]
    ICLR’18論文。上の論文と同様に、深層学習モデルの「画像の注目領域のハイライトの仕方」を学習する方法を提案している。誤差逆伝播の枠組みの中で、各層に学習可能なフィルタを入れることでハイライトの仕方を学習する。
  • Learning to Explain: An Information-Theoretic Perspective on Model Interpretation [Tensorflow実装 L2X]
    ICML’18論文。LIMEのように「判断根拠になった特徴」を出力する説明モデルを学習する方法を提案している。説明モデルは入力データに応じた少数の入力特徴を自動的に選び、そこから元モデルの出力を近似できるように学習させる。一度説明モデルを学習してしまえば説明の生成に複雑な計算が不要なため、高速に説明が生成できることが報告されている。

説明法の見直し

ここまでに紹介したように、様々な説明法が提案されている。しかし、あまりにも多くの説明法が提案された結果、どの説明法が本当に良いのかがわからなくなってきた。2018年には特に「画像の注目領域のハイライト」について、理論及び実用の面でどの説明法が良いか・悪いか、といった”見直し”が始まった。以下ではこれら”見直し”に関する研究を紹介する。

  • A Theoretical Explanation for Perplexing Behaviors of Backpropagation-based Visualizations
    ICML’18論文。CNNの画像注目領域をハイライトする方法であるGuided-BackpropおよびDeconvNetが、実際にはモデルの認識とは関係ない領域をハイライトしている可能性を理論的な観点から指摘した論文。適当な仮定のもとで、これらの手法は単に入力画像の復元を行っていると解釈できる。結果的に、見た目では画像を”説明”しているように見えるが、これらの方法による説明はモデルの判断根拠を反映していない。
  • Sanity Checks for Saliency Maps [実装 sanity_checks_saliency]
    NeurIPS’18論文。どのハイライト法が妥当かを確認する方法を提案した論文。具体的には、モデル内部のパラメータを意図的に乱数に置き換えたり、データのラベルをランダムに付け替えて学習することで、”明らかにダメなモデル”を構築する。このダメなモデルでのハイライトと、真っ当なモデルでのハイライトを比較する。このとき、両方のモデルで似たハイライトを生成する方法は、モデルやデータの破壊を見ていない(モデルやデータの実態を反映していない)という意味で、良いハイライト法ではないと判断できる。
  • Evaluating Feature Importance Estimates
    ハイライト法の良さを定量的に評価する指標を提案した論文。訓練画像についてハイライトを計算しハイライト箇所をマスクすることで、マスク付きの訓練画像を用意する。このマスク付き訓練画像で再度モデルを学習した際に、精度が元のモデルからどれだけ低下するか、でハイライト法の良さを測る。重要領域を適切に特定できる良いハイライト法では、マスク後の画像に認識に必要な情報が残らないため、再学習後のモデルの精度が大きく低下する。

説明の信頼性

XAIの大きな目的の一つは「ブラックボックスなAIは信頼できない」という不信の払拭である。しかし、以下の論文では説明そのものの信頼性に問題がある可能性が指摘されている。

  • Interpretation of Neural Networks is Fragile [Tensorflow実装 InterpretationFragility]
    AAAI’19論文。深層学習モデルの説明法(画像ハイライト、影響関数)に対してadversarial exampleが生成可能なことを示した論文。画像のハイライト部位を変えるような微小ノイズを実際に生成できることを実証した。
  • Attention is not Explanation [PyTorch実装 AttentionExplanation]
    NAACL’19論文。自然言語処理で広く使われているAttention機構が、単語間の関係性を適切に説明していない可能性を指摘した論文。具体的には、Attentionの重みが勾配などの他の説明結果とあまり相関しないことを報告している。加えて、同じ予測をしながらも全く異なるAttentionの重みを持つモデルが存在することを実証した。
  • Fairwashing: The Risk of Rationalization
    ICML’19論文。利己的なユーザが自身の主張を正当化するために恣意的な説明を生成できる可能性を指摘した論文。実際は性別や人種などに基づく差別的な意思決定をするモデルが、あたかも公平であるかのような説明を生成できることを実証した。

おわりに

XAIに関する近年の進展および研究トピックの広がりについて紹介した。最後に、今後の研究の展望について筆者の意見を述べて本記事を締めくくりたい。

  • 知見の蓄積
    数多くの説明法が提案されてきているが、どのような問題やデータにはどの手法を使うのが良いか、といった知見の蓄積は未だ十分とは言えない。今後、XAI技術の実問題への適用が広がることで、これら知見の蓄積が進むことを期待したい。現状では、試しにAという問題やモデルにBという手法を適用してみた、という研究レベルの報告が中心である。今後は、実運用まで見越した上での手法の開発や検証が重要になると考える。
  • 説明の”良さ”の評価法の確立
    本記事で述べた通り、どの説明法が良いか、そもそも説明は信頼できるのか、といった基本的な問いへの関心が高まっている。今後は、説明の”良さ”をどのように評価・担保するか、といった方向の研究の重要性が増すと考える。