IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーアイティーラボラトリの特許一覧

<>
  • 特許-情報推定装置及び情報推定方法 図1
  • 特許-情報推定装置及び情報推定方法 図2
  • 特許-情報推定装置及び情報推定方法 図3
  • 特許-情報推定装置及び情報推定方法 図4
  • 特許-情報推定装置及び情報推定方法 図5
  • 特許-情報推定装置及び情報推定方法 図6
  • 特許-情報推定装置及び情報推定方法 図7
  • 特許-情報推定装置及び情報推定方法 図8
  • 特許-情報推定装置及び情報推定方法 図9
  • 特許-情報推定装置及び情報推定方法 図10
  • 特許-情報推定装置及び情報推定方法 図11
  • 特許-情報推定装置及び情報推定方法 図12
  • 特許-情報推定装置及び情報推定方法 図13
  • 特許-情報推定装置及び情報推定方法 図14
  • 特許-情報推定装置及び情報推定方法 図15
  • 特許-情報推定装置及び情報推定方法 図16
  • 特許-情報推定装置及び情報推定方法 図17
  • 特許-情報推定装置及び情報推定方法 図18
  • 特許-情報推定装置及び情報推定方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-25
(45)【発行日】2022-04-04
(54)【発明の名称】情報推定装置及び情報推定方法
(51)【国際特許分類】
   G06N 3/08 20060101AFI20220328BHJP
   G06N 3/04 20060101ALI20220328BHJP
