(57)【要約】【課題】ニューラルネットワークを使った推定装置において、その推定結果に対する信頼区間である分散値を安定した状態で、かつ高速に計算する。【解決手段】入力データの一部を欠損させるドロップアウト層と、重みの計算を行うＦＣ層との組み合わせからなる一体化層を持つよう構成されたニューラルネットワークにおいて、一体型層へ多変量分布からなるデータが入力されると、データ解析部３０は、入力データの各ベクトル要素と重みとの積からなる項の数値分布に基づいて、一体化層からの出力データの各ベクトル要素のデータタイプを判断する。推定信頼区間計算部２０は、そのデータタイプに対応付けられている近似計算方法を適用して、一体化層への入力データに基づいて、一体化層からの出力データの各ベクトル要素の分散値を解析的に計算する。【選択図】図２
2018106463.tif 000002
【特許請求の範囲】
【請求項１】
入力データの一部を欠損させるドロップアウト層と、重みの計算を行うＦＣ層との組み合わせからなる一体化層を持つよう構成されたニューラルネットワークを用いて推定処理を行う情報推定装置であって、
多変量分布からなる前記一体化層への入力データの各ベクトル要素と前記重みとの積からなる項の数値分布に基づいて、多変量分布からなる前記一体化層からの出力データの各ベクトル要素のデータタイプを判断するデータ解析部と、
前記データ解析部で判断された前記データタイプに対応付けられている近似計算方法を前記一体化層における計算に適用し、前記一体化層への入力データに基づいて、前記一体化層からの出力データの各ベクトル要素の分散値を解析的に計算する推定信頼区間計算部とを、
有する情報推定装置。
【請求項２】
前記データ解析部は、前記一体化層への入力データの各ベクトル要素と前記重みとの積からなる項に関して、他の項よりも逸脱して大きいピーク項が存在するか否かを判断した結果に基づいて、前記データタイプを判断するよう構成されている請求項１に記載の情報推定装置。
【請求項３】
前記データ解析部は、前記一体化層への入力データの各ベクトル要素と前記重みとの積からなるすべての項の標準偏差に対して所定の数を積算して得られる値を閾値とし、前記閾値よりも大きい項を前記ピーク項として判断するよう構成されている請求項２に記載の情報推定装置。
【請求項４】
前記ピーク項が存在しないデータタイプであると判断された場合、前記推定信頼区間計算部は、前記一体化層への入力データの各ベクトル要素と前記重みとの積からなるすべての項の和を標本和として、前記一体化層からの出力データの各ベクトル要素の分布を計算するよう構成されている請求項２又は３に記載の情報推定装置。
【請求項５】
前記データ解析部は、前記他の項よりも逸脱して大きいピーク項が存在する場合には、所定の個数以下の前記ピーク項を抽出して、抽出されなかった残りの項がゼロとみなせるほど小さいか否かを更に判断した結果に基づいて、前記タイプを判断するよう構成されている請求項２又は３に記載の情報推定装置。
【請求項６】
前記ピーク項が存在し、かつ、前記抽出されなかった残りの項がゼロとみなせるほど小さいデータタイプであると判断された場合、前記推定信頼区間計算部は、前記ピーク項のみを使用して、前記一体化層からの出力データの各ベクトル要素の分布を計算するよう構成されている請求項５に記載の情報推定装置。
【請求項７】
前記ピーク項が存在し、かつ、前記抽出されなかった残りの項がゼロとみなせるほど小さくはないデータタイプであると判断された場合、前記推定信頼区間計算部は、前記ピーク項のみを使用した第１の分布を計算するとともに、前記ピーク項を除く残りの項の和を標本和とした第２の分布を計算し、前記第１の分布及び前記第２の分布の両方を組み合わせることで、前記一体化層からの出力データの各ベクトル要素の分布を計算するよう構成されている請求項５に記載の情報推定装置。
【請求項８】
前記一体化層からの出力データに含まれる多変量の混合分布において、前記多変量の混合分布に含まれる個々の分布に似ているものがある場合には、前記推定信頼区間計算部は、前記似ている分布同士を融合して１つの分布として処理するよう構成されている請求項１から７のいずれか１つに記載の情報推定装置。
【請求項９】
入力データの一部を欠損させるドロップアウト層と、重みの計算を行うＦＣ層との組み合わせからなる一体化層を持つよう構成されたニューラルネットワークを用いて推定処理を行う情報推定方法であって、
多変量分布からなる前記一体化層への入力データの各ベクトル要素と前記重みとの積からなる項の数値分布に基づいて、多変量分布からなる前記一体化層からの出力データの各ベクトル要素のデータタイプを判断するデータ解析ステップと、
前記データ解析部で判断された前記データタイプに対応付けられている近似計算方法を前記一体化層における計算に適用し、前記一体化層への入力データに基づいて、前記一体化層からの出力データの各ベクトル要素の分散値を解析的に計算する推定信頼区間計算ステップとを、
有する情報推定方法。
【請求項１０】
前記データ解析ステップにおいて、は、前記一体化層への入力データの各ベクトル要素と前記重みとの積からなる項に関して、他の項よりも逸脱して大きいピーク項が存在するか否かを判断した結果に基づいて、前記データタイプを判断する請求項９に記載の情報推定方法。
【請求項１１】
前記データ解析ステップにおいて、前記一体化層への入力データの各ベクトル要素と前記重みとの積からなるすべての項の標準偏差に対して所定の数を積算して得られる値を閾値とし、前記閾値よりも大きい項を前記ピーク項として判断する請求項１０に記載の情報推定方法。
【請求項１２】
前記ピーク項が存在しないデータタイプであると判断された場合、前記推定信頼区間計算ステップにおいて、前記一体化層への入力データの各ベクトル要素と前記重みとの積からなるすべての項の和を標本和として、前記一体化層からの出力データの各ベクトル要素の分布を計算する請求項１０又は１１に記載の情報推定方法。
【請求項１３】
前記データ解析ステップにおいて、前記他の項よりも逸脱して大きいピーク項が存在する場合には、所定の個数以下の前記ピーク項を抽出して、抽出されなかった残りの項がゼロとみなせるほど小さいか否かを更に判断した結果に基づいて、前記タイプを判断する請求項１０又は１１に記載の情報推定方法。
【請求項１４】
前記ピーク項が存在し、かつ、前記抽出されなかった残りの項がゼロとみなせるほど小さいデータタイプであると判断された場合、前記推定信頼区間計算ステップにおいて、前記ピーク項のみを使用して、前記一体化層からの出力データの各ベクトル要素の分布を計算する請求項１３に記載の情報推定方法。
【請求項１５】
前記ピーク項が存在し、かつ、前記抽出されなかった残りの項がゼロとみなせるほど小さくはないデータタイプであると判断された場合、前記推定信頼区間計算ステップにおいて、前記ピーク項のみを使用した第１の分布を計算するとともに、前記ピーク項を除く残りの項の和を標本和とした第２の分布を計算し、前記第１の分布及び前記第２の分布の両方を組み合わせることで、前記一体化層からの出力データの各ベクトル要素の分布を計算する請求項１３に記載の情報推定方法。
【請求項１６】
前記一体化層からの出力データに含まれる多変量の混合分布において、前記多変量の混合分布に含まれる個々の分布に似ているものがある場合には、前記推定信頼区間計算ステップは、前記似ている分布同士を融合して１つの分布として処理する請求項９から１５のいずれか１つに記載の情報推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークを用いた推定処理を行う情報推定装置及び情報推定方法に関する。特に、本発明は、ニューラルネットワークにドロップアウト層を設けることによって、推定結果に対する信頼区間を表す分散値を求める情報推定装置及び情報推定方法に関する。
【背景技術】
【０００２】
ニューラルネットワーク（ＮＮ： Neural Network）を用いた推定器は、他の推定器と比べ、画像やセンサー信号データなど、大量の情報を入力データとして処理し、推定を行うことができることから様々な分野への応用に期待されている。
【０００３】
ニューラルネットワークはデータを処理する層が配列された構造になっており、各層ではデータが入力されて、その層に設定された計算が行われた後に、処理後のデータが出力されるよう構成されている。具体的には、観測物からの入力データは、まずニューラルネットワークの入力層に入力されて処理が行われた後に出力され、その後、それぞれの層（中間層）に順番に入力データとして入力されて処理が行われた後に出力されながら、各層における処理が繰り返されて、ニューラルネットワーク内をデータが伝搬していく。そして、最後の層である出力層からデータが出力され、それが推定結果となる。なお、観測物からの入力データは、推定したい観測対象のｎ次元のベクトルデータであり、例えば、縦横１０ピクセルの白黒カメラ画像であれば、各ピクセルに対応した要素を持つ１０×１０＝１００次元（すなわち、ｎ＝１００）のベクトルデータとなる。
【０００４】
ニューラルネットワークの各層では、入力されるベクトルデータの次元数と、出力されるベクトルデータの次元数とが異なるように設定可能である。すなわち、ベクトルデータは各層を通るたびに、その次元数が増えたり減ったりする。また、出力層から出力されるベクトルデータの次元数は、設計者の推定させたい内容によって異なる。例えば、「速度」や「点数」という値を推定させたい場合は、出力層からの出力はｎ＝１次元のスカラーデータとなる。あるいは、入力画像から、その入力画像が「歩行者」、「自動車」、「自転車」のいずれであるかを分類させたい場合（すなわち、３クラスの分類をさせたい場合）には、出力層からの出力は、上記３クラスのうちのいずれに該当するのかを表す「点数」を格納する、ｎ＝３次元のベクトルデータとなる。
【０００５】
また、ニューラルネットワークを用いて推定処理を行う推定器で実行される処理として、学習フェーズと推定フェーズとが存在する。
【０００６】
学習フェーズでは、設計者は、学習データを使い、特定のパターンを持つ入力データに対し望むような特定の出力を出すよう、ニューラルネットワーク内のニューロンの重みを計算して学習させる。
【０００７】
推定フェーズでは、見たことのない新しいデータ、つまりテストデータを、学習フェーズで学習されたルールを持つニューラルネットワークに入力して推定させ、上手く学習ができていれば、学習した概念に従って推定結果を出す。
【０００８】
ニューラルネットワークを使用した従来の推定器が他のベイズ推定などの確率的手法を使った推定器と大きく異なる点としては、ニューラルネットワークでは推定結果が「値」として出力されるのみであり、いわば推定結果に対する、信頼区間を表す分散値が計算できないことが挙げられる。
【０００９】
ニューラルネットワークでは、信頼区間を表す分散値が計算できないため、閾値を設定してあるレベル以上の信頼できる推定結果のみを採用するなどの設定を行うことが困難であり、誤判定の可能性を多く含んでしまう可能性がある。例えば、自動車の周囲の状況を推定するなどのような、高い安全性が求められる環境下でニューラルネットワークを使用場合、その推定結果に誤判定が含まれている場合には、重大な事故につながってしまうおそれがある。
【００１０】
これに対し、下記の非特許文献１には、ニューラルネットワークにおいて、出力値とその分散値とを計算する方法が提案されている。以下、非特許文献１に開示されている計算方法について説明する。
【００１１】
非特許文献１における分散値の計算方法は、本来は学習時に過学習を防ぐために用いられるドロップアウト（ｄｒｏｐｏｕｔ）を推定時にも使用することで、推定結果の分散を計算するものである。ドロップアウトとは、例えば下記の特許文献１に開示されているように、ニューラルネットワークの層の中にドロップアウト層を設け、そのドロップアウト層に入力されるベクトルデータの各要素に対して独立に、設計者が事前に決めたある確率ｐｄｒｏｐでゼロにする手法である。
【００１２】
例えば、入力ベクトルデータが１００次元、すなわち１００個の要素からなる場合には、それぞれの要素に含まれる値に対して独立に、確率ｐｄｒｏｐでゼロにするかしないか（ゼロにしない場合には元の要素に含まれる値は変更されない）をそれぞれ判断する。結果的に、統計的には１００個の要素のうちの１００×ｐｄｒｏｐの個数の要素がゼロの値となる。すなわち、ドロップアウトでは、確率ｐｄｒｏｐに対応した個数の要素が欠損（ゼロに設定）した状態で計算処理を行う。
【００１３】
学習時には、確率ｐｄｒｏｐで要素が欠損した状態で計算された出力結果が、希望する正解データに対して差分が最小となるように重みを計算する。また、学習時には、この計算を何度も繰り返す。すなわち、ドロップアウト層に入力される別のベクトルデータの各要素に対して独立に、確率ｐｄｒｏｐでゼロにするかしないかを新たに判断し、別のベクトルデータに関し、確率ｐｄｒｏｐに対応した個数の要素が欠損した状態で計算処理を行って、希望する正解データに対して差分が最小となるように重みを計算する。このように入力されるベクトルデータに対してドロップアウトを使用した学習を繰り返すことによって、ベクトルデータのいかなる要素が欠損していても、同一の正解データを推定結果として出力できるように学習が行われる。
【００１４】
このドロップアウトを使用した計算方法は、従来、学習時のみに適用されていた。すなわち、従来は、学習時にはドロップアウトを使用することがあったが、推定時にはドロップアウトを使用することはなかった。
【００１５】
ところが、非特許文献１では、あえて、推定計算の場合にも、同一の対象物からの入力ベクトルデータに対し、ドロップアウトをさせたまま推定計算を何度も繰り返し行うことで、出力値とともに、その分散値を計算する手法が導入されている。非特許文献１では、このドロップアウトを使用した推定は、モンテカルロ（ＭＣ：Monte Carlo）ドロップアウトと呼ばれる。ドロップアウト層で確率ｐｄｒｏｐでゼロとなる入力ベクトルデータの要素群のパターンは、欠損により毎回推定計算するごとに異なるため、その後の層を通った最終的な推定結果も毎回異なる。なお、本明細書では、ベクトルデータが入力されるたびに、出力される推定結果が異なることを、推定結果が「揺れる」と表現することがある。
【００１６】
１回の計算で得られた出力値の様子を図１（ａ）に示し、何度も計算を繰り返して得られた出力値に関して分布が生じる様子を図１（ａ）に示す。図１（ａ）には、１回の計算によって得られた出力値が、グラフ（横軸は値を表す）上にプロットされた様子が示されている。また、図１（ｂ）には、複数回（ここでは１０回）の計算によって得られた出力値が、グラフ（横軸は値を表し、縦軸は模式的に度数を表す）上にプロットされた様子が示されている。
【００１７】
さらに、図１（ｂ）に示されている出力値の分布を値ごとに度数としてカウントし、ヒストグラムによって表現した様子を図１（ｃ）に示す。図１（ｃ）には、図１（ｂ）で表されている分布の様子が、出力値の大きさ（横軸）とその度数（縦軸）の関係を示すヒストグラムで表現されている。このように何度の試行を繰り返すことで、出力値の分布を得ることができ、図１（ｃ）には、統計処理によって得られる、推定値の確率密度分布のグラフ（図１（ｃ）中の点線で描かれたグラフ）、平均値、推定分散値も示されている。なお、本明細書では、このように何度も試行を繰り返して確率密度分布を得ることを、「モンテカルロ的に計算する」と表現することがある。
【００１８】
非特許文献１では、ＭＣ回計算を繰り返し、毎回変化する最終出力ベクトルデータの値をＭＣ個（〜２００個ほど）集め、以下の式によって、それらの値の分散値を計算している。この式によって得られる分散値は、入力データに対する不確からしさとして定義される。
【００１９】
【数１】
2018106463.tif 000003
【００２０】
上記の式において、ｘ＊が入力、ｙ＊が出力、Ｔが計算回数（すなわち、Ｔ＝ＭＣ）であり、左辺が出力ｙ＊の分散値である。上記の式のように、左辺（分散値）は、初期分散に関する定数項τ−１ＩＤ（右辺第１項）と、出力ｙ＊の分散値（右辺第２項）から出力y＊の平均の２乗（右辺第３項）を引いた値の和で表される。
【００２１】
この計算を直感的な表現で言えば、同一対象物に対するニューラルネットワークの推定値を何度も計算し、そのたびにドロップアウト層の入力ベクトルデータの値をランダムにゼロにして、ベクトルデータの要素群にランダムな欠損を作ることで、ドロップアウト層からの出力データを意図的に揺らすようにしている。このようにドロップアウト層からの出力データを意図的に揺らした場合であっても、出力層から出力される最終的な推定結果が揺れない場合、すなわち分散が小さい場合には、ニューラルネットワークはその推定値に対して信頼性が高いと考えることができる。一方、逆に出力層から出力される最終的な推定結果が大きく揺れる場合、すなわち分散が大きい場合には、ニューラルネットワークはその推定値に対して信頼性が低いと考えることができる。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】国際公開公報ＷＯ２０１４１０５８６６Ａ１
【非特許文献】
【００２３】
【非特許文献１】“Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning”, Yarin Gal, Zoubin Ghahramani：２０１５年６月６日（https://arxiv.org/pdf/1506.02142v1.pdfから取得可能）
【非特許文献２】“ON THE VARIANCE OF THE SAMPLE MEAN FROM FINITE POPULATION”, Syed Shakir Ali Ghazali, Journal of Scientific Research, Volume XXXIV No. 2：２００５年１０月
【発明の概要】
【発明が解決しようとする課題】
【００２４】
しかしながら、上述のように、ある１つの観測対象に対して分散値を得るためには、ニューラルネットワークのドロップアウト層以降の計算を繰り返し何度も行わなければならない。例えば、この計算回数はＭＣ回（〜２００回）ほど必要となる。計算回数を少なくした場合には、出力値の確率密度分布に関して滑らかな分布形状が得られず、正確に分散値を見積もることが困難である。一方、計算回数を多くするとより正確な分散値を見積もることが可能となるが、膨大な計算回数は、計算処理に時間及び手間がかかるため、実用上計算処理にとって大きな負担となるという課題がある。
【００２５】
上記の課題を解決するため、本発明は、膨大な回数の計算処理を行うことなく、推定結果に対する信頼区間である分散値を安定した状態で、かつ高速に計算することが可能な、ニューラルネットワークを用いて推定処理を行う情報推定装置及び情報推定方法を提供することを目的とする。
【課題を解決するための手段】
【００２６】
上記の目的を達成するため、本発明によれば、入力データの一部を欠損させるドロップアウト層と、重みの計算を行うＦＣ層との組み合わせからなる一体化層を持つよう構成されたニューラルネットワークを用いて推定処理を行う情報推定装置であって、
多変量分布からなる前記一体化層への入力データの各ベクトル要素と前記重みとの積からなる項の数値分布に基づいて、多変量分布からなる前記一体化層からの出力データの各ベクトル要素のデータタイプを判断するデータ解析部と、
前記データ解析部で判断された前記データタイプに対応付けられている近似計算方法を前記一体化層における計算に適用し、前記一体化層への入力データに基づいて、前記一体化層からの出力データの各ベクトル要素の分散値を解析的に計算する推定信頼区間計算部とを、
有する情報推定装置が提供される。
【００２７】
また、上記の目的を達成するため、本発明によれば、入力データの一部を欠損させるドロップアウト層と、重みの計算を行うＦＣ層との組み合わせからなる一体化層を持つよう構成されたニューラルネットワークを用いて推定処理を行う情報推定方法であって、
多変量分布からなる前記一体化層への入力データの各ベクトル要素と前記重みとの積からなる項の数値分布に基づいて、多変量分布からなる前記一体化層からの出力データの各ベクトル要素のデータタイプを判断するデータ解析ステップと、
前記データ解析部で判断された前記データタイプに対応付けられている近似計算方法を前記一体化層における計算に適用し、前記一体化層への入力データに基づいて、前記一体化層からの出力データの各ベクトル要素の分散値を解析的に計算する推定信頼区間計算ステップとを、
有する情報推定方法が提供される。
【発明の効果】
【００２８】
本発明は、ニューラルネットワークによる推定技術に関し、推定結果に対する信頼区間である分散値を安定した状態で、かつ高速に計算できるようになるという効果を有し、ニューラルネットワークによる推定結果に対する信頼性が迅速かつ容易に判断可能となる。また、信頼性に応じて推定結果を採用するか否かの判断や、他のベイズ推定などによる推定結果との融合を行うか否かの判断などが可能となり、ニューラルネットワークの適用範囲を大きく広げることができる。
【図面の簡単な説明】
【００２９】
【図１】ニューラルネットワークを使用した従来の推定器から得られる出力値を示すグラフであり、（ａ）は、１回の計算で得られた出力値の様子を示すグラフであり、（ｂ）は、複数回の計算で得られた出力値の様子を示すグラフであり、複数回の計算で得られた出力値のヒストグラムを示すグラフである。
【図２】本発明の実施の形態における情報推定装置の構成の一例を示すブロック図である。
【図３】（ａ）は、「タイプ２」の場合における、ｘｉｎＤＦｊＷｉ，ｊ項の値をインデックスｊごとにプロットして表現した一例を示す棒グラフであり、（ｂ）は、（ａ）に示す傾向を持つｘｉｎＤＦｊＷｉ，ｊ項の値から得られるｘｏｕｔＤＦｉの値が何度も計算された場合のｘｏｕｔＤＦｉの一例を示すヒストグラムである。
【図４】（ａ）は、「タイプ１」の場合（ピーク項が１個）における、ｘｉｎＤＦｊＷｉ，ｊ項の値をインデックスｊごとにプロットして表現した一例を示す棒グラフであり、（ｂ）は、（ａ）に示す傾向を持つｘｉｎＤＦｊＷｉ，ｊ項の値から得られるｘｏｕｔＤＦｉの値が何度も計算された場合のｘｏｕｔＤＦｉの一例を示すヒストグラムである。
【図５】（ａ）は、「混合タイプ」の場合（ピーク項が１個）における、ｘｉｎＤＦｊＷｉ，ｊ項の値をインデックスｊごとにプロットして表現した一例を示す棒グラフであり、（ｂ）は、（ａ）に示す傾向を持つｘｉｎＤＦｊＷｉ，ｊ項の値から得られるｘｏｕｔＤＦｉの値が何度も計算された場合のｘｏｕｔＤＦｉの一例を示すヒストグラムである。
【図６】（ａ）は、「タイプ１」の場合（ピーク項が２個）における、ｘｉｎＤＦｊＷｉ，ｊ項の値をインデックスｊごとにプロットして表現した一例を示す棒グラフであり、（ｂ）は、（ａ）に示す傾向を持つｘｉｎＤＦｊＷｉ，ｊ項の値から得られるｘｏｕｔＤＦｉの値が何度も計算された場合のｘｏｕｔＤＦｉの一例を示すヒストグラムである。
【図７】（ａ）は、「混合タイプ」の場合（ピーク項が２個）における、ｘｉｎＤＦｊＷｉ，ｊ項の値をインデックスｊごとにプロットして表現した一例を示す棒グラフであり、（ｂ）は、（ａ）に示す傾向を持つｘｉｎＤＦｊＷｉ，ｊ項の値から得られるｘｏｕｔＤＦｉの値が何度も計算された場合のｘｏｕｔＤＦｉの一例を示すヒストグラムである。
【図８Ａ】本発明の実施の形態における情報推定装置の処理の手順の一例を示すフローチャートである。
【図８Ｂ】図８ＡのステップＳ１４におけるデータ解析及び計算処理の手順の一例を示すフローチャートである。
【図８Ｃ】図８ＢのステップＳ１４３におけるタイプ判断及び計算処理の手順の一例を示すフローチャートである。
【図９】本発明の実施の形態に関連した実験に使ったニューラルネットワークの構造の一例を示す図である。
【図１０】（ａ）は、この実験結果及び従来の手法によって得られる結果を示すものであり、ニューラルネットワークによる関数を示すグラフの一例であり、（ｂ）は、この実験結果及び従来の手法によって得られる結果を示すものであり、一体化層の出力値ｘｏｕｔＤＦｉを何度も試行した場合の値を示すグラフである。
【発明を実施するための形態】
【００３０】
以下、図面を参照しながら、本発明の実施の形態について説明する。初めに、本発明の実施の形態を説明するために必要となる、ニューラルネットワークの各層における処理及び表記について説明する。
【００３１】
ニューラルネットワークは複数の層から構成される。各層においては、各層に入力される入力データに関し、各層に規定された計算処理を行い、その処理結果を出力データとして出力する。出力データは、次の層に供給されて次の層における入力データとなり、次の層においても同様に、その層に規定された計算処理を行って、その処理結果を出力データとして出力する。このように順次、各層における入力、計算処理、出力を繰り返すことで、ニューラルネットワーク内でデータが伝搬され、最終的に出力層から推定結果が出力される。
【００３２】
本明細書では、ニューラルネットワークの、ある層ｌに関して、層ｌへの入力データをｎＸｉｎｌ次元の確率変数ベクトルＸｉｎｌ、層ｌからの出力データをｎＸｏｕｔｌ次元の確率変数ベクトルＸｏｕｔｌとし、以下の式のように表記する。なお、明細書中の表記ｎＸｉｎｌは、ｎの下付き添字がＸｉｎｌであることを表し、明細書中の表記ｎＸｏｕｔｌは、ｎの下付き添字がＸｏｕｔｌであることを表す。
【００３３】
【数２】
2018106463.tif 000004
【００３４】
これらの確率変数ベクトルＸｉｎｌやＸｏｕｔｌは、任意の複雑な形状を持つ多変量分布の確率密度関数ＨｉｎｌやＨｏｕｔｌに従い、以下の式のように表される。
【００３５】
【数３】
2018106463.tif 000005
【００３６】
例えば、確率密度関数ＨｉｎｌやＨｏｕｔｌがガウス分布であれば、以下の式のように表すことができる。
【００３７】
【数４】
2018106463.tif 000006
【００３８】
μＸｉｎｌは平均を表すｎＸｉｎｌ次元ベクトルであり、ΣＸｉｎｌはｎＸｉｎｌ×ｎＸｉｎｌサイズの分散共分散行列となる。また、μＸｏｕｔｌは平均を表すｎＸｏｕｔｌ次元ベクトルであり、ΣＸｏｕｔｌはｎＸｏｕｔｌ×ｎＸｏｕｔｌサイズの分散共分散行列となる。なお、明細書中の表記μＸｉｎｌはμの下付き添字がＸｉｎｌであることを表し、明細書中の表記ΣＸｉｎｌはΣの下付き添字がＸｉｎｌであることを表し、明細書中の表記μＸｏｕｔｌはμの下付き添字がＸｏｕｔｌであることを表し、明細書中の表記ΣＸｏｕｔｌはΣの下付き添字がＸｏｕｔｌであることを表す。
【００３９】
さらに本発明では、全確率の法則（Law of total probability）を使い、以下の式のように、確率密度をＭ個の条件付き確率密度分布の混合で表現する。
【００４０】
【数５】
2018106463.tif 000007
【００４１】
なお、全ての条件の確率の和は当然１となり、以下の式のように表される。
【００４２】
【数６】
2018106463.tif 000008
【００４３】
一例として、多変量分布ＨｉｎｌやＨｏｕｔｌが、条件付き多変量ガウス分布Ｇａｕｓｓの混合であれば、以下の式のように記述される。
【００４４】
【数７】
2018106463.tif 000009
【００４５】
なお、ここで言う「多変量分布に従う確率変数」のデータＸｉｎｌやＸｏｕｔｌとは、あくまでも、「一般形で表されると」という意味である。すなわち、それは、データが『単』変量分布の場合は、ｎＸｉｎｌ＝１、ｎＸｏｕｔｌ＝１の１次元の変数にもなり得、また、分散共分散ΣＸｉｎｌ、ΣＸｏｕｔｌがゼロであれば、データは確率変数ではなく、固定値にもなり得るという意味を含む。
【００４６】
次に、この多変量分布のデータが、どのようにニューラルネットワークの各層で計算されるかについて簡単に説明する。以下、各層の処理について個別に説明する。
【００４７】
＜ドロップアウト層Ｄでの計算処理＞
ドロップアウト層Ｄでの計算処理について説明する。このドロップアウト層Ｄへの入力データをｎＸｉｎＤ次元の確率変数ベクトルＸｉｎＤ、このドロップアウト層Ｄからの出力データをｎＸｏｕｔＤ次元の確率変数ベクトルＸｏｕｔＤとする。なお、明細書中の表記ｎＸｉｎＤは、ｎの下付き添字がＸｉｎＤであることを表し、明細書中の表記ｎＸｏｕｔＤは、ｎの下付き添字がＸｏｕｔＤであることを表す。
【００４８】
ドロップアウトに関しては、指示関数ｚ＝｛０，１｝を使って表現する。ｚは以下のようにベルヌーイ分布に従う確率変数であり、ドロップアウトされる確率ｐｄｒｏｐでｚ＝０、ドロップアウトされない確率（１−ｐｄｒｏｐ）でｚ＝１となる。ｚは、入力データＸｉｎＤのそれぞれのｎＸｉｎＤ個の要素のそれぞれに積算され、それぞれ独立にｚ＝０又はｚ＝１に設定される。ドロップアウトされると全体の値の和が落ちるため、ある定数ｃをかけて、全体の値のスケールを上げる。
【００４９】
【数８】
2018106463.tif 000010
【００５０】
＜ＦＣ層（Fully Connected Layer）Ｆでの計算処理＞
ＦＣ層（Fully Connected Layer）Ｆでの計算処理について説明する。このＦＣ層Ｆへの入力データをｎＸｉｎＦ次元の確率変数ベクトルＸｉｎＦ、このＦＣ層Ｆからの出力データをｎＸｏｕｔＦ次元の確率変数ベクトルＸｏｕｔＦとする。なお、明細書中の表記ｎＸｉｎＦは、ｎの下付き添字がＸｉｎＦであることを表し、明細書中の表記ｎＸｏｕｔＦは、ｎの下付き添字がＸｏｕｔＦであることを表す。
【００５１】
また、ＦＣ層Ｆのパラメータを以下のように定義する。ＷＦ（サイズｎＸｏｕｔＦ×ｎＸｉｎＦ）は重みを表す行列であり、ｂＦ（サイズｎＸｏｕｔＦ×１）はバイアスを表すベクトルである。これらは、学習フェーズで既に最適な値が獲得されているとする。
【００５２】
このＦＣ層Ｆにおいて、ＸｉｎＦの入力データからＸｏｕｔＦの出力データを計算する処理は、以下の式を用いて行われる。
【００５３】
【数９】
2018106463.tif 000011
【００５４】
＜活性化層Ａでの計算処理＞
活性化層Ａでの計算処理について説明する。この活性化層Ａへの入力データをｎＸｉｎＡ次元の確率変数ベクトルＸｉｎＡ、この活性化層Ａからの出力データをｎＸｏｕｔＡ次元の確率変数ベクトルＸｏｕｔＡとする。また、ＦＣ層Ｆのパラメータを以下のように定義する。なお、明細書中の表記ｎＸｉｎＡは、ｎの下付き添字がＸｉｎＡであることを表し、明細書中の表記ｎＸｏｕｔＡは、ｎの下付き添字がＸｏｕｔＡであることを表す。
【００５５】
活性化関数は、シグモイド関数やRectified Linear Unit（ＲｅＬＵ）関数などであり、活性化関数を関数ｆとすると、活性化層Ａにおいて、ＸｉｎＡの入力データからＸｏｕｔＡの出力データを計算する処理は、以下の式を用いて行われる。
【００５６】
【数１０】
2018106463.tif 000012
【００５７】
＜ドロップアウト層Ｄ→ＦＣ層Ｆでの計算処理＞
多変量分布に従う確率変数である入力データが、前述したドロップアウト層Ｄを通り、あるＦＣ層Ｆに入り、最後に活性化層Ａを通る場合に、後述するように、本発明に特徴的な処理が行われる。以下、ドロップアウト層ＤとＦＣ層Ｆとが一体となった層（ドロップアウトを備えたＦＣ層Ｆ）を一体型層ＤＦとして考え、一体型層ＤＦにおける処理について説明する。
【００５８】
以下の式のように、一体型層ＤＦへの入力データをｎＸｉｎＤＦ次元の確率変数ベクトルＸｉｎＤＦ、この一体型層ＤＦからの出力データをｎＸｏｕｔＤＦ次元の確率変数ベクトルＸｏｕｔＤＦとする。なお、明細書中の表記ｎＸｉｎＤＦは、ｎの下付き添字がＸｉｎＤＦであることを表し、明細書中の表記ｎＸｏｕｔＤＦは、ｎの下付き添字がＸｏｕｔＤＦであることを表す。
【００５９】
【数１１】
2018106463.tif 000013
【００６０】
この一体型層ＤＦでは、ＸｉｎＤＦの入力データからＸｏｕｔＤＦの出力データを計算する処理において、一体型層ＤＦのドロップアウト層Ｄの部分における計算と、一体型層ＤＦのＦＣ層Ｆの部分における計算が行われる。すなわち、一体型層ＤＦでは、以下の式に従った計算が行われる。
【００６１】
【数１２】
2018106463.tif 000014
【００６２】
なお、簡略のため、ドロップアウトでのスケール調整において積算されるある定数Ｃは重みＷＤＦの中に組み込まれているとしても差し支えない。
【００６３】
とりわけ、ＸｏｕｔＤＦの中のｉ番目の要素ｘｏｕｔＤＦｉ（１≦ｉ≦ｎＸｏｕｔＤＦ）は、以下の式によって表される。
【００６４】
【数１３】
2018106463.tif 000015
【００６５】
それは、ｘｉｎＤＦｊｚｊＷｉ，ｊの項のリストの総和（１≦ｊ≦ｎＸｉｎＤＦ）と最後にバイアス項ｂｉを含んだ総和となる。そこには、２種類の確率変数ｘｉｎＤＦｊとｚｊとが含まれており、残りは固定値である。
【００６６】
確率変数ｘｉｎＤＦｊは入力データであり、この一体型層ＤＦ以前の層でのドロップアウトのベルヌーイ分布が変換されてきたものに由来し、前層の構造に応じて任意の分布を取る。一方、確率変数ｚｊは、まさにこの一体型層ＤＦでのドロップアウトによるものであり、ｚｊ＝｛０，１｝の確率ｐｄｒｏｐでｚｊ＝０となるベルヌーイ分布である。したがって、これらの２種類の確率変数は独立したものとなる。
【００６７】
ｘｏｕｔＤＦｉの値を計算しようとすると、ｎＸｉｎＤＦ個のｘｉｎＤＦｊｚｊＷｉ，ｊ項（１≦ｊ≦ｎＸｉｎＤＦ）があり、それぞれの項にあるｚｊが前述のように独立にｚｊ＝０か、ｚｊ＝１を取り得る、すなわち、個々のｎＸｉｎＤＦ個のｘｉｎＤＦｊＷｉ，ｊ項が総和に寄与するかしないかには膨大な数の分岐が存在するため、それらの項の和であるｘｏｕｔＤＦｉが取り得る値は、最大、２＾ｎＸｉｎＤＦ個（２のｎＸｉｎＤＦ乗個)のバリエーションがある。ドロップアウトをさせたまま、なんどもｘｏｕｔＤＦｉを計算させると、２＾ｎＸｉｎＤＦ種類の値を離散的にとびとびに飛んで揺れる分布になる。
【００６８】
一般的なニューラルネットワークでは、ニューロン数はｎＸｉｎＤＦ＝１０２４個程度とするため、２１０２４通りの総和を計算する必要があるが、この計算は処理が膨大すぎて実用的な時間内に行うことが不可能である。
【００６９】
これに対し、本発明は、このような膨大な回数の計算処理を行うことなく、解析的な手法を用いて計算処理を行うことで、従来では膨大な回数の計算処理によって得られていた分散値を、１回の計算処理で計算する技術を提案する。本発明では、ドロップアウトによって計算のたびに揺らぐ出力データの値を「確率変数」と捉え、その確率変数を生み出す元の「確率密度分布」を定めることで、その確率密度分布の分布形状が各層での計算処理でどう変化するのかを直接求めることが可能となる。そして出力層から出力されたデータの確率密度分布の分布形状を求めて、その分散を計算することで、推定結果に対する信頼区間、すなわち分散値を求めることが可能となる。
【００７０】
＜情報推定装置１０の構成＞
以下、図２を参照しながら、本発明の実施の形態における情報推定装置（ニューラルネットワークを用いて推定処理を行う推定器）の構成について説明する。図２は、本発明の実施の形態における情報推定装置の構成の一例を示すブロック図である。図２に示す情報推定装置１０は、推定信頼区間計算部２０、データ解析部３０を有する。情報推定装置１０は、ドロップアウト層を持つニューラルネットワークによる推定器であり、推定結果の値だけでなく、推定の値が取り得る分散値も求めることができる処理機能を有する。
【００７１】
なお、本発明の実施の形態において、装置構成の説明に用いられているブロック図は、本発明に関連した機能を表しているにすぎず、実際の実装では、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されてもよい。ソフトウェアで実装される機能は、１つ又は複数の命令若しくはコードとして任意のコンピュータ可読媒体に記憶され、これらの命令又はコードは、ＣＰＵ（Central Processing Unit：中央処理ユニット）などのハードウェアベースの処理ユニットによって実行可能である。また、本発明に関連した機能は、ＩＣ（Integrated Circuit：集積回路）やＩＣチップセットなどを含む様々なデバイスによって実現されてもよい。
【００７２】
推定信頼区間計算部２０は、従来のニューラルネットワークと同様に、各層において入力データの計算処理を行って推定結果を出力することに加えて、入力データがドロップアウトにより、どのような分布を持って各層を伝搬し出力されるのかについて、分布の形状を計算し、最終的な出力層から出力される分散値を信頼区間として計算するよう構成されている。最終的な出力層から出力される推定結果の分散が大きければ、その推定結果は大きく揺れる、つまり信頼性が低いとみなすことができ、一方、分散が小さければ、その推定結果の信頼性は高いとみなすことができる。推定信頼区間計算部２０は、特に、データ解析部３０により決定された近似計算方法に対応する近似計算（例えば、後述する「タイプ１」、「タイプ２」、「混合タイプ」のいずれかに対応する近似計算）を行い、データの分布形状を計算する機能を有する。
【００７３】
例えば、推定信頼区間計算部２０は、データ解析部３０で判断されたデータタイプに対応付けられている近似計算方法を一体化層ＤＦにおける計算に適用し、一体化層ＤＦへの入力データに基づいて、一体化層ＤＦからの出力データの各ベクトル要素の分散値を解析的に計算する処理を行うことが可能である。
【００７４】
データ解析部３０は、ニューラルネットワークの各層において計算処理が行われて出力されるデータに対し、その出力データがどのような特性を持っているのかを解析し、その分布を計算するための最適な近似計算方法を判断して（データタイプの判断）、推定信頼区間計算部２０へ伝えるよう構成されている。データ解析部３０は、特に、ニューラルネットワークのドロップアウト層ＤとＦＣ層Ｆとの組み合わせからなる一体型層ＤＦへの入力データを解析して、その入力データに最適な近似計算方法（例えば、後述する「タイプ１」、「タイプ２」、「混合タイプ」のいずれか）を推定信頼区間計算部２０へ通知する機能を有する。
【００７５】
例えば、データ解析部３０は、多変量分布からなる一体化層ＤＦへの入力データの各ベクトル要素と重みとの積からなる項の数値分布に基づいて、多変量分布からなる一体化層からの出力データの各ベクトル要素のデータタイプを判断する処理を行うことが可能である。
【００７６】
以下、推定信頼区間計算部２０及びデータ解析部３０における処理の詳細について説明する。
【００７７】
＜データ解析部３０における処理＞
まず、データ解析部３０における処理について説明する。上述のとおり、一体型層ＤＦでは、入力データであるＸｉｎＤＦに基づいて、出力データであるＸｏｕｔＤＦを計算する処理が行われ、ＸｏｕｔＤＦの中のｉ番目の要素ｘｏｕｔＤＦｉ（１≦ｉ≦ｎＸｏｕｔＤＦ）は、以下の式によって表される。
【００７８】
【数１４】
2018106463.tif 000016
【００７９】
データ解析部３０は、ＸｏｕｔＤＦの中のｉ番目の要素ｘｏｕｔＤＦｉに含まれるｎＸｉｎＤＦ個のｘｉｎＤＦｊｚｊＷｉ，ｊの項のうち、ｚｊを除いたｘｉｎＤＦｊＷｉ，ｊの項（１≦ｊ≦ｎＸｉｎＤＦ）の性質を解析する。
【００８０】
以下、図３〜図７を参照しながら、ＸｏｕｔＤＦの中のｉ番目の要素ｘｏｕｔＤＦｉに含まれるｘｉｎＤＦｊＷｉ，ｊ項（１≦ｊ≦ｎＸｉｎＤＦ）の性質について説明する。なお、図３〜図７のいずれにおいても、上側の棒グラフ（ａ）には、ｘｉｎＤＦｊＷｉ，ｊ項の値をインデックスｊごとにプロットして表現した状態が示されている。また、下側のヒストグラム（ｂ）には、（ａ）に示す傾向を持つｘｉｎＤＦｊＷｉ，ｊ項の値から得られるｘｏｕｔＤＦｉの値が何度も計算された場合に、確率変数ｚｊ＝｛０，１｝の変動によって揺れるｘｏｕｔＤＦｉの値の分布状態が示されている。すなわち、下側のヒストグラム（ｂ）は、ｘｏｕｔＤＦｉの計算を何度もモンテカルロ的に行った場合、どういう値が頻繁に出るのかを度数で表しており、このヒストグラムが、ｘｏｕｔＤＦｉの取り得る確率密度分布を表している。なお、図３〜図７のいずれにおいても、上側の棒グラフ（ａ）の横軸はインデックスｊ、縦軸はｘｉｎＤＦｊＷｉ，ｊ項の値を表し、下側のヒストグラム（ｂ）の横軸はｘｏｕｔＤＦｉの値、縦軸は度数を表している。
【００８１】
実際にはｘｉｎＤＦｊも別に独立した確率変数であるが、例えば、ｘｉｎＤＦｊをその平均値μｘｉｎＤＦｊで置き換え、ｘｉｎＤＦｊＷｉ，ｊ項の値をμｘｉｎＤＦｊＷｉ，ｊという固定値として取り扱うことも可能である。なお、明細書中の表記μｘｉｎＤＦｊは、μの下付き添字がｘｉｎＤＦｊであることを表す。
【００８２】
データ解析部３０では、それぞれのｎＸｉｎＤＦ個のｘｉｎＤＦｊＷｉ，ｊ項（１≦ｊ≦ｎＸｉｎＤＦ）の絶対値｜ｘｉｎＤＦｊＷｉ，ｊ｜を解析し、ある項の絶対値が他の項の絶対値より逸脱して大きな項がある場合、それを本発明ではピーク項と呼び、それ以外を非ピーク項と呼ぶ。例えば、データ解析部３０は、ｎＸｉｎＤＦ個全てのｘｉｎＤＦｊＷｉ，ｊ項(１≦ｊ≦ｎＸｉｎＤＦ）の標準偏差σμＷを計算し、そのσμＷに設計者が事前に設定した所定の数（比率Ｄｒａｔｉｏ）を積算した値σμＷＤｒａｔｉｏ以上のｘｉｎＤＦｊＷｉ，ｊ項を、逸脱したピーク項とみなす。例えば、ｘｉｎＤＦｊＷｉ，ｊ項の値をμｘｉｎＤＦｊＷｉ，ｊという固定値として取り扱った場合、逸脱したピーク項であるとみなされる条件は、以下の式によって表される。
【００８３】
【数１５】
2018106463.tif 000017
【００８４】
ｎＸｉｎＤＦ個のμｘｉｎＤＦｊＷｉ，ｊ項（１≦ｊ≦ｎＸｉｎＤＦ）の値のうち、この条件を満たすピーク項を全て計算する。そして、その中でも逸脱の大きいものを、事前に設計者が決めた所定の個数（例えば、数個あるいは５個）分だけをピークリストとして保存する。なお、所定の個数は、ピークリストとして保存されるピーク項の最大個数を表している。ピーク項は、多数存在する場合もあり、あるいは、ピーク項が少数又は存在しない場合もある。例えば、ピーク項の数が所定の個数よりも少ない場合には、所定の個数よりも少ない個数がピークリストとして保存され、ピーク項の数が所定の個数よりも多い場合には、逸脱の大きいものから順に所定の個数分だけを取り出して、ピークリストとして保存される。なお、以下では、ピークリストとして保存されたピーク項の個数をｎｐｅａｋ（ｎｐｅａｋ≪ｎＸｉｎＤＦ）とする。ｎｐｅａｋは、所定の個数（ピークリストとして保存されるピーク項の最大個数）以下の値を取る。また、ピーク項が存在しない場合には、後述のように「タイプ２」と判断され、ピークリストが保存される必要はない。
【００８５】
＜「タイプ１」と判断＞
データ解析部３０は、前述のピーク項が少数個（ｎｐｅａｋ個）あり、残りの他の（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項の値はゼロとみなせるほど小さい場合を「タイプ１」と判断する。ｘｉｎＤＦｊＷｉ，ｊ項の値のうちの少数個（ｎｐｅａｋ個）がδ関数のピークのように突き出しており、残りの他の（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項は何も無いような分布である。
【００８６】
この場合のｘｉｎＤＦｊＷｉ，ｊ項の値の状態を図４（ａ）及び図６（ａ）に示す。図４（ａ）では、ｘｉｎＤＦｊＷｉ，ｊ項のうちの１項（１個のピーク項）が大きな値を持ち、その他の項の値はゼロとみなせるほど小さい状態が示されている。また、図６（ａ）では、ｘｉｎＤＦｊＷｉ，ｊ項のうちの２項（２個のピーク項）が大きな値を持ち、その他の項の値はゼロとみなせるほど小さい状態が示されている。
【００８７】
ｘｏｕｔＤＦｉが「タイプ１」と判断された場合には、推定信頼区間計算部２０は、これらの逸脱したピーク項（すなわち、ｎｐｅａｋ個のｘｉｎＤＦｊＷｉ，ｊ項）のみを考慮し、残りの項はゼロと近似することで、２＾ｎＸｉｎＤＦ個の全ての分岐を考えず、これらのピーク項の２＾ｎｐｅａｋ個のみの組み合わせ分岐を考えて、ｘｏｕｔＤＦｉの分布を計算することができる。推定信頼区間計算部２０による「タイプ１」の場合の分布計算方法については後述する。
【００８８】
なお、残りの（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項がゼロとみなせるほど小さい状態か否かを判断する方法については様々な方法が存在し、特に限定されるものではない。一例としては、ｎｐｅａｋ個のピーク項を除く残りの（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項の分布に関する平均値及び分散値を求め、平均値が第１の所定値よりも低く（ゼロに近い状態）、かつ、分散値が第２の所定値よりも小さい（ばらつきが小さい状態）という条件を満たす場合に、ピーク項以外の残りの（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項がゼロとみなせるほど小さい状態であると判断することができる。また、この条件を満たさない場合には、ピーク項以外の残りの他の（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項はゼロとみなせるほど小さくない状態であると判断することができる。
【００８９】
＜「タイプ２」と判断＞
データ解析部３０は、前述のピーク項が無い場合を「タイプ２」と判断する。単純に言えば、全てのｘｉｎＤＦｊＷｉ，ｊの値が、それほど逸脱した値の無い同じような値を全体として連ねている場合（一様分布、ガウス分布など）である。
【００９０】
この場合のｘｉｎＤＦｊＷｉ，ｊ項の値の状態を図３（ａ）に示す。ｘｏｕｔＤＦｉが「タイプ２」と判断された場合には、中心極限定理が成り立つ。推測信頼区間計算部２０は、２＾ｎＸｉｎＤＦ個の分岐を考えなくても、統計的に全体としてその総和の分布はガウス分布として扱うことで、ｘｏｕｔＤＦｉの分布を計算することができる。推定信頼区間計算部２０による「タイプ２」の場合の分布計算方法については後述する。
【００９１】
＜「混合タイプ」と判断＞
実際には、図５（ａ）及び図７（ａ）に示すｘｉｎＤＦｊＷｉ，ｊ項の値の状態のように、上述した「タイプ１」の性質と「タイプ２」の性質が混ざっている場合が多い。すなわち、ピーク項のような逸脱した項があり、かつ、ピーク項以外の残りの他の（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項はゼロとみなせるほど小さくない場合である。
【００９２】
図５（ａ）では、ｘｉｎＤＦｊＷｉ，ｊ項のうちの１項（１個のピーク項）が大きな値を持ち、その他の項の値はゼロとみなせるほど小さくはない状態が示されている。また、図６（ａ）では、ｘｉｎＤＦｊＷｉ，ｊ項のうちの２項（２個のピーク項）が大きな値を持ち、その他の項の値はゼロとみなせるほど小さくはない状態が示されている。
【００９３】
この場合、データ解析部３０は、「タイプ１」と「タイプ２」とが混ざった「混合タイプ」と判断する。「混合タイプ」の場合には、推測信頼区間計算部２０は、まず「タイプ１」として捉えて得られるピーク項を取得し、それらの値を確率変数でなく、条件付き下での固定値（例えば、μｘｉｎＤＦｊＷｉ，ｊ）として取り扱い、ピーク項以外の残りの他の（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項に関しては、条件付き「タイプ２」として計算することができる。推定信頼区間計算部２０による「混合タイプ」の場合の分布計算方法については後述する。
【００９４】
次に、推定信頼区間計算部２０における処理について説明する。データ解析部３０での判断による「タイプ１」、「タイプ２」、「混合タイプ」のそれぞれの場合について、推定信頼区間計算部２０による分布計算方法について詳細を述べる。
【００９５】
＜「タイプ１」の場合の分布計算方法＞
まず、「タイプ１」の場合の分布計算方法について説明する。データ解析部３０において、一体型層ＤＦで計算されるＸｏｕｔＤＦの中のｉ番目の要素ｘｏｕｔＤＦｉに含まれるｘｉｎＤＦｊＷｉ，ｊ項の性質が「タイプ１」と判断された場合には、推定信頼区間計算部２０は、ピークリストとして保存されたｎｐｅａｋ個のピーク項のみを使用して、ｘｏｕｔＤＦｉの分布の計算を行う。
【００９６】
具体的にまず最も簡単な場合、つまり、ピーク項がｎｐｅａｋ＝１個のみの場合を考える。この場合、ｘｉｎＤＦｊＷｉ，ｊ項の値は、例えば図４（ａ）に示す状態となっている。
【００９７】
ｘｏｕｔＤＦｉの中のｊ＝ｐｅａｋｉ番目の項（１≦ｐｅａｋｉ≦ｎＸｉｎＤＦ）が逸脱しているとし、そのピーク項をｘｉｎＤＦｐｅａｋｉｚｐｅａｋｉＷｉ，ｐｅａｋｉと表すと、ｘｏｕｔＤＦｉは以下の式のように表される。なお、明細書中の表記ｘｉｎＤＦｐｅａｋｉは、ｘｉｎＤＦの下付き添字がｐｅａｋｉであることを表し、明細書中の表記ｚｐｅａｋｉは、ｚの下付き添字がｐｅａｋｉであることを表し、明細書中の表記Ｗｉ，ｐｅａｋｉは、Ｗの下付き添字がｉ，ｐｅａｋｉであることを表す。 
【００９８】
【数１６】
2018106463.tif 000018
【００９９】
これらの項のうち、ｚｊを除いたｘｉｎＤＦｊＷｉ，ｊ項について、例えば図４（ａ）に示すように、ｘｉｎＤＦｊＷｉ，ｊ項のうちの１項（ｊ＝ｐｅａｋｉ番目の項）が大きな値を持ち、その他の項の値はゼロとみなせるほど小さい場合には、ｘｏｕｔＤＦｉは以下の式によって表される。
【０１００】
【数１７】
2018106463.tif 000019
【０１０１】
確率変数ｚｐｅａｋｉ＝｛０，１｝であることから、ｘｏｕｔＤＦｉは、以下の式のような２通りの分岐からなる値になる。
【０１０２】
【数１８】
2018106463.tif 000020
【０１０３】
上記の式で表されるｘｏｕｔＤＦｉが従う確率密度関数は、δ関数を用い、さらにＸ＝ｘｏｕｔＤＦｉと簡略表記をした場合、以下の式によって表される。
【０１０４】
【数１９】
2018106463.tif 000021
【０１０５】
この確率密度関数の形状は、図４（ｂ）に示すようになる。これは、実際にモンテカルロ的にｘｏｕｔＤＦｉを何度も計算した結果の値のヒストグラムと同じ形状となる。
【０１０６】
なお、ピーク項が２個以上存在する場合も同様に、δ関数を用いて表すことが可能である。例えば図６（ａ）に示すように、ｘｉｎＤＦｊＷｉ，ｊ項のうちの２項（２個のピーク項）が大きな値を持ち、その他の項の値はゼロとみなせるほど小さい場合においては、ｘｏｕｔＤＦｉの確率密度関数の形状は、図６（ｂ）に示すようになる。この場合には、ピーク項が２個存在し、２個のピーク項のそれぞれが選択された場合／選択されなかった場合の２通りが考えられる。したがって、図６（ｂ）に示すように、ｘｏｕｔＤＦｉの確率密度関数は、２２＝４個のδ関数として計算され、これも、実際にモンテカルロ的にｘｏｕｔＤＦｉを何度も計算した結果の値のヒストグラムと同じ形状となる。
【０１０７】
＜「タイプ２」の場合の分布計算方法＞
次に、「タイプ２」の場合の分布計算方法について説明する。上述の場合と同様に、入力ＸｉｎＤＦに対する出力ＸｏｕｔＤＦに関して、ｉ番目の要素ｘｏｕｔＤＦｉは以下の式のように表される。
【０１０８】
【数２０】
2018106463.tif 000022
【０１０９】
「タイプ２」の場合、上記のｘｏｕｔＤＦｉの項のうち、ｚｊを除いたｘｉｎＤＦｊＷｉ，ｊ項は、ｘｉｎＤＦｊＷｉ，ｊ項の値の状態は、図３（ａ）に示す状態となっている。「タイプ２」では、ｘｉｎＤＦｊＷｉ，ｊがどれも似たような値のため、中心極限定理から、出力データのベクトルｘｏｕｔＤＦの各要素ｘｏｕｔＤＦｉ（１≦ｉ≦ｎＸｏｕｔＤＦ）の値が、確率変数ｚｊ＝｛０，１｝で揺れることで、ガウス分布が生じるとみなすことができる。これは、統計における「標本和の誤差の揺れ」として計算することができる。以下、「標本和の誤差の揺れ」とみなせることについて説明する。
【０１１０】
仮に、ｘｉｎＤＦｊを確率変数ではなくただの固定値μＸｉｎＤＦｉとする。ｚｊはベルヌーイ分布の確率変数で、前述のように確率ｐｄｒｏｐでｚｊ＝０、それ以外でｚｊ＝１となるということは、ｘｏｕｔＤＦｉの中のｘｉｎＤＦｊｚｊＷｉ，ｊ項の和の部分とは「Ｎ＝ｎｘｉｎＤＦ個のｘｉｎＤＦｊＷｉ，ｊ（１≦ｊ≦ｎＸｉｎＤＦ）項の集まりである母集団から、平均Ｍ＝Ｎ×（１−ｐｄｒｏｐ）個のｘｉｎＤＦｊＷｉ，ｊ項をサンプリングしたときのそれらの和」という標本和として考えることができる。
【０１１１】
したがって、ｘｏｕｔＤＦｉは、その和にバイアス項ｂｉを足した値となる。このサンプリングを何度も行うたびに、異なるｘｉｎＤＦｊＷｉ，ｊがＭ個選ばれ、その和であるｘｏｕｔＤＦｉの値がある分布関数をなしながら毎度変わる。それが「標本和の誤差の揺れ」である。
【０１１２】
そして、「タイプ２」の場合は、それぞれのｎＸｉｎＤＦ個のｘｉｎＤＦｊＷｉ，ｊ（１≦ｊ≦ｎＸｉｎＤＦ）項の中に逸脱したピーク項が無いということは、母集団であるｎＸｉｎＤＦ個のｘｉｎＤＦｊＷｉ，ｊ（１≦ｊ≦ｎＸｉｎＤＦ）項の値の分布の尖度、歪度が弱く、リャプノフの定理により中心極限定理が成り立つ。したがって、サンプリングするたびに揺れる和の値ｘｏｕｔＤＦｉは、ガウス分布とすることができ、図３（ｂ）に示すようになる。
【０１１３】
ｘｏｕｔＤＦｉの分布をガウス分布とみなせることが分かったので、その平均値Ｅ［ｘｏｕｔＤＦｉ]と分散値Ｖａｒ（ｘｏｕｔＤＦｉ）が分かれば、分布形状を特定できる。
【０１１４】
中心極限定理が成り立つ場合、一般的に、分散値は「標本和の誤差の分散」と呼ばれ、非特許文献２にあるように、以下の式によって解析的に計算することができる。
【０１１５】
【数２１】
2018106463.tif 000023
【０１１６】
ここでＶａｒｐｏｐｕｌａｔｉｏｎは、母集団ｎＸｉｎＤＦ個のｚｊ＝１としたｘｉｎＤＦｊＷｉ，ｊ（１≦ｊ≦ｎＸｉｎＤＦ）項の分散値となる。
【０１１７】
【数２２】
2018106463.tif 000024
【０１１８】
また、平均値μＤＦｉは、単純に以下のように求められる。
【０１１９】
【数２３】
2018106463.tif 000025
【０１２０】
そして、ｘｉｎＤＦｊは固定値μＸｉｎＤＦｊとしているので、平均値μＤＦｉは、以下の式によって計算することができる。
【０１２１】
【数２４】
2018106463.tif 000026
【０１２２】
一般的には、ｘｉｎＤＦｊは、μＸｉｎＤＦｊではなく、多変量分布の確率変数であるから、非特許文献２に記載されている式を更に拡張し、母集団の値も多変量分布に従う確率変数の場合での和の分散を以下の式のように表す。なお、この式の証明は、本明細書の末尾に添付する補足１にて説明する。また、共分散値の計算方法についても補足２にて説明する。
【０１２３】
【数２５】
2018106463.tif 000027
【０１２４】
この分散はガウス分布となっているので、データ出力値ｘｏｕｔＤＦｉの確率密度関数は、以下の式のように表される。
【０１２５】
【数２６】
2018106463.tif 000028
【０１２６】
本発明の実施の形態では、この中心極限定理が成り立つ場合が「タイプ２」であり、成り立たない場合を「タイプ１」と分けている。なお、「タイプ２」は、主にニューラルネットワークの最後の出力層に近くに位置する一体化層ＤＦへの入力データに見られる。
【０１２７】
＜「混合タイプ」の場合の分布計算方法＞
次に、「タイプ１」と「タイプ２」とが混ざった「混合タイプ」の場合の分布計算方法について説明する。
【０１２８】
実際には「タイプ１」と「タイプ２」が混ざった状態、つまり、ｚｊを除いたｘｉｎＤＦｊＷｉ，ｊ項のうち、その絶対値が他の値より逸脱して大きな値が少数個、すなわちｎｐｅａｋ個（ｎｐｅａｋ≪ｎｘｉｎＤＦ）あり、かつ、残りの他の（ｎＸｉｎＤＦ−ｎｐｅａｋ）個の項はゼロとみなせない場合がある。そのままでは、「タイプ１」のように２＾ｎＸｉｎＤＦ個から少数個だけを考えるわけにはいかず、「タイプ２」のようにｘｉｎＤＦｊｚｊＷｉ，ｊ項の和を、ガウス分布として包括的に捉えるわけにもいかない。
【０１２９】
この場合、本発明の実施の形態では、まず「タイプ１」として捉えてピーク項を抽出し、ピーク項の組み合わせに関して分岐で分け、それぞれの分岐の元で、条件付き「タイプ２」として計算する。以下、この計算について説明する。
【０１３０】
具体的にまず最も簡単な場合、つまり、ピーク項がｎｐｅａｋ＝１個のみの場合を考える。前述と同様に、以下のような出力データのベクトルｘｏｕｔＤＦのｉ番目の要素ｘｏｕｔＤＦｉについて考える。ｘｏｕｔＤＦｉは、以下の式によって表される。
【０１３１】
【数２７】
2018106463.tif 000029
【０１３２】
ここで、「タイプ１」の場合のように、ｘｏｕｔＤＦｉの中のｊ＝ｐｅａｋｉ番目の項（１≦ｐｅａｋｉ≦ｎＸｉｎＤＦ）のみが逸脱しているとし、その項をｘｉｎＤＦｐｅａｋｉｚｐｅａｋｉＷｉ，ｐｅａｋｉとする。これらの項の、ｚｊを除いたｘｉｎＤＦｊＷｉ，ｊ項の値は、例えば図５（ａ）に示す状態となっている。
【０１３３】
もし、このピーク項ｘｉｎＤＦｐｅａｋｉｚｐｅａｋｉＷｉ，ｐｅａｋｉが確率変数でなく固定値ならば、残りの項ｘｉｎＤＦｊｚｊＷｉ，ｊ（１≦ｊ，ｊ≠ｐｅａｋｉ≦ｎＸｉｎＤＦ）に関しては、「タイプ２」のように逸脱した値は無いとみなせる。
【０１３４】
それ故、逸脱したピーク項ｘｉｎＤＦｐｅａｋｉｚｐｅａｋｉＷｉ，ｐｅａｋｉに関して、「タイプ１」のときと同様、選ばれた場合（ｚｐｅａｋｉ＝１）と選ばれなかった場合（ｚｐｅａｋｉ＝０）に分けて考える。そして、それぞれの場合の下で、条件付き「タイプ２」を計算する。
【０１３５】
改めてｘｏｕｔＤＦｉの式について、以下の式のように、２つの部分に分けて書き直す。
【０１３６】
【数２８】
2018106463.tif 000030
【０１３７】
ｘＷＤＦｉは、ピーク項を除く、ｚｊ＝｛０，１｝によって変動する（ｎｘｉｎＤＦ−１）個のｘｉｎＤＦｊｚｊＷｉ，ｊ項の和の部分であり、確率変数である。一方、ｂｉａｓＤＦｉはピーク項とバイアス項であり、固定値である。
【０１３８】
ｚｐｅａｋｉ＝１のとき、つまり、ピーク項ｘｉｎＤＦｐｅａｋｉｚｐｅａｋｉＷｉ，ｐｅａｋｉが選ばれた場合、ｐ（ｚｐｅａｋｉ＝１）＝１−ｐｄｒｏｐとなり、上記の２つの部分は以下の式のようになる。
【０１３９】
【数２９】
2018106463.tif 000031
【０１４０】
これらは、前述の「タイプ２」と同様に、ある有限個のｘＷＤＦ項の母集団からサンプリングしてそれらの和を計算するというものである。この場合の母集団は、Ｎ＝（ｎｘｉｎＤＦ−１）個のｘｉｎＤＦｊＷｉ，ｊ項（１≦ｊ，ｊ≠ｐｅａｋｉ，ｊ≦ｎｘｉｎＤＦ−１）であり、その分散値をｖａｒｐｏｐｕｌａｔｉｏｎとする。そこから、平均Ｍ＝Ｎ（１−ｐｄｒｏｐ）−１個をサンプルする計算とみなせる。
【０１４１】
前述のように、その和の値ｘｏｕｔＤＦｉは、サンプリングするごとに、以下の式に示すように平均μ１ＤＦｉ、分散共分散Σ１ＤＦｉのガウス分布をなしながら値が揺れていく。
【０１４２】
【数３０】
2018106463.tif 000032
【０１４３】
ｚｐｅａｋｉ＝０のとき、つまりピーク項ｘｉｎＤＦｐｅａｋｉｚｐｅａｋｉＷｉ，ｐｅａｋｉが選ばれなかった場合、ｐ（ｚｐｅａｋｉ＝０）＝ｐｄｒｏｐとなり、上記の２つの部分は以下の式のようになる。
【０１４４】
【数３１】
2018106463.tif 000033
【０１４５】
同様に母集団は、Ｎ＝（ｎＸｉｎＤＦ−１）個の、ｘｉｎＤＦｊｚｊＷｉ，ｊ項 （１≦ｊ，ｊ≠ｐｅａｋｉ，ｊ≦ｎＸｉｎＤＦ−１）であり、その分散値をＶａｒｐｏｐｕｌａｔｉｏｎとする。そこから平均Ｍ＝Ｎ（１−ｐｄｒｏｐ）個のサンプリング計算とみなせ、その和の値ｘｏｕｔＤＦｉは、サンプリングするごとに以下の式に示すように平均μ０ＤＦｉ、分散共分散Σ０ＤＦｉのガウス分布をなしながら値が揺れていく。
【０１４６】
【数３２】
2018106463.tif 000034
【０１４７】
以上、これら２つの場合、ｚｐｅａｋｉ＝１のときもｚｐｅａｋｉ＝０のときも、ｘＷＤＦｉの部分はガウス分布であり、バイアス項ｂｉａｓＤＦｉが異なる。結果的には、ｘｏｕｔＤＦｉの値の確率密度関数は、Ｘ＝ｘｏｕｔＤＦｉと簡略に表記すると、以下の式のようになる。
【０１４８】
【数３３】
2018106463.tif 000035
【０１４９】
このガウス混合分布は、図５（ｂ）に示す状態となっている。
【０１５０】
なお、ピーク項が２個以上存在する場合も同様に計算でき、ｚｊを除いたｘｉｎＤＦｊＷｉ，ｊ項の値の状態を図７（ａ）に示し、この場合のｘｏｕｔＤＦｉの確率密度分布を図７（ｂ）に示す。
【０１５１】
以上のように、「タイプ１」と「タイプ２」とが混ざった「混合タイプ」の場合は、出力データの確率密度分布は、２の（ピーク項の数）乗個のガウス混合分布で表現される。
【０１５２】
改めて一般形で書くと、データｘｏｕｔＤＦｉにピーク項ｘｉｎＤＦｐｅａｋｉＷｉ，ｐｅａｋｉがｎｐｅａｋ個（ｎｐｅａｋ≪ｎｘｉｎＤＦ）ある場合、それぞれがドロップアウトされる（ｚｐｅａｋｉ＝０）かドロップアウトされない（ｚｐｅａｋｉ＝１）かの２通りに分かれるため、２＾ｎｐｅａｋ個通りの分岐条件ｃｏｎｋ（１≦ｋ≦２＾ｎｐｅａｋ個）がある。
【０１５３】
その結果、データＸ＝ｘｏｕｔＤＦｉは、以下の式のような条件付きのガウス混合分布による確率密度関数で表される。なお、明細書中の表記Ｘｃｏｎｋは、Ｘの下付き添字がｃｏｎｋであることを表す。
【０１５４】
【数３４】
2018106463.tif 000036
【０１５５】
当然、多層構造を持つニューラルネットワークの中で、データＸは、出力データが伝搬される後の各層で、これらそれぞれの条件別に分けた関数に対して、個別に処理が行わなければならない。さらに、一体化層ＦＣがあるたびに、これらの条件付きはさらに分岐して、個別に計算しなければならない関数は増えていく。ただ、ニューラルネットワークのドロップアウト層Ｄの個数は、１つのニューラルネットワーク内に３層以下であることがほとんどなので、本発明の実施の形態に記載した提案手法によって、実用的な計算処理が実現できると考えられる。
【０１５６】
＜活性化層Ａでの計算＞
また、活性化層Ａでは、入力データＸｉｎＡが、活性化関数ｆを通り、どのような出力データＸｏｕｔＡになるかを計算する。すなわち、活性化層Ａにおける処理では、以下の式による計算が行われる。
【０１５７】
【数３５】
2018106463.tif 000037
【０１５８】
入力データは多変量分布に従う確率変数であるが、活性化層Ａに供給された場合、非線形活性化関数ｆで歪んだ多変量分布になって出力される。通常、任意の複雑な関数が歪んでどのような関数になるのか計算するのは困難であるが、入力する関数がガウス分布やデルタ関数などの知られた関数であれば、数学的にある程度近似して求めることができる。そのためにも、本発明の実施の形態では、前述した、複数の「条件付き」の確率密度関数ＰＤＦ（Ｘｃｏｎｋ｜ｃｏｎｋ）の混合による表現にしておき、それぞれが、計算方法が既知であるガウス分布やデルタ関数で表現された状態にしておくことで、活性化関数ｆでの変形計算を行うことができるようになる。
【０１５９】
したがって、活性化層Ａでは、以下の式のように、それぞれの条件付きの確率密度関数で活性化関数ｆによる変換後のｆ（ＰＤＦ（Ｘｃｏｎｋ｜ｃｏｎｋ））さえ計算すればよい。
【０１６０】
【数３６】
2018106463.tif 000038
【０１６１】
もし、一体化層ＤＦの後の層に前述のような活性化層Ａが無く、単純な線形変換処理の層だけであるなら、混合分布を１つの２次モーメントまでの分布に近似することで、後の層で処理を行えるようにしてもよい。あるいは、混合ガウスのうちの一部のガウス関数同士が重なった場合（例えば、個々の分布が似ている場合）についても、１つのガウス関数にまとめるなどの高速化処理を行ってもよい。
【０１６２】
具体的には、多変量ガウスの混合分布が、以下の式のように表されるとする。
【０１６３】
【数３７】
2018106463.tif 000039
【０１６４】
ｋ１番目のガウス関数Ｇａｕｓｓ（Ｘｃｏｎｋ１｜ｃｏｎｋ１）と、ｋ２番目のガウス関数Ｇａｕｓｓ（Ｘｃｏｎｋ２｜ｃｏｎｋ２）に関して、それぞれの平均と分散の値が近い場合には、例えば、以下の式に示すように、１つのガウス関数Ｇａｕｓｓ（Ｘｃｏｎｋ＿１＿２｜ｃｏｎｋ＿１＿２）に融合させることで、混合分布の混合数を減らし、計算処理を軽くすることができる。なお、明細書中の表記Ｘｃｏｎｋ１は、Ｘの下付き添字がｃｏｎｋ１であることを表し、明細書中の表記Ｘｃｏｎｋ２は、Ｘの下付き添字がｃｏｎｋ２であることを表し、明細書中の表記Ｘｃｏｎｋ＿１＿２は、Ｘの下付き添字がｃｏｎｋ＿１＿２であることを表す。
【０１６５】
【数３８】
2018106463.tif 000040
【０１６６】
２つのガウス関数の融合は、例えば、以下のような計算処理で可能となる。融合前のガウス関数Ｇａｕｓｓ（Ｘｃｏｎｋ１｜ｃｏｎｋ１）の平均をμｋ１、偏差をσｋ１とし、ガウス関数Ｇａｕｓｓ（Ｘｃｏｎｋ２｜ｃｏｎｋ２）の平均をμｋ２、偏差をσｋ２とすると、融合後のガウス関数Ｇａｕｓｓ（Ｘｃｏｎｋ＿１＿２｜ｃｏｎｋ＿１＿２）の平均をμｋ＿１＿２、偏差をσｋ＿１＿２は、以下の式のように計算することができる。
【０１６７】
【数３９】
2018106463.tif 000041
【０１６８】
いずれにせよ、最終的には、ニューラルネットワークの出力層から出力されるデータの混合多変量分布を、１つの分布関数に２次モーメントまで近似し、その分散値を計算し、最終的な推定出力結果の信頼区間とすることができる。
【０１６９】
＜情報推定装置１０における処理フロー＞
以下、図８Ａ〜図８Ｃを参照しながら、上述した情報推定装置１０における処理の手順について説明する。基本的な処理の流れは、以下のとおりである。推定信頼区間計算部２０が入力データを受け取り、ニューラルネットワークの各層で計算を行うとともに、データが供給された層がドロップアウトを備えたＦＣ層（一体化層ＤＦ）である場合には、データ解析部３０において、入力データがどのタイプに分類できるかを解析する。そして、データ解析部３０によって判断されたタイプに応じた計算処理を行い、データを条件付き多変量分布として、推定結果とともに信頼区間を表す分散値を求める。
【０１７０】
図８Ａは、本発明の実施の形態における情報推定装置の処理の手順の一例を示すフローチャートである。
【０１７１】
ニューラルネットワークへの入力データは、情報推定装置１０の推定信頼区間計算部２０に入力される（ステップＳ１１）。推定信頼区間計算部２０は、ニューラルネットワークを構成する複数の層順に処理を行うよう構成されており、入力データは、ニューラルネットワークにおける処理を開始するために、最初の層である入力層に入力される（ステップＳ１２）。
【０１７２】
入力データが供給された層がドロップアウトを備えたＦＣ層（一体化層ＤＦ）である場合には、推定信頼区間計算部２０が、データ解析部３０と協働してデータ解析及び計算処理を行う（ステップＳ１４）。なお、このステップＳ１４における処理については、図８Ｂ及び図８Ｃを参照して後述する。一方、データが入力された層がドロップアウトを備えたＦＣ層ではない場合には、推定信頼区間計算部２０は、その層に定められた計算処理を行う（ステップＳ１５）。
【０１７３】
ステップＳ１４又はステップＳ１５における計算処理が完了すると、計算処理後の出力データは次の層へ供給され、次の層における入力データとして扱われる（ステップＳ１６）。次の層が最後の出力層である場合（ステップＳ１７で「はい」）には、条件付きに分けられた多変量分布の分散を１つにまとめた分散として計算し、出力層から出力される（ステップＳ１８）。一方、次の層が最後の出力層ではない場合（ステップＳ１７で「いいえ」）には、上述のステップＳ１３に戻り、次の層において計算処理を再び行う。
【０１７４】
次に、図８Ｂを参照しながら、図８ＡのステップＳ１４におけるデータ解析及び計算処理について説明する。図８Ｂは、図８ＡのステップＳ１４におけるデータ解析及び計算処理の手順の一例を示すフローチャートである。
【０１７５】
図８Ｂに示すデータ解析及び計算処理は、入力データがドロップアウトを備えたＦＣ層に供給された場合に実行される。推定信頼区間計算部２０は、まず、一体化層ＤＦへの入力データＸｉｎＤＦを取得する（ステップＳ１４１）。なお、ここでは、一体化層ＤＦにおいて、重みＷＤＦ、バイアスｂＤＦが設定されているとする。
【０１７６】
そして、推定信頼区間計算部２０及びデータ解析部３０は、上述したように入力データＸｉｎＤＦ、重みＷＤＦ、バイアスｂＤＦを用いて計算される出力データのベクトルＸｏｕｔＤＦのｉ番目の要素ｘｏｕｔＤＦｉに関して、ｉ＝１からｉ＝ｎＸｏｕｔＤＦまでの各要素（すなわち、１行目からｎＸｏｕｔＤＦ行目までのすべての行）に関して、タイプ判断及び計算処理を行う。すなわち、推定信頼区間計算部２０及びデータ解析部３０は、まずｉ＝１に設定して（ステップＳ１４２）、ｎＸｏｕｔＤＦ個のうちのｉ番目の出力データｘｏｕｔＤＦｉのタイプ判断及び計算処理を行う（ステップＳ１４３）。なお、このステップＳ１４３におけるタイプ判断及び計算処理については、図８Ｃを参照して後述する。
【０１７７】
ステップＳ１４３におけるタイプ判断及び計算処理が完了すると、処理対象のｘｏｕｔＤＦｉが最終行（すなわち、ｉ＝ｎＸｏｕｔＤＦ番目）の場合（ステップＳ１４４で「はい」）の場合には、データ解析及び計算処理は終了となる。一方、処理対象のｘｏｕｔＤＦｉが最終行（すなわち、ｉ＝ｎＸｏｕｔＤＦ番目）ではない場合（ステップＳ１４４で「いいえ」）には、ｉをインクリメント（すなわち、ｉ＝ｉ＋１）して（ステップＳ１４５）、上述のステップＳ１４３に戻り、次の行のｘｏｕｔＤＦｉに関して、タイプ判断及び計算処理を再び行う。
【０１７８】
次に、図８Ｃを参照しながら、図８ＢのステップＳ１４３におけるタイプ判断及び計算処理について説明する。図８Ｃは、図８ＢのステップＳ１４３におけるタイプ判断及び計算処理の手順の一例を示すフローチャートである。図８Ｃでは、特定のｉ番目の要素ｘｏｕｔＤＦｉに対する計算処理が行われる。
【０１７９】
図８Ｃにおいて、データ解析部３０は、まずｎＸｏｕｔＤＦ個のうちのｉ番目の出力データｘｏｕｔＤＦｉを計算する（ステップＳ１４３１）。ｎＸｉｎＤＦ個のｘｉｎＤＦｊＷｉ，ｊ項に関して、例えば確率変数ｘｉｎＤＦｊをその平均値μｘｉｎＤＦｊとして考え、μｘｉｎＤＦｊＷｉ，ｊを計算する（ステップＳ１４３２）。さらに、ｎＸｉｎＤＦ個のｘｉｎＤＦｊＷｉ，ｊ項の標準偏差σμＷを計算する（ステップＳ１４３３）。そして、ｎＸｉｎＤＦ個のμｘｉｎＤＦｊＷｉ，ｊ項のうち、絶対値｜μｘｉｎＤＦｊＷｉ，ｊ｜≧σμＷＤｒａｔｉｏを満たす全ての項を取り出し、その絶対値｜μｘｉｎＤＦｊＷｉ，ｊ｜を大きい順に並べる（ステップＳ１４３４）。
【０１８０】
このとき、｜μｘｉｎＤＦｊＷｉ，ｊ｜≧σμＷＤｒａｔｉｏを満たす項が存在しない場合（ステップＳ１４３５で「いいえ」）には、データ解析部３０は、このｉ番目の要素ｘｏｕｔＤＦｉを上述の「タイプ２」と判断し、推定信頼区間計算部２０は、「タイプ２」の場合の分布計算方法を適用して計算処理を行う（ステップＳ１４３６）。ステップＳ１４３６における「タイプ２」の計算処理は、上述のとおりであり、ｎＸｉｎＤＦ個全てのｘｉｎＤＦｊＷｉ，ｊ項に関して、多変量標本誤差和の計算が行われる。
【０１８１】
一方、｜μｘｉｎＤＦｊＷｉ，ｊ｜≧σμＷＤｒａｔｉｏを満たす項が存在する場合（ステップＳ１４３５で「はい」）には、｜μｘｉｎＤＦｊＷｉ，ｊ｜を大きいものから順に所定の個数（ｎｐｅａｋ個）取り出してピークリストとして保存する（ステップＳ１４３７）。そして、データ解析部３０は、ピークリストとして保存されたピーク項以外の残りの項がゼロとみなせるほど小さいか否かを判断する（ステップＳ１４３８）。
【０１８２】
残りの項がゼロとみなせるほど小さい場合には、（ステップＳ１４３８で「はい」）には、データ解析部３０は、このｉ番目の要素ｘｏｕｔＤＦｉを上述の「タイプ１」と判断し、推定信頼区間計算部２０は、「タイプ１」の場合の分布計算方法を適用して計算処理を行う（ステップＳ１４３９）。ステップＳ１４３９における「タイプ１」の計算処理は、上述のとおりであり、例えばピークリストとして保存されている最大ｎｐｅａｋ個のμＸｉｎＤＦｊＷｉ，ｊ項のそれぞれに対し、ドロップアウトで選択された場合／選択されなかった場合の最大２＾ｎｐｅａｋとおり全ての場合を考慮した計算が行われる。
【０１８３】
一方、残りの項がゼロとみなせるほど小さくはない場合には、（ステップＳ１４３８で「いいえ」）には、データ解析部３０は、このｉ番目の要素ｘｏｕｔＤＦｉを上述の「混合タイプ」と判断し、推定信頼区間計算部２０は、「混合タイプ」の場合の分布計算方法を適用して計算処理を行う（ステップＳ１４４０）。ステップＳ１４４０における「混合タイプ」の計算処理は、上述のとおりであり、例えばピークリストとして保存されている最大ｎｐｅａｋ個のμＸｉｎＤＦｊＷｉ，ｊ項のそれぞれに対し、ドロップアウトで選択された場合／選択されなかった場合の最大２＾ｎｐｅａｋとおり全ての場合を考慮した計算が行われ、さらに、残りの全てのｘｉｎＤＦｊＷｉ，ｊ項に関して、多変量標本誤差和の計算が行われる。
【０１８４】
＜実験結果＞
次に、上述した本発明の実施の形態における提案手法を用いて実施された実験について説明する。図９に、実験に使ったニューラルネットワークの構造を示す。このニューラルネットワークは、スカラーの値ｘを入力とし、出力層においてもスカラーの値ｙを出力するという単純なある関数ｙ＝Ｇ（ｘ）を学習する回帰問題である。このニューラルネットワークは、複数のＦＣ層Ｆ（ＲｅＬＵ関数による計算処理を含む）と、ドロップアウト層Ｄ（ｐｄｒｏｐ＝０．４に設定）及びＦＣ層Ｆにより構成されており、ＦＣ層のニューロン数を２＾１０＝１０２４個としている。
【０１８５】
また、図１０には、本発明の実施の形態における提案手法を用いて実施された実験の結果を示す。図１０（ａ）は、この実験結果及び従来の手法によって得られる結果を示すものであり、ニューラルネットワークによる関数を示すグラフの一例である。図１０（ａ）には、ある範囲のｘに対して、その関数Ｇ（ｘ）の出力値ｙの推定結果を示し、さらに、非特許文献１に開示されている従来例の手法（試行回数ＭＣ＝４０回）で計算した推定値の分散値の平方根（標準偏差σ）を帯のようにして示す。また、図１０（ｂ）は、この実験結果及び従来の手法によって得られる結果を示すものであり、一体化層の出力値ｘｏｕｔＤＦｉを何度も試行した場合の値を示すグラフである。図１０（ｂ）には、同一の範囲のｘに対して、図１０（ａ）に示した分散値の平方根と、本発明の実施の形態における提案手法により計算した分散値の平方根を示す。
【０１８６】
従来例の手法では、すべての入力ｘごとに、それぞれＭＣ回の推定計算を実施して算出したｙの値の揺れを分散値として出すため、分散値が不安定である。一方、本発明の実施の形態における提案手法では、この分散を解析的に求めているため、安定した滑らかな分散値を得ることができる。
【０１８７】
＜補足１：母集団が確率変数である場合の、標本平均誤差の分散値の計算＞
母集団ｙｉ（１≦ｉ≦Ｎ）が、以下の式に示すように、Ｎ次元の多変量ガウス分布に従う確率変数とする。なお、μｙは平均値を意味するＮ次元ベクトル、ΣｙはＮ×Ｎの分散共分散行列である。
【０１８８】
【数４０】
2018106463.tif 000042
【０１８９】
その中からｎ個標本した場合の標本平均誤差の分散を求める。
ａｉとａｊ（ｉ≠ｊ）は相関あり（Ｎが大きい場合は独立としてもかまわない）。
ｙｉとｙｊ（ｉ≠ｊ）は相関あり。
ａｉとｙｊは独立。
標本平均誤差の分散は、以下の式のように表される。
【０１９０】
【数４１】
2018106463.tif 000043
【０１９１】
ｙｉは確率変数なので分散Ｖａｒ、共分散Ｃｏｖの外には出せない。ａｉとｙｉは独立であるから、以下の式が成り立つ。
【０１９２】
【数４２】
2018106463.tif 000044
【０１９３】
よって、確率変数となったｙｉは、期待値Ｅで表現される。先ほどと同様に、以下の式を使用する。
【０１９４】
【数４３】
2018106463.tif 000045
【０１９５】
標本平均誤差の分散の１つ目の項の一部は、以下の式のように表される。
【０１９６】
【数４４】
2018106463.tif 000046
【０１９７】
また、以下の関係式が成り立つ。
【０１９８】
【数４５】
2018106463.tif 000047
【０１９９】
この関係式を用いて、標本平均誤差の分散の２つ目の項の一部は、以下の式のように表される。
【０２００】
【数４６】
2018106463.tif 000048
【０２０１】
確率変数となったｙｉの平均はＥ（ｙｉ）である。これはインデックスｉに関する値であり、全てのインデックスに関しての平均、すなわち、平均の平均は以下の式のようになる。
【０２０２】
【数４７】
2018106463.tif 000049
【０２０３】
上記の２つの部分を合わせて、標本平均誤差の分散は、以下の式のように表すことができる。
【０２０４】
【数４８】
2018106463.tif 000050
【０２０５】
標本集団の和の分散は、ｙｉの期待値Ｅを使い、以下の数式１となる。
【０２０６】
【数４９】
2018106463.tif 000051
【０２０７】
以上、これで構わないが、数式１は母集団データｙｉ（１≦ｉ≦Ｎ）の期待値Ｅで表されているので使いにくく、確率変数となった母集団データ個々の値ｙｉの分散Ｖａｒ（ｙｉ）、共分散Ｃｏｖ（ｙｉ，ｙｊ）で表したい。さらに、母集団データｙｉは確率変数であるが、仮にそれが固定値だったとした場合（平均値Ｅ（ｙｉ）を採用する）、以下の式で表される、それらの全体としての分散値Ｖａｒｐｏｐｕｌａｔｉｏｎ（ｙ）も利用したい。
【０２０８】
【数５０】
2018106463.tif 000052
【０２０９】
そこで、標本集団の和の分散を、これらの要望を考え、Ｖａｒｐｏｐｕｌａｔｉｏｎ（ｙ）と、確率変数である母集団データの分散Ｖａｒ（ｙｉ）、共分散Ｃｏｖ（ｙｉ，ｙｊ）で表現する。それは、以下の式となり、これが、数式１と同等であることを今から証明する。
【０２１０】
【数５１】
2018106463.tif 000053
【０２１１】
まず、以下の式を用いて変形する。
【０２１２】
【数５２】
2018106463.tif 000054
【０２１３】
【数５３】
2018106463.tif 000055
【０２１４】
次に、以下の式を用いて変形する。
【０２１５】
【数５４】
2018106463.tif 000056
【０２１６】
【数５５】
2018106463.tif 000057
【０２１７】
さらに、以下の式を用いて変形する。
【０２１８】
【数５６】
2018106463.tif 000058
【０２１９】
【数５７】
2018106463.tif 000059
【０２２０】
上記の式の第１項及び第２項の係数は、以下のようになる。
【０２２１】
【数５８】
2018106463.tif 000060
【０２２２】
以上を使うと、以下の式のように変形される。
【０２２３】
【数５９】
2018106463.tif 000061
【０２２４】
この式は、先ほど計算した数式１の標本集団の和の分散であり、以下の関係が成り立つ。
【０２２５】
【数６０】
2018106463.tif 000062
【０２２６】
結論として再度まとめると、Ｎ個の有限母集団データｙｉ（１≦i≦Ｎ）があり、かつ、これらのデータｙｉは固定値ではなく、以下のように、Ｎ次元の多変量ガウス分布に従う確率変数であるとする。なお、μｙは平均値を意味するＮ次元ベクトル、ΣｙはＮ×Ｎの分散共分散行列である。
【０２２７】
【数６１】
2018106463.tif 000063
【０２２８】
このとき、これらＮ個の確率変数の母集団からｎ個をサンプリングする場合の標本和の誤差の分散値は、以下の式のようになる。
【０２２９】
【数６２】
2018106463.tif 000064
【０２３０】
ただし、分散Ｖａｒ（ｙｉ）、共分散Ｃｏｖ（ｙｉ，ｙｊ）は、分散共分散行列から得られる、確率変数の母集団の分散共分散である。また、分散値Ｖａｒｐｏｐｕｌａｔｉｏｎ（ｙ）は、それぞれの母集団が確率変数でなかった場合（値は平均値Ｅ（ｙｉ）とする）の標本和の誤差の分散値とし、以下の式のように表される。
【０２３１】
【数６３】
2018106463.tif 000065
【０２３２】
＜補足２：標本平均誤差の共分散値の計算＞
共分散は、分散値と同様に計算することができる。２つの母集団Ｙ１とＹ２が、以下の式のようにＮ次元の多変量ガウス分布に従う確率変数とする。なお、μ１ｙ、μ２ｙは平均値を意味するＮ次元ベクトル、Σ１ｙ、Σ２ｙはＮ×Ｎの分散共分散行列である。
【０２３３】
【数６４】
2018106463.tif 000066
【０２３４】
その中からインデックスｉが、Ｙ１とＹ２で連動した状態で（すなわちｙ１ｉが標本された場合、ｙ２ｉも標本される）、ｎ個標本した場合の標本平均誤差の共分散ｃｏｖ（Ｙ１，Ｙ２）を求める。
【０２３５】
共分散は、以下の公式を使い、分散で表現できる。
【０２３６】
【数６５】
2018106463.tif 000067
【０２３７】
Ｖａｒ（Ｙ１）、Ｖａｒ（Ｙ２）は、それぞれ母集団Ｙ１、Ｙ２に対する前述の標本平均誤差の分散値であるため計算できる。
【０２３８】
Ｖａｒ（Ｙ１＋Ｙ２）は、母集団Ｙ１、Ｙ２のそれぞれの項が足し合わされた、以下に表現される新たな母集団Ｙ１＋Ｙ２からの標本平均誤差の分散値である。
【０２３９】
【数６６】
2018106463.tif 000068
【０２４０】
この母集団からの平均誤差分散も、それぞれの項を、ｙ＿１＿２ｉ＝ｙ１ｉ＋ｙ２ｉのように１つの項ｙ＿１＿２ｉとみなせば、前述の方法で分散値は計算できる。
【産業上の利用可能性】
【０２４１】
本発明は、ニューラルネットワークを使った推定装置において、その推定結果に対する信頼区間である分散値を安定した状態で、かつ高速に計算することが可能であり、ニューラルネットワークにかかる技術全般に適用可能である。さらに、本発明は、ニューラルネットワークの適用範囲を大きく広げることが可能であり、例えば、自動車や歩行者などの移動体に係る推定など、高速で信頼のできる処理が必要とされる環境で大いにその機能が発揮することが可能である。
【符号の説明】
【０２４２】
１０  情報推定装置
２０  推定信頼区間計算部
３０  データ解析部
【図１】
2018106463.tif 000069
【図２】
2018106463.tif 000070
【図３】
2018106463.tif 000071
【図４】
2018106463.tif 000072
【図５】
2018106463.tif 000073
【図６】
2018106463.tif 000074
【図７】
2018106463.tif 000075
【図８Ａ】
2018106463.tif 000076
【図８Ｂ】
2018106463.tif 000077
【図８Ｃ】
2018106463.tif 000078
【図９】
2018106463.tif 000079
【図１０】
2018106463.tif 000080