説明可能なAI

**説明可能なAI**（せつめいかのうなエーアイ、、略称**XAI**）または**AIを説明するための技術**は、人工知能 (AI) が導き出した答えに対して、人間が納得できる根拠を示すための技術である。特定の技術やツールを指し示す言葉ではなく、「AIを理解する」という目的のために研究・提案されている技術の総称である。XAIという用語は2017年4月から始まったアメリカ合衆国DARPA主導による研究プロジェクト（XAIプロジェクト）を契機として広く浸透した。

## 背景
2010年代初頭の第三次AIブーム到来によりAIの利活用領域は多方面に広がり、自動運転車や病気診断など、影響の大きな、高い信頼性が求められる分野での利用も視野に入れられるようになってきた。一般的なソフトウェアと異なり、機械学習により条件やルールなどを学習させて処理結果を出力するAIでは、人の意思決定に関わる柔軟な対応が求められる複雑な業務に利用ができる反面、柔軟な処理を行うからこそ、その処理結果の根拠を明確に提示できないという課題を持っていた。こうした背景からAI分野において公平性、説明責任、透明性といった倫理性が求められるようになった。ホワイトハウスは2016年10月、米国人工知能研究開発戦略計画を発表し、これを受けてDARPAは翌4月にAI倫理・ガバナンスに関する研究Explainable Learnersプロジェクト（説明可能モデルと説明インタフェース）および*Psychological Model of Explanation*プロジェクト（説明の心理学）に着手した。DARPAは、人類のパートナーとしてAIを理解し、信頼し、効果的に管理するために、AIが導き出す答えとその過程について説明可能であることが必要不可欠であるとした上で、それぞれの機械学習システムは動作の仕組みやその特徴（長所と短所）を人間が理解するための機能を備えているべきとして、2021年までにXAIの研究を比較検証フェーズまで完了させることを目標としている。

## 3つの原則
2019年に開催された第14回20か国・地域首脳会合で「人間中心のAI社会原則」が承認され、この中でも公平性、説明責任、透明性についての原則が明記された。こうした要求に答えるため、AIによって行われた処理の根拠や透明性を求める声が高まっている。
; AIの公平性 (Fairness)
:機械学習においてAIは学習の前提として例示されたデータを元に処理を獲得する。入力データに偏り（バイアス）があった場合、その出力結果は公平性を欠いたものとなる可能性があるため、AIが公平なサービスを提供できるように入力データにはバイアスの排除が求められる。例として給与査定や人材配置など、人事分野でのAI適用などを検討するケースにおいて公平性が特に求められる。
; AIの説明責任 (Accountabillity)
:学習した過去のデータをインプットとして、未来の推論結果を出力するような場合、誤った答えを出力する可能性がある。こうした事態に、入力データ、出力データ、及び処理内容から、誤りの原因やその責任を明確化できることが求められる。こうした機能は、AIの使用者が悪意をもって問題を引き起こした場合などに、それを明確に示すことで、AIが行った処理自体の潔白を証明するためにも必要となる。
;AIの透明性 (Transparency)
:問題発生時の影響が大きい場面でのAI利用では、AIの出力した結果を採用してよいかどうかを人間が判断する必要が出てくるため、AIの内部処理の情報を使用者が理解できる形で提示できることが求められる。

近年のAIにおいて求められる3つの原則に共通して求められる機能が「AIが学習によってどういう処理を獲得したか」「どういう根拠に基づいて出力を決定したか」といった論理を説明できることであり、AIの内部処理が複雑になればなるほど困難な要求事項である。XAIはこうした処理の複雑さと説明可能性のトレードオフを解消するために提唱される新たな技術である。

## 説明手法
XAIでは説明範囲の違いやその目的によってAIの説明を2つに分類しており、個々の入力データに対する出力という、個別具体的な予測結果に対する説明を局所説明、指定したAIモデルの全般的な振る舞い（特徴）に対する説明を大局説明と定義している。局所説明としては、特徴量を使った説明（例として、画像データを用いて画像検索を行う際の予測を決定づける画像領域を可視化するなど）、判断ルールによる説明、AIの学習に用いたデータを使った説明などがある。2023年、AIモデリングの専門家が改めてAIモデルの透明性を測定する方法を発表した。

