説明可能なAI技術『XAI』をわかりやすく解説!

– はじめに

昨今、PC処理能力の向上、DeepLearningなどの優秀なアルゴリズムにより、AIの実用化が急速に進んでいます。
しかし、加速度的に上がる性能により機械がどのように判断しているかわからない「AIのブラックボックス化」が発生しています。

今回はそのブラックボックスを説明する技術「XAI 《explainable artificial intelligence》(説明可能なAI)」について解説していきます。

– XAIとは

XAI 《explainable artificial intelligence》
アルゴリズムによって自動化された処理の過程を
人間が理解し検証できるようにした人工知能(AI)
(goo辞書より引用)

すなわち、機械が「A」という答えを出した場合
何故その答えを出したかをわかるようにする技術のことです。
これは現在盛んに研究されているDeepLearnigの分野で注目を浴びている技術です。
以下では、何故XAIが必要なのかを説明致します。

※説明不可能なAIはいくつかの種類がありますが
ここでは代表してDNN:DeepNuralNetwork(DeepLearningというとこの技術のことを指すことが多いです)を例に記述していきます。
DNNとは深層学習とも言い、人間の脳をモデルにした処理装置に大量のデータを流し込み、膨大なtry&errorを繰り返して問題の正解率を上げていくシステムです。

■DeepLearningが説明出来ない理由

まず、何故そもそもDeepLearningが説明できないかについて説明いたします。
後述の例にある通り、組み合わせの多さと組み合わせの重要度が天文学的な数になるため、その組み合わせを一つ一つ検証していくことが物理的に不可能となるからです。
直感的な理解に役立つ例……犬の写真犬と判断するAIの場合

簡単なAIの場合

「耳があるから犬!」
→「写真に耳があれば犬と判断するAIだ」と理解しやすい反面
耳があればすべての動物を犬と判断するため正解率は低い。

Deeplearningの場合

「右から2pixel目の角度が-35°から40°の範囲に収まりかつその隣の4×4の領域内の空白が4pixel以上の時に3の確率は22%でさらに左から16pixel目の領域で22°の線が三本あることを考慮して算出してこれを80回try&errorを繰り返した果てに見つけた重要度係数0.8を乗算すると……以下天文学的な文字数」
→何を根拠としているか読み取れない反面
正解率は高くなり、いずれ人間の正解率を超える。

このように、判断根拠が人間の解読可能な量を優に超えてしまっています。

図1

画像引用:
https://nkdkccmbr.hateblo.jp/entry/2016/10/06/222245

■DeepLearningで説明出来ないと何が困るか

DeepLearningの応用が期待されている医療分野を例にして説明します。

がん画像引用:理化学研究所
https://www.riken.jp/press/2019/20191218_2/index.html#note7

医療分野では医師の目視確認だけでは見つけられない癌を見つけるシステムが期待されています。
ただ、医師が見つけられないということはDeepLearnigが癌を発見してもその発見根拠がわからない場合が出てくるのです。
仮に癌で切除が必要になる場合、本当に癌なのか理解出来ないまま医師はメスを持つことになります。DeepLearningの精度が人よりも良くなったとしても、100%にはなりません。
そのため、何もわからずに機械に従うのはどうしても抵抗が出てきてしまいます。

– XAIの手法

■XAIでDeepLearningを説明する

こちらについては二つのアプローチがあります。
①どんなに複雑化しても人間に解読可能な計算式のみを扱うAIを開発する
→こちらの目標は、「わかりやすいにも拘わらず正解率が高い」、という今現在はこの世に存在しない画期的なシステムを作り出すことです。

②複雑化しすぎて人間には解読不能となった計算式を、ツールなどを開発して解読する
→こちらの目標は、DeepLearningに代表される「判断根拠がわからない(ブラックボックス状態)が正解率が高い」という技術を解析するツールを作り出すことが目標となります。

上記二つのうち、②のアプローチが現在のところ盛んに行われていますので
今回は②を中心にお話し致します。

参考:
アプローチ方法の詳細な分類

– XAIの研究

■解析手法の研究方法

解析手法の考え方

大前提として、「すべての根拠を説明することは出来ない」ということを頭に入れておかなければなりません。
前述の通り根拠となる内容は天文学的な量になるため、その中から重要度の高い根拠を抽出するということが主な考え方となります。

何故重要度の高い根拠のみでよいのか

例えば火事のニュースがあった場合、出火原因が「不明」なのか「煙草の不始末」なのかで報道内容の印象は随分違います。報道を見た方は「煙草には気をつけよう」という感想やその他煙草にまつわる感想を持つでしょう。
しかし、「煙草の不始末」と報道された火事でも他に「消火器が常備されていなかった」「灰皿の近くに燃えやすい物があった」など多くの小さな原因が含まれているはずです。それらをすべて細かく把握することは難しいですし、もしその原因を時間を掛けて並べあげたとしても、大部分の視聴者は「煙草の不始末」だけがわかれば十分、ということになります。

どのように重要度の高い低いを判断するのか

説明可能なAIの代表的な論文「https://hacarus.github.io/interpretable-ml-book-ja/」では以下のような指標を示しています。
指標毎に身近な例に例えて説明します。

