(57)【要約】      （修正有）【課題】自己符号化器に対して学習を行う際、標本データの母集団に統計的な偏りが生じる場合であっても、学習速度及び判定精度の低下を抑制可能なデータ判定装置、方法及びプログラムを提供する。【解決手段】データ判定装置は、制御部２２において、再構成誤差をデータ母集団Ｄ４の標本データ毎に求め、標本データ毎の再構成誤差を用いてデータ母集団に対する学習誤差ＬＥを算出する学習誤差算出部６２と、算出された学習誤差が小さくなるように学習パラメータ群３４を更新するパラメータ更新部６４を備える。学習誤差算出部は、データ母集団に応じて定められた標本データ毎の乗数を用いて再構成誤差に重み付けして学習誤差を算出する。【選択図】図３
2020035042.tif 000002
【特許請求の範囲】
【請求項１】
複数の変数からなる多変量データを取得してデータ母集団を形成するデータ取得部と、
多変量データの入力に対して、学習パラメータ群により定められる次元圧縮処理及び次元復元処理を順次実行することで、入力の次元数に等しい多変量データを出力する自己符号化器と、
前記自己符号化器における多変量データの入出力差の大きさを示す再構成誤差を前記データ母集団の標本データ毎に求め、標本データ毎の前記再構成誤差を用いて前記データ母集団に対する学習誤差を算出する学習誤差算出部と、
前記学習誤差算出部により算出された前記学習誤差が小さくなるように前記学習パラメータ群を更新するパラメータ更新部と、
を備え、
前記学習誤差算出部は、前記データ母集団に応じて定められた標本データ毎の乗数を用いて前記再構成誤差に重み付けして前記学習誤差を算出することを特徴とするデータ判定装置。
【請求項２】
請求項１に記載のデータ判定装置において、
前記学習誤差算出部は、前記再構成誤差が閾値よりも大きい標本データの乗数を、前記データ母集団全体における乗数の平均値よりも小さくなるように定め、前記学習誤差を算出することを特徴とするデータ判定装置。
【請求項３】
請求項２に記載のデータ判定装置において、
前記学習誤差算出部は、前記データ母集団における前記再構成誤差の統計量から前記閾値を設定し、前記学習誤差を算出することを特徴とするデータ判定装置。
【請求項４】
請求項２又は３に記載のデータ判定装置において、
前記学習誤差算出部は、前記再構成誤差が前記閾値よりも大きい標本データの乗数をゼロ値に定め、前記再構成誤差が前記閾値以下である標本データの乗数をゼロ値よりも大きい一律の正値に定めることを特徴とするデータ判定装置。
【請求項５】
請求項１〜３のいずれか１項に記載のデータ判定装置において、
前記学習誤差算出部は、前記再構成誤差が大きくなるにつれて乗数が小さくなるルールに従って標本データ毎の乗数を定め、前記学習誤差を算出することを特徴とするデータ判定装置。
【請求項６】
請求項１〜５のいずれか１項に記載のデータ判定装置において、
前記学習誤差算出部は、前記多変量データの提供元又は提供環境を示すメタデータに応じて、標本データ毎の乗数の設定方法を変更することを特徴とするデータ判定装置。
【請求項７】
請求項１〜６のいずれか１項に記載のデータ判定装置において、
前記データ取得部による取得、前記学習誤差算出部による算出、及び前記パラメータ更新部による更新を順次繰り返すミニバッチ学習を行うことを特徴とするデータ判定装置。
【請求項８】
複数の変数からなる多変量データを取得してデータ母集団を形成する取得ステップと、
多変量データの入力に対して、学習パラメータ群により定められる次元圧縮処理及び次元復元処理を順次実行することで、入力の次元数に等しい多変量データを出力する処理ステップと、
前記処理ステップにおける多変量データの入出力差の大きさを示す再構成誤差を前記データ母集団の標本データ毎に求め、標本データ毎の前記再構成誤差を用いて前記データ母集団に対する学習誤差を算出する算出ステップと、
算出された前記学習誤差が小さくなるように前記学習パラメータ群を更新する更新ステップと、
を１つ又は複数のコンピュータが実行し、
前記算出ステップでは、前記データ母集団に応じて定められた標本データ毎の乗数を用いて前記再構成誤差に重み付けして前記学習誤差を算出することを特徴とするデータ判定方法。
【請求項９】
複数の変数からなる多変量データを取得してデータ母集団を形成する取得ステップと、
多変量データの入力に対して、学習パラメータ群により定められる次元圧縮処理及び次元復元処理を順次実行することで、入力の次元数に等しい多変量データを出力する処理ステップと、
前記処理ステップにおける多変量データの入出力差の大きさを示す再構成誤差を前記データ母集団の標本データ毎に求め、標本データ毎の前記再構成誤差を用いて前記データ母集団に対する学習誤差を算出する算出ステップと、
算出された前記学習誤差が小さくなるように前記学習パラメータ群を更新する更新ステップと、
を１つ又は複数のコンピュータに実行させ、
前記算出ステップでは、前記データ母集団に応じて定められた標本データ毎の乗数を用いて前記再構成誤差を重み付けして前記学習誤差を算出することを特徴とするデータ判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己符号化器を用いて多変量データを判定するデータ判定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近時、自己符号化器（ＡＥ：Autoencoder）を用いて、多変量データが正常値であるか正常値以外（以下、「外れ値」ともいう）であるかを判定するデータ判定技術が注目されている（例えば、非特許文献１を参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】”Outlier Detection with Autoencoder Ensembles”, Junghui Chen et.al., Proceedings of the 2017 SIAM International Conference on Data Mining
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、自己符号化器に対して学習を行う際、正常値／外れ値のラベルが予め付与されない多変量データ、いわゆる「解答ラベルなし」の学習データが用いられる。この類のデータの母集団は、学習データの出所やサンプリング結果によって分布（例えば、正常値の存在範囲、正常値と外れ値の存在割合など）が異なることが想定される。
【０００５】
このため、学習に用いる標本データに統計的な偏りが生じていた場合、その偏った標本データ（結果的に、正常値であるか外れ値であるかを問わない）の影響を受け、学習の収束速度の低下、あるいは過学習による判定精度の低下が起こる可能性がある。また、標本データに正常値／外れ値のラベルが付与されていないので、標本データの抽出時に上記した存在割合を意図的に調整することは難しい。
【０００６】
本発明の目的は、自己符号化器に対して学習を行う際、標本データの母集団に統計的な偏りが生じる場合であっても、学習速度及び判定精度の低下を抑制可能なデータ判定装置、方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
第１の本発明に係るデータ判定装置は、複数の変数からなる多変量データを取得してデータ母集団を形成するデータ取得部と、多変量データの入力に対して、学習パラメータ群により定められる次元圧縮処理及び次元復元処理を順次実行することで、入力の次元数に等しい多変量データを出力する自己符号化器と、前記自己符号化器における多変量データの入出力差の大きさを示す再構成誤差を前記データ母集団の標本データ毎に求め、標本データ毎の前記再構成誤差を用いて前記データ母集団に対する学習誤差を算出する学習誤差算出部と、前記学習誤差算出部により算出された前記学習誤差が小さくなるように前記学習パラメータ群を更新するパラメータ更新部と、を備え、前記学習誤差算出部は、前記データ母集団に応じて定められた標本データ毎の乗数を用いて前記再構成誤差に重み付けして前記学習誤差を算出する。
【０００８】
また、前記学習誤差算出部は、前記再構成誤差が閾値よりも大きい標本データの乗数を、前記データ母集団全体における乗数の平均値よりも小さくなるように定め、前記学習誤差を算出してもよい。
【０００９】
また、前記学習誤差算出部は、前記データ母集団における前記再構成誤差の統計量から前記閾値を設定し、前記学習誤差を算出してもよい。
【００１０】
また、前記学習誤差算出部は、前記再構成誤差が前記閾値よりも大きい標本データの乗数をゼロ値に定め、前記再構成誤差が前記閾値以下である標本データの乗数をゼロ値よりも大きい一律の正値に定めてもよい。
【００１１】
また、前記学習誤差算出部は、前記再構成誤差が大きくなるにつれて乗数が小さくなるルールに従って標本データ毎の乗数を定め、前記学習誤差を算出してもよい。
【００１２】
また、前記学習誤差算出部は、前記多変量データの提供元又は提供環境を示すメタデータに応じて、標本データ毎の乗数の設定方法を変更してもよい。
【００１３】
また、前記データ取得部による取得、前記学習誤差算出部による算出、及び前記パラメータ更新部による更新を順次繰り返すミニバッチ学習を行ってもよい。
【００１４】
第２の本発明に係るデータ判定方法は、複数の変数からなる多変量データを取得してデータ母集団を形成する取得ステップと、多変量データの入力に対して、学習パラメータ群により定められる次元圧縮処理及び次元復元処理を順次実行することで、入力の次元数に等しい多変量データを出力する処理ステップと、前記処理ステップにおける多変量データの入出力差の大きさを示す再構成誤差を前記データ母集団の標本データ毎に求め、標本データ毎の前記再構成誤差を用いて前記データ母集団に対する学習誤差を算出する算出ステップと、算出された前記学習誤差が小さくなるように前記学習パラメータ群を更新する更新ステップと、を１つ又は複数のコンピュータが実行し、前記算出ステップでは、前記データ母集団に応じて定められた標本データ毎の乗数を用いて前記再構成誤差に重み付けして前記学習誤差を算出する。
【００１５】
第３の本発明に係るデータ判定プログラムは、複数の変数からなる多変量データを取得してデータ母集団を形成する取得ステップと、多変量データの入力に対して、学習パラメータ群により定められる次元圧縮処理及び次元復元処理を順次実行することで、入力の次元数に等しい多変量データを出力する処理ステップと、前記処理ステップにおける多変量データの入出力差の大きさを示す再構成誤差を前記データ母集団の標本データ毎に求め、標本データ毎の前記再構成誤差を用いて前記データ母集団に対する学習誤差を算出する算出ステップと、算出された前記学習誤差が小さくなるように前記学習パラメータ群を更新する更新ステップと、を１つ又は複数のコンピュータに実行させ、前記算出ステップでは、前記データ母集団に応じて定められた標本データ毎の乗数を用いて前記再構成誤差を重み付けして前記学習誤差を算出する。
【発明の効果】
【００１６】
本発明によれば、自己符号化器に対して学習を行う際、標本データの母集団に統計的な偏りが生じる場合であっても、学習速度及び判定精度の低下を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態におけるデータ判定装置が組み込まれたデータ判定システムの全体構成図である。
【図２】図１に示す制御部の判定処理に関わる機能ブロック図である。
【図３】図１に示す制御部の学習処理に関わる機能ブロック図である。
【図４】図３に示す学習処理部の動作説明に供されるフローチャートである。
【図５】乗数の設定方法の一例を示す図である。
【図６】設定方法の別の例を示す図である。
【図７】自己符号化器の学習過程を示す模式図である。図７（ａ）は学習の終了時における理想的な判別状態、図７（ｂ）は比較例における恒等変換曲線の更新結果、図７（ｃ）は実施例における恒等変換曲線の更新結果をそれぞれ示す。
【図８】学習済みの自己符号化器による判定処理の結果を示す図である。図８（ａ）は図７（ｂ）に示す比較例における散布図であり、図８（ｂ）は図７（ｃ）に示す実施例における散布図である。
【発明を実施するための形態】
【００１８】
以下、本発明におけるデータ判定装置について、データ判定方法及びデータ判定プログラムとの関係において好適な実施形態を挙げ、添付の図面を参照しながら説明する。
【００１９】
［全体構成］
図１は、本発明の一実施形態におけるデータ判定装置１２が組み込まれたデータ判定システム１０の全体構成図である。データ判定システム１０は、走行中の四輪自動車（以下、車両１６という）から収集したプローブデータに対して所望の処理を実行し、車両１６の状態を判定又は診断するサービスを提供可能に構成されるシステムである。
【００２０】
このデータ判定システム１０は、具体的には、データ判定装置１２と、ストレージ装置１４と、車両１６と、ディーラー端末１８と、を含んで構成される。データ判定装置１２は、プローブデータの処理に関する統括的な制御を行うコンピュータであり、具体的には、通信部２０と、制御部２２と、記憶部２４と、を含んで構成される。
【００２１】
通信部２０は、外部装置に対して電気信号を送受信するインターフェースである。制御部２２は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）を含む処理演算装置によって構成される。制御部２２は、記憶部２４に格納されたプログラムを読み出して実行することで、データベース処理部２６、自己符号化器２８、判定処理部３０、及び学習処理部３２として機能する。
【００２２】
記憶部２４は、非一過性であり、かつ、コンピュータ読み取り可能な記憶媒体で構成されている。ここで、コンピュータ読み取り可能な記憶媒体は、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。本図の例では、記憶部２４には、後述する学習パラメータ群３４が格納されている。
【００２３】
ストレージ装置１４は、プローブデータの判定処理に関わる複数種類のデータベースを構築可能な外部記憶装置であり、データ判定装置１２との間でデータのやり取りを行う。具体的には、ストレージ装置１４には、車両情報に関するデータベース（以下、車両情報ＤＢ３６）及び判定結果に関するデータベース（以下、判定結果ＤＢ３８）が構築されている。
【００２４】
車両１６は、ネットワークＮＷ及び中継機器４０を介して、データ判定装置１２と双方向に通信可能に接続されている。これにより、車両１６は、自車に搭載された各種センサから取得可能なプローブデータをデータ判定装置１２に提供可能である。プローブデータには、例えば、時刻、位置（緯度／経度）、速度、加速度、ヨーレート、方位、勾配を含む走行状態や、車載機器の作動状態、操作デバイスの操作状態を示すデータが含まれる。
【００２５】
ディーラー端末１８は、ネットワークＮＷ及び中継機器４２を介して、データ判定装置１２と双方向に通信可能に接続されている。これにより、ディーラー端末１８は、車両１６の状態に関する判定結果をデータ判定装置１２から取得可能である。
【００２６】
＜概略的な動作＞
この実施形態におけるデータ判定システム１０は、以上のように構成される。続いて、データ判定システム１０の概略的な動作について、図１を参照しながら説明する。
【００２７】
（１）プローブデータの収集
先ず、車両１６は、自車に搭載された各種センサからデータを逐次取得し、蓄積されたプローブデータをデータ判定装置１２に向けて定期的又は不定期に送信する。そうすると、データ判定装置１２は、中継機器４０、ネットワークＮＷ及び通信部２０を介して、車両１６からのプローブデータを取得する。ストレージ装置１４は、データ判定装置１２からプローブデータを受け取り、車両情報ＤＢ３６のデータを追加・更新する。
【００２８】
（２）プローブデータの判定
次いで、図示しないディーラーは、ディーラー端末１８を用いて、販売店に持ち込まれた車両１６の状態に関する判定・診断を要求する操作を行う。そうすると、データ判定装置１２は、ディーラー端末１８からの要求指令を受け付け、車両情報ＤＢ３６の中から判定対象となるデータ（以下、判定対象データＤ１という）を読み出し、判定対象データＤ１に対して所望の判定処理を行う。
【００２９】
これにより、データ判定装置１２（具体的には、判定処理部３０）は、例えば、データの提供元（車両１６）に関する識別情報、正常値／外れ値の属否、外れ値であると疑われる変数の種類、を含む判定結果データＤ２を出力する。ストレージ装置１４は、データ判定装置１２から判定結果データＤ２を受け取り、判定結果ＤＢ３８のデータを追加・更新する。
【００３０】
（３）判定結果の提供
次いで、データ判定装置１２は、上記の判定処理により得られた判定結果データＤ２をディーラー端末１８に向けて送信する。そうすると、ディーラー端末１８は、通信部２０、ネットワークＮＷ及び中継機器４２を介して、データ判定装置１２からの判定結果データＤ２を取得する。ディーラーは、ディーラー端末１８により表示された判定結果を確認することで、車両１６の状態を把握することができる。
【００３１】
あるいは、ストレージ装置１４は、データ判定装置１２から判定結果データＤ２を受け取り、車両情報ＤＢ３６に蓄積されたデータの中から「外れ値」を含むプローブデータを削除するデータクレンジング処理を行う。この処理を繰り返すことで、より質の高い学習データＤ３を得ることができる。
【００３２】
［制御部２２の説明］
＜判定処理の詳細＞
図２は、図１に示す制御部２２の判定処理に関わる機能ブロック図である。本図では、自己符号化器２８及び判定処理部３０の具体的構成を示している。
【００３３】
自己符号化器２８は、多変量データの入力に対して、次元圧縮処理及び次元復元処理を順次実行することで、入力の次元数に等しい多変量データを出力する。ここで、「多変量データ」とは、複数の変数から構成されるデータを意味し、具体的な例として、データベース処理部２６を通じて車両情報ＤＢ３６から取得されたプローブデータ（ここでは、判定対象データＤ１）が挙げられる。
【００３４】
自己符号化器２８は、様々な人工知能技術を用いて構築される学習器である。本図の例では、自己符号化器２８は、入力層５０、中間層５２及び出力層５４からなる階層型ニューラルネットワークで構成される。例えば、３層構成の場合、入力層５０及び中間層５２が次元圧縮機能を担い、中間層５２及び出力層５４が次元復元機能を担う。
【００３５】
自己符号化器２８の演算規則は、学習パラメータの集合体である学習パラメータ群３４の値によって定められる。学習パラメータ群３４は、例えば、ニューロンの活性化関数を記述する係数、シナプス結合の重み付け係数、中間層５２の数、各層を構成するニューロンの個数を含んでもよい。学習パラメータ群３４は、学習の終了によって各値が確定された状態で記憶部２４（図１）に格納され、必要に応じて適時に読み出される。
【００３６】
判定処理部３０は、自己符号化器２８の入力値及び出力値に基づいて、判定対象データＤ１の提供元である車両１６の状態を判定する。具体的には、判定処理部３０は、誤差指標算出部５６と、状態判定部５８と、を備える。
【００３７】
誤差指標算出部５６は、判定対象データＤ１の入出力誤差を示す指標（以下、誤差指標という）を算出する。具体的には、誤差指標算出部５６は、誤差指標として、入出力差分（入力値と出力値の差分）、変数誤差（入出力差分の大きさ）及び再構成誤差（変数誤差の平均値）を算出する。ここで、再構成誤差δｉは、入力値セットである入力ベクトル｛ｘｉｊ｝及び出力値セットである出力ベクトル｛ｘ’ｉｊ｝を用いて、以下の式（１）で求められる。
【００３８】
【数１】
2020035042.tif 000003
【００３９】
ここで、「ｉ」は多変量データを識別するための添字であり、「ｊ」は多変量データの変数を識別するための添字であり、「Ｍ」は多変量データの次元数である。また、関数ｆ（・）は、入出力差分（ｘｉｊ−ｘ’ｉｊ）を引数とする変数誤差関数であり、ｆ（０）＝０を満たす偶関数（例えば、絶対値を返すＬ１ノルム関数、２乗値を返すＬ２ノルム関数）である。つまり、式（１）から理解されるように、再構成誤差δｉは、変数毎に求めた変数誤差の平均値に相当する。
【００４０】
状態判定部５８は、誤差指標算出部５６により算出された誤差指標に基づいて、判定対象データＤ１が示す車両１６の状態を判定する。例えば、状態判定部５８は、再構成誤差が所定値よりも小さい場合に「判定対象データＤ１が正常値」（つまり、車両１６が正常状態）であると判定し、所定値以上である場合に「判定対象データＤ１が外れ値」（つまり、車両１６が異常状態又は異常疑い）であると判定する。
【００４１】
また、状態判定部５８は、判定対象データＤ１が外れ値である場合、さらに変数誤差を用いて原因分析を行ってもよい。具体的には、状態判定部５８は、変数誤差が有意に大きい１つ又は２つ以上の変数を抽出し、当該変数との関連性が高い構成又は機能を特定してもよい。あるいは、状態判定部５８は、判定対象データＤ１の時系列をそれぞれ判定し、判定結果の時間遷移を求めることで、車両１６の異常が検出された時点を特定し、あるいは異常の予兆を検知することができる。
【００４２】
＜学習処理の詳細＞
図３は、図１に示す制御部２２の学習処理に関わる機能ブロック図である。本図では、学習処理部３２及び自己符号化器２８の具体的構成を示している。なお、自己符号化器２８に関しては、図２で既に述べたので、その説明を省略する。
【００４３】
学習処理部３２は、いわゆる「教師なし学習」に使用される多変量データの集合体（以下、学習データＤ３）を用いて、自己符号化器２８に対する学習処理を実行する。学習データＤ３は、データベース処理部２６を通じて車両情報ＤＢ３６から読み出されたプローブデータである。このプローブデータは、車両１６から実際に収集したデータであってもよいし、実際のデータに基づいて作成した仮想的なデータであってもよい。
【００４４】
学習処理部３２は、学習データＤ３の中から一部のデータ（以下、データ母集団Ｄ４という）を抽出し、当該データ母集団Ｄ４を処理単位として学習パラメータ群３４を更新する「ミニバッチ学習」を行う。あるいは、学習処理部３２は、学習データＤ３のうちの全部を処理単位として学習パラメータ群３４を更新する「バッチ学習」を行ってもよい。
【００４５】
学習処理部３２は、データ取得部６０と、学習誤差算出部６２と、パラメータ更新部６４と、収束判断部６６と、を備える。以下、学習処理部３２を構成する各部の動作について、図４のフローチャートを参照しながら説明する。
【００４６】
図４のステップＳ１において、パラメータ更新部６４は、学習パラメータ群３４の初期値を付与する。ここで、パラメータ更新部６４は、活性化関数を記述する係数、シナプス結合の重み付け係数を含む「可変パラメータ」の初期値のみならず、学習モデルのアーキテクチャを特定するための「固定パラメータ」（いわゆるハイパーパラメータ）の値を付与する。
【００４７】
ステップＳ２において、データ取得部６０は、予め準備された学習データＤ３の中から複数の多変量データを取得する。具体的には、データ取得部６０は、Ｎｆｕｌｌ個の多変量データからなる学習データＤ３の中から、所定の順番で又は無作為に、Ｎ個（１＜Ｎ≦Ｎｆｕｌｌ）の多変量データを抽出する。これにより、次元数がＭ、標本数がＮであるデータ母集団Ｄ４が形成される。Ｎ＝Ｎｆｕｌｌの場合は「バッチ学習」に相当し、１＜Ｎ＜Ｎｆｕｌｌの場合は「ミニバッチ学習」に相当する。なお、Ｎ＝１である「オンライン学習」を採用しない点に留意する。
【００４８】
ステップＳ３において、学習誤差算出部６２は、ステップＳ２で取得されたデータ母集団Ｄ４の標本データ毎に再構成誤差を算出する。具体的には、学習誤差算出部６２は、上記した式（１）を用いて、Ｎ個の再構成誤差｛δｉ｝（ｉ＝１，２，・・・，Ｎ）を算出する。なお、変数誤差関数ｆ（・）は、判定処理に用いる関数ｆ（・）と同一の又は異なる関数である。
【００４９】
ステップＳ４において、学習誤差算出部６２は、ステップＳ３で算出されたＮ個の再構成誤差を用いて、データ母集団Ｄ４に応じた標本データ毎の乗数を定める。この乗数は、後述する学習誤差ＬＥに対する影響度を示すゼロ又は正値のパラメータであり、値が大きいほど影響度が高くなる一方、値が小さいほど影響度が低くなる。ここでは、学習誤差算出部６２は、再構成誤差が閾値よりも大きい標本データの乗数（ω）を、データ母集団Ｄ４全体における乗数の平均値（ωａｖｅ）よりも小さくなるように定める。
【００５０】
図５は、乗数の設定方法の一例を示す図である。グラフの横軸は再構成誤差δ（≧０）を示すとともに、グラフの縦軸は乗数ω（≧０）を示す。本図から理解されるように、この設定に関するルールは、２値（０又は１）をとる階段関数（以下、特性曲線７０）によって記述される。この特性曲線７０によれば、各々の乗数は、０≦δ＜δｔｈの場合には一律の正値（例えば、ω＝１）に定められ、δ≧δｔｈの場合には乗数の最小値（例えば、ゼロ値）に定められる。この「ゼロ値」とは、完全なゼロのみならず、上記した正値（＝１）よりも十分に小さい微小値を含む値である。
【００５１】
閾値δｔｈは、固定値又は可変値のいずれであってもよい。可変値の一例として、データ母集団Ｄ４におけるＮ個の再構成誤差の統計量が挙げられる。この統計量は、具体的には、平均値、中央値、最頻値であってもよいし、上位１０％，２０％，３０％に相当する再構成誤差の値であってもよい。
【００５２】
ところで、乗数の設定方法は、再構成誤差が大きい標本データの乗数をデータ母集団Ｄ４の中で相対的に小さくすることが可能であれば、図５に示す例（特性曲線７０）に限られない。具体的には、ルールを記述する関数形状を変更してもよいし、テーブルデータを用いてルールを記述してもよい。あるいは、再構成誤差の絶対値と乗数との対応関係を記述してもよいし、再構成誤差の相対値と乗数との対応関係を記述してもよい。
【００５３】
図６（ａ）に示す特性曲線７１〜７３は、特性曲線７０と同様に、δ＝０の場合にω＝１であり、δ≧δｔｈの場合にω＝０である。ところが、特性曲線７１〜７３は、０≦δ＜δｔｈの範囲において特性曲線７０と異なっている。具体的には、特性曲線７１ではδに比例してωが減少し、特性曲線７２ではδの２乗に比例してωが減少する。つまり、特性曲線７１，７２のように、再構成誤差（δ）が大きくなるにつれて乗数（ω）が小さくなる関数が用いられてもよい。あるいは、特性曲線７３のように、δの増加につれてωが単調に増加し、ωがピークに到達した後に単調に減少する関数が用いられてもよい。
【００５４】
図６（ｂ）に示す特性テーブル７４は、再構成誤差の序列と乗数の対応関係を示すテーブルデータである。この「再構成誤差の序列」とは、データ母集団Ｄ４のうち再構成誤差が小さい方から順に並べた場合の累積百分率（単位：％）を意味し、０％に近いほど再構成誤差が小さくなり、１００％に近いほど再構成誤差が大きくなる。すなわち、この序列は、再構成誤差の「相対値」に相当する。この特性テーブル７４によれば、各々の乗数は、０〜５０％のクラスに属する場合にはω＝１に、５１〜８０％のクラスに属する場合にはω＝０．５に、８１〜１００％のクラスに属する場合にはω＝０に、それぞれ定められる。
【００５５】
このようにして、学習誤差算出部６２は、特性曲線７０〜７３又は特性テーブル７４に従って標本データ毎の乗数を定める（ステップＳ４）。その結果、データ母集団Ｄ４を形成する度に、標本データ毎の乗数は、データ分布又は学習進度に応じて適応的（adaptive）に定められることになる。
【００５６】
ところで、学習データＤ３の種類によって正常値／外れ値の存在割合が異なることが想定される。そこで、学習誤差算出部６２は、データ取得部６０により多変量データと併せて取得されたメタデータに応じて乗数の設定方法を変更してもよい。メタデータの具体例として、データの提供元（例えば、車種・ユーザ層・使用年数）又はデータの提供環境（例えば、国・地域・気候・走行場所）が挙げられる。
【００５７】
例えば、車両１６が新品である場合、車載部品の摩耗が少ない分だけ車両１６が正常状態である可能性が高く、外れ値の存在割合が小さくなることが予想される。そこで、学習誤差算出部６２は、メタデータが示す使用年数が少ない場合、標準値と比べて閾値δｔｈを大きく設けることで学習速度をより高めることができる。
【００５８】
また、高温多湿な気候である場合、外部環境が厳しい分だけ車両１６が異常状態になる可能性が高く、外れ値の存在割合が大きくなることが予想される。そこで、学習誤差算出部６２は、メタデータが示す気候が「高温多湿」である場合、標準値と比べて閾値δｔｈを小さく設けることで学習速度をより高めることができる。
【００５９】
図４のステップＳ５において、学習誤差算出部６２は、ステップＳ４で定められた乗数を用いて、データ母集団Ｄ４に対する学習誤差ＬＥを算出する。具体的には、学習誤差算出部６２は、標本データ毎の乗数を用いて重み付けした再構成誤差を用いて学習誤差ＬＥを計算する。再構成誤差の重み付け総和を用いる場合、学習誤差ＬＥは、式（２）のように算出される。
【００６０】
【数２】
2020035042.tif 000004
【００６１】
既に述べた通り、各々の乗数は、標本データが学習誤差ＬＥに与える影響度を示している。式（２）から理解されるように、乗数がゼロ（ω＝０）である再構成誤差は、学習誤差ＬＥに影響を与えない（つまり、影響度が無効化又は最小化される）点に留意する。
【００６２】
ステップＳ６において、パラメータ更新部６４は、ステップＳ５で算出された学習誤差ＬＥが小さくなるように学習パラメータ群３４（上記した可変パラメータ）を更新する。更新アルゴリズムとして、例えば、勾配降下法、確率的勾配降下法、モーメンタム法、ＲＭＳｒｏｏｐを含む様々な手法を用いてもよい。
【００６３】
ステップＳ７において、収束判断部６６は、現在の学習時点にて所定の収束条件を満たすか否かを判断する。この収束条件の一例として、［１］学習誤差ＬＥが十分に小さくなったこと、［２］学習誤差ＬＥの更新量が十分に小さくなったこと、［３］学習の繰り返し回数が上限値に到達したこと、などが挙げられる。この収束条件を満たさないと判断された場合（ステップＳ７：ＮＯ）、ステップＳ２に戻って、以下、ステップＳ２〜Ｓ７を順次繰り返す。一方、収束条件を満たすと判断された場合（ステップＳ７：ＹＥＳ）、ステップＳ８に進む。
【００６４】
ステップＳ８において、学習処理部３２は、ステップＳ６で直近に更新された学習パラメータ群３４を記憶部２４に記憶させ、自己符号化器２８に対する学習処理を終了する。その後、データ判定装置１２は、この学習パラメータ群３４を読み出して用いることで、判定対象データＤ１に対して高精度な判定処理を行うことができる。
【００６５】
＜学習の結果＞
図７は、自己符号化器２８の学習過程を示す模式図である。図７（ａ）は学習の終了時における理想的な判定状態、図７（ｂ）は比較例における恒等変換曲線の更新結果、図７（ｃ）は実施例における恒等変換曲線の更新結果をそれぞれ示す。
【００６６】
図７（ａ）に示すように、二次元的に表現されたデータ空間領域８０内に、１４個の標本点Ｐ１〜Ｐ１４があるとする。標本点Ｐ１〜Ｐ１４は、学習処理を通じて形成される恒等変換曲線８２（破線で図示）に基づいて、正常値であるか否かが判定される。この恒等変換曲線８２は、自己符号化器２８により完全な再構成（つまり、恒等変換）が行われる座標の等高線に相当する。
【００６７】
例えば、データ空間領域８０のうち、恒等変換曲線８２からの距離が許容範囲内である部分領域を正常値領域８４と定義し、その残りの領域を外れ値領域８６と定義する。この場合、３個の標本点Ｐ１，Ｐ６，Ｐ７（塗り潰しがある丸印）が「外れ値」であると判定され、残りの１１個の標本点Ｐ２〜Ｐ５，Ｐ８〜Ｐ１４（塗り潰しがない丸印）が「正常値」であると判定される。
【００６８】
以下、１４個の標本点Ｐ１〜Ｐ１４から無作為に選定された半分（つまり、７個）の標本点Ｐ１〜Ｐ７を用いて、自己符号化器２８に対する学習を行う場合を想定する。なお、標本データに正常値／外れ値のラベルが付与されていないので、標本データを取得する際にデータの分布を意図的に調整することが難しい点に留意する。
【００６９】
図７（ｂ），（ｃ）に示すように、学習が進行していない初期状態では、恒等変換曲線９０は、次数が小さい関数形状（例えば、直線）により表現される。標本点Ｐ１〜Ｐ７の近くに表記した括弧内の数字は、恒等変換曲線９０からの距離であり、再構成誤差に概ね対応する値である。例えば、標本点Ｐ６の再構成誤差（５．３）が最も大きく、標本点Ｐ４の再構成誤差（０．１）が最も小さい。
【００７０】
図７（ｂ）の比較例では、標本点Ｐ１〜Ｐ７の再構成誤差をすべて用いて学習誤差ＬＥを算出し、学習パラメータ群３４を更新する場合を想定する。例えば、閾値δｔｈ＝１０に設定された場合、式（２）においてωｉ＝１（ｉ＝１，２，・・・，７）となる。その結果、元の恒等変換曲線９０から新たな恒等変換曲線９２に更新される。
【００７１】
この更新により、「外れ値」であるべき標本点Ｐ１の再構成誤差が減少し、偽陰性（False Negative）の判定結果が得られる方向に学習が進行してしまう。同様に、「正常値」であるべき標本点Ｐ２の再構成誤差が増加し、擬陽性（False Positive）の判定結果が得られる方向に学習が進行してしまう。つまり、学習に用いる標本データに統計的な偏りが生じていた場合、その偏った標本データ（図７の例では、標本点Ｐ１，Ｐ２，Ｐ６）の影響を受け、学習速度の低下及び過学習を引き起こす可能性がある。
【００７２】
図７（ｃ）の実施例では、標本点Ｐ１〜Ｐ７の再構成誤差の一部を用いて学習誤差ＬＥを算出し、学習パラメータ群３４を更新する場合を想定する。例えば、閾値δｔｈ＝０．８に設定された場合、式（２）においてωｉ＝１（ｉ＝３，４，５，７），ωｉ＝０（ｉ＝１，２，６）となる。その結果、元の恒等変換曲線９０から新たな恒等変換曲線９４に更新される。
【００７３】
この更新により、「外れ値」であるべき標本点Ｐ１の再構成誤差が増加し、正当な判定結果（真陽性；True Positive）が得られる方向に学習が進行する。同様に、「正常値」であるべき標本点Ｐ２の再構成誤差が減少し、正当な判定結果（真偽性；True Negative）が得られる方向に学習が進行する。つまり、学習に用いる標本データに統計的な偏りが生じていた場合、その偏った標本データ（標本点Ｐ１，Ｐ２，Ｐ６）の影響度を相対的に低くすることで、学習速度の低下及び過学習が抑制される。
【００７４】
図８は、学習済みの自己符号化器２８による判定処理の結果を示す図である。より詳しくは、図８（ａ）は図７（ｂ）に示す比較例における散布図であり、図８（ｂ）は図７（ｃ）に示す実施例における散布図である。プロットの横軸は中間層５２（図２）を構成する１つのニューロンの出力値（以下、単に「ニューロン出力値」ともいう）を示すとともに、プロットの縦軸は再構成誤差を示す。
【００７５】
判定対象データＤ１及び学習データＤ３として、ＯＤＤＳ（Outlier Detection DataSets）から公開されている「Satimage-2 dataset」（３６次元の多変量データ）を用いた。学習モデルのアーキテクチャは、入力層５０及び出力層５４のニューロンの個数をそれぞれ３６個（Ｍ＝３６）とし、中間層５２の層数を１、ニューロンの個数を２個にした。つまり、ニューロン出力値は、次元圧縮処理による出力結果に相当する。
【００７６】
ところで、塗り潰しの色が相対的に薄いプロットは「正常値」を示す一方、塗り潰しの色が相対的に濃いプロットは「外れ値」を示す。各々の散布図において、「正常値」の分布と「外れ値」の分布が縦軸方向に（つまり、再構成誤差の値に応じて）分離された状態であれば、自己符号化器２８の次元圧縮機能が高いので、その分だけデータの判定精度が高くなると考えられる。
【００７７】
また、散布図の作成と併せて、ＲＯＣ（Receiver Operating Characteristic）曲線に基づくＡＵＣ（Area Under the Curve）を算出した。このＡＵＣは、分類器の性能を評価するために一般的に用いられる指標である。具体的には、完全に分類可能な場合はＡＵＣ＝１に相当し、無作為分類の場合はＡＵＣ＝０．５に相当する。
【００７８】
図８（ａ）の比較例では、本図から理解されるように、正常値と外れ値が縦軸方向にわたって共存する範囲が広くなっており、１本の境界線（判定の閾値）による区画が困難である。また、ＡＵＣ＝７９．３３％であり、十分な判定精度が得られなかった。
【００７９】
一方、図８（ｂ）の実施例では、本図から理解されるように、正常値と外れ値が縦軸方向にわたって共存する範囲が狭くなっており、１本の境界線９６（判定の閾値）による区画が可能である。また、ＡＵＣ＝９９．８７％であり、かなり高い判定精度が得られた。
【００８０】
［データ判定装置１２による効果］
以上のように、データ判定装置１２は、データ母集団Ｄ４に応じて定められた標本データ毎の乗数を用いて再構成誤差に重み付けして学習誤差ＬＥを算出する学習誤差算出部６２を備えるので、現時点の学習進度において各々の標本データが学習誤差ＬＥに与える影響度のバランスを適応的に調整可能となる。つまり、標本データ毎の乗数を適切に定めることで、データ母集団Ｄ４に対する過学習が抑制されるとともに、標本データのばらつきに対する頑健性が高くなる。これにより、自己符号化器２８に対して学習を行う際、データ母集団Ｄ４に統計的な偏りが生じる場合であっても、学習速度及び判定精度の低下を抑制することができる。
【００８１】
特に、データ取得部６０による多変量データの取得（Ｓ２）、学習誤差算出部６２による学習誤差ＬＥの算出（Ｓ５）、及びパラメータ更新部６４による学習パラメータ群３４の更新（Ｓ６）を順次繰り返す「ミニバッチ学習」を行う場合、バッチ学習の場合と比べて統計的な偏りが生じやすくなるので、上記した抑制効果がより顕著に現われる。
【００８２】
また、学習誤差算出部６２は、再構成誤差が閾値よりも大きい標本データの乗数を、データ母集団Ｄ４全体における乗数の平均値よりも小さくなるように定め、学習誤差ＬＥを算出してもよい。これにより、現時点の学習進度にて外れ値である確度が高い標本データによる影響度を相対的に低くすることができる。
【００８３】
また、学習誤差算出部６２は、データ母集団Ｄ４における再構成誤差の統計量から閾値を設定してもよい。これにより、データ母集団Ｄ４の統計的傾向がより適切に反映された学習誤差ＬＥを算出することができる。
【００８４】
また、学習誤差算出部６２は、再構成誤差が閾値よりも大きい標本データの乗数をゼロ値に定め、再構成誤差が閾値以下である標本データの乗数をゼロ値よりも大きい一律の正値に定めてもよい。外れ値である確度が高い標本データによる影響度を最小化するとともに、正常値である確度が高い標本データによる影響度を均等化することで、標本データのばらつきに対する頑健性がさらに高くなる。
【００８５】
また、学習誤差算出部６２は、再構成誤差が大きくなるにつれて乗数が小さくなるルールに従って標本データ毎の乗数を定め、学習誤差ＬＥを算出してもよい。正常値である確度が高い標本データほど影響度を高くし、外れ値である確度が高い標本データほど影響度を相対的に低くすることで、標本データのばらつきに対する頑健性がさらに高くなる。
【００８６】
また、学習誤差算出部６２は、多変量データの提供元又は提供環境を示すメタデータに応じて、標本データ毎の乗数の設定方法を変更してもよい。正常値／外れ値の存在割合が提供元又は提供環境によって異なることを考慮し、標本データ毎の乗数を適切に定めることで学習速度をより高めることができる。
【００８７】
［変形例］
なお、この発明は、上述した実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。あるいは、技術的に矛盾が生じない範囲で各々の構成を任意に組み合わせてもよい。
【００８８】
例えば、上記した実施形態では、データ判定装置１２（１つのコンピュータ）が図４に示すフローチャートの動作を実行しているが、複数のコンピュータが処理機能を分担してこの一連の動作を実行してもよい。
【００８９】
また、上記した実施形態では、車両１６（四輪自動車）のプローブデータを用いた学習処理及び判定処理を行っているが、様々な種類の多変量データに適用してもよい。データの提供元は、例えば、［１］他の車両（二輪自動車、電車など）、船舶、ドローン、宇宙機、自律移動ロボットを含む移動体、［２］風力発電機、太陽光発電機、蓄電設備を含む分散型電源、［３］工場、家庭などの様々な施設内にあるＩｏＴ（Internet Of Things）機器であってもよい。
【符号の説明】
【００９０】
１０  データ判定システム、１２  データ判定装置、２０  通信部、２２  制御部、２４  記憶部、２６  データベース処理部、２８  自己符号化器、３０  判定処理部、３２    学習処理部、３４  学習パラメータ群、６０  データ取得部、６２  学習誤差算出部、６４  パラメータ更新部、６６  収束判断部、Ｄ３  学習データ、Ｄ４  データ母集団、Ｐ１〜Ｐ１４  標本点。
【図１】
2020035042.tif 000005
【図２】
2020035042.tif 000006
【図３】
2020035042.tif 000007
【図４】
2020035042.tif 000008
【図５】
2020035042.tif 000009
【図６】
2020035042.tif 000010
【図７】
2020035042.tif 000011
【図８】
2020035042.tif 000012