(57)【要約】【課題】識別器の異常検知の能力低下を抑制することを課題とする。【解決手段】異常検出装置は、画像データを生成する生成器と、画像データの真偽を識別する識別器とを有する。そして、異常検出装置は、生成器により生成される画像データごとに、識別器を識別誤差の最大化または最小化のいずれか一方の学習指標に従い学習させ、生成器を他方の学習指標に従い学習させる。【選択図】図７
2020123097.tif 000002
【特許請求の範囲】
【請求項１】
画像データを生成する生成器と、
前記画像データの真偽を識別する識別器と、
前記生成器により生成される前記画像データごとに、前記識別器を識別誤差の最大化または最小化のいずれか一方の学習指標に従い学習させ、前記生成器を他方の学習指標に従い学習させる学習部と、
を有することを特徴とする学習装置。
【請求項２】
前記生成器は、前記識別器に正常データと識別させるための第１の画像データを生成し、一定の割合で、前記識別器に異常データと識別させるための第２の画像データを生成し、
前記識別器は、前記生成器から入力される前記第１の画像データ、または、前記第２の画像データが、予め保持される正常データであるか否かを識別し、
前記学習部は、前記第１の画像データが生成された場合は、前記識別誤差が最大化するように前記識別器を学習させるとともに、前記識別誤差が最小化するように前記生成器を学習させ、前記第２の画像データが生成された場合は、前記識別誤差が最小化するように前記識別器を学習させるとともに、前記識別誤差が最大化するように前記生成器を学習させることを特徴とする請求項１に記載の学習装置。
【請求項３】
前記学習部は、前記第１の画像データが生成された場合は、前記第１の画像データを異常データと識別するように前記識別器を学習させるとともに、前記識別器が前記第１の画像データを正常データと識別するように前記生成器を学習させ、前記第２の画像データが生成された場合は、前記第２の画像データを異常データと識別するように前記識別器を学習させるとともに、前記識別器が前記第２の画像データを異常データと識別するように前記生成器を学習させることを特徴とする請求項２に記載の学習装置。
【請求項４】
前記画像データの生成元である種の空間に関し、第１の種を含む第１の領域と、前記第１の種の近傍に存在するが前記第１の領域に含まれない第２の種を含む第２の領域とを設定する設定部をさらに有し、
前記生成器は、前記第１の種を用いて、前記第１の画像データを生成し、前記第２の種を用いて、前記第２の画像データを生成することを特徴とする請求項２に記載の学習装置。
【請求項５】
前記画像データの生成元である種の空間に関し、第１の種を含む第１の領域と、前記第１の種の近傍に存在するが前記第１の領域に含まれない第２の種を含む第２の領域とを設定し、前記正常データを前記第１の種として前記第１の領域に登録する設定部をさらに有し、
前記生成器は、前記第１の領域に含まれる前記正常データを用いて、前記第１の画像データを生成し、前記第２の種を用いて、前記第２の画像データを生成することを特徴とする請求項２に記載の学習装置。
【請求項６】
学習済みの識別器に、識別対象の画像データを複数領域に分割して入力して、前記学習済みの識別器により異常が検出された場合に、前記学習済みの識別器が異常と示す領域を提示する検出部をさらに有することを特徴とする請求項１に記載の学習装置。
【請求項７】
コンピュータは、
生成器に画像データを生成させ、
識別器に前記画像データの真偽を識別させ、
前記生成器により生成される前記画像データごとに、前記識別器を識別誤差の最大化または最小化のいずれか一方の学習指標に従い学習させ、前記生成器を他方の学習指標に従い学習させる、
処理を実行することを特徴とする学習方法。
【請求項８】
コンピュータに、
生成器に画像データを生成させ、
識別器に前記画像データの真偽を識別させ、
前記生成器により生成される前記画像データごとに、前記識別器を識別誤差の最大化または最小化のいずれか一方の学習指標に従い学習させ、前記生成器を他方の学習指標に従い学習させる、
処理を実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【０００２】
近年、医療画像分析の分野等で、画像データを用いて、病変等の異常を検出することが行われている。特に、医療等の分野では、訓練データに用いる異常状態の画像データの入手が困難なことが多いことから、正常状態の画像データのみを利用した機械学習が求められるとともに、大量かつ精密な大容量のデータを扱うことから、検出速度の高速化も求められている。
【０００３】
このような状況下で、機械学習を使用した異常検知に手法として、正常データの分布を推定して、その分布から外れたデータを異常データと検知する敵対的生成ネットワーク（GAN：Generative  Adversarial  Networks）が知られている。図１５は、ＧＡＮを説明する図である。図１５に示すように、ＧＡＮは、生成器と識別器とを有し、生成器を学習するネットワークと識別器を学習するネットワークとが互いに成長していく教師なし学習の学習モデルである。
【０００４】
ＧＡＮでは、生成器がノイズなどの入力データから本物データに近い偽物データを生成するように学習し、識別器が生成器により生成されたデータが本物データか偽物データかを識別できるように学習する。このＧＡＮを用いた異常検出としては、学習済みの生成器が与えられたサンプルを生成する能力が存在するか否かを判定して、能力が無ければ異常データとみなす手法や、学習済みの識別器が偽物データと判定したデータを異常データとみなす手法が利用されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Schlegl，Thomas，et  al．“Unsupervised  anomaly  detection  with  generative  adversarial  networks  to  guide  marker  discovery．”，International  Conference  on  Information  Processing  in  Medical  Imaging．Springer，Cham，2017．
【非特許文献２】M．Sabokrou，et  al．“Adversarially  Learned  One−Class  Classifier  for  Novelty  Detection”，Proceedings  of  IEEE  Conference  on  Computer  Vision  and  Pattern  Recognition．2018．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記技術では、識別器の異常検知の能力が低下する場合がある。具体的には、識別器を使用する場合、識別器の特性が学習終了時の生成器が誤って生成する正常データ以外のデータに依存するので、検出漏れが大きくなる場合がある。例えば、識別器は、正常データと生成器の出力の違いを見分ける能力があると期待できるが、その一方で、生成器の出力に含まれず、正常データにも含まれないものは、学習できないので、特定の出力を期待できない。なお、生成器を用いる手法は、検出コストが高いので、高速性が求められる異常検知には不向きである。
【０００７】
一つの側面では、識別器の異常検知の能力低下を抑制することができる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、学習装置は、画像データを生成する生成器と、前記画像データの真偽を識別する識別器とを有する。学習装置は、前記生成器により生成される前記画像データごとに、前記識別器を識別誤差の最大化または最小化のいずれか一方の学習指標に従い学習させ、前記生成器を他方の学習指標に従い学習させる学習部を有する。
【発明の効果】
【０００９】
一実施形態によれば、識別器の異常検知の能力低下を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１にかかる異常検出装置を説明する図である。
【図２】図２は、学習前を説明する図である。
【図３】図３は、学習開始後を説明する図である。
【図４】図４は、学習の進行中を説明する図である。
【図５Ａ】図５Ａは、学習後の識別器と一般技術の問題点とを説明する図である。
【図５Ｂ】図５Ｂは、学習後の識別器と一般技術の問題点とを説明する図である。
【図６】図６は、実施例１にかかる異常検出装置の機能構成を示す機能ブロック図である。
【図７】図７は、実施例１にかかる学習処理を説明する図である。
【図８】図８は、検出結果の一例を説明する図である。
【図９】図９は、実施例１にかかる学習処理の流れを示すフローチャートである。
【図１０】図１０は、実施例１にかかる検出処理の流れを示すフローチャートである。
【図１１】図１１は、実施例２にかかる学習処理を説明する図である。
【図１２】図１２は、実施例２にかかる学習処理の流れを示すフローチャートである。
【図１３】図１３は、実施例３にかかる学習処理を説明する図である。
【図１４】図１４は、ハードウェア構成例を説明する図である。
【図１５】図１５は、ＧＡＮを説明する図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する学習装置、学習方法および学習プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１２】
［異常検出装置１０の説明］
図１は、実施例１にかかる異常検出装置１０を説明する図である。図１に示すように、異常検出装置１０は、学習フェーズにおいて、ＧＡＮにより生成器と識別器とを学習し、予測フェーズにおいて、学習済みの識別器を用いて、予測対象の画像データに対して異常検知を実行する学習装置の一例である。
【００１３】
ところで、一般的なＧＡＮによる学習では、識別器の異常検知の能力が低下する場合がある。ここで、図２から図５を用いて、一般的なＧＡＮの問題点を説明する。ここでは、図２から図５では、一般的なＧＡＮによる学習に関し、学習開始前から学習終了後の各段階を例示して説明する。図２は、学習前を説明する図である。図３は、学習開始後を説明する図である。図４は、学習の進行中を説明する図である。図５Ａと図５Ｂは、学習後の識別器と一般技術の問題点とを説明する図である。
【００１４】
図２に示すように、学習前では、生成器は、正常データとは異なる分布のデータを生成し、識別器は、正常データに分布と生成器が生成したデータの分布との違いを学習する。すなわち、識別器は、正常データの分布と生成器が生成するデータの分布とを明確に区別して識別する。
【００１５】
続いて、図３に示すように、学習が開始されると、識別器に正常と識別されるデータが多く、異常と識別されるデータが少なくなるように、生成器の学習が進む。すなわち、生成器は、識別器が識別を間違えるようなデータの生成を学習するので、生成器が生成するデータの分布が、識別器が正常と判断できる範囲を含むように学習される。その一方で、識別器は、学習開始に伴って生成器が生成するデータの分布が変更されると、正常であると識別する識別結果の確率が変化していくが、正常データの分布と生成器が生成したデータの分布との違いを学習する。
【００１６】
続いて、図３の時点よりも学習が進むと、図４に示すように、生成器が生成するデータの分布は、図３において識別器が正常と識別できる範囲を含むように学習される。すなわち、生成器が生成するデータの分布が、識別器が正常と識別できる範囲により多く含まれるように更新される。一方で、識別器は、更新された生成器が生成データの分布と、正常データの分布とを識別するように学習する。
【００１７】
さらに学習が進むと、図５Ａに示すように、生成器は、図４の状態から、識別器が正常と識別できる範囲のデータを模倣して識別器を間違わせるように学習するので、生成器が生成するデータの分布が、図４において識別器が識別できる範囲を含むように更新される。学習が完了すると、学習後の識別器は、生成器が生成したデータと正常データ（本物データ）とを識別できるように学習されている。
【００１８】
しかし、一般的なＧＡＮでは、識別器の特性が学習終了時の生成器が誤って生成する正常データ以外のデータに依存するので、検出漏れが大きくなる場合がある。つまり、図５Ｂに示すように、学習後の識別器が異常と判断できる範囲に存在する異常データに対しては正しく異常を検出できるが、それ以外の範囲に存在する異常データを検出できない。言い換えると、一般的なＧＡＮでは、検出が期待される異常データの範囲まで識別器を学習できないことがある。
【００１９】
この原因の一つは、通常のＧＡＮの学習方法では、生成器が、正常データと期待できるデータのみを生成するように学習を進行するので、生成器が生成するデータの分布が正常データの分布と一致しない状態を維持することは困難だからである。すなわち、生成器は、識別器が正常データと判断するデータのみを作ろうとするからである。
【００２０】
そこで、異常検出装置１０は、生成器が出力する画像データごとに、識別誤差の最大化または最小化を決定する。そして、異常検出装置１０は、生成される画像データごと、識別器を決定された最大化または最小化のいずれか一方の学習指標に従い学習させ、生成器を他方の学習指標に従い学習させる。
【００２１】
すなわち、正常なデータの周辺に存在すると期待される異常データを網羅的に生成可能な生成器を用いることで、一般技術では見落とされる異常データの検出を実現する。具体的には、一定の割合で、識別器が正常データと判断するデータを生成した場合に生成器に損失を発生させることで、図５Ｂに示すように、生成器が生成するデータの分布が、検出が期待される異常データの範囲を含むように制御する。このようにして、識別器の学習範囲を広げることで、識別器の異常検知の能力低下を抑制することができる。
【００２２】
［機能構成］
図６は、実施例１にかかる異常検出装置１０の機能構成を示す機能ブロック図である。図６に示すように、異常検出装置１０は、通信部１１、記憶部１２、制御部２０を有する。
【００２３】
通信部１１は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部１１は、管理者端末から各種処理の開始指示、正常データ、予測対象データなどを受信し、管理者端末に学習結果や予測結果などを送信する。
【００２４】
記憶部１２は、各種データや制御部２０が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、正常データＤＢ１３、元情報ＤＢ１４、学習結果ＤＢ１５などを記憶する。
【００２５】
正常データＤＢ１３は、正常な状態の内臓等が撮像された画像データを記憶するデータベースである。例えば、正常データＤＢ１３は、ＧＡＮによる識別器の学習において使用される正常データを記憶する。
【００２６】
元情報ＤＢ１４は、生成器によるデータ生成の元となる情報を記憶するデータベースである。例えば、元情報ＤＢ１４は、乱数、ランダムノイズ、潜在変数などであり、いわゆる種と呼ばれる情報を記憶する。
【００２７】
学習結果ＤＢ１５は、生成器および識別器の学習結果を記憶するデータベースである。例えば、学習結果ＤＢ１５は、学習処理部３０による生成器および識別器の学習結果として、学習が完了した学習済みの生成器や識別器を生成できる各種パラメータを記憶する。
【００２８】
制御部２０は、異常検出装置１０全体を司る処理部であり、例えばプロセッサなどである。この制御部２０は、学習処理部３０と検出部４０を有し、識別精度のよい識別器を学習し、入力される予測対象の画像データに対して異常検知を実行する。
【００２９】
学習処理部３０は、生成器学習部３１と識別器学習部３２を有し、ＧＡＮを用いた生成器および識別器の学習を実行する処理部である。例えば、学習処理部３０は、識別器の識別誤差を最大化または最小化のいずれの学習をさせるかを決定する。そして、学習処理部３０は、識別器が識別誤差を最大化するように学習させる場合は、識別誤差が最小化するように生成器を学習させ、識別器が識別誤差を最小化するように学習させる場合は、識別誤差が最大化するように生成器を学習させる。
【００３０】
生成器学習部３１は、ＧＡＮの生成器の学習を実行する処理部である。具体的には、生成器学習部３１は、一般的なＧＡＮによる生成器の学習を実行しつつ、一定の割合で、識別器が正常データと判断するデータを生成した場合に生成器に損失を発生させるように、生成器を学習させる。
【００３１】
例えば、生成器学習部３１は、元情報ＤＢ１４に記憶される種を用いて、生成器により画像データを生成する。そして、生成器学習部３１は、生成された画像データ（以下では、生成データと記載する場合がある）を識別器に入力し、識別器の識別結果を取得する。そして、生成器学習部３１は、識別結果を用いて、生成データが識別器により正常データと識別されるように、生成器を学習する。
【００３２】
ここで、生成器学習部３１は、所定回数ごとのように一定の割合で、識別器が異常と識別するデータを生成して、生成器を学習する。例えば、通常通り、生成器は、生成した生成データが識別器によって異常と識別された場合に報酬を受けて学習を行うが、一定の割合で、識別器が正しく異常と識別できるデータを生成し、識別器によって正しく異常と識別された場合に報酬を受けて学習を行う。つまり、生成器学習部３１は、一定の割合で、図５Ｂに示す検出が期待される異常データを生成器により生成して、識別器および生成器の学習を実行する。
【００３３】
より詳細には、生成器は、識別器に異常と見破られないように、識別器を混乱させるデータを生成して学習を行う。その一方で、生成器は、一定の割合で、識別器に異常と見破られるように、識別器を混乱させないデータの生成を行って、識別器が当該異常データを正確に異常と識別できるよう生成器を学習する。学習手法としては、一定の割合で、生成器の損失関数などを反転させて学習を行う手法を用いることができる。
【００３４】
識別器学習部３２は、ＧＡＮの識別器の学習を実行する処理部である。具体的には、識別器学習部３２は、一般的なＧＡＮと同様、正常データＤＢ１３に記憶される正常データと、生成器により生成される生成データとを区別できるように生成器を学習する。すなわち、識別器は、識別誤差を最小化するように学習する。
【００３５】
例えば、識別器学習部３２は、生成器から生成データを取得して識別器に入力し、識別器の出力結果を取得する。そして、識別器学習部３２は、出力結果に含まれる正常データである正常確率と、生成データである異常確率とのうち、異常確率が高くなり、正常確率が低くなるように、識別器を学習する。
【００３６】
すなわち、識別器学習部３２は、生成器が生成する生成データの分布と正常データの分布との違いを識別器に学習させる。学習が完了すると、識別器学習部３２は、学習済みの識別器に関する情報を学習結果ＤＢ１５に格納する。
【００３７】
ここで、学習処理を具体的に説明する。図７は、実施例１にかかる学習処理を説明する図である。通常、生成器は、種を用いてデータを生成して識別器に入力し、識別器の識別結果に基づいて、生成データが識別器を欺いて正常データと識別されるように学習する。
【００３８】
実施例１では、図７に示すように、一定の割合で、生成器が、生成データをデータ１とデータ２に分割して、各データを識別器に入力する。識別器は、正常データは正常データであると識別し、生成データ（データ１、データ２）は異常データであると識別するように学習する。さらに、生成器は、識別器が、データ１を正常と識別し、データ２を異常と識別するように学習する。
【００３９】
検出部４０は、入力される画像データから異常検出を実行する処理部である。例えば、検出部４０は、学習処理部３０による学習が完了すると、学習済みの識別器に関するパラメータなどを学習結果ＤＢ１５から読み出して、識別器を構築する。そして、検出部４０は、予測対象である画像データを受信すると、当該画像データを構築した識別器に入力し、出力結果を取得する。
【００４０】
ここで、検出部４０は、出力結果に含まれる正常データである正常確率と、生成データである異常確率とのうち、正常確率の方が高い場合は入力された画像データを正常な画像データと識別し、異常確率の方が高い場合は入力された画像データを異常な画像データと識別する。そして、検出部４０は、識別結果を管理者端末に送信したり、ディスプレイなどの表示部に表示したり、記憶部１２に格納したりする。
【００４１】
図８は、検出結果の一例を説明する図である。図８に示すように、検出部４０は、予測対象である入力画像を小領域に分割後、学習済みの識別器に入力して、識別結果を取得する。そして、検出部４０は、識別器が異常と判定した領域をユーザに提示することができる。
【００４２】
［学習処理の流れ］
図９は、実施例１にかかる学習処理の流れを示すフローチャートである。図９に示すように、学習処理が指示されると、学習処理部３０は、生成器と識別器を初期化する（Ｓ１０１）。
【００４３】
そして、学習処理部３０は、所定のタイミングではない場合（Ｓ１０２：Ｎｏ）、生成器でデータ（生成データ）を生成して識別器に入力し（Ｓ１０３）、正常データと生成データとを識別できるように識別器を学習する（Ｓ１０４）。また、学習処理部３０は、生成データが識別器に正常データと識別されるように、生成器を学習する（Ｓ１０５）。
【００４４】
その後、学習処理部３０は、学習を継続する間は（Ｓ１０６：Ｎｏ）、Ｓ１０２以降を繰り返す。一方、学習を完了する場合は（Ｓ１０６：Ｙｅｓ）、学習処理部３０は、識別器を保存する（Ｓ１０７）。
【００４５】
一方、Ｓ１０２において、学習処理部３０は、所定のタイミングと判定した場合（Ｓ１０２：Ｙｅｓ）、生成器でデータ（生成データ）を生成し、生成データをデータ１とデータ２に分割する（Ｓ１０８）。
【００４６】
続いて、学習処理部３０は、データ１およびデータ２を識別器に入力し、正常データと生成データ（データ１、データ２）とを識別できるように識別器を学習する（Ｓ１０９）。そして、学習処理部３０は、データ１が識別器に正常データとして識別され、データ２が識別器に異常データとして識別されるように生成器を学習する（Ｓ１１０）。その後、学習処理部３０は、Ｓ１０６とＳ１０７を実行する。
【００４７】
［検出処理の流れ］
図１０は、実施例１にかかる検出処理の流れを示すフローチャートである。図１０に示すように、検出処理が指示されると、検出部４０は、保存された識別器を読み込む（Ｓ２０１）。続いて、検出部４０は、対象データを識別器に入力して、対象データの異常を判定（識別）する（Ｓ２０２）。
【００４８】
ここで、検出部４０は、正常と判定された場合（Ｓ２０３：Ｙｅｓ）、処理を終了し、正常と判定されなかった場合（Ｓ２０３：Ｎｏ）、対象データを異常データとして出力する（Ｓ２０４）。
【００４９】
［効果］
上述したように、異常検出装置１０は、例えば医療における検出したい異常データが正常データの分布から大きく外れたところには出現しないことに着目し、通常のＧＡＮによる生成器の学習に加えて、通常の学習とは逆に、識別器が正常に異常と識別できるような学習を一定の割合で組み込む。例えば、識別器は、学習が進むにつれて損失が増加した後、生成器の学習に追従していくので、損失が低下していく。その一方で、一定の割合で生成器の損失を発生させることで、生成器が生成するデータの分布が、正常データの分布から離れることになる。つまり、生成器が、正常データの分布の近くにある異常データを一定の割合で生成することができるので、識別器の学習範囲を拡張することができる。この結果、識別器の異常検知の能力低下を抑制することができる。
【実施例２】
【００５０】
ところで、実施例１では、生成器が生成データを分割してデータ１とデータ２を生成する例を説明したが、生成器に損失を発生させるためのデータの生成手法は、これに限定されるものではない。例えば、損失を発生させる割合を、生成器が使用するデータ生成の元となる種の値によって変化させることで、発生させる異常データの範囲を制御することもできる。例えば、種として０から１の乱数を用いる場合に、０．２から０．８を用いてデータ１を生成し、残りを用いてデータ２を生成する。
【００５１】
図１１は、実施例２にかかる学習処理を説明する図である。図１１に示すように、学習処理部３０は、元情報ＤＢ１４に記憶される種のうち、正常データの生成に利用する種１の範囲と、異常データの生成に使用する種２の範囲を設定する。なお、種２の範囲は、種１の近傍に設定する。また、種の空間は、一次元、二次元、多次元のいずれであってもよい。
【００５２】
そして、学習処理部３０は、通常のＧＡＮの学習を実行しつつ、一定の割合で、種１を用いてデータ１を生成するとともに、種２を用いてデータ２を生成し、データ１とデータ２のそれぞれを識別器に入力する。その後は、実施例１と同様の学習を実行する。
【００５３】
図１２は、実施例２にかかる学習処理の流れを示すフローチャートである。なお、通常のＧＡＮの学習処理の流れは、図９のＳ１０１からＳ１０７と同様なので、詳細な説明は省略し、実施例１と異なる処理の流れの部分について説明する。すなわち、実施例２では、図９のＳ１０１、Ｓ１０２（Ｙｅｓ）、Ｓ１０８からＳ１１０、Ｓ１０６、Ｓ１０７の流れに該当する処理を説明する。
【００５４】
図１２に示すように、学習処理が指示されると、学習処理部３０は、生成器と識別器を初期化する（Ｓ３０１）。そして、学習処理部３０は、元情報ＤＢ１４に記憶される種の一定の領域から種１をサンプリングし、種１からデータ１を生成する（Ｓ３０２）。また、学習処理部３０は、元情報ＤＢ１４に記憶される情報のうち、種１とは別の領域から種２をサンプリングし、種２からデータ２を生成する（Ｓ３０３）。
【００５５】
続いて、学習処理部３０は、データ１およびデータ２を識別器に入力し、正常データと生成データ（データ１、データ２）とを識別できるように識別器を学習する（Ｓ３０４）。そして、学習処理部３０は、データ１が識別器に正常データとして識別され、データ２が識別器に異常データとして識別されるように生成器を学習する（Ｓ３０５）。
【００５６】
その後、学習処理部３０は、学習を継続する間は（Ｓ３０６：Ｎｏ）、Ｓ３０２以降を繰り返す。一方、学習を完了する場合は（Ｓ３０６：Ｙｅｓ）、学習処理部３０は、識別器を保存する（Ｓ３０７）。
【００５７】
上述したように、学習処理部３０は、通常通りに識別器を混乱させるように学習させるデータ１の生成元と、識別器を混乱させないように学習させるデータ２の生成元とを予め設定しておくことで、データ２の精度を向上させることができる。例えば、異常データは、正常データの分布から大きく外れたところに存在せず、正常データの近傍に存在すると予想できる。また、近い種同士からは同種のデータが生成されると期待できる。
【００５８】
したがって、正常データの種の近傍であるが、異常データに該当すると予想できる種から異常データを生成することで、最終的に検出したい異常データを用いた識別器の学習が実行できる。このため、学習処理部３０は、生成器に対して、識別器を騙すためのデータ１に対応する種１の近傍であるが、種１には含まれない種２の範囲を種１の範囲の近傍に設定し、種２を用いてデータ２を生成することで、識別器の精度向上を図ることができる。特に、通常のＧＡＮが使用する種の分布の周辺を新たな種に使用し、それらの上記割合を増加させることができるので、正常データの種類が少数である場合に特に有効である。
【実施例３】
【００５９】
ところで、実施例２では、乱数などを種として使用する例を説明したが、これに限定されるものではない。例えば、実施例２で使用する種として、学習に使用する正常データを使用することができる。正常データおよび異常データが共に多様性がある場合に特に有効である。
【００６０】
図１３は、実施例３にかかる学習処理を説明する図である。図１３に示すように、学習処理部３０は、正常データＤＢ１３に予め格納される各正常データを種１として、元情報ＤＢ１４に格納する。そして、学習処理部３０は、元情報ＤＢ１４に格納された各種１の近傍の範囲を各種２として設定する。すなわち、学習処理部３０は、識別器を混乱させる正常データの生成に使用する種１と、識別器を混乱させない異常データの生成に使用する種２とを設定する。
【００６１】
そして、学習処理部３０は、通常のＧＡＮの学習を実行しつつ、一定の割合で、種１を用いてデータ１を生成するとともに、種２を用いてデータ２を生成し、データ１とデータ２のそれぞれを識別器に入力する。その後は、実施例１と同様の学習を実行する。
【００６２】
このようにすることで、学習処理部３０は、正常データの近傍にあると予想される、最終的に検出したい異常データを正確に生成することができるので、当該異常データを用いて識別器を学習することができ、識別器の精度向上を図ることができる。
【実施例４】
【００６３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００６４】
［学習］
例えば、学習処理を終了するタイミングは、所定数以上の学習データを用いた学習が完了した時点や識別器の損失が閾値未満となった時点など、任意に設定することができる。また、医療用の画像データに限らず、不正侵入や危険物持ち込みなどを判定する各種分野に適用することができる。
【００６５】
［一定の割合］
例えば、学習処理部３０は、１０回に１回や、１００回などと学習回数が予め設定されている場合には学習回数の１割などのように、任意に設定変更することができる。また、学習処理部３０は、識別器の損失が上がった後に下がったタイミングで、上記データ１およびデータ２の生成を行って各学習を行うことができる。
【００６６】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、学習処理部３０と検出部４０とを別々の装置で実現することもできる。
【００６８】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６９】
［ハードウェア］
図１４は、ハードウェア構成例を説明する図である。図１４に示すように、異常検出装置１０は、通信装置１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１４に示した各部は、バス等で相互に接続される。
【００７０】
通信装置１０ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図６に示した機能を動作させるプログラムやＤＢを記憶する。
【００７１】
プロセッサ１０ｄは、図６に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図６等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、異常検出装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、学習処理部３０と検出部４０等と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、学習処理部３０と検出部４０等と同様の処理を実行するプロセスを実行する。
【００７２】
このように異常検出装置１０は、プログラムを読み出して実行することで異常検出方法を実行する情報処理装置として動作する。また、異常検出装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、異常検出装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【００７３】
１０  異常検出装置
１１  通信部
１２  記憶部
１３  正常データＤＢ
１４  元情報ＤＢ
１５  学習結果ＤＢ
２０  制御部
３０  学習処理部
３１  生成器学習部
３２  識別器学習部
４０  検出部
【図１】
2020123097.tif 000003
【図２】
2020123097.tif 000004
【図３】
2020123097.tif 000005
【図４】
2020123097.tif 000006
【図５Ａ】
2020123097.tif 000007
【図５Ｂ】
2020123097.tif 000008
【図６】
2020123097.tif 000009
【図７】
2020123097.tif 000010
【図８】
2020123097.tif 000011
【図９】
2020123097.tif 000012
【図１０】
2020123097.tif 000013
【図１１】
2020123097.tif 000014
【図１２】
2020123097.tif 000015
【図１３】
2020123097.tif 000016
【図１４】
2020123097.tif 000017
【図１５】
2020123097.tif 000018