(57)【要約】【課題】計算リソースや通信環境が貧弱であっても、エッジで異常検知を行い、リアルタイムに利用者に情報提供する。【解決手段】取得部１３１は、生成装置によって生成されたニューラルネットによるAutoEncoderと閾値とからなる検知モデル１２２であって、入力データをAutoEncoderに入力して得られる出力データと入力データとの差分が閾値を超えている場合に異常と判定する検知モデル１２２を、生成装置から取得する。また、センサ１４は、検知対象データ１２１を収集する。また、検知部１３２は、センサ１４によって収集された検知対象データ１２１を検知モデル１２２に入力し異常を検知する。【選択図】図２
2019049778.tif 000002
【特許請求の範囲】
【請求項１】
外部の情報処理装置によって生成されたニューラルネットによるAutoEncoderと閾値とからなる検知モデルであって、入力データを前記AutoEncoderに入力して得られる出力データと前記入力データとの差分が前記閾値を超えている場合に異常と判定する検知モデルを、前記情報処理装置から取得する取得部と、
センサと、
前記センサによって収集されたセンサデータを前記検知モデルに入力し異常を検知する検知部と、
を有することを特徴とする検知装置。
【請求項２】
前記検知部によって異常が検知された場合、異常が検知された旨を含む情報を、前記情報を出力する機能を有する所定の装置に対して通知する通知部をさらに有することを特徴とする請求項１に記載の検知装置。
【請求項３】
前記検知部は、異常を検知した場合、前記センサデータに含まれる次元ごとの異常度をさらに算出し、
前記通知部は、前記次元ごとの前記異常度の全部又は一部をさらに通知すること特徴とする請求項２に記載の検知装置。
【請求項４】
前記検知部によって異常が検知されなかった場合、前記センサデータのうちの一部を、前記検知モデルを更新するための学習用データとして前記情報処理装置に提供する提供部をさらに有することを特徴とする請求項１から３のいずれか１項に記載の検知装置。
【請求項５】
前記取得部は、前記情報処理装置によって生成された検知モデルである初期モデルと、前記初期モデルが前記情報処理装置によって更新された検知モデルである更新モデルと、を取得し、
前記検知部は、前記センサデータを、前記初期モデル及び前記更新モデルのそれぞれに入力し異常を検知することを特徴とする請求項１から４のいずれか１項に記載の検知装置。
【請求項６】
センサを有する検知装置によって実行される検知方法であって、
外部の情報処理装置によって生成されたニューラルネットによるAutoEncoderと閾値とからなる検知モデルであって、入力データを前記AutoEncoderに入力して得られる出力データと前記入力データとの差分が前記閾値を超えている場合に異常と判定する検知モデルを、前記情報処理装置から取得する取得工程と、
前記センサによって収集されたセンサデータを前記検知モデルに入力し異常を検知する検知工程と、
を含んだことを特徴とする検知方法。
【請求項７】
コンピュータを、請求項１から５のいずれか１項に記載の検知装置として機能させるための検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知装置、検知方法及び検知プログラムに関する。
【背景技術】
【０００２】
従来、ニューラルネットワークの１つであるAutoEncoderを用いた異常検知が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】櫻田麻由他,  “オートエンコーダを用いた次元削減による宇宙機の異常検知,”人工知能学会全国大会論文集  28,  pp.1-3,  2014
【発明の概要】
【発明が解決しようとする課題】
【０００４】
通常、AutoEncoderは学習と判定を同一ノードで実施するが、重み行列やバイアス項の更新のための演算は、通常大きな計算リソースを必要とする。このため、ＩｏＴ（Internet  of  Things）向け等エッジ（ローカル）側の計算リソースが低い場合、センサデータをクラウド等のサーバに送信してサーバでモデルを学習、異常検知（判定）する方法が知られている。
【０００５】
しかし、一般にＩｏＴ機器が設置される環境において利用できる通信環境は貧弱な事も多く、常時広帯域の通信環境を期待することはできないため、リアルタイムに異常検知し、関連情報を提示する事が必要な利用例においては、この様なサーバ側での学習、判定処理では常時異常検知ができない場合があるという問題があった。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の検知装置は、外部の情報処理装置によって生成されたニューラルネットによるAutoEncoderと閾値とからなる検知モデルであって、入力データを前記AutoEncoderに入力して得られる出力データと前記入力データとの差分が前記閾値を超えている場合に異常と判定する検知モデルを、前記情報処理装置から取得する取得部と、センサと、前記センサによって収集されたセンサデータを前記検知モデルに入力し異常を検知する検知部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、計算リソースや通信環境が貧弱であっても、エッジで異常検知を行い、リアルタイムに利用者に情報提供することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る検知システムの構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る検知装置の構成の一例を示す図である。
【図３】図３は、第１の実施形態に係る生成装置の構成の一例を示す図である。
【図４】図４は、第１の実施形態に係る学習モード及び検知モードについて説明するための図である。
【図５】図５は、第１の実施形態に係る検知装置の処理の流れを示すフローチャートである。
【図６】図６は、第１の実施形態に係る生成装置の処理の流れを示すフローチャートである。
【図７】図７は、生成プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る検知装置、検知方法及び検知プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１０】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る検知システムの構成について説明する。図１は、第１の実施形態に係る検知システムの構成の一例を示す図である。図１に示すように、検知システム１は、検知装置１０、生成装置２０及び出力装置３０を有する。
【００１１】
検知装置１０は、ＩｏＴ機器である。検知装置１０は、センサによって収集されたセンサデータを検知対象データとして、検知モデルを用いた異常の検知を行う。また、検知装置１０は、センサデータの一部を学習用データとして生成装置２０に送信する。また、検知装置１０は、検知の結果を出力装置３０に送信する。なお、生成装置２０は、外部の情報処理装置の一例である。
【００１２】
また、検知装置１０は、検知の結果を出力装置３０に送信することができる。検知装置１０は、自動車に搭載された車載器、医療用のウェアラブル測定機器、生産ラインで使用される検査装置、ネットワークの末端のルータ等である。
【００１３】
生成装置２０は、検知装置１０によって使用される検知モデルを生成する。また、生成装置２０は、検知装置１０から送信された学習用データを用いて学習を行い、検知モデルを更新する。生成装置２０は、例えばサーバである。
【００１４】
出力装置３０は、検知装置１０から送信された検知の結果を出力する。出力装置３０は、例えば、画像を出力可能なディスプレイ又は音声を出力可能なスピーカを備えた装置である。出力装置３０は、例えば、画像及び音声を出力可能な自動車のコントロールパネル、検知された異常に関するサービスの提供者への通知を出力可能なサーバ、生産ラインへの制御命令を出力可能な制御装置、ルータ等のネットワーク機器への制御命令を出力可能なコントローラサーバ等である。
【００１５】
［検知装置の構成］
図２を用いて、第１の実施形態に係る検知装置の構成について説明する。図２は、第１の実施形態に係る検知装置の構成の一例を示す図である。図２に示すように、検知装置１０は、通信部１１、記憶部１２、制御部１３及びセンサ１４を有する。
【００１６】
通信部１１は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部１１はＮＩＣ（Network  Interface  Card）である。通信部１１は、例えば、生成装置２０及び出力装置３０との間でデータ通信を行う。
【００１７】
記憶部１２は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１２は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１２は、検知装置１０で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１２は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部１２は、検知対象データ１２１及び検知モデル１２２を記憶する。
【００１８】
検知対象データ１２１は、センサ１４によって収集されたセンサデータである。センサ１４は、例えば、画像センサ、音声センサ、タッチセンサ、加速度センサ、ジャイロセンサ、ホールセンサ、近接センサ、温度センサ、湿度センサ、電圧センサ、脈拍センサ、血圧センサ等である。
【００１９】
検知モデル１２２は、ニューラルネットによるAutoEncoderと閾値とからなる検知モデルであって、入力データをAutoEncoderに入力して得られる出力データと入力データとの差分が閾値を超えている場合に異常と判定するものである。
【００２０】
制御部１３は、検知装置１０全体を制御する。制御部１３は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１３は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部１３は、取得部１３１、検知部１３２、通知部１３３、提供部１３４を有する。
【００２１】
取得部１３１は、生成装置２０から検知モデル１２２を取得する。取得部１３１は、取得した検知モデル１２２を記憶部１２に格納する。取得部１３１は、あらかじめ定められたタイミングで検知モデル１２２の取得を行ってもよいし、生成装置２０によって更新された検知モデル１２２の配信が行われる旨の通知があった際に検知モデル１２２の取得を行ってもよい。
【００２２】
検知部１３２は、センサ１４によって収集された検知対象データ１２１を検知モデル１２２に入力し異常を検知する。以降、検知部１３２によって検知モデル１２２に入力されるデータを入力データｘとし、その際に検知モデル１２２によって出力されるデータを出力データｙとする。
【００２３】
なお、入力データｘは、センサ１４によって常時収集されるセンサデータを、一定時間幅ごとの特徴ベクトルに変換したものであってもよい。また、検知装置１０におけるコンピュートリソースの利用を抑えるため、検知モデル１２２のAutoEncoderを、単層ＡＥ、drop  outをありにしたもの、中間層のノード数を入力データのノード数未満としたもの等にすることができる。また、検知モデル１２２のAutoEncoderを中間ノードの活性化関数を、ReLU等の演算が容易なものとしてもよい。
【００２４】
また、勾配消失の発生を回避するため、検知モデル１２２のAutoEncoderの中間ノードでの活性化関数を、−１以下でも傾きを持つLeaky  ReLU、Randomized  ReLU、Parametric  ReLU等としてもよい。また、検知装置１０の制御部１３を、１６ｂｉｔ又は８ｂｉｔ等の低ビット演算素子を用いるものとすることで、さらにコンピュートリソースの仕様を抑えることができる。また、検知装置１０の制御部１３をＦＰＧＡ等にすることで処理のオフロードが可能な場合、中間ノードでの活性化関数をシグモイド関数やtanh等の微分可能なものとすることができる。
【００２５】
なお、検知装置１０の処理を制限しない範囲で、検知モデル１２２のAutoEncoderを、複数層のエンコーダ部、デコーダ部を備えたStacked  AutoEncoderとすることができる。また、検知装置１０の処理を制限しない範囲で、検知モデル１２２のAutoEncoderを、入力データにノイズを加えるDenoising  AutoEncoderや、中間層を確率変数で表すVariational  AutoEncoderとすることができる。また、検知装置１０の処理を制限しない範囲で、検知モデル１２２のAutoEncoderを、中間層の次元を入力層より多くしつつ次元圧縮効果が期待できるスパース正則化を用いたSparse  AutoEncoderとすることができる。
【００２６】
ここで、検知モデル１２２のAutoEncoderは、生成装置２０による学習の結果、入力データｘが正常データである場合、出力データｙと入力データｘとの差分がなるべく小さくなることが期待されるものである。このため、検知部１３２は、入力データｘと出力データｙの差分を異常度として算出する。
【００２７】
検知部１３２は、例えば、AutoEncoderの復元誤差であるΣ｛（ｘｉ−ｙｉ）＾２｝／Ｎ（ただしＮはＸの次元数）、つまり、入力データｘと出力データｙの平均二乗誤差を異常度として算出する。さらに、検知部１３２は、検知部１３２によって算出された異常度があらかじめ設定された第１の閾値を超えている場合、異常を検知する。また、検知部１３２は、復元誤差として、入力データｘと出力データｙのＬ１ノルム又はＬ２ノルム等を算出してもよい。
【００２８】
ここで、入力データｘのｉ番目の次元のデータをｘｉ、出力データｙのｉ番目の次元のデータをｙｉとすると、検知部１３２は、ｉ番目の次元の異常度を｜ｘｉ−ｙｉ｜／（｜ｘｉ｜＋ε）（ただし、εは十分小さい数）として算出する。このように、検知部１３２は、異常を検知した場合、検知対象データ１２１に含まれる次元ごとの異常度をさらに算出する。
【００２９】
通知部１３３は、検知部１３２によって異常が検知された場合、異常が検知された旨を含む情報を、出力装置３０に対して通知する。例えば、通知部１３３は、各次元の異常度リストを作成して全て通知することもできるし、降順にソートして特定数の上位次元のみ異常度と値を通知することもできる。また、例えば、通知部１３３は、異常度の高さが上位３位までの次元を、当該次元の異常度及び検知対象データ１２１とともに通知することができる。
【００３０】
提供部１３４は、検知部１３２によって異常が検知されなかった場合、検知対象データ１２１のうちの一部を、検知モデル１２２を更新するための学習用データとして生成装置２０に提供する。例えば、提供部１３４は、検知対象データ１２１から一定の外れ値を除外した正常みなしデータを生成装置２０に提供することができる。また、例えば、提供部１３４は、異常が検知されなかった検知対象データ１２１から一定の割合でサンプリングしたデータを提供することができる。
【００３１】
［生成装置の構成］
図３を用いて、第１の実施形態に係る生成装置の構成について説明する。図３は、第１の実施形態に係る生成装置の構成の一例を示す図である。図３に示すように、生成装置２０は、通信部２１、記憶部２２及び制御部２３を有する。
【００３２】
通信部２１は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部２１はＮＩＣである。通信部２１は、例えば、検知装置１０との間でデータ通信を行う。
【００３３】
記憶部２２は、ＨＤＤ、ＳＳＤ、光ディスク等の記憶装置である。なお、記憶部２２は、ＲＡＭ、フラッシュメモリ、ＮＶＳＲＡＭ等のデータを書き換え可能な半導体メモリであってもよい。記憶部２２は、生成装置２０で実行されるＯＳや各種プログラムを記憶する。さらに、記憶部２２は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部２２は、学習用データ２２１及び検知モデル２２２を記憶する。
【００３４】
学習用データ２２１は、検知装置１０の提供部１３４によって提供された検知対象データ１２１の一部である。検知モデル２２２は、検知装置１０で用いられる検知モデル１２２と同様の検知モデルである。ただし、生成装置２０は、学習により検知モデル２２２を更新する。
【００３５】
制御部２３は、生成装置２０全体を制御する。制御部２３は、例えば、ＣＰＵ、ＭＰＵ等の電子回路や、ＡＳＩＣ、ＦＰＧＡ等の集積回路である。また、制御部２３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部２３は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部２３は、学習部２３１及び配信部２３２を有する。
【００３６】
学習部２３１は、学習用データ２２１を用いて学習を行い、検知モデル２２２を更新する。学習部２３１は、学習用データ２２１を検知モデル２２２に入力し、学習を行う。学習部２３１は、検知部１３２と同様に、検知モデル２２２の入力データ及び出力データの差分を異常度として算出する。
【００３７】
学習部２３１は、算出した異常度等に基づいて、検知モデル２２２を更新する。例えば、学習部２３１は、算出した異常度が小さくなるように、検知モデル２２２のAutoEncoderのパラメータを更新する。また、学習部２３１は、検知装置１０による検知率が大きく、かつ、誤検知率が小さくなるように、閾値を更新してもよい。また、配信部２３２は、更新された検知モデル２２２を検知装置１０に配信する。
【００３８】
（第１の実施例）
ここで、検知システム１の実施形態に基づく実施例について説明する。まず、図４を用いて第１の実施例について説明する。実施例では、検知システム１は、学習モードと検知モードに切り替えられるものとする。図４は、第１の実施形態に係る学習モード及び検知モードについて説明するための図である。
【００３９】
図４に示すように、第１の実施例では、自動車に搭載された車載器１０ａが、検知装置１０として機能する。また、検知モデル生成サーバ２０ａが、生成装置２０として機能する。また、自動車に搭載されたコントロールパネル３０ａが、出力装置３０として機能する。
【００４０】
ここで、車載器１０ａ及び検知モデル生成サーバ２０ａは、例えば、携帯電話網、WiFi（登録商標）網、WiMAX（登録商標）網、WiSUN、LPWA等で接続されており、常時通信は不要であるものとする。例えば、この場合、車載器１０ａは、センサデータとして、映像、音声、加速度、エンジン回転数、燃費、速度、シフトレバー位置、ハンドル角度及びＣＡＮ（Controller  Area  Network）データ等を収集する。
【００４１】
まず、学習モードでは、車載器１０ａは、センサデータを学習用データ２２１として検知モデル生成サーバ２０ａに送信する。そして、検知モデル生成サーバ２０ａは、学習用データ２２１を基に検知モデル２２２の更新を行う。そして、検知モデル生成サーバ２０ａは、更新済みの検知モデル２２２を車載器１０ａに配信する。なお、検知モデル２２２は、個別の車体を対象に生成されたものであってもよいし、車種ごと等の複数の車体を対象に生成されたものであってもよい。
【００４２】
次に、検知モードでは、車載器１０ａは、センサデータを検知対象データ１２１として異常の検知を行う。そして、車載器１０ａは、異常を検知した場合、コントロールパネル３０ａに対し、異常を検知した旨及び異常度の高さが所定の順位以内である次元を通知する。例えば、コントロールパネル３０ａは、異常度の高さが所定の順位以内である次元を異常度が高い順に表示する。このとき、車載器１０ａが搭載された自動車の運転手は、コントロールパネル３０ａを介して、異常が検知されたこと及び異常原因を確認することができる。
【００４３】
さらに、車載器１０ａは、検知対象データ１２１が異常と判定された場合、異常が発生した旨の通知及びその際の検知対象データ１２１を検知モデル生成サーバ２０ａに送信しても良い。このとき、検知モデル生成サーバ２０ａは、提供された検知対象データ１２１に基づき、異常原因の特定や分析を行うことができる。
【００４４】
さらに、車載器１０ａは、検知対象データ１２１が異常と判定されなかった場合、その際の検知対象データ１２１を検知モデル生成サーバ２０ａに送信してもよい。このとき、検知モデル生成サーバ２０ａは、車載器１０ａによって提供された検知対象データ１２１を学習用データ２２１として用い、検知モデル２２２を更新することができる。更新された検知モデルは、任意のタイミングで車載器１０ａに配信することができる。
【００４５】
（第２の実施例）
第２の実施例として、ウェアラブル測定器を検知装置１０として機能させてもよい。この場合、ウェアラブル測定器は、センサデータとして、装着者の心電波形、心拍、筋電、体温、脈拍及び血圧等を収集する。ウェアラブル測定器は、異常を検知した場合、装着者の主治医や駆けつけサービスへ通知を行う機能を有するサーバへ通知を行う。また、第２の実施例におけるウェアラブル測定器は、衣服型のウェアラブル測定器であるhitoe（登録商標）であってもよい。
【００４６】
（第３の実施例）
第３の実施例として、工場の生産ラインの検査装置を検知装置１０として機能させてもよい。この場合、検査装置は、センサデータとして、生産ラインの映像や音声等を収集し、異常を検知した場合、生産ラインの制御装置に通知する。このとき、生産ラインの制御装置は、生産ラインの稼働を停止し不良品の生産を止めることや、特定された異常原因に基づいて自動修復アクションを実行することができる。
【００４７】
（第４の実施例）
第４の実施例として、ネットワークの末端のルータを検知装置１０として機能させてもよい。この場合、ルータは、センサデータとして、通過するパケットの量やヘッダ情報等を収集し、異常を検知した場合、コントローラサーバに通知する。このとき、コントローラサーバは、OpenFlow等を用いたルーティングの変更を行うことができる。
【００４８】
［第１の実施形態の処理］
図５を用いて、検知装置１０の処理の流れについて説明する。図５は、第１の実施形態に係る検知装置の処理の流れを示すフローチャートである。図５に示すように、まず、取得部１３１は、検知モデル１２２を取得する（ステップＳ１０１）。ここで、センサ１４は、検知対象データ１２１を収集する（ステップＳ１０２）。
【００４９】
検知部１３２は、検知モデル１２２に検知対象データ１２１を入力し、入力データと出力データの差分を異常度として算出する（ステップＳ１０３）。
【００５０】
ここで、検知部１３２によって算出された異常度が閾値を超えている場合（ステップＳ１０４、Ｙｅｓ）、通知部１３３は、異常を検知した旨を含む情報を出力装置３０に通知する（ステップＳ１０５）。
【００５１】
一方、検知部１３２によって算出された異常度が閾値を超えていない場合（ステップＳ１０４、Ｎｏ）、提供部１３４は、検知対象データ１２１の全て、又は、特定のサンプリングレートでサンプリングしたデータを学習用データとして生成装置２０に提供する（ステップＳ１０６）。ここで、サンプリング方法は、ランダムサンプリングでもよいし、異常度が閾値に近いものを選ぶようなサンプリングであってもよい。
【００５２】
次に、図６を用いて、生成装置２０の処理の流れについて説明する。図６は、第１の実施形態に係る生成装置の処理の流れを示すフローチャートである。図６に示すように、まず、生成装置２０は、学習用データ２２１を取得する（ステップＳ２０１）。
【００５３】
学習部２３１は、検知モデル２２２に学習用データ２２１を入力し、入力データと出力データの差分を異常度として算出する（ステップＳ２０２）。そして、学習部２３１は、算出した異常度を基に、検知モデル２２２を更新する（ステップＳ２０３）。例えば、学習部２３１は、異常度が小さくなるように検知モデル２２２のAutoEncoderのパラメータを更新する。
【００５４】
そして、生成装置２０は、学習完了条件が満たされるまで（ステップＳ２０４、Ｎｏ）、ステップＳ２０２及びＳ２０３を繰り返し行う。学習完了条件は、例えば、異常度が収束したこと、所定の回数だけ繰り返しが行われたこと等である。学習完了条件が満たされると（ステップＳ２０４、Ｙｅｓ）、配信部２３２は、検知モデル２２２を検知装置１０に配信する（ステップＳ２０５）。
【００５５】
［第１の実施形態の効果］
取得部１３１は、生成装置２０によって生成されたニューラルネットによるAutoEncoderと閾値とからなる検知モデル１２２であって、入力データをAutoEncoderに入力して得られる出力データと入力データとの差分が閾値を超えている場合に異常と判定する検知モデル１２２を、生成装置２０から取得する。また、センサ１４は、検知対象データ１２１を収集する。また、検知部１３２は、センサ１４によって収集された検知対象データ１２１を検知モデル１２２に入力し異常を検知する。このため、本実施形態によれば、計算リソースや通信環境が貧弱であっても、エッジで異常検知を行い、リアルタイムに利用者に情報提供することができる。
【００５６】
通知部１３３は、検知部１３２によって異常が検知された場合、異常が検知された旨の通知を、出力装置３０に対して行う。これにより、検知装置１０が出力機能を有しない場合であっても、検知した異常に関する情報を外部へ通知することができるようになる。
【００５７】
検知部１３２は、異常を検知した場合、検知対象データ１２１に含まれる次元ごとの異常度をさらに算出することができる。このとき、通知部１３３は、次元ごとの異常度の全部又は一部をさらに通知する。これにより、異常が検知されたか否かだけでなく、異常の原因を外部に通知することができるようになる。
【００５８】
提供部１３４は、検知部１３２によって異常が検知されなかった場合、検知対象データ１２１のうちの一部を、検知モデル１２２を更新するための学習用データとして生成装置２０に提供する。これにより、検知モデル１２２の学習を生成装置２０に実行させることができるようになる。
【００５９】
［第２の実施形態］
異常検知対象がハードウェアや生物等の経年劣化する対象物であったり、利用頻度等の状況によって順次モデルが更新されていく場合、異常が検知されなかった正常なデータとして生成装置２０に提供される学習用データの分布（以降、正常分布）が変化していくことが考えられる。そして、正常分布が当初許容されない程度にまで変移した場合の学習用データを基に更新された検知モデルでは、信頼できる異常検知結果を得ることができなくなることが考えられる。
【００６０】
そこで、第２の実施形態では、取得部１３１が、初期モデルとして生成装置２０で生成された検知モデル１２２を取得すると、検知部１３２は当該初期モデル１２２ａを利用し、初期状態と比較した異常を判定する異常検知を行う。さらに、取得部１３１が、生成装置２０が初期モデル１２２ａを新たな学習データによって更新した検知モデル１２２である更新モデル１２２ｂを更新モデルとして取得すると、検知部１３２は、当該更新モデル１２２ｂを利用し、直近の正常状態と比較した異常を判定する異常検知を行う。
【００６１】
例えば、ある時点の検知対象データ１２１が、初期モデル１２２ａによる検知では異常と検知され、更新モデル１２２ｂによる検知では異常と検知されなかった場合、当該検知対象データは、直近の正常状態からは大きな乖離が見られないものの、初期モデルからの乖離は大きいと判断できるため、初期モデル１２２ａが生成されてから更新モデル１２２ｂが生成されるまでの間に、検知装置１０から提供される学習データの正常分布が許容されない程度に変移しているとことが疑われる。
【００６２】
ここで、例えば、検知装置１０が車載器である場合、第２の実施形態における検知結果は、車載器が搭載された自動車の部品交換の目安にすることができる。また、例えば、検知装置１０がウェアラブル測定器である場合、第２の実施形態における検知結果に基づいて、ウェアラブル測定器の装着者に生活習慣の改善を勧告することができる。
【００６３】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６４】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６５】
［プログラム］
図７は、生成プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００６７】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、生成装置２０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、生成装置２０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００６８】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００６９】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７０】
１  検知システム
１０  検知装置
１１、２１  通信部
１２、２２  記憶部
１３、２３  制御部
１４  センサ
２０  生成装置
３０  出力装置
１２１  検知対象データ
１２２、２２２  検知モデル
２２１  学習用データ
１３１  取得部
１３２  検知部
１３３  通知部
１３４  提供部
２３１  学習部
２３２  配信部
【図１】
2019049778.tif 000003
【図２】
2019049778.tif 000004
【図３】
2019049778.tif 000005
【図４】
2019049778.tif 000006
【図５】
2019049778.tif 000007
【図６】
2019049778.tif 000008
【図７】
2019049778.tif 000009