【FI】
G06N3/08 180
G06N3/04
【請求項の数】 14
(21)【出願番号】P 2018175558
(22)【出願日】2018-09-20
(65)【公開番号】P2020047010
(43)【公開日】2020-03-26
【審査請求日】2021-02-16
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(74)【代理人】
【識別番号】100093067
【弁理士】
【氏名又は名称】二瓶 正敬
(72)【発明者】
【氏名】安達 仁吾
【審査官】多賀 実
(56)【参考文献】
【文献】特開2018-106463(JP,A)
【文献】特開平5-225163(JP,A)
【文献】特開2019-139482(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークを使用して推定処理を行う情報推定装置であって、
前記ニューラルネットワーク内における処理対象データの一部をドロップアウトさせるドロップアウト層と、前記ドロップアウト層から出力されたデータに対して重みの計算を行う全結合層との組み合わせからなる少なくとも1つの一体化層が最終層として設けられているエンコーダであって、前記エンコーダからの出力値である潜在空間での出力値として多次元確率変数ベクトルを出力するように構成されており、所定の学習データの特徴量を事前に学習した状態である、エンコーダと、
入力データに対して前記エンコーダが出力した前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布を、多変量混合ガウス分布として解析的に計算するエンコーダ出力分布形状計算部と、
前記エンコーダ出力分布形状計算部において解析的に計算された多変量混合ガウス分布の特徴に基づいて、前記入力データが前記所定の学習データの特徴量を有する学習済みデータであるか否かを判定する分布特徴判定部とを、
有する情報処理装置。
【請求項2】
前記分布特徴判定部において、前記多変量混合ガウス分布の特徴として、前記多変量混合ガウス分布の分布形状を用いるように構成されている請求項1に記載の情報処理装置。
【請求項3】
前記分布特徴判定部が、
前記多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を特定する情報と楕円形状である前記ガウス分布のそれぞれの長軸方向を特定する情報とを用いて、前記潜在空間における原点と前記ガウス分布の位置とを結ぶ線と、前記ガウス分布の長軸方向とがなす角度の絶対値の平均値を計算し、
前記角度の絶対値の平均値が所定の閾値より小さい場合には、前記入力データが、前記学習済みデータであると判定し、前記角度の絶対値の平均値が所定の閾値以上の場合には、前記入力データが前記学習済みデータではないと判定するように構成されている請求項2に記載の情報処理装置。
【請求項4】
前記分布特徴判定部において、前記多変量混合ガウス分布の特徴として、前記潜在空間における前記多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を用いるように構成されている請求項1に記載の情報処理装置。
【請求項5】
基準線との角度及び原点からの距離で定義される円座標で前記潜在空間が表され、前記多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を特定する円座標の角度及び距離について、
前記分布特徴判定部が、
ガウス分布のそれぞれの位置を特定する円座標の角度の標準偏差を計算し、
ガウス分布のそれぞれの位置を特定する円座標の距離の平均値及び標準偏差を計算し、さらに、前記距離の標準偏差に対して、事前分布の微分関数に前記距離の平均値を代入した値を掛けた計算結果を補正された距離の標準偏差とし、
前記角度の標準偏差に第1の定数を掛けた値と、前記補正された距離の標準偏差に第2の定数を掛けた値との和を判定スコアとして、前記判定スコアが所定の閾値より小さい場合には、前記入力データが前記学習済みデータであると判定し、前記判定スコアが所定の閾値以上の場合には、前記入力データが前記学習済みデータではないと判定するように構成されている請求項4に記載の情報処理装置。
【請求項6】
基準線との角度及び原点からの距離で定義される円座標で前記潜在空間が表され、前記多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を特定する円座標の角度及び距離について、
前記分布特徴判定部が、
ガウス分布のそれぞれの位置を特定する円座標の角度の標準偏差を計算し、
ガウス分布のそれぞれの位置を特定する円座標の距離を、ガウス分布とみなした事前分布のマハラノビス距離に変換して、前記マハラノビス距離の標準偏差を計算し、
前記角度の標準偏差に第1の定数を掛けた値と、前記マハラノビス距離の標準偏差に第2の定数を掛けた値との和を判定スコアとして、前記判定スコアが所定の閾値より小さい場合には、前記入力データが前記学習済みデータであると判定し、前記判定スコアが所定の閾値以上の場合には、前記入力データが前記学習済みデータではないと判定するように構成されている請求項4に記載の情報処理装置。
【請求項7】
前記潜在空間での出力値の次元数nzが3次元以上の場合には、nz次元に含まれる各次元を組み合わせたすべての2次元ペアを考え、
前記分布特徴判定部において、前記判定スコアとして、前記2次元ペアのそれぞれにおいて計算されたスコアの総和を用いるように構成されている請求項5又は6に記載の情報処理装置。
【請求項8】
ニューラルネットワークを使用して推定処理を行う情報推定方法であって、
前記ニューラルネットワーク内における処理対象データの一部をドロップアウトさせるドロップアウト層と、前記ドロップアウト層から出力されたデータに対して重みの計算を行う全結合層との組み合わせからなる少なくとも1つの一体化層が最終層として設けられているエンコーダであって、前記エンコーダからの出力値である潜在空間での出力値として多次元確率変数ベクトルを出力するように構成されているエンコーダにおいて、所定の学習データの特徴量を学習させる学習ステップと、
入力データに対して前記エンコーダが出力した前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布を、多変量混合ガウス分布として解析的に計算するエンコーダ出力分布形状計算ステップと、
前記エンコーダ出力分布形状計算ステップにおいて解析的に計算された多変量混合ガウス分布の特徴に基づいて、前記入力データが、前記所定の学習データの特徴量を有する学習済みデータであるか否かを判定する分布特徴判定ステップとを、
有する情報処理方法。
【請求項9】
前記分布特徴判定ステップにおいて、前記多変量混合ガウス分布の特徴として前記多変量混合ガウス分布の分布形状を用いる請求項8に記載の情報処理方法。
【請求項10】
前記分布特徴判定ステップが、
前記多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を特定する情報と楕円形状である前記ガウス分布のそれぞれの長軸方向を特定する情報とを用いて、前記潜在空間における原点と前記ガウス分布の位置とを結ぶ線と、前記ガウス分布の長軸方向とがなす角度の絶対値の平均値を計算するステップと、
前記角度の絶対値の平均値が所定の閾値より小さい場合には、前記入力データが前記学習済みデータであると判定し、前記角度の絶対値の平均値が所定の閾値以上の場合には、前記入力データが前記学習済みデータではないと判定するステップとを有する請求項9に記載の情報処理方法。
【請求項11】
前記分布特徴判定ステップにおいて、前記多変量混合ガウス分布の特徴として、前記潜在空間における前記多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を用いる請求項8に記載の情報処理方法。
【請求項12】
基準線との角度及び原点からの距離で定義される円座標で前記潜在空間が表され、前記多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を特定する円座標の角度及び距離について、
前記分布特徴判定ステップが、
ガウス分布のそれぞれの位置を特定する円座標の角度の標準偏差を計算するステップと、
ガウス分布のそれぞれの位置を特定する円座標の距離の平均値及び標準偏差を計算し、さらに、前記距離の標準偏差に対して、事前分布の微分関数に前記距離の平均値を代入した値を掛けた計算結果を補正された距離の標準偏差とするステップと、
前記角度の標準偏差に第1の定数を掛けた値と、前記補正された距離の標準偏差に第2の定数を掛けた値との和を判定スコアとして、前記判定スコアが所定の閾値より小さい場合には、前記入力データが前記所定の学習済みデータであると判定し、前記判定スコアが所定の閾値以上の場合には、前記入力データが前記学習済みデータではないと判定するステップとを有する請求項11に記載の情報処理方法。
【請求項13】
基準線との角度及び原点からの距離で定義される円座標で前記潜在空間が表され、前記多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を特定する円座標の角度及び距離について、
前記分布特徴判定ステップが、
ガウス分布のそれぞれの位置を特定する円座標の角度の標準偏差を計算するステップと、
ガウス分布のそれぞれの位置を特定する円座標の距離を、ガウス分布とみなした事前分布のマハラノビス距離に変換して、前記マハラノビス距離の標準偏差を計算するステップと、
前記角度の標準偏差に第1の定数を掛けた値と、前記マハラノビス距離の標準偏差に第2の定数を掛けた値との和を判定スコアとして、前記判定スコアが所定の閾値より小さい場合には、前記入力データが前記学習済みデータであると判定し、前記判定スコアが所定の閾値以上の場合には、前記入力データが前記学習済みデータではないと判定するステップとを有する請求項11に記載の情報処理方法。
【請求項14】
前記潜在空間での出力値の次元数nzが3次元以上の場合には、nz次元に含まれる各次元を組み合わせたすべての2次元ペアを考え、
前記分布特徴判定ステップにおいて、前記判定スコアとして、前記2次元ペアのそれぞれにおいて計算されたスコアの総和を用いる請求項12又は13に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークを用いた推定処理を行う情報推定装置及び情報推定方法に関する。特に、本発明は、ドロップアウトを用いたエンコーダによる情報推定装置及び情報推定方法に関する。
【背景技術】
【0002】
ニューラルネットワーク(NN: Neural Network)を用いた推定器は、他の推定器と比べ、画像やセンサー信号データなど、大量の情報を入力データとして処理し、推定を行うことができることから様々な分野への応用に期待されている。
【0003】
ニューラルネットワークには、オートエンコーダ(Auto-encoder)と呼ばれるものが存在する。オートエンコーダはニューラルネットワークによる教師無し学習器であり、典型的には、オートエンコーダのニューラルネットワークの多層構造において、入力層で次元数を意味するニューロン数が多く、徐々に後続の層のニューロンの数が減っていき、中心部分の潜在空間を表す層で最も次元数が圧縮されニューロンの数が少なくなる。一方、中心部分の潜在空間を表す層以降では、逆にニューロンの数が増えていき、最後の出力層ではニューロンの数が入力層と同じになる構造を有している。すなわち、入力層の次元数と出力層の次元数は同一であり、中心部分の潜在空間を表す層の次元数は、入力層及び出力層の次元数よりも少なく設定される。なお、入力層から潜在空間を表す層までの前半部分はエンコーダと呼ばれ、潜在空間を表す層から出力層までの後半部分はデコーダと呼ばれる。
【0004】
ラベルのない学習データ(nXin次元のベクトルデータX)を入力すると、まずエンコーダで、次元数を減らした潜在空間のデータ(nz次元のベクトルデータz:潜在変数とも呼ばれる)に圧縮される。潜在空間の中では、データzは元データの類似度に応じて複数の塊に集まって存在する。さらに、その圧縮された空間のデータzがデコーダを通り、入力Xを復元(Reconstruction)することができる。これが古典的なオートエンコーダであり、固定値である入力Xに基づいてオートエンコーダから出力される値は、入力Xと同様にある固定値に一意的に決まり、決定論的(Deterministic)である。
【0005】
それに対し、確率的要素を含んだもの、すなわち、ある固定された入力Xに対して毎回計算ごとに出力値が変わる確率的な(Stochastic)オートエンコーダとして、非特許文献1には、バリエーショナルオートエンコーダ(Variational AutoEncoder、以降、VAEと略す)が提案されている。
【0006】
図19は、従来技術におけるVAEの一例を模式的に示す図である。図19に示すように、入力X(nXin次元のベクトル)は、ニューラルネットワークで構成されたエンコーダを通り、エンコーダから、ガウス分布の平均(nz次元)と分散値(nz次元)とが出力される。また、エンコーダの出力結果に基づいてある具体的なzの値がサンプリングされて、ニューラルネットワークで構成されたデコーダに入力され、デコーダからnXout次元のベクトルが出力される。なお、デコーダからの出力は、入力Xと同じとなるよう最適化され、入力と出力の次元数は同じ(nXin=nXout)である。
【0007】
また、オートエンコーダは、推定対象データに対して、「学習済みのデータ」か、見たこともない「未学習のデータ」かの判定を行うことができる。推定対象データが学習済みのデータの場合には、オートエンコーダ内のエンコーダで圧縮された後、デコーダを通って復元される出力データは、入力されたデータに“近い”ものとして復元される。したがって、ある推定対象データを入力データとしてエンコーダに入れた場合にデコーダから出力される出力データが、入力データをどれだけ復元できるか計算することで、推定対象データが学習済みのデータであるか否かを判定することができる。推定対象データが学習済みのデータであるか否かを判定する判定方法としては、例えば、推定対象データが画像の例では、出力された画像の各ピクセルの色調や輝度が、入力された画像のピクセルの色調や輝度と同じかどうかを平方根二乗誤差を用いて計算し、その計算結果を平均して類似度を計算する方法が挙げられる。上記の判定方法に類似した従来の試みは、例えば、下記の非特許文献2(特に、Figure 8(c),(d))に開示されている。
【先行技術文献】
【非特許文献】
【0008】
【文献】“Auto-Encoding Variational Bayes”, Diederik P. Kingma, Max Welling:2013年12月20日(https://arxiv.org/abs/1312.6114から取得可能)
【文献】Christian Leibig, Vaneeda Allken, Murat Seckin Ayhan, Philipp Berens and Siegfried Wahl, "Leveraging uncertainty information from deep neural networks for disease detection", 2017年10月18日https://www.biorxiv.org/content/biorxiv/early/2017/10/18/084210.full.pdf
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、オートエンコーダへの入力データとオートエンコーダからの出力データとを比較することで類似度を計算する従来の手法を用いた場合、入力データ及び出力データの数が多く、類似度を判定する計算に時間がかかるという問題がある。特に、入力データが画像の場合には、入力データ及び出力データの数が多くなる。例えば、縦横300ピクセルのRGBデータの場合には、入力データとして入力されるデータ数は300×300×3個であり、同様に、出力データのデータ数も300×300×3個である。入力された画像と出力された画像との類似度を判定するためには、上記のようにデータ数の多い入力データと出力データとを比較する必要があり、さらに、画像の大きさ(ピクセル数)や色の数が多くなればなるほど、類似度を判定する計算により長い時間を要する。
【0010】
上記の課題を解決するため、本発明は、オートエンコーダに入力される推定対象データが学習済みのデータであるか否かを精度良く判定し、かつ、判定に要する処理負荷や時間を低減することが可能な情報処置装置及び情報処理方法を提供することを目的とする。なお、本明細書では、「学習済みのデータ」とは、オートエンコーダが特徴量を学習している学習データと一致するデータ、若しくは、この学習データに近い(類似している)データを意味し、すなわち、この学習データの特徴量を有するデータを意味する。また、「未学習のデータ」とは、学習済みのデータと判定されなかったデータを意味する。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明によれば、ニューラルネットワークを使用して推定処理を行う情報推定装置であって、
前記ニューラルネットワーク内における処理対象データの一部をドロップアウトさせるドロップアウト層と、前記ドロップアウト層から出力されたデータに対して重みの計算を行う全結合層との組み合わせからなる少なくとも1つの一体化層が最終層として設けられているエンコーダであって、前記エンコーダからの出力値である潜在空間での出力値として多次元確率変数ベクトルを出力するように構成されており、所定の学習データの特徴量を事前に学習した状態である、エンコーダと、
入力データに対して前記エンコーダが出力した前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布を、多変量混合ガウス分布として解析的に計算するエンコーダ出力分布形状計算部と、
前記エンコーダ出力分布形状計算部において解析的に計算された多変量混合ガウス分布の特徴に基づいて、前記入力データが、前記所定の学習データの特徴量を有する学習済みデータであるか否かを判定する分布特徴判定部とを、
有する情報処理装置が提供される。
【0012】
また、上記目的を達成するため、本発明によれば、ニューラルネットワークを使用して推定処理を行う情報推定方法であって、
前記ニューラルネットワーク内における処理対象データの一部をドロップアウトさせるドロップアウト層と、前記ドロップアウト層から出力されたデータに対して重みの計算を行う全結合層との組み合わせからなる少なくとも1つの一体化層が最終層として設けられているエンコーダであって、前記エンコーダからの出力値である潜在空間での出力値として多次元確率変数ベクトルを出力するように構成されているエンコーダにおいて、所定の学習データの特徴量を学習させる学習ステップと、
入力データに対して前記エンコーダが出力した前記潜在空間での出力値である多次元確率変数ベクトルが従う確率分布を、多変量混合ガウス分布として解析的に計算するエンコーダ出力分布形状計算ステップと、
前記エンコーダ出力分布形状計算ステップにおいて解析的に計算された多変量混合ガウス分布の特徴に基づいて、前記入力データが、前記所定の学習データの特徴量を有する学習済みデータか否かを判定する分布特徴判定ステップとを、
有する情報処理方法が提供される。
【発明の効果】
【0013】
本発明は、推定対象データが学習済みのデータであるか、あるいは、未学習のデータであるかを精度良く判定でき、かつ、判定に要する処理負荷や時間を低減できるという効果を有する。また、本発明は、学習データの特徴量を正確にとらえた、より安心して利用できる信頼性の高い推定器を実現できるという効果を有する。
【図面の簡単な説明】
【0014】
図1】本発明の第1の実施の形態におけるオートエンコーダの第1の例を模式的に示す図である。
図2】本発明の第1の実施の形態におけるオートエンコーダの第1の例に関して、DF層の詳細を示す図である。
図3】本発明の第1の実施の形態におけるオートエンコーダの第2の例を示す図である。
図4】本発明の第1の実施の形態におけるオートエンコーダの第2の例に関して、DF層の詳細を示す図である。
図5】本発明の第1の実施の形態における情報推定装置の構成の一例を示すブロック図である。
図6】本発明の第1の実施の形態に係る実験において、入力データがMNISTデータ(学習済みのデータ)である場合における潜在空間の分布の計算結果を示す図であり、図6(a)は、入力データがMNISTデータの数字「1」の画像における潜在空間の分布を示す図であり、図6(b)は、入力データがMNISTデータの数字「5」の画像における潜在空間の分布を示す図であり、図6(c)は、入力データがMNISTデータの数字「5」の別の画像における潜在空間の分布を示す図であり、図6(d)は、入力データがMNISTデータの数字「0」の画像における潜在空間の分布を示す図である。
図7】本発明の第1の実施の形態に係る実験において、入力データがNotMNISTデータ(未学習のデータ)である場合における潜在空間の分布の計算結果を示す図であり、図7(a)は、入力データがNotMNISTデータの文字「g」の画像における潜在空間の分布を示す図であり、図7(b)は、入力データがNotMNISTデータの文字「E」の画像における潜在空間の分布を示す図であり、図7(c)は、入力データがNotMNISTデータの文字「G」の画像における潜在空間の分布を示す図であり、図7(d)は、入力データがNotMNISTデータの文字「A」の画像における潜在空間の分布を示す図である。
図8】本発明の第1の実施の形態において、学習済みのデータを入力データとした場合における潜在空間の分布と事前分布とを模式的に示すイメージ図である。
図9】本発明の第1の実施の形態に係る第1の手法に関して、ガウス分布の原点に対する向きを定量的に表すことを説明するための図である。
図10】本発明の第1の実施の形態に係る第1の手法で計算される平均角度の値を、MNISTデータとNotMNISTデータに分けて行ったヒストグラムの図である。
図11図10に示すヒストグラムの分離状態を評価するためのリコール(再現率)と精度との関係を表す曲線を示す図である。
図12】本発明の第1の実施の形態に係る第1の手法における判定処理の一例を示すフローチャートである。
図13】本発明の第1の実施の形態に係る第1の手法では判定できない例を示す図であり、混合ガウス分布を構成する各ガウス分布がまとまっていない状態を示す図である。
図14】本発明の第2の実施の形態において、混合ガウス分布を構成する各ガウス分布の中心位置を円座標の角度で表した場合を説明するための図である。
図15】本発明の第2の実施の形態において、混合ガウス分布を構成する各ガウス分布の中心位置を円座標の原点からの距離で表した場合を説明するための図である。
図16】本発明の第2の実施の形態において、事前分布によって混合ガウス分布が存在する空間が歪められていることを説明するための図である。
図17】本発明の第2の実施の形態に係る第2の手法における判定処理の一例を示すフローチャートである。
図18】本発明の第2の実施の形態に係る第3の手法における判定処理の一例を示すフローチャートである。
図19】従来技術におけるVAEの一例を模式的に示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の第1及び第2の実施の形態について説明する。
【0016】
<第1の実施の形態>
まず、本発明の第1の実施の形態について説明する。本発明の第1の実施の形態では、オートエンコーダの潜在空間での出力値zを、出力値zの分布を決定づけるパラメータとするのではなく、前述の古典的なオートエンコーダと同様に出力値zそのものであるようにし、かつ、出力値zを、古典的なオートエンコーダの場合のような決定論的なある値とするのではなく、ある確率分布からサンプリングされた確率変数とする。また、本発明の第1の実施の形態では、オートエンコーダにドロップアウト層を設ける。なお、通常、ドロップアウト層は過学習を防ぐための正則化に使用される。したがって、ニューラルネットワークの学習時にのみドロップアウトを機能させ、テスト時にはドロップアウトを機能させないことが一般的である。これに対して、本発明の第1の実施の形態では、学習時だけではなく、テスト時にもドロップアウトを機能させた状態で、推定結果が毎回変化する確率的なオートエンコーダが実現される。
【0017】
具体的には、本発明の第1の実施の形態では、エンコーダを構成するニューラルネットワーク内にドロップアウト層を追加することで、固定値である入力データに対して、エンコーダから出力される値を確率変数に変換する。さらに、ドロップアウトによるベルヌーイ分布がニューラルネットワーク上でどのような形状で伝搬するかを解析的に計算することで、その確率変数の分布形状を計算する。なお、本発明の第1の実施の形態におけるオートエンコーダの技術的思想は本発明者によって想到されたものであり、本願出願時には非公開である特許出願(特願2018-21943号)に係る明細書及び図面に記載されている。以下、このオートエンコーダの構成について、図1図4を参照しながら説明する。
【0018】
図1は、本発明の第1の実施の形態におけるオートエンコーダの第1の例を模式的に示す図であり、図2は、本発明の第1の実施の形態におけるオートエンコーダの第1の例に関して、DF層の詳細を示す図である。また、図3は、本発明の第1の実施の形態におけるオートエンコーダの第2の例を示す図であり、図4は、本発明の第1の実施の形態におけるオートエンコーダの第2の例に関して、DF層の詳細を示す図である。なお、図1及び図2に示す例では、エンコーダにドロップアウト層が1つ設けられており、図3及び図4に示す例では、エンコーダにドロップアウト層が2つ設けられている。
【0019】
本発明の第1の実施の形態におけるオートエンコーダでは、古典的なオートエンコーダのエンコーダに、入力データの一部を欠損させてランダム性を生むドロップアウト層と、重みの計算を行う全結合(Fully Connected:FC)層を設ける。これにより、オートエンコーダに入力された入力データは、ドロップアウト層を通ることで常に同じ値とはならず、オートエンコーダ毎回異なる値が出力される確率的なオートエンコーダが実現される。なお、このドロップアウト層とFC層から出力される値の分布は解析的に計算することが可能である。本明細書では簡易表現のため、ドロップアウト層及びFC層を組み合わせた一体化層をDF層と呼び、ドロップアウト層における計算処理とFC層における計算処理が一緒に行われるものとして説明する。
【0020】
まず、エンコーダにドロップアウト層が1つ設けられた場合について説明する。図1には、エンコーダにドロップアウト層が1つ設けられた場合が図示されている。図19に示す従来のVAEでは、潜在空間での値の次元数はzの確率分布のパラメータの数であったのに対し、図1に示すオートエンコーダでは、本発明の第1の実施の形態では、潜在空間での値の次元数はzの次元数nzそのものとなる。
【0021】
また、図2には、エンコーダにドロップアウト層が1つ設けられた場合におけるエンコーダのDF1層が図示されている。なお、図2は、図1のエンコーダに含まれるドロップアウト層及びFC層の部分を抜き出して図示したものである。図2のDF1層への入力値XinDF1は固定値であり、その出力XoutDF1はドロップアウト層によって変換された確率変数である。出力XoutDF1の確率分布は、例えば、以下の計算方法を用いて計算することができる。
【0022】
DF1層への入力をXinDF1、出力をXoutDF1とし、DF1層のドロップアウト層にあらかじめ設定されたドロップアウト率(データをランダムに欠損させる確率)をpDrop DF1とする。また、DF1層のFC層にあらかじめ設定された重みをWi,j DF1とし、バイアスをbi DF1とする。ただし、添え字i及びjは、1≦i≦nXout DF1、1≦j≦nXin DF1を満たす整数である。なお、明細書中の表記nXin DF1は、nの下付き添字がXinDF1であることを表し、明細書中の表記nXout DF1は、nの下付き添字がXoutDF1であることを表す。
【0023】
DF1層への入力XinDF1は固定値であり、定数からなるnXin DF1次元のベクトルであって、以下のように表される。
【0024】
【数1】
【0025】
一方、DF1層からの出力XoutDF1は、以下のように表される。
【0026】
【数2】
【0027】
DF1層からの出力XoutDF1は、nXout DF1次元のベクトルであり、このベクトルXoutDF1のi番目の要素は以下のとおりである。
【0028】
【数3】
【0029】
ここで、ドロップアウト層におけるドロップアウトにより、右辺のWi,j DF1XinDF1 j項(1≦j≦nXin DF1)が、確率pdrop DF1でランダムに消える(ゼロとなる)。したがって、各項の和である左辺のXoutDF1 iは“サンプリング和”としてとらえて計算することができる。このことから、出力XoutDF1は確率変数であり、例えば、以下のようなnXout DF1次元の多変量ガウス分布に従う確率変数であるとする。
【0030】
【数4】
【0031】
ただし、μout DF1は、平均値を示すnXout DF1次元のベクトル、Σout DF1は、nXout DF1×nXout DF1の分散共分散行列である。平均値μout DF1及び分散共分散行列Σout DF1は、以下の式から得られる。
【0032】
【数5】
【0033】
【数6】
【0034】
【数7】
【0035】
【数8】
【0036】
図2のDF1層からの出力は、図1のオートエンコーダのエンコーダからの出力であり、エンコーダから出力される潜在空間における値zの確率分布qφ(z|x)に対応している。これより表記について、XoutDF1をzに、μout DF1をμzに、Σout DF1をΣzに、nXin DF1をnhに、nXout DF1をnzにそれぞれ置き換えることができ、エンコーダから出力される潜在空間における値zは、以下の多変量ガウス分布として表される。
【0037】
【数9】
【0038】
ただし、μzはnz次元のベクトル、Σzはnz×nzの分散共分散行列である。
【0039】
次に、エンコーダにドロップアウト層が2つ設けられた場合について説明する。図3には、より複雑な場合として、エンコーダにドロップアウト層が2つ設けられた場合が図示されている。また、図4には、エンコーダにドロップアウト層が2つ設けられた場合におけるエンコーダのDF1層、ReLu(Rectified Linear Unit)層、DF2層が図示されている。なお、図4は、図3のエンコーダに含まれる2つのドロップアウト層及びFC層と、これらの間に挟まれたReLu層の部分を抜き出して図示したものである。以下、DF層が2つ存在する場合の計算方法について説明する。
【0040】
図4の場合、ReLu層を挟んで、2つのDF層、すなわちDF1層及びDF2層が設けられている。1つ目のDF1層への入力、出力は上述のとおりである。また、DF1層とDF2層の間にあるReLu層などの非線形関数の計算方法としては、例えば、特許文献1に挙げたような多変量ガウス近似として計算する方法や、単純に、ガウス関数が負の領域にあるか正の領域にあるかの判断で近似して計算する方法などが使用可能であるが、本発明はこれらの計算方法に限定されるものではない。
【0041】
以下、2つ目のDF2層への入力、出力について説明する。DF2層への入力をXinDF2、出力をXoutDF2とし、DF2層のドロップアウト率をpDrop DF2とする。また、DF2層のFC層の重みをWi,j DF2とし、バイアスをbi DF2とする。ただし、添え字i及びjは、1≦i≦nXout DF2、1≦j≦nXin DF2を満たす整数である。なお、明細書中の表記nXin DF2は、nの下付き添字がXinDF2であることを表し、明細書中の表記nXout DF2は、nの下付き添字がXoutDF2であることを表す。
【0042】
DF2層への入力XinDF2、出力XoutDF2は両方とも、多変量ガウス分布に従う確率変数となり、以下のように表される。
【0043】
【数10】
【0044】
ただし、μin DF2はnXin DF2次元のベクトル、Σin DF2はnXin DF2×nXin DF2の分散共分散行列であり、μout DF2はnXout DF2次元のベクトル、Σout DF2はnXout DF2×nXout DF2の分散共分散行列である。
【0045】
平均値に関しては、以下のように計算できる。
【0046】
【数11】
【0047】
また、分散共分散行列に関しては、以下のように計算できる。
【0048】
【数12】
【0049】
【数13】
【0050】
【数14】
【0051】
【数15】
【0052】
上記の右辺の第1項に関しては、以下のように計算できる。
【0053】
【数16】
【0054】
【数17】
【0055】
図4のDF2層からの出力は、図3のオートエンコーダのエンコーダからの出力であり、エンコーダから出力される潜在空間における値zの確率分布qφ(z|x)に対応している。したがって、ドロップアウト層が1つ存在する場合と同様に、表記について、XoutDF2をzに、μout DF2をμzに、Σout DF2をΣzに、nXin DF2をnhに、nXout DF2をnzにそれぞれ置き換えることができ、エンコーダから出力される潜在空間における値zは、以下の多変量ガウス分布として表される。
【0056】
【数18】
【0057】
なお、ここでは、ドロップアウト層が2つ存在する場合について説明しているが、ドロップアウト層が3つ以上存在していてもよい。例えば、DF2層からの出力値が更なるドロップアウト層(3つ目のドロップアウト層)に入力されてもよく、この場合も、上述したDF2層における計算方法と同様の計算方法によって、更なるドロップアウト層からの出力値を求めることができる。
【0058】
以上のように、本発明の第1の実施の形態では、固定値である入力データをドロップアウトによって確率変数に変換して確率分布を生じさせ、解析計算方法により、その確率分布を計算する。また、この計算結果を、従来技術におけるVAEと同様に、正則化の条件に使用する。すなわち、下記の式で表される確率分布qφ(z|x)が、下記の式で表される事前分布pθ(z)とあまりに異ならないよう、同じ形状に留めるための条件を課す。
【0059】
【数19】
【0060】
例えば、上記の確率分布qφ(z|x)と事前分布pθ(z)とが同じ形状に留まっているかを判定するため、下記の式を利用する。
【0061】
【数20】
【0062】
上式のDKLは、多変量ガウス分布のKLダイバージェンス(KL Divergence)を意味し、2つの関数がどれだけ近いか、距離を表す0以上の値を返す関数である。このKLダイバージェンスを使って、2つの多変量ガウス分布の距離を最小にするようなコスト関数を設定する。
【0063】
本発明の第1の実施の形態のオートエンコーダにおける計算方法は、非特許文献1に開示されている従来技術の計算方法と比較すると、共分散の値を計算している点で大きく異なっている。すなわち、非特許文献1では共分散の値を求めておらず、共分散の値をゼロの値としており、あるいは、共分散の値を求めるためにはさらにニューロンの数を増やす必要があったのに対し、本発明の第1の実施の形態では、エンコーダのより少ないニューロンの数でありながら、上述した解析計算によって共分散の値の計算も行っている。
【0064】
また、本発明の第1の実施の形態における計算方法によれば、オートエンコーダの出力が入力データを再現できるかという条件の判定について、従来技術に係るVAEの判定より簡単に行うことができる。従来技術によれば、エンコーダの出力値はzの確率分布のパラメータであるため、例えばデコーダに入力するための値を得るためには、さらにその確率分布を作って、zの値をサンプリングしなければならない。一方、本発明の第1の実施の形態では、エンコーダの出力そのものが、zの値であり、すなわち、エンコーダの出力値をそのままデコーダの入力値として使用することができる。
【0065】
また、本発明の第1の実施の形態では、ドロップアウト率は、エンコーダから出力される出力値zの確率分布を表現するために使用されることから、例えばドロップアウト層が1つの場合は、ドロップアウト率は相対的に大きい値(例えば、0.6以上の値)とすることが望ましい。
【0066】
次に、本発明の第1の実施の形態における処理を実行することが可能な情報推定装置について説明する。図5は、本発明の第1の実施の形態における情報推定装置の構成の一例を示すブロック図である。図5に示す情報推定装置10は、ニューラルネットワークを用いて推定処理を行う推定器であり、オートエンコーダ計算部20、エンコーダ出力分布形状計算部30、コスト関数計算部40、パラメータ最適化計算部50、分布特徴判定部60を有する。
【0067】
図5に示すブロック図は、本発明に関連した機能を表しているにすぎず、実際の実装では、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されてもよい。ソフトウェアで実装される機能は、1つ又は複数の命令若しくはコードとして任意のコンピュータ可読媒体に記憶され、これらの命令又はコードは、CPU(Central Processing Unit:中央処理ユニット)やGPU(Graphics Processing Unit:グラフィックスプロセッシングユニット)などのハードウェアベースの処理ユニットによって実行可能である。また、本発明に関連した機能は、IC(Integrated Circuit:集積回路)やICチップセットなどを含む様々なデバイスによって実現されてもよい。
【0068】
オートエンコーダ計算部20は、ニューラルネットワークにより構成されたエンコーダ及びデコーダを含むオートエンコーダを有し、入力Xについてエンコーダ及びデコーダで計算処理を行って、出力Xを出力する機能を有する。オートエンコーダ計算部20における計算に用いられるオートエンコーダは、図1図4を参照しながら説明したように、1つ又は2つ以上のドロップアウト層がエンコーダ内に設けられており、ドロップアウト層においてデータの一部がランダムに欠損される。これにより、オートエンコーダのエンコーダからの出力(潜在空間における出力)の値zを確率変数とすることができる。
【0069】
エンコーダ出力分布形状計算部30は、入力Xがエンコーダでドロップアウトによってどのような確率分布の形状になったかを解析的に計算する機能を有する。エンコーダ出力分布形状計算部30は、例えば、入力X、ドロップアウト層におけるドロップアウト率、パラメータ(例えば、FC層における重み及びバイアス)から、潜在空間における出力値zの分布形状を計算することができる。
【0070】
コスト関数計算部40は、ドロップアウトによるエンコーダ出力分布形状計算部30で計算された分布形状(潜在空間における出力値zの分布形状)から正則化の条件を満たすか計算し、さらに、オートエンコーダ計算部20によって算出されて出力される出力Xが入力Xとどれだけ似ているかを計算することで、これら2つの計算結果を合わせた全体のコスト関数の値を計算する機能を有する。
【0071】
パラメータ最適化計算部50は、コスト関数計算部40で計算されたコスト関数の値が最適化されるように、オートエンコーダ計算部20で参照した重み及びバイアスをどの値に最適化するのかを計算する機能を有する。パラメータ最適化計算部50は、コスト関数の値が最小になるようパラメータ(重み及びバイアス)を計算し、この計算の結果得られたパラメータはオートエンコーダ計算部20に供給されて、オートエンコーダのパラメータが更新される。
【0072】
上記の構成では、学習フェーズにおいて、大量の学習データに対して繰返し最適化が行われることで、オートエンコーダから最適解が得られるように最適化が行われる。学習フェーズでは、学習データがオートエンコーダに入力されると、オートエンコーダ計算部20は、オートエンコーダのエンコーダにおいて潜在空間での値zを計算する。また、エンコーダ出力分布形状計算部30は、ドロップアウト率、入力X、パラメータ(重み、バイアス)から、潜在空間での値zの分布形状を計算して、コスト関数計算部40に供給する。オートエンコーダ計算部20は、さらに、潜在空間での値zを用いて、オートエンコーダのデコーダの出力Xを計算して、コスト関数計算部40に供給する。コスト関数計算部40は、潜在空間での値zの分布形状に係る情報に基づいて正則化の条件を満たすかを計算し、さらに、出力Xが入力Xとどれだけ似ているかを計算して、これらの2つの計算結果を合わせた全体のコスト関数の値を計算する。そして、パラメータ最適化計算部50は、コスト関数計算部40で計算されたコスト関数の値が最小になるようパラメータ(重み及びバイアス)を計算し、この計算結果に基づいて、オートエンコーダ計算部20におけるオートエンコーダのパラメータが更新される。上記一連の処理を、大量の学習データについて繰り返し実行することで、オートエンコーダの学習が行われる。
【0073】
本発明の第1の実施の形態における情報処理装置10は、上記の構成に加えて、本発明に特徴的な分布特徴判定部60を更に有する。分布特徴判定部60は、エンコーダ出力分布形状計算部30において解析的に計算された確率分布の形状(すなわち、潜在空間における出力値zが従う確率分布の形状)に基づき、入力データが学習済みのデータであるか、あるいは、未学習のデータであるかを判定する機能を有する。具体的には、分布特徴判定部60は、潜在空間における出力値zが従う確率分布が、入力データが学習済みのデータである場合に特徴的な形状を有しているか否かを判定する機能を有する。
【0074】
なお、分布特徴判定部60は、オートエンコーダの前半部であるエンコーダからの出力値(すなわち、潜在空間における出力値z)がエンコーダ出力分布形状計算部30によって解析的に計算された確率分布の形状に基づいて、入力データが学習済みのデータであるか、未学習のデータであるかを判定する。したがって、オートエンコーダにおいて学習を行う際(学習フェーズ)にはエンコーダ及びデコーダにおける計算処理を必要とするものの、一方、分布特徴判定部60において判定を行う際には、オートエンコーダの前半部であるエンコーダにおける計算のみを行い、オートエンコーダの後半部であるデコーダでの計算(例えば、入力データが画像である場合には、潜在変数zを基にした画像の復元)を行う必要はない。
【0075】
以下、具体的に、学習済みの画像データ(正確には、学習済みの特徴を有する画像データ)がオートエンコーダに入力された場合に、潜在空間での出力値zが従う確率分布の形状に見られる独特な特徴について説明する。
【0076】
ここで、オートエンコーダへのデータを入力xとし、ニューラルネットワークの学習すべき重みやバイアスのパラメータをパラメータθとし、潜在空間での値を出力値zとすると、潜在空間の分布はz~pθ(z|x)と表記される。潜在空間の分布pθ(z|x)の形状は、入力x、ネットワークのパラメータθ、ドロップアウト率(例えば0.6とする)を使って、エンコーダ出力分布形状計算部30により解析的に計算可能であり、nz次元の多変量混合ガウス分布として表される。
【0077】
以下、潜在空間の次元数nz=2として実際に計算を行った実験結果について述べる。この実験では、実際にコンピュータを用いて、上述した図5に示す情報処理装置10を構築し、また、入力データとしては、本発明に係る技術分野で利用されているMNISTデータ(0~9の手書き数字の画像セット)と、NotMNISTデータ(手書き数字以外の記号やアルファベットの画像セット)を使用している。
【0078】
この実験では、まず、学習フェーズとして、図5に示す情報処理装置10の一部の機能(具体的には、オートエンコーダ計算部20、エンコーダ出力分布形状計算部30、コスト関数計算部40、パラメータ最適化計算部50の各機能)によって、MNISTデータのみを学習データとして用いてオートエンコーダに学習を行わせる。次に、オートエンコーダの学習が完了した状態で、テストフェーズを実行する。テストフェーズでは、図5に示す情報処理装置10の一部の機能(具体的には、オートエンコーダ計算部20のエンコーダ、エンコーダ出力分布形状計算部30、分布特徴判定部60の各機能)が用いられる。テストフェーズにおいては、MNISTデータ又はNotMNISTデータをオートエンコーダ計算部20に入力してエンコーダで計算を行わせ、エンコーダからの出力値(潜在空間での出力値)に基づいて、その出力値が従う確率分布の形状をエンコーダ出力分布形状計算部30に計算させる。そして、エンコーダ出力分布形状計算部30の計算結果である確率分布の形状に基づく判定を分布特徴判定部60に行わせ、入力データがMNISTデータの場合には、事前に特徴量を学習している特徴学習済みデータ(学習済みのデータ)と判定し、入力データがNotMNISTデータの場合には、事前に学習している特徴量が見当たらないデータ(未学習のデータ)であると判定することができるかを評価している。
【0079】
図6(a)~(d)に、入力データがMNISTデータ(学習済みのデータ)である場合における潜在空間の分布pθ(z|x)の計算結果を示す。図6(a)は、入力データがMNISTデータの数字「1」の画像における潜在空間の分布を示す図であり、図6(b)は、入力データがMNISTデータの数字「5」の画像における潜在空間の分布を示す図であり、図6(c)は、入力データがMNISTデータの数字「5」の別の画像における潜在空間の分布を示す図であり、図6(d)は、入力データがMNISTデータの数字「0」の画像における潜在空間の分布を示す図である。
【0080】
また、図7(a)~(d)に、入力データがNotMNISTデータ(未学習のデータ)である場合における潜在空間の分布pθ(z|x)の計算結果を示す。図7(a)は、入力データがNotMNISTデータの文字「g」の画像における潜在空間の分布を示す図であり、図7(b)は、入力データがNotMNISTデータの文字「E」の画像における潜在空間の分布を示す図であり、図7(c)は、入力データがNotMNISTデータの文字「G」の画像における潜在空間の分布を示す図であり、図7(d)は、入力データがNotMNISTデータの文字「A」の画像における潜在空間の分布を示す図である。
【0081】
図6(a)~(d)及び図7(a)~(d)には、100000回のモンテカルロ的な計算を行った結果を合成した場合の潜在空間の分布(2次元:うっすらと点群の雲で表記、1次元:ヒストグラム)と、解析的な計算を行った場合の潜在空間の分布(2次元:等高線、1次元:曲線)の分布が図示されている。なお、図面上では、2次元上の点群の雲で表されているモンテカルロ的な計算結果の分布は判別しにくいが、モンテカルロ的な計算結果に係る分布と、解析的な計算結果に係る分布とはほぼ一致しており、このことから、解析的な計算結果に係る分布が正しい分布であると判断できる。
【0082】
なお、解析計算に係る潜在空間の分布は、2次元の混合ガウス分布であり、下記の式(1)のように、定数ck、nz次元の平均ベクトルμk、nz×nz次元の分散共分散行列Σkで表される。なお、下記の式(1)において、Mixは混合ガウス分布の混合数であり、図6(a)~(d)及び図7(a)~(d)の例では、それぞれ16個(Mix=16)のガウス分布が重なり合った混合ガウス分布が図示されている。
【0083】
【数21】
【0084】
入力データがMNISTデータ(学習済みのデータ)である場合の解析計算に係る潜在空間の分布(図6(a)~(d))は、明らかに、その分布形状に共通の特徴が見られる。具体的には、学習済みのデータの場合の分布形状は、Mix個のガウス分布が重なり合って1つのガウス分布となっており、かつ、そのガウス分布の楕円形状の長軸が原点の方向を向いている(原点から放射状に広がる)という共通の特徴を有している。Mix個のガウス分布が重なり合うことで構成される1つのガウス分布は、図6(a)では原点から左下の方向へ広がり、図6(b)では原点から右上の方向へ広がり、図6(c)では原点から右の方向へ広がり、図6(d)では原点から上の方向へ広がっている。このように放射状に広がる理由は、学習を通して、分布が最適化するために課された条件によるものであると考えられる。その理論的な説明について、以下に述べる。
【0085】
ドロップアウトを用いて学習させることは、非特許文献1においても指摘されているように、暗示的に変分法が適用されていると解釈できる。この解釈に基づくと、本発明の第1の実施の形態におけるオートエンコーダにおいては、下記の式(2)のような学習の最適化の目的関数L(θ;x)が書ける。
【0086】
【数22】
【0087】
目的関数L(θ;x)は変分法の最下限(Evidence Lower Bound)と呼ばれるもので、入力された学習データxに対して目的関数L(θ;x)の値を最大にするようなネットワークのパラメータθを求めることが最適化、すなわち学習するということになる。qθ(z|x)が、ここで言う、入力データxが与えられた場合の潜在変数zの確率分布pθ(z|x)の近似解となる。つまり、最適化された後、qθ(z|x)≒pθ(z|x)が成り立つ。
【0088】
上記の式(2)のDKLは、前述のようにKLダイバージェンス(KL Divergence)を意味し、2つの関数がどれだけ近いか、距離を表す0以上の値を返す関数である。上記の式(2)は2つの項からなり、右辺第1項は正則項、右辺第2項は復元項とも呼ばれる。
【0089】
右辺第2項の復元項は、例えば数字「1」、「2」の画像などのような各々異なる入力データに対して潜在空間における分布pθ(z|x)も当然重なってはいけない、という意味を持っている。仮に、例えば数字「1」、「2」のような異なる数字に係る分布が潜在空間内で重なっている場合には、デコーダにおいて、重なった領域に存在する点から正確な数字を復元することはできない。したがって、復元項は、最適化において、個々の分布同士が重ならないようにする役割を果たし、復元項によっていわゆる“斥力”が働くとみなすことができる。
【0090】
一方、右辺第1項の正則項は、入力データの潜在空間における分布pθ(z|x)に対し、事前に決められたある事前分布pθ(z)から大きく異なってはいけないという意味を持っている。すなわち、正則項は、分布pθ(z|x)が事前分布pθ(z)の範囲から遠く離れて広がることを防ぐ役割を果たし、正則項によって分布pθ(z|x)と事前分布pθ(z)との間にいわゆる“引力”が働くとみなすことができる。そのイメージを図8に示す。
【0091】
図8では、図6(a)~(d)及び図7(a)~(d)に図示されている2次元の潜在空間での分布pθ(z|x)が平面上に表されており、その分布の確率値が高さとして表されている。データx1、x2、x3の個々の分布qθ(z|x1)、分布qθ(z|x2)、分布qθ(z|x3)は、前述した復元項による斥力が働いて、お互いが重ならず遠ざかるように最適化される一方、大きな事前分布pθ(z)から離れずにできるだけ重なった状態にいなければいけないという引力でも最適化され、最終的にそれらの斥力と引力の2つの拘束条件のバランスが取れた定常状態で落ちつくと解釈できる。その結果、図6(a)~(d)に示すような、学習済みのMNISTデータが入力された場合における潜在空間の分布は、混合ガウス分布が他の混合ガウス分布とぶつからないようできるだけ小さくまとまり、かつ、事前分布にできるだけ重なり留まるよう、原点を中心として放射状に配置される。
【0092】
一方、図7(a)~(d)に図示されているような学習された数字の特徴を持たない画像であるNotMNISTデータは未学習のデータであるため、上記のような拘束条件をまったく無視した分布として存在する。
【0093】
本発明の第1の実施の形態では、学習済みのデータを入力データとした場合における潜在空間の分布にのみ見られる共通の形状的な特徴に着目し、ある入力データについての潜在空間の分布に関して、エンコーダ出力分布形状計算部30において、その分布形状を混合ガウス分布として解析的に計算し、さらに、分布特徴判定部60において、その形状の特徴を計算した計算結果を用いて、その入力データが学習済みのデータであるか否かの判定を行う。これにより、デコーダによる復元処理を行うことなく、エンコーダからの出力値(潜在空間での出力値)のみを用いて、入力データが学習済みのデータか否かを判定することが可能となる。
【0094】
上述のように、学習済みのデータを入力データとした場合における潜在空間の分布にのみ見られる共通の形状的な特徴から判定を行うためには、当該共通の形状的な特徴を何らかの形で定量的に表す必要がある。例えば、定量的に表す最も単純な手法として、当該共通の形状的な特徴は「ガウス分布が原点を向いている」ことであると考え、以下に説明する手法(以下、第1の手法と記載する)を提案する。
【0095】
第1の手法では、図9に示すように、ガウス分布の原点に対する向きを定量化する。例えば、混合ガウス分布を構成するMix個のガウス分布mのそれぞれに関して、ガウス分布mの中心位置と楕円形状の長軸とを計算し、各ガウス分布の中心位置から原点までの線と、各ガウス分布の中心位置からの長軸の線との2つの線がなす角度αmの絶対値を計算する。なお、ガウス分布の中心位置と長軸の座標は、ガウス関数の平均と分散共分散行列から求めることができる。そして、下記の式のように、各ガウス分布から計算された角度αmの平均(平均角度)をとることで、潜在空間の分布が学習済みのデータに共通した形状的な特徴(ガウス分布が原点を向いているという特徴)を有するか否かを判断する。
【0096】
【数23】
【0097】
上記のように計算された平均角度は、ガウス分布が原点を向いているほど小さくなるはずであり、ガウス分布が原点を向いているほうが、すなわち平均角度が小さいほうが、入力データが学習済みのデータの特徴を有していると言える。なお、ここでは、各ガウス分布の位置を特定する情報として各ガウス分布の中心位置を用いているが、これに限定されるものではない。各ガウス分布の位置が特定できるのであれば、厳密に各ガウス分布の中心位置を用いなくてもよい。
【0098】
以下、第1の手法が有効か否かを調べるための実験について述べる。この実験では、前述のようにMNISTデータのみで学習(バッチ数100、イタレーション4000回)させたオートエンコーダに、500枚のMNISTデータの画像と500枚のNotMNISTデータの画像の合計1000枚の画像を入力データとして入力し、エンコーダ出力分布形状計算部30において、それぞれの潜在空間での分布pθ(z|x)を2次元混合ガウス分布として解析的に計算させている。そして、分布特徴判定部60において、「ガウス分布が原点を向いている」か否かを表す指標となる平均角度を、入力データである1000枚の画像のそれぞれにおける潜在空間の分布を計算させている。
【0099】
この実験結果を視覚的に表すために、1000個の平均角度の値をMNISTデータとNotMNISTデータとに分けてヒストグラムでプロットした結果を、図10に示す。図10に示されるように、ガウス分布の平均角度を指標として学習済みのデータか否かを判定する第1の手法によって、学習済みのデータ及び未学習のデータに係る潜在空間の分布形状を、2つに大きく分けることができた。図10によれば、MNISTデータから得られる平均角度はゼロ付近に多く現れている一方、NotMNISTデータから得られる平均角度はゼロから離れた値に分散していることと判断できる。
【0100】
さらに、図10に示すMNISTデータ及びNotMNISTデータのヒストグラムから得られる、リコール(再現率)と精度との関係を表す曲線を、図11に示す。図11では、リコールと精度との関係を表す曲線が大きく右上の方向に突出しており、MNISTデータとNotMNISTデータの分離が効率良くできていることを表している。以上のように、図10及び図11によって、入力データに関する潜在空間のガウス分布が原点を向いているか否かを判定基準とする手法が有効であることが示される。
【0101】
実際に潜在空間のガウス分布が原点を向いているか否かを判定基準とする手法を用いる際には、例えば、ユーザが図11に示すようなリコールと精度のグラフを参照して、許容判定誤差を考慮しながら所望の閾値を指定することで、学習済みのデータと未学習のデータとを分離することができる。以下、図12のフローチャートを参照しながら、本発明の第1の実施の形態における判定処理の一例について説明する。
【0102】
図12に示す判定処理は、情報処理装置10が学習フェーズを事前に実行し(ステップS101)、オートエンコーダがすでに学習済みの状態であることを前提としている。推定したいデータx(入力データx)がオートエンコーダに入力されると(ステップS102)、オートエンコーダ計算部20は、オートエンコーダのエンコーダにおいて潜在空間での値zを計算する(ステップS103)。また、エンコーダ出力分布形状計算部30は、潜在空間での値zの分布を、混合ガウス分布として解析的に計算する(ステップS104)。
【0103】
この計算結果を受けた分布特徴判定部60は、混合ガウス分布を構成するガウス分布のそれぞれに関して、ガウス分布の中心位置と楕円形状の長軸とを計算し(ステップS105)、各ガウス分布の中心位置から原点までの線と、各ガウス分布の中心位置からの長軸の線との2つの線の角度αmの絶対値を計算する(ステップS106)。さらに、分布特徴判定部60は、各ガウス分布から計算された角度αmの平均(平均角度)を計算する(ステップS107)。そして、この平均角度がユーザによって設定された閾値より小さいか否かを判断し(ステップS108)、平均角度が閾値より小さい場合には、入力されたデータxは学習済みのデータであると判定し(ステップS109)、平均角度が閾値以上である場合には、入力されたデータxは未学習のデータであると判定する(ステップS110)。
【0104】
以上、本発明の第1の実施の形態について、潜在空間が2次元の場合(nz=2の場合)を一例に挙げて説明したが、潜在空間が3次元以上の場合に拡張することができる。例えば、潜在空間が3次元以上(nz≧3)の場合には、nz次元空間における各ガウス分布の平均角度を計算してもよい。
【0105】
<第2の実施の形態>
次に、本発明の第2の実施の形態について説明する。上述した第1の実施の形態に係る第1の手法では、混合ガウス分布を構成するガウス分布のそれぞれに関して、ガウス分布の中心位置と長軸とを計算している。しかしながら、例えば図7(d)の例のように、ガウス分布がつぶれてほぼ点のような形状になっている場合、コンピュータの計算精度から共分散がゼロになってしまい、長軸の向きを求めることができないことがある。あるいは、図13に示すように、混合ガウス分布を構成するガウス分布の長軸が原点を向いていても、それらが1つの混合ガウス分布としてコンパクトにまとまっていない場合がある。この場合、例えば、上記式(2)の復元項で表される他のガウス分布からの斥力が弱いため、単一の混合ガウス分布にコンパクトにまとまっていないと考えられる。これらの場合には、第1の実施の形態に係る第1の手法では、混合ガウス分布の形状の特徴を正確にとらえることができない。
【0106】
そこで、本発明の第2の実施の形態では、新たな手法として、「混合ガウス分布を構成する各ガウス分布の位置の広がり具合」を調べる手法を提案する。この手法によれば、例えば図7(d)に示すように混合ガウス分布を構成する各ガウス分布の中心位置がつぶれて長軸が計算できない場合や、図13に示すように各ガウス分布がまとまりなく分散してしまっている場合においても、判定処理を行えるようになる。以下、この手法について、図14図16を参照しながら説明する。なお、以下では、ガウス分布同士の中心位置の広がりを、デカルト座標(Cartesian座標)ではなく、角度と距離の2次元の円座標(2次元空間における極座標)で考える。
【0107】
混合ガウス分布を構成する各ガウス分布mの中心位置に係る角度は、2次元の円座標を用いた場合には、例えば図14に示すように、各ガウス分布mの中心位置と原点とを結ぶ線分と、原点を通って水平に伸びるx軸の正方向の線分との間の角度βmで表すことができる。なお、図14では、Mix個のガウス分布mのうち、m=1、m=2、m=Mで表されるガウス分布の中心位置に係る角度が示されている。
【0108】
下記の式で表されるように、各ガウス分布の角度βmの標準偏差を計算すれば、角度βmに関する位置の広がり(ばらつき、散らばり具合)を計算することができる。
【0109】
【数24】
【0110】
一方、混合ガウス分布を構成する各ガウス分布mの中心位置に係る距離は、2次元の円座標を用いた場合には、例えば図15に示すように、各ガウス分布mの中心位置と原点との距離rmで表すことができる。なお、図15では、Mix個のガウス分布mのうち、m=1、m=2、m=Mで表されるガウス分布の中心位置に係る距離が示されている。
【0111】
一方、各ガウス分布の距離rmに関しても、角度βmと同様に、下記の式(3)で表されるように標準偏差を計算したい。
【0112】
【数25】
【0113】
しかしながら、図8に示したように、ガウス分布の位置は事前分布の影響を大きく受けている。そのため、図16に示すように、事前分布によって空間が歪んでいるととらえることができ、2点間の距離は、事前分布の歪んだ面上に沿った距離であると考えることができる。このように、ある2つのガウス分布(m=1、2)のそれぞれの中心位置間の距離は、事前分布の歪んだ面に沿った距離であると考えることができる。例えば事前分布がガウス分布のような楕円形状であれば、原点に近いほど中心位置間の実際の距離は遠くなる傾向にある。
【0114】
このように、ガウス分布の中心位置を円座標で表した場合、ガウス分布の中心位置に係る角度は事前分布の影響を受けないが、一方、ガウス分布の中心位置に係る距離は、事前分布の影響によって歪みがあると考えることができる。
【0115】
以下、ガウス分布の中心位置に係る距離の歪みを考慮しながら、ガウス分布の中心位置に係る距離を計算する2つの手法を提案する。
【0116】
1つ目の手法(以下、第2の手法と記載する)は、事前分布の微分関数を用いて距離の標準偏差を補正することで、事前分布の歪みの影響を取り込む手法である。なお、第2の手法は、事前分布の歪んだ面に沿った距離の計算は負担がかかることを考慮したものであり、下記の式で表されるように、事前分布pθ(z)の距離rに関する1次微分f(r)を事前に求めておく。
【0117】
【数26】
【0118】
また、円座標における各ガウス分布mの中心位置と原点との距離rmをそのまま用いて、上式(3)のように、歪みを考慮しない距離rmの標準偏差値SDrを計算する。また、下記の式で表される各ガウス分布の中心位置の平均値を求める。
【0119】
【数27】
【0120】
そして、各ガウス分布の中心位置の平均値に相当する位置における事前分布pθ(z)の距離rに関する1次微分f(r)の値に、歪みを考慮しない距離rmの標準偏差値SDrの値を掛けることで、下記の式のように、事前分布の歪みを考慮した、各ガウス分布の距離rmの標準偏差SDr priorを計算する。
【0121】
【数28】
【0122】
最終的に、入力データが学習済みのデータか否かを判定するためのスコア(Score)として、下記の式のように、角度βmの標準偏差SDβと距離βmの標準偏差SDr priorとの和を計算する。
【0123】
【数29】
【0124】
なお、上式のcβ、crはスコアの重みを変えるための定数であり、適切な値に設定可能である。上式で計算されるスコアが大きいほど、混合ガウス分布を構成する各ガウス分布が分散しており、入力されたデータは未学習のデータであると言える。上式で計算されるスコアに対する閾値を設定することで、スコアが閾値より小さい場合には、入力されたデータは学習済みのデータであると判定し、スコアが閾値以上の場合には、入力されたデータは未学習のデータであると判定することができる。
【0125】
本発明の第2の実施の形態に係る第2の手法における情報処理装置は、上述した第1の実施の形態における情報処理装置10(図5に示す構成)とほぼ同じ構成を有しているが、分布特徴判定部60の機能のみ異なっている。
【0126】
図17に、本発明の第2の実施の形態に係る第2の手法における判定処理の一例を示す。第2の手法に係る判定処理は、情報処理装置10が学習フェーズを事前に実行し(ステップS201)、オートエンコーダがすでに学習済みの状態であることを前提としている。推定したいデータx(入力データx)がオートエンコーダに入力されると(ステップS202)、オートエンコーダ計算部20は、オートエンコーダのエンコーダにおいて潜在空間での値zを計算する(ステップS203)。また、エンコーダ出力分布形状計算部30は、潜在空間での値zの分布を、混合ガウス分布として解析的に計算する(ステップS204)。
【0127】
この計算結果を受けた分布特徴判定部60は、混合ガウス分布を構成するガウス分布のそれぞれに関して、各ガウス分布の中心位置を表す角度(円座標)の標準偏差を計算し(ステップS205)、各ガウス分布の中心位置を表す距離(円座標)の平均値及び標準偏差を計算し(ステップS206)、距離の標準偏差に対して、事前分布の微分関数に距離の平均値を代入した値を掛けた計算を行って、その計算結果を補正された距離の標準偏差とする(ステップS207)。
【0128】
さらに、分布特徴判定部60は、角度の標準偏差に定数cβを掛けた値と、補正された距離の標準偏差に定数crを掛けた値との和を計算する(ステップS208)。そして、この和がユーザによって設定された閾値より小さいか否かを判断し(ステップS209)、和が閾値より小さい場合には、入力されたデータxは学習済みのデータであると判定し(ステップS210)、この和が閾値以上である場合には、入力されたデータxは未学習のデータであると判定する(ステップS211)。
【0129】
次に、2つ目の手法(以下、第3の手法と記載する)について説明する。第3の手法は、事前分布のマハラノビス距離を利用して、事前分布の歪みの影響を取り込む手法である。
【0130】
事前分布pθ(z)がガウス関数であるか、若しくはガウス関数であると近似できる場合には、原点から各ガウス分布の中心位置までの距離を、下記の式に示すように事前分布pθ(z)のマハラノビス距離rm priorで計算することができる。なお、Spriorは事前分布pθ(z)の分散共分散行列である。
【0131】
【数30】
【0132】
そして、下記の式に示すように、原点から各ガウス分布mの中心位置までのマハラノビス距離rm priorの標準偏差を計算する。
【0133】
【数31】
【0134】
この後は、第2の手法と同様に、入力データが学習済みのデータか否かを判定するためのスコア(Score)として、角度βmの標準偏差SDβとマハラノビス距離βmの標準偏差SDr priorとの和(第1の手法と同様、適切な重みを設定してもよい)を計算することで、スコアの値に基づく判定を行うことができる。
【0135】
本発明の第2の実施の形態に係る第3の手法における情報処理装置は、上述した第1の実施の形態における情報処理装置10(図5に示す構成)とほぼ同じ構成を有しているが、分布特徴判定部60の機能のみ異なっている。
【0136】
図18に、本発明の第2の実施の形態に係る第3の手法における判定処理の一例を示す。第3の手法に係る判定処理は、情報処理装置10が学習フェーズを事前に実行し(ステップS301)、オートエンコーダがすでに学習済みの状態であることを前提としている。推定したいデータx(入力データx)がオートエンコーダに入力されると(ステップS302)、オートエンコーダ計算部20は、オートエンコーダのエンコーダにおいて潜在空間での値zを計算する(ステップS303)。また、エンコーダ出力分布形状計算部30は、潜在空間での値zの分布を、混合ガウス分布として解析的に計算する(ステップS304)。
【0137】
この計算結果を受けた分布特徴判定部60は、混合ガウス分布を構成するガウス分布のそれぞれに関して、各ガウス分布の中心位置を表す角度(円座標)の標準偏差を計算し(ステップS305)、各ガウス分布の中心位置を表す距離(円座標)を、ガウス分布とみなした事前分布のマハラノビス距離に変換して(ステップS306)、マハラノビス距離の標準偏差を計算する(ステップS307)。
【0138】
さらに、分布特徴判定部60は、角度の標準偏差に定数cβを掛けた値と、マハラノビス距離の標準偏差に定数crを掛けた値との和を計算する(ステップS308)。そして、この和がユーザによって設定された閾値より小さいか否かを判断し(ステップS309)、和が閾値より小さい場合には、入力されたデータxは学習済みのデータであると判定し(ステップS310)、この和が閾値以上である場合には、入力されたデータxは未学習のデータであると判定する(ステップS311)。
【0139】
以上、本発明の第2の実施の形態について、潜在空間が2次元の場合(nz=2の場合)を一例に挙げて説明したが、潜在空間が3次元以上の場合に拡張することができる。例えば、潜在空間が3次元以上(nz≧3)の場合には、nz次元に含まれる各次元のペア(考えられるすべての2次元ペア)を考え、各2次元ペアにおける2次元空間でのスコアを計算し、すべての2次元ペアにおけるスコアの総和をnz次元全体のスコアとみなしてもよい。
【0140】
以上説明したように、本発明の第1及び第2の実施の形態では、入力データに対してエンコーダが出力した潜在空間での出力値(多次元確率変数ベクトル)が従う確率分布を、多変量混合ガウス分布として解析的に計算し、計算された多変量混合ガウス分布の特徴に基づいて、入力データが所定の学習データの特徴量を有する学習済みデータであるか否かを判定する。本発明の第1の実施の形態に係る第1の手法では、多変量混合ガウス分布の特徴として、多変量混合ガウス分布の分布形状(ガウス分布が原点を向いているという特徴)を用いる。一方、本発明の第2の実施の形態では、多変量混合ガウス分布の特徴として、潜在空間における多変量混合ガウス分布を構成するガウス分布のそれぞれの位置を用い、第2の手法では事前分布の歪んだ面の影響を受けたガウス分布の位置を用いる。
【0141】
また、以上説明したように、本発明の第1及び第2の実施の形態では、エンコーダの出力値である潜在空間での出力値zに基づいて、入力データ(推定対象データ)が学習済みのデータであるか、あるいは未学習のデータであるかを判定している。すなわち、このように判定結果が正しいか否かを確認することは、オートエンコーダ内部における値(潜在空間での出力値z)が学習データの特徴量を正確にとらえたものであるか否かを確認することを意味している。このことから、判定結果が正しいと確認されたオートエンコーダは、学習データの特徴量を正確にとらえたものであり、より安心して利用できる信頼性の高いオートエンコーダであると言える。なお、例えば学習が不十分な状態のオートエンコーダは、学習データの特徴量を正確にとらえていないものの、正しく推定できているように見える適当な推定結果を出力する場合があるが、本発明に係る判定結果を確認すれば、このような状態を検出することが可能である。
【産業上の利用可能性】
【0142】
本発明は、ニューラルネットワークを使用した推定技術に適用可能である。本発明によれば、オートエンコーダに入力される推定対象データが、推定対象データが学習済みのデータであるか否かを精度良く判定し、かつ、判定に要する処理負荷や時間を低減することが可能である。また、本発明によれば、より安心して利用できる信頼性の高いオートエンコーダを実現することが可能である。
【符号の説明】
【0143】
10 情報推定装置
20 オートエンコーダ計算部
30 エンコーダ出力分布形状計算部
40 コスト関数計算部
50 パラメータ最適化計算部
60 分布特徴判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19