## ビジネスへの転用
米国連邦取引委員会（FTC）が今後説明が不可能なAIについて調査を行う可能性を示唆し、警告を発したことや、EUにおいて2023年に人工知能法が成立する可能性があることなどを背景に、XAIはシリコンバレーにおいて急激に注目を集める分野となっており、スタートアップ企業やクラウド企業による開発競争が激化している。

日本においてはNTTデータが判定理由が求められる審査業務への適用などを検討している。日立製作所では、企業のDX支援業務にXAI技術を取り入れ、AIの予測結果や判定結果に対する根拠をスピーディーに提供できるシステム作りをNTT東日本と共創していきたいというプレスリリースを2021年9月に発表している。また、2021年10月にはTBSテレビが選挙の開票速報番組においてXAI（富士通のWide Learning）を使用した当落速報予測の根拠を提示する取り組みについて発表した。

## 代表的なXAI技術
### LIME
LIMEは任意の入力データに対するAIモデルの予測結果について、予測に用いられたデータの特徴を算出する局所説明技術である。2016年にワシントン大学のマルコ・トゥーリオ・リベイロ(*Marco Tulio Ribeiro*)らによって提唱されたもので、XAIを実現するための代表的な技術のひとつである。テーブル、画像、テキストに対応したライブラリが提供されているOSSである。

### SHAP
SHAP (SHapley Additive exPlanations) はゲーム理論に基づいて個々のプレイヤーの寄与を算出する仕組み（シャープレイ値）を用いた局所説明技術である。スコット・ランドバーグ(*Scott Lundberg*)によって2018年にGitHubに公開されたOSSであり、ツリー系アンサンブルモデル、ディープラーニングモデル、その他の一般的なアルゴリズムにおけるシャープレイ値の算出機能を提供している。

### Permutation Importance
Permutation ImportanceはAIモデルごとの特徴量の重要度を計算する大局説明技術である。アーロン・フィッシャー(*Aaron Fisher*)らによって2018年に提案された技術で、要素をランダムに並べ替えてその誤差を計測することで、その要素がどの程度処理結果に寄与しているかを計測する*Permutation*という手法を用いている。

### Partial Dependence Plot
Partial Dependence Plotは、入力データの変化がAIモデルを通して出力データにどの程度影響を与えるかを説明するために変化量をグラフ化し提供する技術である。

### Tree Surrogate
Tree Surrogateは表形式データを予測するタイプのAIモデルにたいして適用できる技術で、AIモデルの複雑なI/Oを人間が解釈しやすい別の代理モデル（決定木代理モデル）に当てはめてロジックを説明する技術である。

### CAM
CAMはClass Activation Mappingの略で、畳み込みニューラルネットワークを用いた画像識別の判断理由を説明するための技術。ネットワークアーキテクチャの制限を克服したGrand-CAMも存在しており、Grand-CAMはGAPを使用しない分類モデルにも適用できる。

### Integrated Gradients
Integrated Gradientsはデータの入力値と出力値の勾配を用いて影響度を算出し、説明するための技術である。PyTorchのCaptumライブラリにはIntegrated Gradientsが実装されており、インタフェースなどが整備されている。

### Attention
回帰型ニューラルネットワークなどの言語系モデルや畳み込みニューラルネットワークなどの画像モデルにおいて特徴量の重要度を算出する技術である。

## XAIの類型用語
XAIはAIを何らかの観点から理解し説明していくということを目的とした技術であり、論文や文献による異なる言い回し、手法の違いなどによる多数の類型用語が存在しており、代表的な表現としてUnderstandabillity（わかりやすさ）、Intelligibillity（明瞭度）、Predictabillity（予測可能性）、Trustworthiness（信用性）、Reliabillity（確実性）、Transparent AI（透明性のあるAI)、Interpretable AI（解釈可能なAI）、Explainable AI（説明可能なAI）、Accountable AI（説明責任のあるAI）、Fair AI（公正なAI）、Explainable Machine Learning（説明可能な機械学習）などが挙げられる。

## 関連項目
* 人工知能
* 機械学習

## 脚注

## 参考文献
* 
* 
*