IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-125741人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム
<>
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図1
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図2
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図3
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図4
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図5
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図6
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図7
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図8
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図9
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図10
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図11
  • 特開-人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023125741
(43)【公開日】2023-09-07
(54)【発明の名称】人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システム
(51)【国際特許分類】
   G06N 3/02 20060101AFI20230831BHJP
【FI】
G06N3/02
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022030008
(22)【出願日】2022-02-28
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】小澤 遼
(72)【発明者】
【氏名】森 靖英
(57)【要約】
【課題】人工知能の説明の合理性を担保しながら、人工知能の出力の揺らぎを抑制する人工知能の説明技術を提供する。
【解決手段】人工知能の説明方法では、所定次元の説明変数を含んでなるデータ空間における人工知能の予測器へ入力する説明対象データに対する人工知能の予測器の出力への各説明変数の寄与値を、各説明変数に関する出力の偏微分値を、予測器の学習データの代表点と説明対象データの説明対象点とを結ぶ経路に沿って線積分した積分値に基づいて算出する際に、予測器の出力の揺らぎに基づく積分値のバラつき度合いを評価する評価指標を最適化する経路を選択する。
【選択図】図2
【特許請求の範囲】
【請求項1】
コンピュータが実行する人工知能の説明方法であって、
前記コンピュータが、
所定次元の説明変数を含んでなるデータ空間における前記人工知能の予測器へ入力する説明対象データに対する前記人工知能の予測器の出力への各説明変数の寄与値を、各説明変数に関する該出力の偏微分値を、該予測器の学習データの代表点と該説明対象データの説明対象点とを結ぶ経路に沿って線積分した積分値に基づいて算出する際に、
前記予測器の出力の揺らぎに基づく前記積分値のバラつき度合いを評価する評価指標を最適化する前記経路を選択する
ことを特徴とする人工知能の説明方法。
【請求項2】
請求項1に記載の人工知能の説明方法であって、
前記コンピュータが、
前記人工知能の説明対象の予測器を取得する説明対象予測器取得ステップと、
前記データ空間における前記予測器の学習データ及び前記予測器へ入力する説明対象データを取得する説明対象データ取得ステップと、
前記データ空間において前記学習データの代表点と前記説明対象データの説明対象点とを単一曲線で結ぶ前記経路を複数探索する経路探索ステップと、
前記経路ごとに該経路上の各内分点を入力として前記予測器によって出力された該内分点ごとの複数の予測値に基づく前記予測器の出力の不確実性を算出し、前記経路探索ステップによって探索された複数の前記経路のなかから該不確実性が最小となる最適化経路を選択する経路上不確実性評価ステップと、
各説明変数に関する前記予測器の出力の偏微分値を前記最適化経路に沿って線積分した積分値に基づいて前記寄与値を算出する寄与値算出ステップと
を実行することを特徴とする人工知能の説明方法。
【請求項3】
請求項2に記載の人工知能の説明方法であって、
前記経路上不確実性評価ステップでは、
前記コンピュータが、
前記所定次元の説明変数のうちの任意の2つを交換しても前記予測器の出力が不変である対称性を持つ前記最適化経路を選択する
ことを特徴とする人工知能の説明方法。
【請求項4】
請求項2に記載の人工知能の説明方法であって、
前記経路探索ステップでは、
前記コンピュータが、
前記データ空間におけるグリッドで近似した前記最適化経路を探索する
ことを特徴とする人工知能の説明方法。
【請求項5】
請求項2に記載の人工知能の説明方法であって、
前記経路上不確実性評価ステップでは、
前記コンピュータが、
前記データ空間における前記学習データの分布密度が閾値以上の領域では、該学習データを通過する前記最適化経路を選択する
ことを特徴とする人工知能の説明方法。
【請求項6】
請求項2に記載の人工知能の説明方法であって、
前記不確実性は、前記予測器の出力の不確実性を含む
ことを特徴とする人工知能の説明方法。
【請求項7】
請求項6に記載の人工知能の説明方法であって、
前記不確実性は、前記学習データのノイズによる前記予測器の不確実性を含む
ことを特徴とする人工知能の説明方法。
【請求項8】
請求項2に記載の人工知能の説明方法であって、
前記コンピュータが、
前記説明変数ごとの前記寄与値の平均値を表示する表示ステップ
を実行することを特徴とする人工知能の説明方法。
【請求項9】
請求項8に記載の人工知能の説明方法であって、
前記表示ステップでは、
前記コンピュータが、
前記説明変数ごとの前記寄与値のバラつきの範囲を表示する
ことを特徴とする人工知能の説明方法。
【請求項10】
請求項2に記載の人工知能の説明方法であって、
前記コンピュータが、
前記最適化経路を、前記データ空間における前記学習データのデータ密度と共に表示する表示ステップ
を実行することを特徴とする人工知能の説明方法。
【請求項11】
コンピュータを、
所定次元の説明変数を含んでなるデータ空間における人工知能の予測器へ入力する説明対象データに対する前記人工知能の予測器の出力への各説明変数の寄与値を、各説明変数に関する該出力の偏微分値を、該予測器の学習データの代表点と該説明対象データの説明対象点とを結ぶ経路に沿って線積分した積分値に基づいて算出する際に、
前記予測器の出力の揺らぎに基づく前記積分値のバラつき度合いを評価する評価指標を最適化する前記経路を選択する
人工知能の説明システムとして機能させるための人工知能の説明プログラム。
【請求項12】
請求項11に記載の人工知能の説明プログラムであって、
前記コンピュータを、
前記人工知能の説明対象の予測器を取得する説明対象予測器取得部、
前記データ空間における前記予測器の学習データ及び前記予測器へ入力する説明対象データを取得する説明対象データ取得部、
前記データ空間において前記学習データの代表点と前記説明対象データの説明対象点とを単一曲線で結ぶ前記経路を複数探索する経路探索部、
前記経路ごとに該経路上の各内分点を入力として前記予測器によって出力された該内分点ごとの複数の予測値に基づく前記予測器の出力の不確実性を算出し、前記経路探索部によって探索された複数の前記経路のなかから該不確実性が最小となる最適化経路を選択する経路上不確実性評価部、
各説明変数に関する前記予測器の出力の偏微分値を前記最適化経路に沿って線積分した積分値に基づいて前記寄与値を算出する寄与値算出部
として機能させるための人工知能の説明プログラム。
【請求項13】
人工知能の説明システムであって、
所定次元の説明変数を含んでなるデータ空間における前記人工知能の予測器へ入力する説明対象データに対する前記人工知能の予測器の出力への各説明変数の寄与値を、各説明変数に関する該出力の偏微分値を、該予測器の学習データの代表点と該説明対象データの説明対象点とを結ぶ経路に沿って線積分した積分値に基づいて算出する際に、
前記予測器の出力の揺らぎに基づく前記積分値のバラつき度合いを評価する評価指標を最適化する前記経路を選択する
ことを特徴とする人工知能の説明システム。
【請求項14】
請求項13に記載の人工知能の説明システムであって、
前記人工知能の説明対象の予測器を取得する説明対象予測器取得部と、
前記データ空間における前記予測器の学習データ及び前記予測器へ入力する説明対象データを取得する説明対象データ取得部と、
前記データ空間において前記学習データの代表点と前記説明対象データの説明対象点とを単一曲線で結ぶ前記経路を複数探索する経路探索部と、
前記経路ごとに該経路上の各内分点を入力として前記予測器によって出力された該内分点ごとの複数の予測値に基づく前記予測器の出力の不確実性を算出し、前記経路探索部によって探索された複数の前記経路のなかから該不確実性が最小となる最適化経路を選択する経路上不確実性評価部と、
各説明変数に関する前記予測器の出力の偏微分値を前記最適化経路に沿って線積分した積分値に基づいて前記寄与値を算出する寄与値算出部と
を有することを特徴とする人工知能の説明システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人工知能の説明方法、人工知能の説明プログラム、及び人工知能の説明システムに関する。
【背景技術】
【0002】
近年、金融や医療、公共などの様々な分野でAI(Artificial Intelligence)の予測結果や予測過程を活用したシステムが提供されている。例えば金融の分野では、AIを活用して与信審査や不正監査などが行われる。
【0003】
そしてAIの統計的な予測値の精度向上のために、AIの内部アルゴリズムが複雑化してきている。AIの内部アルゴリズムの複雑さのために、AIの予測過程が人間にとって理解困難になっている。そのため、AIを活用するユーザが、AIの予測値を信頼してよいかを安定的に判断できないという問題が生じてきている。
【0004】
この問題に対するアプローチとして、説明可能なAI(eXplainable AI(XAI))の手法、すなわち統計的な予測の根拠を定量化して信頼性を担保する説明手法が注目されている。その説明手法の中でも、とりわけ、深層学習モデル向けに計算コストが低く、かつ、説明が満たすべき要件(人工知能の説明手法における公理)を満たすことで知られる説明手法IG(Integrated Gradients)が、説明に合理性を与えるとして、現在の主流の1つになっている。
【0005】
ここで、説明手法IGで算出される算出値(寄与値φ_i(寄与度ともいう))は、AIの学習済みモデルの出力f(x)(x=(x_1,x_2,…,x_F))に対して、説明変数x_i(i={1,2,…,F})に関する偏微分値∂f(x)/∂x_iを、式(1)に示すように、学習データ空間の直線経路P上で線積分したものである。
φ_i=(x_target-x_ref)∫0 1(∂f(x)/∂x_i)(P(α))dα(i={1,2,…,F})
(1)
【0006】
ただしαは閉区間[0,1]上のパラメタであり、その閉区間上のαと経路P上の点P(α)は、1:1かつ連続に対応する。つまり、点P(α=0)が経路Pの始点、点P(α=1)が経路Pの終点を表す。
【0007】
直線経路Pは、始点P(α=0)を参照点x_refと呼ばれる学習データの代表点(あるいは代表点の集合)とし、終点P(α=1)を説明対象点x_targetと呼ばれる説明対象のAIの出力に対応する入力データ(あるいは入力データの集合)として、参照点x_refと説明対象点x_targetを一筆書きで結んだ滑らかな曲線(あるいは曲線の集合)である。
【0008】
なお、以降では、記述の簡便化のため、始点である参照点x_refと終点である説明対象点x_targetがそれぞれ単一の点であると仮定して議論を進める。ただし、この議論は始点と終点が複数の点からなる集合である場合に対しても容易に拡張可能である。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】MukundSundararajan, Ankur Taly, Qiqi Yan, “Axiomatic Attribution for Deep Networks”,Proceedings of the 34th International Conference on Machine Learning, mar 2017.
【発明の概要】
【発明が解決しようとする課題】
【0010】
例えば、学習済みモデルの学習データのデータ空間において学習データの分布に偏りがあるケースや、学習済みモデルの学習データのデータ分布が疎なデータ領域を対象とするケースにおいては、直線経路P上のAIの出力f(x)の不確実性が大きくなる傾向がある。学習済みモデルの学習データのデータ空間において学習データの分布に偏りがあるケースには、例えば与信審査においてデフォルトデータが十分に存在しないなどがある。学習済みモデルの学習データのデータ分布が疎なデータ領域を対象とするケースには、例えば不正監査において異常検知を行う場合などがある。
【0011】
直線経路P上のAIの出力f(x)の不確実性が被積分関数として内包される式(1)に基づく説明手法IGの寄与値φ_iもまた不確実性が大きくなり、その結果、わずかなパラメタやAIの学習条件の違いなどで寄与値φ_iにも大きな揺らぎが生じる。
【0012】
このような説明手法IGの寄与値φ_iの揺らぎは、説明内容の信頼性を損なうものである。そのため、上述の公理を満たす合理性を担保しながら、揺らぎを抑制することが望まれる。
【0013】
ところが、非特許文献1によると、説明手法IGでは与えられた始点と終点に対して単一かつデータ空間(x_1,x_2,…,x_F)上で単調増加する経路を考慮するという一見自然な前提のもとでは、上述の公理を満たす説明手法IGの経路は直線に一意に定まることが数学的に証明されている。その結果、説明の合理性を担保する算出方法が一意に定まっており、揺らぎを抑制するための工夫の余地が一見ないようにみえる。
【0014】
本発明は上述の背景に鑑みてなされたもので、人工知能の説明の合理性を担保しながら、人工知能の出力の揺らぎを抑制する人工知能の説明技術の提供を目的とする。
【課題を解決するための手段】
【0015】
上述した課題を解決するため、本発明の一態様では、コンピュータが実行する人工知能の説明方法であって、前記コンピュータが、所定次元の説明変数を含んでなるデータ空間における前記人工知能の予測器へ入力する説明対象データに対する前記人工知能の予測器の出力への各説明変数の寄与値を、各説明変数に関する該出力の偏微分値を、該予測器の学習データの代表点と該説明対象データの説明対象点とを結ぶ経路に沿って線積分した積分値に基づいて算出する際に、前記予測器の出力の揺らぎに基づく前記積分値のバラつき度合いを評価する評価指標を最適化する前記経路を選択することを特徴とする。
【発明の効果】
【0016】
本発明によれば、人工知能の説明の合理性を担保しながら、人工知能の出力の揺らぎを抑制する人工知能の説明技術を提供できる。
上記した以外の課題、構成及び効果は、以下の発明を実施するための形態の説明により明らかにされる。
【図面の簡単な説明】
【0017】
図1】実施形態に係る全体システムの構成例を示す図。
図2】実施形態に係る情報処理装置における情報処理フローの例を示すフローチャート。
図3】実施形態に係る学習データ、テストデータ、及び説明対象データの構造例を示す図。
図4】実施形態に係るデータ空間上の経路の概念の例を示す図。
図5】実施形態に係る経路上の経路データの例を示す図。
図6】実施形態に係る予測器出力データの例を示す図。
図7】実施形態に係る不確実性評価部出力データの例を示す図。
図8】実施形態に係る経路上の不確実性データの例を示す図。
図9】実施形態に係る寄与値算出データの例を示す図。
図10】実施形態に係る端末上のデータ入力画面の例を示す図。
図11】実施形態に係る端末上の説明内容提示画面の例を示す図。
図12】実施形態に係る情報処理及び端末を実現するコンピュータのハードウェア例を示す図。
【発明を実施するための形態】
【0018】
以下、図面を参照して本発明の実施形態を説明する。実施形態は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でもよい。
【0019】
同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0020】
実施形態において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))によりプログラムを実行し、記憶資源(例えばメモリ)やインターフェースデバイス(例えば通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であればよく、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)、量子コンピュータ等である。
【0021】
プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施形態において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0022】
(実施形態に係る全体システムSの構成)
図1は、実施形態に係る全体システムの構成例を示す図である。図1において、全体システムSは、情報処理装置100及び端末101を含んで構成される。情報処理装置100及び端末101はネットワーク102を介して互いに接続される。
【0023】
情報処理装置100は、入力器100-1、不確実性付予測器100-2、経路最適化器100-3、及び説明生成器100-4を含んで構成される。端末101は、ユーザが操作する画面などのインタフェースを有する装置である。
【0024】
入力器100-1は、説明対象予測器取得器110及び説明対象データ取得器111を含んで構成される。
【0025】
説明対象予測器取得器110は、ユーザが説明を求める対象の情報を出力する予測器120を、端末101を通じてユーザから取得する。説明対象データ取得器111は、予測器120の学習データとテストデータ、及び説明対象点を取得する。学習データは、予測器120が機械学習などの枠組みを通じて学習したデータあるいはこれから学習するデータである。テストデータは、予測器120の精度を検証するためのデータである。説明対象点は、予測器120の出力に対応する予測器120の入力データである。
【0026】
不確実性付予測器100-2は、例えば予測器120及び不確実性評価部121を含んで構成される。予測器120は、ユーザが関心を持つ対象の事象を予測するためのモデル(アルゴリズム)に基づいて、説明対象データ取得器で取得した学習データ及びテストデータ(入力データ)に対する処理を実行する。予測器120は、既存のAIであると共に、本実施形態のAIの説明手法による説明対象のAIである。
【0027】
不確実性評価部121は、既存のAIであって、予測器120の出力に対する不確実性を出力する。不確実性には、例えば予測器120が出力する予測値の標準偏差や、同等の複数の入力データに対する予測器120の出力データの分布に関して算出される標準偏差などを用いる。標準偏差は、不確実性を表す指標の一例であり、バラつきを表す他の統計指標を用いることもできる。
【0028】
なお、不確実性付予測器100-2の構成としては、ある単一で不可分なアルゴリズムが予測器120と不確実性評価部121を機能的に内包することで単一の機能ブロックからなってもよい。
【0029】
経路最適化器100-3は、経路探索部130、経路上不確実性評価部131、経路不確実性DB132、及び探索継続判定部133を含んで構成される。
【0030】
経路探索部130は、説明対象データ取得器111が取得した学習データ、テストデータ、及び説明対象点(説明対象データ)から上記式(1)における曲線の経路Pの候補を探索し、出力する。経路Pの候補は、後述の経路パラメタ欄1004(図10)の設定に応じて例えば「直線」「説明の揺らぎ最小化曲線」「説明の揺らぎ最小化曲線(グリッド近似)」「学習データ通過直線」の何れかの手法に基づく。これらの詳細は図10を参照して後述する。
【0031】
不確実性付予測器100-2は、経路探索部130によって出力された経路P上の各内分点における予測器120の不確実性を出力する。
【0032】
経路上不確実性評価部131は、不確実性付予測器100-2から出力された経路P上の各内分点の不確実性から、経路P全体に関する不確実性である経路上不確実性を算出する。経路上不確実性DB132は、経路上不確実性を経路上不確実性情報として格納する。経路上不確実性の算出方法は、図8を参照して後述する。
【0033】
探索継続判定部133は、経路上不確実性DB132に格納された値の分布と、最新の経路上不確実性評価部131の経路上不確実性の値から経路上不確実性が十分最小化されたかどうかを判定する。十分最小化されていないと判定された場合には、経路探索部130は、再び経路Pの候補を探索し、出力する。十分最小化されていると判定された場合には、寄与値算出部140の処理に移る。
【0034】
説明生成器100-4は、寄与値算出部140及び寄与値結果表示部141を含んで構成される。
【0035】
寄与値算出部140は、既存のXAI(eXplainable AI)であって、予測器120から出力される予測値から、説明対象点に含まれる各特徴量について、上記式(1) を用いて特徴量の予測値への影響の大きさを表す寄与値を算出する。同等の計算を繰り返しサンプリングすることによってその寄与値の偏差も算出できる。寄与値結果表示部141は、算出された寄与値をグラフなどで可視化して表示する。
【0036】
(実施形態に係る情報処理フロー)
図2は、実施形態に係る情報処理装置における情報処理フローの例を示すフローチャートである。図2は、入力器100-1と不確実性付予測器100-2と経路最適化器100-3における処理フローを示す。
【0037】
図2において、ステップS100では、説明対象予測器取得器110は、ユーザの入力から説明対象の予測器を取得する。説明対象予測器取得器110は、取得した説明対象予測器を予測器120として取り込む。
【0038】
次にステップS101では、説明対象データ取得器111は、ユーザの入力に基づいて学習データ、テストデータ、及び説明対象データを取得する。
【0039】
次にステップS102からS110の間で、経路上不確実性DB132に格納する経路上不確実性に関する、ステップS103からS109のループ処理を行う。
【0040】
ステップS103では、経路探索部130は、新しい候補になる経路Pを探索し、出力する。
【0041】
次にステップS104では、予測器120は、経路探索部130で出力された経路P上の複数点を抽出し、その複数点(あるいは同等のサンプル)に対する予測器120の出力の分布を取得する。次にステップS105では、不確実性評価部121は、予測器120の出力及びその分布を入力として、経路P上の複数点(あるいは同等のサンプル)の各点における予測器120の不確実性を出力する。
【0042】
ここで、予測器120の不確実性とは、学習データの不足により予測器120が不安定な予測値を出力するという最も一般的な不確実性(モデルの不確実性(Epistemic Uncertainty))である。しかし、予測器120の不確実性は、モデルの不確実性に限らず、学習データの観測ノイズなどにより予測器120の学習そのものが不安定になり、その結果、予測器120の予測値が揺らぐという不確実性(ノイズの不確実性(Aleatoric Uncertainty)であってもよい。
【0043】
次にステップS106では、経路上不確実性評価部131は、不確実性評価部121から出力されたデータを基に、経路探索部130で出力された経路P上の全体の不確実性を算出する。“経路探索部130で出力された経路P上の全体の不確実性”は、例えば後述の経路上不確実性802(図8)であり、同一学習データ及び同一学習条件で学習した予測器120の出力の揺らぎに基づく式(1)の積分値のバラつき度合いを評価する評価指標の一例である。
【0044】
次にステップS107では、経路上不確実性は、経路上不確実性DB132に含まれる経路P上の不確実性と、ステップS106で算出された経路P上の不確実性を比較し、ステップS106で算出された経路上不確実性が最小かを判定する。経路上不確実性は、ステップS106で算出された経路上不確実性が最小と判定した場合にステップS108へ処理を移し、最小でないと判定した場合にステップS109へ処理を移す。
【0045】
ステップS108では、経路上不確実性評価部131は、ステップS107で最小と判定した経路上不確実性を経路上不確実性DB132に格納する。ステップS109では、探索継続判定部133は、ステップS103からS109の処理ループを継続するかを判定する。探索継続判定部133は、継続と判定した場合にステップS103に処理を戻し、継続しないと判定した場合にステップS110に処理を移し、ループ処理を終了する。次にステップS111では、寄与値算出部140は、経路上不確実性DB132に格納されている経路上不確実性が最小の経路(最適化された経路)に基づき、上記式(1)に基づいて寄与値φ_iを算出する。この最適化された経路Pに沿って上記式(1)を計算した場合、入力xに対する出力f(x)に揺らぎがあることから、偏微分値∂f(x)/∂x_i及びその積分値に基づく寄与値φ_iもバラつきがあることになる。よって、説明変数ごとの寄与値φ_iのM個のサンプルの平均及び分散を算出して、寄与値φ_iの算出データとする。
【0046】
(学習データ、テストデータ、及び説明対象データのデータ構造)
図3は、実施形態に係る学習データ、テストデータ、及び説明対象データの構造例を示す図である。説明対象データ取得器111(図1)は、ステップS101(図2)でデータ構造300の学習データ、テストデータ、及び説明対象データを読み込む。データ構造300は、データID301、特徴量302、及び予測値303から構成されるエントリを複数格納する。
【0047】
データID301は、データ個別の識別子であり、番号が格納される。特徴量302は、ユーザが解析対象とするデータを構成する項目の値である特徴量を格納する。これらの各項目は説明変数1、説明変数2のように番号付けされる。予測値303はユーザが解析対象とするデータの正解値を格納する。
【0048】
予測器120は、特徴量302を入力として予測値303を再構成する演算を行う。また、説明対象点(予測器120の入力データ)は、特徴量302のエントリの集合である。
【0049】
(実施形態に係るデータ空間上の経路)
図4は、実施形態に係るデータ空間上の経路の概念の例を示す図である。図4は、経路最適化器100-3(図1)によって最適化される経路、あるいは、寄与値算出部140(図1)が寄与値を算出する際の線積分の積分経路として用いる経路、の概念図である。
【0050】
経路探索部130(図1)は、ステップS103(図2)で最適な経路Pの候補を算出する。経路(経路ID=p、経路内部ID=m)400は、特徴量302(図3)を構成する各説明変数を独立変数とみなし、全ての説明変数(説明変数320-i(i=1,2,…,F(Fは、特徴量を構成する説明変数の次元))を座標軸401-1,401-2,…,401-Fが張るF次元空間における始点(参照点)a_1と終点(説明対象点)a_Sを結ぶ、一筆書きで結んだ滑らかな曲線の形態をとる。経路ID及び経路内部IDに関しては、図6で説明する。“始点と終点を一筆書きで結んだ滑らかな曲線”とは、例えば始点と終点を結ぶ数学的に滑らかな単一曲線(直線を含む)をいう。
【0051】
図4において、経路上内分点a_1_402-1,a_2_02-2,…,a_S_402-Sは、上記式(1)における総和を取る点として、参照点a_1と説明対象点a_Sの両端を含むS個の内分点を表す。
【0052】
(実施形態に係る経路P上の経路データ)
図5は、実施形態に係る経路P上の経路データの例を示す図である。図5は、図2のループ処理(ステップS102からS110)におけるステップS103で生成される、図4で概念的に示した経路の候補のデータ構造500の例を表す。
【0053】
経路ID501は、図2のループ処理の回数に対応する、ループごとにステップS103で経路探索部130から出力される経路の個別の識別子である。
【0054】
経路内部ID502は、特定の経路IDに対して図4に概念的に示した一筆書きの経路の本数に対する個別の識別子である。
【0055】
経路上サンプルデータID503は、経路上内分点a_1_402-1,a_2_402-2,…,a_S_402-Sのエントリを格納する。
【0056】
特徴量504は、経路上サンプルデータID503の各内分点に対応するF次元空間における座標のエントリを格納する。
【0057】
(実施形態に係る予測器出力データ)
図6は、実施形態に係る予測器出力データの例を示す図である。図6は、ステップS104(図2)で経路Pの各内分点(a_1_402-1,a_2_402-2,…,a_S_402-S)(図4)に対する予測器120のパフォーマンス情報のデータ構造600の例を表す。
【0058】
経路ID601は、経路ID501と同様である。経路内部ID602は、経路内部ID502と同様である。経路上サンプルデータID603は、経路上サンプルデータID503と同様である。
【0059】
予測器パフォーマンス604は、特徴量504(図5)を予測器120に入力して出力された予測値、あるいは、その予測値の集合を格納する。本実施形態では、予測器120は、学習結果に基づき同一の入力に対して出力する値が従うと推定される確率分布からランダムに選択した値を出力するものとする。他にも予測器120は、確率分布そのものを出力するものであっても、決定論的にある値を出力するものでもよい。本実施形態では、M個の各サンプルj(j={1,2,…,M})に対する予測器120の出力を604-jに格納する。
【0060】
(実施形態に係る不確実性評価部出力データ)
図7は、実施形態に係る不確実性評価部出力データの例を示す図である。図7は、不確実性評価部121(図1)が、ステップS105(図2)で評価した、経路Pの各内分点に対する予測器120の出力値の不確実性に関する統計量を格納するデータ構造700の例を表す。
【0061】
経路ID701は、経路ID501、経路ID601と同様である。経路内部ID702は、経路内部ID502、経路内部ID602と同様である。経路上サンプルデータID703は、経路上サンプルデータID503、経路上サンプルデータID603と同様である。予測器パフォーマンス統計量704は、予測器パフォーマンス604のM個のサンプルのバラつきに関する統計量を格納する。バラつきに関する統計量は、例えば、M個のサンプルの平均値(平均704-1)、M個のサンプルの分散値(平均704-1)を格納する。
【0062】
(実施形態に係る経路P上の不確実性データ)
図8は、実施形態に係る経路P上の不確実性データの例を示す図である。図8は、経路上不確実性評価部131(図1)が、ステップS106(図2)で、各経路P全体に関する予測器120の出力値の不確実性の情報(経路上不確実性情報)のデータ構造800の例を表す。
【0063】
経路ID801は、経路ID501、経路ID601、経路ID701と同様である。経路上不確実性802は、経路ID801ごとの全経路の全内分点全体での不確実性を分散値の誤差伝搬によって求めた値を格納する。経路上不確実性802に格納される不確実性は、分散値の誤差伝搬に限らず、予測器120の出力の不安定性を直接的あるいは間接的に定量化したものでもよい。
【0064】
(実施形態に係る寄与値算出データ)
図9は、実施形態に係る寄与値算出データの例を示す図である。図9は、寄与値算出部140(図1)が、ステップS111(図2)で算出する寄与値のデータ構造900の例を表す。
【0065】
特徴量901は、特徴量302(図3)のF個の説明変数を項目として格納する。説明内容902は、F個の各説明変数が説明対象点a_S_402-Sの出力に対してどのような影響があるかを表す。寄与値の平均902-1は、例えば予測器パフォーマンス604と同様であり、M個のサンプルの寄与値の平均値を格納する。寄与値の分散902-2は、寄与値の平均902-1と同様であり、M個のサンプルの分散値を格納する。
【0066】
(端末101上のデータ入力画面1000)
図10は、実施形態に係る端末101上のデータ入力画面1000の例を示す図である。データ入力画面1000は、入力器100-1が情報を取得するために、ユーザに対して端末101に表示される画面である。
【0067】
説明対象予測器欄1001は、予測器120の格納パス及びファイル名を入力する欄である。学習データ欄1002は、予測器120の学習データの格納パス及びファイル名を入力する欄である。説明対象データ欄1003は、説明対象点402-Sの格納パス及びファイル名を入力する欄である。
【0068】
経路パラメタ欄1004は、上記式(1)の線積分を行う積分経路を最適化する上でのポリシーを設定する。図10に示す例では、項目「直線」では、経路400を従来手法に従う直線とする。項目「説明の揺らぎ最小化曲線」では、経路400を本実施形態の手法に従う経路とする。項目「説明の揺らぎ最小化曲線(グリッド近似)」では、経路400をF次元のデータ空間での格子点上のグリッドで近似した経路とする(すなわち経路400を何れかの座標軸に平行な線分の集合に限定する)。“グリッド近似”によって、経路の探索時間を短縮できる。項目「学習データ通過直線」では、データ空間における学習データの分布密度が閾値以上の領域において経路400を学習データを結ぶ経路の集合とする。このように不確実性を直接最適化する代わりに、学習データを結んで経路を生成することで、経路探索の時間を短縮できる。
【0069】
経路探索試行回数欄1005は、ループ処理S102からS110(図2)のループ回数を設定する欄である。つまり、ステップS109の継続探索の判定は、ステップS109の実行回数が、設定された回数に至ったか否かで行われる。他にも探索継続の判定は、探索の履歴に応じた条件式などにしてもよく、判定アルゴリズムのパラメタのうちユーザに設定させるパラメタが入力欄に入力又は選択可能になる。
【0070】
経路上サンプル点数欄1005は、経路上内分点の数Sを設定する欄である。
【0071】
なお、ユーザに設定させないやり方などにより、経路パラメタ欄1004、経路探索試行回数欄1005、及び経路上サンプル点数欄1006の少なくとも何れかを省略してもよい。
【0072】
表示方法欄1007は、説明内容の表示に際し、どのような経路が最適化の結果として選択されたのかに対しての可視化の方法を設定する欄である。この可視化の方法には、「多次元表示」、「経路上のデータ点表示」がある。
【0073】
項目「多次元表示」では、図4に示すような、F次元空間上の経路Pを表示する。必要に応じて次元削減などを行う。項目「経路上のデータ点表示」では、経路上内分点402-1,…,402-Sのデータ点及びその一部を表示する。こちらの項目は、例えば画像データなどに有効である。説明内容の数値情報のみにニーズがある場合などは、該当欄が無くてもよい。
【0074】
計算実行ボタン1008は、入力を終えて、処理の開始を促す操作ボタンである。
【0075】
図11は、実施形態に係る端末101上の説明内容提示画面1100の例を示す図である。説明内容提示画面1100は、寄与値結果表示部141(図1)が作成した情報をユーザに対して端末101上で表示する方法を提供するための画面である。
【0076】
説明内容1101は、各説明変数が説明対象データに対してどのような影響があったかを示す。影響度の大きさを表す貢献度1101-1を軸にして、各説明変数1101-2の貢献度(寄与値)の大きさを棒グラフ1101-3などで表す。必要に応じて、貢献度(寄与値)の揺らぎの範囲をエラーバー1101-4などで表す。貢献度(寄与値)の揺らぎ(バラつき)の範囲は、例えは貢献度(寄与値)の平均をμ、貢献度(寄与値)の分散をσ としてμ-ασ≦貢献度(寄与値)≦μ+ασ(αは所定正数)と表される。
【0077】
表示方法欄1007によってユーザによる表示方法の選択が可能である場合やユーザの意思に関わらず経路の可視化の仕組みが用意されている場合は、その内容に沿った経路情報(データ分布と説明用の経路)が多次元表示1102で可視化される。
【0078】
一例として、図11では、表示方法欄1007で項目「多次元表示」が選択された場合を示している。ここでは、説明変数はF=2、つまり説明変数1と説明変数2の2次元のデータ空間を考える。
【0079】
多次元表示1102の背景表示として、色の濃淡で学習データのデータ密度を表現する学習データ分布1102-1をプロットする。さらに、その上で、参照点a_1,説明対象点a_S及びそれらを結ぶ経路1102-2を図示する。学習データ分布1102-1の表示は省略可能である。
【0080】
経路タイプ選択欄1103は、経路パラメタ欄1004(図10)の項目の選択内容に対応する。ユーザによって、経路パラメタ欄1004の項目が複数選択された場合は、経路タイプ選択欄1103での選択に応じて、項目ごとの経路1102-2を切り替えて表示する。複数の経路パラメタ欄1004の項目ごとの経路1102-2は、色分けするなど識別可能にして同時にして表示されてもよい。
【0081】
本実施形態では、説明手法IGのような学習済みAIの出力f(x)の説明変数x=(x_1,x_2,…,x_F)に対する偏微分値∇f(P(x))をデータ空間の経路Pに沿って線積分した寄与値φ_iを用いる説明手法において、経路Pを次のように選択する。統計的に同等のデータ、同等の学習条件、同等のパラメタで学習したモデルの出力のばらつき度合に起因する積分値の揺らぎを評価する指標を求め、この指標を最小化する単一曲線の経路Pを選択する。
【0082】
そして、人工知能の説明手法における説明の対称性の公理を満たすための、経路Pが与えられた始点と終点に対して単一でデータ空間上で単調増加する経路であるという一見すると自然に見える前提を廃止する。その代わりに、本実施形態では、“出力f(x)がx_iとx_jとに関して対称性を持つ最適化経路”に沿って寄与値φ_iを算出する。このようにすることで、対称性の公理を満たすことができる。ここで“出力f(x)がx_iとx_jとに関して対称性を持つ最適化経路”とは、経路上の内分点について、f(x_1,…,x_i,…,x_j,…,x_F)=f(x_1,…,x_j,…,x_i,…,x_F)が任意のx_i,x_j(i,j∈{1,2,…,F}かつi≠j)について成立する経路である。
【0083】
このように、学習済みAIの出力の揺らぎを考慮した経路を選択することで、説明変数への寄与度をロバストに算出することが可能になる。
【0084】
(コンピュータ1200のハードウェア)
図12は、コンピュータ1200の構成例を示すハードウェア図である。例えば、情報処理装置100及び端末101は、コンピュータ1200によって実現される。
【0085】
コンピュータ1200は、バス等の内部通信線1209を介して相互に接続されたCPUをはじめとするプロセッサ1201、主記憶装置1202、補助記憶装置1203、ネットワークインタフェース1204、入力装置1205、及び出力装置1206を備えるコンピュータである。
【0086】
プロセッサ1201は、コンピュータ1200全体の動作制御を司る。また主記憶装置1202は、例えば揮発性の半導体メモリから構成され、プロセッサ1201のワークメモリとして利用される。補助記憶装置1203は、ハードディスク装置、SSD(Solid State Drive)、またはフラッシュメモリ等の大容量の不揮発性の記憶装置から構成され、各種プログラムやデータを長期間保持するために利用される。
【0087】
補助記憶装置1203に格納された実行可能プログラム1203aがコンピュータ1200の起動時や必要時に主記憶装置1202にロードされ、主記憶装置1202にロードされた実行可能プログラム1203aをプロセッサ1201が実行することにより、各種処理を実行する装置が実現される。
【0088】
なお、実行可能プログラム1203aは、非一時的記録媒体に記録され、媒体読み取り装置によって非一時的記録媒体から読み出されて、主記憶装置1202にロードされてもよい。または、実行可能プログラム1203aは、ネットワークを介して外部のコンピュータから取得されて、主記憶装置1202にロードされてもよい。
【0089】
ネットワークインタフェース1204は、コンピュータ1200をシステム内の各ネットワークに接続する、あるいは他のコンピュータと通信するためのインタフェース装置である。ネットワークインタフェース1204は、例えば、有線LAN(Local Area Network)や無線LAN等のNIC(Network Interface Card)から構成される。
【0090】
入力装置1205は、キーボードや、マウス等のポインティングデバイス等から構成され、ユーザがコンピュータ1200に各種指示や情報を入力するために利用される。出力装置1206は、例えば、液晶ディスプレイ又は有機EL(Electro Luminescence)ディスプレイ等の表示装置や、スピーカ等の音声出力装置から構成され、必要時に必要な情報をユーザに提示するために利用される。
【0091】
本発明は上述の実施形態に限定されるものではなく、様々な変形例を含む。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、矛盾しない限りにおいて、ある実施形態の構成の一部を他の実施形態の構成で置き換え、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、構成の追加、削除、置換、統合、又は分散をすることが可能である。また、実施形態で示した構成及び処理は、処理効率又は実装効率に基づいて適宜分散、統合、又は入れ替えることが可能である。
【符号の説明】
【0092】
100:情報処理装置、1200:コンピュータ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12