(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6778708
(24)【登録日】2020年10月14日
(45)【発行日】2020年11月4日
(54)【発明の名称】解析装置、方法、及びプログラム
(51)【国際特許分類】
G06N 3/08 20060101AFI20201026BHJP
G06F 17/18 20060101ALI20201026BHJP
【FI】
G06N3/08 140
G06F17/18 Z
【請求項の数】8
【全頁数】11
(21)【出願番号】特願2018-47140(P2018-47140)
(22)【出願日】2018年3月14日
(65)【公開番号】特開2019-159943(P2019-159943A)
(43)【公開日】2019年9月19日
【審査請求日】2020年2月25日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】特許業務法人太陽国際特許事務所
(72)【発明者】
【氏名】渡邊 千紘
(72)【発明者】
【氏名】平松 薫
(72)【発明者】
【氏名】柏野 邦夫
【審査官】
渡辺 順哉
(56)【参考文献】
【文献】
特開平07−146852(JP,A)
【文献】
WATANABE, Chihiro et al.,Modular Representation of Layered Neural Networks,Neural Networks,2018年 1月,Volume 97,pp.62-73.,URL,https//doi.org/10.1016/j.neunet.2017.09.017
【文献】
渡邊 千紘ほか,多層ニューラルネットにおける正負の結合重みに基づく大局構造抽出,Forum on Information Technology 2017(FIT2017),日本,一般社団法人情報処理学会ほか,2017年 9月 5日
【文献】
SPORNS, Olaf et al.,Classes of Network Connectivity and Dynamics,Complexity,2002年 2月15日,Volume 7, Issue 1,pp.28-38.,URL,https://onlinelibrary.wiley.com/doi/abs/10.1002/cplx.10015
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00−99/00
G06F 17/18
(57)【特許請求の範囲】
【請求項1】
入力データ及び出力データからなる学習データに基づいて前記入力データから前記出力データを出力するための予め学習されたニューラルネットワークと、前記ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付ける入力部と、
前記入力データの各i番目の要素を表す次元iと前記クラスタとの組み合わせについて、前記入力データの前記次元iの値を、前記学習データに含まれる前記入力データの前記次元iの平均値で置き換えたときの前記クラスタに属する各ユニットの出力と、置き換える前の入力データに対する前記クラスタに属する各ユニットの出力との二乗誤差の和を前記組み合わせの関係として算出し、
前記クラスタと前記出力データの各j番目の要素を表す次元jとの組み合わせについて、前記クラスタに属する各ユニットの出力値を、前記学習データに含まれる前記入力データを入力したときの前記クラスタの各ユニットの平均の出力値で置き換えたときの前記出力データの前記次元jの値と、置き換える前の前記出力データの前記次元jの値との二乗誤差を前記組み合わせの関係として算出する解析部と、
を含む解析装置。
【請求項2】
算出した前記入力データの各次元iと前記クラスタとの組み合わせの関係、及び前記クラスタと前記出力データの各次元jとの組み合わせの関係を、ベクトル又は行列により表すように出力する出力部を更に含む請求項1に記載の解析装置。
【請求項3】
サンプルの入力データ及び前記サンプルが属するr番目の要素を表す次元rを表す出力データからなる学習データに基づいて前記入力データから前記出力データを出力するための予め学習されたニューラルネットワークと、前記ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付ける入力部と、
前記入力データの各i番目の要素を表す次元iと前記クラスタとの組み合わせについて、前記入力データの前記次元iの値を、前記学習データに含まれる前記入力データの前記次元iの平均値で置き換えたときの前記クラスタに属する各ユニットの出力と、置き換える前の入力データに対する前記クラスタに属する各ユニットの出力との二乗誤差の和を前記組み合わせの関係として算出し、
前記クラスタと前記出力データの各j番目の要素を表す次元jとの組み合わせについて、前記クラスタに属する各ユニットの出力値を、前記学習データに含まれる前記入力データを入力したときの前記クラスタの各ユニットの平均の出力値で置き換えたときの前記出力データの前記次元jの値と、置き換える前の前記出力データの前記次元jの値との二乗誤差を前記組み合わせの関係として算出する解析部と、
前記学習データと、前記クラスタの構造と、算出した前記クラスタと前記出力データの各次元jとの組み合わせの関係とに基づいて、前記クラスタの各々に対し、前記クラスタに属する各ユニットの出力値に、前記学習データに含まれる前記出力データが表すサンプルが属する次元rとの組み合わせの関係に応じた雑音を加算し、前記ニューラルネットワークを誤差逆伝播法により再学習する再学習部と、
を含む解析装置。
【請求項4】
入力部が、入力データ及び出力データからなる学習データに基づいて前記入力データから前記出力データを出力するための予め学習されたニューラルネットワークと、前記ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付けるステップと、
解析部が、前記入力データの各i番目の要素を表す次元iと前記クラスタとの組み合わせについて、前記入力データの前記次元iの値を、前記学習データに含まれる前記入力データの前記次元iの平均値で置き換えたときの前記クラスタに属する各ユニットの出力と、置き換える前の入力データに対する前記クラスタに属する各ユニットの出力との二乗誤差の和を前記組み合わせの関係として算出し、
前記クラスタと前記出力データの各j番目の要素を表す次元jとの組み合わせについて、前記クラスタに属する各ユニットの出力値を、前記学習データに含まれる前記入力データを入力したときの前記クラスタの各ユニットの平均の出力値で置き換えたときの前記出力データの前記次元jの値と、置き換える前の前記出力データの前記次元jの値との二乗誤差を前記組み合わせの関係として算出するステップと、
を含む処理をコンピュータに実行させる解析方法。
【請求項5】
算出した前記入力データの各次元iと前記クラスタとの組み合わせの関係、及び前記クラスタと前記出力データの各次元jとの組み合わせの関係を、ベクトル又は行列により表すように出力する出力部を更に含む請求項4に記載の解析方法。
【請求項6】
入力部が、サンプルの入力データ及び前記サンプルが属するr番目の要素を表す次元rを表す出力データからなる学習データに基づいて前記入力データから前記出力データを出力するための予め学習されたニューラルネットワークと、前記ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付けるステップと、
解析部が、前記入力データの各i番目の要素を表す次元iと前記クラスタとの組み合わせについて、前記入力データの前記次元iの値を、前記学習データに含まれる前記入力データの前記次元iの平均値で置き換えたときの前記クラスタに属する各ユニットの出力と、置き換える前の入力データに対する前記クラスタに属する各ユニットの出力との二乗誤差の和を前記組み合わせの関係として算出し、
前記クラスタと前記出力データの各j番目の要素を表す次元jとの組み合わせについて、前記クラスタに属する各ユニットの出力値を、前記学習データに含まれる前記入力データを入力したときの前記クラスタの各ユニットの平均の出力値で置き換えたときの前記出力データの前記次元jの値と、置き換える前の前記出力データの前記次元jの値との二乗誤差を前記組み合わせの関係として算出するステップと、
再学習部が、前記学習データと、前記クラスタの構造と、算出した前記クラスタと前記出力データの各次元jとの組み合わせの関係とに基づいて、前記クラスタの各々に対し、前記クラスタに属する各ユニットの出力値に、前記学習データに含まれる前記出力データが表すサンプルが属する次元rとの組み合わせの関係に応じた雑音を加算し、前記ニューラルネットワークを誤差逆伝播法により再学習するステップと、
を含む処理をコンピュータに実行させる解析方法。
【請求項7】
コンピュータを、請求項1又は請求項2に記載の解析装置の各部として機能させるためのプログラム。
【請求項8】
コンピュータを、請求項3に記載の解析装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、解析装置、方法、及びプログラムに係り、特に、ニューラルネットワークの構造を解析するための解析装置、方法、及びプログラムに関する。
【背景技術】
【0002】
データから学習された多層ニューラルネットワークに対し、ネットワーク解析を適用することにより、元のニューラルネットワークを単純化した構造を取り出し、より解釈しやすい形に変換することを可能とした技術がある。より具体的には、これらの技術は、多層ニューラルネットワークの各層のユニットについて、隣接する層のユニットと類似した結合パターンを持つユニット同士のグループ(クラスタ、又はコミュニティとも呼ぶ)を所定のアルゴリズムに従って見つけることにより、元の結合構造の単純化を実現している。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Watanabe. C, Hiramatsu. K, and Kashino. K. Modular representation of layered neural networks. Neural Networks, Vol. 97, pp. 62-73, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した既存技術により、多層ニューラルネットワークの構造を単純化した構造を取り出すことが可能となったが、これらの技術においては以下のような課題が存在していた。まず、上述した技術により取り出された、多層ニューラルネットワークのクラスタ構造において、各クラスタが果たす役割を定量的に知る方法が存在していなかった。つまり、これらの技術だけでは、各クラスタが入力データの各部分をどの程度見ていて、出力の各部分を予測するのにどの程度使われているのか、ということを知ることができなかった。また、これらの既存技術においては、各クラスタ間に存在する複数の結合を、閾値処理により1本にまとめて表現することにより、構造の単純化を行っていた。このため、既存技術を用いて得られる構造は、閾値の設定により大きく変化してしまい、そこから安定して似たような考察結果を読み取るということができなかった。そこで、閾値などの変数の設定によらず、安定して似たような考察結果を得ることができ、また各クラスタがニューラルネットワークの中で果たす役割を定量的に知ることができるようになるための技術が望まれている。
【0005】
本発明は、上記問題点を解決するために成されたものであり、ニューラルネットワークの構造を定量的に解析することができる解析装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、第1の発明に係る解析装置は、入力データ及び出力データからなる学習データに基づいて前記入力データから前記出力データを出力するための予め学習されたニューラルネットワークと、前記ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付ける入力部と、前記入力データの次元と前記クラスタとの組み合わせの各々について、前記入力データの前記次元の値を、前記学習データに含まれる前記入力データの前記次元の平均値で置き換えたときの前記クラスタに属する各ユニットの出力と、置き換える前の入力データに対する前記クラスタに属する各ユニットの出力との二乗誤差の和を前記組み合わせの関係として算出し、前記クラスタと前記出力データの次元との組み合わせの各々について、前記クラスタに属する各ユニットの出力値を、前記学習データに含まれる前記入力データを入力したときの前記クラスタの各ユニットの平均の出力値で置き換えたときの前記出力データの前記次元の値と、置き換える前の前記出力データの前記次元の値との二乗誤差を前記組み合わせの関係として算出する解析部と、を含んで構成されている。
【0007】
また、第2の発明に係る解析装置は、サンプルの入力データ及び前記サンプルが属する次元を表す出力データからなる学習データに基づいて前記入力データから前記出力データを出力するための予め学習されたニューラルネットワークと、前記ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付ける入力部と、前記入力データの次元と前記クラスタとの組み合わせの各々について、前記入力データの前記次元の値を、前記学習データに含まれる前記入力データの前記次元の平均値で置き換えたときの前記クラスタに属する各ユニットの出力と、置き換える前の入力データに対する前記クラスタに属する各ユニットの出力との二乗誤差の和を前記組み合わせの関係として算出し、前記クラスタと前記出力データの次元との組み合わせの各々について、前記クラスタに属する各ユニットの出力値を、前記学習データに含まれる前記入力データを入力したときの前記クラスタの各ユニットの平均の出力値で置き換えたときの前記出力データの前記次元の値と、置き換える前の前記出力データの前記次元の値との二乗誤差を前記組み合わせの関係として算出する解析部と、前記学習データと、前記クラスタの構造と、算出した前記クラスタと前記出力データの次元との組み合わせの各々の関係とに基づいて、前記クラスタの各々に対し、前記クラスタに属する各ユニットの出力値に、前記学習データに含まれる前記出力データが表すサンプルが属する次元との組み合わせの関係に応じた雑音を加算し、前記ニューラルネットワークを誤差逆伝播法により再学習する再学習部と、を含んで構成されている。
【0008】
第3の発明に係る解析方法は、入力部が、入力データ及び出力データからなる学習データに基づいて前記入力データから前記出力データを出力するための予め学習されたニューラルネットワークと、前記ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付けるステップと、解析部が、前記入力データの次元と前記クラスタとの組み合わせの各々について、前記入力データの前記次元の値を、前記学習データに含まれる前記入力データの前記次元の平均値で置き換えたときの前記クラスタに属する各ユニットの出力と、置き換える前の入力データに対する前記クラスタに属する各ユニットの出力との二乗誤差の和を前記組み合わせの関係として算出し、前記クラスタと前記出力データの次元との組み合わせの各々について、前記クラスタに属する各ユニットの出力値を、前記学習データに含まれる前記入力データを入力したときの前記クラスタの各ユニットの平均の出力値で置き換えたときの前記出力データの前記次元の値と、置き換える前の前記出力データの前記次元の値との二乗誤差を前記組み合わせの関係として算出するステップと、を含んで実行することを特徴とする。
【0009】
第4の発明に係る解析方法は、入力部が、サンプルの入力データ及び前記サンプルが属する次元を表す出力データからなる学習データに基づいて前記入力データから前記出力データを出力するための予め学習されたニューラルネットワークと、前記ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付けるステップと、解析部が、前記入力データの次元と前記クラスタとの組み合わせの各々について、前記入力データの前記次元の値を、前記学習データに含まれる前記入力データの前記次元の平均値で置き換えたときの前記クラスタに属する各ユニットの出力と、置き換える前の入力データに対する前記クラスタに属する各ユニットの出力との二乗誤差の和を前記組み合わせの関係として算出し、前記クラスタと前記出力データの次元との組み合わせの各々について、前記クラスタに属する各ユニットの出力値を、前記学習データに含まれる前記入力データを入力したときの前記クラスタの各ユニットの平均の出力値で置き換えたときの前記出力データの前記次元の値と、置き換える前の前記出力データの前記次元の値との二乗誤差を前記組み合わせの関係として算出するステップと、再学習部が、前記学習データと、前記クラスタの構造と、算出した前記クラスタと前記出力データの次元との組み合わせの各々の関係とに基づいて、前記クラスタの各々に対し、前記クラスタに属する各ユニットの出力値に、前記学習データに含まれる前記出力データが表すサンプルが属する次元との組み合わせの関係に応じた雑音を加算し、前記ニューラルネットワークを誤差逆伝播法により再学習するステップと、を含んで実行することを特徴とする。
【0010】
第5の発明に係るプログラムは、コンピュータを、第1の発明に係る解析装置の各部として機能させるためのプログラムである。
【0011】
第6の発明に係るプログラムは、コンピュータを、第2の発明に係る解析装置の各部として機能させるためのプログラムである。
【発明の効果】
【0012】
本発明の解析装置、方法、及びプログラムによれば、入力データ及び出力データからなる学習データに基づいて入力データから出力データを出力するための予め学習されたニューラルネットワークと、ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付け、入力データの次元とクラスタとの組み合わせの各々について、入力データの次元の値を、学習データに含まれる入力データの次元の平均値で置き換えたときのクラスタに属する各ユニットの出力と、置き換える前の入力データに対するクラスタに属する各ユニットの出力との二乗誤差の和を組み合わせの関係として算出し、クラスタと出力データの次元との組み合わせの各々について、クラスタに属する各ユニットの出力値を、学習データに含まれる入力データを入力したときのクラスタの各ユニットの平均の出力値で置き換えたときの出力データの次元の値と、置き換える前の出力データの次元の値との二乗誤差を組み合わせの関係として算出することにより、ニューラルネットワークの構造を定量的に解析することができる、という効果が得られる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施の形態に係る解析装置の構成を示すブロック図である。
【
図2】クラスタの構造において、入出力の寄与度を表す場合の一例を示す図である。
【
図3】多層ニューラルネットワークのアルゴリズムを示す図である。
【
図4】本発明の実施の形態に係る解析装置における解析処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0015】
<本発明の実施の形態に係る解析装置の構成>
【0016】
次に、本発明の実施の形態に係る解析装置の構成について説明する。
図1に示すように、本発明の実施の形態に係る解析装置100は、CPUと、RAMと、後述する解析処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この解析装置100は、機能的には
図1に示すように入力部10と、演算部20と、出力部50とを備えている。
【0017】
入力部10は、予め学習されたニューラルネットワークと、ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付ける。また、クラスタの構造はどのような方法で抽出したものであってもよい。例えば、予め学習された多層ニューラルネットにおける各辺によって定まる、隣接する層の頂点間の結合関係に基づいて、多層ニューラルネットの各層に対し、当該層のコミュニティを抽出したものを、クラスタとすればよい。また、入力部10は、ニューラルネットワークの入力となるサンプルの入力データ、及び当該サンプルが属する次元を表す出力データからなる学習データを受け付ける。ニューラルネットワークは入力データ、及び出力データからなる学習データに基づいて入力データから出力データを出力するためのニューラルネットワークとして学習されたものである。
【0018】
演算部20は、解析部30と、再学習部32とを含んで構成されている。
【0019】
解析部30は、入力データの次元iとクラスタcとの組み合わせの関係v
c,iinと、クラスタcと出力データの次元jとの組み合わせの関係v
c,joutとを算出する。算出されるv
c,iinとv
c,joutとは、それぞれ組み合わせにおける関係の強さを表す。
【0020】
具体的には、解析部30は、学習データをニューラルネットワークに入力し、入力データの次元iとクラスタcとの組み合わせの各々について、学習データである入力データの次元iの値を、学習データに含まれる入力データの次元iの平均値で置き換えたときのクラスタcに属する各ユニットの出力と、置き換える前の入力データに対するクラスタcに属する各ユニットの出力との二乗誤差の和を、入力データの次元iとクラスタcとの組み合わせの関係v
c,iinとして定義し、算出する。
【0021】
また、解析部30は、学習データをニューラルネットワークに入力し、クラスタcと出力データの次元jとの組み合わせの各々について、クラスタcに属する各ユニットの出力値を、学習データに含まれる入力データを入力したときのクラスタcの各ユニットの平均の出力値で置き換えたときの出力データの次元jの値と、置き換える前の出力データの次元jの値との二乗誤差を、クラスタcと出力データの次元jとの組み合わせの関係v
c,joutとして定義し、算出する。
【0022】
上記の演算により、各クラスタの役割(入出力次元との関係の強さ)がそれぞれベクトル形式(v
in={v
c,jin},v
out={v
c,jout})で得られる。
【0023】
また、出力部50において、より結果を解釈しやすくするために、これらの入力データの次元iとクラスタcとの組み合わせの関係v
c,iin、及びクラスタcと出力データの次元jとの組み合わせの関係v
c,joutについて、ベクトル又は行列により表すように出力する。例えば、文字画像認識を行うニューラルネットワーク(画像を入力として、その画像に何の文字が書かれているか予測した結果を出力する)に本実施形態を適用して、文字画像の学習データを用いて文字画像を認識する場合に、
図2に示すように、ニューラルネットワークのユニットのクラスタの構造に対して、クラスタの各出力次元への寄与度を棒グラフで表すことで、クラスタがどの文字の認識に使われているかの寄与度を表したり、各入力次元からのクラスタへの寄与度を行列の分布により表すことで、入力画像のどの部分の情報を当該クラスタが受け付けているのかの寄与度を表すことができる。
【0024】
また、解析部30の演算結果に基づいて、ニューラルネットワークのパラメータを再学習することにより、ニューラルネットワークの汎化性能の向上を図ることができる。
【0025】
再学習部32は、学習データと、クラスタの構造と、算出したクラスタと出力データの次元との組み合わせの各々の関係v
c,joutとに基づいて、クラスタの各々に対し、クラスタに属する各ユニットの出力値に、学習データに含まれる出力データが表すサンプルが属する次元との組み合わせの関係に応じた雑音を加算し、ニューラルネットワークを誤差逆伝播法により再学習し、出力部50に出力する。
【0026】
例えば、確率的最急降下法に基づいてニューラルネットワークの学習を行う場合、各クラスタに対し、学習の各反復でランダムに選ばれた学習データの出力データの次元の出力クラス(文字画像認識の場合、どの文字が書いてあるか、という情報に相当する)に対応する、出力次元jへのクラスタの寄与度v
c,joutに比例した大きさの分散を持つ正規分布を以下(1)式に定義する。
【0028】
再学習部32は、初期化したパラメータである結合重み{ω
i,jd}とバイアス{θ
id}とサンプルから、パラメータの更新を行う。
図3に示すAlgorithm1はパラメータ更新方法の一例であり、多層ニューラルネットワークによる出力値と観測データを用いた、各クラスタの出力クラスへの寄与度に基づく雑音ありの誤差逆伝播法である。学習データの入力データを入力した場合に、学習データが表すサンプルの属する出力クラスをrとし、出力次元rへのクラスタcの寄与度v
c,routに比例した分散をσ
c,rとして、クラスタcに属する各ユニットについて、8行目及び10行目に示すように、上記(1)式の正規分布に応じた雑音を加算してユニットの出力o
jdを計算した上で、誤差逆伝播法によりニューラルネットワークを更新する。
【0029】
<本発明の実施の形態に係る解析装置の作用>
【0030】
次に、本発明の実施の形態に係る解析装置100の作用について説明する。入力部10において、予め学習されたニューラルネットワークと、ニューラルネットワークについて予め求められたユニットからなるクラスタの構造と、入力となるサンプルの入力データと、サンプルが属する次元を表す出力データからなる学習データを受け付けると、解析装置100は、
図4に示す解析処理ルーチンを実行する。
【0031】
ステップS100では、解析部30は、学習データをニューラルネットワークに入力し、学習データである入力データの次元iとクラスタcとの組み合わせの各々について、入力データの次元iの値を、学習データに含まれる入力データの次元iの平均値で置き換えたときのクラスタcに属する各ユニットの出力と、置き換える前の入力データに対するクラスタcに属する各ユニットの出力との二乗誤差の和を、入力データの次元iとクラスタcとの組み合わせの関係v
c,iinとして定義し、算出する。また、学習データをニューラルネットワークに入力し、クラスタcと出力データの次元jとの組み合わせの各々について、クラスタcに属する各ユニットの出力値を、学習データに含まれる入力データを入力したときのクラスタcの各ユニットの平均の出力値で置き換えたときの出力データの次元jの値と、置き換える前の出力データの次元jの値との二乗誤差を、クラスタcと出力データの次元jとの組み合わせの関係v
c,joutとして定義し、算出する。
【0032】
ステップS102では、出力部50は、入力データの次元iとクラスタcとの組み合わせの関係v
c,iin、及びクラスタcと出力データの次元jとの組み合わせの関係v
c,joutについて、ベクトル又は行列により表すように出力する。
【0033】
ステップS104では、再学習部32は、学習データと、クラスタの構造と、算出したクラスタと出力データの次元との組み合わせの各々の関係v
c,joutとに基づいて、学習データの入力データを入力した場合に、クラスタcの各々に対し、当該クラスタcに属する各ユニットの出力値に、当該学習データに含まれる出力データが表すサンプルが属する次元rとの組み合わせの関係v
c,routを用いた上記(1)式の正規分布に応じた雑音を加算するようにして、ニューラルネットワークを誤差逆伝播法により再学習し、出力部50に出力する。
【0034】
以上説明したように、本発明の実施の形態に係る解析装置によれば、入力データ及び出力データからなる学習データに基づいて入力データから出力データを出力するための予め学習されたニューラルネットワークと、ニューラルネットワークについて予め求められたユニットからなるクラスタの構造とを受け付け、入力データの次元とクラスタとの組み合わせの各々について、入力データの次元の値を、学習データに含まれる入力データの次元の平均値で置き換えたときのクラスタに属する各ユニットの出力と、置き換える前の入力データに対するクラスタに属する各ユニットの出力との二乗誤差の和を組み合わせの関係として算出し、クラスタと出力データの次元との組み合わせの各々について、クラスタに属する各ユニットの出力値を、学習データに含まれる入力データを入力したときのクラスタの各ユニットの平均の出力値で置き換えたときの出力データの次元の値と、置き換える前の出力データの次元の値との二乗誤差を組み合わせの関係として算出することにより、ニューラルネットワークの構造を定量的に解析することができる。
【0035】
また、本発明の実施の形態の技術を用いて、各クラスタが「入力データのどの次元の情報を用いて、出力のどの次元の情報を推論するのに使われているか」ということを明らかにすることにより、各クラスタが大まかにどのような役割を果たすものかを知ることができる。例えば、上記
図2に示すように、文字画像認識を行うニューラルネットワークに本技術を適用した場合、ニューラルネットワークにおける各クラスタが入力画像のどの部分を見て、何の文字の認識を行うのに使われているか、ということを知ることができる。
【0036】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0037】
例えば、上述した実施の形態では、再学習部を含む場合を例に説明したが、これに限定されるものではない。例えば、解析装置の演算部を解析部のみによって構成し、解析部による入力データの次元iとクラスタcとの組み合わせの関係v
c,iin、及びクラスタcと出力データの次元jとの組み合わせの関係v
c,joutの解析、及び出力を行うようにしてもよい。
【符号の説明】
【0038】
10 入力部
20 演算部
30 解析部
32 再学習部
50 出力部
100 解析装置