(57)【要約】【課題】ニューラルネットワークを使った推定技術において、確率的要素を備えた新たなオートエンコーダを実現する。【解決手段】ニューラルネットワークを利用するエンコーダ及びデコーダにより構成されたオートエンコーダを備えた情報推定装置において、エンコーダの最終層として、入力データの一部をドロップアウトさせるドロップアウト層と重みの計算を行う全結合層（ＦＣ層）との組み合わせからなる少なくとも１つの一体化層を設ける。これにより、エンコーダからの出力値である潜在空間での出力値（潜在変数）が多次元確率変数ベクトルとなり、潜在空間における次元数（ニューロンの数）の増加を抑えながら、潜在空間における確率分布に関するパラメータを計算できるようになるとともに、潜在空間における確率分布の形状を解析的な計算によって推測できるようになる。【選択図】図２
2019139482.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークを使用して推定処理を行う情報推定装置であって、
エンコーダ及びデコーダにより構成されたオートエンコーダを備え、前記オートエンコーダに入力された入力データに基づいて前記エンコーダ及び前記デコーダで順次計算処理を行い、前記推定処理の結果として前記オートエンコーダから出力データを出力するよう構成されているオートエンコーダ計算部を有し、
データの一部をドロップアウトさせるドロップアウト層と、前記ドロップアウト層から出力されたデータに対して重みの計算を行う全結合層との組み合わせからなる少なくとも１つの一体化層を、前記エンコーダの最終層として設けることで、前記エンコーダからの出力値である潜在空間での出力値が多次元確率変数ベクトルとなるように構成されている情報推定装置。
【請求項２】
前記オートエンコーダ計算部は、前記ドロップアウト層において、あらかじめ定められたドロップアウト率に従って前記一体化層に入力されるデータの一部をドロップアウトさせるとともに、前記全結合層において、前記ドロップアウト層から出力されたデータのベクトルの値に重みの行列を掛けた項のリストの和にバイアスを加えた値を計算するよう構成されており、
前記リストに含まれる各項のうちの一部が、前記ドロップアウト率に従ってゼロとなる請求項１に記載の情報推定装置。
【請求項３】
前記一体化層に入力される前記データ、前記ドロップアウト率、前記重み、前記バイアスに基づいて、前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布の平均値、分散値、共分散値を計算するエンコーダ出力分布形状計算部を有する請求項２に記載の情報推定装置。
【請求項４】
エンコーダ出力分布形状計算部は、
前記リストに含まれる各項の和にドロップアウトされずに残る比率を掛けて、さらにバイアスを加えることで、前記リストの和が従う分布の平均値を計算し、
前記リストの分散値を計算して標本平均の分散値計算を行うことで、前記リストの和が従う分布の分散値を計算し、
前記リストの和が従う分布の前記分散値から、前記リストの和のある２つの要素の相関を示す共分散値を計算し、
前記平均値、前記分散値、前記共分散値から、前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布の形状を解析的に計算するよう構成されている請求項３に記載の情報推定装置。
【請求項５】
前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布が事前分布と同じ形状に留まるよう正則化させる正則化処理と、前記オートエンコーダから出力される前記出力データが前記オートエンコーダに入力される前記入力データを復元する復元処理とを評価するコスト関数を計算するコスト関数計算部と、
前記コスト関数に基づいて、前記正則化処理及び前記復元処理を最適化するパラメータを計算し、前記オートエンコーダの計算で用いられるパラメータを前記最適化パラメータで更新するパラメータ最適化計算部とを、
有する請求項１から４のいずれか１つに記載の情報推定装置。
【請求項６】
前記一体化層から出力されるデータである多次元確率変数ベクトルデータの各要素を計算する際に使用される、前記ドロップアウト層から出力されたデータのベクトルの値に重みの行列を掛けた項のリストにおいて、前記多次元確率変数ベクトルの各要素に含まれる共通のインデックスで特定される項を参照し、他のインデックスで特定される項よりも大きい値を持つ項のインデックスを所定の個数だけ抽出して、他の項よりも大きい値を持つピーク項として特定するデータ解析部を有し、
前記オートエンコーダ計算部は、前記ピーク項が前記ドロップアウト層においてドロップアウトされる場合と、前記ピーク項が前記ドロップアウト層においてドロップアウトされない場合とに分けて、それぞれの場合のガウス分布の平均値、分散値、共分散値を計算し、さらに、それぞれの場合が起こる確率値を用いて、それぞれの場合のガウス分布の混合和を計算することで、多変量混合ガウス分布を算出するよう構成されている請求項２に記載の情報推定装置。
【請求項７】
ニューラルネットワークを使用して推定処理を行う情報推定装置で行われる情報推定方法であって、
エンコーダ及びデコーダにより構成されたオートエンコーダを用いて、前記オートエンコーダに入力された入力データに基づいて前記エンコーダ及び前記デコーダで順次計算処理を行い、前記推定処理の結果として前記オートエンコーダから出力データを出力するオートエンコーダ計算ステップを有し、
データの一部をドロップアウトさせるドロップアウト層と、前記ドロップアウト層から出力されたデータに対して重みの計算を行う全結合層との組み合わせからなる少なくとも１つの一体化層を、前記エンコーダの最終層として設けることで、前記エンコーダからの出力値である潜在空間での出力値を多次元確率変数ベクトルとする情報推定方法。
【請求項８】
前記オートエンコーダ計算ステップは、前記ドロップアウト層において、あらかじめ定められたドロップアウト率に従って前記一体化層に入力されるデータの一部をドロップアウトさせるとともに、前記全結合層において、前記ドロップアウト層から出力されたデータのベクトルの値に重みの行列を掛けた項のリストの和にバイアスを加えた値を計算し、
前記リストに含まれる各項のうちの一部が、前記ドロップアウト率に従ってゼロとなる請求項７に記載の情報推定方法。
【請求項９】
前記一体化層に入力される前記データ、前記ドロップアウト率、前記重み、前記バイアスに基づいて、前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布の平均値、分散値、共分散値を計算するエンコーダ出力分布形状計算ステップを有する請求項８に記載の情報推定方法。
【請求項１０】
エンコーダ出力分布形状計算ステップは、
前記リストに含まれる各項の和にドロップアウトされずに残る比率を掛けて、さらにバイアスを加えることで、前記リストの和が従う分布の平均値を計算するステップと、
前記リストの分散値を計算して標本平均の分散値計算を行うことで、前記リストの和が従う分布の分散値を計算するステップと、
前記リストの和が従う分布の前記分散値から、前記リストの和のある２つの要素の相関を示す共分散値を計算するステップと、
前記平均値、前記分散値、前記共分散値から、前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布の形状を解析的に計算するステップとを、
有する請求項９に記載の情報推定方法。
【請求項１１】
前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布が事前分布と同じ形状に留まるよう正則化させる正則化処理と、前記オートエンコーダから出力される前記出力データが前記オートエンコーダに入力される前記入力データを復元する復元処理とを評価するコスト関数を計算するコスト関数計算ステップと、
前記コスト関数に基づいて、前記正則化処理及び前記復元処理を最適化するパラメータを計算し、前記オートエンコーダの計算で用いられるパラメータを前記最適化パラメータで更新するパラメータ最適化計算ステップとを、
有する請求項７から１０のいずれか１つに記載の情報推定方法。
【請求項１２】
前記一体化層から出力されるデータである多次元確率変数ベクトルデータの各要素を計算する際に使用される、前記ドロップアウト層から出力されたデータのベクトルの値に重みの行列を掛けた項のリストにおいて、前記多次元確率変数ベクトルの各要素に含まれる共通のインデックスで特定される項を参照し、他のインデックスで特定される項よりも大きい値を持つ項のインデックスを所定の個数だけ抽出して、他の項よりも大きい値を持つピーク項として特定するデータ解析ステップを有し、
前記オートエンコーダ計算ステップは、前記ピーク項が前記ドロップアウト層においてドロップアウトされる場合と、前記ピーク項が前記ドロップアウト層においてドロップアウトされない場合とに分けて、それぞれの場合のガウス分布の平均値、分散値、共分散値を計算し、さらに、それぞれの場合が起こる確率値を用いて、それぞれの場合のガウス分布の混合和を計算することで、多変量混合ガウス分布を算出する請求項８に記載の情報推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークを用いた推定処理を行う情報推定装置及び情報推定方法に関する。本発明は、特に、オートエンコーダの一種であるバリエーショナルオートエンコーダ（Variational AutoEncoder）を改良した情報推定装置及び情報推定方法に関する。
【背景技術】
【０００２】
ニューラルネットワーク（ＮＮ： Neural Network）を用いた推定器は、他の推定器と比べ、画像やセンサー信号データなど、大量の情報を入力データとして処理し、推定を行うことができることから様々な分野への応用に期待されている。
【０００３】
ニューラルネットワークには、オートエンコーダ（Auto-encoder）と呼ばれるものが存在する。オートエンコーダはニューラルネットワークによる教師無し学習器であり、典型的には、オートエンコーダのニューラルネットワーク構造において、入力層で次元数を意味するニューロン数が多く、徐々に後続の層のニューロンの数が減っていき、中心部分の潜在空間を表す層で最も次元数が圧縮されてニューロンの数が少なくなる。一方、中心部分の潜在空間を表す層以降では、逆にニューロンの数が増えていき、最後の出力層ではニューロンの数が入力層と同じになる構造を有している。すなわち、入力層の次元数と出力層の次元数は同一であり、中心部分の潜在空間を表す層の次元数は、入力層及び出力層の次元数よりも少なく設定される。なお、入力層から潜在空間を表す層までの前半部分はエンコーダと呼ばれ、潜在空間を表す層から出力層までの後半部分はデコーダと呼ばれる。
【０００４】
ラベルのない学習データ（ｎXin次元のベクトルｘ）を入力すると、まずエンコーダで、次元数を減らした潜在空間のデータ（ｎz次元のベクトルｚ：潜在変数とも呼ばれる）に圧縮される。潜在空間の中では元データの類似度に応じて複数の塊に集まって存在する。さらに、その圧縮された空間のデータｚがデコーダを通り、入力ｘを復元（Reconstruction）することができる。これが古典的なオートエンコーダであり、固定値である入力ｘに基づいてオートエンコーダから出力される値は、入力ｘと同様にある固定値に一意的に決まり、決定論的（Deterministic）である。
【０００５】
それに対し、確率的要素を含んだもの、すなわち、ある固定された入力ｘに対して毎回計算ごとに出力値が変わる確率的な（Stochastic）オートエンコーダとして、非特許文献１には、バリエーショナルオートエンコーダ（Variational AutoEncoder、以降、ＶＡＥと略す）が提案されている。
【０００６】
上述した古典的なオートエンコーダでは、入力されたベクトルデータｘに対し、圧縮されたｎz次元の潜在空間でのベクトルデータｚが一意的に決まるよう構成されているが、一方、ＶＡＥでは、入力されたベクトルデータｘに対し、圧縮されたｎz次元の潜在空間でのベクトルｚが一意的に決まるのではなく、ある事後確率分布ｐ（ｚ｜ｘ）をとる確率変数のベクトルとして求められる。その事後確率分布ｐ（ｚ｜ｘ）は、例えば、ｎz次元の多変量ガウス分布によって表される。以下、非特許文献１において提案されている理論について説明する。
【０００７】
ＶＡＥでは、与えられたデータｘは、それを生じさせる元となった潜在的要因の全てのｚの値を積分することで説明される。それは数式的に以下のように記述される。
【０００８】
【数１】
2019139482.tif 000003
【０００９】
ここで、ｐθとは、あるパラメータθでその分布形状が決定される確率を意味する。右辺の全てのｚを積分することで説明されたデータｘの確率が大きいほど、データｘが説明されていることを意味する。
【００１０】
データｘが与えられたとき、その要因となった潜在的確率変数ｚはどのような分布をとるのかを表す事後確率分布ｐ（ｚ｜ｘ）を求めたい。しかし、この事後確率分布ｐ（ｚ｜ｘ）は解析的には計算不可能であるため、例えば変分法が用いられる。すなわち、ｐ（ｚ｜ｘ）に近いとされたある提案関数ｑφ（あるパラメータφでその分布形状が決定される確率分布）があると仮定すると、以下の関係式が成り立ち、この関係式から提案関数ｑφを求め、それをｐ（ｚ｜ｘ）の近似解とすることができる。
【００１１】
【数２】
2019139482.tif 000004
【００１２】
ここで、上式（１）の左辺は、前述の与えられたデータｘの説明がどれだけできるか、もっともらしさを表す対数尤度である。
【００１３】
上式（１）の右辺第１項のＤKLは、ＫＬダイバージェンス（KL Divergence）を意味し、２つの関数がどれだけ近いか、距離を表すゼロ以上の値を返す関数である。事後確率分布ｐ（ｚ｜ｘ）を近似させた提案関数ｑφを求めるためには、その分布がどういう関数で表されるのかを決め、その関数のパラメータθ、φを決定する。大量にあるデータｘに対して、前述の式がより最適な状態でパラメータθ、φで成り立っているとすると、左辺の尤度のｌｏｇｐθ（ｘ）が説明できているので高いはずであり、提案関数ｑφが、知ることができない事後確率分布ｐ（ｚ｜ｘ）に近づいているので右辺第１項のＤKLはゼロに近づくとみなせる。
【００１４】
一方、右辺第２項をＬ（θ，φ；ｘ）と書くと、右辺第２項は、以下のように２つの項で表される。
【００１５】
【数３】
2019139482.tif 000005
【００１６】
上式（２）の第１項は、正則化（Regularization）を意味する項であり、上式（２）の第２項は、入力されたデータを出力において復元（Reconstruction）できるかを意味する項である。尤度を表すｌｏｇｐθ（ｘ）を高くするためには、Ｌ（θ，φ；ｘ）を最大化する必要があり、上式（２）の第１項及び第２項を最大化させる必要がある。学習における最適化とは、大量の学習データｘに対して目的関数Ｌ（θ，φ；ｘ）を最大にするパラメータθ、φを求めることである。そのためには、大量のデータ処理能力のあるニューラルネットワークを用いることが最適であり、パラメータ最適化計算ツールとして使用する。
【００１７】
非特許文献１で提案されているＶＡＥでは、ｑφ（ｚ｜ｘ）を、ｎz次元多変量ガウス分布と考えて、その形状を決定するパラメータφを、ガウス分布の平均μzと分散共分散行列Σzの分散ｄｉａｇ（Σz）の２つであるとして計算している。なお、ｄｉａｇは行列の対角項を意味している。また、残りの非対角部分ｏｆｆｄｉａｇ（Σz）に関しては、非特許文献１ではゼロとしており、したがって、共分散値ｏｆｆｄｉａｇ（Σz）に関しては、非特許文献１で提案されているＶＡＥでは計算されず、指定されていない。すなわち、非特許文献１で提案されているＶＡＥでは、以下の式のような条件が設定されている。
【００１８】
【数４】
2019139482.tif 000006
【００１９】
パラメータφはエンコーダの出力値として計算され、潜在空間の層のニューロン数は、ｎz次元×２となる。つまり、以下のｎz次元×２個のパラメータの値が順番にエンコーダから出力される。
【００２０】
【数５】
2019139482.tif 000007
【００２１】
前述のように、最適化計算では、目的関数Ｌ（θ，φ；ｘ）を最大化する必要があり、そのためには、正則化を意味する上式（２）の第１項
【００２２】
【数６】
2019139482.tif 000008
【００２３】
を最大にする必要がある。この項を最大にするということは、
【００２４】
【数７】
2019139482.tif 000009
【００２５】
を最小化するということであり、求めようとする分布ｑφ（ｚ｜ｘ）が分布ｐθ（ｚ）にできるだけ近い形状でなければならないということである。ｐθ（ｚ）はｚの事前分布ｐθ（ｚ）を意味し、非特許文献１によれば、平均μ0はゼロの値のベクトル、分散値Σ0は単位ベクトルとなる、以下の式のような標準ガウス分布として計算する。
【００２６】
【数８】
2019139482.tif 000010
【００２７】
上記の式より、正則化を意味する上式（２）の第１項は、以下の式のように表される。
【００２８】
【数９】
2019139482.tif 000011
【００２９】
もう１つのパラメータθは、非特許文献１によると、デコーダの出力値を意味することになる。デコーダでは、ある具体的なｚの値をサンプリングし、前述のように得られた確率分布ｑφ（ｚ｜ｘ）、すなわち、知り得ない事後確率ｐ（ｚ｜ｘ）に限りなく近づけた確率分布ｑφ（ｚ｜ｘ）から復元させる。前述の復元に関する上式（２）の第２項は、復元されたｘが、入力されたデータｘに対応して同じ値となるかを表す対数尤度を意味する。
【００３０】
つまり、前述のようにデコーダの最終層から出力される値はｘそのものではなく、そのｘがとる確率分布ｐθ（ｘ｜ｚ）の形状を決定するパラメータθとする。仮に、データｘが白黒の画像である場合、その確率分布をベルヌーイ分布と置き、ベルヌーイ分布を決定するパラメータθを使って、入力ｘと同じである確率ｐθ（ｘ｜ｚ）を計算し、さらにそのｌｏｇをとることでｌｏｇ［ｐθ（ｚ｜ｘ）］を計算する。前述の復元に関する上式（２）の第２項の期待値の部分
【００３１】
【数１０】
2019139482.tif 000012
【００３２】
は、バッチの複数のサンプルで処理することで、同等の期待値計算をしているものとみなされる。
【００３３】
図１は、従来技術におけるＶＡＥの一例を模式的に示す図である。図１に示すように、入力Ｘ（ｎXin次元のベクトル）は、ニューラルネットワークで構成されたエンコーダを通り、エンコーダから、ガウス分布の平均（ｎz次元）と分散値（ｎz次元）とが出力される。また、エンコーダの出力結果に基づいてある具体的なｚの値がサンプリングされて、ニューラルネットワークで構成されたデコーダに入力され、デコーダからｎXout次元のベクトルが出力される。なお、デコーダからの出力は、入力Ｘと同じとなるよう最適化され、入力と出力の次元数は同じ（ｎXin＝ｎXout）である。
【先行技術文献】
【特許文献】
【００３４】
【特許文献１】国際公開公報ＷＯ２０１４１０５８６６Ａ１
【非特許文献】
【００３５】
【非特許文献１】“Auto-Encoding Variational Bayes”, Diederik P. Kingma, Max Welling：２０１３年１２月２０日（https://arxiv.org/abs/1312.6114から取得可能）
【非特許文献２】“APPROXIMATING THE KULLBACK LEIBLER DIVERGENCE BETWEEN GAUSSIAN MIXTURE MODELS”, John R. Hershey and Peder A. Olsen：２００７年４月１５−２０日（{ HYPERLINK "http://ieeexplore.ieee.org/document/4218101/" ,http://ieeexplore.ieee.org/document/4218101/}  から取得可能）
【発明の概要】
【発明が解決しようとする課題】
【００３６】
非特許文献１で提案されているＶＡＥは確率的要素を備えているが、ニューラルネットワークの潜在空間での出力は、ｚの値そのものではなく、ｚがとり得る値の確率分布の形状を決定づけるパラメータである。上述のように、非特許文献１で提案されているＶＡＥでは、ｑφ（ｚ｜ｘ）をｎz次元多変量ガウス分布と考え、ＶＡＥの潜在空間の層におけるパラメータφはｎz個の平均とｎz個の分散値であり、また、共分散値はすべてゼロとして単純化している。
【００３７】
しかしながら、より複雑な分布をとらせようと設計者がデザインする場合には、その分布形状を決定づけるパラメータがより多く必要となる。例えば、潜在空間の分布を１０次元多変量ガウス分布にした場合、その形状を決定づけるパラメータの数は、１０個の平均値、１０個の分散値に加えて、（１０×１０−１０）／２＝４５個の共分散値が必要となる。また、潜在空間の分布を混合ガウス分布などにする場合には、さらに複雑となる。
【００３８】
上記の課題を解決するため、本発明は、確率的要素を備えた新たなオートエンコーダを実現する情報推定装置及び情報推定方法を提供することを目的とする。
【課題を解決するための手段】
【００３９】
上記目的を達成するため、本発明によれば、従来技術におけるＶＡＥのエンコーダの潜在空間での出力ｚを、出力ｚの分布を決定づけるパラメータとするのではなく、前述の古典的なオートエンコーダと同様に出力ｚの値そのものであるようにし、かつ、出力ｚの値は、古典的なオートエンコーダのような決定論的なある値ではなく、ある確率分布からサンプリングされた確率変数であるようにした情報推定装置及び情報推定方法が提供される。
【００４０】
上記目的を達成するため、例えば、本発明に係る情報推定装置は、ニューラルネットワークを使用して推定処理を行う情報推定装置であって、
エンコーダ及びデコーダにより構成されたオートエンコーダを備え、前記オートエンコーダに入力された入力データに基づいて前記エンコーダ及び前記デコーダで順次計算処理を行い、前記推定処理の結果として前記オートエンコーダから出力データを出力するよう構成されているオートエンコーダ計算部を有し、
データの一部をドロップアウトさせるドロップアウト層と、前記ドロップアウト層から出力されたデータに対して重みの計算を行う全結合層との組み合わせからなる少なくとも１つの一体化層を、前記エンコーダの最終層として設けることで、前記エンコーダからの出力値である潜在空間での出力値が多次元確率変数ベクトルとなるように構成されている。
【００４１】
また、上記目的を達成するため、例えば、本発明に係る情報推定方法は、ニューラルネットワークを使用して推定処理を行う情報推定装置で行われる情報推定方法であって、
エンコーダ及びデコーダにより構成されたオートエンコーダを用いて、前記オートエンコーダに入力された入力データに基づいて前記エンコーダ及び前記デコーダで順次計算処理を行い、前記推定処理の結果として前記オートエンコーダから出力データを出力するオートエンコーダ計算ステップを有し、
データの一部をドロップアウトさせるドロップアウト層と、前記ドロップアウト層から出力されたデータに対して重みの計算を行う全結合層との組み合わせからなる少なくとも１つの一体化層を、前記エンコーダの最終層として設けることで、前記エンコーダからの出力値である潜在空間での出力値を多次元確率変数ベクトルとする。
【発明の効果】
【００４２】
本発明は、確率的要素を備えた新たなオートエンコーダを実現し、潜在空間における次元数（ニューロンの数）の増加を抑えながら、潜在空間における確率分布についてに任意の確率分布の形状に対応できるという効果を有する。また、本発明は、潜在空間における確率分布の形状を解析的な計算によって推測できるため、潜在空間における入力データの分離の様子をより正確に評価することができるという効果を有する。
【図面の簡単な説明】
【００４３】
【図１】従来技術におけるＶＡＥの一例を模式的に示す図である。
【図２】本発明の第１の実施の形態におけるオートエンコーダの第１の例を模式的に示す図である。
【図３】本発明の第１の実施の形態におけるオートエンコーダの第１の例に関して、ＤＦ層の詳細を示す図である。
【図４】本発明の第１の実施の形態におけるオートエンコーダの第２の例を示す図である。
【図５】本発明の第１の実施の形態におけるオートエンコーダの第２の例に関して、ＤＦ層の詳細を示す図である。
【図６】本発明の第１の実施の形態におけるオートエンコーダの計算処理機能を含む情報推定装置の構成の一例を示すブロック図である。
【図７】本発明の第１の実施の形態における計算処理の一例を示すフローチャートである。
【図８】（ａ）は、ガウス分布の幅を表すσの等高線の楕円と、さらにその分布に従って点在するモンテカルロ的にサンプリングした点の散布図とを示す表示方法を説明するための図であり、（ｂ）は、ガウス分布の幅を表すσの等高線の楕円と、さらに、そのガウス楕円の中心値、つまり平均値の点とを示す表示方法を説明するための図である。
【図９】本発明の第１の実施の形態における情報推定装置を用いた実験によって得られた、潜在空間の次元数ｎzがｎz＝２の場合の潜在空間におけるｚの値の分布を示す図であり、図８（ａ）の表示方法で描かれた図である。
【図１０】本発明の第１の実施の形態における情報推定装置を用いた実験によって得られた、潜在空間の次元数ｎzがｎz＝２の場合の潜在空間におけるｚの値の分布を示す図であり、図８（ｂ）の表示方法で描かれた図である。
【図１１】（ａ）は、本発明の第１の実施の形態における情報推定装置を用いた実験結果を評価するために作成された図であって、学習前の状態のオートエンコーダが入力画像を復元した状態を示す図であり、（ｂ）は、本発明の第１の実施の形態における情報推定装置を用いた実験結果を評価するために作成された図であり、学習後の状態のオートエンコーダが入力画像を復元した状態を示す図である。
【図１２】図９の事後確率分布（ガウス分布）を、本発明の第２の実施の形態により混合ガウス分布の場合に拡張した、入力画像が右上の文字「Ｈ」の画像の場合の実験結果を示す図であり、解析的に計算した混合ガウス分布は等高線で示され、モンテカルロ的に散布図で分布を表したものを重ねて表示させたものである。
【図１３】図９の事後確率分布（ガウス分布）を、本発明の第２の実施の形態により混合ガウス分布の場合に拡張した、入力画像が右上の文字「Ｈ」の画像の場合の実験結果を示す別の図であり、解析的に計算した混合ガウス分布は等高線で示され、モンテカルロ的に散布図で分布を表したものを重ねて表示させたものである。
【発明を実施するための形態】
【００４４】
以下、図面を参照しながら、本発明の第１及び第２の実施の形態について説明する。
【００４５】
＜第１の実施の形態＞
本発明の第１の実施の形態では、オートエンコーダの潜在空間での出力ｚを、出力ｚの分布を決定づけるパラメータとするのではなく、前述の古典的なオートエンコーダと同様に出力ｚの値そのものであるようにし、かつ、出力ｚの値を、古典的なオートエンコーダの場合のような決定論的なある値とするのではなく、ある確率分布からサンプリングされた確率変数とする。
【００４６】
具体的には、本発明の第１の実施の形態では、エンコーダを構成するニューラルネットワーク内にドロップアウト層を追加することで、固定値である入力データに対して、エンコーダから出力される値を確率変数に変換する。さらに、ドロップアウトによるベルヌーイ分布がニューラルネットワーク上でどのような形状で伝搬するかを解析的に計算することで、その確率変数の分布形状を計算しておき、従来技術におけるＶＡＥと同様、正則化計算に使用する。
【００４７】
以下、図２〜図５を参照しながら、本発明の実施の形態におけるオートエンコーダの構造について説明する。図２は、本発明の第１の実施の形態におけるオートエンコーダの第１の例を模式的に示す図であり、図３は、本発明の第１の実施の形態におけるオートエンコーダの第１の例に関して、ＤＦ層の詳細を示す図である。また、図４は、本発明の第１の実施の形態におけるオートエンコーダの第２の例を示す図であり、図５は、本発明の第１の実施の形態におけるオートエンコーダの第２の例に関して、ＤＦ層の詳細を示す図である。なお、図２及び図３に示す例では、エンコーダにドロップアウト層が１つ設けられており、図４及び図５に示す例では、エンコーダにドロップアウト層が２つ設けられている。
【００４８】
本発明の第１の実施の形態におけるオートエンコーダでは、古典的なオートエンコーダのエンコーダに、入力データの一部を欠損させてランダム性を生むドロップアウト層と、ドロップアウト層と、重みの計算を行う全結合（Fully Connected：ＦＣ）層を設ける。さらに、そのドロップアウト層とＦＣ層から、出力される値の分布を解析的に計算し、それを正則化の条件に使用する。なお、本明細書では簡易表現のため、ドロップアウト層及びＦＣ層を組み合わせた一体化層をＤＦ層と呼び、ドロップアウト層における計算処理とＦＣ層における計算処理が一緒に行われるものとして説明する。
【００４９】
まず、エンコーダにドロップアウト層が１つ設けられた場合について説明する。図２には、エンコーダにドロップアウト層が１つ設けられた場合が図示されている。図１に示す従来のＶＡＥでは、潜在空間での値の次元数はｚの確率分布のパラメータの数であったのに対し、図２に示すオートエンコーダでは、本発明の第１の実施の形態では、潜在空間での値の次元数はｚの次元数ｎzそのものとなる。
【００５０】
また、図３には、エンコーダにドロップアウト層が１つ設けられた場合におけるエンコーダのＤＦ１層が図示されている。なお、図３は、図２のエンコーダに含まれるドロップアウト層及びＦＣ層の部分を抜き出して図示したものである。図３のＤＦ１層への入力値ＸｉｎDF1は固定値であり、その出力ＸｏｕｔDF1はドロップアウト層によって変換された確率変数である。出力ＸｏｕｔDF1の確率分布は、例えば特許文献１で提案された計算方法を用いて計算することができる。以下に、その計算方法について説明する。
【００５１】
ＤＦ１層への入力をＸｉｎDF1、出力をＸｏｕｔDF1とし、ＤＦ１層のドロップアウト層にあらかじめ設定されたドロップアウト率（データをランダムに欠損させる確率）をｐDropDF1とする。また、ＤＦ１層のＦＣ層にあらかじめ設定された重みをＷi,jDF1とし、バイアスをｂiDF1とする。ただし、添え字ｉ及びｊは、１≦ｉ≦ｎXoutDF1、１≦ｊ≦ｎXinDF1を満たす整数である。なお、明細書中の表記ｎXinDF1は、ｎの下付き添字がＸｉｎDF1であることを表し、明細書中の表記ｎXoutDF1は、ｎの下付き添字がＸｏｕｔDF1であることを表す。
【００５２】
ＤＦ１層への入力ＸｉｎDF1は固定値であり、定数からなるｎXinDF1次元のベクトルであって、以下のように表される。
【００５３】
【数１１】
2019139482.tif 000013
【００５４】
一方、ＤＦ１層からの出力ＸｏｕｔDF1は、以下のように表される。
【００５５】
【数１２】
2019139482.tif 000014
【００５６】
ＤＦ１層からの出力ＸｏｕｔDF1は、ｎXoutDF1次元のベクトルであり、このベクトルＸｏｕｔDF1のｉ番目の要素は以下のとおりである。
【００５７】
【数１３】
2019139482.tif 000015
【００５８】
ここで、ドロップアウト層におけるドロップアウトにより、右辺のＷi,jDF1ＸｉｎDF1j項（１≦ｊ≦ｎXinDF1）が、確率ｐdropDF1でランダムに消える（ゼロとなる）。したがって、各項の和である左辺のＸｏｕｔDF1iは“サンプリング和”としてとらえて計算することができる。このことから、出力ＸｏｕｔDF1は確率変数であり、例えば、以下のようなｎXoutDF1次元の多変量ガウス分布に従う確率変数であるとする。
【００５９】
【数１４】
2019139482.tif 000016
【００６０】
ただし、μoutDF1は、平均値を示すｎXoutDF1次元のベクトル、ΣoutDF1は、ｎXoutDF1×ｎXoutDF1の分散共分散行列である。平均値μoutDF1及び分散共分散行列ΣoutDF1は、以下の式から得られる。
【００６１】
【数１５】
2019139482.tif 000017
【００６２】
【数１６】
2019139482.tif 000018
【００６３】
【数１７】
2019139482.tif 000019
【００６４】
【数１８】
2019139482.tif 000020
【００６５】
図３のＤＦ１層からの出力は、図２のオートエンコーダのエンコーダからの出力であり、エンコーダから出力される潜在空間における値ｚの確率分布ｑφ（ｚ｜ｘ）に対応している。これより表記について、ＸｏｕｔDF1をｚに、μoutDF1をμzに、ΣoutDF1をΣzに、ｎXinDF1をｎhに、ｎXoutDF1をｎzにそれぞれ置き換えることができ、エンコーダから出力される潜在空間における値ｚは、以下の多変量ガウス分布として表される。
【００６６】
【数１９】
2019139482.tif 000021
【００６７】
ただし、μzはｎz次元のベクトル、Σzはｎz×ｎzの分散共分散行列である。
【００６８】
次に、エンコーダにドロップアウト層が２つ設けられた場合について説明する。図４には、より複雑な場合として、エンコーダにドロップアウト層が２つ設けられた場合が図示されている。また、図５には、エンコーダにドロップアウト層が２つ設けられた場合におけるエンコーダのＤＦ１層、ＲｅＬｕ（Rectified Linear Unit）層、ＤＦ２層が図示されている。なお、図５は、図４のエンコーダに含まれる２つのドロップアウト層及びＦＣ層と、これらの間に挟まれたＲｅＬｕ層の部分を抜き出して図示したものである。以下、ＤＦ層が２つ存在する場合の計算方法について説明する。
【００６９】
図５の場合、ＲｅＬｕ層を挟んで、２つのＤＦ層、すなわちＤＦ１層及びＤＦ２層が設けられている。１つ目のＤＦ１層への入力、出力は上述のとおりである。また、ＤＦ１層とＤＦ２層の間にあるＲｅＬｕ層などの非線形関数の計算方法としては、例えば、特許文献１に挙げたような多変量ガウス近似として計算する方法や、単純に、ガウス関数が負の領域にあるか正の領域にあるかの判断で近似して計算する方法（本願出願時には非公開であるが、本発明者を発明者とする特許出願（特願２０１７−１９６７４０）に係る明細書及び図面に記載された計算方法）など使用可能であるが、本発明はこれらの計算方法に限定されるものではない。
【００７０】
以下、２つ目のＤＦ２層への入力、出力について説明する。ＤＦ２層への入力をＸｉｎDF2、出力をＸｏｕｔDF2とし、ＤＦ２層のドロップアウト率をｐDropDF2とする。また、ＤＦ２層のＦＣ層の重みをＷi,jDF2とし、バイアスをｂiDF2とする。ただし、添え字ｉ及びｊは、１≦ｉ≦ｎXoutDF2、１≦ｊ≦ｎXinDF2を満たす整数である。なお、明細書中の表記ｎXinDF2は、ｎの下付き添字がＸｉｎDF2であることを表し、明細書中の表記ｎXoutDF2は、ｎの下付き添字がＸｏｕｔDF2であることを表す。
【００７１】
ＤＦ２層への入力ＸｉｎDF2、出力ＸｏｕｔDF2は両方とも、多変量ガウス分布に従う確率変数となり、以下のように表される。
【００７２】
【数２０】
2019139482.tif 000022
【００７３】
ただし、μinDF2はｎXinDF2次元のベクトル、ΣinDF2はｎXinDF2×ｎXinDF2の分散共分散行列であり、μoutDF2はｎXoutDF2次元のベクトル、ΣoutDF2はｎXoutDF2×ｎXoutDF2の分散共分散行列である。
【００７４】
平均値に関しては、以下のように計算できる。
【００７５】
【数２１】
2019139482.tif 000023
【００７６】
また、分散共分散行列に関しては、以下のように計算できる。
【００７７】
【数２２】
2019139482.tif 000024
【００７８】
【数２３】
2019139482.tif 000025
【００７９】
【数２４】
2019139482.tif 000026
【００８０】
【数２５】
2019139482.tif 000027
【００８１】
上記の右辺の第１項に関しては、以下のように計算できる。
【００８２】
【数２６】
2019139482.tif 000028
【００８３】
【数２７】
2019139482.tif 000029
【００８４】
図５のＤＦ２層からの出力は、図４のオートエンコーダのエンコーダからの出力であり、エンコーダから出力される潜在空間における値ｚの確率分布ｑφ（ｚ｜ｘ）に対応している。したがって、ドロップアウト層が１つ存在する場合と同様に、表記について、ＸｏｕｔDF2をｚに、μoutDF2をμzに、ΣoutDF2をΣzに、ｎXinDF2をｎhに、ｎXoutDF2をｎzにそれぞれ置き換えることができ、エンコーダから出力される潜在空間における値ｚは、以下の多変量ガウス分布として表される。
【００８５】
【数２８】
2019139482.tif 000030
【００８６】
なお、ここでは、ドロップアウト層が２つ存在する場合について説明しているが、ドロップアウト層が３つ以上存在していてもよい。例えば、ＤＦ２層からの出力値が更なるドロップアウト層（３つ目のドロップアウト層）に入力されてもよく、この場合も、上述したＤＦ２層における計算方法と同様の計算方法によって、更なるドロップアウト層からの出力値を求めることができる。
【００８７】
以上のように、本発明の第１の実施の形態では、固定値である入力データをドロップアウトによって確率変数に変換して確率分布を生じさせ、解析計算方法により、その確率分布を計算する。また、この計算結果を、従来技術におけるＶＡＥと同様に、正則化の条件に使用する。すなわち、下記の式で表される確率分布ｑφ（ｚ｜ｘ）が、下記の式で表される事前分布ｐθ（ｚ）とあまりに異ならないよう、同じ形状に留めるための条件を課す。
【００８８】
【数２９】
2019139482.tif 000031
【００８９】
例えば、上記の確率分布ｑφ（ｚ｜ｘ）と事前分布ｐθ（ｚ）とが同じ形状に留まっているかを判定するため、前述のように多変量ガウス分布のＫＬダイバージェンスを使い、２つの多変量ガウス分布の距離を最小にするようなコスト関数を設定する。その式を以下に示す。
【００９０】
【数３０】
2019139482.tif 000032
【００９１】
本発明の第１の実施の形態における計算方法は、非特許文献１に開示されている従来技術の計算方法と比較すると、共分散の値を計算している点で大きく異なっている。すなわち、非特許文献１では共分散の値を求めておらず、共分散の値をゼロの値としており、あるいは、共分散の値を求めるためにはさらにニューロンの数を増やす必要があったのに対し、本発明の第１の実施の形態では、エンコーダのより少ないニューロンの数でありながら、上述した解析計算によって共分散の値の計算も行っている。
【００９２】
また、本発明の第１の実施の形態における計算方法によれば、オートエンコーダの出力が入力データを再現できるかという条件の判定について、従来技術に係るＶＡＥの判定より簡単に行うことができる。従来技術によれば、エンコーダの出力値はｚの確率分布のパラメータであるため、例えばデコーダに入力するための値を得るためには、さらにその確率分布を作って、ｚの値をサンプリングしなければならない。一方、本発明の第１の実施の形態では、エンコーダの出力そのものが、ｚの値であり、すなわち、エンコーダの出力値をそのままデコーダの入力値として使用することができる。ｚの値を得た後のデコーダにおける処理は、本発明の第１の実施の形態も従来技術も同じである。
【００９３】
また、本発明の第１の実施の形態では、ドロップアウト率は、エンコーダで生成するｚの確率分布を表現するために使用されることから、例えばドロップアウト層が１つの場合は、ドロップアウト率は相対的に大きい値（例えば、０．７以上の値）とすることが望ましい。
【００９４】
次に、本発明の第１の実施の形態における処理を実行することが可能な情報推定装置について説明する。図６は、本発明の第１の実施の形態における情報推定装置の構成の一例を示すブロック図である。図６の情報推定装置１０は、ニューラルネットワークを用いて推定処理を行う推定器であり、オートエンコーダ計算部２０、エンコーダ出力分布形状計算部３０、コスト関数計算部４０、パラメータ最適化計算部５０を有する。
【００９５】
図６に示すブロック図は、本発明に関連した機能を表しているにすぎず、実際の実装では、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されてもよい。ソフトウェアで実装される機能は、１つ又は複数の命令若しくはコードとして任意のコンピュータ可読媒体に記憶され、これらの命令又はコードは、ＣＰＵ（Central Processing Unit：中央処理ユニット）やＧＰＵ（Graphics Processing Unit：グラフィックスプロセッシングユニット）などのハードウェアベースの処理ユニットによって実行可能である。また、本発明に関連した機能は、ＩＣ（Integrated Circuit：集積回路）やＩＣチップセットなどを含む様々なデバイスによって実現されてもよい。
【００９６】
オートエンコーダ計算部２０は、ニューラルネットワークにより構成されたエンコーダ及びデコーダを含むオートエンコーダを有し、入力データＸについてエンコーダ及びデコーダで計算処理を行って、出力データＸを出力する機能を有する。オートエンコーダ計算部２０における計算に用いられるオートエンコーダは、図２〜図５を参照しながら説明したように、１つ又は２つ以上のドロップアウト層がエンコーダ内に設けられており、ドロップアウト層においてデータの一部がランダムに欠損される。これにより、オートエンコーダのエンコーダからの出力（潜在空間における出力）の値ｚを確率変数とすることができる。
【００９７】
エンコーダ出力分布形状計算部３０は、入力のデータｘがエンコーダでドロップアウトによってどのような確率分布の形状になったかを解析的に計算する機能を有する。エンコーダ出力分布形状計算部３０は、例えば、入力データｘ、ドロップアウト層におけるドロップアウト率、パラメータ（例えば、ＦＣ層における重み及びバイアス）から、潜在空間における出力ｚの分布形状を計算することができる。
【００９８】
コスト関数計算部４０は、ドロップアウトによるエンコーダ出力分布形状計算部３０で計算された分布形状（潜在空間における出力ｚの分布形状）から正則化の条件を満たすか計算し、さらに、オートエンコーダ計算部２０から算出される出力ｘが入力ｘとどれだけ似ているかを計算することで、これら２つの計算結果を合わせた全体のコスト関数の値を計算する機能を有する。
【００９９】
パラメータ最適化計算部５０は、コスト関数計算部４０で計算されたコスト関数の値が最適化されるように、オートエンコーダ計算部２０で参照した重み及びバイアスをどの値に最適化するのかを計算する機能を有する。パラメータ最適化計算部５０は、コスト関数の値が最小になるようパラメータ（重み及びバイアス）を計算し、この計算の結果得られたパラメータはオートエンコーダ計算部２０に供給されて、オートエンコーダのパラメータが更新される。
【０１００】
以上のように構成された情報推定装置１０において、大量の入力データＸに対して繰返し最適化が行われることで、オートエンコーダから最適解が得られるように最適化が行われる。
【０１０１】
次に、図７を参照しながら、図６に図示されている情報推定装置１０における処理の一例について説明する。図７は、本発明の第１の実施の形態における情報推定装置の処理の一例を示すフローチャートである。
【０１０２】
図７に示すフローチャートにおいて、最初に、オートエンコーダ計算部２０は、オートエンコーダのパラメータ（重み、バイアス）を初期化する（ステップＳ１０１）。そして、学習データＸがオートエンコーダの入力Ｘとして入力されると（ステップＳ１０２）、オートエンコーダ計算部２０は、オートエンコーダのエンコーダにおいて潜在空間での値ｚを計算する（ステップＳ１０３）。
【０１０３】
また、エンコーダ出力分布形状計算部３０は、ドロップアウト率、入力データＸ、パラメータ（重み、バイアス）から、潜在空間での値ｚの分布形状を計算する（ステップＳ１０４）。エンコーダ出力分布形状計算部３０で計算された潜在空間での値ｚの分布形状に係る情報は、コスト関数計算部４０に供給される。
【０１０４】
オートエンコーダ計算部２０は、さらに、潜在空間での値ｚを用いて、オートエンコーダのデコーダの出力Ｘを計算する（ステップＳ１０５）。オートエンコーダ計算部２０で計算されたオートエンコーダのデコーダの出力Ｘは、コスト関数計算部４０に供給される。
【０１０５】
コスト関数計算部４０は、潜在空間での値ｚの分布形状に係る情報に基づいて正則化の条件を満たすかを計算し、さらに、出力Ｘが入力Ｘとどれだけ似ているかを計算して、これらの２つの計算結果を合わせた全体のコスト関数の値を計算する（ステップＳ１０６）。
【０１０６】
パラメータ最適化計算部５０は、コスト関数計算部４０で計算されたコスト関数の値が最小になるようパラメータ（重み及びバイアス）を計算し、この計算結果に基づいて、オートエンコーダ計算部２０におけるオートエンコーダのパラメータが更新される（ステップＳ１０７）。
【０１０７】
未処理の新しい学習データＸが存在する場合（ステップＳ１０８で「はい」）にはステップＳ１０２に戻り、新しい学習データＸについて同様の処理（ステップＳ１０３〜Ｓ１０７の処理）が実行される。すなわち、大量の学習データＸについて、ステップＳ１０３〜Ｓ１０７の処理が繰り返し実行される。一方、すべての学習データＸについて処理が実行され、未処理の新しい学習データＸが存在しない場合（ステップＳ１０８で「いいえ」）には、処理は終了となる。
【０１０８】
次に、本発明の第１の実施の形態における情報推定装置を用いて実際に学習最適化計算を行った場合の実験結果について示す。なお、以下に記載する実験においては、図２及び図３に示されているオートエンコーダを採用し、エンコーダにドロップアウト層を１つ設けている。また、潜在空間での値ｚの次元数ｎzをｎz＝２としている。さらに、本発明に係る技術分野で利用されているＭＮＩＳＴデータ（０〜９の手書き数字の画像セット）を使用して学習を行うことで、入力されたＭＮＩＳＴデータを出力において復元するオートエンコーダを構築している。
【０１０９】
最適化のためのアルゴリズムには、二乗平均平方根（ＲＭＳ：root mean square）方式を使い、学習率０．００１でオートエンコーダの重みとバイアスを計算している。また、上述の事前分布は、以下のようにして計算している。
【０１１０】
【数３１】
2019139482.tif 000033
【０１１１】
なお、もちろん、分散共分散行列の非対角項の部分、すなわち、共分散値を０以外の値にして、正の相関や負の相関を持たせることもできる。
【０１１２】
図９及び図１０に、本発明の第１の実施の形態における情報推定装置を用いた実験によって得られた、潜在空間の次元数ｎzがｎz＝２の場合の潜在空間におけるｚの値の分布を示す。なお、２次元のガウス分布を視覚化表示する方法としては、例えば、図８（ａ）に示すように、ガウス分布の幅を表すσの等高線の楕円と、さらにその分布に従って点在するモンテカルロ的（何度も試行を繰り返すこと）にサンプリングした点の散布図とを示す表示方法と、図８（ｂ）に示すように、ガウス分布の幅を表すσの等高線の楕円と、さらに、そのガウス楕円の中心値、つまり平均値の点とを示す表示方法がある。図９は、実験結果を図８（ａ）の表示方法で表した図であり、図１０は、実験結果を図８（ｂ）の表示方法で表した図である。
【０１１３】
図９及び図１０に図示されている実験結果は、ＭＮＩＳＴデータを用いて５０００回の最適化学習を行った状態で、モンテカルロ的に４００個サンプリングした場合の潜在空間におけるｚの値の分布を示している。ＭＮＩＳＴデータの手書き数字０〜９いずれかのある１つの画像入力データに対し、１つのｚの値の分布（楕円）が潜在空間に存在する。図９及び図１０では、ＭＮＩＳＴデータの画像の異なる手書き数字０〜９のそれぞれに対応する潜在空間でのｚの値が異なる色によって表されている。
【０１１４】
なお、本発明に係る技術分野では、通常、ＭＮＩＳＴデータの手書き数字０〜９に対応して、例えばＶＡＥにおける潜在空間での値ｚを色分け表示することが行われている。図９及び図１０も、当業者が容易に理解できるようにこうした慣例にならって作成されたものであって本来はカラー図面であるが、モノクロ図面では色を表現することが困難である。図９及び図１０に関して、手書き数字０〜９及び各数字に対応づけられた色について概略的に説明すると、潜在空間での値ｚは、手書き数字が０の場合は赤、１の場合は緑、２の場合は青、３の場合は黄色、４の場合は水色、５の場合は紫、６の場合はオレンジ、７の場合はピンク、８の場合は灰色、９の場合は黒にそれぞれ対応している。また、必ずしも正確な表現ではないが、図９及び図１０の中心に対して、赤の点は１時の方向、緑の点は９時の方向、青の点は１２時の方向、黄色の点は５時の方向、水色の点は５時の方向、紫の点は６時の方向、オレンジの点は５時の方向、ピンクの点は６時の方向、灰色の点は１１時の方向、黒の点は４時の方向に塊を形成して広がりを有している。このように、図９及び図１０では、２次元の潜在空間内で、同じ色同士、つまり同じ手書き数字同士が塊を形成して広がっている。したがって、入力されたＭＮＩＳＴデータに対して、手書き数字０〜９のいずれの画像であったのかを、正解ラベル無しの教師無し学習で、自動的に分類ができていることがわかる。
【０１１５】
なお、例えば図９では、本発明の第１の実施の形態における解析的な計算によって得られた、潜在空間でのｚの値のガウス分布のパラメータ（平均値、分散共分散値）に基づいて、各手書き数字の入力に対応する事後確率分布をｑφ（ｚ｜ｘ）が楕円で表されている。さらに、解析的な計算によって得られた事後確率分布（楕円）が正しいかどうかを視覚的に検証すべく、それぞれの楕円に対してモンテカルロ的にドロップアウトにより確率的に４００個分散させた点を散布図としてプロットしている。これは、確かに解析的な計算によって得られた楕円が、ドロップアウトにより生じた確率分布をとらえていると評価するために行ったものであるが、実際に実施する場合には、このような細かい点を描画するための標本計算は不要である。
【０１１６】
一方、非特許文献１に開示されている従来技術に係るＶＡＥでは、図１を参照して説明したように、オートエンコーダの中心の潜在空間に関して計算できるのは、ｚの値そのものではなく、ｚがとる分布のパラメータである。したがって、従来技術に係るＶＡＥでは、図９及び図１０に示すようなｚの値の散布図を直接描画することができない。このように、従来技術に係るＶＡＥでは共分散値の計算は行われないことから、平均、分散、共分散の全てを使って初めて分かる確率分布の形状、すなわち、図９及び図１０に示されている楕円形状を描くことができない。したがって、従来技術に係るＶＡＥでは、実際の個々のｚの値が潜在空間内で、異なる入力の手書き数字画像ごとに重なっているのか、あるいはきちんと分離できているのかを見ることもできない。
【０１１７】
また、もし、従来のＶＡＥで得られる結果を用いて図９及び図１０に示すような分布を表示しようとする場合には、ｚがとる分布のパラメータとして平均値μzと分散値ｄｉａｇ（Σz）だけではなく、潜在空間における共分散値ｏｆｆｄｉａｇ（Σz）の出力も用意して重みを学習させ、学習後の完成した分布からサンプリングを行ったうえで散布図として表示する必要がある。すなわち、従来のＶＡＥで共分散値を計算しようとした場合には、分布形状を決定づけるパラメータがより多く必要となり、より複雑な構造を設計する必要がある。
【０１１８】
また、図１１（ａ）及び（ｂ）は、本発明の第１の実施の形態における情報推定装置を用いた実験結果を評価するために作成された図である。図１１（ａ）及び（ｂ）は、２次元の潜在空間における２０×２０の各グリッドでサンプリングを行って、各グリッドの値をデコーダで手書き数字の画像に復元した結果を、そのグリッドの位置を反映させたまま並べてプロットした図である。なお、図１１（ａ）には、オートエンコーダの最適化学習の回数がゼロ（学習回数＝０、すなわち学習前）のときに得られた出力が図示されており、図１１（ｂ）には、オートエンコーダの最適化学習の回数が５０００回目（学習回数＝５０００、すなわち学習後）のときに得られた出力が図示されている。
【０１１９】
最適化学習の回数がゼロのときには、オートエンコーダからの出力は、入力された手書き数字画像を復元できておらず、図１１（ａ）に示すようにただのランダムなノイズである。一方、最適化学習の回数が５０００回目では、オートエンコーダからの出力は、図１１（ａ）に示すように入力された手書き数字画像を復元できていることがわかる。また、形状が似たような数字は、潜在空間内で似たような箇所に存在しており、従来技術に係るＶＡＥと同じような結果が得られている。
【０１２０】
＜第２の実施の形態＞
次に、本発明の第２の実施の形態について説明する。上述した第１の実施の形態では、潜在空間でのｚの値の確率分布ｑφ（ｚ｜ｘ）は多変量ガウス分布であるとして計算を行っている。しかしながら、ＤＦ層からの出力ＸｏｕｔDFを計算するためのｘｉｎDFjＷi,jDF項の中に、他の項に比べて逸脱して大きい値を持つ項が存在する場合には、上述した第１の実施の形態のようなＤＦ層からの出力ＸｏｕｔDFを多変量ガウス分布とする近似が成り立たない。その場合は、特許文献１に記述されるように、ピーク項と呼ばれる逸脱したｘｉｎDFjＷi,jDF項に対しては、ピーク項がドロップアウトされた場合及びドロップアウトされなかった場合を個別に考えることで、確率変数ではなく、条件確率下での定数ととらえ、それぞれの場合の下で、上述した第１の実施の形態のような多変量ガウス分布として計算することができる。そして、その場合は、複数の場合ごとの条件確率下での多変量ガウス分布となるため、ＤＦ層からの出力ＸｏｕｔDFは多変量“混合”ガウス分布となる。
【０１２１】
なお、上述の第１の実施の形態では、ＤＦ層からの出力ＸｏｕｔDFの重みの計算に相当する項をＷi,jDFＸｉｎDFjと記載していたが、第２の実施の形態では、ｘｉｎDFjＷi,jDFと記載する。両者は表記が異なっているもの、同一の項を表している。
【０１２２】
ドロップアウト層と全結合層からなるＤＦ層に関して、その出力ベクトルのｉ番目の要素ＸｏｕｔDFiは、重みＷと入力ＸｉｎDFとの積の和に、バイアス項ｂiDFを加えたものであり、以下の式のように表される。
【０１２３】
【数３２】
2019139482.tif 000034
【０１２４】
その中のある１つの項が、他の項より逸脱してその絶対値が大きいピーク項（ｊ＝ｐｅａｋ）である場合、つまり以下の式が成り立つ場合には、２つのガウス分布が混合した混合ガウス分布となる。
【０１２５】
【数３３】
2019139482.tif 000035
【０１２６】
なお、上記の式の不等号「≫」は、左辺の値が右辺の値より逸脱して大きいことを意味する。
【０１２７】
以下、より一般的な場合として、ＤＦ層（例えば、図３のＤＦ１層）からの出力ベクトルＸｏｕｔDFの確率分布について、どのように多変量混合ガウス分布として計算されるのかについて説明する。
【０１２８】
第１の実施の形態と全く同様に、ｎXoutDF次元の出力ベクトルＸｏｕｔDFは、ｎXoutDF個の要素を持つ確率変数ベクトルであり、ｉ番目の要素（１≦ｉ≦ｎXoutDF）を、ＸｏｕｔDFiと表す。それぞれの要素ＸｏｕｔDFiは、以下の式のように、インデックスｊ（１≦ｊ≦ｎXinDF）で表されるｎXinDF個のｘＷ項を持った式となる。
【０１２９】
【数３４】
2019139482.tif 000036
【０１３０】
ここで、前述のピーク項（ｊ＝ｐｅａｋ）とは、ある１つのインデックスｉ番目の行（ＸｏｕｔDFi）の中で逸脱して大きい値を持つｘＷ項ではなく、１≦ｉ≦ｎXoutDFの範囲のすべての行の中において、共通のインデックスｊを持つ最も逸脱したｘＷ項の値であり、ｊ番目の列（“カラム”）のことである。そのため、あるインデックスｉで特定される１つの行だけからピーク項を決定することはできず、例えば以下のような手順で、すべての行のインデックスｉを見ながら、ピーク項（ｊ＝ｐｅａｋ）のカラムを見つけ出す必要がある。
【０１３１】
まず、すべてのｎXinDF個のカラムに対して、逸脱度を示すカラムの箱ＰｅａｋＳｃｏｒｅj（１≦ｊ≦ｎXinDF）を用意し、以下のように初期値をゼロとする。
【０１３２】
【数３５】
2019139482.tif 000037
【０１３３】
次に、あるｉ番目の行におけるピーク項を探す。すなわち、ｉ番目の行のすべてのｘＷj項（１≦ｊ≦ｎXinDF）の平均値ｘＷＭｅａｎiを計算する。
【０１３４】
【数３６】
2019139482.tif 000038
【０１３５】
なお、右辺は、あるｉ番目の行において、すべてのインデックスｊのｘＷj項の平均値を計算することを意味する。さらに、そのあるｉ番目の行における、それぞれのｘＷj項（１≦ｊ≦ｎXinDF）について、平均値からどれだけ逸脱しているかを示す値ｘＷＤｅｖｉａｔｉｏｎi,jを計算する。この値は、例えば以下の式のように、平均値との差分の絶対値として計算される。
【０１３６】
【数３７】
2019139482.tif 000039
【０１３７】
これにより、あるｉ番目の行におけるｊ番目のｘＷj項が平均値からどれだけ逸脱しているかを示すスコア（逸脱度）を計算することができる。すべての行（すべてのインデックスｉ）について上記の計算を行い、累積的に各インデックスｊに対するスコアを蓄積していく。例えば以下のように、ｘＷＤｅｖｉａｔｉｏｎi,jの値を前述したカラムの箱ＰｅａｋＳｃｏｒｅjに足し合わせる。
【０１３８】
【数３８】
2019139482.tif 000040
【０１３９】
以上の計算をすべての行（すべてのインデックスｉ：１≦ｉ≦ｎXoutDF）について繰り返し、ＰｅａｋＳｃｏｒｅjを更新していくことで、最終的に、各カラム（各インデックスｊ）の逸脱度を得ることができる。そして、最終的に得られたＰｅａｋＳｃｏｒｅj（１≦ｊ≦ｎXinDF）を値が大きいものから順に並べて、ＰｅａｋＳｃｏｒｅjが大きい値から順番に所定の個数（例えば、Ｋ個）のインデックスｊを記録する。これにより、Ｋ個のインデックスｊ（ｊk=1，ｊk=2，…，ｊk=K）が、コラムとしてのピーク項ｘＷjの候補として特定される。
【０１４０】
次に、それぞれのピーク項ｘＷjに対して、ドロップアウトされた場合／ドロップアウトされなかった場合の組み合わせを考え、混合ガウス分布を作成する。Ｋ個のピーク項を考慮した場合には、混合ガウス分布の混合数は２K個となる。
【０１４１】
なお、ピーク項として記録する個数（Ｋ個）が大きいほど、正確に真の確率分布を計算することができるが、一方、Ｋの値を大きくすれば計算負荷が大きくなってしまう。したがって、Ｋの値は、計算負荷とのトレードオフにより、計算処理できる範囲でユーザが事前に指定してもよい。ピーク項の個数（Ｋの値）は１又は２以上の整数とすることが可能であり、また、ピーク項の個数（Ｋの値）をゼロとした場合は、上述した本発明の第１の実施の形態と同様の計算となる。
【０１４２】
以下、第１の実施の形態に係る計算において、Ｋ個のすべてのピーク項ｘＷj（ｊ＝ｊK=1，ｊK=2，…，ｊk=K）についてドロップアウトされた場合／ドロップアウトされなかった場合を考慮し、それぞれの場合における条件確率の下でガウス分布として近似した出力ＸｏｕｔDFの確率分布を計算する計算方法について、具体的な例を用いて説明する。
【０１４３】
ここでは、具体例としてピーク項の個数を２個（Ｋ＝２）とし、前述のＰｅａｋＳｃｏｒｅjから計算された２つのピーク項ｘＷjのインデックスｊ（ｊ＝ｊK=1，ｊK=2）が、ｊK=1＝３、ｊK=2＝５であった場合を考える。すなわち、ピーク項はｘＷj=3とｘＷj=5である。
【０１４４】
２つのピーク項ｘＷj=3、ｘＷj=5がドロップアウトされた場合／ドロップアウトされなかった場合の組み合わせは、下記のケース（１）〜（４）の２K=2＝４通り存在する。
【０１４５】
（１）ｘＷj=3がドロップアウトされた、ｘＷj=5がドロップアウトされた
（２）ｘＷj=3がドロップアウトされた、ｘＷj=5がドロップアウトされなかった
（３）ｘＷj=3がドロップアウトされなかった、ｘＷj=5がドロップアウトされた
（４）ｘＷj=3がドロップアウトされなかった、ｘＷj=5がドロップアウトされなかった
【０１４６】
上記４つのケース（１）〜（４）を考慮すると、出力ＸｏｕｔDFの確率分布は４つの多変量混合ガウス分布となる。ケース（１）〜（４）のそれぞれのケースが起こり得る確率は、ＤＦ層におけるドロップアウト率をｐDropDFとすると、以下のようになる。
【０１４７】
【数３９】
2019139482.tif 000041
【０１４８】
ピーク項に対応するインデックスｊK=1＝３、ｊK=2＝５以外のすべてのインデックスｊにおけるｘｉｎDFjＷi,jDF項（１≦ｊ、ｊ≠３,ｊ≠５≦ｎXinDF）は、ドロップアウトにより消えたり残ったりとゆらゆら変化する確率変数である。一方、ピーク項ｘｉｎDFj=3Ｗi,j=3DFとｘｉｎDFj=5Ｗi,j=5DFは、それぞれの項がドロップアウトされた場合／ドロップアウトされなかった場合を考えるので、それぞれの条件下での固定値として取り扱うことができる。このことから、第２の実施の形態では、第１の実施の形態に係る計算において、あるｉ番目の行における確率変数として考えるｘｉｎDFjＷi,jDF項群のうち、ピーク項ｘｉｎDFj=3Ｗi,j=3DFとピーク項ｘｉｎDFj=5Ｗi,j=5DFは取り除いて、以下のように計算する。
【０１４９】
【数４０】
2019139482.tif 000042
【０１５０】
したがって、ケース（１）〜（４）のそれぞれの場合において、平均値は以下のようになる。
【０１５１】
【数４１】
2019139482.tif 000043
【０１５２】
【数４２】
2019139482.tif 000044
【０１５３】
【数４３】
2019139482.tif 000045
【０１５４】
【数４４】
2019139482.tif 000046
【０１５５】
また、分散値は、以下のように、第１の実施の形態と同様の式で計算できる。
【０１５６】
【数４５】
2019139482.tif 000047
【０１５７】
ただし、ＬｉｓｔＷDFｘDFiに関して、２つのピーク項を確率変数でなく定数として取り扱うため、バイアス項と同様にピーク項ｘｉｎDFj=3Ｗi,j=3DFとピーク項ｘｉｎDFj=5Ｗi,j=5DFを無視することができる。したがって、以下の式のように、ピーク項に対応するインデックスｊK=1＝３、ｊK=2＝５を除くｘｉｎDFjＷi,jDF項のリストＬｉｓｔＷDFｘDFj≠3,j≠5,iを計算に使用する。
【０１５８】
【数４６】
2019139482.tif 000048
【０１５９】
このようにピーク項を除いたＬｉｓｔＷDFｘDFiを使用して、前述した式から分散値Ｖａｒ（ＸｏｕｔDFi）を求める。分散値Ｖａｒ（ＸｏｕｔDFi）は、ケース（１）〜（４）において、すべて同じ値となる。
【０１６０】
【数４７】
2019139482.tif 000049
【０１６１】
また、共分散値も第１の実施の形態と同様に求められる。
【０１６２】
【数４８】
2019139482.tif 000050
【０１６３】
【数４９】
2019139482.tif 000051
【０１６４】
【数５０】
2019139482.tif 000052
【０１６５】
【数５１】
2019139482.tif 000053
【０１６６】
共分散値は、ケース（１）〜（４）において、すべて同じ値となる。
【０１６７】
【数５２】
2019139482.tif 000054
【０１６８】
最終的に、分散共分散行列は、すべてのケース（１）〜（４）において同じ値となる。
【０１６９】
【数５３】
2019139482.tif 000055
【０１７０】
以上、４つのケース（１）〜（４）について、各ケースが起こり得る確率値と、各ケースにおける平均値、分散値、共分散値が計算できる。これらを単純に確率値を重みとして足し合わせることで、以下の式のように、４つのガウス分布を混合させた多変量混合ガウス分布として、出力値の確率分布を計算することができる。
【０１７１】
【数５４】
2019139482.tif 000056
【０１７２】
また、第１の実施の形態では、出力値の確率分布ｑφ（ｚ｜ｘ）が正則化の条件を満たすかを判定するために、多変量ガウス分布である確率分布ｑφ（ｚ｜ｘ）と事前分布ｐθ（ｚ）とのＫＬダイバージェンスを計算している。一方、第２の実施の形態では、出力値の確率分布ｑφ（ｚ｜ｘ）が混合ガウス分布である。混合ガウスのＫＬダイバージェンスの計算には、解析的解は存在しないが、非特許文献２に挙げられるような、変分近似（Variational Approximation）法など、様々な近似計算法で計算することができる。
【０１７３】
以上の第２の実施の形態に係る計算方法により、第１の実施の形態の拡張として、潜在空間でのｚの値の確率分布ｑφ（ｚ｜ｘ）を多変量混合ガウス分布として計算することができる。その計算結果として、図１２及び図１３に、それぞれ、ピーク項の個数を４個（Ｋ＝４）として、２K=4＝１６個のガウス分布からなる混合ガウス分布で、潜在変数の潜在空間でのｚの値の確率分布ｑφ（ｚ｜ｘ）を２次元でプロットさせたものを示す。この場合、入力画像としては、図の右上に小さく示される文字「Ｈ」の画像を入れた。図９に示すガウス分布のときと同様に、モンテカルロの分布（散布図や１次元のヒストグラム）と解析的分布（２次元の等高線、１次元の関数の形状）が一致し、解析的に分布を混合ガウスとして計算できていることがわかる。
【０１７４】
また、図５に図示されているように複数のドロップアウト層を設けた場合においても、混合ガウス分布の条件確率下でのそれぞれのガウス分布について個別に第１の実施の形態と同様の計算を行うことで、出力値ｑφ（ｚ｜ｘ）の確率分布を計算することができる。ただし、エンコーダに設けられたＤＦ層で計算が行われるとガウス分布がさらに複数の混合ガウス分布に分かれるため、複数の各ＤＦ層を伝搬するごとに、混合数がどんどん増えていく。そのため、例えば既存の技術を利用して、似ている混合ガウス分布同士を融合させるなどの処理を行うことで、ガウス分布の混合数を低減させながら計算を行ってもよい。
【０１７５】
また、本発明の第２の実施の形態に係る情報推定装置は、本発明の第１の実施の形態に係る情報推定装置の構成（図６に図示されている構成）を拡張することによって実現可能である。例えば、オートエンコーダ計算部２０に、ＤＦ層の出力値ＸｏｕｔDFiを計算する際に現れる重みＷと入力ＸｉｎDFとの積であるｘＷ項のピーク項を決定する機能を有するデータ解析部を設ければよい。そして、オートエンコーダ計算部２０が、データ解析部で特定されたＫ個のピーク項について上述した計算を実行するよう拡張されることで、潜在空間において、多変量混合ガウス分布に従ったｚの値を出力することが可能となる。また、正則化の条件に係る計算についても、オートエンコーダ計算部２０が上述した計算を実行するよう拡張されればよい。
【産業上の利用可能性】
【０１７６】
本発明は、ニューラルネットワークを使用した推定技術に適用可能であり、確率的要素を備えた新たなオートエンコーダを実現することが可能である。
【符号の説明】
【０１７７】
１０  情報推定装置
２０  オートエンコーダ計算部
３０  エンコーダ出力分布形状計算部
４０  コスト関数計算部
５０  パラメータ最適化計算部
【図１】
2019139482.tif 000057
【図２】
2019139482.tif 000058
【図３】
2019139482.tif 000059
【図４】
2019139482.tif 000060
【図５】
2019139482.tif 000061
【図６】
2019139482.tif 000062
【図７】
2019139482.tif 000063
【図８】
2019139482.tif 000064
【図９】
2019139482.tif 000065
【図１０】
2019139482.tif 000066
【図１１】
2019139482.tif 000067
【図１２】
2019139482.tif 000068
【図１３】
2019139482.tif 000069