(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】判定制御プログラム、装置、及び方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20240123BHJP
G06N 3/0455 20230101ALI20240123BHJP
【FI】
G06N20/00
G06N3/0455
(21)【出願番号】P 2022550311
(86)(22)【出願日】2020-09-18
(86)【国際出願番号】 JP2020035558
(87)【国際公開番号】W WO2022059193
(87)【国際公開日】2022-03-24
【審査請求日】2023-03-16
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】加藤 圭造
(72)【発明者】
【氏名】中川 章
【審査官】小太刀 慶明
(56)【参考文献】
【文献】KATO, Keizo ほか,Rate-Distortion Optimization Guided Autoencoder for Isometric Embedding in Euclidean Latent Space,[オンライン],arXiv,2020年08月31日,[検索日 2020.12.01],インターネット:<URL: https://arxiv.org/abs/1910.04329>, 特に[5.3. Anomaly Detection Using Real Data]
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/0455
(57)【特許請求の範囲】
【請求項1】
入力データを符号化して得られる前記入力データよりも次元数の低い低次元特徴量を確率分布として推定し、
前記低次元特徴量にノイズを加算した特徴量を復号化して出力データを生成し、
前記入力データと前記出力データとの誤差と、前記確率分布のエントロピーとを含むコストに基づいて、前記符号化、前記推定、及び前記復号化の各々のパラメータを調整する、
ことを含む処理をコンピュータに実行させ、
調整後の前記パラメータを用いた、判定対象の入力データが正常であるか否かの判定において、前記確率分布から得られる情報に基づいて、前記判定の判定基準が制御される
ことを特徴とする判定制御プログラム。
【請求項2】
前記確率分布として、複数の分布を混合した確率分布を推定し、
前記確率分布から得られる情報に基づいて、前記低次元特徴量が前記複数の分布に相当する複数のクラスタのいずれに属するかを特定し、クラスタ毎の判定基準のうち、特定したクラスタに応じた前記判定基準が設定される
請求項1に記載の判定制御プログラム。
【請求項3】
前記コストを、前記誤差と前記エントロピーとの重み付き和とし、前記コストを最小化するように、前記パラメータを調整する請求項1又は請求項2に記載の判定制御プログラム。
【請求項4】
前記ノイズを、各次元が互いに無相関、かつ平均が0である分布に基づく乱数とする請求項1~請求項3のいずれか1項に記載の判定制御プログラム。
【請求項5】
前記判定対象の入力データについての前記確率分布のエントロピーと、前記判定基準とを比較することにより、前記判定が行われることを特徴とする請求項1~請求項4のいずれか1項に記載の判定制御プログラム。
【請求項6】
前記低次元特徴量の中間出力について、前記中間出力の注目データの周辺領域のデータ及び前記低次元特徴量の下での条件付き確率のエントロピーと、エントロピーの期待値との差分を、前記判定基準とを比較することにより、前記判定が行われることを特徴とする請求項1~請求項4のいずれか1項に記載の判定制御プログラム。
【請求項7】
入力データを符号化して得られる前記入力データよりも次元数の低い低次元特徴量を確率分布として推定する推定部と、
前記低次元特徴量にノイズを加算した特徴量を復号化して出力データを生成する生成部と、
前記入力データと前記出力データとの誤差と、前記確率分布のエントロピーとを含むコストに基づいて、前記符号化、前記推定、及び前記復号化の各々のパラメータを調整する調整部と、を含み、
調整後の前記パラメータを用いた、判定対象の入力データが正常であるか否かの判定において、前記確率分布から得られる情報に基づいて、前記判定の判定基準が制御されることを特徴とする判定制御装置。
【請求項8】
入力データを符号化して得られる前記入力データよりも次元数の低い低次元特徴量を確率分布として推定し、
前記低次元特徴量にノイズを加算した特徴量を復号化して出力データを生成し、
前記入力データと前記出力データとの誤差と、前記確率分布のエントロピーとを含むコストに基づいて、前記符号化、前記推定、及び前記復号化の各々のパラメータを調整する、
ことを含む処理をコンピュータに実行させ、
調整後の前記パラメータを用いた、判定対象の入力データが正常であるか否かの判定において、前記確率分布から得られる情報に基づいて、前記判定の判定基準が制御される
ことを特徴とする判定制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、判定制御プログラム、判定制御装置、及び判定制御方法に関する。
【背景技術】
【0002】
従来、教師なし学習により正常データの確率分布を学習し、判定対象のデータの確率分布と正常データの確率分布とを比較することにより、異常データを検出することが行われている。
【0003】
例えば、潜在変数のエントロピーを最小化するRate-Distortion理論を応用したオートエンコーダにより、実空間での確率分布に比例した潜在空間の確率分布を獲得し、潜在空間の確率分布の相違から異常データを検出する技術が提案されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Rate-Distortion Optimization Guided Autoencoder for Isometric Embedding in Euclidean Latent Space(ICML2020)
【文献】“Fujitsu Develops World's First AI technology to Accurately Capture Characteristics of High-Dimensional Data Without Labeled Training Data”、[online]、2020年7月13日、[2020年9月13日検索]、インターネット<URL:https://www.fujitsu.com/global/about/resources/news/press-releases/2020/0713-01.html>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、入力データの特徴が様々な確率分布となる場合、異常データが示す確率分布の特徴が、様々な確率分布の差に埋もれてしまい、精度良く正常又は異常を判定することができない場合がある、という問題がある。
【0006】
一つの側面として、開示の技術は、入力データの特徴が様々な確率分布となる場合でも、精度良く正常又は異常を判定することができるように制御することを目的とする。
【課題を解決するための手段】
【0007】
一つの態様として、開示の技術は、入力データを符号化して得られる前記入力データよりも次元数の低い低次元特徴量を確率分布として推定する。また、開示の技術は、前記低次元特徴量にノイズを加算した特徴量を復号化して出力データを生成する。そして、開示の技術は、前記入力データと前記出力データとの誤差と、前記確率分布のエントロピーとを含むコストに基づいて、前記符号化、前記推定、及び前記復号化の各々のパラメータを調整する。さらに、開示の技術では、調整後の前記パラメータを用いた、判定対象の入力データが正常であるか否かの判定において、前記確率分布から得られる情報に基づいて、前記判定の判定基準が制御される。
【発明の効果】
【0008】
一つの側面として、入力データの特徴が様々な確率分布となる場合でも、精度良く正常又は異常を判定することができる、という効果を有する。
【図面の簡単な説明】
【0009】
【
図1】低次元特徴量の確率分布を用いて異常判定する場合の問題点を説明するための図である。
【
図3】第1実施形態における学習時の機能について説明するための図である。
【
図4】第1実施形態における判定時の機能について説明するための図である。
【
図5】判定制御装置として機能するコンピュータの概略構成を示すブロック図である。
【
図6】第1実施形態における学習処理の一例を示すフローチャートである。
【
図7】第1実施形態における判定処理の一例を示すフローチャートである。
【
図8】第2実施形態における学習時の機能について説明するための図である。
【
図9】注目画素の周辺領域を説明するための図である。
【
図10】注目画素の周辺領域を説明するための図である。
【
図11】第2実施形態における判定時の機能について説明するための図である。
【
図12】第2実施形態における学習処理の一例を示すフローチャートである。
【
図13】第2実施形態における判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0011】
まず、各実施形態の詳細を説明する前に、入力データから抽出される低次元特徴を示す確率分布を用いて正常又は異常を判定する場合において、入力データの特徴が様々な確率分布となる場合における問題点について説明する。
【0012】
ここでは、入力データを人体等の臓器を撮影した医療画像とする場合を例に説明する。
図1の下部に、入力データとなる医療画像の一例を概略的に示す。
図1の例では、空胞が生じていない状態を正常、空胞が生じている状態を異常と判定するものとする。この場合、
図1に示す「その他」の医療画像のように、空胞が生じていない医療画像から抽出される低次元特徴のエントロピーを基準として、対象の医療画像から抽出される低次元特徴のエントロピーを評価し、正常又は異常を判定する。具体的には、
図1の上部に示すように、正常を示す「その他」のエントロピーと、「その他(空胞)」のエントロピーとの相違から、「その他(空胞)」の医療画像を異常であると判定することができる。
【0013】
しかし、
図1の下部に示すように、医療画像には、糸球体、尿細管、血液等の組織や、背景が含まれている場合もあり、それぞれ含まれる組織や背景によって、エントロピーに高低が生じる。したがって、正常を示す「その他」のエントロピーを基準とした場合、上記のような組織等毎のエントロピーの差に、異常データのエントロピーが埋もれてしまい、精度良く正常又は異常を判定することができない。
【0014】
そこで、以下の各実施形態では、入力データから抽出される低次元特徴を示す確率分布が様々な確率分布となる場合でも、精度良く正常又は異常を判定することができるように制御する。
【0015】
<第1実施形態>
第1実施形態に係る判定制御装置10は、機能的には、
図2に示すように、オートエンコーダ20と、推定部12と、調整部14と、判定部16とを含む。オートエンコーダ20の学習時には、推定部12及び調整部14が機能し、オートエンコーダ20を用いた異常の判定時には、推定部12及び判定部16が機能する。以下、学習時及び判定時のそれぞれについて、オートエンコーダ20のより詳細な構成と共に、各機能部の機能について説明する。
【0016】
まず、
図3を参照して、学習時に機能する機能部について説明する。
【0017】
オートエンコーダ20は、
図3に示すように、符号化部22と、ノイズ生成部24と、加算部26と、復号化部28とを含む。
【0018】
符号化部22は、多次元の入力データを符号化することにより、入力データよりも次元数の低い低次元特徴量zを抽出する。具体的には、符号化部22は、パラメータθを含む符号化関数fθ(x)により、入力データxから低次元特徴量zを抽出する。例えば、符号化部22は、符号化関数fθ(x)として、CNN(Convolutional Neural Network)のアルゴリズムを適用することができる。符号化部22は、抽出した低次元特徴量zを加算部26へ出力する。
【0019】
ノイズ生成部24は、低次元特徴量zと同じ次元数で、各次元が互いに無相関、かつ平均が0である分布に基づく乱数であるノイズεを生成する。ノイズ生成部24は、生成したノイズεを加算部26へ出力する。
【0020】
加算部26は、符号化部22から入力された低次元特徴量zと、ノイズ生成部24から入力されたノイズεとを加算した低次元特徴量z^(図中では「z」の上に「^(ハット)」)を生成して、復号化部28へ出力する。
【0021】
復号化部28は、加算部26から入力された低次元特徴量z^を復号することにより、入力データxと同じ次元数の出力データx^(図中では「x」の上に「^(ハット)」)を生成する。具体的には、復号化部28は、パラメータφを含む復号化関数gφ(z^)により、低次元特徴量z^から出力データx^を生成する。例えば、復号化部28は、復号化関数gφ(z^)として、transporsed CNNのアルゴリズムを適用することができる。
【0022】
推定部12は、符号化部22で抽出された低次元特徴量zを取得し、低次元特徴量zを確率分布として推定する。具体的には、推定部12は、パラメータψを含み、複数の分布が混合された確率分布のモデルにより、確率分布Pψ(z)を推定する。本実施形態では、確率分布のモデルが、GMM(Gaussian mixture model)である場合について説明する。この場合、推定部12は、下記(1)式のパラメータπ、Σ、μを、最尤推定法等で計算することにより、確率分布Pψ(z)を推定する。
【0023】
【0024】
(1)式において、KはGMMに含まれる正規分布の数、μkはk番目の正規分布の平均ベクトル、Σkはk番目の正規分布の分散共分散行列、πkはk番目の正規分布の重み(混合係数)であり、πkの総和は1である。また、推定部12は、確率分布Pψ(z)のエントロピーR=-log(Pψ(z))を算出する。
【0025】
調整部14は、入力データxと、その入力データに対応する出力データx^との誤差と、推定部12により算出されたエントロピーRとを含む学習コストに基づいて、符号化部22、復号化部28、及び推定部12の各々のパラメータθ、φ、ψを調整する。例えば、調整部14は、下記(2)式に示すような、xとx^との誤差と、エントロピーRとの重み付き和で表される学習コストL1を最小化するように、パラメータθ、φ、ψを更新しながら、入力データxから出力データx^を生成する処理を繰り返す。これにより、オートエンコーダ20及び推定部12のパラメータが学習される。
【0026】
【0027】
なお、(2)式において、λは重み係数であり、Dはxとx^との誤差、例えば、D=(x-x^)2である。
【0028】
次に、
図4を参照して、判定時に機能する機能部について説明する。なお、判定時における入力データは、開示の技術の「判定対象の入力データ」の一例である。
【0029】
符号化部22は、調整部14で調整されたパラメータθが設定された符号化関数fθ(x)に基づいて入力データxを符号化することにより、入力データxから低次元特徴量zを抽出する。
【0030】
推定部12は、符号化部22で抽出された低次元特徴量zを取得し、調整部14で調整されたパラメータψが設定されたGMMにより、低次元特徴量zの確率分布Pψ(z)を推定する。また、推定部12は、学習時と同様に、確率分布Pψ(z)のエントロピーR=-log(Pψ(z))を算出する。さらに、推定部12は、低次元特徴量zが、GMMを構成する複数の正規分布の各々に属する確からしさを示すメンバーシップ係数γを算出する。GMMがK個の正規分布からなる場合、メンバーシップ係数γは、(1)式に含まれる正規分布の重みπkから算出されるfπ(πk)=γkを用いて、K次元のベクトルγ=(γ1,γ2,・・・,γk,・・・,γK)で表される。したがって、メンバーシップ係数γは、確率分布Pψ(z)の推定過程で算出される。
【0031】
判定部16は、調整後のパラメータθ、φ、ψを用いた、判定対象の入力データが正常であるか否かの判定において、確率分布Pψ(z)から得られる情報に基づいて、判定で用いる判定基準を制御する。具体的には、判定部16は、確率分布Pψ(z)から得られる情報として、推定部12で算出されたメンバーシップ係数γを用い、低次元特徴量zがGMMを構成する複数の正規分布に相当する複数のクラスタのいずれに属するかを示すクラスタ情報を特定する。
【0032】
確率分布のモデルとして、GMMのように複数の分布から構成された確率分布のモデルが学習されることにより、低次元特徴量zが示す大局的特徴の傾向に応じた複数の正規分布が含まれるように、GMMのパラメータψが調整されている。例えば
図1に示すような医療画像を入力データとする場合、組織等の種類のそれぞれに対応する正規分布が含まれるようにGMMのパラメータψが調整されている。したがって、GMMを構成する複数の正規分布の各々が、入力データの種類(
図1の例では組織等の種類)を分類するクラスタの各々に相当することになる。そこで、判定部16は、メンバーシップ係数γであるK次元のベクトルに含まれる各係数γ
k(k=1,2,・・・,K)のうち、最大の係数に対応する正規分布に相当するクラスタを、低次元特徴量zが属するクラスタとして特定する。
【0033】
判定部16は、クラスタ毎に予め定められた判定基準のうち、特定したクラスタ情報、すなわち低次元特徴量zが属するクラスタに応じた判定基準を設定する。なお、クラスタ毎の判定基準は、実験的に定めておくことができる。例えば、学習時に各クラスタに属する低次元特徴量z毎にエントロピーを算出しておき、これをクラスタ毎の判定基準とすることができる。
【0034】
判定部16は、判定対象の入力データについて、推定部12により算出されたエントロピーと、クラスタ情報に応じて設定した判定基準とを比較することにより、入力データが正常か又は異常かを判定し、判定結果を出力する。
【0035】
判定制御装置10は、例えば
図5に示すコンピュータ40で実現することができる。コンピュータ40は、CPU(Central Processing Unit)41と、一時記憶領域としてのメモリ42と、不揮発性の記憶部43とを備える。また、コンピュータ40は、入力部、表示部等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)部45とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)46を備える。CPU41、メモリ42、記憶部43、入出力装置44、R/W部45、及び通信I/F46は、バス47を介して互いに接続される。
【0036】
記憶部43は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部43には、コンピュータ40を、判定制御装置10として機能させ、後述する学習処理及び判定処理を実行するための判定制御プログラム50が記憶される。判定制御プログラム50は、オートエンコーダプロセス60と、推定プロセス52と、調整プロセス54と、判定プロセス56とを有する。
【0037】
CPU41は、判定制御プログラム50を記憶部43から読み出してメモリ42に展開し、判定制御プログラム50が有するプロセスを順次実行する。CPU41は、オートエンコーダプロセス60を実行することで、
図2に示すオートエンコーダ20として動作する。また、CPU41は、推定プロセス52を実行することで、
図2に示す推定部12として動作する。また、CPU41は、調整プロセス54を実行することで、
図2に示す調整部14として動作する。また、CPU41は、判定プロセス56を実行することで、
図2に示す判定部16として動作する。これにより、判定制御プログラム50を実行したコンピュータ40が、判定制御装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。
【0038】
なお、判定制御プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
【0039】
次に、第1実施形態に係る判定制御装置10の作用について説明する。オートエンコーダ20及び推定部12のパラメータの調整時に、判定制御装置10に学習用の入力データxが入力されると、判定制御装置10において、
図6に示す学習処理が実行される。また、正常又は異常の判定時に、判定制御装置10に判定対象の入力データxが入力されると、判定制御装置10において、
図7に示す判定処理が実行される。なお、学習処理及び判定処理は、開示の技術の判定制御方法の一例である。
【0040】
【0041】
ステップS12で、符号化部22が、パラメータθを含む符号化関数fθ(x)により、入力データxから低次元特徴量zを抽出し、加算部26へ出力する。
【0042】
次に、ステップS14で、推定部12が、パラメータψを含むGMMにより、低次元特徴量zの確率分布Pψ(z)を推定する。また、推定部12が、確率分布Pψ(z)のエントロピーR=-log(Pψ(z))を算出する。
【0043】
次に、ステップS16で、ノイズ生成部24が、低次元特徴量zと同じ次元数で、各次元が互いに無相関、かつ平均が0である分布に基づく乱数であるノイズεを生成し、加算部26へ出力する。そして、加算部26が、符号化部22から入力された低次元特徴量zと、ノイズ生成部24から入力されたノイズεとを加算した低次元特徴量z^を生成して、復号化部28へ出力する。さらに、復号化部28が、パラメータφを含む復号化関数gφ(z^)により、低次元特徴量z^を復号して、出力データx^を生成する。
【0044】
次に、ステップS18で、調整部14が、入力データxと、上記ステップS16で生成された出力データx^との誤差を、例えば、D=(x-x^)2のように算出する。
【0045】
次に、ステップS20で、調整部14が、例えば(2)式に示すような、上記ステップS18で算出した誤差Dと、上記ステップS14で推定部12により算出されたエントロピーRとの重み付き和で表される学習コストL1を算出する。
【0046】
次に、ステップS22で、調整部14が、学習コストL1が小さくなるように、符号化部22のパラメータθ、復号化部28のパラメータφ、及び推定部12のパラメータψを更新する。
【0047】
次に、ステップS24で、調整部14が、学習が収束したか否かを判定する。例えば、パラメータの更新の繰り返し回数が所定回数に達した場合、学習コストL1の値が変化しなくなった場合等に、学習が収束したと判定することができる。学習が収束していない場合には、処理はステップS12に戻り、次の入力データxについて、ステップS12~S22の処理を繰り返す。学習が収束した場合には、学習処理は終了する。
【0048】
次に、
図7を参照して、判定処理について詳述する。判定処理は、符号化部22、復号化部28、及び推定部12の各々に、学習処理により調整されたパラメータθ、φ、ψがそれぞれ設定された状態で開始する。
【0049】
ステップS32で、符号化部22が、パラメータθを含む符号化関数fθ(x)により、入力データxから低次元特徴量zを抽出する。
【0050】
次に、ステップS34で、推定部12が、パラメータψを含むGMMにより、低次元特徴量zの確率分布Pψ(z)を推定する。また、推定部12が、確率分布Pψ(z)のエントロピーR=-log(Pψ(z))を算出する。さらに、推定部12が、GMMのメンバーシップ係数γを算出する。
【0051】
次に、ステップS36で、判定部16が、算出されたメンバーシップ係数γであるK次元のベクトルに含まれる係数γkのうち、最大の係数に対応する正規分布に相当するクラスタを、低次元特徴量zが属するクラスタを示すクラスタ情報として特定する。
【0052】
次に、ステップS38で、判定部16が、クラスタ毎に予め定められた判定基準のうち、上記ステップS36で特定したクラスタ情報、すなわち低次元特徴量zが属するクラスタに応じた判定基準を設定する。そして、判定部16が、判定対象の入力データxについて、上記ステップS34で推定部12により算出されたエントロピーRと、設定した判定基準とを比較することにより、入力データxが正常か又は異常かを判定する。
【0053】
次に、ステップS40で、判定部16が、正常か異常かの判定結果を出力し、判定処理は終了する。
【0054】
以上説明したように、第1実施形態に係る判定制御装置は、入力データを符号化して得られる低次元特徴量を確率分布として推定し、低次元特徴量にノイズを加算した特徴量を復号化して出力データを生成する。また、判定制御装置は、入力データと出力データとの誤差と、確率分布のエントロピーとを含む学習コストに基づいて、符号化、確率分布の推定、及び復号化の各々のパラメータを調整する。そして、判定制御装置は、調整後のパラメータを用いた、判定対象の入力データが正常であるか否かの判定において、低次元特徴量が属するクラスタに応じた判定基準を設定する。これにより、低次元特徴量が示す大局的な特徴により低次元特徴量をクラスタリングしたうえで、クラスタ内での局所的な特徴の比較により、正常又は異常を判定することができる。したがって、入力データの特徴が様々な確率分布となり、正常と異常との相違が局所的特徴にある場合でも、正常と異常との区別が困難になることを抑制し、精度良く正常又は異常を判定することができるように制御することができる。
【0055】
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係る判定制御装置において、第1実施形態に係る判定制御装置10と共通する部分については、詳細な説明を省略する。
【0056】
第2実施形態に係る判定制御装置210は、機能的には、
図2に示すように、オートエンコーダ220と、推定部212と、調整部214と、判定部216とを含む。オートエンコーダ220の学習時には、推定部212及び調整部214が機能し、オートエンコーダ220を用いた異常の判定時には、推定部212及び判定部216が機能する。以下、学習時及び判定時のそれぞれについて、オートエンコーダ220のより詳細な構成と共に、各機能部の機能について説明する。
【0057】
まず、
図8を参照して、学習時に機能する機能部について説明する。
【0058】
オートエンコーダ220は、
図8に示すように、下位符号化部221と、上位符号化部222と、下位ノイズ生成部223と、上位ノイズ生成部224と、下位加算部225と、上位加算部226と、下位復号化部227と、上位復号化部228とを含む。
【0059】
下位符号化部221は、パラメータθyを含む符号化関数fθy(x)により、入力データxから低次元特徴量の中間出力yを抽出する。下位符号化部221は、抽出した中間出力yを下位加算部225及び上位符号化部222へ出力する。上位符号化部222は、パラメータθzを含む符号化関数fθz(y)により、中間出力yから低次元特徴量zを抽出する。上位符号化部222は、抽出した低次元特徴量zを上位加算部226へ出力する。符号化関数fθy(x)及びfθz(y)としては、CNNのアルゴリズムを適用することができる。
【0060】
下位ノイズ生成部223は、中間出力yと同じ次元数のノイズεyを生成し、下位加算部225へ出力する。上位ノイズ生成部224は、低次元特徴量zと同じ次元数のノイズεzを生成し、上位加算部226へ出力する。ノイズεy及びεzは、各次元が互いに無相関、かつ平均が0である分布に基づく乱数である。
【0061】
下位加算部225は、下位符号化部221から入力された中間出力yと、下位ノイズ生成部223から入力されたノイズεyとを加算した中間出力y^(図中では「y」の上に「^(ハット)」)を生成して、下位復号化部227へ出力する。上位加算部226は、上位符号化部222から入力された低次元特徴量zと、上位ノイズ生成部224から入力されたノイズεzとを加算した低次元特徴量z^を生成して、上位復号化部228へ出力する。
【0062】
下位復号化部227は、下位加算部225から入力された中間出力y^を、パラメータφyを含む復号化関数gφy(y^)により復号することにより、入力データxと同じ次元数の出力データx^を生成する。上位復号化部228は、上位加算部226から入力された低次元特徴量z^を、パラメータφzを含む復号化関数gφz(z^)により復号することにより、中間出力yと同じ次元数の中間出力y^’を生成する。復号化関数gφy(z^)及びgφz(z^)としては、transporsed CNNのアルゴリズムを適用することができる。
【0063】
推定部212は、第1実施形態における推定部12と同様に、上位符号化部222で抽出された低次元特徴量zを取得し、パラメータψzを含むGMMにより、低次元特徴量zの確率分布Pψz(z)を推定する。また、推定部212は、確率分布Pψz(z)のエントロピーRz=-log(Pψz(z))を算出する。
【0064】
さらに、推定部212は、下位符号化部221で抽出された中間出力y、及び上位復号化部228で生成された中間出力y^’を取得し、中間出力yを、中間出力y及びy^’の局所特徴量の下での条件付き確率分布として推定する。例えば、推定部212は、パラメータψyを含む多次元ガウス分布のモデルを用いて、条件付き確率分布Pψy(y|y^’)を推定する。
【0065】
具体的には、推定部212は、例えば、masked CNN等のようなAR(Auto-Regressive:自己回帰)モデルにより、中間出力y及びy^’の周辺領域の情報から、多次元ガウス分布のパラメータμ及びσを推定する。ARモデルは、その直前までのフレームから次のフレームを予測するモデルである。例えば、入力データを画像データとした場合において、カーネルサイズ1のmasked CNNを利用する場合、推定部212は、
図9に示すように、注目画素
m,nyの周辺領域として、
m-1,n-1y、
m-1,ny、
m-1,n+1y、及び
m,n-1yを抽出する。また、推定部212は、中間出力y^’からも同様の周辺領域
m-1,n-1y^’、
m-1,ny^’、
m-1,n+1y^’、及び
m,n-1y^’を抽出する。なお、周辺領域としては、
図10に示すように、注目画素
m,nyの周辺領域の全てを利用してもよい。推定部212は、注目画素
m,nyの周辺領域の情報を用いて、注目画素
m,nyの確率分布のパラメータである
m,nμ
(y)及び
m,nσ
(y)を推定する。
【0066】
また、推定部212は、推定したμ(y)及びσ(y)を用いて、下記(3)式により、条件付き確率分布Pψy(y|y^’)のエントロピーRy=-log(Pψy(y|y^’))を算出する。なお、(3)式において、iは中間出力yの持つ各次元の要素(上記画像データの例では、m,ny)を識別する変数である。
【0067】
【0068】
調整部214は、入力データxと、その入力データに対応する出力データx^との誤差と、推定部212により算出されたエントロピーRz及びRyとを含む学習コストL2を算出する。調整部214は、学習コストL2に基づいて、下位符号化部221、上位符号化部222、下位復号化部227、上位復号化部228、及び推定部212の各々のパラメータθz、θy、φz、φy、ψz、ψyを調整する。例えば、調整部214は、下記(4)式に示すような、xとx^との誤差と、エントロピーRz及びRyとの重み付き和で表される学習コストL2を最小化するように、パラメータθz、θy、φz、φy、ψz、ψyを更新しながら、入力データxから出力データx^を生成する処理を繰り返す。これにより、オートエンコーダ220及び推定部212のパラメータが学習される。
【0069】
【0070】
次に、
図11を参照して、判定時に機能する機能部について説明する。
【0071】
下位符号化部221は、調整部214で調整されたパラメータθyが設定された符号化関数fθy(x)に基づいて入力データxを符号化することにより、入力データxから低次元特徴量の中間出力yを抽出し、上位符号化部222へ入力する。
【0072】
上位符号化部222は、調整部214で調整されたパラメータθzが設定された符号化関数fθz(y)に基づいて中間出力yを符号化することにより、中間出力yから低次元特徴量zを抽出し、上位復号化部228へ入力する。
【0073】
上位復号化部228は、上位符号化部222から入力された低次元特徴量zを、調整部214で調整されたパラメータφzを含む復号化関数gφz(z)により復号することにより、中間出力yと同じ次元数の中間出力y’を生成する。
【0074】
推定部212は、上位符号化部222で抽出された低次元特徴量zを取得し、調整部214で調整されたパラメータψzが設定されたGMMにより、低次元特徴量zの確率分布Pψz(z)を推定する。そして、推定部212は、確率分布Pψz(z)の推定過程において、GMMのメンバーシップ係数γを算出する。
【0075】
また、推定部212は、下位符号化部221で抽出された中間出力y、及び上位復号化部228で生成された中間出力y’を取得する。そして、推定部212は、調整部214で調整されたパラメータψyを含む多次元ガウス分布のモデルにより、中間出力yを、中間出力y及びy’の局所特徴量の下での条件付き確率分布Pψy(y|y’)として推定する。推定部212は、条件付き確率分布Pψy(y|y’)の推定において、多次元ガウス分布のパラメータμ(y)及びσ(y)を推定する。
【0076】
また、推定部212は、推定したμ(y)及びσ(y)から(3)式により算出されるエントロピーRyと、推定したσ(y)から算出されるエントロピーの期待値との差分ΔRyを、下記(5)式により算出する。
【0077】
【0078】
判定部216は、第1実施形態における判定部216と同様に、推定部212で算出されたメンバーシップ係数γを用い、低次元特徴量zが属するクラスタを示すクラスタ情報を特定する。判定部16は、クラスタ毎に予め定められた判定基準のうち、特定したクラスタ情報、すなわち低次元特徴量zが属するクラスタに応じた判定基準を設定する。そして、判定部216は、判定対象の入力データxについて、推定部212により算出されたエントロピーの差分ΔRyと、低次元特徴量zが属するクラスタに応じて設定した判定基準とを比較することにより、入力データxが正常か又は異常かを判定する。
【0079】
判定制御装置210は、例えば
図5に示すコンピュータ40で実現することができる。コンピュータ40の記憶部43には、コンピュータ40を、判定制御装置210として機能させ、後述する学習処理及び判定処理を実行するための判定制御プログラム250が記憶される。判定制御プログラム250は、オートエンコーダプロセス260と、推定プロセス252と、調整プロセス254と、判定プロセス256とを有する。
【0080】
CPU41は、判定制御プログラム250を記憶部43から読み出してメモリ42に展開し、判定制御プログラム250が有するプロセスを順次実行する。CPU41は、オートエンコーダプロセス260を実行することで、
図2に示すオートエンコーダ220として動作する。また、CPU41は、推定プロセス252を実行することで、
図2に示す推定部212として動作する。また、CPU41は、調整プロセス254を実行することで、
図2に示す調整部214として動作する。また、CPU41は、判定プロセス256を実行することで、
図2に示す判定部216として動作する。これにより、判定制御プログラム250を実行したコンピュータ40が、判定制御装置210として機能することになる。
【0081】
なお、判定制御プログラム250により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
【0082】
次に、第2実施形態に係る判定制御装置210の作用について説明する。オートエンコーダ220及び推定部212のパラメータの調整時に、判定制御装置210に学習用の入力データxが入力されると、判定制御装置210において、
図12に示す学習処理が実行される。また、正常又は異常の判定時に、判定制御装置210に判定対象の入力データxが入力されると、判定制御装置210において、
図13に示す判定処理が実行される。
【0083】
まず、
図12を参照して、学習処理について詳述する。
【0084】
ステップS212で、下位符号化部221が、パラメータθyを含む符号化関数fθy(x)により、入力データxから低次元特徴量の中間出力yを抽出し、下位加算部225及び上位符号化部222へ出力する。また、上位符号化部222が、パラメータθzを含む符号化関数fθz(y)により、中間出力yから低次元特徴量zを抽出し、上位加算部226へ出力する。
【0085】
次に、ステップS213で、推定部212が、パラメータψzを含むGMMにより、低次元特徴量zの確率分布Pψz(z)を推定する。また、推定部212が、確率分布Pψz(z)のエントロピーR=-log(Pψz(z))を算出する。
【0086】
次に、ステップS214で、下位ノイズ生成部223が、中間出力yと同じ次元数で、各次元が互いに無相関、かつ平均が0である分布に基づく乱数であるノイズεyを生成し、下位加算部225へ出力する。そして、下位加算部225が、下位符号化部221から入力された中間出力yと、下位ノイズ生成部223から入力されたノイズεyとを加算した中間出力y^を生成して、下位復号化部227へ出力する。さらに、下位復号化部227が、パラメータφyを含む復号化関数gφy(y^)により、中間出力y^を復号して、出力データx^を生成する。
【0087】
次に、ステップS216で、調整部214が、入力データxと、上記ステップS214で生成された出力データx^との誤差を、例えば、D=(x-x^)2のように算出する。
【0088】
次に、ステップS217で、上位ノイズ生成部224が、低次元特徴量zと同じ次元数で、各次元が互いに無相関、かつ平均が0である分布に基づく乱数であるノイズεzを生成し、上位加算部226へ出力する。そして、上位加算部226が、上位符号化部222から入力された低次元特徴量zと、上位ノイズ生成部224から入力されたノイズεzとを加算した低次元特徴量z^を生成して、上位復号化部228へ出力する。さらに、上位復号化部228が、パラメータφzを含む復号化関数gφz(z^)により、低次元特徴量z^を復号して、中間出力y^’を生成する。
【0089】
次に、ステップS218で、推定部212が、下位符号化部221で抽出された中間出力y、及び上位復号化部228で生成された中間出力y^’の各々から、例えばARモデルにより周辺領域を抽出する。そして、推定部212が、多次元ガウス分布のパラメータμ(y)及びσ(y)を推定することにより、中間出力yを、条件付き確率分布Pψy(y|y^’)として推定する。そして、推定部212が、推定したμ(y)及びσ(y)を用いて、(3)式により、条件付き確率分布Pψy(y|y^’)のエントロピーRy=-log(Pψy(y|y^’))を算出する。
【0090】
次に、ステップS219で、調整部214が、例えば(4)式に示すような、上記ステップS216で算出した誤差Dと、上記ステップS213及びS218で算出されたエントロピーRz及びRyとの重み付き和で表される学習コストL2を算出する。
【0091】
次に、ステップS220で、調整部214が、学習コストL2が小さくなるように、下位符号化部221、上位符号化部222、下位復号化部227、上位復号化部228、及び推定部212の各々のパラメータθz、θy、φz、φy、ψz、ψyを更新する。
【0092】
次に、ステップS24で、調整部214が、学習が収束したか否かを判定する。学習が収束していない場合には、処理はステップS212に戻り、次の入力データxについて、ステップS212~S220の処理を繰り返す。学習が収束した場合には、学習処理は終了する。
【0093】
次に、
図13を参照して、判定処理について詳述する。判定処理は、下位符号化部221、上位符号化部222、上位復号化部228、及び推定部212の各々に、学習処理により調整されたパラメータθy、θz、φz、ψz、ψyがそれぞれ設定された状態で開始する。
【0094】
ステップS232で、下位符号化部221が、符号化関数fθy(x)により、入力データxから中間出力yを抽出し、上位符号化部222へ出力する。また、上位符号化部222が、符号化関数fθz(y)により、中間出力yから低次元特徴量zを抽出する。
【0095】
次に、ステップS233で、上位復号化部228が、復号化関数gφz(z)により、低次元特徴量zを復号して、中間出力y’を生成する。
【0096】
次に、ステップS234で、推定部212が、下位符号化部221で抽出された中間出力y、及び上位復号化部228で生成された中間出力y^の各々から、例えばARモデルにより周辺領域を抽出する。そして、推定部212が、多次元ガウス分布のパラメータμ(y)及びσ(y)を推定することにより、中間出力yを条件付き確率分布Pψy(y|y^’)として推定する。
【0097】
次に、ステップS235で、推定部212が、上記ステップS234で推定したμ(y)及びσ(y)から(3)式により算出されるエントロピーRyと、推定したσ(y)から算出されるエントロピーの期待値との差分ΔRyを、(5)式により算出する。
【0098】
次に、ステップS236で、推定部212が、低次元特徴量zについて、GMMにより、確率分布Pψz(z)を推定し、GMMのメンバーシップ係数γを算出する。
【0099】
次に、ステップS237で、判定部216が、上記ステップS236で算出されたメンバーシップ係数γに基づいて、低次元特徴量zが属するクラスタを示すクラスタ情報を特定する。
【0100】
次に、ステップS238で、判定部216が、クラスタ毎に予め定められた判定基準のうち、上記ステップS237で特定したクラスタ情報、すなわち低次元特徴量zが属するクラスタに応じた判定基準を設定する。そして、判定部216が、判定対象の入力データxについて、上記ステップS235で推定部12により算出されたエントロピーの誤差ΔRyと、設定した判定基準とを比較することにより、入力データxが正常か又は異常かを判定する。
【0101】
次に、ステップS40で、判定部216が、正常か異常かの判定結果を出力し、判定処理は終了する。
【0102】
以上説明したように、第2実施形態に係る判定制御装置は、下位層の符号化により低次元特徴量の中間出力を抽出し、上位層の符号化により低次元特徴量を抽出する。また、判定制御装置は、中間出力及び低次元特徴量を復号した出力の各々における、中間出力の注目データの周辺領域の情報の下での注目データの条件付き確率分布を推定する。また、判定制御装置は、第1実施形態と同様に、低次元特徴量が属するクラスタに応じた判定基準を設定する。そして、判定制御装置は、推定した条件付き確率分布のエントロピーと判定基準とを用いて、判定対象の入力データが正常であるか否かを判定する。これにより、低次元特徴量が示す大局的な特徴の下、中間出力が示す局所的な特徴を評価して、正常又は異常を判定することができる。したがって、入力データの特徴が様々な確率分布となり、正常と異常との相違が局所的特徴にある場合でも、正常と異常との区別が困難になることを抑制し、精度良く正常又は異常を判定することができるように制御することができる。
【0103】
なお、上記第2実施形態において、中間出力y^を生成するために中間出力yに加算するノイズεyを一様分布U(-1/2,1/2)としてもよい。この場合、学習時において推定される条件付き確率分布Pψy(y|y^’)は下記(6)式となる。また、推定時において算出されるエントロピーの差分ΔRyは下記(7)式となる。なお、(7)式におけるCは、設計したモデルに応じて経験的に決定される定数である。
【0104】
【0105】
また、上記各実施形態では、入力データが画像データである場合を主に例示して説明したが、入力データは、心電図や脳波等の波形データであってもよい。その場合、符号化等のアルゴリズムには、1次元変換したCNN等を用いればよい。
【0106】
また、上記各実施形態では、1つのコンピュータに、学習時及び判定時の各機能部を含む判定制御装置について説明したが、これに限定されない。パラメータが調整される前のオートエンコーダ、推定部、及び調整部を含む学習装置と、パラメータが調整されたオートエンコーダ、推定部、及び判定部を含む判定装置とを、それぞれ別のコンピュータで構成するようにしてもよい。
【0107】
また、上記各実施形態では、判定制御プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【符号の説明】
【0108】
10、210 判定制御装置
12、212 推定部
14、214 調整部
16、216 判定部
20、220 オートエンコーダ
22 符号化部
24 ノイズ生成部
26 加算部
28 復号化部
221 下位符号化部
222 上位符号化部
223 下位ノイズ生成部
224 上位ノイズ生成部
225 下位加算部
226 上位加算部
227 下位復号化部
228 上位復号化部
40 コンピュータ
41 CPU
42 メモリ
43 記憶部
49 記憶媒体
50、250 判定制御プログラム