①正確性 (Accuracy):見たことのないデータに対する予測がどの程度うまく説明できるか
例:犬を判断する場合
・正確性が高い
→目が2つあること。
(個体差が少ない)
・正確性が低い
→黒い毛が生えていること。
(犬種により個体差が多い)

写真に写っている生き物の目が3つある場合は犬の可能性は低いと言えます。
写真に写っている生き物の毛が白いからと言って犬の可能性は低くないと言えます。

②忠実性 (Fidelity):その説明が、ブラックボックスモデルの予測をどの程度近似しているか?
こちらに関しては実際のデータを確認して近似データを作成するため
どのような特徴にも当てはまります。
例:犬を判断する場合
・忠実性が高い
→目が3つあること
(たまたまモデルの中に目が3つの犬が多く含まれていれば、この説明は忠実性が高くなります)
・忠実性が低い
→目が3つあること
(目が3つある犬のモデルが無い場合にこの根拠を説明した場合、忠実性は低いと言えます)

以上から、忠実性が高いことが必ずしもDeepLearningの精度が高いということにはなりませんので
説明が納得できるかどうか、という観点でしかこの忠実性という要素は考慮されません。
DeepLearningの精度が高いか、という判定をするためには正確性も必要ということになります。

③一貫性 (Consistency):同じ問題に対し学習され、同じような予測をする複数のモデルに対し、説明がどの程度異なるか
例:犬を判断する場合
・アプローチその1
写真を見る
・アプローチその2
鳴き声を聞く。
・アプローチその3
触ってみる。

すべてで犬だなという結論が出れば、一つのアプローチの結論よりも信頼性が増す。

④安定性 (Stability):似たインスタンスに対して、説明がどの程度似たものになるか?
例:犬を判断する場合
・安定性が高い
毛があること。
(どの犬にも毛があるため個体差が少ない)
・安定性が低い
毛が20cmであること。
(犬種により個体差が多い(コリーなら当てはまるけどパグならあてはまらない…など))

その他にも指標はありますが、XAIはこれらの指標を問題ごとに使い分けることになります。

どの程度説明出来ればよいのか

こちらは非常に人間的な考え方をするのですが、「使用者が納得する程度」まで説明する必要があります。
例えば先の例で紹介した出火原因の場合でも「煙草の不始末」で納得する方もいれば「煙草の不始末と外出前に火の元をチェックして回らなかったこと」まで説明しないと納得しない方もいるはずです。
どの程度の情報で納得するかは個人差がありますので、実際に使用する方と意見を交換しながら開発を進めていくことになります。

– XAIの事例

■解析ツールの事例

LIME(Local Interpretable Model-agnostic Explainations)というツールを使用することで、DeepLearningが重要と判断した特徴を抽出し、可視化することが可能となります。

内容および画像引用:https://www.slideshare.net/SatoshiHara3/ss-126157179

このLIMEというプログラムはランダムに抽出した画像でオオカミと判定するパターンを集め
オオカミと判定した際に含まれていた部分が多いところを抽出しています。
「様々なアプローチで同じ結果が出ている!」ということを根拠としているため
「一貫性」を根拠とした説明プログラムだと言えます。

– XAIの今後

■現在のDeepLearning事業に説明可能なAIが導入された場合を考える

例:道路のひび割れ検知
ひび割れ検知以外を検知可能なDeepLearningを拡張して作る!となった時に
「ひび割れしてないのに何で修理が必要と判断したんだ?」という
ユーザーが理解できなくなる問題が発生する可能性が高くなります。
説明可能なAIがあれば、ユーザーが気づかなかった危険な箇所も教えてくれるようになります。

今あるDeepLearning事業の一歩先を考えた時に必要になる場面が多いと考察しています。考えるフックとして、今あるDeepLearning事業を調査するアプローチが有効です。

■有識者以外へも説明可能へ

まずは有識者が理解可能なレベルまでの説明可能なAIを目指していますが
それをクリアした後は、知識がなくても理解可能なレベルまで説明可能にします。
例:画像認識で医者が見つけられなかったがん検知をする場合
重要な特徴を抽出すれば医者はわかりますが、患者にはわかりません。
これを患者が理解可能なレベルする。→「安心」無人診療など、SFの世界も見えてきます…。

■説明可能なAIが普及した後は、だんだんと不要な業界が増えていく

例えば企業投資家よりも機械を使用したIndex投資の方が成績がよくなることが多い現在、Index投資用のAIを疑う人は減りつつあります。
AIはまだまだ発展途上ですが、今後実績を重ね続けて機械の判断を人間が信頼し切ってしまった時、説明可能なAIは不必要な技術となります。
最後まで説明可能なAIが必要な分野はどの分野なのか、まだわかりません。
医療分野を例にとると、現在は医師が最終的に癌の診断をする方が心理的に安心です。
しかしAI事業が進んでいくうちに医師よりも機械の方が信頼できる、という未来が来るかもしれません。
ただし、その実績を作るために説明可能なAI、XAIはどうしても必要となる技術なのです。