(57)【要約】【課題】変分オートエンコーダにおいて潜在変数の平均及び分散の学習の精度を向上させる。【解決手段】入力データを次元圧縮して第１の潜在変数を生成する第１のエンコーダと、前記第１の潜在変数を復元して出力データを生成するデコーダと、を備える変分オートエンコーダと、前記出力データを次元圧縮して第２の潜在変数を生成する第２のエンコーダと、前記第１の潜在変数と前記第２の潜在変数との誤差である潜在変数誤差を含む損失関数が最小化するように前記変分オートエンコーダのパラメータを学習する学習部と、を備えることを特徴とする、学習装置である。【選択図】図１
2020154561.tif 000002
【特許請求の範囲】
【請求項１】
入力データを次元圧縮して第１の潜在変数を生成する第１のエンコーダと、前記第１の潜在変数を復元して出力データを生成するデコーダと、を備える変分オートエンコーダと、
前記出力データを次元圧縮して第２の潜在変数を生成する第２のエンコーダと、
前記第１の潜在変数と前記第２の潜在変数との誤差である潜在変数誤差を含む損失関数が最小化するように前記変分オートエンコーダのパラメータを学習する学習部と、
を備えることを特徴とする、学習装置。
【請求項２】
前記損失関数は、前記入力データと前記出力データとの復元誤差と、前記潜在変数誤差と、からなる関数であることを特徴とする、請求項１に記載の学習装置。
【請求項３】
前記第１のエンコーダと前記第２のエンコーダとは同一のニューラルネットワークであることを特徴とする、請求項１又は２に記載の学習装置。
【請求項４】
前記潜在変数誤差は、前記第１の潜在変数と前記第２の潜在変数との平均二乗誤差であることを特徴とする、請求項１から請求項３のいずれか一項に記載の学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置に関する。
【背景技術】
【０００２】
深層学習における生成モデルとして、変分オートエンコーダ（ＶＡＥ：Variational Auto Encoder）が提案されている（例えば、特許文献１）。
【０００３】
ところで、変分オートエンコーダは、多次元正規分布で表現される潜在変数ｚの平均と分散を出力する。この潜在変数ｚの平均及び分散の学習では、損失関数に正則化誤差（例えば、ＫＬダイバージェンス）を用いている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１５２００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、正則化誤差は、潜在変数ｚの空間が原点周りになるようにペナルティをかけるものである。したがって、潜在変数ｚの平均及び分散の学習は、あくまでも正則化であって、潜在変数ｚを直接真の値に近づける学習ではない。そのため、潜在変数ｚの平均及び分散の学習の精度を向上させる上で改善の余地がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、その目的は、変分オートエンコーダにおいて潜在変数の平均及び分散の学習の精度を向上させる学習装置を提供することである。
【課題を解決するための手段】
【０００７】
（１）本発明の一態様は、入力データを次元圧縮して第１の潜在変数を生成する第１のエンコーダと、前記第１の潜在変数を復元して出力データを生成するデコーダと、を備える変分オートエンコーダと、前記出力データを次元圧縮して第２の潜在変数を生成する第２のエンコーダと、前記第１の潜在変数と前記第２の潜在変数との誤差である潜在変数誤差を含む損失関数が最小化するように前記変分オートエンコーダのパラメータを学習する学習部と、を備えることを特徴とする、学習装置である。
【０００８】
（２）上記（１）の学習装置であって、前記損失関数は、前記入力データと前記出力データとの復元誤差と、前記潜在変数誤差と、からなる関数であってもよい。
【０００９】
（３）上記（１）又は上記（２）の学習装置であって、前記第１のエンコーダと前記第２のエンコーダとは同一のニューラルネットワークであってもよい。
【００１０】
（４）上記（１）から上記（３）のいずれかの学習装置であって、前記潜在変数誤差は、前記第１の潜在変数と前記第２の潜在変数との平均二乗誤差であってもよい。
【発明の効果】
【００１１】
以上説明したように、本発明によれば、変分オートエンコーダにおいて潜在変数の平均及び分散の学習の精度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る学習装置Ａの機能部の一例を示す図である。
【図２】本実施形態に係る変分エンコーダ２の構成図である。
【図３】本実施形態に係る学習装置Ａの学習方法の流れを説明する図である。
【図４】従来の損失関数で学習した場合の入出力画像と、本実施形態に係る損失関数Ｌ（潜在変数誤差Ｒが平均二乗誤差（ＭＳＥ）の場合）で学習した場合の入出力画像を比較した図である。
【発明を実施するための形態】
【００１３】
以下、本実施形態に係る学習装置を、図面を用いて説明する。
【００１４】
図１は、本実施形態に係る学習装置Ａの機能部の一例を示す図である。学習装置Ａは、変分オートエンコーダ（ＶＡＥ：Variational Auto Encoder）２を用いて、学習データである入力データの特徴を学習する。ここで、入力データとは、例えば画像データである。
なお、本実施形態に係る学習装置Ａは、情報処理装置であって、ＣＰＵ又はＭＰＵなどのマイクロプロセッサ、ＭＣＵなどのマイクロコントローラなどにより構成されてよい。
【００１５】
以下に、本実施形態に係る学習装置Ａの各機能部について説明する。
図１に示すように、学習装置Ａは、入力データ取得部１、変分オートエンコーダ２、エンコーダ３及び学習部４を備える。
【００１６】
入力データ取得部１は、学習データとして入力画像Ｇを取得する。例えば、入力画像Ｇは、外部に設けられた撮像装置（不図示）が撮像対象物を撮像した撮像画像（例えば、超音波検査の検査画像）である。なお、例えば、入力データ取得部１は、上記撮像画像を入力画像Ｇとして当該撮像装置から直接取得してもよい。また、入力データ取得部１は、学習装置Ａの外部又は内部に設けられた格納部（不図示）に格納されている上記撮像画像を入力画像Ｇとして読み込むことで取得してもよい。なお、入力画像Ｇは、本発明の「入力データ」の一例である。
【００１７】
ここで、例えば、学習装置Ａが撮像対象物の異常を上記撮像画像から検知することを目的として学習する場合には、学習データとして用いられる入力画像Ｇは、すべて正常時の撮像対象物の撮像画像である。
【００１８】
変分オートエンコーダ２は、ニューラルネットワークによる教師なしの学習モデルであって、隠れ層のニューロン数を入力層の次元数よりも少なくすることによって、より少ない次元数で入力画像Ｇを再現するように次元削減を行うことができる。変分オートエンコーダ２は、図２に示すように、エンコーダ２ａで潜在変数ｚの平均ベクトルμと分散ベクトルσを求めることで、オートエンコーダに比べて低次元で抽象的な特徴を学習することができる。
【００１９】
図２は、本実施形態に係る変分オートエンコーダ２の構成図である。
図２に示すように、変分オートエンコーダ２は、エンコーダ２ａ（第１のエンコーダ）及びデコーダ２ｂを備える。
エンコーダ２ａは、入力画像Ｇを次元圧縮して、多次元正規分布で表現される第１の潜在変数ｚ１の平均μ１と分散σ１とを求める。そして、エンコーダ２ａは、この平均μ１と分散σ１とに基づいて多次元正規分布から潜在変数ｚ１（以下、「第１の潜在変数ｚ１」という。）をサンプリングすることで求める。エンコーダ２ａは、サンプリングにより求めた第１の潜在変数ｚ１をデコーダ２ｂ及び学習部４に出力する。このエンコーダ２ａは、ニューラルネットワークである。
【００２０】
デコーダ２ｂは、第１の潜在変数ｚ１を入力として、第１の潜在変数ｚ１を復元して出力画像Ｇ´を生成する。このデコーダ２ｂは、ニューラルネットワークである。
デコーダ２ｂは、第１の潜在変数ｚ１から復元した出力画像Ｇ´をエンコーダ３及び学習部４のそれぞれに出力する。なお、出力画像Ｇ´は、本発明の「出力データ」の一例である。
【００２１】
次に、本実施形態に係るエンコーダ３（第２のエンコーダ）について説明する。
エンコーダ３は、変分オートエンコーダ２の後段に設けられている。具体的には、エンコーダ３は、入力がデコーダ２ｂの出力に接続されており、出力が学習部４に接続されている。
【００２２】
エンコーダ３は、出力画像Ｇ´を次元圧縮して、多次元正規分布で表現される潜在変数ｚ２の平均μ２と分散σ２とを求める。そして、エンコーダ３は、この平均μ２と分散σ２とに基づいて多次元正規分布から潜在変数ｚ２（以下、「第２の潜在変数ｚ２」という。）をサンプリングすることで求める。エンコーダ３は、サンプリングにより求めた第２の潜在変数ｚ２を学習部４に出力する。エンコーダ３は、ニューラルネットワークであって、例えばエンコーダ２ａと同一の構成を備えてもよい。すなわち、エンコーダ３とエンコーダ２ａとは、同一のニューラルネットワークであってもよい。
【００２３】
学習部４は、出力画像Ｇ´が入力画像Ｇになるように変分オートエンコーダ２のパラメータを学習する。例えば、当該パラメータは、エンコーダ２ａの重みやデコーダの重みである。
【００２４】
学習部４は、第１の潜在変数ｚ１及び第２の潜在変数ｚ２を取得する。例えば、学習部４は、エンコーダ２ａの出力から第１の潜在変数ｚ１を取得する。また、学習部４は、エンコーダ３の出力から第２の潜在変数ｚ２を取得する。
そして、学習部４は、第１の潜在変数ｚ１と第２の潜在変数ｚ２との誤差である潜在変数誤差Ｒを求め、その潜在変数誤差Ｒを含む損失関数Ｌが最小化するように変分オートエンコーダ２のパラメータを学習する。ここで、本実施形態に係る潜在変数誤差Ｒは、第１の潜在変数ｚ１と第２の潜在変数ｚ２との差の絶対値（＝|｜ｚ１−ｚ２|｜）であるが、これに限定されず、第１の潜在変数ｚ１と第２の潜在変数ｚ２とのＲＭＳＥ（Root Mean Square Error）でもよいし、ＭＳＥ（Mean Squared Error）でもよいし、ＭＡＥ（Mean Absolute Error）でもよい。
【００２５】
具体的には、学習部４は、入力画像Ｇ及び出力画像Ｇ´を取得する。例えば、学習部４は、入力データ取得部１から入力画像Ｇを取得する。また、学習部４は、変分オートエンコーダ２の出力から出力画像Ｇ´を取得する。
学習部４は、入力画像Ｇと出力画像Ｇ´との誤差である復元誤差（Reconstruction Error）Ｅを求める。復元誤差Ｅは、交差エントロピーを用いた誤差関数でもよいし、交差エントロピー以外の誤差関数（例えば、ＲＭＳＥ（Root Mean Square Error）やＭＳＥ（Mean Squared Error）、ＭＡＥ（Mean Absolute Error）等を用いて誤差関数）でもよい。
【００２６】
そして、学習部４は、潜在変数誤差Ｒと復元誤差Ｅとからなる関数、すなわち潜在変数誤差Ｒと復元誤差Ｅとを加算した関数を損失関数Ｌ（Ｌ＝Ｒ＋Ｅ）とする。例えば、入力画像ＧがＸとした場合には、損失関数Ｌは以下の式（１）で与えられる。
【００２７】
【数１】
2020154561.tif 000003
【００２８】
そして、学習部４は、損失関数Ｌを最小化するように変分オートエンコーダ２のパラメータを学習する。なお、この学習には、例えば、誤差逆伝播法（back propagation）が用いられる。
なお、従来の変分オートエンコーダでの学習に用いられる損失関数は、復元誤差ＥとＫＬダイバージェンスによる正則化誤差とからなる関数である。一方、本実施形態の損失関数Ｌは、正則化誤差を用いず、復元誤差Ｅと潜在変数誤差Ｒとからなる関数である。したがって、学習部４は、潜在変数ｚ１を直接真の値に近づける学習を行うことができ、潜在変数ｚ１の平均μ１及び分散σ１をより高い精度で学習することができる。
【００２９】
次に、本実施形態に係る学習装置Ａの学習方法の流れを、図３を用いて説明する。図３は、本実施形態に係る学習装置Ａの学習方法の流れを説明する図である。
本実施形態に係る学習装置Ａの学習方法は、変分オートエンコーダ２に入力される入力画像Ｇと変分オートエンコーダ２から出力される出力画像Ｇ´との復元誤差Ｅと、エンコーダ２ａの出力される第１の潜在変数ｚ１とエンコーダ３から出力される第２の潜在変数ｚ２との潜在変数誤差Ｒと、からなる損失関数Ｌを求め、その損失関数Ｌを最小化するように、変分オートエンコーダ２のパラメータを調整することで学習するステップを含む。
【００３０】
具体的には、この学習するステップは、第１の取得ステップ、第２の取得ステップ、第１の算出ステップ、第２の算出ステップ及び調整ステップを備える。
学習部４は、第１の取得ステップとして、入力データ取得部１から入力画像Ｇを取得し、デコーダ２ｂの出力から出力画像Ｇ´を取得する（ステップＳ１０１）。
学習装置Ａは、第２の取得ステップとして、エンコーダ２ａの出力から第１の潜在変数ｚ１を取得し、エンコーダ３の出力から第２の潜在変数ｚ２を取得する（ステップＳ１０２）。
【００３１】
学習部４は、第１の算出ステップとして入力画像Ｇと出力画像Ｇ´との誤差である復元誤差Ｅを求める（ステップＳ１０３）。また、学習部４は、第２の算出ステップとして、第１の潜在変数ｚ１と第２の潜在変数ｚ２との誤差である潜在変数誤差Ｒを求める（ステップＳ１０４）。そして、学習装置Ａは、調整ステップとして、復元誤差Ｅと潜在変数誤差Ｒとを加算した損失関数Ｌを求め、損失関数Ｌが最小化するように変分オートエンコーダ２のパラメータを調整することで学習を行う（ステップＳ１０５）。
【００３２】
次に、本実施形態に係る効果について、図４を用いて説明する。図４は、従来の損失関数で学習した場合の入出力画像と、本実施形態に係る損失関数Ｌ（潜在変数誤差Ｒが平均二乗誤差（ＭＳＥ）の場合）で学習した場合の入出力画像を比較した図である。
【００３３】
従来の損失関数は、復元誤差と正則化誤差とからなる関数である。一方、本実施形態に係る損失関数Ｌは、正則化誤差を用いることなく、復元誤差と潜在変数誤差Ｒとからなる関数である。したがって、図４に示すように、本実施形態の学習装置Ａは、潜在変数ｚ１の平均μ１及び分散σ１をより高い精度で学習することができる。その結果、学習装置Ａは、変分オートエンコーダ２の復元性能を向上させることできる。
【００３４】
次に、実施例として、上記の学習方法で学習した変分オートエンコーダ２を用いて撮像対象物の異常検知を行った場合について説明する。
本実施例では、撮像対象物とは、ハニカム構造体であって、例えば、シート状に形成されたハニカム構造の金属（以下、「ハニカムシート」という。）である。そして、本実施例の異常検知は、所定の部材（例えば、ＦＲＰ等の樹脂部材）とハニカム構造体とを接着させた場合の接着状態（以下、単に「接着状態」という。）の異常を検知するものである。具体的には、本実施例の異常検知は、ハニカムシートと樹脂部材との接着面を超音波で検査した検査画像から、本実施形態の変分オートエンコーダ２を用いて接着状態の異常を検知するものである。
【００３５】
ここで、超音波で検査した検査画像では、ハニカムシートと所定の部材との接着ができていない（接着状態が異常である）箇所が白く映る。すなわち、超音波で検査した検査画像では、ハニカムシートと所定の部材との接着ができていない箇所でハニカムの周期性が消失する。したがって、異常検知では、このハニカムの周期性が消失した領域を抽出することで接着状態の異常を検知可能である。
【００３６】
ここで、異常検知の検知方法について、説明する。
本実施形態の学習方法で学習した学習済みの変分オートエンコーダ２は、入力画像Ｇと出力画像Ｇ´とが同じになるように正常の入力画像の特徴を学習している。したがって、学習済みの変分オートエンコーダ２は、どんな画像が入力されても正常な入力画像に近づけた出力画像を生成することができる。
【００３７】
したがって、異常検知において、正常の検査画像（ハニカムの周期性が消失した領域がない検査画像）を入力画像として学習済みの変分オートエンコーダ２に入力された場合には、当該変分オートエンコーダ２から出力される出力画像は、入力画像と差がない。一方、異常検知において、異常の検査画像（ハニカムの周期性が消失した領域がある検査画像）を入力画像として学習済みの変分オートエンコーダ２に入力された場合には、当該変分オートエンコーダ２から出力される出力画像は、正常の検査画像の特徴に近づけた画像になる。そのため、出力画像では、入力画像と比較して、ハニカムの周期性が消失した領域がハニカムの形状に置き換わっている。したがって、出力画像と入力画像との間に差（すなわちハニカムの周期性が消失した領域の有無）が生じることになり、学習済みの変分オートエンコーダ２を有する異常検知装置（例えば、コンピュータ）は、この差を検知することで異常を検知することができる。
なお、本実施形態では、ハニカム構造体に対する樹脂等の部材の接着状態の異常検知を説明したが、本発明はこれに限定されず、ハニカム構造体でなくても、周期的な形状を有するものであればよい。
【００３８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００３９】
以上、説明したように、本実施形態に係る学習装置Ａは、入力画像Ｇを次元圧縮して第１の潜在変数ｚ１を生成するエンコーダ２ａと、第１の潜在変数ｚ１を復元して出力画像Ｇ´を生成するデコーダ２ｂと、を備える変分オートエンコーダ２を備える。また、学習装置Ａは、出力画像Ｇ´を次元圧縮して第２の潜在変数ｚ２を生成するエンコーダ３と、第１の潜在変数ｚ１と第２の潜在変数ｚ２との誤差である潜在変数誤差Ｒを含む損失関数Ｌが最小化するように変分オートエンコーダ２のパラメータを学習する学習部４と、をさらに備える。
【００４０】
このような構成によれば、学習装置Ａは、変分オートエンコーダ２において潜在変数の平均及び分散の学習の精度を向上させることができる。
【００４１】
なお、上述した学習装置Ａの全部または一部をコンピュータで実現するようにしてもよい。この場合、上記コンピュータは、ＣＰＵ、ＧＰＵなどのプロセッサ及びコンピュータ読み取り可能な記録媒体を備えてもよい。そして、上記学習装置Ａの全部または一部の機能をコンピュータで実現するためのプログラムを上記コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムを上記プロセッサに読み込ませ、実行することによって実現してもよい。ここで、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【符号の説明】
【００４２】
Ａ  学習装置
１  入力データ取得部
２  変分オートエンコーダ
２ａ  エンコーダ（第１のエンコーダ）
２ｂ  デコーダ
３  エンコーダ（第２のエンコーダ）
４  学習部
【図１】
2020154561.tif 000004
【図２】
2020154561.tif 000005
【図３】
2020154561.tif 000006
【図４】
2020154561.tif 000007