(57)【要約】【課題】追加学習時に学習データを用いないためデータ容量とデータ伝送とに関するコスト増大を低減することができる情報処理装置を提供する。【解決手段】あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理装置は、識別器に基づいてデータの分布を推定する分布推定部６２、推定されたデータの分布に基づいて生成データを生成するデータ生成部６０を有する。情報処理装置は、判定データと生成データに基づいて識別器を更新する。【選択図】図１
2019106089.tif 000002
【特許請求の範囲】
【請求項１】
あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理装置であって、
前記識別器に基づいてデータの分布を推定する分布推定手段と、
前記推定されたデータの分布に基づいてデータを生成するデータ生成手段と、
前記判定データと、前記生成したデータとに基づいて前記識別器を更新する学習手段と、を有することを特徴とする、
情報処理装置。
【請求項２】
前記識別器は、複数の線形識別器として構成されることを特徴とする、
請求項１に記載の情報処理装置。
【請求項３】
前記複数の線形識別器は、ハッシュ関数で構成されることを特徴とする、
請求項２に記載の情報処理装置。
【請求項４】
前記識別器に基づいて推定するデータの分布は、当該識別器を学習する時に用いたデータの確率分布であることを特徴とする、
請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
前記分布推定手段は、前記複数の線形識別器の組み合わせに基づいた識別対象の空間上での区分ごとに前記データの数を数えることで前記データの分布を推定することを特徴とする、
請求項２乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記識別対象の空間上での区分は、前記識別対象の空間上における前記複数の線形識別器の境界の組み合わせがなす区分であることを特徴とする、
請求項５に記載の情報処理装置。
【請求項７】
前記データが従う分布と、前記識別器に基づいて推定した前記データの分布とを比較してその差異を導出する近似能力チェック手段を有し、
前記学習手段は、前記導出された差異の大きさに基づいて前記識別器を更新することを特徴とする、
請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記複数の線形識別器は、学習データの近傍を通るか否かによって選別されることを特徴とする、
請求項２乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理方法であって、
前記識別器に基づいてデータの分布を推定する工程と、
前記推定されたデータの分布に基づいてデータを生成する工程と、
前記判定データと、前記生成したデータとに基づいて前記識別器を更新する工程と、を有することを特徴とする、
情報処理方法。
【請求項１０】
コンピュータを、あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理装置として動作させるためのコンピュータプログラムであって、
前記コンピュータを、
前記識別器に基づいてデータの分布を推定する分布推定手段、
前記推定されたデータの分布に基づいてデータを生成するデータ生成手段、
前記判定データと、前記生成したデータとに基づいて前記識別器を更新する学習手段、として機能させることを特徴とする、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像画像等のデータ中の物体及びその状態等を識別する技術に関する。
【背景技術】
【０００２】
映像画像等のデータ中の物体およびその状態を識別するために、学習データを用いて識別器を学習し、その識別器を用いて入力データを判定する装置や方法が知られている。さらに、判定した結果が誤っている場合に、判定時に用いた実データ（以降、判定データと称す）を追加学習することで識別器の精度を高めることが検討されている。
【０００３】
追加学習には大別して、判定データの追加学習時にあらかじめ識別器を学習したときに用いた学習データを用いない方法と、学習データを用いる方法とがある（オンライン学習として、例えば非特許文献１）。
学習データを用いない方法は、追加学習する判定データを基準として識別器を更新することで、判定データの分布が動的に変化する場合に対応することができる。
一方、学習データを用いる方法は、追加学習時にあらかじめ識別器を学習したときに用いた学習データも考慮することで、学習データに対する判定精度を保ちながら識別器の更新を行うことができる（例えば、特許文献１）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Real-Time Tracking via On-line Boosting, H. Grabner, M. Grabner and H. Bischof, Proceedings of the British Machine Conference, pages 6.1-6.10. BMVA Press, September 2006
【特許文献】
【０００５】
【特許文献１】特開２００５−３０９９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、追加学習時に学習データを用いない方法では、学習データを用いる場合と比較して追加学習によって学習データに対する判定精度が低下する場合がある。
また、追加学習時に学習データを用いる方法では、学習データを保存しておくためのデータ容量のコストと、追加学習時に記憶領域から学習データを伝送するコストとが必要になる、という問題がある。
【０００７】
本発明は、追加学習時に学習データを用いないためデータ容量とデータ伝送とに関するコスト増大を低減することができる情報処理装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理装置であって、前記識別器に基づいてデータの分布を推定する分布推定手段と、前記推定されたデータの分布に基づいてデータを生成するデータ生成手段と、前記判定データと、前記生成したデータとに基づいて前記識別器を更新する学習手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、追加学習時に学習データを用いないためデータ容量とデータ伝送とに関するコスト増大を低減することができる。また、追加学習時に生成データを用いることで学習データの分布をも考慮し、学習データに対する識別精度の低下を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る異常検知システムの構成の一例を示す概略ブロック図。
【図２】特徴空間上の学習特徴量の分布の一例を示すグラフ。
【図３】学習データに対して識別器の境界面を重畳した場合の分布の一例を示すグラフ。
【図４】識別装置の構成の一例を示す図。
【図５】端末装置の構成の一例を示す図。
【図６】データ生成装置、追加学習装置の構成の一例を示す図。
【図７】異常検出システムが行う確率分布の推定処理の一例を示すフローチャート。
【図８】識別器が確率分布を推定する際に特徴空間上でどのように動作するかを可視化した一例を示す図。
【図９】第２実施形態に係る異常検知システムの学習装置の構成の一例を示す図。
【図１０】異常検知システムが行う二つの確率分布を比較する処理に関するフローチャート。
【図１１】第３実施形態に係る異常検知システムの学習装置の構成の一例を示す図。
【図１２】異常検知システムが行う識別器を評価するための処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１２】
［第１実施形態］
本発明を実施する一つの形態として、ここでは判定データを識別する際に用いる識別器からデータを生成し（以降、生成データと称す）、当該生成された生成データと判定データとを用いて追加学習を行う場合を例に挙げて説明する。
なお、本実施形態を具体的に示すために、本発明を適用した情報処理装置の一例として異常検知システムを構成した場合を例に挙げて説明する。
【００１３】
本実施形態に係る異常検知システムは、監視カメラによって撮像された映像中の異常を検出する機能を備えたシステムとする。また、異常検知システムにおいて用いられるデータは、「正常」クラスと「異常」クラスのいずれか一方に属し、それぞれ正常データおよび異常データと称することとする。
本実施形態に係る異常検知システムは、また、監視対象をカメラ等の撮像装置で撮影し、撮影した映像データに基づいて監視対象に異常があるか否かを判定する。異常がある場合は、警備室等の監視センタに常駐する監視者に警告する。この監視対象には、例えば、一般家庭の屋内及び屋外、又は病院、駅などの公共施設が含まれる。
【００１４】
図１は、本実施形態に係る異常検知システムの構成の一例を示す概略ブロック図である。
図１に示す異常検知システム１は、学習データ取得装置１０、学習装置２０、判定データ取得装置３０、識別装置４０、端末装置５０、データ生成装置６０、追加学習装置７０、学習特徴量記憶部Ｍ１、識別器記憶部Ｍ２を有する。また、異常検知システム１の動作を統括的に制御するＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）１００を有する。これら各機能部間の接続は、例えば電子回路を介して接続されていても、ネットワークを介して接続されていてもよい。このネットワークには、例えば、携帯電話回線網やインターネット網を適用することができる。
なお、異常検知システム１の動作は、学習フェーズ、識別フェーズ、追加学習フェーズを含む複数の動作がある。
【００１５】
学習フェーズでは、学習データ取得装置１０、学習装置２０が動作して識別器の学習を行う。判定フェーズでは、判定データ取得装置３０、識別装置４０、端末装置５０が動作して判定データの識別および追加データの指定を行う。追加学習フェーズでは、データ生成装置６０、追加学習装置７０が動作して生成データ及び追加データを用いた追加学習を行う。以降では、各フェーズで動作する装置に関して順に説明する。
【００１６】
ここで、学習データ取得装置１０の構成と動作について詳細に説明する。
学習データ取得装置１０は、学習データ取得部１１、学習特徴量抽出部１２を有する。
学習データ取得部１１は、学習に用いるための映像データを取得し、取得した映像データを学習特徴量抽出部１２に送る。ここで取得する映像データは、異常検知システム１に接続されたカメラが撮像した監視映像である。
学習特徴量抽出部１２は、学習データ取得部１１から受け取った映像データから特徴量を抽出する。ここで、特徴量を抽出する方式はどのようなものでもよく、例えばオプティカルフローを用いることで動き特徴量を抽出することができる。
なお、オプティカルフローを抽出するためのアルゴリズムはどのようなものでもよく、例えば以下に示す文献２において提案されている方式を用いても良い。
【００１７】
J. Pers, et al., Histograms of optical flow for efficient representation of body motion, Pattern Recognition Letters, vol. 31, no. 11, pages 1369-1376, 2010・・・（文献２）
【００１８】
当然ながら、オプティカルフロー以外の特徴量や、異なる種類の特徴量を複数抽出して用いてもよい。オプティカルフロー以外の特徴量として、例えば画像特徴を用いる場合は、以下に示す文献３において提案されている方式を用いることができる。
【００１９】
D. G. Lowe, Object recognition from local scale-invariant features, In proceedings of international conference on computer vision (ICCV), pages 1150-1157, 1999・・・（文献３）
【００２０】
なお、本実施形態では、上記のように映像データから抽出した特徴量を学習に使用するが、例えば映像ではなく数値データなどの特徴量抽出が必要ないデータを用いる場合には当然ながら特徴量の抽出をしなくてもよい。
その場合は、異常検知システム１から特徴量を抽出する部分を除外し、代わりに特徴量抽出前のデータを特徴量と同様に扱うように構成してもよい。
以降の説明においては、抽出する特徴量は映像データの１フレームにつき１個得られるものとする。これは、本実施形態の説明を簡潔にするための例であって、必要であれば映像のフレームを領域分割し、分割後の領域ごとに特徴量を得るように構成してもよい。
【００２１】
学習特徴量抽出部１２は、抽出した特徴量を学習特徴量記憶部Ｍ１に送り、学習特徴量記憶部Ｍ１は、受け取った特徴量を保存する。なお、以降では学習に用いる特徴量を学習特徴量と称す。
次に、学習装置２０の構成と動作について詳細に説明する。
【００２２】
学習装置２０は、学習特徴量読込部２１、識別器学習部２２、分布学習部２３を有する。
学習特徴量読込部２１は、学習特徴量記憶部Ｍ１から学習特徴量を読み込み、識別器学習部２２に送る。
識別器学習部２２は、学習特徴量読込部２１から受け取った学習特徴量に基づいて識別器を学習する。ここで使用する識別器はどのようなものであってもよいが、基本的に問題設定によって用いるべき識別器は異なる。より具体的には、学習特徴量に異常の例が存在せず正常の例しか存在しない場合と、異常の例と正常の例の両方が存在する場合とで適切な識別器の種類が分かれる。
【００２３】
正常の例しか存在しない場合は、１−ｃｌａｓｓ識別器として以下に示す文献４、５において提案されているものを用いてもよい。
【００２４】
Locality Sensitive Outlier Detection: A Ranking Driven Approach, Ye Wang, et al., Data Engineering (ICDE), 2011 IEEE 27th International Conference on・・・（文献４）
【００２５】
Support vector novelty detection applied to jet engine vibration spectra, Hayton, P., Schoelkopf, B., Tarassenko, L. and Anuzis, P., Advances in Neural Information Processing Systems 13, (Ed) TK Leen and TG Dietterich and V Tresp, Advances in Neural Information Processing Systems, MIT Press, Cambridge, MA, USA, 946-952, ISBN: 0-262-12241-3, 14th Annual Neural Information Processing Systems Conference・・・（文献５）
【００２６】
また、異常の例が存在する場合は、２−ｃｌａｓｓ識別器として以下に示す文献６、７において提案されているものを用いてもよい。この場合は、異常の例と正常の例とを区別するためのラベルを付与する必要がある。また、その他の例としてニューラルネットワークを識別器として用いてもよい。
なお、以降では特に断りのない限り、説明を簡単にするため１−ｃｌａｓｓ識別器を用いるものとする。
【００２７】
Isolation forest, Fei Tony Liu, Kai Ming Ting, and Zhi-Hua Zhou, Data Mining, 2008. ICDM '08. Eighth IEEE International Conference on・・・（文献６）
【００２８】
SVMs Modeling for Highly Imbalanced Classification, Liu, F.T., et al., Data Mining, 2008. ICDM '08. Eighth IEEE International Conference on・・・（文献７）
【００２９】
分布学習部２３は、学習特徴量の特徴空間上における分布情報を取得する。ここで学習特徴量の分布情報とは、特徴空間上のある区間において、学習特徴量の点が何個存在するかということを意味するものとする。
なお、区間とは、識別器学習部２２で学習した識別器が定義する境界面によって区分けされた範囲である。つまり分布学習部２３は、識別器の境界面によって区分される範囲に含まれる学習特徴量のサンプル数を集計する処理を行う。
【００３０】
図２は、特徴空間上の学習特徴量の分布の一例を示すグラフである。
図２中に示す学習データＦ２１は、学習特徴量のサンプルを示しており、複数のサンプルが分布している様子を示している。
なお、説明を簡単にするため、図２に示した特徴空間は２次元の特徴空間を示しているものとする。
【００３１】
図３は、学習データＦ２１に対して識別器の境界面を重畳した場合の分布の一例を示すグラフである。
なお、ここで示す識別器は、様々な識別器が存在しうる中から代表例として複数の線形識別器（例えば、ハッシュ関数）を用いたものとする。
【００３２】
図３に示す線分Ｆ３１は、複数の識別器の境界面が特徴空間を分割する例を示しており、それぞれの線分が一つ一つの識別器の境界面を示している。
分布学習部２３は、前述した識別器の境界面の組み合わせによって区分される範囲のうち、どの範囲に含まれるかによって学習データＦ２１を分別する。このとき、分別された学習データＦ２１の数をカウントすることで、該当する範囲の学習データ数を計上することができる。このように、分布学習部２３は識別器の境界面の組み合わせによって区分される範囲に含まれる学習データの数を集計する。
【００３３】
分布学習部２３は、識別器と、識別器の境界面によって集計された学習データ数からなる分布情報とを識別器情報として識別器記憶部に送る。識別器記憶部は、分布学習部２３から受け取った識別器情報を保存する。
次に、判定データ取得装置３０の構成と動作について詳細に説明する。
【００３４】
判定データ取得装置３０は、判定データ取得部３１、判定特徴量抽出部３２を有する。
判定データ取得部３１は、監視対象を撮像した映像を取得し、判定特徴量抽出部３２に送る。この時点では、撮像された映像データ（入力データ）は異常を示しているか否かは判明していない。
ここで、判定データ取得部３１から判定特徴量抽出部３２に送られる映像データの時間長は、毎フレーム順次送られるものとする。なおこれは一例であって、例えば５分に一度だけ映像データを送るように構成してもよい。
【００３５】
判定特徴量抽出部３２は、判定データ取得部３１から受け取った映像データから特徴量を抽出し、抽出結果を識別装置４０に送る。ここで抽出する特徴量の種類は、学習特徴量抽出部１２で用いた特徴抽出手法と同様のものを用いる。なお、以降では判定に用いる特徴量を判定特徴量と称す。
次に、識別装置４０の構成と動作について図１１を用いて詳細に説明する。
【００３６】
図４は、識別装置４０の構成の一例を示す図である。
図４に示す識別装置４０は、識別情報取得部４１、識別部４２を有する。
識別情報取得部４１は、識別器記憶部Ｍ２から識別器情報を受け取り、識別部４２に送る。
識別部４２は、判定特徴量抽出部３２からは判定特徴量を受け取り、識別情報取得部４１からは識別器情報を受け取る。識別部４２は、判定特徴量が異常であるか否かについて識別器を用いて判定し、その結果を端末装置５０に送る。この際、どのような方法で識別処理がなされるかは識別器の種類に依存しており、詳細な説明は各文献の内容に譲るものとする。
次に、端末装置５０の構成と動作について図１２に基づいて詳細に説明する。
【００３７】
図５は、端末装置５０の構成の一例を示す図である。
図５に示す端末装置５０は、監視ユーザが利用するコンピュータ装置であり、識別装置４０から例えばネットワークを介して供給される表示情報を提供する。
端末装置５０は、表示部５１、追加データ指定部５２を有する。端末装置５０は、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やタブレットＰＣ、スマートフォン、フューチャーフォン等である。具体的には、識別装置４０が識別結果を出力したことに応じて、端末装置５０は識別結果を取得する。そして、端末装置５０は、取得した識別結果を表示部５１に出力する。このとき、識別結果が異常を指している場合、例えば表示部５１は異常音を鳴らして警告するように構成することができる。
【００３８】
追加データ指定部５２は、追加学習する判定データ（以降、追加データと称す）を特定する処理を行う。例えば、異常検出システム１が異常を見逃した場合や誤検出を発生させた場合、このような誤識別結果をユーザがシステムにフィードバックすることで同様の誤識別を抑制することが考えられる。
【００３９】
なお、追加データを特定する手段はどのようなものであってもよいが、例えば表示部５１に撮像された映像に対して、ユーザが追加データのラベルを振ることで追加データを特定することが考えられる。ここで得られた追加データから抽出された特徴量が追加学習装置７０に送られる（以降、追加データから抽出された特徴量を追加特徴量と称す）。
次に、データ生成装置６０の構成と動作について図６を参照して説明する。
【００４０】
図６は、データ生成装置６０、追加学習装置７０の構成の一例を示す図である。
図６に示すデータ生成装置６０は、識別器情報取得部６１、分布推定部６２、サンプリング部６３を有する。
識別器情報取得部６１は、識別器記憶部Ｍ２から識別器情報を受け取り、分布推定部６２に送る。
分布推定部６２は、受け取った識別器情報に含まれる分布情報を用いて、特徴空間上における学習特徴量の確率分布を推定する。確率分布の推定方法の具体的な一例として、複数の線形識別器を学習に利用した場合のフローチャートを図７に示す。この場合、複数の線形識別器の組み合わせに基づいた識別対象の空間上での区分ごとに前記データの数を数えることでデータの分布を推定することになる。
以下、図７を参照して一連の処理の説明を行う。
【００４１】
図７は、異常検出システム１が行う確率分布の推定処理の一例を示すフローチャートである。なお、図７に示す各処理は、主として分布推定部６２を介してＣＰＵ１００により実行される。  
ＣＰＵ１００は、特徴空間上に均一に並ぶ格子点を生成する（Ｓ５０１）。ここで、格子点の具体的な例を図８を用いて説明する。
【００４２】
図８は、識別器が確率分布を推定する際に特徴空間上でどのように動作するかを可視化した一例を示す図である。
図８に示すＦ６１は、特徴空間上で均等かつ密に分布する格子点の模式図である。ここで、格子の幅はどのようなものであってもよいが、例えば特徴空間の各次元を１０００等分する幅を用いてもよい。
【００４３】
図７の説明に戻り、ＣＰＵ１００は、識別器を用いて格子点を識別する（Ｓ５０２）。格子点は特徴空間上に分布するため特徴量を有している。ここでは、複数の線形識別器を用いてすべての格子点を識別する。
図８に示すＦ６２は、識別器の具体的な一例であり、ここでは特徴空間上に識別器の境界面が描かれていることが見て取れる。
【００４４】
ＣＰＵ１００は、識別結果に基づいて格子点へ学習特徴量の分布情報を反映する（Ｓ５０３、図８参照）。ここで用いる分布情報は、識別器の境界面によって区分される範囲に含まれる特徴量のサンプル数である。つまり、それぞれの格子点に対して、学習特徴量のサンプル数が割り当てられる。
【００４５】
ＣＰＵ１００は、格子点に割り当てられたサンプル数を規格化する（Ｓ５０４）。ここで規格化された格子点は、一次元に並べ替える単純な操作を行うことで、ヒストグラム上に分布する確率分布として扱うことができる。
図８に示すＦ６３は、規格化された格子点の一例であり、色の濃度が確率分布の高さを表している。
ＣＰＵ１００は、推定した確率分布をサンプリング部６３に送る。
【００４６】
サンプリング部６３は、分布推定部６２で推定した確率分布に基づいて特徴量を生成する（以降、生成特徴量と称す）。また、サンプリング部６３は、生成特徴量を追加学習装置７０に送る。ここで用いる確率分布は学習特徴量の分布から推定されたものであるため、得られた生成特徴量は近似的な学習特徴量であると考えられる。
なお、特徴量を生成する方法はどのようなサンプリング方法でもよいが、例えばヒストグラム確率分布からサンプルを生成する一般的な方法を用いてもよい。また、以降では生成する特徴量の数は学習特徴量の数と同じものとする。
なお、上記の例では格子点を利用して密に確率分布を推定し，それに基づいてサンプリングを行う場合について説明を行った。その他の方法として、ランダムネスを利用してサンプリングを行ってもよい。
例えば分布推定部６２は、上述した特徴空間上において、任意の数の点（例えば１００個の点）を一様分布からサンプリングするとする。さらに、格子点を利用する場合と同様に、生成した点を上述した識別器によって識別し、各点に対する重みづけを与える。この重みは、格子点を利用する場合と同様に、識別器の分布情報によって与えられる。このようにすることで、各点の重みに対して学習データの分布を反映することになる。分布推定部６２は、上記の生成した点を重みとともにサンプリング部６３に送る。
サンプリング部６３は、各点の重みに基づいて、生成した点を任意の数選択する。これによって、直接分布を推定することなく、識別器の分布情報に基づいてサンプルを生成することができる。
次に、追加学習装置７０の構成と動作について詳細に説明する。
【００４７】
図６に示すように、追加学習装置７０は、識別器更新部７１、識別器保存部７２を有する。
識別器更新部７１は、サンプリング部６３から追加特徴量を受け取り、識別器に反映させる処理を行う。ここで識別器に反映させる処理がどのようなものであるかは用いる識別器に依存している。
例えば、以下に示す文献８において提案されている識別器を用いる場合、識別器記憶部Ｍ２に存在する識別器と、新たにランダムに生成した線形識別器とを評価することで良い識別器だけを選択することができる。ここで評価には生成特徴量および追加特徴量を用いる。
【００４８】
NSH: Normality Sensitive Hashing for Anomaly Detection, Hachiya, H., Masakazu M., Computer Vision Workshops (ICCVW), 2013 IEEE International Conference on・・・（文献８）
【００４９】
また、例えば識別器の更新に勾配法を利用する場合は、生成特徴量および追加特徴量を用いて勾配を計算し、その結果に基づいて識別器を更新してもよい。識別器更新部７１は、更新した識別器を識別器情報として識別器保存部７２に送る。
識別器保存部７２は、識別器更新部７１から受け取った識別器情報を、識別器記憶部Ｍ２に保存する処理を行う。
なお、上記の例では確率分布として分布の推定およびサンプリングを行う場合について示したが、確率分布を用いなくともよい。例えば、ランダムに生成した点に対する重みを正規化せずに、重み付きの点として用いて、そこからサンプリングを行ってもよい。その場合、例えばもっとも重みが大きい順から点を選択する方法をとってもよいし、その他の公知な方法を用いてもよい。
また、上記の例では識別器の例として線形識別器を用いる場合を例示したが、非線形な識別器を用いてもよい。
また、上記の例では単一の特徴空間を用いる場合について示したが、複数の特徴空間においてもサンプルを生成してもよい。例えばニューラルネットワークを用いて、各層に関してサンプルを生成してもよい。
【００５０】
このように本実施形態に係る情報処理装置（異常検知システム１）では、学習データそのものではなく、近似的に生成した生成データを追加学習時に用いることができる。これにより、学習データを保存しておくためのデータ容量、学習データを伝送するための帯域を使用するコストなどを低減することができる。
【００５１】
［第２実施形態］
第１実施形態では、識別器を用いて学習特徴量を近似的に生成する例を示した。本実施形態では、識別器が十分に学習特徴量の分布を近似できているか否かをさらにチェックし、十分に近似できていない場合には識別器を更新するように構成する場合について説明する。
異常検知システムを本実施形態のように構成した場合、学習特徴量の分布をより高精度に近似可能になり、生成データが学習データにより近づくことで、追加学習を精度良く行うことができると考えられる。
なお、第１実施形態で説明した機能構成と同じものは、同一の符号を付すと共にその説明を省略する。
【００５２】
図９は、本実施形態に係る異常検知システムの学習装置２０ａの構成の一例を示す図である。
図９に示す学習装置２０ａは、学習特徴量読込部２１、識別器学習部２２、分布学習部２３、近似能力チェック部２４ａを有する。
なお、学習装置２０ａにおける近似能力チェック部２４ａ以外の機能部については、第１実施形態の機能部と同様の機能部であるためその説明を省略する。
【００５３】
近似能力チェック部２４ａは、識別器学習部２２で取得した識別器が分布学習部２３において学習特徴量の分布を十分精度良く近似できているか否かを判定する。
具体的には、学習特徴量が従う確率分布と、識別器を用いて学習した学習特徴量の確率分布とを比較し、二つの分布の違い（差異）を定量化（導出）した後に定量化された値が閾値を超えるか否かを判定する。
【００５４】
図１０は、異常検知システムが行う二つの確率分布を比較する処理に関するフローチャートである。なお、図１０に示す処理は、主として近似能力チェック部２４ａを介してＣＰＵ１００により実行される。
ＣＰＵ１００は、特徴空間上に均一に並ぶ格子点を生成する（Ｓ５０１）。
ＣＰＵ１００は、識別器記憶部Ｍ２から識別器情報を読み込む（Ｓ８０１）。
ＣＰＵ１００は、識別器を用いて格子点を識別する（Ｓ５０２）。格子点は特徴空間上に分布するため特徴量を有している。ここでは、複数の線形識別器を用いてすべての格子点を識別する。
【００５５】
ＣＰＵ１００は、識別結果に基づいて格子点へ学習特徴量の分布情報を反映する（Ｓ５０３）。ここで用いる分布情報は、識別器の境界面によって区分される範囲に含まれる特徴量のサンプル数である。つまり、それぞれの格子点に対して、学習特徴量のサンプル数が割り当てられる。
ＣＰＵ１００は、格子点に割り当てられたサンプル数を規格化する（Ｓ５０４）。この一連の処理により、識別器が近似する確率分布を求めることができる。
【００５６】
ＣＰＵ１００は、学習特徴量記憶部Ｍ１から学習特徴量を読み込む（Ｓ８０２）。
ＣＰＵ１００は、学習特徴量の特徴空間上での座標と、格子点の座標とを比較し、学習特徴量を最近傍の格子点に振り分ける（Ｓ８０３）。
ＣＰＵ１００は、振り分けられた特徴量が何個存在するかを各格子点においてカウントする（Ｓ８０４）。
ＣＰＵ１００は、学習特徴量の総数を用いて、各格子点のカウント値を割った値を算出することで規格化する（Ｓ８０５）。これにより、格子点は確率分布を表現することになる。
【００５７】
ＣＰＵ１００は、ステップＳ５０４の処理とステップＳ８０５の処理において取得した二つの確率分布を比較して違いを定量化する（Ｓ８０６）。
なお、二つの確率分布の違いを定量化する方法はどのようなものでもよいが、本実施形態では一つの例として、カルバック・ライブラー・ダイバージェンス（以降、ＫＬＤと称す）を求める。ＫＬＤは二つの確率分布間の擬距離を算出することができるものであり、以下に示す式（１）で求めることができる。
【００５８】
【数１】
2019106089.tif 000003
【００５９】
ここで、式（１）のＤＫＬはＫＬＤの値であり、ＰとＱは比較する対象の確率分布、ｉは特徴空間上の格子点を指定するインデクスである。ＤＫＬは二つの確率分布が同じになる場合に最小値０をとり、二つの確率分布が異なるほど単純に増加する。
なお、ＤＫＬはＰとＱを交換した場合に同じ値になるとは限らないため、純粋に距離を算出したい場合は、例えばイェンセン・シャノン・ダイバージェンスを用いてもよい。
【００６０】
ＣＰＵ１００は、近似能力チェック部２４ａを介して、ＤＫＬの値が閾値を超えたと判別した場合には識別器学習部２２に処理ステップを戻して学習をやり直す指示を行う。ここで用いる閾値は、実験に基づいて経験的に決める必要がある。
なお、識別器学習部２２で用いる識別器の学習手法によっては、何度学習を実行しても学習結果が変わらない場合がある。例えば、バッチ学習を利用した勾配法は学習結果が常に同じになる特徴がある。そのような場合は、確率によって学習結果が変動する確率的勾配法などの学習手法にあらかじめ変更するか、学習時のパラメータを学習ごとにランダムに微調整することで解決してもよい。
【００６１】
ＣＰＵ１００は、近似能力チェック部２４ａを介して、ＤＫＬの値が閾値を超えない場合に学習した識別器を識別器記憶部Ｍ２に保存する。
また、前述した文献４、文献８のように学習時に識別器をランダムに生成する場合は、学習をやり直すたびに識別器を新たに追加してもよい。なお、上記の学習の繰り返しによって識別器の数が必要以上に多くなった場合は、例えば文献８に記載されている方法で識別器の一部を削除してもよい。
【００６２】
このように、本実施形態に係る情報処理装置（異常検知システム）では、学習特徴量の従う確率分布と識別器が近似する確率分布とを比較し、近似性能が低い場合に再学習を行うことで近似性能を高めることが可能になる。これにより、近似された分布から生成されたデータに基づいて追加学習を行う際に、学習データに対する識別精度を高精度に保つことができる。
【００６３】
［第３実施形態］
第１実施形態では、識別器を用いて学習特徴量を近似的に生成する例を示した。本実施形態では、学習特徴量の分布を精度良く近似するように識別器の学習を行うように構成した場合について説明する。
異常検知システムを本実施形態のように構成した場合、近似された分布から生成されるデータが学習データに近くなることで、精度良く追加学習を行うことができると考えられる。
なお、第１、第２実施形態で説明した機能構成と同じものは、同一の符号を付すと共にその説明を省略する。
【００６４】
図１１は、本実施形態に係る異常検知システムの学習装置２０ｂの構成の一例を示す図である。
図１１に示す学習装置２０ｂは、学習特徴量読込部２１、識別器学習部２２ｂ、分布学習部２３を有する。
なお、学習装置２０ｂにおける識別器学習部２２ｂ以外の機能部については、第１実施形態の機能部と同様の機能部であるためその説明を省略する。
【００６５】
識別器学習部２２ｂは、学習特徴量の分布を精度よく近似するように識別器の学習を行う。以降の説明では、識別器の学習に関する実施形態の一つの例として複数の線形識別器をランダムに生成し、生成した識別器を評価および選択することで学習を行う場合を例に挙げて説明する。
なお、ランダムに線形識別器を生成する方法としては、例えば前述した文献４に提案されている方法が挙げられる。以下、複数の線形識別器を文献４の方法によってランダムに生成した後の処理として、生成した識別器を評価し、評価結果に基づいて識別器を選択する例について説明する。
【００６６】
図１２は、異常検知システムが行う識別器を評価するための処理の一例を示すフローチャートである。なお、図１２に示す処理は、主としてＣＰＵ１００により実行される。
図１２に示す各処理によって、ランダムに生成された複数の識別器のうち、学習特徴量の近傍を通る識別器の評価値が高くなる。評価値に基づいて識別器が選別され、学習特徴量の近傍を通る識別器が選択されることで、結果的に学習特徴量の分布をより細かく近似できるようになる。
【００６７】
ＣＰＵ１００は、特徴空間上に均一に並ぶ格子点を生成する（Ｓ５０１）。
ＣＰＵ１００は、学習特徴量記憶部Ｍ１から学習特徴量を読み込む（Ｓ８０２）。
ＣＰＵ１００は、学習特徴量の特徴空間上での座標と、格子点の座標とを比較し、学習特徴量を最近傍の格子点に振り分ける（Ｓ８０３）。
ＣＰＵ１００は、振り分けられた特徴量が何個存在するかを各格子点においてカウントする（Ｓ８０４）。
ＣＰＵ１００は、学習特徴量の総数を用いて、各格子点のカウント値を割った値を算出することで規格化する（Ｓ８０５）。これにより、格子点は確率分布を表現することになる。
【００６８】
ＣＰＵ１００は、識別器記憶部Ｍ２から識別器情報を読み込む（Ｓ８０１）。
ＣＰＵ１００は、各識別器が近傍を通る格子点の判定を行う（Ｓ１００１）。ここでは、それぞれの線形識別器が、どの格子点の近傍を通るかを判定する。ここで、近傍の定義はどのようなものでもよいが、例えば線形識別器から格子点に下ろした垂線の長さが閾値を超えるか否かを基準としてもよい。また、閾値はどのようなものであってもよいが、例えば格子点間の幅の半分の値を閾値としてもよい。
【００６９】
ＣＰＵ１００は、各識別器が近傍を通る格子点に基づいて識別器を評価する（Ｓ１００２）。ここで、評価基準としてどのようなものを用いてもよいが、例えば識別器が近傍を通るすべての格子点の確率値の総和や、近傍を通る格子点の数を用いることができる。
ＣＰＵ１００は、識別器学習部２２ｂを介して、これらの処理により求められた評価値に基づいて識別器の選択を行う。ここで、選択する識別器の数はどのような数でもよいが、例えば生成した識別器の１／１０を選択することや、識別時にリアルタイムで処理可能な識別器の上限数を選択することが考えられる。
【００７０】
このように本実施形態に係る情報処理装置（異常検知システム）では、学習特徴量の分布を近似しやすいように識別器の学習を行うことで、近似された分布から生成されるデータが学習データに近くなり、精度良く追加学習を行うことができる。
【００７１】
本発明は、上述の実施形態の１以上の機能を実現するコンピュータプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがコンピュータプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７２】
上記説明した実施形態は、本発明をより具体的に説明するためのものであり、本発明の範囲が、これらの例に限定されるものではない。
【図１】
2019106089.tif 000004
【図２】
2019106089.tif 000005
【図３】
2019106089.tif 000006
【図４】
2019106089.tif 000007
【図５】
2019106089.tif 000008
【図６】
2019106089.tif 000009
【図７】
2019106089.tif 000010
【図８】
2019106089.tif 000011
【図９】
2019106089.tif 000012
【図１０】
2019106089.tif 000013
【図１１】
2019106089.tif 000014
【図１２】
2019106089.tif 000015