(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】情報取得装置、情報取得方法およびプログラム
(51)【国際特許分類】
G06N 3/02 20060101AFI20240117BHJP
【FI】
G06N3/02
(21)【出願番号】P 2019184795
(22)【出願日】2019-10-07
【審査請求日】2022-09-08
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成31年度、国立研究開発法人科学技術振興機構、未来社会創造事業「基礎アルゴリズム・シナリオの開発」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(73)【特許権者】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】久保 裕介
(72)【発明者】
【氏名】小森 雄斗
【審査官】土谷 慎吾
(56)【参考文献】
【文献】特開2011-054200(JP,A)
【文献】韓国登録特許第10-1916348(KR,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02
(57)【特許請求の範囲】
【請求項1】
グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める取得部と、
ノード間における前記分布の相関を算出
し、前記グラフィカルモデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間における前記分布の相関の強さを示す値、および、前記最終ノードから各出力ノードへ伝達される値のばらつき度合いを示す値に基づいて、前記出力ノードの値に対する前記経路の寄与度の評価値を算出する算出部と、
を備える情報取得装置。
【請求項2】
前記算出部は、前記経路毎の前記評価値に基づいて、前記経路に対する順位付けを行う、
請求項
1に記載の情報取得装置。
【請求項3】
複数の前記入力データに対する、あるノードの値の分布を、入力データに対するクラス分類結果毎に異なる表示態様で表示する表示部を備える、
請求項1
または請求項2に記載の情報取得装置。
【請求項4】
グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める工程と、 ノード間における前記分布の相関を算出
し、前記グラフィカルモデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間における前記分布の相関の強さを示す値、および、前記最終ノードから各出力ノードへ伝達される値のばらつき度合いを示す値に基づいて、前記出力ノードの値に対する前記経路の寄与度の評価値を算出する工程と、
を含む情報取得方法。
【請求項5】
コンピュータに、グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める工程と、
ノード間における前記分布の相関を算出
し、前記グラフィカルモデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間における前記分布の相関の強さを示す値、および、前記最終ノードから各出力ノードへ伝達される値のばらつき度合いを示す値に基づいて、前記出力ノードの値に対する前記経路の寄与度の評価値を算出する工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報取得装置、情報取得方法およびプログラムに関する。
【背景技術】
【0002】
機械学習モデルの解釈可能性に関連して、学習済みモデルであるニューラルネットワークに画像データが入力された状態で、出力ノードから入力ノードへと(信号の流れと逆向きに)辿っていき、発火しているノードを表示することが記載されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Gregoire Montavona、外4名、"Explaining nonlinear classification decisions with deep Taylor decomposition"、Pattern Recognition 65、p.211-222、ELSEVIER、2017年
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1に記載の方法によれば、特定の入力データに対して学習済みモデルが行う処理を視覚化することができる。
一方、新たな入力データに対応する観点から、特定の入力データによらずモデル自体の解釈を行えることが望まれる。
【0005】
本発明は、上述の課題を解決することのできる情報取得装置、情報取得方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、情報取得装置は、グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める取得部と、ノード間における前記分布の相関を算出し、前記グラフィカルモデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間における前記分布の相関の強さを示す値、および、前記最終ノードから各出力ノードへ伝達される値のばらつき度合いを示す値に基づいて、前記出力ノードの値に対する前記経路の寄与度の評価値を算出する算出部と、を備える。
【0007】
本発明の第2の態様によれば、情報取得方法は、グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める工程と、ノード間における前記分布の相関を算出し、前記グラフィカルモデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間における前記分布の相関の強さを示す値、および、前記最終ノードから各出力ノードへ伝達される値のばらつき度合いを示す値に基づいて、前記出力ノードの値に対する前記経路の寄与度の評価値を算出する工程と、を含む。
【0008】
本発明の第3の態様によれば、プログラムは、コンピュータに、グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める工程と、ノード間における前記分布の相関を算出し、前記グラフィカルモデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間における前記分布の相関の強さを示す値、および、前記最終ノードから各出力ノードへ伝達される値のばらつき度合いを示す値に基づいて、前記出力ノードの値に対する前記経路の寄与度の評価値を算出する工程と、を実行させるためのプログラムである。
【発明の効果】
【0009】
この発明によれば、モデルの解釈を行うための情報を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係る情報取得装置の機能構成を示す概略ブロック図である。
【
図2】実施形態に係る表示部による対象モデルの表示例を示す図である。
【
図3】実施形態に係る表示部による対象モデルの各ノードの値の分布の表示例を示す図である。
【
図4】実施形態に係る表示部による、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度のランキングの表示例を示す図である。
【
図5】実施形態に係る情報取得装置が、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度のランキングを表示する場合の処理手順の例を示すフローチャートである。
【
図6】実施形態に係る情報取得装置の構成の例を示す図である。
【
図7】実施形態に係る情報取得方法における処理手順の例を示す図である。
【
図8】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、実施形態に係る情報取得装置の機能構成を示す概略ブロック図である。同図に示す構成で、情報取得装置100は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部190とを備える。記憶部180は、モデル記憶部181を備える。制御部190は、取得部191と、算出部192とを備える。
【0012】
情報取得装置100は、有向非巡回グラフの構造を有するグラフィカルモデルを解釈するための情報を提供する。以下では、情報取得装置100の処理対象のモデル(情報取得装置100が情報を提供する対象のモデル)を対象モデルとも称する。対象モデルは、ディープラーニング(Deep Learning、深層学習)等の順伝播型ニューラルネットワーク(Feedforward Neural Network)であってもよいが、これに限定されない。また、対象モデルは、典型的には学習済みモデル(機械学習によって得られたモデル)であるが、これに限定されない。
【0013】
情報取得装置100は、例えばパソコン(Personal Computer;PC)等のコンピュータを用いて構成される。あるいは、情報取得装置100が、ASIC(Application Specific Integrated Circuit)を用いて構成されるなど、情報取得装置100専用のハードウェアを用いて構成されていてもよい。
【0014】
通信部110は、他の装置と通信を行う。例えば、通信部110は、対象モデルへの入力データをサーバ装置などのコンピュータから受信する。ただし、情報取得装置100が対象モデルへの入力データを取得する方法は特定の方法に限定されない。
表示部120は、例えば液晶パネルまたはLED(Light Emitting Diode、発光ダイオード)パネル等の表示画面を備え、各種画像を表示する。例えば、表示部120は、情報取得装置100が算出する、対象モデルを解釈するための情報を表示する。ただし、情報取得装置100が情報を出力する方法は、表示部120による表示に限定されない。例えば、通信部110が、他の装置へ情報を送信するようにしてもよい。
【0015】
操作入力部130は、例えばキーボードおよびマウス等の入力デバイスを備え、ユーザ操作を受け付ける。例えば、操作入力部130が、対象モデルを解釈するための情報の計算を指示するユーザ操作を受け付けると、情報取得装置100は、対象モデルを解釈するための情報の計算を開始する。
【0016】
記憶部180は、各種データを記憶する。記憶部180は、情報取得装置100が備える記憶デバイスを用いて構成される。
モデル記憶部181は、対象モデルを記憶する。なお、
図1では、対象モデルがソフトウェア的に実行される場合の例を示している。この場合、制御部190は、モデル記憶部181から対象モデルを読み出して、入力データに対する演算など対象モデルに関する処理を行う。ただし、対象モデルがハードウェア的に実行されてもよい。
【0017】
制御部190は、情報取得装置100の各部を制御して各種処理を行う。制御部190の機能は、例えば、情報取得装置100が備えるCPU(Central Processing Unit、中央処理装置)が、記憶部180からプログラムを読み出して実行することで実行される。
取得部191は、複数の入力データの各々に対する対象モデルの演算を実行する。これにより、取得部191は、複数の入力データの各々について、対象モデルの各ノードの値を算出する。そして、取得部191は、対象モデルのノード毎に、複数の入力データに対するノードの値の分布を求める。
【0018】
算出部192は、相関を算出する。具体的には、算出部192は、隣接するノード間における、ノードの値の分布の相関として相関係数を算出する。ここでいう隣接するノードは、1つのエッジの両端のノードである。すなわち、隣接するノードは、他のノードを経由せずに1つのエッジで直接接続されている2つのノードである。
例えば、算出部192が、コピュラ(Copula)を用いて相関係数を算出するようにしてもよい。
【0019】
算出部192は、さらに、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度(影響の大きさ)の評価値を算出する。ここでいう隠れ層の最終ノードは、隠れ層のノードのうち出力ノードに隣接するノードである。
具体的には、算出部192は、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間におけるノードの値の分布の相関の積を算出する。
【0020】
また、算出部192は、最終ノードから各出力ノードへ伝達される値のばらつき度合いを示す値を算出する。以下では、算出部192が、ばらつき度合いを示す値として分散を算出する場合を例に説明する。ただし、算出部192が算出するばらつき度合いを示す値は分散に限定されない。例えば、算出部192が、ばらつき度合いを示す値として標準偏差を算出するようにしてもよい。
そして、算出部192は、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間におけるノードの値の分布の相関の積と、最終ノードから各出力ノードへ伝達される値の分散との積を算出する。
【0021】
算出部192は、対象モデルの入力ノードから隠れ層の最終ノードまでの複数の経路の各々について、その経路が出力ノードの値のばらつき度合いに対する寄与度の評価値を算出する。例えば、算出部192は、全ての入力ノードから全ての隠れ層の最終ノードまでの全ての経路について、その経路が出力ノードの値のばらつき度合いに対する寄与度の評価値を算出する。
そして、算出部192は、経路毎の評価値に基づいて、経路に対する順位付けを行う。例えば、算出部192は、評価値の大きい順に経路を順位付けする。あるいは、算出部192が、評価値の小さい順に経路を順位付けするようにしてもよい。
【0022】
図2は、表示部120による対象モデルの表示例を示す図である。
図2の例で、対象モデルは入力層と、2層の隠れ層(中間層)と、出力層とを有する。入力層は、4個の入力ノードを有する。隠れ層の1層目は、6個の中間ノードを有する。隠れ層の2層目は、4個の中間ノードを有する。出力層は、3個の出力ノードを有する。
ただし、対象モデルは、
図2の構造のモデルに限定されない。
【0023】
入力層の各ノードから隠れ層の1層目の各ノードへ、隠れ層の1層目の各ノードから隠れ層の2層目の各ノードへ、および、隠れ層の2層目の各ノードから出力層の各ノードへ、有向のエッジが設けられている。各エッジには重み係数が設定されており、ノードから出力される値は、エッジにおける重み係数を乗算されて次のノードへ入力される。
このように、
図2に示される対象モデルは、有向かつ非巡回のグラフの構造を有するモデルとなっている。
また、
図2では、入力ノードx_0から出力ノードpred_2への経路のうち、中間ノードh0_4およびh1_0を経由する経路が示されている。
【0024】
図3は、表示部120による対象モデルの各ノードの値の分布の表示例を示す図である。
図3は、
図2に示される対象モデルの各ノードの値の分布の例を示している。
図3の例で、表示部120は、ノード毎にヒストグラム(度数分布図)を示している。各ヒストグラムの横軸は、複数の入力データに対してそのノードがとり得る値を示す。縦軸は、そのノードがその値をとった回数を、入力データの個数で除算する正規化を行った値を示す。この正規化により、度数分布を確率分布として扱うことができる。
【0025】
また、
図3の例で、表示部120は、各ノードの度数分布をクラス分類結果毎に異なるパターンで表示している。このクラス分類は、出力ノードの値によって示される。
図3の例では、3つのノードpred_0、pred_1、pred_2のうち、いずれか最も大きい値を示すノードによって、pred_0のクラス、pred_1のクラス、pred_2のクラスの3つのクラスに分類されている。
【0026】
図3のように度数分布のクラス分類の表示を可能にするために、取得部191は、入力データに対する各ノードの値を算出した後、算出したノードの値に、クラス分類結果(のクラス)のラベル付けを行う。取得部191は、与えられた全ての入力データに対して各ノードの値を算出した後、ノード毎に、そのノードがとった値を集計してヒストグラムを作成する。その際、取得部191が、あるノードがある値をとった回数を、ノードの値にラベル付けされたクラス毎に数える。これにより、表示部120は、
図3の例のように各ノードの度数分布をクラス分類結果毎に異なるパターンで表示することができる。
【0027】
図3の例のように、表示部120が、各ノードの度数分布をクラス分類結果毎に異なるパターンで表示することで、ノードの値とクラス分類との関連性を視覚的に示すことができる。例えば、中間ノードh1_2では、クラス分類結果がpred_1のクラス、pred_2のクラスの何れの場合も、ノードの値は、ほぼ0となっている。このことから、中間ノードh1_2の値を用いたのでは、pred_1のクラスとpred_2のクラスとを分類することは困難であると考えられる。
【0028】
一方、中間ノードh1_2では、クラス分類結果がpred_0のクラスの場合のノードの値は2よりも大きい値となっており、他のクラスの場合のノードの値(ほぼ0)とは異なっている。このことから、中間ノードh1_2の値を用いることで、pred_0のクラスとそれ以外のクラスとの分類が可能と考えられる。
【0029】
また、
図3では、入力ノードx_3から隠れ層の2層目の中間ノードh1_0までの経路のうち、隠れ層の1層目の中間ノードh0_4を経由する経路が示されている。この経路は、入力ノードから隠れ層の最終ノードまでの経路の例に該当する。
この経路に関しては、算出部192は、入力ノードx_3の値の分布と、中間ノードh0_4の値の分布との相関、および、中間ノードh0_4の値の分布と、中間ノードh1_0の値の分布との相関を算出する。算出部192が、相関として相関係数を算出する場合、例えば、式(1)のように示される。
【0030】
【0031】
ここで、ρは相関係数を示す。
また、上記のようにノードの値の分布を正規化することによって確率分布と見做すことができる、Xは、隣接する2つのノードのうち前段(データをエッジに出力する側)のノードの値の確率変数を示し、σXは、確率変数Xの標準偏差を示す。また、Yは、後段(エッジからのデータの入力を受ける側)のノードの値の確率変数を示し、σYは、確率変数Yの標準偏差を示す。
また、σXYは、確率変数XとYとの共分散を示す。
【0032】
これら隣接する2つの値の分布の相関は、後段のノードの値に対する前段のノードの値の寄与度(影響の大きさ)を示している。2つのノードの間のエッジの重み係数が正の値で、かつ、強い正の相関がある場合、および、2つのノードの間のエッジの重み係数が負の値で、かつ、強い負の相関がある場合のいずれも、後段のノードの値に対する前段のノードの値の寄与度が大きいといえる。一方、2つのノードの値の分布の相関が弱い場合、後段のノードの値に対する前段のノードの値の寄与度は小さいといえる。
【0033】
例えばユーザ等の人が、対象モデルを解釈する際、相関の強いノード間のエッジを重要視し、相関の弱いノード間のエッジは無視ないし軽視することが考えられる。また、表示部120が
図2の例のように対象モデルを表示する際、相関の強いノード間のエッジを濃く表示し、相関の弱いノード間のエッジを薄く表示するようにしてもよい。
また、情報取得装置100または人(例えばユーザ)が、対象モデルのエッジのうち相関の弱いノード間のエッジを削除することでモデルの簡単化を行うようにしてもよい。
【0034】
また、算出部192は、入力ノードから隠れ層の最終ノードまでの経路の各ノード間におけるノードの値の分布の相関の積を算出する。例えば、
図3の入力ノードx_3から中間ノードh0_4を経由して中間ノードh1_0に至る経路の場合、算出部192は、入力ノードx_3の値の分布と中間ノードh0_4の値の分布との相関と、中間ノードh0_4の値の分布と中間ノードh1_0の値の分布との相関との積を算出する。
この積は、データがこの経路で伝達される度合いを示す。例えば、(正規化等によって)相関を確率と見做すことができる場合、この積は、データがこの経路を通る確率を示す。
算出部192が算出する相関の積は、式(2)のように示される。
【0035】
【0036】
ここで、ρprは、相関の積を示す。
Mは、相関の積の算出対象の経路におけるノードの個数を示す。ノードの個数がM個なので、ノード間の個数はM-1個となる。
ρiは、i番目のノードとi+1番目のノードとの間の、ノードの値の分布の相関を示す。
【0037】
さらに、算出部192は、隠れ層の最終ノードから各出力ノードへ伝達される値のばらつき度合いを算出する。算出部192が、ばらつき度合いとして分散を算出する場合、式(3)のように示される。
【0038】
【0039】
ここでは、Xは、隠れ層の最終ノードから各出力ノードへ伝達される値(最終ノードからの出力にエッジでの重み係数を乗算した値)を確率分布で表した場合の確率変数を示す。Var(X)は、確率変数Xの分散を示す。E((X-μ)2)は、(X-μ)2の期待値を示す。
μは、隠れ層の最終ノードから各出力ノードへ伝達される値の期待値を示し、式(4)のように示される。
【0040】
【0041】
ここで、ρprは、式(2)で算出される相関の積を示す。Nは、計算対象の隠れ層の最終ノードに隣接する出力ノードの個数を示す。w1、w2、・・・wNは、計算対象の隠れ層の最終ノードから、隣接する出力ノードへの各エッジにおける重み係数を示す。
【0042】
この分散は、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度の評価値の例に該当する。分散が大きいほど、この経路で伝達されるデータに基づく出力ノードの値のばらつき度合いが大きいことを示す。出力ノードの値のばらつき度合いが大きいほど、入力データのクラス分類への寄与度が大きいと評価できる。
【0043】
図4は、表示部120による、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度のランキングの表示例を示す図である。
図4は、対象モデルが
図2に示されるモデルである場合の例を示している。
図4の例で、表示部120は、入力ノードから隠れ層の最終ノードまでの経路のうち、出力ノードの値のばらつき度合いに対する寄与度が大きい順に上位10個の経路について、その経路と、各出力ノードの値(期待値)と、これら出力ノードの値の平均値および標準偏差を示している。
【0044】
図4に示される標準偏差は、算出部192が算出する、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度の評価値の例に該当する。標準偏差の値が大きいほど、出力ノードの値のばらつき度合いが大きく、入力データのクラス分類への寄与度が大きいと評価できる。
【0045】
このランキングによって、対象モデルによる予測結果(入力データのクラス分類)の出力に有用な経路が示されているといえる。例えばユーザが、対象モデルを解釈する場合、予測結果の出力に有用な経路に注目することで、解釈が比較的容易になると期待される。
あるいは、ユーザが対象モデルをチューニングする場合、予測結果の出力に有用な経路における重み係数の値を重点的にチューニングすることで、比較的効率的にチューニングを行えると期待される。
【0046】
あるいは、ユーザが対象モデルを簡単化する場合、予測結果の出力への貢献度が小さいエッジまたはノード、あるいはこれらエッジおよびノードの両方を削除するようにしてもよい。予測結果の出力に有用な経路に含まれないエッジまたはノードを、予測結果の出力への貢献度が小さいエッジまたはノードと見做すことができる。
これにより、エッジまたはノードの個数を減らしてモデルを簡単化することができ、かつ、予測結果への影響が小さいことが期待される。
【0047】
表示部120が、出力ノードの値のばらつき度合いに対する寄与度が大きい順の経路のランキングに加えて、あるいは代えて、出力ノードの値のばらつき度合いに対する寄与度が小さい順の経路のランキングを表示するようにしてもよい。
ユーザが、予測結果の出力への貢献度が小さいエッジまたはノードを削除する場合、寄与度が小さい順の経路のランキングを参考にすることができる。
【0048】
次に、
図5を参照して情報取得装置100の動作について説明する。
図5は、情報取得装置100が、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度のランキングを表示する場合の処理手順の例を示すフローチャートである。
【0049】
図5の処理で、取得部191は、複数の入力データを取得し、これらの入力データを対象モデルに入力してモデルの演算を行うことで、各ノードにおけるノードの値の分布を取得する(ステップS11)。なお、
図3の例のように、ノードの値の分布をクラス毎に分類して表示部120に表示させる場合、取得部191は、入力データ毎かつノード毎のノードの値に、その入力データに対する予測結果(クラス分類結果)をメタデータとして付加しておく。
【0050】
次に、算出部192は、入力ノードおよび中間ノードのうち、隣接するノード間におけるノードの値の分布の相関を算出する(ステップS12)。
そして、算出部192は、入力ノードから隠れ層の最終ノードまでの経路の各々について、その経路における各ノード間の、ノードの値の分布の相関の積を算出する(ステップS13)。
【0051】
さらに算出部192は、入力ノードから隠れ層の最終ノードまでの経路毎に、隠れ層の最終ノードから出力ノードへ伝達される値(最終ノードからの出力(の期待値)に、エッジ毎の重み係数を乗算した値)の分散を算出する(ステップS14)。この分散は、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度の評価値の例に該当する。
【0052】
算出部192は、得られた分散に基づいて、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の、出力ノードの値のばらつき度合いに対する寄与度のランキングを生成し、表示部120に表示させる(ステップS15)。
ステップS15の後、情報取得装置100は、
図5の処理を終了する。
【0053】
以上のように、取得部191は、グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める。算出部192は、隣接するノード間における、ノードの値の分布の相関を算出する。
これにより、情報取得装置100が、隣接するノードの関係を示すことができる。特に、情報取得装置100は、この相関を示すことにより、後段(データの入力を受ける側)のノードの値に対する前段(データを出力する側)のノードの値の寄与度(影響の大きさ)を示すことができる。
【0054】
人(例えばユーザ)が対象モデルを解釈する際、相関の強いノード間のエッジを重要視し、相関の弱いノード間のエッジは無視ないし軽視することができる。このように、情報取得装置100は、対象モデルの解釈を行うための情報を提供することができる。
また、情報取得装置100または人(例えばユーザ)が、対象モデルのエッジのうち相関の弱いノード間のエッジを削除することでモデルを簡単化することができる。この場合、相関の弱いノード間のエッジを削除する点で、モデルの予測結果(入力データのクラス分類結果)に対する影響が比較的小さいことが期待される。
【0055】
また、算出部192は、対象モデルの入力ノードから隠れ層の最終ノードまでの経路の各ノード間における前記分布の相関の強さを示す値、および、前記最終ノードから各出力ノードへ伝達される値のばらつき度合いを示す値に基づいて、前記出力ノードの値に対する前記経路の寄与度の評価値を算出する。
【0056】
情報取得装置100は、この評価値を、対象モデルの解釈を行うための情報として提供することができる。
特に、このランキングによって、対象モデルによる予測結果(入力データのクラス分類)の出力に有用な経路が示されているといえる。ユーザ等の人が、対象モデルを解釈する場合、予測結果の出力に有用な経路に注目することで、解釈が比較的容易になると期待される。
あるいは、ユーザ等の人が対象モデルをチューニングする場合、予測結果の出力に有用な経路における重み係数の値を重点的にチューニングすることで、比較的効率的にチューニングを行えると期待される。
【0057】
あるいは、ユーザ等の人が対象モデルを簡単化する場合、予測結果の出力への貢献度が小さいエッジまたはノード、あるいはこれらエッジおよびノードの両方を削除するようにしてもよい。予測結果の出力に有用な経路に含まれないエッジまたはノードを、予測結果の出力への貢献度が小さいエッジまたはノードと見做すことができる。
これにより、エッジまたはノードの個数を減らしてモデルを簡単化することができ、かつ、予測結果への影響が小さいことが期待される。
【0058】
また、算出部192は、対象モデルの入力ノードから隠れ層の最終ノードまでの経路毎の評価値に基づいて、経路に対する順位付けを行う。
ユーザ等の人は、この順位付けの結果(ランキング)を参照することで、対象モデルによる予測結果の出力に有用な経路、あるいは、対象モデルによる予測結果の出力に有用でない経路を把握することができる。
【0059】
また、表示部120は、複数の入力データに対する、あるノードの値の分布を、入力データに対するクラス分類結果毎に異なる表示態様で表示する。
表示部120は、各ノードの度数分布をクラス分類結果毎に異なるパターンで表示することで、ノードの値とクラス分類との関連性を視覚的に示すことができる。
【0060】
次に、
図6および
図7を参照して、実施形態に係る構成例について説明する。
図6は、実施形態に係る情報取得装置の構成の例を示す図である。
図6に示す情報取得装置200は、取得部201と、算出部202とを備える。
かかる構成で、取得部201は、グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める。算出部202は、ノード間における、ノードの値の分布の相関を算出する。
【0061】
これにより、情報取得装置200は、隣接するノードの関係を示すことができる。特に、情報取得装置200は、この相関を示すことにより、後段(データの入力を受ける側)のノードの値に対する前段(データを出力する側)のノードの値の寄与度(影響の大きさ)を示すことができる。
人(例えばユーザ)がグラフィカルモデルを解釈する際、相関の強いノード間のエッジを重要視し、相関の弱いノード間のエッジは無視ないし軽視することができる。このように、情報取得装置200は、グラフィカルモデルの解釈を行うための情報を提供することができる。
【0062】
また、情報取得装置200または人(例えばユーザ)が、グラフィカルモデルのエッジのうち相関の弱いノード間のエッジを削除することでモデルを簡単化することができる。この場合、相関の弱いノード間のエッジを削除する点で、モデルの予測結果(入力データのクラス分類結果)に対する影響が比較的小さいことが期待される。
【0063】
図7は、実施形態に係る情報取得方法における処理手順の例を示す図である。
図7に示される情報取得方法は、グラフィカルモデルへの複数の入力データに対するノードの値の分布を求める工程(ステップS21)と、ノード間における、ノードの値の分布の相関を算出する工程(ステップS22)とを含む。
【0064】
図7の情報取得方法によれば、隣接するノードの関係を示すことができる。特に、この相関を示すことにより、後段(データの入力を受ける側)のノードの値に対する前段(データを出力する側)のノードの値の寄与度(影響の大きさ)を示すことができる。
人(例えばユーザ)がグラフィカルモデルを解釈する際、相関の強いノード間のエッジを重要視し、相関の弱いノード間のエッジは無視ないし軽視することができる。このように、
図7の情報取得方法によれば、グラフィカルモデルの解釈を行うための情報を提供することができる。
【0065】
また、例えば人(例えばユーザ)が、グラフィカルモデルのエッジのうち相関の弱いノード間のエッジを削除することでモデルを簡単化することができる。この場合、相関の弱いノード間のエッジを削除する点で、モデルの予測結果(入力データのクラス分類結果)に対する影響が比較的小さいことが期待される。
【0066】
図8は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図8に示す構成で、コンピュータ700は、CPU(Central Processing Unit)710と、主記憶装置720と、補助記憶装置730と、インタフェース740とを備える。
【0067】
上記の情報取得装置100および200の何れかまたは両方が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。補助記憶装置730は、たとえば、CDC(Compact Disc)や、DVD(digital versatile disc)等の不揮発性(non-transitory)記録媒体である。
【0068】
情報取得装置100がコンピュータ700に実装される場合、制御部190およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、記憶部180およびその各部に対応する記憶領域を主記憶装置720に確保する。通信部110が行う通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。表示部120の機能は、インタフェース740が表示デバイスを有し、CPU710の制御に従って表示デバイスの表示画面に画像を表示することで実行される。操作入力部130の機能は、インタフェース740が入力デバイスを有してユーザ操作を受け付け、受け付けたユーザ操作を示す信号をCPU710へ出力することで行われる。
【0069】
情報取得装置200がコンピュータ700に実装される場合、取得部201および算出部202の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0070】
なお、制御部190が行う処理、取得部201が行う処理、および、算出部202が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0071】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0072】
100、200 情報取得装置
110 通信部
120 表示部
130 操作入力部
180 記憶部
181 モデル記憶部
190 制御部
191、201 取得部
192、202 算出部