(57)【要約】【課題】機器に関する正常状態のデータが十分に収集できない場合であっても、機器の異常を検知する。【解決手段】学習部１４１は、確率変数で表される複数の潜在変数を基にデータを生成する生成モデルの学習を、正常状態にある所定の機器に関するデータを学習データとして、潜在変数がDisentangleな表現を獲得するように行う。また、検知部１４２は、学習部１４１によって学習が行われた生成モデルに検知対象のデータを入力した際に出力されるデータと、検知対象のデータと、の類似度が所定値未満である場合、検知対象のデータを異常と検知する。【選択図】図２
2019003274.tif 000002
【特許請求の範囲】
【請求項１】
確率変数で表される複数の潜在変数を基にデータを生成する生成モデルの学習を、正常状態にある所定の機器に関するデータを学習データとして、前記潜在変数がDisentangleな表現を獲得するように行う学習部と、
前記学習部によって学習が行われた前記生成モデルに検知対象のデータを入力した際に出力されるデータと、前記検知対象のデータと、の類似度が所定値未満である場合、前記検知対象のデータを異常と検知する検知部と、
を有することを特徴とする検知システム。
【請求項２】
前記生成モデルに前記正常状態におけるデータが入力された際の、前記複数の潜在変数間の相互情報量を出力する出力部をさらに有することを特徴とする請求項１に記載の検知システム。
【請求項３】
前記学習部は、前記複数の潜在変数間の相互情報量が小さくなるように前記生成モデルの学習を行うことを特徴とする請求項１に記載の検知システム。
【請求項４】
コンピュータによって実行される検知方法であって、
確率変数で表される複数の潜在変数を基にデータを生成する生成モデルの学習を、正常状態にある所定の機器に関するデータを学習データとして、前記潜在変数がDisentangleな表現を獲得するように行う学習工程と、
前記学習工程によって学習が行われた前記生成モデルに検知対象のデータを入力した際に出力されるデータと、前記検知対象のデータと、の類似度が所定値未満である場合、前記検知対象のデータを異常と検知する検知工程と、
を含んだことを特徴とする検知方法。
【請求項５】
コンピュータに、
確率変数で表される複数の潜在変数を基にデータを生成する生成モデルの学習を、正常状態にある所定の機器に関するデータを学習データとして、前記潜在変数がDisentangleな表現を獲得するように行う学習ステップと、
前記学習ステップによって学習が行われた前記生成モデルに検知対象のデータを入力した際に出力されるデータと、前記検知対象のデータと、の類似度が所定値未満である場合、前記検知対象のデータを異常と検知する検知ステップと、
を実行させることを特徴とする検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知システム、検知方法及び検知プログラムに関する。
【背景技術】
【０００２】
従来、正常状態のデータを学習データとして、教師なし深層学習により生成モデルの学習を行い、当該生成モデルを用いて異常データの検知を行うアノマリ型の異常検知システムが知られている（例えば、非特許文献１を参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Jinwon  An,  Sungzoon  Cho,  “Variational  Autoencoder  based  Anomaly  Detection  using  Reconstruction  Probability”  [online]、[平成２９年５月３１日検索]、インターネット（http://dm.snu.ac.kr/static/docs/TR/SNUDM-TR-2015-03.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術には、機器に関する正常状態のデータを十分に収集できない場合に、機器の異常を検知できない場合があるという問題がある。例えば、非特許文献１に記載の技術では、正常状態のデータとして存在し得るが収集されていないデータの影響を生成モデルに反映させることが難しいため、正常状態のデータが十分に収集できていない場合、異常を検知できない場合がある。
【０００５】
また、例えば、ＩｏＴ機器に対する攻撃の有無を検知する場合、学習用及び検知用のデータとしてＩｏＴ機器のトラフィックに関するデータを用いることが考えられる。一方、現在のところ、ＩｏＴ機器は、ＰＣ等の情報機器と比べて十分に普及していないため、正常状態のＩｏＴ機器のトラフィックに関するデータを入手することが困難である場合がある。このため、非特許文献１に記載の技術では、ＩｏＴ機器に対する攻撃の有無を検知できない場合がある。
【課題を解決するための手段】
【０００６】
本発明の検知システムは、確率変数で表される複数の潜在変数を基にデータを生成する生成モデルの学習を、正常状態にある所定の機器に関するデータを学習データとして、前記潜在変数がDisentangleな表現を獲得するように行う学習部と、前記学習部によって学習が行われた前記生成モデルに検知対象のデータを入力した際に出力されるデータと、前記検知対象のデータと、の類似度が所定値未満である場合、前記検知対象のデータを異常と検知する検知部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、機器に関する正常状態のデータが十分に収集できない場合であっても、機器の異常を検知することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る検知システムの構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る検知装置の構成の一例を示す図である。
【図３】図３は、Disentangleな表現を獲得した潜在変数について説明するための図である。
【図４】図４は、ＶＡＥについて説明するための図である。
【図５】図５は、実験における学習データの一例を示す図である。
【図６】図６は、実験結果のグラフの一例を示す図である。
【図７】図７は、実験結果のグラフの一例を示す図である。
【図８】図８は、実験結果のグラフの一例を示す図である。
【図９】図９は、実験結果のグラフの一例を示す図である。
【図１０】図１０は、第１の実施形態に係る検知装置の学習処理の流れを示すフローチャートである。
【図１１】図１１は、第１の実施形態に係る検知装置の検知処理の流れを示すフローチャートである。
【図１２】図１２は、検知プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る検知システム、検知方法及び検知プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１０】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る検知システムの構成について説明する。図１は、第１の実施形態に係る検知システムの構成の一例を示す図である。図１に示すように、検知システム１は、検知装置１０、ゲートウェイ２０、機器３０を有し、ゲートウェイ２０は外部ネットワーク４０と接続されている。
【００１１】
検知装置１０は、機器３０に関する正常状態のデータ及び検知対象のデータを取得し、取得した正常状態のデータの学習及び取得した検知対象のデータの異常検知を行う。例えば、検知装置１０は、機器３０と外部ネットワーク４０との通信であって、ゲートウェイ２０を通過する通信のログ等を取得する。また、機器３０は、例えば監視カメラやウェアラブルデバイスのようなＩｏＴ機器であってもよい。例えば、機器３０が監視カメラである場合、検知装置１０は、監視カメラの解像度を変化させたときのトラフィックデータを正常状態のデータとして取得することができる。
【００１２】
次に、図２を用いて、検知装置１０の構成について説明する。図２は、第１の実施形態に係る検知装置の構成の一例を示す図である。図２に示すように、検知装置１０は、入出力部１１、通信部１２、記憶部１３及び制御部１４を有する。
【００１３】
入出力部１１は、ユーザからのデータの入力を受け付ける。入出力部１１は、例えば、マウスやキーボード等の入力装置、及びディスプレイやタッチパネル等の表示装置を含む。通信部１２は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部１２はＮＩＣ（Network  Interface  Card）である。通信部１２は、例えばゲートウェイ２０との間でデータ通信を行う。
【００１４】
記憶部１３は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１３は、検知装置１０で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１３は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部１３は、学習済みモデルＤＢ１３１を有する。学習済みモデルＤＢ１３１は、学習済みの生成モデルのパラメータ等を記憶する。
【００１５】
制御部１４は、検知装置１０全体を制御する。制御部１４は、例えば、ＣＰＵ（Central  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）、ＴＰＵ（Tensor  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１４は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部１４は、学習部１４１及び検知部１４２を有する。
【００１６】
学習部１４１は、確率変数で表される複数の潜在変数を基にデータを生成する生成モデルの学習を、正常状態にある所定の機器に関するデータを学習データとして、潜在変数がDisentangleな表現を獲得するように行う。
【００１７】
学習部１４１は、一例として、非特許文献１に記載されたＶＡＥ（Variational  Autoencoder）という手法に対し、潜在変数がDisentangleな表現を獲得するような学習を行うように変更を加えた手法を用いて学習を行う。従来のＶＡＥは、オートエンコーダに基づく手法であり、潜在変数として確率分布が仮定されていることを特徴としている。
【００１８】
ここで、例として、ある図形が所定の位置に所定のスケールで表示された画像データを学習データとして、従来のＶＡＥを用いて生成モデルの学習を行う場合を考える。この場合、学習によって決定された潜在変数ｚ０が図形の水平方向の位置とスケールを表し、潜在変数ｚ１が図形の水平方向の位置と垂直方向の位置とスケールを表し、潜在変数ｚ２が図形の水平方向の位置と垂直方向の位置を表す、といったことが起こる場合がある。つまり、この場合、図形の水平方向の位置がｚ０、ｚ１及びｚ２によって表され、図形の垂直方向の位置がｚ１及びｚ２によって表され、図形のスケールがｚ０及びｚ１によって表される。これは、従来のＶＡＥでは、学習データに含まれる１つの意味が複数の潜在変数で表される分散表現を獲得するように学習を行っているためである。
【００１９】
ここで、従来のＶＡＥを用いて学習された生成モデルを用いて画像データを生成することを考える。このとき、例えば、学習データとして用いられた全ての画像データにおいて、図形が中央より右側に位置していた場合、従来のＶＡＥを用いて学習された生成モデルでは、図形が左端に位置するような画像データを生成することができない場合がある。これは、分散表現を獲得するように学習を行う従来のＶＡＥでは、観測できないデータに対する予言（Zero-shot  Transfer）が困難であるためである。
【００２０】
これに対し、本実施形態の手法では、学習データに含まれる１つの意味が複数の１つの潜在変数で表されるDisentangleな表現を獲得するように学習を行うため、観測できないデータに対する予言が可能となる。例えば、ある図形が所定の位置に所定のスケールで表示された画像データを学習データとして、本実施形態の手法を用いて生成モデルの学習を行った場合、ｚ０が図形の水平方向の位置を表し、ｚ１が図形の垂直方向の位置を表し、ｚ２が図形のスケールを表すようにすることができる。この場合、例えば、ｚ０の値を学習データには存在しなかった範囲の値に変更することで、図形の位置が生成モデルによって生成される画像における図形の水平方向の位置を、学習データには存在しなかった位置に設定することができる。
【００２１】
図３は、Disentangleな表現を獲得した潜在変数について説明するための図である。図３の軸１５１及び軸１５２は、それぞれ異なる潜在変数の値である。また、領域１５３は学習データが観測できた領域である。各点１５５は、観測された学習データを表している。領域１５４は学習データが観測できなかった領域である。このとき、本実施形態の手法では、軸１５１及び軸１５２自体を学習し、それぞれの潜在変数はDisentangleな表現を獲得するため、領域１５４の学習データの予言、すなわちZero-shot  Transferが可能となる。
【００２２】
図４は、ＶＡＥについて説明するための図である。図４に示すように、従来のＶＡＥの生成モデルは、オートエンコーダである。また、従来のＶＡＥは、ｉｎ層に入力された学習データを基にエンコーダｑφ（ｚ｜ｘ）により確率変数で表される潜在変数ｐ（ｚ）を生成し、ｐ（ｚ）から確率的に決定されたｚを基にデコーダｐθ（ｘ｜ｚ）により出力データを生成し、ｏｕｔ層に出力する。
【００２３】
ここで、エンコーダｑφ（ｚ｜ｘ）、潜在変数ｐ（ｚ）、及びデコーダｐθ（ｘ｜ｚ）は、いずれも分布を仮定するものである。また、エンコーダｑφ（ｚ｜ｘ）と潜在変数ｐ（ｚ）との間は確率的であるため、逆誤差伝搬が不可能である。一方、潜在変数ｐ（ｚ）とデコーダｐθ（ｘ｜ｚ）との間は決定的であるため、逆誤差伝搬が可能である。
【００２４】
また、従来のＶＡＥは、ｌｏｇｐ（ｘ）の再構成誤差項からＫＬ  ｄｉｖｅｒｇｅｎｃｅによるｐ（ｚ）の束縛を表す正則化項を引いた変分下限の部分を目的関数として、当該目的関数が最大化されるように学習を行う。
【００２５】
潜在変数がDisentangleな表現を獲得するためには、確率分布で表される潜在変数間の独立の度合いを大きくすることや、確率分布で表される潜在変数間の相互情報量を小さくすることが考えられる。そこで、本実施形態において、学習部１４１は、ＶＡＥの目的関数の最大化を、（１）式の右辺の最大化に置き換えた手法を用いて学習を行う。ただし、Ｉは相互情報量、β及びηはユーザによって決められる定数である。
【００２６】
【数１】
2019003274.tif 000003
【００２７】
βを大きくした場合、間接的に確率分布で表される潜在変数間の独立の度合いが大きくなる。また、（１）式の右辺を最大化すると、Ｉ（ｚｉ；ｚｊ）を小さくすることになるため、確率分布で表される潜在変数間の相互情報量が小さくなる。つまり、学習部１４１は、複数の潜在変数間の相互情報量が小さくなるように生成モデルの学習を行う。
【００２８】
本実施形態の検知装置１０を用いて実験を行った際の結果について説明する。図５は、実験における学習データの一例を示す図である。図５の画像データは、人工的に生成したものであり、図５の画像データは、楕円形のモノクロ画像に対してｘ  ｐｏｓｉｔｉｏｎ（１６パターン）、ｙ  ｐｏｓｉｔｉｏｎ（１６パターン）、スケール（４０パターン）、回転（４０パターン）を振って人工的に生成したものである。図５に示す６４枚の画像データは実験における学習データの一部であり、実際には図示しない画像データも学習データとして用いている。また、実験では、β＝１、η＝１０００を用いた。
【００２９】
入出力部１１は、学習部１４１による学習の結果をグラフとして表示することができる。ユーザは、入出力部１１によって表示されたグラフを見て、潜在変数がDisentangleな表現を獲得したか否かの評価を行うことができる。図６は、実験結果のグラフの一例を示す図である。図６のグラフ５０、５１、５２、５３、５４及び５５は、入出力部１１によって出力されたものである。
【００３０】
図６のグラフ５０、５１、５２、５３、５４及び５５は、それぞれ潜在変数ｚ０、ｚ１、ｚ２、ｚ３、ｚ４、ｚ５に対応し、学習データの図形の位置を少しずつ変化させたとき各位置に対応するｐ（ｚｉ｜ｘ）＝Ｎ（μｉ，σｉ）のμｉをプロットしたものである。グラフ５０、５１、５２、５３、５４及び５５において、μｉが大きい値である場合は黒い点でプロットし、μｉが小さい値である場合は灰色の点でプロットしている。グラフ５０、５１、５２、５３、５４及び５５の横軸はｘ  ｐｏｓｉｔｉｏｎ（例えば、２，４，…，３０，３２の１６パターン）に対応し、縦軸はｙ  ｐｏｓｉｔｉｏｎ（例えば、２，４，…，３０，３２の１６パターン）に対応している。
【００３１】
例えば、潜在変数ｚ３に対応するグラフ５３では、横軸の値が小さいほど黒い点が多くなり、横軸の値が大きいほど灰色の点が多くなっている。一方、グラフ５３の縦軸方向では大きな模様の変化は見られない。これより、潜在変数ｚ３の値が大きいほどｘ  ｐｏｓｉｔｉｏｎが小さくなること、及び、潜在変数ｚ３の値がｙ  ｐｏｓｉｔｉｏｎに影響を与えないことがいえる。つまり、グラフ５３から、潜在変数ｚ３が「楕円形のｘ方向の位置」という意味を持っていることがいえる。同様に、潜在変数ｚ５に対応するグラフ５５から、潜在変数ｚ５が「楕円形のｙ方向の位置」という意味を持っていることがいえる。
【００３２】
このように、実験では、入出力部１１によって出力されたグラフの縞模様のでき方から、学習部１４１による学習によって、ｘ方向とｙ方向の意味が潜在変数として分離して抽出されていることがわかる。これより、本実施形態によれば、それぞれの潜在変数はDisentangleな表現を獲得するため、学習データが観測できなかった領域の学習データの予言、すなわちZero-shot  Transferが可能となる。
【００３３】
ここで、図７、８及び９を用いて、潜在変数がDisentangleな表現を獲得する場合、潜在変数間の相互情報量が小さくなることを説明する。図７、８及び９は、実験結果のグラフの一例を示す図である。図７、８及び９は、βにそれぞれ異なる値を設定した場合の実験結果である。入出力部１１は、生成モデルに正常状態におけるデータが入力された際の、複数の潜在変数間の相互情報量を出力する。
【００３４】
図７のグラフ６０、６１、６２、６３、６４及び６５から、グラフ６１に対応する潜在変数ｚ１、及びグラフ６５に対応する潜在変数ｚ５が、Disentangleな表現を獲得できていることがいえる。また、相互情報量を表すグラフ６００に示すように、相互情報量の最大値は、潜在変数ｚ１（番号：１）と潜在変数ｚ５（番号：５）との間の相互情報量であり、０．０１程度である（グラフ６００の（１  ５））。
【００３５】
また、図８のグラフ７０、７１、７２、７３、７４及び７５から、グラフ７１に対応する潜在変数ｚ１、グラフ７２に対応する潜在変数ｚ２、及びグラフ７４に対応する潜在変数ｚ４がDisentangleな表現を獲得できていることがいえる。ただし、図７と図８を比較すると、図７の方が模様の形状がよりはっきりと表れているので、図８の場合よりも図７の場合の方が、よりDisentangleな表現を獲得できている。また、相互情報量を表すグラフ７００に示すように、相互情報量の最大値は、潜在変数ｚ１（番号：１）と潜在変数ｚ２（番号：２）との間の相互情報量であり、０．１２程度である（グラフ７００の（１  ２））。
【００３６】
また、図９の場合、グラフ８０、８１、８２、８３、８４及び８５から、Disentangleな表現を獲得できていないことがいえる。また、相互情報量を表すグラフ８００に示すように、相互情報量の最大値は、潜在変数ｚ０（番号：０）と潜在変数ｚ４（番号：４）との間の相互情報量であり、０．５５程度である（グラフ８００の（０  ４））。
【００３７】
このように、潜在変数がDisentangleな表現を獲得する場合、潜在変数間の相互情報量が小さくなるため、相互情報量は、潜在変数がDisentangleな表現を獲得したか否かを評価する指標となる。
【００３８】
検知部１４２は、学習部１４１によって学習が行われた生成モデルに検知対象のデータを入力した際に出力されるデータと、検知対象のデータと、の類似度が所定値未満である場合、検知対象のデータを異常と検知する。検知部１４２は、例えば、出力データと検知対象のデータとの差分に基づいて類似度を計算することができる。
【００３９】
学習部１４１による生成モデルの学習は、ｉｎ層に入力された学習データとｏｕｔ層で出力されるデータとがなるべく同一になるように行われる。このため、学習済みの生成モデルのｉｎ層に検知対象のデータを入力した際に、当該検知対象のデータが正常状態のものであればｏｕｔ層から入力データと類似したデータを出力することができる。一方、検知対象のデータが異常データであればｏｕｔ層から入力データと類似しないデータが出力される。検知部１４２が、生成モデルのこのような性質を利用して検知を行う。
【００４０】
［第１の実施形態の処理］
図１０を用いて検知装置１０の学習部１４１の処理について説明する。図１０は、第１の実施形態に係る検知装置の学習処理の流れを示すフローチャートである。図１０に示すように、まず、学習部１４１には正常状態のデータが入力される（ステップＳ１０１）。そして、学習部１４１は、潜在変数がDisentangleな表現を獲得するように学習を行う（ステップＳ１０２）。そして、学習部１４１は、学習済みの生成モデルを学習済みモデルＤＢ１３１に保存する（ステップＳ１０３）。
【００４１】
次に、図１１を用いて検知装置１０の検知部１４２の処理について説明する。図１１は、第１の実施形態に係る検知装置の検知処理の流れを示すフローチャートである。図１１に示すように、まず、検知部１４２には検知対象のデータが入力される（ステップＳ２０１）。そして、検知部１４２は、学習済みモデルＤＢ１３１に保存された生成モデルを用いて、出力データを生成する（ステップＳ２０２）。ここで、検知対象のデータと出力データとの類似度が所定値以上である場合（ステップＳ２０３、Ｙｅｓ）、検知部１４２は検知対象のデータを異常と検知せず、処理を終了する。一方、検知対象のデータと出力データとの類似度が所定値以上でない場合（ステップＳ２０３、Ｎｏ）、検知部１４２は検知対象のデータを異常と検知する（ステップＳ２０４）。
【００４２】
［第１の実施形態の効果］
学習部１４１は、確率変数で表される複数の潜在変数を基にデータを生成する生成モデルの学習を、正常状態にある所定の機器に関するデータを学習データとして、潜在変数がDisentangleな表現を獲得するように行う。また、検知部１４２は、学習部１４１によって学習が行われた生成モデルに検知対象のデータを入力した際に出力されるデータと、検知対象のデータと、の類似度が所定値未満である場合、検知対象のデータを異常と検知する。このように、生成モデルの潜在変数がDisentangleな表現を獲得するように学習を行うことで、学習データが観測できなかった領域の学習データの予言、すなわちZero-shot  Transferが可能となる。このため、本実施形態によれば、機器に関する異常状態のデータだけでなく、正常状態のデータが十分に収集できない場合であっても、機器の異常を検知することができる。例えば、ＩｏＴ機器に関する正常状態のデータの十分な収集が困難であることから、本実施形態の検知装置１０は、特にＩｏＴ機器の異常検知に有用である。
【００４３】
入出力部１１は、生成モデルに正常状態におけるデータが入力された際の、複数の潜在変数間の相互情報量を出力する。これにより、ユーザは、相互情報量に基づいて、潜在変数がDisentangleな表現を獲得したか否かの評価を行うことができる。
【００４４】
学習部１４１は、複数の潜在変数間の相互情報量が小さくなるように生成モデルの学習を行う。これにより、生成モデルの潜在変数がDisentangleな表現を獲得できるようになる。
【００４５】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００４６】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００４７】
［プログラム］
一実施形態として、検知装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００４８】
また、検知装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の検知に関するサービスを提供する検知サーバ装置として実装することもできる。例えば、検知サーバ装置は、検知対象のデータを入力とし、検知結果を出力とする検知サービスを提供するサーバ装置として実装される。この場合、検知サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の検知に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００４９】
図１２は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００５０】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００５１】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、検知装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、検知装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００５２】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００５３】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００５４】
１０  検知装置
１１  入出力部
１２  通信部
１３  記憶部
１４  制御部
２０  ゲートウェイ
３０  機器
４０  外部ネットワーク
１４１  学習部
１４２  検知部
【図１】
2019003274.tif 000004
【図２】
2019003274.tif 000005
【図３】
2019003274.tif 000006
【図４】
2019003274.tif 000007
【図５】
2019003274.tif 000008
【図６】
2019003274.tif 000009
【図７】
2019003274.tif 000010
【図８】
2019003274.tif 000011
【図９】
2019003274.tif 000012
【図１０】
2019003274.tif 000013
【図１１】
2019003274.tif 000014
【図１２】
2019003274.tif 000015