(57)【要約】【課題】学習済みのニューラルネットワークがある推定結果を出力するための、ニューラルネットワークの各層におけるデータの特徴量分布を計算する。【解決手段】学習済みのニューラルネットワークの各層で伝搬するデータを平均値、分散値及び共分散値を含む分布パラメータで定義される多変量ガウス分布を持つ確率変数とする。ニューラルネットワークでドロップアウトを与えて伝搬計算を行い、出力データと正解データとの差分を表すコスト関数を計算し、コスト関数を微分して得られる微小誤差に対してドロップアウトを与えて逆伝搬計算を行い、ニューラルネットワークの各層における分布パラメータを更新し、コスト関数が所定の閾値以下となった場合の分布パラメータを最適化された分布パラメータとして出力する。【選択図】図４
2020154615.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークを用いて推定処理を行う情報推定装置であって、
固定値のベクトルからなる学習データを用いて、データの一部を欠損させるドロップアウトを行うドロップアウト層を備えた前記ニューラルネットワークにおける重みを学習する重み学習部と、
前記ニューラルネットワークの各層で伝搬するデータを平均値、分散値及び共分散値を含む分布パラメータで定義される多変量ガウス分布を持つ確率変数として、入力データに対して前記ニューラルネットワークで前記ドロップアウトを与えて伝搬計算を行う伝搬計算部と、
前記ニューラルネットワークからの出力データと正解データとの差分を表すコスト関数を計算するコスト関数計算部と、
前記コスト関数を微分して得られる微小誤差に対して前記ニューラルネットワークで前記ドロップアウトを与えて逆伝搬計算を行い、前記ニューラルネットワークの各層における前記分布パラメータを更新する分布パラメータ更新部と、
前記コスト関数が所定の閾値以下となった場合における前記分布パラメータを最適化された分布パラメータとして出力する最適化パラメータ出力部とを、
有する情報推定装置。
【請求項２】
前記最適化パラメータ出力部から出力された前記最適化された分布パラメータに含まれる前記分散値により、前記ニューラルネットワークの各層における各ニューロンの重要度が表される請求項１に記載の情報推定装置。
【請求項３】
前記ニューラルネットワークの各層における各ニューロンの前記重要度に基づいて前記重要度が低いと判断されたニューロンにおける計算を簡略化する請求項２に記載の情報推定装置。
【請求項４】
前記最適化パラメータ出力部から出力された前記最適化された分布パラメータに係る分布を尤度分布とし、前記尤度分布に事前確率を掛けたものを事後確率分布の式とし、分数で表された前記尤度分布の分子からバイアス値を引いてスケール値で割った式を前記事後確率分布の近似式として前記事後確率分布の近似式で学習データの事後確率値を計算し、前記事後確率値の集合からなる分布の平均値及び分散値が、分類問題の場合には全てのクラスで、回帰問題の場合には複数の出力値同士で同じとなるように前記バイアス値及び前記スケール値を最適化する事前確率分布計算部を有する請求項１から３のいずれか１つに記載の情報推定装置。
【請求項５】
最適化された前記バイアス値及び前記スケール値を含む前記事後確率分布の近似式を用いて、固定値のベクトルからなる入力データに対する事後確率値を計算する事後確率値推定部を有する請求項４に記載の情報推定装置。
【請求項６】
前記事後確率値を計算する対象である前記入力データは、所定の分布を持つ確率変数であり、前記入力データの分布からサンプリングされた複数の値を用いて複数の事後確率値を計算してその期待値を計算することで、前記入力データに対する前記事後確率値を計算する請求項５に記載の情報推定装置。
【請求項７】
ニューラルネットワークを用いて推定処理を行う情報推定装置で実行される情報推定方法であって、
固定値のベクトルからなる学習データを用いて、データの一部を欠損させるドロップアウトを行うドロップアウト層を備えた前記ニューラルネットワークにおける重みを学習する重み学習ステップと、
前記ニューラルネットワークの各層で伝搬するデータを平均値、分散値及び共分散値を含む分布パラメータで定義される多変量ガウス分布を持つ確率変数として、入力データに対して前記ニューラルネットワークで前記ドロップアウトを与えて伝搬計算を行う伝搬計算ステップと、
前記ニューラルネットワークからの出力データと正解データとの差分を表すコスト関数を計算するコスト関数計算ステップと、
前記コスト関数を微分して得られる微小誤差に対して前記ニューラルネットワークで前記ドロップアウトを与えて逆伝搬計算を行い、前記ニューラルネットワークの各層における前記分布パラメータを更新する分布パラメータ更新ステップと、
前記コスト関数が所定の閾値以下となった場合における前記分布パラメータを最適化された分布パラメータとして出力する最適化パラメータ出力ステップとを、
有する情報推定方法。
【請求項８】
前記最適化パラメータ出力ステップで出力された前記最適化された分布パラメータに含まれる前記分散値により、前記ニューラルネットワークの各層における各ニューロンの重要度が表される請求項７に記載の情報推定方法。
【請求項９】
前記ニューラルネットワークの各層における各ニューロンの前記重要度に基づいて前記重要度が低いと判断されたニューロンにおける計算を簡略化する請求項７に記載の情報推定方法。
【請求項１０】
前記最適化された分布パラメータに係る分布を尤度分布とし、前記尤度分布に事前確率を掛けたものを事後確率分布の式とし、分数で表された前記尤度分布の分子からバイアス値を引いてスケール値で割った式を前記事後確率分布の近似式として前記事後確率分布の近似式で学習データの事後確率値を計算し、前記事後確率値の集合からなる分布の平均値及び分散値が、分類問題の場合には全てのクラスで、回帰問題の場合には複数の出力値同士で同じとなるように前記バイアス値及び前記スケール値を最適化する事前確率分布計算ステップを有する請求項７から９のいずれか１つに記載の情報推定方法。
【請求項１１】
最適化された前記バイアス値及び前記スケール値を含む前記事後確率分布の近似式を用いて、固定値のベクトルからなる入力データに対する事後確率値を計算する事後確率値推定部を有する請求項１０に記載の情報推定方法。
【請求項１２】
前記事後確率値を計算する対象である前記入力データは、所定の分布を持つ確率変数であり、前記入力データの分布からサンプリングされた複数の値を用いて複数の事後確率値を計算してその期待値を計算することで、前記入力データに対する前記事後確率値を計算する請求項１１に記載の情報推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワーク（ＮＮ：Neural Network）を用いた推定処理を行う情報推定装置及び情報推定方法に関する。
【背景技術】
【０００２】
ニューラルネットワークを用いた推定器は、他の推定器と比べ、画像やセンサー信号データなど、大量の情報を入力データとして処理し、推定を行うことができることから様々な分野への応用に期待されている。学習フェーズでは、学習データをニューラルネットワークに入力して、期待される出力結果が出力されるように、ニューラルネットワークの重みが最適化される。テストフェーズでは、ある未知の入力データをニューラルネットワークに入力すれば、ニューラルネットワークが推定する結果が出力値として出力される。
【０００３】
ニューラルネットワークが用いるデータ、学習データやテストデータは、ある次元数ｎxin次元のベクトルｘinからなる点データである。ここで言う点データとは、ある固定の値をとるという意味である。また、それらがニューラルネットワークに入力されて、ニューロン値として、各層で線形及び／又は非線形の処理が行われるが、各層に入力されるデータも同様に、ある次元数を持つある固定の値のベクトルからなる点データである。そして、回帰問題であれ分類問題であれ、最終的な結果として出力されるデータも固定値からなる点データであり、ある次元数を持つベクトル又はスカラーの値となる。
【０００４】
また、ニューラルネットワークを用いた推定技術に関連した従来の技術として、例えば、非特許文献１、２に記載されている手法が知られている。非特許文献１には、学習された重みパラメータを固定の値ではなく分布として考え、推定の際も、入力データに対して学習したパラメータの分布に基づき、出力を分布として計算する手法が記載されている。また、非特許文献２には、理想的な入力データを逆伝搬で計算する手法として、ニューラルネットワーク中のどの層のどのニューロンが推定結果に関して重要な役割を果たしているのかを視覚化する技術が知られている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】2016, “Uncertainty in Deep Learning”,Yarin Gal,Thesis http://mlg.eng.cam.ac.uk/yarin/thesis/thesis.pdf
【非特許文献２】2009, “Visualizing Higher-Layer Features of a Deep Network”, Yoshua Bengio, University de Montreal
【非特許文献３】2009, “Fast Dropout”, Sida Wang, Christopher Manning ; Proceedings of the 30th International Conference on Machine Learning, PMLR 28(2):118-126, 2013.
【非特許文献４】Jean Daunizeau,"Semi-analytical approximations to statistical moments of sigmoid and softmax mappings of normal variables", 2017, arXiv:1703.00091 [stat.ML]
【非特許文献５】I. J. Goodfellow, J. Shlens, and C. Szegedy. “Explaining and harnessing adversarial examples”, 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述のような従来のニューラルネットワークの処理は、ベクトルである点データの入力に対して、ベクトルからなる点データとしてしか計算できないという点データ単位の処理であり、出力される推定結果も点データであった。
【０００７】
観測データなどの誤差のある入力データ、例えば、ある値とその値のプラスマイナスいくらかの値との誤差がガウス分布として存在するような分布データは、従来のニューラルネットワークでは、直接扱うことができなかった。従来のニューラルネットワークで分布データをあえて扱おうとした場合には、モンテカルロ的に、すなわち、その分布から点データを大量にサンプリングし、その大量の点データをニューラルネットワークに入力して計算することができるが、処理時間がかかってしまうという問題があった。また、点データのベクトルの次元数が大きいほど、様々なバリエーションがあり得るため、必要なサンプル数も増えてしまうという問題もあった。
【０００８】
また、出力される推定結果が点データである場合、推定結果が、とり得る値の分布ではなく、算出された固定のある値というだけでは、その値がどれほどの確信をもって推定されたのか、つまり、その値の確率や確からしさを評価することができないという問題があった。すなわち、ある推定された値に対する推定値の分散や信頼区間が得られないという問題があった。
【０００９】
なお、この問題に対する対策としては、例えば、非特許文献１に記載されているような手法が提案されている。この非特許文献１の手法では、上述したように、学習された重みパラメータを固定の値ではなく分布として考え、推定の際も、入力データに対して学習したパラメータの分布に基づき、出力を分布として計算している。とりわけ、非特許文献１の手法では、重みパラメータの分布から出力分布を計算するための積分計算であって、本来は解くことができない積分計算を、ドロップアウトを与えることによって近似的に計算することで、同等の結果を得ることを提案している。ただし、非特許文献１の手法は、学習された重みパラメータを固定の値ではなく分布として考えており、本発明に係る手法とは異なっている。
【００１０】
本発明は上記の問題に鑑みて、学習済みのニューラルネットワークがある推定結果を出力するための、ニューラルネットワークの各層におけるデータの特徴量分布を計算することが可能な情報推定装置及び情報推定方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するため、本発明によれば、ニューラルネットワークを用いて推定処理を行う情報推定装置であって、
固定値のベクトルからなる学習データを用いて、データの一部を欠損させるドロップアウトを行うドロップアウト層を備えた前記ニューラルネットワークにおける重みを学習する重み学習部と、
前記ニューラルネットワークの各層で伝搬するデータを平均値、分散値及び共分散値を含む分布パラメータで定義される多変量ガウス分布を持つ確率変数として、入力データに対して前記ニューラルネットワークで前記ドロップアウトを与えて伝搬計算を行う伝搬計算部と、
前記ニューラルネットワークからの出力データと正解データとの差分を表すコスト関数を計算するコスト関数計算部と、
前記コスト関数を微分して得られる微小誤差に対して前記ニューラルネットワークで前記ドロップアウトを与えて逆伝搬計算を行い、前記ニューラルネットワークの各層における前記分布パラメータを更新する分布パラメータ更新部と、
前記コスト関数が所定の閾値以下となった場合における前記分布パラメータを最適化された分布パラメータとして出力する最適化パラメータ出力部とを、
有する情報推定装置が提供される。
【００１２】
また、上記の目的を達成するため、本発明によれば、ニューラルネットワークを用いて推定処理を行う情報推定装置で実行される情報推定方法であって、
固定値のベクトルからなる学習データを用いて、データの一部を欠損させるドロップアウトを行うドロップアウト層を備えた前記ニューラルネットワークにおける重みを学習する重み学習ステップと、
前記ニューラルネットワークの各層で伝搬するデータを平均値、分散値及び共分散値を含む分布パラメータで定義される多変量ガウス分布を持つ確率変数として、入力データに対して前記ニューラルネットワークで前記ドロップアウトを与えて伝搬計算を行う伝搬計算ステップと、
前記ニューラルネットワークからの出力データと正解データとの差分を表すコスト関数を計算するコスト関数計算ステップと、
前記コスト関数を微分して得られる微小誤差に対して前記ニューラルネットワークで前記ドロップアウトを与えて逆伝搬計算を行い、前記ニューラルネットワークの各層における前記分布パラメータを更新する分布パラメータ更新ステップと、
前記コスト関数が所定の閾値以下となった場合における前記分布パラメータを最適化された分布パラメータとして出力する最適化パラメータ出力ステップとを、
有する情報推定方法が提供される。
【発明の効果】
【００１３】
本発明によれば、学習済みのニューラルネットワークにおいて、多変量ガウス分布を持つ確率変数を表す分布パラメータの誤差に対して、ドロップアウトを与えた伝搬及び逆伝搬の計算を繰り返し行うことで、分布パラメータを最適化することが可能となり、ある推定結果を出力するための、ニューラルネットワークの各層におけるデータの特徴量分布を計算することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１〜第３の実施の形態において、ニューラルネットワークの任意の層ｌにおける入出力データの関係を模式的に示す図であって、（ａ）は、ニューラルネットワークの層ｌにおいて入力データのガウス分布のパラメータから出力データのガウス分布のパラメータへの伝搬を示す図であり、（ｂ）は、ニューラルネットワークの任意の層ｌにおいて出力データのガウス分布のパラメータから入力データのガウス分布のパラメータへの更新すべき誤差の逆伝搬を示す図である。
【図２】本発明の第１の実施の形態におけるニューラルネットワークの構成の一例を示す図である。
【図３】本発明の第１の実施の形態におけるデータの特徴量分布を計算する処理の一例を示すフローチャートである。
【図４】本発明の第１〜第３の実施の形態における情報推定装置の構成の一例を示すブロック図である。
【図５】本発明の第１の実施の形態と比較例とにおけるコスト関数の値と更新回数との関係を表すグラフであって、（ａ）は、比較例におけるコスト関数の値と更新回数との関係を表すグラフであり、（ｂ）は、本発明の第１の実施の形態におけるコスト関数の値と更新回数との関係を表すグラフである。
【図６】本発明の第１の実施の形態において、数字９のクラスでの最適化された特徴量分布を示す図であって、（ａ）は、図２のニューラルネットワークの入力層における入力画像の特徴量分布を示す図であり、（ｂ）は、図２のニューラルネットワークの最初のＦＣ層での１０×１０＝１００個のニューロンに関する特徴量分布を示す図である。
【図７】本発明の第１の実施の形態における入力画像及びソフトマックスの出力値の一例を示す図であって、（ａ）は、図６（ａ）の数字９のガウス分布からサンプリングされた入力画像の一例を示す図であり、（ｂ）は、図７（ａ）の入力画像についてニューラルネットワークを伝搬させたときのソフトマックスの出力値を示す図である。
【図８】本発明の第１の実施の形態において、ニューラルネットワークに入力されるＭＮＩＳＴ拡張画像の複数の例を示す図である。
【図９】図８に示すＭＮＩＳＴ拡張画像に関連して、正解ラベル（数字０）を計算した場合の入力画像の特徴量分布の一例を示す図である。
【図１０】本発明の第１の実施の形態における入力画像及びソフトマックスの出力値の一例を示す図であって、（ａ）は、図９の特徴量分布からサンプリングされた入力画像の一例を示す図であり、（ｂ）は、図１０（ａ）の入力画像についてニューラルネットワークを伝搬させたときのソフトマックスの出力値を示す図である。
【図１１】本発明の第２の実施の形態において、事後確率分布と入力データとを示すグラフであって、（ａ）は、事後確率分布と入力点データとを表すグラフであり、（ｂ）は、事後確率分布と入力分布データとを表すグラフである。
【図１２】本発明の第２の実施の形態において、事後確率分布の近似式を計算する処理の一例を示すフローチャートである。
【図１３】本発明の第２の実施の形態と比較例とにおける各クラスの事後確率値を示すヒストグラムであって、（ａ）は、比較例において補正定数が仮の値（最適化されていない補正定数）の場合の各クラスの事後確率値を示すヒストグラムであり、（ｂ）は、本発明の第２の実施の形態において補正定数が最適化されている場合の各クラスの事後確率値を示すヒストグラムである。
【図１４】本発明の第２の実施の形態における実験に関連したデータの一例を示す図であって、（ａ）は、テストデータである数字７の画像を示す図であり、（ｂ）は、（ａ）の数字７の画像を入力データとして、補正定数が最適化された事後確率の対数値をクラスごとに計算した結果を示す図である。
【図１５】本発明の第２の実施の形態における実験に関連したデータの一例を示す図であって、左側の欄には、補正定数を求める前に（仮の補正定数を用いて）事後確率値を計算した場合の各クラスの正解率を示し、右側の欄には、補正定数を求めた後に事後確率値を計算した場合の各クラスの正解率を示す図である。
【図１６】本発明の第３の実施の形態における実験に関連したデータの一例を示す図であって、（ａ）は、テストデータである数字４の画像を示す図であり、（ｂ）は、テストデータである、数字４の画像の一部が灰色で塗られた欠損状態の画像を示す図であり、（ｃ）は、（ａ）のテストデータに対して従来法で計算したソフトマックスの値を示す図であり、（ｄ）は、（ｂ）のテストデータに対して従来法で計算したソフトマックスの値を示す図であり、（ｅ）は、（ａ）のテストデータに対して本発明に係る計算手法で計算した事後確率の対数値を示す図であり、（ｆ）は、（ｂ）のテストデータに対して本発明に係る計算手法で計算した事後確率の対数値を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、本発明の第１〜第３の実施の形態について説明する。
【００１６】
まず、本発明の概要について説明する。
【００１７】
本発明は、ニューラルネットワークにおいて、ある出力（回帰問題ならある出力値、分類問題なら各クラスのあるスコア値）を出力するためには、各層の入力の点データであるベクトルの値の分布を計算する手法を提案する。本発明では、各層に入力されるデータであるベクトルの値がどのような分布をとるべきなのか、どの分布からサンプリングされたものであるのかを表す分布が計算される。
【００１８】
その分布の形状を見れば、各層のどのニューロンが推定結果を出すのに重要であるかを把握することが可能となる。例えば、ある層のあるニューロン値に関する分布の幅が広ければ、そのニューロン値は、どのような値をとっても望みの出力結果となることを意味し、特徴が少なく、出力結果に影響を与えない値であることを意味する。例えば、このようなニューロン値については計算不要である判断して、計算を簡略化することができる。
【００１９】
逆に、ある層のあるニューロン値に関する分布の幅が狭ければ、そのニューロン値は、この狭い分布幅の範囲内の値をとらなければ所望の出力結果が得られないことを意味する。すなわち、そこでの層の処理は重要であるということがわかる。このことは、ニューラルネットワークが推定した結果を判断するにあたり、どの層が重要な決定を下しているのかを特定することを可能とし、推定結果の説明責任を果たすために重要な手掛かりとなる。
【００２０】
本発明は非特許文献１の手法とは大きく異なっている。上述したように、非特許文献１の手法では、学習された重みパラメータを固定の値ではなく分布として考え、推定の際には、学習された重みパラメータの分布に基づいて、入力データに対する出力を分布として計算している。
【００２１】
これに対し、本発明は、学習された重みパラメータは固定の値のままとし、所望の出力を最大限に出すために入力データのベクトルの値がどのような特徴の分布となるべきなのかについて、入力データに係る分布を逆伝搬で計算する。
【００２２】
また、本発明は非特許文献２の手法とも大きく異なっている。非特許文献２の手法では、ニューラルネットワークの後方の層を活性化させるためには、どのような入力データがあればよいのかを逆伝搬で計算しているが、逆伝搬で計算する入力データはあくまでもある固定値の点データである。
【００２３】
本発明は、非特許文献２の手法に挙げられているような「ニューラルネットワークは入力データの何を見て判断するのか」という視覚化技術と同列のものである。しかしながら、本発明は、どのような分布からサンプリングされたデータであればニューラルネットワークの後方の層を活性化し、所望の出力を出すことができるかを計算するもの、すなわち、入力データの分布を計算して視覚化するものである。すなわち、非特許文献２の手法は、望みの出力結果を出すような入力データ（点データ）そのものを計算しているのに対し、本発明は、こうした点データがとり得る分布（特徴量分布）を計算する点で大きく異なっている。
【００２４】
本発明では、入力データがとり得る特徴量分布はシングルモードの多変量ガウス分布であると仮定し、シングルモードのガウス分布の形を決定づけるパラメータ、すなわち、ある次元の平均ベクトルμと分散共分散行列Σ（分散値Ｖａｒ及び共分散値Ｃｏｖ）とを逆伝搬を使って求めていく。
【００２５】
実際のデータの分布はシングルモードのガウス分布ではなく複雑な分布を有しており、複雑な分布が層から層へマッピングされながら伝搬していく。そして、その複雑さゆえに、分布の逆伝搬の計算は困難とされている。しかしながら、本発明においてブレイクスルーとなる技術として、ドロップアウトによりノイズを加えることで、シングルモードのガウス分布として、そのパラメータの逆伝搬の計算が可能となる。
【００２６】
本発明は、上述したように、シングルモードのガウス分布とみなした場合の分布のパラメータを計算する近似手法を含む情報推定方法を提案し、この近似手法を用いた推定器を含む情報推定装置を提案する。従来の技術では、シングルモードのガウス分布と仮定して逆伝搬させる計算を行うことは困難であるが、本発明者は、ドロップアウトによるノイズを加えることで前述の計算が可能になることを発見し、本発明において、その効果と性質を利用した推定器を提案するに至ったものである。
【００２７】
なお、ドロップアウトを加えるという手法に関連して、例えば非特許文献３には、解析的ドロップアウトという技術が記載されている。解析的ドロップアウトの技術は、ドロップアウトをモンテカルロ的に何度も行わなくても、それにより生じる分散値を解析的に計算しておき、ニューロンの値がとる分布に前述の生じた分散値を足しておくことで、ドロップアウトと同等の効果を得るというものである。非特許文献３では、この解析的ドロップアウトの技術を使って、ニューラルネットワークの学習時の重みの計算が行われている。これに対し、本発明では、重みを学習済みの固定した値とする点、入力データの分布の最適な分布を学習及び計算する際にドロップアウトを与えることで、データの分布をシングルモードのガウス分布と仮定した場合であっても計算可能になるという点などを有しており、これらの点は非特許文献３には開示されていない。
【００２８】
点データを扱う従来のニューラルネットワークで逆伝搬の計算を行うには、まずフォワードプロパゲーション（順方向の伝搬又は単に伝搬と呼ぶ）の計算を行い、その結果を用いてバックプロパゲーション（逆方向の伝搬又は逆伝搬と呼ぶ）の計算を行う必要がある。本発明では、扱うデータが点データではなく分布のパラメータであるが、従来と同様に、順方向及び逆方向の両方の計算を行う必要がある。
【００２９】
以下に、本発明の第１〜第３の実施の形態で用いられる計算式について詳細に説明する。
【００３０】
（伝搬時の計算）
まず、順方向の伝搬の計算において、ガウス分布である入力データが、ニューラルネットワークの各層にどのように入力されてどのように出力されるのかについて説明する。
【００３１】
図１（ａ）に示すように、任意の層をｌと表記し、その層ｌに入力される入力データであるｎinl次元多変量ガウス分布を以下のように定義する。
【００３２】
【数１】
2020154615.tif 000003
【００３３】
μinlはｎinl次元の平均ベクトル、Ｖａｒinlはｎinl次元の分散ベクトル、Ｃｏｖinlはｎinl次元の共分散行列であり、これらはガウス分布のパラメータである。
【００３４】
また、その層ｌから出力される出力データであるｎoutl次元多変量ガウス分布を以下のように定義する。
【００３５】
【数２】
2020154615.tif 000004
【００３６】
μoutlはｎoutl次元の平均ベクトル、Ｖａｒoutlはｎoutl次元の分散ベクトル、Ｃｏｖoutlはｎoutl次元の共分散行列であり、これらはガウス分布のパラメータである。
【００３７】
図１（ａ）に示すように、ある層ｌについて、以下の式のように、入力データであるガウス分布のパラメータから出力データであるガウス分布のパラメータのマッピングを計算する。
【００３８】
【数３】
2020154615.tif 000005
【００３９】
本発明の第１〜第３の実施の形態では、例えば図２に示すような構造のニューラルネットワークを構築して計算を行う。図２に示すニューラルネットワークは、全結合層（Fully Connected Layer、以下、ＦＣ層と記載）、ドロップアウト層（Dropout Layer）、シグモイド層（Sigmoid Layer）、ソフトマックス層（Softmax Layer）を含んで構築されている。後述する実験においても同一の構造を有するニューラルネットワークが用いられているが、本発明に係るニューラルネットワークは、この構造に限定されるわけではない。
【００４０】
以下、順に、ニューラルネットワークに含まれる各層ｌにおける順方向の伝搬時のマッピングの計算について、種類別に説明する。
【００４１】
（ＤＦ層：伝搬時の計算）
扱う層ｌがドロップアウト層及びＦＣ層からなる層の場合、本明細書ではこれらの層を総称してＤＦ層と呼び、ｌ＝ＤＦと表記する。
【００４２】
ドロップアウト層は、ドロップアウトに係る計算を行う層である。ドロップアウトとは、ある層の個々のニューロンの値や、２つの層のニューロン同士を結ぶ各コネクトに対し、それぞれ独立に、ベルヌーイ分布やガウス分布などの分布からサンプリングした値を掛けるという意味である。サンプリングは伝搬及び逆伝搬毎ごとに独立に行われる。
【００４３】
ドロップアウトが、ＤＦ層における各ニューロンにベルヌーイ分布からサンプリングされた値を掛けて行われる場合には、入力データのベクトルの各ｎinDF個の要素の値が、それぞれ独立に、設計者が決めた確率ｐdropoutDF（０＜ｐdropoutDF＜１）でゼロとなるように計算される。そのため、残った非ゼロの値はｎinDF個中Ｍ個（Ｍは数式４に記載されているＭバー）として、以下のような式で表される。
【００４４】
【数４】
2020154615.tif 000006
【００４５】
一方、ＦＣ層は、ｎoutl×ｎinl次元からなる行列の重みＷi,jとｎoutl次元からなるベクトルのバイアス項ｂiとが設定されており、入力データに重みを掛けてバイアス項を足す計算が行われる。
【００４６】
数式１で表されたガウス分布がＤＦ層に入力されると、数式２で表されるどのようなガウス分布として出力されるのかについて、すなわち、以下の数式５に示すガウス分布のパラメータ（平均、分散、共分散）の変換がどのように行われるのかについて説明する。
【００４７】
【数５】
2020154615.tif 000007
【００４８】
出力される平均μoutDFは以下のように計算される。
【００４９】
【数６】
2020154615.tif 000008
【００５０】
出力される分散ＶａｒoutDFは以下のように計算される。
【００５１】
【数７】
2020154615.tif 000009
【００５２】
【数８】
2020154615.tif 000010
【００５３】
【数９】
2020154615.tif 000011
【００５４】
【数１０】
2020154615.tif 000012
【００５５】
出力される共分散は以下のように計算される。
【００５６】
【数１１】
2020154615.tif 000013
【００５７】
数式１１の後半の２項は、前述の数式から計算できる。また、数式１１の最初の項は以下のように計算できる。
【００５８】
【数１２】
2020154615.tif 000014
【００５９】
【数１３】
2020154615.tif 000015
【００６０】
【数１４】
2020154615.tif 000016
【００６１】
【数１５】
2020154615.tif 000017
【００６２】
（シグモイド層：伝搬時の計算）
次に、扱う層ｌが非線形層、とりわけ、シグモイド層の場合について説明する。ここでは、近似として共分散は考えず、シングルモードの平均ベクトルμin及び分散ベクトルＶａｒinのパラメータからなる多変量ガウス分布Ｘinがシグモイド層に入力され、出力Ｘoutもシングルモードの平均ベクトルμout及び分散ベクトルＶａｒoutのパラメータからなる多変量ガウス分布であると近似する。この場合、以下のように定義される。
【００６３】
【数１６】
2020154615.tif 000018
【００６４】
【数１７】
2020154615.tif 000019
【００６５】
【数１８】
2020154615.tif 000020
【００６６】
この場合、入力Ｘinのシングルモードの多変量ガウス分布のパラメータを使って、出力Ｘoutのシングルモードの多変量ガウス分布のパラメータをどのように計算するのかについて説明する。
【００６７】
出力の平均値は以下のように計算される。
【００６８】
【数１９】
2020154615.tif 000021
【００６９】
出力の分散値は以下のように計算される。
【００７０】
【数２０】
2020154615.tif 000022
【００７１】
（最終出力層：伝搬時の計算）
扱う層ｌが最終出力層の場合について説明する。最終出力層において入力から出力を得るための関数を関数πとする。
【００７２】
【数２１】
2020154615.tif 000023
【００７３】
回帰問題の場合には、最終出力値を出力するための特別な層はなく、以下の数式２２や数式２３に示されるように、前述したＦＣ層（重みＷ及びバイアス項ｂを用いて計算する層）や非線形層（任意の非線形関数Ｎｏｎｌｉｎｅａｒにより計算する層）がそのまま最終出力層となり、この層からの出力値が推定値となる。
【００７４】
【数２２】
2020154615.tif 000024
【００７５】
【数２３】
2020154615.tif 000025
【００７６】
一方、分類問題の場合には、最終出力層はソフトマックス層であり（ｌ＝Ｓｏｆｔｍａｘ）、関数πはソフトマックス関数で表される。
【００７７】
従来、入力及び出力は点データであり、入力はＫ次元のベクトルＸ、出力もＫ次元のベクトルπ（Ｘ）となり、以下の数式２４のように計算される。なお、次元数Ｋはクラス数ｃmaxを意味する。
【００７８】
【数２４】
2020154615.tif 000026
【００７９】
これに対して本発明では、入力及び出力は点データではなく、ガウス分布であり、入力の単一ガウス分布に対して、出力も単一のガウス分布であると近似して計算が行われる。とりわけ、フォワード計算では、ソフトマックス層から出力されるガウス分布の平均値のみを計算する。なぜなら、この層が最終出力層であり、最終出力層から出力される値は、学習の場合は正解値と比較するためだけに、推定の場合は推定値として採用されるためだけに使われるため、分散値及び共分散値は必要とされない。非特許文献４によれば、ソフトマックス層から出力されるガウス分布の平均値は以下のように計算できる。
【００８０】
【数２５】
2020154615.tif 000027
【００８１】
（逆伝搬時の計算）
次に、入力データの逆伝搬時の計算について説明する。以下、最終出力層から遡って、ニューロン値としてガウス分布になり、そのガウス分布のパラメータがどのように逆伝搬していくのか、そして入力層でどのような入力データになるのかについて、そのガウス分布のパラメータの計算方法を説明する。
【００８２】
非特許文献２には、ある点データを逆伝搬させることで入力データの値の誤差を求めていく手法が記載されている。この手法と同様に、本発明では、入力データがとり得るガウス分布のパラメータの誤差、すなわち、平均値の誤差δμ、分散値の誤差δＶａｒ、共分散値の誤差δＣｏｖを逆伝搬させて計算していく。
【００８３】
図１（ｂ）に示すように、ある層ｌにおいて、その出力ｏｕｔのガウス分布のパラメータの誤差から、入力ｉｎのガウス分布のパラメータの誤差を逆向きに計算する。
【００８４】
【数２６】
2020154615.tif 000028
【００８５】
この入力ｉｎのガウス分布のパラメータの誤差が求められれば、従来の学習法のように、入力ｉｎのガウス分布のパラメータを、設計者が定義した学習率ＬｅａｒｎｉｇＲａｔｅの値で更新することができる。
【００８６】
【数２７】
2020154615.tif 000029
【００８７】
【数２８】
2020154615.tif 000030
【００８８】
【数２９】
2020154615.tif 000031
【００８９】
以下に、後方の層（出力側）の誤差δoutを前方の層（入力側）の誤差δinに逆伝搬させる計算について示す。
【００９０】
【数３０】
2020154615.tif 000032
【００９１】
【数３１】
2020154615.tif 000033
【００９２】
【数３２】
2020154615.tif 000034
【００９３】
上の式を解くためには、誤差δのほかに、それぞれのパラメータ間の微分、すなわち、ヤコビアンＪlを計算する必要がある。ある層ｌにおけるヤコビアンを以下の数式３３に示す。
【００９４】
【数３３】
2020154615.tif 000035
【００９５】
以下、ニューラルネットワークに含まれる各層ｌの種類別に、ヤコビアンを構成する微分計算方法について説明する。
【００９６】
（ＤＦ層：逆伝搬時の計算）
前述したドロップアウト層及びＦＣ層からなるＤＦ層における微分計算について説明する。本発明は、ドロップアウトを入れることで、シングルモードのガウス分布の伝搬についても逆伝搬の計算ができるようにしている。
【００９７】
出力平均値の入力平均値による微分は以下のようになる。
【００９８】
【数３４】
2020154615.tif 000036
【００９９】
出力平均値の入力分散値による微分は以下のようになる。
【０１００】
【数３５】
2020154615.tif 000037
【０１０１】
出力平均値の入力共分散値による微分は以下のようになる。
【０１０２】
【数３６】
2020154615.tif 000038
【０１０３】
出力分散値の入力平均値による微分は以下のようになる。
【０１０４】
【数３７】
2020154615.tif 000039
【０１０５】
上記の数式３７のＶａｒ（ＬｉｓｔＷμinDFi）の部分は、以下のように表される。
【０１０６】
【数３８】
2020154615.tif 000040
【０１０７】
この微分は以下のように計算することができる。
【０１０８】
【数３９】
2020154615.tif 000041
【０１０９】
上記の数式３７の２項目及び３項目は、入力の平均値に依存しないことからゼロとなり、最終的には以下の式となる。
【０１１０】
【数４０】
2020154615.tif 000042
【０１１１】
出力の分散値の入力の分散値による微分は以下のようになる。
【０１１２】
【数４１】
2020154615.tif 000043
【０１１３】
出力の分散値の入力の共分散値による微分は以下のようになる。
【０１１４】
【数４２】
2020154615.tif 000044
【０１１５】
出力の共分散値の入力の平均値による微分は以下のようになる。
【０１１６】
【数４３】
2020154615.tif 000045
【０１１７】
出力の共分散値の入力の分散値による微分は以下のようになる。
【０１１８】
【数４４】
2020154615.tif 000046
【０１１９】
出力の共分散値の入力の共分散値による微分は以下のようになる。
【０１２０】
【数４５】
2020154615.tif 000047
【０１２１】
（シグモイド層：逆伝搬時の計算）
次に、非線形層、とりわけ、シグモイド層の場合について説明する。
【０１２２】
出力平均値の入力平均値による微分は以下のようになる。
【０１２３】
【数４６】
2020154615.tif 000048
【０１２４】
出力平均値の入力分散値による微分は以下のようになる。
【０１２５】
【数４７】
2020154615.tif 000049
【０１２６】
出力分散値の入力平均値による微分は以下のようになる。
【０１２７】
【数４８】
2020154615.tif 000050
【０１２８】
出力分散値の入力分散値による微分は以下のようになる。
【数４９】
2020154615.tif 000051
【０１２９】
（最終出力層：逆伝搬時の計算）
ニューラルネットワークの層ｌが最終出力層の場合における関数π（数式２１参照）の微分に関して説明する。
【０１３０】
回帰問題の場合には、前述したＦＣ層や非線形層でのガウス分布の平均値や分散共分散値の微分が逆伝搬に使われる。
【０１３１】
一方、分類問題の場合には、最終出力層はソフトマックス層である。以下、ソフトマックス層の入力がガウス分布の場合の微分、すなわちヤコビアンの計算方法について説明する。最終出力層からの出力は正解ラベルであるスカラー値との差分によりコスト関数を計算するために用いられる。したがって、分散値や共分散の微分には依存せず、最終出力層からの出力の分布の平均値のみに関する微分だけを考慮すればよい。
【０１３２】
出力平均値の入力平均値による微分は以下のようになる。
【０１３３】
【数５０】
2020154615.tif 000052
【０１３４】
出力平均値の入力分散値による微分は以下のようになる。
【０１３５】
【数５１】
2020154615.tif 000053
【０１３６】
以上、任意の構造のニューラルネットワークに関して、ＤＦ層、シグモイド層、ソフトマックス層についての単一のガウス分布のパラメータのヤコビアンの要素の計算について、すなわち、バックプロパゲーションにおけるガウス分布のパラメータの微小誤差を計算する方法について説明した。
【０１３７】
（コスト関数）
最後に、逆伝搬の出発点、すなわち最終出力層におけるコスト関数の設定方法について説明する。
【０１３８】
ｎ個のニューロンを持つｎ次元の最終出力層では、最終出力層からの出力の分布の平均値のみを考慮する。最終出力層からの分布の平均値と学習正解データの所望の値とを比較し、その差分をコスト関数として設定する。以下、二乗誤差によりコスト関数を設定した場合を示すが、当該差分を表すことができる計算であれば、二乗誤差に限定されるものではない。
【０１３９】
回帰問題の場合には、以下のように出力値がスカラーの場合にはｎ＝１となり、正解値ｙとの差分からコスト関数を定義する。
【０１４０】
【数５２】
2020154615.tif 000054
【０１４１】
分類問題の場合には、以下のように総クラス数ｃmaxにおいて、正解ラベルのホットベクトルｈとソフトマックス層からの出力ベクトルπ（Ｘ）との差分で、以下のようにコスト関数を定義する。
【０１４２】
【数５３】
2020154615.tif 000055
【０１４３】
このコスト関数の値を小さくするために、コスト関数の微分をとることで、入力のガウス分布のパラメータの平均値の微小誤差δμinと分散値の微小誤差δＶａｒinを以下のように計算できる。
【０１４４】
【数５４】
2020154615.tif 000056
【０１４５】
【数５５】
2020154615.tif 000057
【０１４６】
前述のヤコビアンを使うことで、逆伝搬で各層での微小誤差δを順々に計算していくことができ、入力層まで遡ることで、入力層及び各層におけるガウス分布のパラメータを計算することができる。
【０１４７】
また、正則化として、コスト関数（数式５２、数式５３参照）に任意の正則項Ｒを設けることで、最適化計算される解を制御することができる。例えば、ある層ｌでの入力データの分布の平均値μlを０以上１以下に抑えたい場合、以下のようなμl値に依存するコスト関数に対して、以下のような正則項Ｒを付けることが考えられる。
【０１４８】
【数５６】
2020154615.tif 000058
【０１４９】
【数５７】
2020154615.tif 000059
【０１５０】
正則項Ｒを設けた場合には、正則項Ｒのμ及びＶａｒに関する微分をそれぞれ計算し、それぞれの計算結果を数式５４及び数式５５のそれぞれに追加する必要がある。
【０１５１】
以上、本明細書で提案される計算方法であって、バックプロパゲーションさせることで所望の出力を最大に出すための各層における分布パラメータを求める計算方法について説明した。
【０１５２】
本明細書では、この最適化された分布パラメータに係る分布を「特徴量分布」と呼ぶ。この特徴量分布は、ニューラルネットワーク上のあらゆる層のニューロンでの入力データの値に関連して計算することができる。ここで、ある層ｌにおけるニューロンの入力データの値をｘとし、その値がとるべき特徴ガウス分布関数Ｐl（ｘ）について、ガウス分布のパラメータである平均ベクトルμ、分散共分散行列Σを用いて以下の式のように定義する。
【０１５３】
回帰問題の場合には、ある値ｙが出力されるための特徴ガウス分布Ｐl,y（ｘ）は以下のように表される。ある値ｙは、ユーザが有限又は無限の範囲から選んだ値である。
【０１５４】
【数５８】
2020154615.tif 000060
【０１５５】
分類問題の場合には、あるクラスｃに分類されるための特徴ガウス分布Ｐl,c（ｘ）は以下のように表される。あるクラスｃは総クラスの数ｃmax分だけ存在する。
【０１５６】
【数５９】
2020154615.tif 000061
【０１５７】
ここで注目すべきは、前述の数式５８や数式５９において、分母は入力データｘに依存せず、全てのニューロンに共通のあるスカラー値、すなわち定数であるということである。
【０１５８】
ニューラルネットワークの試験者は、各ニューロンにおける特徴量分布Ｐl（ｘ）の幅である分散値から可視化されるニューロンの重要度を評価することができる。数式５８や数式５９のある層ｌにおけるｎ次元の特徴量分布の分散共分散行列Σの分散値は、ｎ個のニューロンのそれぞれの分散値を表している。分散値が大きいということは、どの値でもよいということであり、したがって、そのニューロンは最終出力決定に及ぼす影響が低いと考えることができる。
【０１５９】
逆に、あるニューロンの分散値が小さければ、望みの最終結果を出すためには、そのニューロンのとる値はその範囲内でなければならず、そのニューロンが推定の決定に重要な影響を及ぼすことがわかる。また、ニューラルネットワークの推定結果の説明責任において、分散値の大小を見ることで、どのニューロンが推定結果に重要な働きをしているのかを示すことができる。さらに、重要でないと判断されるニューロンに関しては計算を省くなど、計算処理の簡略化を図ることも可能でなる。
【０１６０】
（第１の実施の形態）
本発明の第１の実施の形態において、データの特徴量分布を計算する処理について説明する。図３は、本発明の第１の実施の形態において、データの特徴量分布を計算する処理の一例を示すフローチャートである。
【０１６１】
図３において、まず、従来と同様に点データである学習データを用いて、ニューラルネットワークでドロップアウトを与えて学習させ、重みとバイアス項を最適化する（ステップＳ１０１）。なお、ドロップアウトを与えるとは、ニューラルネットワーク内のドロップアウト層において確率ｐdropoutDFを設定し、ドロップアウト層を通過するデータを一定の確率ｐdropoutDFでゼロにすることを意味する。ステップＳ１０１における学習が完了すると、この学習により決定された重みやバイアス項は固定値として扱われる。
【０１６２】
次に、入力データを最適化する処理を行う。入力データを最適化する処理では、学習済みの重みとバイアス項を固定したまま、入力データに対する伝搬と、伝搬から得られた計算結果（ガウス分布のパラメータ）の逆伝搬とが繰り返し実行され、入力データに係るガウス分布のパラメータを最適化する処理、すなわち、どのようなガウス分布に基づく入力データが入力されればよいのかを最適化する処理が行われる。
【０１６３】
まず、ニューラルネットワークで伝搬される入力データを多変量ガウス分布として、この入力データの多変量ガウス分布のパラメータ（平均ベクトルと分散共分散行列）の初期値を設定する（ステップＳ１０２）。この初期設定では、例えば乱数などの任意の値が初期値として設定される。平均値については、例えば入力が画像の場合には、ピクセルの画素の値がとり得る範囲の中心値を初期値として設定してもよい。また、分散値については、例えば１以上の適切な乱数としてもよい。さらに、共分散値はゼロとしてもよい。ただし、分散共分散値は正定値行列とする必要がある。
【０１６４】
次に、入力データのガウス分布のパラメータを入力層から最終出力層までドロップアウトを与えて伝搬させ、最終出力層で得られた結果からコスト関数を計算し（ステップＳ１０３）、コスト関数の値が十分にゼロに近づいたかどうかを判断する（ステップＳ１０４）。
【０１６５】
なお、コスト関数の値が十分にゼロに近づいたかどうかの判断は、例えば、ユーザがあらかじめ定めた閾値（ゼロに近い値）とコスト関数の値とを比較することにより行われる。コスト関数の値と所定の閾値とを比較して、例えばコスト関数の値が所定の閾値以下となった場合には、コスト関数の値が十分にゼロに近づいたと判断することができる。コスト関数の値が十分にゼロに近づいた状態は、回帰問題の場合にはユーザが選んだある望みの値を最大限出力する状態、分類問題の場合にはユーザが選んだある望みのクラスのソフトマックスの値を最大限出力する状態となったことを意味する。
【０１６６】
コスト関数の値が十分にゼロに近づいたと判断されなかった場合には（ステップＳ１０４で「いいえ」）、コスト関数からガウス分布のパラメータの微小誤差を計算する（ステップＳ１０５）。具体的には、上述した数式５４及び数式５５に示すように、コスト関数の微分を計算することで、微小誤差δを計算することができる。
【０１６７】
次に、例えば前述したヤコビアンを使うことで、微小誤差をドロップアウトを与えて逆伝搬させて、各層でのガウス分布のパラメータの微小誤差を順々に計算する（ステップＳ１０６）。その結果、入力層まで遡って微小誤差を計算することができる。そして、入力データのガウス分布のパラメータの微小誤差を用いて、各層でのガウス分布のパラメータを更新する（ステップＳ１０７）。このとき、パラメータは、例えば微小誤差に学習率ＬｅａｒｎｉｎｇＲａｔｅを掛けた分だけ更新される。
【０１６８】
ステップＳ１０７で入力データのガウス分布のパラメータが更新されると、ステップＳ１０３に戻り、更新されたパラメータを入力層から最終出力層までドロップアウトを与えて伝搬させ、上述したステップＳ１０３以降の処理が繰り返される。そして、コスト関数の値が十分にゼロに近づいたと判断された場合には（ステップＳ１０４で「はい」）、入力データのガウス分布のパラメータの最適化処理を終了する。
【０１６９】
最適化処理の終了時点における入力データのガウス分布のパラメータは最適化されたデータであり、このガウス分布からサンプリングされる入力データが入力された場合、ニューラルネットワークは所望の結果（回帰問題の場合は所望の出力値、分類問題の場合は所望のクラスのソフトマックスの値）を出力することができる。なお、入力データのガウス分布とは、ニューラルネットワークの最初の層である入力層におけるデータの分布だけではなく、各層の各ニューロンにおけるデータの分布も意味している。すなわち、図３に示す処理によって、任意の層におけるガウス分布のパラメータが最適化された状態となる。
【０１７０】
次に、本発明の第１の実施の形態における情報推定装置の構成について説明する。図４は、本発明の第１の実施の形態における情報推定装置の構成の一例を示すブロック図である。図４に示す情報推定装置１は、重み学習部１０、データ特徴量分布計算部２０、事後確率分布計算部３０、事後確率値推定部４０を有する。なお、図４に示す情報推定装置１には、後述する本発明の第２及び第３の実施の形態において使用される構成要素も図示されている。
【０１７１】
図４に示すブロック図は、本発明に関連した機能を表しているにすぎず、実際の実装では、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されてもよい。ソフトウェアで実装される機能は、１つ又は複数の命令若しくはコードとして任意のコンピュータ可読媒体に記憶され、これらの命令又はコードは、ＣＰＵ（Central Processing Unit：中央処理ユニット）などのハードウェアベースの処理ユニットによって実行可能である。また、本発明に関連した機能は、ＩＣ（Integrated Circuit：集積回路）やＩＣチップセットなどを含む様々なデバイスによって実現されてもよい。
【０１７２】
本発明の第１の実施の形態では、重み学習部１０及びデータ特徴量分布計算部２０が使用され、重み学習部１０及びデータ特徴量分布計算部２０により上述した図３に示すフローチャートの処理が実行される。
【０１７３】
重み学習部１０は、固定値のベクトルからなる学習データを用いて、データの一部を欠損させるドロップアウトを行うドロップアウト層を備えた前記ニューラルネットワークにおける重みを学習する機能を有する。
【０１７４】
データ特徴量分布計算部２０は、伝搬計算部２１、コスト関数計算部２２、分布パラメータ更新部２３、最適化パラメータ出力部２４を含む。
【０１７５】
伝搬計算部２１は、ニューラルネットワークの各層で伝搬するデータを平均値、分散値及び共分散値を含む分布パラメータで定義される多変量ガウス分布を持つ確率変数として、入力データに対してニューラルネットワークでドロップアウトを与えて伝搬計算を行う機能を有する。
【０１７６】
コスト関数計算部２２は、ニューラルネットワークからの出力データと正解データとの差分を表すコスト関数を計算する機能を有する。
【０１７７】
分布パラメータ更新部２３は、コスト関数を微分して得られる微小誤差に対してニューラルネットワークでドロップアウトを与えて逆伝搬計算を行い、ニューラルネットワークの各層における分布パラメータを更新する機能を有する。
【０１７８】
最適化パラメータ出力部２４は、コスト関数が所定の閾値以下となった場合における分布パラメータを、最適化された分布パラメータとして出力する機能を有する。
【０１７９】
以下、本発明の第１の実施の形態に関連する実験について説明する。この実験では、図２に示すニューラルネットワークが構築され、手書き数字データＭＮＩＳＴが使用されている。図２のニューラルネットワークは、ＦＣ層、ドロップアウト層、シグモイド層、ソフトマックス層を含んで構築されている。入力データ（入力画像）は、２８×２８＝７８４ピクセルの画像であり、７８４次元のベクトルデータである。また、最終出力層のソフトマックス層からは、０〜９のいずれかの数字を示すスコアが推定結果として出力される。各層に付記されている数字は各層の次元数であり、例えば次元数が変換される場合には「７８４→１００」などのように、変換前及び変換後の次元数が記載されている。
【０１８０】
この実験では、ニューラルネットワークにおいて、６万枚の手書き数字データＭＮＩＳＴの画像に関してドロップアウトを与えて学習させて、重みを計算している。なお、ＭＮＩＳＴの入力画像は２８×２８＝７８４ピクセルの画像であり、１枚の画像が７８４次元のベクトルである１つの点データに相当する。
【０１８１】
学習が完了すると、重みやバイアス項を固定値とし、今度は入力データをある未知のガウス分布からサンプリングされる確率変数として、ドロップアウトを与えて伝搬させる。なお、初期段階においてガウス分布のパラメータ（すなわち、平均ベクトルμ、分散共分散行列Σ）が未知の場合には、適当な初期値が設定される。
【０１８２】
最終出力層のソフトマックス層で正解ラベルと一致するようにガウス分布のパラメータの微小誤差を逆伝搬させて、ガウス分布のパラメータを更新する。その際に、ＤＦ層では必ずドロップアウトを与える。このように、伝搬及び逆伝搬の計算を行ってガウス分布のパラメータを更新する。
【０１８３】
更新されたガウス分布のパラメータの評価は、以下のようにモンテカルロ的に行われる。更新されたガウス分布のパラメータに基づくガウス分布を設定し、そのガウス分布から５０００個の点データをサンプリングする。その点データを入力データとしてニューラルネットワークで順方向に計算させ、ソフトマックス層での出力が正解ラベルと合っているかどうかについてを評価するためのコスト関数を計算する。コスト関数の値が小さくなっていけば最適化が進んでいるとする。
【０１８４】
図５（ａ）、（ｂ）に、コスト関数の値（縦軸）と更新回数（横軸）との関係を表すプロットを示す。図５（ａ）には、ガウス分布のパラメータの逆伝搬の際にドロップアウトを与えなかった場合（本発明の比較例）を示し、図５（ｂ）には、本発明に係る実験においてガウス分布のパラメータの逆伝搬の際にドロップアウトを与えた場合（本発明に係る実験例）を示す。
【０１８５】
図５（ａ）に示すように、ドロップアウトを与えなかった場合には、最適化を何度も繰り返しても、コスト関数はゼロ近傍に収束せず、入力データのガウス分布のパラメータを最適化することができない。一方、図５（ｂ）に示すように、本発明に係る実験ではドロップアウトというノイズの源を与えることで、コスト関数をゼロ近傍に収束させることができ、正解データのガウス分布を作り出すことできる。
【０１８６】
次に、ドロップアウトを与えて得られた特徴量分布のパラメータを計算した後について説明する。図６（ａ）、（ｂ）に、数字９のクラスでの最適化された特徴量分布を示す。なお、これらの特徴量分布は、各々のピクセルにおけるグレースケール値の分布を表している。ただし、図６（ａ）、（ｂ）では、平均値及び分散値から表すことができる分布のみが示されており、各々の分布間の相関である共分散値については図示省略している。
【０１８７】
図６（ａ）に、図２のニューラルネットワークの入力層における入力画像の特徴量分布を示す。なお、入力画像は２８×２８＝７８４ピクセルであり、７８４ピクセルの各々についての特徴量分布が得られているが、図示簡略化のため、図６（ａ）では１４×１４＝２５６ピクセルにおける特徴量分布が示されている（ピクセルを１つおきに表示）。
【０１８８】
図６（ａ）に示す入力画像のピクセル値のとるべき分布によって表れているように、０〜９のうちのどの数字であるかを決定づけるのに重要であると思われる画像の中心部分は分布の幅が小さく、分散が小さい。一方、画像の四隅や端の近くは分布の幅が大きく、分散が大きい。したがって、画像の四隅や端の近くのピクセルは、推定結果を決定づけるのに重要ではないことが明らかに示されている。
【０１８９】
図６（ｂ）に、図２のニューラルネットワークの最初のＦＣ層での１０×１０＝１００個のニューロンに関する特徴量分布を示す。このＦＣ層は入力層の次の層であるため、入力画像が抽象化されてしまっているが、それでも、分布の幅が小さいニューロンと分布の幅が大きいニューロンに分かれている。分布の幅が小さいニューロンのほうが、分布の幅の大きいニューロンより、推定の最終決定に大きく影響を与えると考えられる。
【０１９０】
また、図7（ａ）に、図６（ａ）の数字９のガウス分布からサンプリングされた入力画像の一例を示す。また、図７（ｂ）に、図７（ａ）の画像を入力データとしてニューラルネットワークで計算させた場合のソフトマックスの値の棒グラフ（横軸はクラス、縦軸はソフトマックスの値）を示す。図７（ａ）は、数字９のガウス分布からサンプリングされた画像であり、見た目上は数字９には見えない画像であるが、ニューラルネットワークは、数字９の場合のクラスのみで最大となるソフトマックスの値（推定結果）を出力する。
【０１９１】
図６（ａ）の特徴量分布からどのようなデータをサンプリングした場合であっても、ニューラルネットワークは、この入力画像に対して、必ず、数字９であると推定するソフトマックスの値を出力する。このことから、本発明に係る手法は、非特許文献５で言及されている所望の推定結果を出す入力データ「Adversarial Example」をサンプリングすることができる分布の１つを計算する手法であると言うこともできる。
【０１９２】
また、このような分布の分散値を見て、ニューラルネットワークがどのピクセルの値又はニューロンの値を特徴として重要視しているのかを判断することについて、さらに、図８に示すようなＭＮＩＳＴをさらに拡張した画像（ＭＮＩＳＴ拡張画像）を学習させた場合に顕著に観察することができる。図８のＭＮＩＳＴ拡張画像は、右上に位置する正解ラベルに関連する真のデータと、左上及び右下の２箇所にあるダミーとしての無関係なデータと、左下の何もない黒い部分とにより構成されている。このＭＮＩＳＴ拡張の画像は、正解ラベルのデータが常に右上の数字だけであり、残りのエリアは正解ラベルに依存しないダミーデータである。このようなデータについても、従来のニューラルネットワークで点データとして学習させた場合には、正解を推定させることができる。
【０１９３】
図９に、本発明に係る手法で、正解ラベル（数字０）を計算した場合の入力画像の特徴量分布を示す。なお、入力画像は（２８×２）×（２８×２）＝３１３６ピクセルであり、３１３６ピクセルの各々についての特徴量分布が得られているが、図示簡略化のため、図９では２８×２８＝７８４ピクセルにおける特徴量分布が示されている（ピクセルを１つおきに表示）。図９に示す特徴量分布では右上のエリアだけ分布の幅が小さく、この右上のエリアの特徴量分布が重要であることが示されている。
【０１９４】
図１０（ａ）に、図９の特徴量分布からサンプリングされた入力画像の一例を示す。また、図１０（ｂ）に、図１０（ａ）の画像を入力データとしてニューラルネットワークで計算させた場合のソフトマックスの値の棒グラフ（横軸はクラス、縦軸はソフトマックスの値）を示す。図９の特徴量分布からサンプリングされた図１０（ａ）の画像について、ニューラルネットワークは、この画像に対するソフトマックスの値として、図１０（ｂ）に示すように、数字０の場合のクラスのみで最大となる推定結果を出力する。図９及び図１０（ａ）、（ｂ）に示すように、本発明の手法によって得られた特徴量分布を参照すると、ニューラルネットワークが入力画像の右上のみを見て判断していることがわかり、特徴量分布によってニューラルネットワークの可視化が可能となる。
【０１９５】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。
【０１９６】
上述した本発明の第１の実施の形態では、データの特徴量分布を計算する手法について説明した。本発明の第２の実施の形態では、学習データを使い、さらに本発明の第１の実施の形態で得られた特徴量分布を尤度分布としてとらえて、事後確率分布を計算する。事後確率分布を計算しておけば、図１１（ａ）のグラフ（横軸は入力値、縦軸は事後確率値）に示すように、新規の入力点データ（新しい未知のテストデータ）に対して事後確率分布の値を計算することで、出力される推定結果の確率値、すなわち、どのくらいの確からしさで推定を行っているのかを表す推定の確からしさを計算することができる。
【０１９７】
事後確率分布は、ニューラルネットワーク中の全ての層のニューロン値で計算することができる。したがって、新規の入力データに対して任意の層で事後確率値を計算でき、最終出力層まで計算しなくても、どのような出力になるのかを把握することができるので、計算の高速化及び簡略化が期待できる。
【０１９８】
以下に説明するように、前述の特徴量分布（数式５８、数式５９参照）の出力値は、ある入力点データｘinを入力した場合の尤度とみなすことができる。
【０１９９】
回帰問題の場合には、出力値がｙになるような入力データｘinの尤度Ｌl（ｘin｜ｙ）は、以下の数式６０で表されると定義する。ここで、出力値ｙは複数の出力値ｙ1，…，ｙmaxのうちのどのｙの値になるのかを比較する。
【０２００】
【数６０】
2020154615.tif 000062
【０２０１】
分類問題の場合には、あるクラスｃになるような入力データの尤度Ｌl（ｘin｜ｃ）は、以下の数式６１で表されると定義する。
【０２０２】
【数６１】
2020154615.tif 000063
【０２０３】
前述の数式５８、数式５９の尤度の式の分母は、分散共分散行列のデターミナント（Determinant）である。行列のデターミナントを計算する際、行列の次元数が大きい場合には非常に高いコンピュータの計算精度が要求される。ニューロン数は層によっては１０００以上の膨大な次元数となり、行列のデターミナントの計算が困難な場合もある。さらに、未知のデータｘinが与えられたときに、どの出力値ｙ／クラスｃであるのかを推定するためには、尤度Ｌlと事前確率Ｐｒｉｏｒlから事後確率Ｐｏｓｔlを計算しなければならない。
【０２０４】
回帰問題の場合、出力値ｙに関して、尤度Ｌl（ｘin｜ｙ）と事前確率Ｐｒｉｏｒl（ｙ）から計算される事後確率Ｐｏｓｔl（ｙ｜ｘin）を以下の式のように定義する。
【０２０５】
【数６２】
2020154615.tif 000064
【０２０６】
分類問題の場合、クラスｃに関して、尤度Ｌl（ｘin｜ｃ）と事前確率Ｐｒｉｏｒl（ｃ）から計算される事後確率Ｐｏｓｔl（ｃ｜ｘin）を以下の式のように定義する。
【０２０７】
【数６３】
2020154615.tif 000065
【０２０８】
上記の数式６２、数式６３の分母は、出力値ｙ／クラスｃの間で一定の定数であることから、分母を計算せずに分子のみを計算すればよい。さらに数式６２、数式６３の事前確率Ｐｒｉｏｒlを計算しなくても、尤度Ｌlの分子だけを計算すれば、事後確率Ｐｏｓｔlに比例する値を計算することができる。これについて、以下に説明する。
【０２０９】
学習データＤａｔａtrainには、回帰問題の場合は、複数の出力値ｙ1，…，ｙmaxのうちのどのｙの値になるのか、それぞれの出力値についての学習データが存在する。また、分類問題の場合は、複数のクラスｃ1，…，ｃmaxのうちのどのｃの値になるのか、それぞれのクラスについての学習データが存在する。
【０２１０】
本発明は、事後確率Ｐｏｓｔlである数式６２や数式６３は、数式６０や数式６１の尤度Ｌlの分子にある補正定数を掛けた単純な形で近似的に表現できることを提案する。
【０２１１】
回帰問題では、事後確率Ｐｏｓｔlは、補正定数ａy、ｂyを用いて以下の式のように表される。
【０２１２】
【数６４】
2020154615.tif 000066
【０２１３】
また、分類問題では、事後確率Ｐｏｓｔlは、補正定数ａc、ｂcを用いて以下の式のように表される。
【０２１４】
【数６５】
2020154615.tif 000067
【０２１５】
補正定数ａはバイアス値、補正定数ｂはスケール値であり、補正定数ａ、ｂは、数式６０や数式６１の尤度Ｌlの分母、事前分布ｐｒｉｏｒ、そして計算誤差を表す。補正定数は、後述のデータの巨視的特徴を利用したキャリブレーションにより計算することができる。これについて、以下に説明する。
【０２１６】
出力値ｙ／クラスｃのそれぞれの事前確率に関して、テストフェーズで存在するとされる出力値ｙ／クラスｃの数をそれぞれＮy、Ｎcとすると、出力値ｙ／クラスｃの数は事前確率値と同じ比率を持つため、回帰問題の場合には下記の数式６６、分類問題の場合には下記の数式６７のように表すことができる。
【０２１７】
【数６６】
2020154615.tif 000068
【０２１８】
【数６７】
2020154615.tif 000069
【０２１９】
そこで、テストフェーズの事前確率を反映する数のデータを用意しておく。ただし、データ数Ｎy、Ｎcを多めに用意する。例えば、最低でも１０００件以上のデータを用意しておくことが望ましい。そのデータを学習データＤａｔａtrainとする。
【０２２０】
学習データＤａｔａtrain全てに対し、それぞれの出力値ｙ／クラスｃに関して事後確率Ｐｏｓｔlの値を計算し、その計算結果の値の集合を集合ＴｏｔａｌＰl（ｘin）と表記する（ただし、ｘinはＤａｔａtrainの要素）。この集合はある分布を持つが、それなりに大きい数であるため、白色効果によりガウス分布をなすとみなすことができる。
【０２２１】
回帰問題に関しては、出力値がｙである事後確率値の集合は、以下の式のように表される。
【０２２２】
【数６８】
2020154615.tif 000070
【０２２３】
分類問題に関しては、クラスがｃである事後確率値の集合は以下の式のように表される。
【０２２４】
【数６９】
2020154615.tif 000071
【０２２５】
数式６８及び数式６９の右辺は、それぞれの出力値ｙ／クラスｃの平均値Ｔｏｔａｌμと分散値ＴｏｔａｌΣをパラメータとするガウス分布を意味する。
【０２２６】
平均値Ｔｏｔａｌμは、出力値ｙ／クラスｃに依存する。また、平均値Ｔｏｔａｌμは、学習データのデータ数ＮyやＮcに比例した値となるはずである。なぜなら、事後確率値とは、どの出力値ｙ／クラスｃになるかという推定の確率値であり、学習データのその値の集合の平均は、学習データの既知の正解ラベルの数に比例しているはずだからである。
【０２２７】
分散値ＴｏｔａｌΣは、前述のデータ数が十分多いという仮定から、どの出力値／クラスに対しても同じ値になると考えられる。なぜなら、データのばらつきである分散は、データの数が十分多い場合にはある一定値に収束しているはずだからである。
【０２２８】
以上の平均値Ｔｏｔａｌμと分散値ＴｏｔａｌΣに関する条件から、数式６４や数式６５の補正定数ａ、ｂを求めることができる。
【０２２９】
以上のように事後確率分布の近似式を定義し、その補正定数ａ、ｂを計算するまでの処理を図１２に示す。図１２は、本発明の第２の実施の形態において、事後確率分布の近似式を完成させるための処理の一例を示すフローチャートである。
【０２３０】
この処理では、図１２に示すように、まず、上述した本発明の第１の実施の形態に係る処理によって、データの特徴量分布を計算する（ステップＳ２０１）。
【０２３１】
次に、推定時での各出力値ｙ／クラスｃでの事前確率値と同じ比率を持つ学習データＤａｔａtrainを用意する（ステップＳ２０２）。また、ステップＳ２０１で計算された特徴量分布を、尤度を計算する分布の式とみなし、尤度の分子の式から補正定数ａを引いて、それを補正定数ｂで割った式を事後確率分布の近似式とする（ステップＳ２０３）。
【０２３２】
次に、ステップＳ２０３において補正定数ａ、ｂで定義した事後確率分布の式を用いて、用意した学習データＤａｔａtrainに関して、事後確率値を集合として各出力値ｙ／クラスｃで計算する（ステップＳ２０４）。さらに、各出力値ｙ／クラスｃでの事後確率値について、その集合の平均値及び分散値を計算する（ステップＳ２０５）。
【０２３３】
そして、各出力値ｙ／クラスｃでの事後確率値について、その集合の平均値が学習データの各出力値ｙ／クラスｃの数と比率が同じになるように、さらに、各出力値ｙ／クラスｃでの事後確率値について、その集合の分散値が同じ値となるように補正定数ａ、ｂを計算する（ステップＳ２０６）。以上の計算により補正定数ａ、ｂが得られ、この補正定数ａ、ｂを使って事後確率分布の近似式を完成させることができる。
【０２３４】
次に、本発明の第２の実施の形態における情報推定装置の構成について説明する。本発明の第２の実施の形態では、図４に示す情報推定装置１に含まれる重み学習部１０、データ特徴量分布計算部２０、事後確率分布計算部３０、事後確率値推定部４０が使用される。重み学習部１０及びデータ特徴量分布計算部２０は、本発明の第１の実施の形態と同一であり、ニューラルネットワークの任意の層ｌにおける特徴量分布、すなわち、最適化された分布パラメータを出力する。
【０２３５】
事後確率分布計算部３０は、データ特徴量分布計算部２０から出力された最適化された分布パラメータに係る分布を尤度分布とし、尤度分布に事前確率を掛けたものを事後確率分布の式とし、分数で表された尤度分布の分子からバイアス値を引いてスケール値で割った式を事後確率分布の近似式として、事後確率分布の近似式で学習データの事後確率値を計算し、事後確率値の集合からなる分布の平均値及び分散値が、分類問題の場合には全てのクラスで、回帰問題の場合には複数の出力値同士で同じとなるように補正定数ａ、ｂ（バイアス値及びスケール値）を最適化する機能を有する。事後確率分布計算部３０により上述した図１２に示すフローチャートの処理が実行される。
【０２３６】
事後確率値推定部４０は、事後確率分布計算部３０によって最適化された補正定数ａ、ｂ（バイアス値及びスケール値）を含む事後確率分布の近似式を用いて、固定値のベクトルからなる入力データに対する事後確率値を計算する機能を有する。
【０２３７】
以下、本発明の第２の実施の形態に関連する実験について説明する。この実験では、上述した本発明の第１の実施の形態からの継続として、手書き数字データＭＩＮＳＴが使用されている。
【０２３８】
ＭＮＩＳＴの場合、０から９までの１０クラス（ｍａｘ＝１０）が、学習データ及びテストデータともに均一の数だけ用意されている。したがって、ＭＮＩＳＴを使用して推定する環境では、事前分布は同じとみなすことができる。
【０２３９】
【数７０】
2020154615.tif 000072
【０２４０】
また、これに合った数の学習データを用意する。この場合、ＭＮＩＳＴの学習データが均等に存在するので、学習データをそのままキャリブレーション補正のデータＤａｔａtrainとして使うことができる。
【０２４１】
【数７１】
2020154615.tif 000073
【０２４２】
学習データは６万件と十分な数だけ存在する。したがって、事後確率の値の集合Ｐｏｓｔl（ｃ｜ｘin）（ただし、ｘinはＤａｔａtrainの要素）の分布に関して、平均Ｔｏｔａｌμc及び分散値ＴｏｔａｌΣcは、各クラスにおいて単純に同一値となるはずである。
【０２４３】
学習データＤａｔａtrainの点データで、図２のニューラルネットワークの最初のＦＣ層における、数式６５で定義される事後確率Ｐｏｓｔlの値の集合（ｃ｜ｘin）（ただし、ｘinはＤａｔａtrainの要素）をそれぞれの出力値ｙ／クラスｃで計算した。なお、補正定数は仮の値とし、ａc＝０、ｂc＝１とした。
【０２４４】
図１３（ａ）に、その集合の事後確率値をヒストグラムとして示す。図１３（ａ）には、全１０クラスのうちの各々のクラスについてのヒストグラムが示されている。図１３（ａ）のヒストグラムから、上述したように補正定数は仮の値で設定されており正しい値ではないため、クラス間でばらばらな分布となっていることがわかる。
【０２４５】
一方、これらの事後確率の値の集合の分布に係る平均値及び分散値がそれぞれ同じ値となるように補正定数ａc、ｂcを求め、数式６５で定義される事後確率Ｐｏｓｔl（ｃ｜ｘin）の値をヒストグラムとして、図１３（ｂ）に示す。この場合には、事後確率分布、厳密には事後確率に比例する確率の分布は、全てのクラスで類似した形状を有しており、きれいにそろっていることがわかる。
【０２４６】
以上のように、学習データを用いて、事後確率分布を構成する補正定数ａc、ｂcを計算しておけば、推定時に未知のテストデータが来た場合であっても、事後確率分布から事後確率値（すなわち、推定の確からしさ）を各クラスで計算し、推定の確からしさの値が最も大きいクラスを、推定されるクラスと判断することができる。
【０２４７】
実験では、ＭＮＩＳＴの１万件のテストデータの画像に対して、事後確率値がどのクラスで一番高いかを計算した。そして、この計算結果が正解ラベルと合っているかどうかを判定した。
【０２４８】
この実験の一例として、図１４（ａ）にテストデータとして使用されたＭＮＩＳＴの数字７の画像を示す。また、図１４（ｂ）に、図１４（ａ）の画像を入力データとした場合の各クラスごとの事後確率の対数値（Ｌｏｇの値）を示す。図１４（ｂ）に示すように、数字７のクラスでの事後確率の対数値が一番大きくなっており、最も確率が高く、推定が正解であることがわかる。
【０２４９】
同様にこの判定を１万件のテストデータの画像に対して行って得られた各クラスでの正解率を図１５に示す。図１５の左側（補正前）は、学習データで補正定数を求めなかった場合（仮の値ａc＝０、ｂc＝１が設定された場合）の正解率、図１５の右側（補正後）は、前述の方法で補正定数を求めてから事後確率値を計算した場合の正解率である。仮の補正定数の場合には正解率の平均が０．７５９であったのに対し、補正定数を求めた場合の正解率の平均は０．９０７に上がった。なお、学習データから事後確率分布を計算せず、従来のテストデータをそのまま点データとしてフォワード計算してソフトマックス層で推定した場合の正解率は０．９２である。したがって、本発明の第２の実施の形態における事後確率値から推定を行う推定結果の正解率は、最終層であるソフトマックス層から出力される推定結果の正解率とほぼ同水準であり、高い正解率で分布から推定できていることがわかる。
【０２５０】
さらに、事後確率値から、クラスの推定だけではなく、推定の確からしさや確率値を計算することができるため、本発明の第２の実施の形態における手法は、確率値を出力できるニューラルネットワークの推定器に適用することも可能である。
【０２５１】
（第３の実施の形態）
次に、本発明の第３の実施の形態について説明する。
【０２５２】
上述した本発明の第２の実施の形態では、事後確率分布を計算する手法について説明した。本発明の第３の実施の形態では、さらに、入力データが点データではなく、ある分布を持つ確率変数からなる分布データである場合においても計算できることを示す。具体的には、本発明の第３の実施の形態では、分布同士の重なり具合を計算することで、事後確率値を解析的に計算する手法を提案する。入力データが分布である場合はデータの値に不確かさや誤差があることを意味するが、このような場合であっても、ニューラルネットワークで扱うことができるようになる。すなわち、本発明の第３の実施の形態によれば、値が分布として表現される不確かさを持つ入力データに対しても、ニューラルネットワークによる推定器を適用することができる。
【０２５３】
ここで、入力データが、以下の式に表されるように平均ベクトルμin、分散共分散行列Σinで表されるガウス分布の確率変数からなるベクトルであるとする。
【０２５４】
【数７２】
2020154615.tif 000074
【０２５５】
数式６４や数式６５の事後確率Ｐｏｓｔl（ｘin）の式において、入力データｘinが分布である（すなわち、入力分布データである）ことは、図１１（ｂ）のグラフ（横軸は入力値、縦軸は事後確率値）に示すように、ガウス分布からのサンプリングによる出力の期待値、すなわち事後確率値の期待値を計算することを意味する。これを以下の式のように表す。
【０２５６】
【数７３】
2020154615.tif 000075
【０２５７】
数式７３の期待値の計算方法を以下に示す。
【０２５８】
【数７４】
2020154615.tif 000076
【０２５９】
【数７５】
2020154615.tif 000077
【０２６０】
【数７６】
2020154615.tif 000078
【０２６１】
これにより、入力データが分布データ、すなわち、ある分布に基づく確率変数であってもニューラルネットワークでの推定が可能となり、推定の確からしさが計算可能となる。応用として、入力データが、測定誤差分布を持つ信号やカルマンフィルタなどの従来の確率手法によって計算される分散値を持つデータの場合であってもニューラルネットワークで扱うことが可能となる。さらに、値が不明の欠損したデータなどについても、適当な仮の固定値で代用して計算を行うのではなく、適度に幅の広い分散値を持つ確率変数として設定して推定計算を行うことが可能となる。
【０２６２】
また、従来の点データも、デルタ関数のような分散値が小さな幅の分布データであると考えれば、全てのデータは分布データであるととらえることができる。これにより、点データと分布データとが混在するような欠損したデータを処理することも可能である。このようなデータの処理に係る実験として、ＭＮＩＳＴ画像を用いた計算結果を図１６（ａ）〜（ｆ）に示す。
【０２６３】
図１６（ａ）に通常のＭＮＩＳＴの数字４の画像、図１６（ｂ）に当該数字４の画像の一部が灰色で塗られた欠損状態の画像を示す。図１６（ｂ）に示す画像では、灰色で塗られた部分が画素のグレースケール値が不明の欠損部分となる。
【０２６４】
図１６（ａ）、（ｂ）に示す画像を入力画像とし、それぞれの入力画像に対して従来の手法を用いて推定したソフトマックスの値を図１６（ｃ）、（ｄ）に示す。これに対し、図１６（ａ）、（ｂ）に示す画像を入力画像とし、それぞれの入力画像に対して本発明に係る計算手法を用いて計算された事後確率値を図１６（ｅ）、（ｆ）に示す。図１６（ｃ）〜（ｆ）は、各クラスに対する推定結果が棒グラフで表されている。
【０２６５】
入力画像は、グレースケール値が０から１の範囲にあるグレースケール画像である。この実験では、入力画像を点データとして扱う場合には、図１６（ｂ）の灰色の欠損部分の画素については、中間値である０．５の値を採用した。一方、入力画像を分布データとして扱う場合には、図１６（ｂ）の灰色の欠損部分の画素については、平均値０．５、分散値１０のガウス分布であるとみなすとともに、欠損していない部分についても前述のように分布データとしてとらえ、平均値を画素のグレースケール値、分散値を０．００１（仮の小さな分散値）とすることで、点データをデルタ関数的な分布データで表現して計算処理を行った。
【０２６６】
図１６（ｃ）に示すように入力画像を点データとしてとらえた場合には、欠損のない数字４の画像（図１６（ａ）の画像）のソフトマックスの値は数字４にスコアが大きく出ている。しかしながら、図１６（ｄ）に示すように、欠損のある画像（図１６（ｂ）の画像）のソフトマックスの値は、数字８や数字９のスコアが上がり、数字４に関してはスコアが出ていない。すなわち、従来の手法では、灰色の部分の画素の値を０．５という固定値にして計算しているため、この入力画像が数字４の画像である可能性が認識されていない。
【０２６７】
一方、図１６（ｅ）は入力画像を分布データとしてとらえた場合を示している。欠損のない数字４の画像（図１６（ａ）の画像）の事後確率値は、数字４であると認識される。さらに、図１６（ｆ）に示すように、欠損のある画像（図１６（ｂ）の画像）についても、灰色の部分は０〜１の範囲内の様々な値をとる可能性があることが考慮され、数字０、数字４、数字８、数字９の画像である可能性が認識され、これらの可能性がスコアとして出力されている。
【０２６８】
一般的に、センサーネットワークにおいて、ニューラルネットワークが様々な複数のセンサーから得られたデータを総合して判断する場合に、全てのセンサーから完全なデータが得られた状態で判断を行えることは決して多くはない。むしろ、一部のセンサーからのデータが欠損した状態やデータが不明な状態で判断を行わなければならない場合が多く起こり得る。従来のニューラルネットワークでは適当な値を設定するか、あるいは、それぞれのデータが欠損した場合を想定してニューラルネットワークを学習させておく必要がある。一方、本発明の手法によれば、確率変数からなる分布データに関しても、上述した本発明の第２の実施の形態において得られる事後確率分布を学習データで計算しておくだけで、データが欠損した状態やデータが不明な状態に対処でき、有効な推定結果を得ることが可能となる。
【産業上の利用可能性】
【０２６９】
本発明は、学習済みのニューラルネットワークがある推定結果を出力するための、ニューラルネットワークの各層におけるデータの特徴量分布を計算することが可能であり、ニューラルネットワークにかかる技術全般に適用可能である。
【符号の説明】
【０２７０】
１  情報推定装置
１０  重み学習部
２０  データ特徴量分布計算部
２１  伝搬計算部
２２  コスト関数計算部
２３  分布パラメータ更新部
２４  最適化パラメータ出力部
３０  事後確率分布計算部
４０  事後確率値推定部
【図１】
2020154615.tif 000079
【図２】
2020154615.tif 000080
【図３】
2020154615.tif 000081
【図４】
2020154615.tif 000082
【図５】
2020154615.tif 000083
【図６】
2020154615.tif 000084
【図７】
2020154615.tif 000085
【図８】
2020154615.tif 000086
【図９】
2020154615.tif 000087
【図１０】
2020154615.tif 000088
【図１１】
2020154615.tif 000089
【図１２】
2020154615.tif 000090
【図１３】
2020154615.tif 000091
【図１４】
2020154615.tif 000092
【図１５】
2020154615.tif 000093
【図１６】
2020154615.tif 000094