(57)【要約】【課題】半教師あり異常検知手法を用いて、高い精度で識別することできる識別情報処理装置、識別システム、識別処理方法、およびプログラムを提供することを課題とする。【解決手段】所定の次元数で表された識別対象データが正常データか否かを半教師あり異常検知手法を利用して識別する識別処理装置であって、識別対象データを取得するデータ取得手段と、識別対象データの特徴を抽出して、識別対象データから所定の次元数よりも少ない特定の次元数で表される圧縮データを生成する次元圧縮手段と、圧縮データの特徴を分析して、圧縮データから所定の次元数と同じ次元数で表される復元データを生成する次元復元手段と、識別対象データと復元データのデータ構造に基づく類似度を算出する類似度算出手段と、所定の閾値に対する類似度から、識別対象データが正常データか否かを識別するデータ識別手段と、を備えることにより、上記課題を解決する。【選択図】図３
2017097718.tif 000002
【特許請求の範囲】
【請求項１】
所定の次元数で表された識別対象データが正常データか否かを半教師あり異常検知手法を利用して識別する識別処理装置であって、
前記識別対象データを取得するデータ取得手段と、
前記識別対象データの特徴を抽出して、前記識別対象データから前記所定の次元数よりも少ない特定の次元数で表される圧縮データを生成する次元圧縮手段と、
前記圧縮データの特徴を分析して、前記圧縮データから前記所定の次元数と同じ次元数で表される復元データを生成する次元復元手段と、
前記識別対象データと前記復元データのデータ構造に基づいて前記識別対象データと前記復元データとの類似度又は非類似度を算出する類似度算出手段と、
所定の閾値に対する前記類似度又は非類似度に基づいて、前記識別対象データが正常データか否かを識別するデータ識別手段と、
を備える識別処理装置。
【請求項２】
請求項１に記載の識別処理装置であって、
前記データ識別手段は、前記類似度の値が前記所定の閾値以上のとき、前記識別対象データが正常データであると識別する識別処理装置。
【請求項３】
請求項１又は２に記載の識別処理装置であって、
前記次元圧縮手段は、次元圧縮パラメータを用いて特徴を抽出することにより前記識別対象データの次元圧縮を行う手段であり、
前記次元復元手段は、次元復元パラメータを用いて特徴を分析することにより前記圧縮データの次元復元を行う手段であり、
予め正常であると識別済みの学習データのみを用いた半教師あり学習により、前記次元圧縮パラメータおよび前記次元復元パラメータの少なくとも１つを設定するパラメータ設定手段を有する識別処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の識別処理装置であって、
前記類似度算出手段は、Ｓｔｒｕｃｔｕｒａｌ  Ｓｉｍｉｌａｒｉｔｙ  Ｉｎｄｅｘを用いて類似度を算出する識別処理装置。
【請求項５】
請求項１乃至３のいずれか一項に記載の識別処理装置であって、
前記類似度算出手段は、Ｆｅａｔｕｒｅ  Ｓｉｍｉｌａｒｉｔｙ  Ｉｎｄｅｘを用いて類似度を算出する識別処理装置。
【請求項６】
請求項１乃至５のいずれか一項に記載の識別処理装置であって、
前記データ識別手段は、前記類似度の値が第１の閾値よりも大きい場合に前記識別対象データを正常データと識別し、小さい場合に異常データと識別するとともに、前記類似度の値が前記第１の閾値よりも大きい値である第２の閾値よりも大きい場合に、前記識別対象データを前記学習データとして用いることが可能だと識別する識別処理装置。
【請求項７】
請求項１乃至５のいずれか一項に記載の識別処理装置であって、
前記データ識別手段は、予め正常であると識別済みの複数のデータに対して、前記次元圧縮手段による次元圧縮、前記次元復元手段による次元復元、および前記類似度算出手段による類似度算出を行い、該複数のデータから算出された類似度の値のうち、最も小さい値を、前記所定の閾値とする識別処理装置。
【請求項８】
請求項１に記載の識別処理装置であって、
前記データ識別手段は、前記非類似度の値が前記所定の閾値以下のとき、前記識別対象データが正常データであると識別することを識別処理装置。
【請求項９】
前記請求項１乃至８のいずれか一項に記載の識別処理装置を備えた識別システムであって、
被写体を撮像する撮像手段を備え、
前記データ取得手段は、前記撮像手段から出力された撮像画像データを識別対象データとして取得する識別システム。
【請求項１０】
所定の次元数で表された識別対象データが正常データか否かを半教師あり異常検知手法を利用して識別する識別処理方法であって、
前記識別対象データを取得するデータ取得工程と、
前記識別対象データの特徴を抽出して、前記識別対象データから前記所定の次元数よりも少ない特定の次元数で表される圧縮データを生成する次元圧縮工程と、
前記圧縮データの特徴を分析して、前記圧縮データから前記所定の次元数と同じ次元数で表される復元データを生成する次元復元工程と、
前記識別対象データと前記復元データのデータ構造に基づいて前記識別対象データと前記復元データとの類似度又は非類似度を算出する類似度算出工程と、
所定の閾値に対する前記類似度又は非類似度に基づいて、前記識別対象データが正常データか否かを識別するデータ識別工程と、
を含む識別処理方法。
【請求項１１】
コンピュータに、請求項１０に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別処理装置、識別システム、識別処理方法およびプログラムに関する。
【背景技術】
【０００２】
あるデータについて、そのデータが正常なデータか否かを識別する機械学習の手法が知られており、このような手法を用いることにより、例えば、規格外の製品や欠陥がある製品を検知する技術が従来知られている。あるデータが正常なデータであるか否かを識別する手法は、機械学習に用いる学習データの種類によって、教師あり異常検知手法（Supervised Anomaly Detection）、半教師あり異常検知手法（Semi-supervised Anomaly Detection）の２通りに大別される。
【０００３】
例えば、教師あり異常検知手法を用いて、入力されたデータが正常なデータであるか否かを識別する技術が従来技術として知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術においては、教師あり異常検知手法を用いているため、
学習データとして正常な値を示す正常データと、異常な値を示す異常データの両方が必要となる。そのため、例えば、規格外の製品の発生率が低い等で異常データをほとんど得ることができない場合、異常データの学習が少ないため、識別の精度が低くなる場合がある。
【０００５】
他方、半教師あり異常検知手法は、学習データとして正常データのみを用いる異常検知手法であり、学習に異常データを必要とせず、想定外の異常な値を検知することができるという利点を有するが、異常データを学習に用いないため、一般に教師あり異常検知手法に比べて識別の精度が低い。
【０００６】
本発明は、上記の点に鑑みてなされたもので、半教師あり異常検知手法を利用して、異常データを学習に用いない場合であっても、高い精度で識別対象データが正常か否かを識別することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達するため、本発明は、所定の次元数で表された識別対象データが正常データか否かを半教師あり異常検知手法を利用して識別する識別処理装置であって、前記識別対象データを取得するデータ取得手段と、前記識別対象データの特徴を抽出して、前記識別対象データから前記所定の次元数よりも少ない特定の次元数で表される圧縮データを生成する次元圧縮手段と、前記圧縮データの特徴を分析して、前記圧縮データから前記所定の次元数と同じ次元数で表される復元データを生成する次元復元手段と、前記識別対象データと前記復元データのデータ構造に基づいて前記識別対象データと前記復元データとの類似度又は非類似度を算出する類似度算出手段と、所定の閾値に対する前記類似度又は非類似度に基づいて、前記識別対象データが正常データか否かを識別するデータ識別手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、半教師あり異常検知手法を利用して、異常データを学習に用いない場合であっても、高い精度で識別対象データが正常か否かを識別することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る識別システム１０の一例の概略構成図。
【図２】第１の実施形態に係る識別処理装置１１の一例のハードウェア構成図。
【図３】第１の実施形態に係る識別処理装置１１の一例の機能ブロック図。
【図４】第１の実施形態に係る識別処理の一例のフローチャート。
【図５】学習データの一例の図。
【図６】第１の実施形態に係る識別処理の一例の図。
【図７】第１の実施形態に係る識別処理テストの一例の図。
【図８】第１の実施形態に係る識別処理テスト結果の手法比較グラフ図。
【図９】次元圧縮パラメータおよび次元復元パラメータの学習のフローチャート。
【図１０】Ｓｔａｃｋｅｄ  Ａｕｔｏ−Ｅｎｃｏｄｅｒｓの一例を説明するための図。
【図１１】Ｓｔａｃｋｅｄ  Ａｕｔｏ−Ｅｎｃｏｄｅｒｓの学習方法の一例を説明するための図。
【図１２】第２の実施形態に係る識別処理装置１１の一例の機能ブロック図。
【図１３】第２の実施形態に係る識別処理の一例のフローチャート。
【発明を実施するための形態】
【００１０】
［第１の実施形態］
以下、本発明の第１の実施形態を図１〜図８に基づいて詳細に説明する。図１には、第１の実施形態に係る識別システム１０の一例の概略構成図が示されている。
【００１１】
図１に示すように、識別システム１０は、入力された識別対象データが正常データか否かを識別するシステムであり、識別処理装置１１、入力装置１２、表示装置１３、撮像装置１４を有している。このうち、識別処理装置１１は、例えばＰＣ（Personal Computer）である。入力装置１２は例えばキーボードである。表示装置１３は、例えばディスプレイモニタである。撮像装置１４は、例えばカメラである。入力装置１２、表示装置１３および撮像装置１４は、電気的に識別処理装置１１に接続されている。
撮像装置１４は、識別対象物１００を撮像し、識別対象データとして画像データを取得して識別処理装置１１に出力する。識別対象物１００は、例えば郵便番号が記載されたハガキである。
識別処理装置１１は、撮像装置１４から入力された識別対象データが正常データか否かを識別し、識別結果を表示装置１３に出力する。表示装置１３は、識別処理装置１１から入力された識別結果を表示する。これにより、ユーザは識別対象データが正常データか否かを知ることができる。
【００１２】
＜ハードウェア構成＞
次に、第１の実施形態に係る識別システム１０のハードウェア構成について説明する。図２は、第１の実施形態に係る識別システム１０の一例のハードウェア構成図である。
【００１３】
図２に示すように、識別システム１０は、識別処理装置１１、入力装置１２、表示装置１３、撮像装置１４を備え、それぞれが電気的に接続されている。
識別処理装置１１は、ＣＰＵ（Central Processing Unit）１０１、ＨＤＤ（Hard Disk Drive）１０２、ＲＡＭ（Random Access Memory）１０３およびＲＯＭ（Read Only Memory）１０４、外部Ｉ／Ｆ１０５を備え、外部Ｉ／Ｆ１０５を介して入力装置１２、表示装置１３、撮像装置１４に電気的に接続されている。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０４やＨＤＤ１０２等の記憶装置からプログラムやデータをＲＡＭ１０３上に読み出し、処理を実行することで、識別処理装置１１の全体の制御や機能を実現する演算装置である。
【００１５】
ＨＤＤ１０２は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えば、本実施形態を実現するためのプログラム、識別処理装置１１全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。ＨＤＤ１０２は格納しているプログラムやデータを所定のファイルシステムＤＢ（データベース）により管理している。なお、識別処理装置１１は、ＨＤＤ１０２の代わりに又はＨＤＤ１０２と併せて、ＳＳＤ（Solid State Drive）等を備えていてもよい。
【００１６】
ＲＡＭ１０３は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０４は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。
【００１７】
入力装置１２は、ユーザが各種操作信号を入力するのに用いられる装置である。入力装置１２は、例えば、各種操作ボタン、タッチパネル、キーボード、マウス等である。
【００１８】
表示装置１３は、識別処理装置１１による処理結果を表示する装置である。表示装置１３は、例えば、ディスプレイ等である。
【００１９】
外部Ｉ／Ｆ１０５は、外部装置とのインタフェースである。外部装置には、入力装置１２、表示装置１３、撮像装置１４の他、例えば、ＵＳＢ（Universal Serial Bus）メモリ、ＳＤカード、ＣＤ、ＤＶＤ等の外部記憶装置が含まれる。外部Ｉ／Ｆ１０５は外部装置との接続または通信を可能にする構成であればよく、外部装置ごとに外部Ｉ／Ｆ１０５が用意されてもよい。
【００２０】
撮像装置１４（撮像手段の一例）は、撮像により画像データ等の多次元データを生成する装置である。撮像装置１４は、例えば、撮像動作により多次元データとしての識別対象物１００の輝度画像を得るカメラや識別対象物１００の複数の分光情報を取得する分光カメラ等である。
【００２１】
ここで、多次元データとは、所定の次元のベクトルデータとして表すことができる画像データを言う。例えば、６４０×４８０ピクセルの画像データは、（６４０×４８０次元＝）合計３０７２００次元のベクトルデータとして表すことができる多次元データである。同様に、例えば、所定の６つの角度の光源から物体に照射された光により取得された３１波長の分光情報である分光画像データは、（６×３１次元＝）合計１８６次元のベクトルデータとして表すことができる多次元データである。さらに、これらに限られず、多次元データには、画像データで表せられるデータであれば音データや文書データ等の各種電子データが含まれてもよい。以降では、多次元データは、多次元のベクトルデータとして表されているものとして説明する。
【００２２】
本実施形態では、識別処理装置１１が、正常なモデルに属する多次元データ（すなわち、正常データ）を複数用いて予め機械学習を行い、多次元データである識別対象データに対して、学習により設定されたパラメータを用いて次元圧縮および次元復元を行って復元データを生成する。さらに識別処理装置１１が、識別対象データと復元データの類似度を算出することにより、入力された識別対象データが正常データであるか否かを識別するものである。
【００２３】
なお、図２では、識別処理装置１１が撮像装置１４を介して識別対象データを取得しているが、識別システム１０は、撮像装置１４を必ずしも有している必要はなく、識別処理装置１１が識別対象データを取得できる構成であればよい。例えば、上述したような多次元データを生成する各種装置（マイク装置等）を有する構成としてもよい。また、識別処理装置１１が、例えば外部記憶装置に格納された多次元データを、外部Ｉ／Ｆ１０５を介して又はＨＤＤ１０２等から入力される構成でもよいし、ＬＡＮ（Local Area Network）やインターネット等のネットワークを介して多次元データを入力される構成でもよい。
【００２４】
本実施形態に係る識別処理装置１１は、ＣＰＵ１０１の命令および図２に示したハードウェア構成によって、次に説明する機能構成を実現することができる。
【００２５】
＜機能構成＞
次に、第１の実施形態に係る識別処理装置１１の機能構成について説明する。図３は、第１の実施形態に係る識別処理装置１１の一例の機能ブロック図である。
【００２６】
図３に示すように、識別処理装置１１は、データ取得部１１０と、パラメータ設定部１１１と、次元圧縮部１１２と、次元復元部１１３と、類似度算出部１１４と、データ識別部１１５とを有する。
【００２７】
データ取得部１１０（データ取得手段の一例）は、例えばＣＰＵ１０１等により実現され、多次元データである識別対象データを取得する。例えば、データ取得部１１０は、撮像装置１４によって生成された識別対象物１００が写っている画像データを識別対象データとして取得する。また、データ取得部１１０は、識別対象データを、例えば、ＵＳＢメモリ、ＳＤカード、ＣＤ、ＤＶＤ等の外部記憶装置から外部Ｉ／Ｆ１０５を介して又はＨＤＤ１０２等から取得してもよい。さらに、データ取得部１１０は、識別対象データを、例えば、ＬＡＮやインターネット等のネットワークを介して取得してもよい。
【００２８】
パラメータ設定部１１１（パラメータ設定手段の一例）は、例えばＣＰＵ１０１等により実現され、学習データを用いた機械学習により、次元圧縮部１１２が使用する次元圧縮パラメータおよび次元復元部１１３が使用する次元復元パラメータを設定する。
【００２９】
ここで、学習データは、パラメータ設定部１１１の学習に用いる正常なモデルに属する複数の多次元データ（すなわち、正常データ）である。例えば、撮像画像データの被写体が数字の「５」であるか否かを識別処理装置１１で識別する場合、学習データは、数字の「５」が写っている画像データである。なお、数字の「５」が写っている画像データは、例えば、数字の「５」が写っている撮像画像のデータである。また、例えば撮像画像データの被写体が人か人以外かを識別処理装置１１で識別する場合、学習データとは、人が写っている画像データである。他の例では、ある製品の塗料の品質（測色結果）が所定の規格を満たすか否かを識別処理装置１１で識別する場合、学習データとは、所定の規格を満たす品質の塗料から得られた分光画像データである。
【００３０】
一方、識別対象データは、データ識別部１１５により識別される対象のデータである。すなわち、データ識別部１１５により、識別対象データが異常な値を示すデータ（異常データ）であるか正常な値を示すデータ（正常データ）であるかが識別（判定）される。ここで、異常データは、例えば、数字の「５」が写っている画像データを正常データとした場合は、「５」以外の数字（例えば、「８」）が写っている画像データのことである。また、例えば、人の画像が含まれている画像データを正常データとした場合に、人以外のもの（例えば、犬）の画像が含まれている画像データが異常データとなる。また、他の例では、ある塗料が塗られた製品を撮像して得られた分光画像データのうち、所定の規格を満たす品質を示す分光画像データが正常データとなり、所定の規格を満たさない品質を示す分光画像データが異常データとなる。
【００３１】
なお、上述したように、学習データは、例えば、ＵＳＢメモリ、ＳＤカード、ＣＤ、ＤＶＤ等の外部記憶装置に格納されており、外部Ｉ／Ｆ１０５を介して識別処理装置１１に入力されてもよいし、ＨＤＤ１０２等に格納されていてもよい。
また、識別対象データは、例えば、撮像装置１４の撮像動作により生成されてもよいし、外部記憶装置に格納されており外部Ｉ／Ｆ１０５を介して識別処理装置１１に入力されてもよい。さらに、第２の実施形態として後述するように、正常データとして識別された識別対象データが学習データとして入力されてもよい。
【００３２】
次元圧縮部１１２（次元圧縮手段の一例）は、例えばＣＰＵ１０１等により実現され、入力された多次元データの次元数を次元圧縮パラメータに基づいて圧縮する。すなわち、次元圧縮部１１２は、入力された多次元データから、この多次元データの特徴を表し、かつ、この多次元データの次元数よりも少ない次元数の特徴ベクトルで表される圧縮データを生成する。なお、パラメータ設定部１１１による次元圧縮パラメータの学習は、例えば、多層ニューラルネットワークの一種であるＳＡＥ（Stacked Auto-Encoders）の手法を用いる。他にも主成分分析（例えば、Principal Component Analysis）等の手法を用いることができる。なお、ＳＡＥおよび主成分分析の詳細については後述の＜＜次元圧縮および次元復元の詳細＞＞にて説明する。
【００３３】
次元復元部１１３（次元復元手段の一例）は、例えばＣＰＵ１０１等により実現され、次元圧縮部１１２により次元数が圧縮された後の多次元データを、次元復元パラメータに基づいて元の次元数に復元する。すなわち、次元復元部１１３は、次元圧縮部１１２により生成された圧縮データの特徴を分析して、圧縮データを元の多次元データの次元数に復元した復元データを生成する。なお、パラメータ設定部１１１による次元復元パラメータの学習には、例えば、多層ニューラルネットワークの一種であるＳＡＥを用いる。他にも例えば、主成分分析（例えば、Principal Component Analysis）等の手法を用いることができる。
【００３４】
すなわち、次元圧縮部１１２および次元復元部１１３が、学習により設定されたパラメータを用いて、それぞれ次元圧縮および次元復元を行うことにより、識別対象データが有する特徴が抽出された識別対象データと同じ次元数の復元データが生成される。
【００３５】
類似度算出部１１４（類似度算出手段の一例）は、例えばＣＰＵ１０１等により実現され、データ取得部１１０から入力された識別対象データと、次元復元部１１３から入力された復元データとのデータ構造を比較し、類似度を算出する。すなわち、識別対象データが次元復元されたことにより生じるデータ構造の変化を、類似度として算出する。データ構造の比較は、例えば、画像データの画素値の平均や分散、共分散等からデータの構造的な特徴を比較することである。なお、類似度算出部１１４は、例えば、構造類似度算出方法の一種であるＳＳＩＭ（Structural Similarity Index）を用いてデータ構造の類似度を算出する。なお、他にＦＳＩＭ（Feature Similarity Index）等の手法を用いることもできる。なお、ＳＳＩＭおよびＦＳＩＭの詳細については後述の＜＜類似度の算出の詳細＞＞にて説明する。
【００３６】
類似度は、例えば、０〜１の間の数値で表され、数値が１に近いほど類似度合いが高くなり、数値が０に近いほど類似度合いが低くなる。ただし、類似度の値の範囲や、類似度の値と類似度合いの関係等は、設計事項であり、任意の範囲または値に設定してよい。
【００３７】
データ識別部１１５（データ識別手段の一例）は、例えばＣＰＵ１０１等により実現され、所定の閾値に対する類似度算出部１１４により算出された識別対象データと復元データの類似度の値から、識別対象データが正常データか異常データかを識別する。例えば、所定の閾値よりも類似度の値が上回っていた場合に、データ識別部１１５は、識別対象データは正常データであると識別する。
【００３８】
なお、所定の閾値は、入力装置１２を用いてユーザが任意で設定してもよいし、識別処理装置１１によって自動で設定されてもよい。自動設定の方法として、例えば、次元圧縮部１１２、次元復元部１１３および類似度算出部１１４が、複数の学習データまたは学習データとは別の複数の正常データ（設定用データ）に対して、それぞれ上述の次元圧縮、次元復元および類似度算出を行い、データ識別部１１５が、得られた類似度の値の中で最も低い値を、所定の閾値として設定することができる。これにより、正常データに基づいた所定の閾値が設定されるので、識別の精度を向上することができる。なお、ユーザが任意で設定する場合に、データ識別部１１５が上述の自動設定の手法と同様の手法により求めた値を、閾値の推奨設定値として表示装置１３を用いてユーザに知らせる構成にしてもよい。
【００３９】
＜＜識別処理＞＞
次に、図４〜図６を用いて、識別処理装置１１が、識別対象データの識別を行う識別処理について説明する。図４は、第１の実施形態に係る識別処理の一例のフローチャートである。図５は、学習データの一例である。図６は、第１の実施例に係る識別処理の一例である。なお、識別対象データの識別とは、上述したように、識別対象データが正常データであるか否かを識別することである。
【００４０】
ステップＳ１１において、パラメータ設定部１１１は、学習データを用いた上述の学習処理により、次元圧縮部１１２で使用する次元圧縮パラメータおよび次元復元部１１３で使用する次元復元パラメータを設定する。例えば、数字の「５」が写っている画像データを正常データとし、識別処理装置１１によって識別対象データが正常か否かを識別される場合、学習データは、図５に示すような数字の「５」が写っている複数の画像データとなる。
【００４１】
図４に戻り、ステップＳ１２において、データ取得部１１０は、撮像装置１４等から、多次元データである識別対象データを取得する。例えば、データ取得部１１０は、撮像装置１４の撮像動作により生成された識別対象物が写っている画像データを識別対象データとして取得する。
【００４２】
ステップＳ１３において、次元圧縮部１１２は、データ取得部１１０から識別対象データを取得して、次元圧縮パラメータを用いて圧縮する。具体的には、次元圧縮部１１２は、パラメータ設定部１１１により設定された次元復元パラメータを用いて識別対象データの次元数を圧縮して、特徴ベクトルデータである圧縮データを生成する。
そして、ステップＳ１４において、次元復元部１１３は、次元圧縮部１１２から圧縮データを取得し、圧縮データの次元数を復元する。具体的には、次元復元部１１３は、パラメータ設定部１１１により設定された次元復元パラメータを用いて圧縮データを復元し、識別対象データと同じ次元数である復元データを生成する。
【００４３】
ステップＳ１５において、類似度算出部１１４は、データ取得部１１０から識別対象データを取得するとともに次元復元部１１３から復元データを取得して、識別対象データと復元データのデータ構造の類似度を算出する。
【００４４】
ステップＳ１６において、データ識別部１１５は、類似度算出部１１４から類似度の値を取得し、データ識別部１１５が保持する所定の閾値に対する類似度の値から、識別対象データが正常データか否かを識別する。例えば、データ識別部１１５は、類似度の値が所定の閾値以上のとき（ステップＳ１６においてＹＥＳ）に、識別対象データが正常データだと識別し、その結果を出力する（ステップＳ１７）。また、データ識別部１１５は、類似度の値が所定の閾値未満のとき（ステップＳ１６においてＮＯ）に、識別対象データが異常データだと識別し、その結果を出力する（ステップＳ１８）。
【００４５】
データ識別部１１５による識別対象データの識別結果は、例えば、表示装置１３に表示され、ユーザに識別対象データが正常データであるか否かを知らせることができる。
【００４６】
次に、図６を用いて、識別処理の一例を説明する。
数字の「５」が写っている画像データを正常データとして、識別処理装置１１が識別対象データの識別処理を行う。なお、図６（ａ）は数字の「１」が写っている画像データの識別処理の一例である。図６（ｂ）は数字の「５」が写っている画像データの識別処理の一例である、図６（ｃ）は数字の「８」が写っている画像データの識別処理の一例である。
【００４７】
まず、パラメータ設定部１１１が、図５に示すような数字の「５」が写っている画像データと識別済みの複数の画像データを学習データとして上述の学習処理により学習し、次元圧縮パラメータおよび次元復元パラメータを設定する。
【００４８】
図６（ａ）では、まず、データ取得部１１０は、数字の「１」が写っている画像データを識別対象データとして取得する。次に、次元圧縮部１１２によるＳ１３の処理および次元復元部１１３によるＳ１４の処理によって、次元復元部１１３が復元データを生成する。
【００４９】
さらに、Ｓ１５の処理によって、類似度算出部１１４が、識別対象データと復元データのデータ構造に基づく類似度を算出する。そして、Ｓ１６の処理によって、データ識別部１１５が、識別対象データが正常データであるか否かを識別する。
【００５０】
データ識別部１１５は、閾値が０．７であり、類似度の値が０．７以上であれば正常データと識別するとき、図６（ａ）は、類似度の値が０．２であるため、図６（ａ）の識別対象データは正常データではない（すなわち、異常データである）と識別する。
【００５１】
図６（ａ）と同様の処理により、図６（ｂ）の識別対象データである数字の「５」が写っている画像データは、類似度の値が０．８であるため、正常データであると識別される。また、同様の処理により、図６（ｃ）の識別対象データである数字の「８」が写っている画像データは、類似度の値が０．５であるため、正常データではないと識別される。
【００５２】
学習により識別対象データと正常データの画素ごとの値（例えば輝度値）や密度の差分から、識別対象データが正常データか否かを識別する手法に比べ、本実施形態である識別対象データと復元データの類似度から正常データか否かを識別する手法は、格段に識別の精度が良い。これは、正常データを用いた学習による次元圧縮及び次元復元と、類似度の算出によるデータ構造の比較との相性が良いためであり、詳細は次のようになる。
【００５３】
本実施形態では、上述したように、まず、パラメータ設定部１１１が、学習データ（正常データ）の特徴を学習して次元圧縮部１１２および次元復元部１１３のパラメータを設定する。次に、次元圧縮部１１２が識別対象データから特徴を抽出した圧縮データを生成し、次元復元部１１３が、圧縮データから特徴を分析して復元データを生成する。そして、類似度算出部１１４が、識別対象データと復元データのデータ構造を比較して類似度を算出し、データ識別部１１５が、所定の閾値に対する類似度から識別対象データが正常データか否かを識別する。すなわち、次元圧縮部１１２と次元復元部１１３によって識別対象データの特徴を抽出した上で、類似度算出部１１４によって抽出前後のデータ構造を比較するため、特徴同士の比較が容易になり、識別の精度が格段に良くなる。
【００５４】
なお、学習により画素ごとの値や密度の差分から識別する手法には、例えば密度ベースの外れ値検出手法であるＬＯＦ（Local outlier Factor）を用いる。他にも例えば、ＳＶＭ（Support Vector Machine）の評価関数を変更した外れ値検出手法である１−Ｃｌａｓｓ  ＳＶＭ等を用いることができる。また、次元圧縮および次元復元にＬＯＦ等を組み合わせて、識別対象データと復元データの画素ごとの値や密度の差分から、識別対象データが正常か否かを識別する手法（ＳＡＥ＋ＬＯＦ手法）もあるが、上述の理由により、次元圧縮および次元復元に類似度算出を組合せた手法の方が格段に識別の精度が良い。
【００５５】
＜＜実施形態の効果＞＞
続いて、本実施形態による識別の精度の向上の一例として、図７および図８を用いて、上述の識別処理によって、数字の「０」から「９」が写っている画像データの識別処理テストを行ったテスト結果を説明する。
図７は、第１の実施形態に係る識別処理テストの一例を表す図である。図８は、第１の実施形態に係る識別処理テスト結果の手法比較グラフである
【００５６】
なお、ここでは、ＭＮＩＳＴとよばれる数字画像データベースを用いて識別処理テストをした場合について説明する。
【００５７】
ＭＮＩＳＴは、６００００枚の学習用画像データおよび１００００枚のテスト用画像データで構成されている画像データ群である。学習用画像データおよびテスト用画像データは、図７（ａ）に示す「０」から「９」までの数字が写っている１０クラスの画像データでそれぞれ構成されている。また、画像データ群の各画像データは、１枚の画像サイズが２８＊２８ｐｘであり、７８４次元の次元数を有する。
【００５８】
学習用画像データは、パラメータ設定部１１１の学習に用いる学習データと、データ識別部１１５の所定の閾値の設定に用いる設定用データに分けて使用される。テスト用画像データは、識別対象データとして使用される。
【００５９】
１０クラスのうち、任意の１クラスのみを正常データとして扱い、学習には、その１クラスに属する学習データを用いる。また、所定の閾値の設定には、その１クラスに属する設定用データを用いる。なお、学習には正常データだけを用いて、異常データについては用いない。さらに、その１クラスに属する識別対象データを、正常データとして扱い、他の９クラスを異常データとして扱う。
【００６０】
図７（ｂ）に示すように、正常データとするクラスを入れ替え、その都度に学習用画像データを入れ替えながら、「０」〜「９」の１０通りの識別処理テストを行う。そして、算出された識別率の平均値を識別処理テストのテスト結果とする。なお、識別率は、識別の精度を表した数値であり、（正常データだと識別した正常データの数／正常データの数＊１００）で算出される。
【００６１】
識別処理テストでは、学習データの枚数を１０、３０、５０、１００、３００、５００、１０００、２０００、３０００、４０００、５０００枚と変えて、各枚数における識別率を算出し、識別手法による識別率の違いを比較する。なお、学習データの枚数が１０、３０、５０、１００、３００、５００枚のときは、学習データによる結果のばらつきを抑えるため、学習データおよび識別対象データを変えながら識別処理テストを各３回行い、その平均値をテスト結果とする。また、識別対象データの枚数は、正常データが７２０枚、異常データが各クラス８０枚ずつの合計７２０枚である。
【００６２】
識別処理テストには、本発明に関わる識別手法として、本実施形態で説明したＳＡＥによる次元圧縮および次元復元に類似度算出を組み合わせて識別するＳＡＥ＋ＳＳＩＭ手法およびＳＡＥ＋ＦＳＩＭ手法を用いた。そして参考とする識別手法として、学習により画素ごとの値や密度から正常か否かを識別するＬＯＦ手法および１−ｃｌａｓｓ  ＳＶＭ手法、さらに次元圧縮および次元復元にＬＯＦ手法を組合せたＳＡＥ＋ＬＯＦ手法を用い、これらを比較した。
【００６３】
ＳＡＥのネットワーク係数（次元圧縮パラメータまたは次元復元パラメータの一例）は、パラメータ設定部１１１により設定される。具体的には、パラメータ設定部１１１が学習データを用いた機械学習を行い、次元圧縮および次元復元のユニット数が７８４、１００、５０、２５、５０、１００、７８４次元となるようにし、プレトレーニング回数を２０００回、微調整（Ｆｉｎｅ  Ｔｕｎｉｎｇ）回数を１０００回行うことでネットワーク係数を設定する。
【００６４】
ここでユニット数は、多層ニューラルネットワークの各層でのニューロン数であり、プレトレーニング回数および微調整回数は、ネットワーク係数の更新回数を示す。プレトレーニングによる更新は１層ごとに行うため、各ネットワーク係数の更新を２０００回ずつ行う。また、微調整はプレトレーニングで求まった各層のユニット、ネットワーク係数を設定した後、ネットワーク全体としてネットワーク係数の更新を行う作業であり、ここではこの回数を１０００回としている。なお、学習処理の詳細については後述する。
【００６５】
データ識別部１１５の所定の閾値は、次にように設定される。次元圧縮部１１２、次元復元部１１３および類似度算出部１１４が、複数の正常データ（設定用データ）に対して、それぞれ次元圧縮、次元復元および類似度算出を行う。そして、データ識別部１１５が、得られた類似度の値の中でも最も低い値を、所定の閾値として設定する。所定の閾値は、正常データとするクラスの入れ替えの度に、そのクラスに属する設定用データを用いて再設定される。
【００６６】
以上の条件で、それぞれの識別手法で識別処理テストを行う。なお、テスト結果について、図８を用いて説明する。
【００６７】
図８より、結果として、ＬＯＦ手法、１−ｃｌａｓｓ  ＳＶＭ手法およびＳＡＥ＋ＬＯＦ手法の３つの参考手法に比べて、本実施形態で説明したＳＡＥ＋ＳＳＩＭ手法およびＳＡＥ＋ＦＳＩＭ手法は、どの学習データの数の場合においても参考手法より高い識別率を示している。
【００６８】
また、学習データの数が最大である５０００枚のとき、ＳＡＥ＋ＳＳＩＭ手法の識別率が９１％程度、ＳＡＥ＋ＦＳＩＭの識別率が９３％程度、そして参考手法がどの手法も識別率が８８％程度であり、本実施形態の手法は、参考手法に比べて識別の精度が向上していることがわかる。
【００６９】
さらに、識別率が８５％を初めて超えたときの学習データの数は、参考手法であるＬＯＦ手法が２０００枚、１−ｃｌａｓｓ  ＳＶＭ手法が３０００枚、ＳＡＥ＋ＬＯＦ手法が１００枚である。これに対して、本実施形態では、ＳＡＥ＋ＳＳＩＭ手法は３０枚、ＳＡＥ＋ＦＳＩＭ手法は１０枚と、学習データ数が少ない場合においては参考手法よりも格段に識別率が向上していることがわかる。すなわち、本実施形態では、学習データが５０枚以下のような少ない場合においても、高い識別精度を保つことができる。
【００７０】
以上より、本実施形態によれば、学習によりパラメータを設定された次元圧縮部１１２と次元復元部１１３によって識別対象データの特徴を抽出した上で、類似度算出部１１４によって抽出前後のデータ構造を比較するため、特徴同士の比較が容易になる。よって、半教師あり異常検知手法を利用して、異常データを学習に用いない場合であっても、高い精度で識別することができる。したがって、本実施形態に係る識別処理装置１１は、識別対象データが正常データであるか否かを識別する装置として非常に有効であることがわかる。
【００７１】
以降、第１の実施形態に係る学習処理、次元圧縮および次元復元の詳細、類似度の算出の詳細について説明する。
【００７２】
＜＜学習処理＞＞
まず、図９〜図１１を用いて実施形態に係る識別処理装置１１の学習処理の詳細について説明する。
【００７３】
図９は、第１の実施形態に係る学習処理の一例のフローチャートである。なお、上述したように、学習データは、正常なモデルに属する多次元データ（すなわち、正常データ）である。以降で説明する学習処理は、正常データのみで学習する「半教師あり学習」とよばれる学習手法である。
【００７４】
ステップＳ１０１において、パラメータ設定部１１１は、学習データを取得する。なお、パラメータ設定部１１１は、学習データを、例えば、ＵＳＢメモリ、ＳＤカード、ＣＤ、ＤＶＤ等の外部記憶装置から外部Ｉ／Ｆ１０５を介して又はＨＤＤ１０２等から取得する。また、パラメータ設定部１１１は、学習データを、例えば、ＬＡＮやインターネット等のネットワークを介して取得してもよいし、撮像装置１４の撮像動作により生成された学習データを取得してもよい。
【００７５】
ステップＳ１０２において、パラメータ設定部１１１は、取得した学習データを用いて、学習を行う。さらにステップＳ１０３において、パラメータ設定部の学習したパラメータについて調整を行う。
【００７６】
次に、一例として次元圧縮部１１２および次元復元部１１３が、ＳＡＥ（Stacked Auto-Encoders）の手法を用いて実現される場合を説明し、さらに他の例として主成分分析の手法を用いて実現される場合について説明する。ただし、次元圧縮部１１２および次元復元部１１３は、これらの２つの場合に限られず、種々の次元圧縮および次元復元の手法を用いて実現することができる。
【００７７】
（Ｓｔａｃｋｅｄ  Ａｕｔｏ−Ｅｎｃｏｄｅｒｓ）
次元圧縮部１１２および次元復元部１１３が多層ニューラルネットワークの一種であるＳＡＥの手法を用いて実現される場合について、図１０および図１１を用いて説明する。この場合、パラメータ設定部１１１の学習とは、入力された学習データに基づき、ＳＡＥの各層のネットワーク係数（これは「重み」とも称される）を調整することに相当する。なお、このようなネットワーク係数は、次元圧縮パラメータまたは次元復元パラメータの一例である。
【００７８】
図１０は、Ｓｔａｃｋｅｄ  Ａｕｔｏ−Ｅｎｃｏｄｅｒｓの一例を説明するための図である。図１１は、Ｓｔａｃｋｅｄ  Ａｕｔｏ−Ｅｎｃｏｄｅｒｓの学習の一例を説明するための図である。
【００７９】
ＳＡＥとは、Ａｕｔｏ−Ｅｎｃｏｄｅｒと呼ばれるニューラルネットワークを積み重ねて多層とした構成のニューラルネットワークである。ここで、Ａｕｔｏ−Ｅｎｃｏｄｅｒとは、入力層と出力層のニューロン数（ユニット数）が同数であり、かつ、中間層（隠れ層）のニューロン数（ユニット数）が入力層（出力層）より少ない構成のニューラルネットワークである。
【００８０】
次元圧縮部１１２および次元復元部１１３は、図１０に示すような５層から構成されるＳＡＥにより実現されるものとして説明する。すなわち、次元圧縮部１１２は、入力された１００次元のベクトルデータを、５０次元のベクトルデータに次元圧縮した後、２５次元のベクトルデータに圧縮する。一方、次元復元部１１３は、入力された２５次元のベクトルデータを、５０次元のベクトルデータに次元復元した後、１００次元のベクトルデータに次元復元する。次に学習データを用いたＳＡＥの学習について説明する。
【００８１】
以降、学習データは、３０個の１００次元のベクトルデータであるものとして説明する。また、次元圧縮部１１２は、１００次元のベクトルデータを、２５次元のベクトルデータに圧縮するものとする。ただし、次元圧縮部１１２による次元圧縮後の次元数は、設計事項であり、２５次元に限られず、任意の次元数でよい。このことは、主成分分析の手法を用いる場合も同様である。
【００８２】
このとき、各学習データＤ１〜Ｄ３０を、それぞれｙ１、・・・、ｙ３０として、以下のように表す。
【００８３】
【数１】
2017097718.tif 000003
【００８４】
ＳＡＥの学習は、ＳＡＥを構成するＡｕｔｏ−Ｅｎｃｏｄｅｒ毎に行われる。したがって、図１０に示すＳＡＥは、ＳＡＥを構成する第１のＡｕｔｏ−Ｅｎｃｏｄｅｒおよび第２のＡｕｔｏ−Ｅｎｃｏｄｅｒについて、学習を行う（図１１の（ａ）および（ｂ））。そして、最後に、パラメータの調整として、Ｆｉｎｅ−ｔｒａｉｎｉｎｇと呼ばれる学習を行う（図１１の（ｃ））。
【００８５】
まず、図１０のＳＡＥを構成する第１のＡｕｔｏ−Ｅｎｃｏｄｅｒについて、学習データを用いて学習を行う（図１１の（ａ））。すなわち、第１層（入力層）のニューロン数が１００、第２層（中間層、隠れ層）のニューロン数が５０、第３層（出力層）のニューロン数が１００の第１のＡｕｔｏ−Ｅｎｃｏｄｅｒについて、学習データを用いて学習を行う。
【００８６】
このような学習は、各ｉ（ｉ＝１、・・・、３０）に対して、ｙｉを第１のＡｕｔｏ−Ｅｎｃｏｄｅｒの入力データ（識別対象データ）および学習データとして誤差逆伝播法（Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）により学習を行えばよい。つまり、学習データを用いて、第１のＡｕｔｏ−Ｅｎｃｏｄｅｒの入力データと出力データ（復元データ）が同じになるように、誤差逆伝播法によりネットワーク係数の調整を行う。
【００８７】
次に、図１０のＳＡＥを構成する第２のＡｕｔｏ−Ｅｎｃｏｄｅｒについて、第１のＡｕｔｏ−Ｅｎｃｏｄｅｒの第２層（中間層、隠れ層）に対する入力データを用いて学習を行う（図１１の（ｂ））。
【００８８】
ここで、第１のＡｕｔｏ−Ｅｎｃｏｄｅｒにおいて、入力層（第１層）の各ニューロンと第２層の上からｊ番目のニューロンとの間のネットワーク係数をそれぞれｗ１、ｊ、・・・、ｗ１００、ｊとすると、第２のＡｕｔｏ−Ｅｎｃｏｄｅｒの入力データは以下の（式２）で表される。
【００８９】
【数２】
2017097718.tif 000004
【００９０】
したがって、各ｉ（ｉ＝１、・・・、３０）に対して、ｚｉを第２のＡｕｔｏ−Ｅｎｃｏｄｅｒの入力データおよび学習データとして誤差逆伝播法により学習を行えばよい。つまり、３０個の５０次元のベクトルデータｚｉを用いて、第２のＡｕｔｏ−Ｅｎｃｏｄｅｒの入力データｚｉと出力データが同じになるように、誤差逆伝播法によりネットワーク係数の調整を行う。
【００９１】
ＳＡＥを構成するすべてのＡｕｔｏ−Ｅｎｃｏｄｅｒについて学習を行った後、Ｆｉｎｅ−ｔｒａｉｎｉｎｇ（又は、Ｆｉｎｅ−Ｔｕｎｉｎｇ）と呼ばれる学習を行う（図１１の（ｃ））。Ｆｉｎｅ−ｔｒａｉｎｉｎｇとは、学習を行ったすべてのＡｕｔｏ−Ｅｎｃｏｄｅｒから構成されたＳＡＥについて学習データを用いて学習を行い、ネットワーク係数を調整することである。すなわち、各ｉ（ｉ＝１、・・・、３０）に対して、ｙｉをＳＡＥの入力データおよび学習データとして誤差逆伝播法により学習を行えばよい。つまり、学習データを用いて、ＳＡＥの入力データと出力データが同じになるように、誤差逆伝播法によりネットワーク係数の調整を行う。
【００９２】
このようなＦｉｎｅ−ｔｒａｉｎｉｎｇを最後に行うことで、ＳＡＥの各ネットワーク係数が調整され、次元圧縮部１１２および次元復元部１１３の性能を向上させることができる。すなわち、後述する識別処理の詳細において、入力された識別対象データのデータ識別部１１５による識別精度を向上させることができる。
【００９３】
以上の学習によって、パラメータ設定部１１１は、ネットワーク係数を次元圧縮部１１２の次元圧縮パラメータおよび次元復元部１１３の次元復元パラメータとして設定する。
【００９４】
なお、上記では、一例として、各層のニューロン数が１００、５０、２５、５０、１００である５層のＳＡＥを用いて、説明したが、これに限られない。ＳＡＥの各層のニューロン数、および、ニューラルネットワークを構成する層の数は設計事項であり、任意の数を選択することができる。
【００９５】
ただし、次元圧縮部１１２による次元圧縮および次元復元部１１３による次元復元は、複数の層に分けて行うことが好ましい。例えば、上記のように１００次元のベクトルデータを２５次元のベクトルデータに圧縮する場合、各層のニューロン数が１００、２５、１００である３層のＳＡＥを用いて次元圧縮を行うよりも、上記の例のように複数の層（上記の例では５層）に分けて順次、次元数を圧縮する構成とする方が好ましい。
【００９６】
（主成分分析）
次に、次元圧縮部１１２および次元復元部１１３が主成分分析の手法を用いて実現される場合について説明する。この場合、パラメータ設定部１１１の学習とは、入力された学習データ１０００に基づき、次元圧縮部パラメータおよび次元復元パラメータの一例である各主成分に対応する固有ベクトルを求めることに相当する。以降では、学習データは、３０個の１００次元のベクトルデータであるものとして説明する。また、次元圧縮部１１２は、１００次元のベクトルデータを、２５次元のベクトルデータに圧縮するものとする。ただし、次元圧縮部１１２による次元圧縮後の次元数は、設計事項であり、２５次元に限られず、任意の次元数でよい。
【００９７】
ここで、各学習データは、ＳＡＥの場合と同様に、上記の（式１）で表されるものとする。このとき、Ｙを以下のように定義する。
【００９８】
【数３】
2017097718.tif 000005
そして、Ｙの分散共分散行列Ａを以下の式により演算する。
【００９９】
【数４】
2017097718.tif 000006
次に、以下の固有値方程式を解くことで、固有値λを求める。なお、Ｉは単位行列である。
【０１００】
【数５】
2017097718.tif 000007
次に、各固有値λに対して、以下の関係を満たす固有ベクトルｘを求める。
【０１０１】
【数６】
2017097718.tif 000008
ここで、上記の（式５）で求めた固有値λのうち、最も大きい値の固有値λが第一主成分となる。したがって、これをλ１と表し、このλ１に対して上記の（式６）により求められた固有ベクトルをｘ１とする。
【０１０２】
同様に、上記の（式５）で求めた固有値λのうち、λ１の次に大きい値の固有値λが第二主成分となる。したがって、これをλ２と表し、このλ２に対して上記の（式６）により求められた固有ベクトルをｘ２とする。
【０１０３】
以降、同様にして固有ベクトルｘ３〜ｘ２５を得ることができる。ここで得られた固有ベクトルｘ１〜ｘ２５は、例えば、ＨＤＤ１０２等に保存される（つまり、次元圧縮部１１２による圧縮後の次元数と同数の固有ベクトルを保存する）。なお、後述する次元圧縮および次元復元の詳細の説明において、ここで得られた固有ベクトルｘ１〜ｘ２５を用いて説明する。
【０１０４】
以上の学習によって、パラメータ設定部１１１は、各主成分に対応する固有ベクトルを次元圧縮部１１２の次元圧縮パラメータおよび次元復元部１１３の次元復元パラメータとして設定する。
【０１０５】
＜＜次元圧縮および次元復元の詳細＞＞
次に、上記で説明したような学習処理を行った次元圧縮部１１２、次元復元部１１３による次元圧縮および次元復元について説明する。
【０１０６】
次に、一例として次元圧縮部１１２および次元復元部１１３が、ＳＡＥ（Stacked Auto-Encoders）の手法を用いて実現される場合を説明し、さらに他の例として主成分分析の手法を用いて実現される場合について説明する。ただし、次元圧縮部１１２および次元復元部１１３は、これらの２つの場合に限られず、種々の次元圧縮および次元復元の手法を用いて実現することができる。
【０１０７】
（Ｓｔａｃｋｅｄ  Ａｕｔｏ−Ｅｎｃｏｄｅｒｓ）
まず、次元圧縮部１１２および次元復元部１１３が多層ニューラルネットワークの一種であるＳＡＥの手法を用いて実現される場合について説明する。以降では、識別対象データは、１００次元のベクトルデータであるものとして説明する。また、次元圧縮部１１２は、１００次元のベクトルデータを、２５次元のベクトルデータに圧縮するものとする。
【０１０８】
このとき、識別対象データ２０００を、ａとして、以下のように表す。
【０１０９】
【数７】
2017097718.tif 000009
【０１１０】
このとき識別対象データを示す多次元データａ＝（ａ１，ａ２，・・・，ａ１００）を、上記の学習処理により予め学習された図１０に示すＳＡＥの第１層（入力層）に入力する。すると、ＳＡＥにより次元圧縮および次元復元された出力データである多次元データＡ＝（Ａ１，Ａ２，・・・，Ａ１００）を得ることができる。すなわち、図１０に示すＳＡＥに多次元データａを入力すると、次元圧縮部１１２により５０次元に次元圧縮した後、さらに２５次元に次元圧縮する。このようにして得られた２５次元の多次元データが特徴ベクトルλである。そして、特徴ベクトルλを次元復元部１１３により５０次元に次元復元した後、さらに１００次元に次元復元し、として多次元データＡ＝（Ａ１，Ａ２，・・・，Ａ１００）を得ることができる。多次元データＡは第１、第２の実施形態で説明した復元データに該当する。
【０１１１】
以上のようにして、次元圧縮部１１２および次元復元部１１３は、多層ニューラルネットワークの一種であるＳＡＥの手法を用いて識別対象データの次元圧縮および次元復元を行う。
【０１１２】
（主成分分析）
次に、次元圧縮部１１２および次元復元部１１３が主成分分析の手法を用いて実現される場合について説明する。以降では、識別対象データは、１００次元のベクトルデータであるものとして説明する。また、次元圧縮部１１２は、１００次元のベクトルデータを、２５次元のベクトルデータに圧縮するものとする。
【０１１３】
識別対象データは、ＳＡＥの手法の場合と同様に、上記の（式８）で表されるものとする。このとき、学習処理において予めＨＤＤ１０２等に保存した固有ベクトルｘ１〜ｘ２５を、以下のように表す。
【０１１４】
【数８】
2017097718.tif 000010
そして、各ｊに対して以下の（式９）を計算する。すなわち、識別対象データと各固有ベクトルｘ１〜ｘ２５との相関演算を行う。
【０１１５】
【数９】
2017097718.tif 000011
このようにして得られた多次元データλ＝（λ１，λ２，・・・，λ２５）が特徴ベクトルである。すなわち、多次元データλは、識別対象データを次元圧縮部１１２により２５次元に次元圧縮したベクトルである。
【０１１６】
次に、上記で得られた特徴ベクトルλを用いて、各ｊに対して以下の（式１０）を計算する。
【０１１７】
【数１０】
2017097718.tif 000012
このようにして得られた多次元データＡ＝（Ａ１，Ａ２，・・・，Ａ１００）が、次元復元後の多次元データ（復元データ）である。すなわち、多次元データＡは、特徴ベクトルλを次元復元部１１３により１００次元に次元復元した多次元データである。
【０１１８】
以上のようにして、次元圧縮部１１２および次元復元部１１３は、主成分分析の手法を用いて識別対象データの次元圧縮および次元復元を行う。
【０１１９】
＜＜類似度の算出の詳細＞＞
次に、本実施形態に係る類似度の算出の詳細について説明する。本第１の実施形態に係る識別処理装置１１は、識別対象データと復元データの類似度を算出する。
【０１２０】
類似度は、識別対象データのデータ構造および復元データのデータ構造の類似度合いを類似度計算手法により定量化したものであり、類似度の計算手法としては、例えば、ＳＳＩＭ（Structural Similarity Index）を用いる。他にも、ＦＳＩＭ（Feature Similarity Index）を用いることもできる。次に、ＳＳＩＭおよびＦＳＩＭを用いた類似度の算出について説明する。
【０１２１】
まず、ＳＳＩＭの計算手法について説明する。識別対象データをｘ、復元データをｙとする。識別対象データおよび復元データはグレースケールの画像データであるとする。
【０１２２】
まず、識別対象データおよび復元データにガウシアンフィルタを適用する。ガウシアンフィルタは、注目画素とその周辺画素に重み付けを行って平滑化を行うフィルタ処理である。
【０１２３】
次に、各画像データの画素値の平均および分散、共分散の値から、類似度を算出する。各画像の画素値の平均値をμｘ、μｙ分散をσｘ２、σｙ２、分散をσｘｙしたとき、類似度ＳＳＳＩＭは次の（式１１）により算出される。
【０１２４】
【数１１】
2017097718.tif 000013
【０１２５】
ここで、（式１１）のＣ１、Ｃ２は分母がゼロになることを避けるための定数であり、Ｃ１＝Ｋ１Ｌ、Ｃ２＝Ｋ２Ｌ、定義し、ここでＬは画像のダイナミックレンジ、Ｋ１＝０．０１、Ｋ２＝０．０３する。
【０１２６】
次に、ＦＳＩＭの計算手法について説明する。識別対象データをｘ、復元データをｙとする。ＦＳＩＭの計算手法はカラー画像とグレースケール画像で異なるが、以下では識別対象データがカラーである場合の計算手法について説明する。
【０１２７】
識別対象データおよび復元データをまずＹＩＱ変換を行い、ＹＩＱ変換後にそれぞれのデータのＹ画像について、ＰＣ（phase congruency）、ＧＭ（gradient magnitude）を計算する。なお、ＰＣは画像データに対して周波数領域で線形フィルタの一種であるＧａｂｏｒフィルタを適用することで求め、ＧＭは画像データに一次微分を利用したフィルタの一種であるＳｃｈａｒｒフィルタをかけることで求める。
【０１２８】
識別対象データ（画像ｘ）と復元データ（画像ｙ）に対して、それぞれＰＣｘ、ＰＣｙ、ＧＭｘ、ＧＭｙ求め、次にＰＣｘ、ＰＣｙの類似度ＳＰＣを（式１２）、ＧＭｘ、ＧＭｙの類似度ＳＧＭ（式１３）により求める。
【０１２９】
【数１２】
2017097718.tif 000014
【０１３０】
【数１３】
2017097718.tif 000015
ここで（式１２）、（式１４）のＴ１、Ｔ２は正の定数である。また、ＰＣｘ、ＰＣｙの最大値をＰＣｍ＝ｍａｘ（ＰＣｘ、ＰＣｙ）する。
【０１３１】
また、次にＹＩＱ変換後のＩ画像の類似度ＳＩを（式１４）、Ｑ画像の類似度ＳＱを（式１５）により求める。
【０１３２】
【数１４】
2017097718.tif 000016
【０１３３】
【数１５】
2017097718.tif 000017
ここで（式１２）、（式１３）と同様に、Ｔ３、Ｔ４は正の定数である。
【０１３４】
以上より求めたＳＰＣ、ＳＧＭ、ＳＩ、ＳＱおよびＰＣｍを用いて、カラー画像の場合の総合的な類似度ＳＦＳＩＭ（C）を、次に（式１６）により求める
【０１３５】
【数１６】
2017097718.tif 000018
Σは全画素の合計を計算することを意味する。
【０１３６】
なお、グレースケール画像の場合はＳＰＣ、ＳＧＭおよびＰＣｍより総合的な類似度ＳＦＳＩＭ（Ｇ）は、次の式（１７）により求められる。
【０１３７】
【数１７】
2017097718.tif 000019
【０１３８】
以上のようにして、類似度算出部１１４は、ＳＳＩＭやＦＳＩＭ等の手法を用いて、識別対象データと復元データの類似度を算出する。
【０１３９】
［第２の実施形態］
次に、図１２および図１３を用いて、第２の実施形態に係る識別処理装置１１について説明する。第２の実施形態に係る識別処理装置１１は、データ識別部１１５が所定の閾値として２種類の閾値を有していることが第１の実施形態と異なる。なお、以降では、第１の実施形態と同様の機能を有する箇所、同様の処理を行う箇所、および同様の処理を行うステップについては、第１の実施形態と同一の符号を用いて、その説明を省略する。
【０１４０】
＜機能構成＞
まず、第２の実施形態に係る識別処理装置１１の機能構成について説明する。
図１２は、第２の実施形態に係る識別処理装置１１の一例の機能ブロック図である。
【０１４１】
第２の実施形態に係る識別処理装置１１は、データ識別部２１５が所定の閾値として２種類の閾値（第１の閾値と第２の閾値）を有しており、データ識別部２１５およびパラメータ設定部２１１の機能が第１の実施形態と異なる。第１の閾値は、識別対象データが正常データか異常データかを識別するための閾値である。第２の閾値は、正常データと識別された識別対象データを学習データとして用いても良いか否かを識別するための閾値であり、第１の閾値よりも大きい値である。
【０１４２】
データ識別部２１５は、例えばＣＰＵ１０１等により実現され、まず、第１の閾値に対する類似度算出部１１４により算出された識別対象データと復元データの類似度の値から、識別対象データが正常データか異常データかを識別する。そして次に、第１の閾値よりも類似度合いが高いことを示す第２の閾値に対する類似度の値から、識別対象データを学習データとして用いても良いか否かを識別する。例えば、類似度の値が第１の閾値および第２の閾値よりも上回っていた場合に、データ識別部２１５は、識別対象データを正常データであると識別した上で、識別対象データを学習データとして使用可能な学習データ候補として識別し、外部記憶装置または識別処理装置１１のＨＤＤ１０２等に保存する。
【０１４３】
なお、第１の閾値および第２の閾値は、ユーザが任意で設定してもよいし、識別処理装置１１によって自動で設定されてもよい。自動設定の方法は、第１の閾値については第１の実施形態の方法と同様である。第２の閾値については、例えば、識別処理装置１１が複数の学習データまたは学習データとは別の複数の正常データ（設定用データ）に対して、上述の次元圧縮、次元復元および類似度算出を行い、得られた類似度の値の平均値を、第２の閾値として設定する。なお、ユーザが任意で設定する場合に、識別処理装置１１が、上述の自動設定の手法と同様の手法により求めた値を、各閾値の推奨設定値としてユーザに報知する構成にしてもよい。
【０１４４】
パラメータ設定部２１１は、例えばＣＰＵ１０１等により実現され、所定の条件を満たした場合に、再び学習データを用いて学習を行い、次元圧縮部１１２の次元圧縮パラメータおよび次元復元部１１３の次元復元パラメータを設定する。再学習のとき、パラメータ設定部２１１は、学習データ候補と識別された画像データを外部装置または識別処理装置１１のＨＤＤ１０２等から取得し、学習データに加えて、学習に使用する。
なお、所定の条件は、例えば、学習データ候補の数が一定数以上になったときである。所定の条件は他にも例えば、ユーザが入力装置１２を用いて識別処理装置１１に再学習を命令したときや、データ識別部２１５が学習データ候補と識別したとき、所定の時刻になったとき等でもよい。
【０１４５】
＜＜識別処理＞＞
次に、図１３を用いて、識別処理装置１１が、識別対象データの識別を行う識別処理について説明する。図１３は、第２の実施形態に係る識別処理の一例のフローチャートである。
【０１４６】
図１３に示すように、第２の実施形態に係る識別処理のステップ２１〜ステップ２５は、第１の実施形態に係る識別処理のステップＳ１１〜Ｓ１５と同様であり、ステップＳ２６およびステップＳ２７が、第１の実施形態に係る識別処理と異なる。ステップＳ２１〜ステップＳ２５については説明を省略し、ステップＳ２６およびステップＳ２７について説明する。
【０１４７】
ステップＳ２６において、データ識別部２１５は、類似度算出部１１４から類似度の値を取得し、データ識別部２１５が保持する第１の閾値に対する類似度の値から、識別対象データが正常データであるか否かを識別する。データ識別部２１５は、類似度の値が第１の閾値以上のとき（ステップＳ２６にてＹＥＳ）に、識別対象データが正常データだと識別した上で、次のステップＳ２７の処理を実行する。また、データ識別部２１５は、類似度の値が第１の閾値未満のとき（ステップＳ２６にてＮＯ）に、識別対象データが異常データだと識別して、その結果を出力する（ステップＳ２８）。
【０１４８】
次に、ステップＳ２７において、データ識別部２１５は、データ識別部２１５が保持する第２の閾値に対する識別対象データの類似度の値から、識別対象データが学習データとして用いても良いか否か（すなわち、学習データ候補か否か）を識別する。データ識別部２１５は、類似度の値が第２の閾値以上のとき（ステップＳ２７にてＹＥＳ）に、識別対象データを学習データとして用いるのに適している正常データ（すなわち、正常データ、かつ、学習データ候補）だと識別して、その結果を出力する（ステップＳ２９）。また、データ識別部２１５は、類似度の値が第２の閾値未満のとき（ステップＳ２７にてＮＯ）に、識別対象データを学習データとして用いるには適さない正常データだと識別して、その結果を出力する（ステップＳ３０）。
【０１４９】
そして、パラメータ設定部２１１は、所定の条件を満たした場合に、学習データ候補を学習データに加えて、再び学習を行う。
【０１５０】
＜＜実施形態の効果＞＞
したがって、第２の実施形態は、第１の実施形態による効果に加え、学習データの数が識別処理を開始した初期状態では少ない場合でも、識別処理を行っていくうちに学習データの数が増え、識別の精度を向上することができる効果も奏する。
【０１５１】
以上、本発明の具体的な実施形態について説明したが、上述した第１、第２の実施形態は本発明の一適用例を示したものである。本発明は、上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で様々な変形や変更を加えて具体化することができる。
【０１５２】
例えば、第１、第２の実施形態では、類似度算出部１１４は、データの類似度合いを示す指標として、値が大きいほど識別対象データと復元データがより類似していることを示す類似度を算出している。
これとは逆に、類似度算出部１１４は、類似度の代わりに非類似度を算出してもよい。即ち、類似度算出部１１４は、データの類似度合いを示す指標として、値が小さいほど識別対象データと復元データがより類似していることを示す非類似度を算出してもよい。この場合、データ識別部１１５は、非類似度の値が所定の閾値よりも小さかった場合に、識別対象データを正常データであると識別する。
【０１５３】
（補足説明）
上述した第１および第２の実施形態において説明した識別処理装置１１の機能的な構成要素は、例えば、図２のＣＰＵ１０１がＲＡＭ１０３をワークエリアとして利用して、ＨＤＤ１０２やＲＯＭ１０４に格納されたプログラムを実行することにより実現することができる。この場合、上記プログラムは、識別処理装置１１にインストール可能な形式または実行可能な形式のファイルで、ＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ、ＢＤ、ＵＳＢメモリなどのコンピュータで読み取り可能な記録媒体に記録して提供される。また、上記プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由で識別処理装置１１にダウンロードさせることにより提供するように構成してもよい。さらに、上記プログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、上記プログラムを、例えば識別処理装置１１内のＲＯＭ１０４などに予め組み込んで提供するようにしてもよい。
【０１５４】
また、上述した第１および第２の実施形態において説明した識別処理装置１１の機能的な構成要素は、その一部または全部を、例えばＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡなどの専用のハードウェアを用いて実現することもできる。また、上述した第１および第２の実施形態で説明した識別処理装置１１の機能的な構成要素は、その一部または全部を、例えば、ネットワーク上に接続されている情報処理装置など、識別処理装置１１とは別の装置に設けるようにしてもよい。
【０１５５】
［本発明の構成、作用、効果のまとめ］
第一の態様に係る本発明は、所定の次元数で表された識別対象データが正常データか否かを半教師あり異常検知手法を利用して識別する識別処理装置１１であって、識別対象データを取得するデータ取得手段（データ取得部１１０）と、識別対象データの特徴を抽出して、識別対象データから所定の次元数よりも少ない特定の次元数で表される圧縮データを生成する次元圧縮手段（次元圧縮部１１２）と、圧縮データの特徴を分析して、圧縮データから所定の次元数と同じ次元数で表される復元データを生成する次元復元手段（次元復元部１１３）と、識別対象データと復元データのデータ構造に基づいて識別対象データと復元データとの類似度又は非類似度を算出する類似度算出手段（類似度算出部１１４）と、所定の閾値に対する類似度又は非類似度に基づいて、識別対象データが正常データか否かを識別するデータ識別手段（データ識別部１１５）と、を備えることを特徴とする。
本態様によれば、半教師あり異常検知手法を利用して、異常データを学習に用いない場合であっても、高い精度で識別対象データが正常か否かを識別することができる。
【０１５６】
第二の態様に係る識別処理装置１１において、データ識別手段（データ識別部１１５）は、類似度の値が所定の閾値以上のとき、識別対象データが正常データであると識別することを特徴とする。
識別対象データと復元データの類似度合いを示す指標には、値が大きいほど識別対象データと復元データがより類似していることを示す類似度を用いることができる。
【０１５７】
第三の態様に係る識別処理装置１１において、次元圧縮手段（次元圧縮部１１２）は、次元圧縮パラメータを用いて特徴を抽出することにより識別対象データの次元圧縮を行う手段であり、次元復元手段（次元復元部１１３）は、次元復元パラメータを用いて特徴を分析することにより圧縮データの次元復元を行う手段であり、予め正常であると識別済みの学習データのみを用いた半教師あり学習により、次元圧縮パラメータおよび次元復元パラメータの少なくとも１つを設定するパラメータ設定手段（パラメータ設定部１１１）を有することを特徴とする。
ここで、パラメータには、多層ニューラルネットワークの一種であるＳＡＥ（Stacked Auto-Encoders）におけるネットワーク係数や、主成分分析の手法における主成分に対応する固有ベクトルを用いることができる。
学習によりパラメータを設定された次元圧縮手段と次元復元手段によって識別対象データの特徴を抽出した上で、類似度算出手段によって抽出前後のデータ構造を比較するため、特徴同士の比較が容易になる。よって、半教師あり異常検知手法を利用して、異常データを学習に用いない場合であっても、高い精度で識別することができる。
【０１５８】
第四の態様に係る識別処理装置１１において、類似度算出手段（類似度算出部１１４）は、Ｓｔｒｕｃｔｕｒａｌ  Ｓｉｍｉｌａｒｉｔｙ  Ｉｎｄｅｘを用いて類似度を算出することを特徴とする。
第五の態様に係る識別処理装置１１において、類似度算出手段（類似度算出部１１４）は、Ｆｅａｔｕｒｅ  Ｓｉｍｉｌａｒｉｔｙ  Ｉｎｄｅｘを用いて類似度を算出することを特徴とする。
類似度算出手段は、識別対象データと復元データとのデータ構造を比較して、類似度を算出する。本態様におけるデータ構造の比較とは、例えば、画像データの画素値の平均や分散、共分散等からデータの構造的な特徴を比較することである。本実施態様において類似度算出手段は、例えば、構造類似度算出方法の一種であるＳＳＩＭやＦＳＩＭ等の手法を用いてデータ構造の類似度を算出することができる。
【０１５９】
第六の態様に係る識別処理装置１１において、データ識別手段（データ識別部１１５）は、類似度の値が第１の閾値よりも大きい場合に識別対象データを正常データと識別し、小さい場合に異常データと識別するとともに、類似度の値が第１の閾値よりも大きい値である第２の閾値よりも大きい場合に、識別対象データを学習データとして用いることが可能だと識別することを特徴とする。
学習データの数が識別処理を開始した初期状態では少ない場合でも、識別処理を行っていくうちに学習データの数が増え、識別の精度を向上することができる。
【０１６０】
第七の態様に係る識別処理装置１１において、データ識別手段（データ識別部１１５）は、予め正常であると識別済みの複数のデータに対して、次元圧縮手段（次元圧縮部１１２）による次元圧縮、次元復元手段（次元復元部１１３）による次元復元、および類似度算出手段（類似度算出部１１４）による類似度算出を行い、該複数のデータから算出された類似度の値のうち、最も小さい値を、所定の閾値とすることを特徴とする。
正常データに基づいた所定の閾値が設定されるので、識別の精度を向上することができる。
【０１６１】
第八の態様に係る識別処理装置１１において、データ識別手段（データ識別部１１５）は、非類似度の値が所定の閾値以下のとき、識別対象データが正常データであると識別することを特徴とする。
識別対象データと復元データの類似度合いを示す指標には、値が小さいほど識別対象データと復元データがより類似していることを示す非類似度を用いることができる。
【０１６２】
第九の態様は、第一〜第八の態様何れかに係る識別処理装置１１を備えた識別システム１０であって、被写体を撮像する撮像手段（撮像装置１４）を備え、データ取得手段（データ取得部１１０）は、撮像手段から出力された撮像画像データを識別対象データとして取得することを特徴とする。
識別処理装置へ識別対象データを出力する手段には種々の装置を採用できるが、特に本態様では、撮像により画像データ等の多次元データを生成する撮像手段を採用する。撮像手段は、例えば、撮像動作により多次元データとしての識別対象物の輝度画像を得るカメラや識別対象物の複数の分光情報を取得する分光カメラ等とすることができる。
【符号の説明】
【０１６３】
１０  識別システム、１１  識別処理装置、１２  入力装置、１３  表示装置、１４  撮像装置、１０１  ＣＰＵ、１０２  ＨＤＤ、１０３  ＲＡＭ、１０４  ＲＯＭ、１０５  外部Ｉ／Ｆ、１１０  データ取得部、１１１、２１１  パラメータ設定部、１１２  次元圧縮部、１１３  次元復元部、１１４  類似度算出部、１１５、２１５  データ識別部、１０００  識別対象データ、２０００  学習データ
【先行技術文献】
【特許文献】
【０１６４】
【特許文献１】特開２０１４−２６４５５公報
【図１】
2017097718.tif 000020
【図２】
2017097718.tif 000021
【図３】
2017097718.tif 000022
【図４】
2017097718.tif 000023
【図５】
2017097718.tif 000024
【図６】
2017097718.tif 000025
【図７】
2017097718.tif 000026
【図８】
2017097718.tif 000027
【図９】
2017097718.tif 000028
【図１０】
2017097718.tif 000029
【図１１】
2017097718.tif 000030
【図１２】
2017097718.tif 000031
【図１３】
2017097718.tif 000032