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

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

▶ 富士通株式会社の特許一覧

特許7435749推定プログラム、推定方法および情報処理装置
<>
  • 特許-推定プログラム、推定方法および情報処理装置 図1
  • 特許-推定プログラム、推定方法および情報処理装置 図2
  • 特許-推定プログラム、推定方法および情報処理装置 図3
  • 特許-推定プログラム、推定方法および情報処理装置 図4
  • 特許-推定プログラム、推定方法および情報処理装置 図5
  • 特許-推定プログラム、推定方法および情報処理装置 図6
  • 特許-推定プログラム、推定方法および情報処理装置 図7
  • 特許-推定プログラム、推定方法および情報処理装置 図8
  • 特許-推定プログラム、推定方法および情報処理装置 図9
  • 特許-推定プログラム、推定方法および情報処理装置 図10
  • 特許-推定プログラム、推定方法および情報処理装置 図11
  • 特許-推定プログラム、推定方法および情報処理装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】推定プログラム、推定方法および情報処理装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240214BHJP
【FI】
G06N20/00
【請求項の数】 6
(21)【出願番号】P 2022514299
(86)(22)【出願日】2020-04-10
(86)【国際出願番号】 JP2020016212
(87)【国際公開番号】W WO2021205669
(87)【国際公開日】2021-10-14
【審査請求日】2022-07-14
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鎌田 裕一
(72)【発明者】
【氏名】中川 章
(72)【発明者】
【氏名】加藤 圭造
【審査官】児玉 崇晶
(56)【参考文献】
【文献】Keizo Kato et al.,Rate-Distortion Optimization Guided Autoencoder for Isometric Embedding in Euclidean Latent Space [online],arXiv,[検索日 2023.08.31],2020年03月03日,Internet: <URL:https://arxiv.org/pdf/1910.04329v2.pdf>
【文献】上原雅俊 ほか,生成モデルを利用したX線写真に対する異常検知の試行と考察 [online],人工知能学会第二種研究会資料,2016年11月09日,2016巻 AIMED-002号,pp.10-1~10.5,[検索日 2023.08.31] Internet: <https://www.jstage.jst.go.jp/article/jsaisigtwo/2016/AIMED-002/2016_10/_article/-char/ja>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
符号化部と復号化部とを有する訓練済みの変分オートエンコーダに入力データを入力し、
前記入力に応じて前記訓練済みの変分オートエンコーダにより生成される潜在変数の確率分布を、前記符号化部から出力される標準偏差の大きさに基づいて、前記潜在変数から主成分座標への変換処理によって、第1の確率分布に変換し、
前記入力データに関する前記復号化部の出力誤差に基づき、前記第1の確率分布を第2の確率分布に変換し、
前記入力データの確率分布の推定値として、前記第2の確率分布を出力する、
処理をコンピュータに実行させることを特徴とする推定プログラム。
【請求項2】
前記変換処理は、
前記符号化部から前記潜在変数の確率分布の分布パラメータである前記標準偏差と平均とを取得する処理と、
前記主成分座標と前記潜在変数との間のスケールの変化率を、前記標準偏差の大きさを用いて算出する処理と、
前記標準偏差と前記平均と前記変化率とを用いて前記潜在変数を前記主成分座標へ変換する処理と、
を含むことを特徴とする請求項に記載の推定プログラム。
【請求項3】
前記第2の確率分布に変換する処理は、
前記第1の確率分布における主成分以外の確率分布を定数に設定し、入力データの前記スケールを設定する正規分布に従う前記出力誤差を用いて、前記第1の確率分布を第2の確率分布に変換する処理
を含むことを特徴とする請求項に記載の推定プログラム。
【請求項4】
前記入力データから生成された前記第2の確率分布に基づいて、特定の割合を占める確率が下位のデータを異常データ、または、前記第2の確率分布に基づいて、閾値以下の確率であるデータを異常データ、として検出する処理
を前記コンピュータにさらに実行させることを特徴とする請求項1に記載の推定プログラム。
【請求項5】
符号化部と復号化部とを有する訓練済みの変分オートエンコーダに入力データを入力し、
前記入力に応じて前記訓練済みの変分オートエンコーダにより生成される潜在変数の確率分布を、前記符号化部から出力される標準偏差の大きさに基づいて、前記潜在変数から主成分座標への変換処理によって、第1の確率分布に変換し、
前記入力データに関する前記復号化部の出力誤差に基づき、前記第1の確率分布を第2の確率分布に変換し、
前記入力データの確率分布の推定値として、前記第2の確率分布を出力する、
処理をコンピュータが実行することを特徴とする推定方法。
【請求項6】
符号化部と復号化部とを有する訓練済みの変分オートエンコーダに入力データを入力し、
前記入力に応じて前記訓練済みの変分オートエンコーダにより生成される潜在変数の確率分布を、前記符号化部から出力される標準偏差の大きさに基づいて、前記潜在変数から主成分座標への変換処理によって、第1の確率分布に変換し、
前記入力データに関する前記復号化部の出力誤差に基づき、前記第1の確率分布を第2の確率分布に変換し、
前記入力データの確率分布の推定値として、前記第2の確率分布を出力する、
処理を実行する制御部を含むことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、確率分布の推定技術に関する。
【背景技術】
【0002】
データ解析において、オートエンコーダなどを用いて、複雑な多次元データから低次元の特徴量を抽出し、特徴量を用いてデータ解析を実行することが行われている。例えば、ベルトコンベアーを流れる製品の画像の特徴量を抽出し、流れてくる製品から不良品を検出することなどが行われている。
【0003】
近年では、潜在変数を確率分布として学習する変分オートエンコーダ(VAE:Variational Autoencoder)を用いたデータ解析が利用されている。例えば、VAEは、符号化部と復号化部とを有し、潜在変数が入力される復号化部の出力を用いて計算される再構成誤差の期待値と、特徴量を入力する符号化部の出力を用いて計算される潜在変数の確率分布の正規化誤差とを最小化するように、符号化部と復号化部のパラメータの機械学習が実行される。このようにして学習(訓練)されたVAEに、複数の検出対象データを入力して異常データ(アノマリデータ)の検出が行われる。
【先行技術文献】
【非特許文献】
【0004】
【文献】Diederik P.Kingma,Max Welling,“Auto-Encoding Variational Bayes”,ICLR 2014.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記VAEでは、単変数独立の正規分布を仮定しており、得られた潜在空間の確率分布が実空間の分布を反映する保証がない。このため、判定対象データを訓練済みのVAEに入力し、符号化部の出力を用いて入力データの確率分布を推定して、異常データを検出する場合、推定結果が保証できず、異常検出の精度が高くない。
【0006】
なお、潜在変数の情報エントロピーを最小化するRate-Distortion理論を応用したオートエンコーダを用いることも考えられる。このようなオートエンコーダを用いた場合、潜在空間の確率分布と実空間データの確率分布とほぼ同一になる。しかし、実空間の確率分布の形状が複雑である場合に、それと同一となるように設計する潜在空間の確率分布も、複数のパラメトリックな確率分布を混合させるなどの複雑な形状で表現する必要があるので、精度を高くするためにはコストが増大となり、現実的ではない。
【0007】
一つの側面では、入力データの異常検出の精度を向上することができる推定プログラム、推定方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の案では、推定プログラムは、符号化部と復号化部とを有する訓練済みの変分オートエンコーダに入力データを入力し、前記入力に応じて前記訓練済みの変分オートエンコーダにより生成される潜在変数の確率分布を、前記符号化部から出力される標準偏差の大きさに基づき、第1の確率分布に変換する処理をコンピュータに実行させる。推定プログラムは、前記入力データに関する前記復号化部の出力誤差に基づき、前記第1の確率分布を第2の確率分布に変換する処理をコンピュータに実行させる。推定プログラムは、前記入力データの確率分布の推定値として、前記第2の確率分布を出力する処理をコンピュータに実行させる。
【発明の効果】
【0009】
一つの側面では、入力データの異常検出の精度を向上することができる。
【図面の簡単な説明】
【0010】
図1図1は、実施例1にかかる情報処理装置を説明する図である。
図2図2は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
図3図3は、VAEの構成および機械学習を説明する図である。
図4図4は、入力データの確率分布の算出を説明する図である。
図5図5は、入力データと各変数の対応を説明する図である。
図6図6は、学習処理の流れを示すフローチャートである。
図7図7は、検出処理の流れを示すフローチャートである。
図8図8は、検証用に人工的に生成した入力データを説明する図である。
図9図9は、参考技術を用いた異常検出結果を説明する図である。
図10図10は、実施例1を用いた異常検出結果を説明する図である。
図11図11は、VAEの別例を説明する図である。
図12図12は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0011】
以下に、本発明にかかる推定プログラム、推定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【0012】
図1は、実施例1にかかる情報処理装置10を説明する図である。図1に示す情報処理装置10は、VAEを用いて生成したモデルに実空間の入力データを入力し、VAEの符号化器によって推定した潜在変数の事後分布パラメータを用いて、事前確率を入力データの生成確率とほぼ同一となるよう補正する。このようにして、情報処理装置10は、VAEにより抽出された潜在空間の確率分布から入力データの確率分布を推定し、入力データの異常検出の精度向上を図るコンピュータ装置である。
【0013】
具体的には、情報処理装置10は、訓練データを用いて、符号化部と復号化部を有するVAEの機械学習を実行し、訓練済みのVAEを適用したモデルを生成する。そして、情報処理装置10は、訓練データと同じドメインの入力データをモデルの符号化部に入力して、モデルの復号化部から復元された入力データを取得する。
【0014】
ここで、情報処理装置10は、VAEの符号化部から出力される潜在変数の確率分布を、符号化部の出力の標準偏差の大きさに基づいて第1の確率分布に変換する。さらに、情報処理装置10は、VAEの復号化部の出力誤差に基づいて第1の確率分布を第2の確率分布に変換し、入力データの確率分布の推定値として、第2の確率分布を出力する。
【0015】
このようにして、情報処理装置10は、生成された第2の確率分布に基づいて、特定の割合を占める確率が下位のデータを異常データ(アノマリデータ)として検出する。また、情報処理装置10は、第2の確率分布に基づいて、複数の入力データのうち閾値以下の確率であるデータを異常データとして検出しても良い。
【0016】
図2は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。図2に示すように、情報処理装置10は、通信部11、表示部12、記憶部13、制御部20を有する。
【0017】
通信部11は、他の装置の間の通信を制御する。例えば、通信部11は、管理者の端末から機械学習の開始指示や各種データを受信し、機械学習の結果や異常検出の結果などを管理者の端末に送信する。
【0018】
記憶部13は、各種データや制御部20が実行するプログラムなどを記憶する。例えば、記憶部13は、訓練データ14、入力データ15、モデル16などを記憶する。
【0019】
訓練データ14は、VAEの機械学習に利用される訓練データであり、同じドメインに属するデータである。例えば、ベルトコンベアーを流れる製品から不良品を検出するモデルを生成する場合、訓練データ14としては、製品の画像データなどが該当する。
【0020】
入力データ15は、生成されたモデルに入力される各データであり、異常か否かの判定対象となるデータである。上記例で説明すると、製品の画像データを訓練データ14に用いてVAEの機械学習が実行された場合、入力データ15としては、ベルトコンベアーに流れる製品の画像などが該当する。
【0021】
モデル16は、制御部20によって生成されるモデルである。具体的には、モデル16は、訓練データ14を用いた機械学習により訓練されたVAEを適用したモデルである。
【0022】
制御部20は、情報処理装置10全体を司る処理部であり、学習部21と検出部22を有する。学習部21は、訓練データ14を用いてVAEの機械学習を実行して、モデル16を生成する処理部である。この学習部21は、後述する図3に示した機械学習により訓練されたVAEを適用したモデル16を生成して記憶する13に格納する。
【0023】
図3は、VAEの構成および機械学習を説明する図である。図3に示すように、VAEは、符号化部21a(fφ(x))、雑音生成部21b、復号化部21c(gφ(z))、推定部21d(R)、最適化部21e(θ,φ)を有する。
【0024】
ここで、VAEの機械学習について説明する。符号化部21aは、ドメインDに属する訓練データxが入力されると、訓練データxの特徴を圧縮してN次元の正規分布の平均μ(x)と標準偏差σ(x)とを出力する。そして、雑音生成部21bは、平均0、標準偏差Iに従うN次元のノイズεを生成する。
【0025】
雑音生成部21bにより生成されたノイズεに標準偏差σ(x)を乗じた値を平均μ(x)に混入させることによって、標準偏差σ(x)と平均μ(x)とに従う正規分布から、サンプリングにより復号化部21cに入力する潜在変数zが決定される。そして、復号化部21cは、訓練データxの特徴ベクトルに該当する潜在変数zを用いて、訓練データxを復号した再構成データを生成する。
【0026】
その後、推定部21dは、符号化部21aから出力される平均μ(x)と標準偏差σ(x)を用いて、訓練データxから計算した潜在変数zの確率分布と潜在変数zの事前確率分布との誤差である正規化誤差Rを推定する。そして、最適化部21eは、推定部21dにより推定される正規化誤差Rを最小化するとともに、訓練データxと再構成データとの誤差である再構成誤差を最小化するように、符号化部21aの各パラメータと復号化部21cの各パラメータの調整(機械学習)を実行する。
【0027】
図2に戻り、検出部22は、モデル16を用いて、入力データから異常データを検出する。具体的には、検出部22は、VAEによってドメインの訓練データを学習した符号化部21aを用いて、ドメインの入力データを潜在変数の確率分布のパラメータに変換し、変換したパラメータを利用して入力データの生成確率を計算する。すなわち、検出部22は、ドメインにおける各入力データの確率分布を、訓練済みのVAEで抽出した潜在変数の確率分布から推定し、推定結果を用いて異常データを検出する。
【0028】
まず、検出部22は、VAEで同定した潜在変数の確率分布から、入力データ(x)の確率分布p(X)を計算する。図4は、入力データの確率分布の算出を説明する図である。図4に示すように、訓練時も検出時も、入力データ(x)は、一旦、明示されていない主成分座標yに変換された後、スケールが適宜変更されて潜在変数zに変換されると仮定することができる。
【0029】
具体的には、入力データ(x)に対して、正規直交変換のようなカルーネン・レーベ展開(KLT:Karhunen-Loeve Expansion))および主成分分析(PCA:Principal Component Analysis)を実行することにより、分散が大きい主成分の確率分布(p(y))から分散が小さい主成分の確率分布(p(y))が生成される。その後、各分散に対応する確率分布を正規分布の潜在変数に変換する際に、分散が等しくなるようにスケール調整が行われると仮定する。例えば、分散が大きい主成分の確率分布(p(y))から変換される潜在変数の確率分布(p(z))も、分散が小さい主成分の確率分布(p(y))から変換される潜在変数の確率分布(p(z))も、同じ分散となるようにスケールが調整される。
【0030】
このような仮定に従うと、図4の(a)に示すように、潜在変数の確率分布p(z)を逆変換することで、主成分の確率分布p(y)を生成することができる。そして、図4の(b)に示すように、この主成分の確率分布p(y)をさらに逆変換することで、入力データ(x)の確率分布p(X)を生成することができる。
【0031】
さらに、検出部22は、入力データから推定した潜在変数での確率密度を、VAEの符号化部21aから出力される標準偏差により補正する。仮定した主成分の確率分布(p(y))から潜在変数zの確率分布(p(z))へ変換するときにスケールが変化する場合、変換後の確率密度はスケールに比例して変化する。
【0032】
図5は、入力データと各変数の対応を説明する図である。図5は、図4に示した変換過程の1つを選択して表示したものであり、入力データから潜在変数zの確率分布(p(z))への変換を図示している。図5に示すように、入力データ(x)から特徴量(平均μ(x)、標準偏差σ(x))が生成されるが、変換過程において、このうちの平均μ(x)の潜在空間における確率分布(p(μ(x)))は正規分布上に対応付けられる。
【0033】
一方で、標準偏差σ(x)はデータに混入されたノイズの大きさを表していることから、スケールが変化するとノイズを表す標準偏差σ(x)も変化する。つまり、入力データに混入されたノイズは既知(一定の分布)であるとすれば、スケールの変化率は、VAEの符号化部21aから出力される標準偏差σ(x)の大きさに現れる。そこで、検出部22は、最適化式の正規化項の係数βを用いて、変換スケールを式(1)のように定義する。これらの結果、入力データ(x)の確率分布p(X)は、式(2)で表すことができる。つまり、確率分布p(X)は、サンプリング確率の一例であり、各入力データ(x)が従う生成確率の分布である。
【0034】
【数1】
【数2】
【0035】
なお、式(2)では、m個の主成分を用いた式を例示しているが、標準偏差σ(x)の-2乗の平均値「σ(x) -2のバー」は、各主成分でのデータ分散(固有値)と対応するので、どの主成分の分散が大きいのかの順番を特定することができる。したがって、所定次元に圧縮するときには、圧縮効果の高い主成分を選択することができる。
【0036】
ここで、式(2)における項目Aは、主成分以外での確率であり、一定値(平均μ(x)=0、標準偏差σ(x)=1)となり、項目Bは、主成分での確率に対応する。つまり、図4で示した変換の仮定において、例えばp(y)のように分散が小さい主成分の確率分布などは、主成分が分散しないので定数として扱う。
【0037】
したがって、式(3)に示すように、入力データ(x)の確率分布p(X)はスケールの比例として表現できる。なお、式(3)における項目Cは、再構成誤差のスケールであり、再構成誤差に正規分布を仮定した場合に式(4)で定義できる。つまり、入力データ(x)の確率分布p(X)は、式(3)の項目Dで定義でき、潜在変数のσ(x)によって潜在変数の確率分布を入力データの生成確率を反映するように補正することできる。
【0038】
【数3】
【数4】
【0039】
ここで、上述した入力データの確率分布の算出処理を詳細に説明する。具体的には、VAEと同様に、m次元のドメインの入力データxに対する潜在変数zの確率分布qφ(z|x)をm次元ガウス分布N(μ(x),σ(x))とし、そのパラメータμ(x),σ(x)を符号化部21(fφ(x))で同定する。そして、同定した分布からサンプリングした式(5)に示す潜在変数zを用いて、式(6)に示すように再構成データを復号化部21c(gφ(z))で推定する。また、符号化部21aと復号化部21cの各パラメータは、式(7)を最小化する機械学習により最適化される。
【0040】
【数5】
【数6】
【数7】
【0041】
その後、検出部22は、獲得したzについて、式(8)を満たすzをn個(n次元)、または、学習した入力データについて符号化部21aの出力の標準偏差σ(x)の-2乗の平均値を計算して大きい順にn個を抽出する。そして、検出部22は、ドメインの入力データ(x)を符号化部21a(fφ(x))で分布パラメータ(μ(x),σ(x))に変換し、式(9)により入力データ(x)の生成確率p(x)を推定する。つまり、生成確率p(x)は、各々の入力データ(x)に対する生成確率であり、各入力データ(x)が、式(2)の確率分布p(X)に従うと定義できる結果、各入力データの生成確率p(x)は、式(9)で定義できる。したがって、1つの入力データに対して、1つの生成確率p(x)が計算され、それらが複数集まることで確率分布p(X)が構成される。
【0042】
【数8】
【数9】
【0043】
そして、検出部22は、複数の入力データ15に対して、式(9)を用いて計算した生成確率のデータから、例えば全体の10%のように一定割合の下位データを異常データとして検出する。
【0044】
次に、学習処理の流れを説明する。ここでは、訓練データ14を訓練データxとして説明する。図6は、学習処理の流れを示すフローチャートである。図6に示すように、学習部21は、訓練データxを符号化部21aに入力し、符号化部21aにより訓練データxを符号化し、潜在変数zの分布パラメータ(μ(x),σ(x))を取得する(S101)。
【0045】
続いて、学習部21は、所定数の潜在変数zをサンプリングしてN次元のデータを生成する(S102)。そして、学習部21は、N次元のデータを復号化部21c(gφ(z))に入力して訓練データxを復号化したデータを取得する(S103)。
【0046】
その後、学習部21は、推定部21dにより推定される正規化誤差Rと、訓練データxと再構成データとの誤差である再構成誤差Eとを用いた学習コストを算出し(S104)、学習コストが小さくなるように、符号化部21aと復号化部21cの各パラメータ(θ,φ)を更新する(S105)。
【0047】
その後、機械学習が収束していない場合(S106:No)、次の訓練データ14についてS101以降が繰り返される。一方、学習部21は、機械学習が収束した場合(S106:Yes)、機械学習が完了したVAEを適用したモデル16を生成する。なお、学習部21は、学習回数が閾値以上となった場合や復元誤差が閾値以下となった場合に、機械学習が収束したと判定することができる。
【0048】
次に、検出処理の流れを説明する。ここでは、入力データ15を入力データ(x)として説明する。図7は、検出処理の流れを示すフローチャートである。図7に示すように、検出部22は、入力データ(x)を読込み(S201)、入力データ(x)を訓練済みのVAEの符号化部21aに入力して符号化し、潜在変数zの分布パラメータ(μ(x),σ(x))を取得する(S201)。
【0049】
続いて、検出部22は、取得した分布パラメータ(μ(x),σ(x))をもとに、式(9)を用いて入力データ(x)の生成確率p(x)を算出する(S202)。ここで、検出部22は、未処理の入力データ(x)が存在する場合(S204:No)、次の入力データ(x)についてS201以降を繰り返す。
【0050】
そして、検出部22は、全ての入力データ(x)について処理が完了すると(S204:Yes)、生成確率p(x)が低い順に、一定割合の入力データ(x)を異常データと検出する(S205)。
【0051】
上述したように、情報処理装置10は、VAEの符号化部21aから出力される標準偏差を用いて、入力データの確率分布を推定することができる。したがって、情報処理装置10は、潜在空間の確率分布が実空間の分布を反映することを保証でき、VAEの符号化部21aの出力を用いた高精度の異常検出を実行することができる。また、情報処理装置10は、異常検出(アノマリ検出)など、実ドメインでの確率分布を扱うタスクにおいて、実ドメインのデータが潜在的に単変数のガウス分布で表せる場合に、複雑な分布を用いることなく、入力データの異常検出を実行することができ、計算コストを低減することができる。入力データは、例えば、画像データや音声データであっても良い。
【0052】
ここで、人工的に生成した入力データを用いた検証を説明する。ここでは、式(8)により入力データの生成確率p(x)を推定する実施例1と、VAEの潜在空間をそのまま用いて入力データの生成確率(p(μ(x))を推定する参考技術とのそれぞれの検証結果を説明する。図8は、検証用に人工的に生成した入力データを説明する図であり、図9は、参考技術を用いた異常検出結果を説明する図であり、図10は、実施例1を用いた異常検出結果を説明する図である。
【0053】
図8に示すように、確率密度関数(PDF:Probability Density Function)にしたがった3つのデータを用いて入力データを生成する。例えば、PDFが「0から1」の範囲となるp(S)に属する変数と、PDFが「(ルート2)/4」となるp(S)に属する変数と、PDFが「(ルート3)/6から0」となるp(S)に属する変数とを乗算した3次元の入力データを生成する。
【0054】
そして、複数の入力データに対して、参考技術を用いて入力データの生成確率布を推定した結果を図9であり、実施例1を用いて入力データの生成確率を推定した結果を図10である。図9の横軸は生成確率p(x)であり、縦軸は推定確率(p(μ(x)))である。図10の横軸は式(9)で算出される生成確率p(x)であり、縦軸は式(3)で算出される推定確率である。図9に示すように、参考技術では、入力データの生成確率が分散してしまい、異常と検出する範囲を判定することが難しく、異常検出の精度は高くない。一方で、図10に示すように、実施例1では、入力データの生成確率が線形となり、生成確率が低い一定割合を正確に特定して異常と検出することができるので、異常検出の精度が向上している。
【0055】
上記実施例で用いた数値、データ、次元数等は、あくまで一例であり、任意に変更することができる。また、VAEを機械学習する装置と、異常検知を実行する装置とを別々の装置で実現することもできる。
【0056】
また、VAEは、図3に示した構成以外にも、例えばRate-Distortion理論を応用したVAEの構成などを採用することもできる。図11は、VAEの別例を説明する図である。図11に示すように、Rate-Distortion理論を応用したVAEは、符号化部21a、雑音生成部21b、復号化部21c-1、復号化部21c-2、推定部21d、最適化部21eを有する。
【0057】
符号化部21aは、ドメインDに属する訓練データxが入力されると、訓練データxの特徴を圧縮してN次元の正規分布の平均μ(x)と標準偏差σ(x)を出力する。復号化部21c-1は、符号化部21aから出力される平均μ(x)を用いて入力データを復号した再構成データを生成する。復号化部21c-2は、雑音生成部21bが生成したノイズεが標準偏差σ(x)に混入された後、ノイズεを含む標準偏差σ(x)と平均μ(x)とを用いて、入力データを復号した再構成データを生成する。
【0058】
その後、推定部21dは、符号化部21aから出力される平均μ(x)と標準偏差σ(x)を用いて、訓練データ(x)の確率分布と潜在変数zの確率分布との正規化誤差Rを推定する。そして、最適化部21eは、推定部21dにより推定される正規化誤差Rを最小化するとともに、復号化部21c-1が生成した再構成データと入力データとの誤差である再構成誤差D1および復号化部21c-1が生成した再構成データと復号化部21c-2が生成した再構成データとの誤差である再構成誤差D2を最小化するように、符号化部21aと各復号化部の各パラメータの調整(機械学習)を実行する。
【0059】
なお、機械学習が完了した後は、実施例1と同様の手法により、訓練済みのVAEを用いて、入力データの確率分布を推定することができる。
【0060】
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0061】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0062】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0063】
次に、情報処理装置10のハードウェア構成例を説明する。図12は、ハードウェア構成例を説明する図である。図12に示すように、情報処理装置10は、通信装置10a、表示装置10b、HDD(Hard Disk Drive)10c、メモリ10d、プロセッサ10eを有する。また、図12に示した各部は、バス等で相互に接続される。
【0064】
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。表示装置10bは、学習結果、検出結果などを表示する装置であり、例えばタッチパネルやディスプレイなどである。HDD10cは、図2に示した機能を動作させるプログラムやDBを記憶する。
【0065】
プロセッサ10eは、図2に示した各処理部と同様の処理を実行するプログラムをHDD10c等から読み出してメモリ10dに展開することで、図2等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10eは、学習部21と検出部22等と同様の機能を有するプログラムをHDD10c等から読み出す。そして、プロセッサ10eは、学習部21と検出部22等と同様の処理を実行するプロセスを実行する。
【0066】
このように、情報処理装置10は、プログラムを読み出して実行することで推定方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【0067】
10 情報処理装置
11 通信部
12 表示部
13 記憶部
14 訓練データ
15 入力データ
16 モデル
20 制御部
21 学習部
22 検出部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12