JP7424474B2 - 学習装置、異常検知装置、学習方法及び異常検知方法 - Google Patents

学習装置、異常検知装置、学習方法及び異常検知方法 Download PDF

Info

Publication number
JP7424474B2
JP7424474B2 JP2022516488A JP2022516488A JP7424474B2 JP 7424474 B2 JP7424474 B2 JP 7424474B2 JP 2022516488 A JP2022516488 A JP 2022516488A JP 2022516488 A JP2022516488 A JP 2022516488A JP 7424474 B2 JP7424474 B2 JP 7424474B2
Authority
JP
Japan
Prior art keywords
attribute
data
value
unit
representing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022516488A
Other languages
English (en)
Other versions
JPWO2021214833A1 (ja
Inventor
兼悟 田尻
具治 岩田
敬志郎 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021214833A1 publication Critical patent/JPWO2021214833A1/ja
Application granted granted Critical
Publication of JP7424474B2 publication Critical patent/JP7424474B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は、学習装置、異常検知装置、学習方法及び異常検知方法に関する。
機械学習の手法を利用した異常検知技術が従来から知られている(非特許文献1~5)。これらの異常検知技術では、一般に、正常データに存在する特徴を教師なし学習により学習した上で、検知対象のデータが正常又は異常のいずれであるかを判定することで異常検知を行う。この際、学習に使用される正常データや検知対象のデータは、欠損値を含まないデータであることが要求される。
しかしながら、異常検知技術を実環境で用いる場合には、データ収集の際に一部の数値に欠損が発生する場合がある。この場合、(a)欠損が存在するデータは学習や異常検知に使用しない、(b)欠損値を何等かの手法で補完する、という2種類の対応が考えられる。なお、データの欠損値を補完する技術としては、例えば、非特許文献6に記載されている技術が知られている。
M. M Breunig, H. Kriegel, R. T Ng, and J. Sander. "Lof: identifying density-based local outliers." In ACM sigmod record, volume 29, pages 93-104. ACM, 2000. L. M Manevitz and M. Yousef, "One-class SVMs for document classification", Journal of machine Learning research, 2, 139-154, 2001. F. T Liu, K. M. Ting and Zhi-Hua Zhou, "Isolation forest", 2008 Eighth IEEE International Conference on Data Mining, 413-422, 2008. M.Sakurada and T. Yairi, "Anomaly detection using autoencoders with nonlinear dimensionality reduction", Proceedings of the MLSDA 2014 2nd Workshop on Machine Learning for Sensory Data Analysis, 2014. P. Vincent, H. Larochelle, Y. Bengio, and P. Manzagol. "Extracting and composing robust features with denoising autoencoders." In Proceedings of the 25th international conference on Machine learning, pages 1096-1103. ACM, 2008. M. J Azur, E. A Stuart, C. Frangakis, and P. J Leaf. "Multiple imputation by chained equations: what is it and how does it work?" International journal of methods in psychiatric research, 20(1):40-49, 2011.
しかしながら、上記の(a)の場合には、学習に使用するデータが不足したり、異常検知を行わないことによって重大な異常の見逃しが発生したりする可能性がある。一方で、上記の(b)の場合には、欠損を補完することによって実際のデータとは異なるデータで学習や異常検知が行われることになり、異常検知の精度低下に繋がる可能性がある。
本発明の一実施形態は、上記の点に鑑みてなされたもので、欠損が含まれ得るデータを用いて精度の良い異常検知を実現することを目的とする。
上記目的を達成するため、一実施形態に係る学習装置は、属性値と属性情報との組で構成される集合を表すデータのデータセットを入力する入力部と、前記属性値と前記属性情報が埋め込まれた埋め込みベクトルとを組み合わせたベクトルの集合を用いて、前記データセットに含まれる各データの属性値に対応する予測値を算出する演算部と、前記属性値と、前記属性値に対応する予測値との差を最小化するように、前記埋め込みベクトルを含むパラメータを更新する学習部と、を有することを特徴とする。
欠損が含まれ得るデータを用いて精度の良い異常検知を実現することができる。
学習フェーズにおける異常検知装置の機能構成の一例を示す図である。 本実施形態に係る学習処理の流れの一例を示すフローチャートである。 異常検知フェーズにおける異常検知装置の機能構成の一例を示す図である。 本実施形態に係る異常検知処理の流れの一例を示すフローチャートである。 本実施形態に係る異常検知装置のハードウェア構成の一例を示す図である。
以下、本発明の一実施形態について説明する。本実施形態では、欠損が含まれ得るデータを用いて、欠損の補完やデータの破棄を行うことなく、精度の良い異常検知を実現することが可能な異常検知装置10について説明する。ここで、本実施形態に係る異常検知装置10は、正常データに存在する特徴を教師なし学習により学習した上で、検知対象のデータが正常又は異常のいずれであるかを判定することで異常検知を行う。このため、本実施形態に係る異常検知装置10には、正常データから機械学習モデルのパラメータを学習する「学習フェーズ」と、学習済みパラメータを設定した機械学習モデルによって検知対象データが正常又は異常のいずれであるかを判定する「異常検知フェーズ」とがある。
また、一般に、機械学習モデルに入力されるデータは、例えば、(属性1の値,属性2の値,・・・,属性N'の値)というように、各属性の値を並べたベクトルとして取り扱われる。一方で、本実施形態では、後述するように、{(属性1の値,属性1の情報),(属性2の値,属性2の情報),・・・,(属性N'の値,属性N'の情報)}というように、各属性の値と当該属性の情報との組の集合として取り扱う。属性の値は各データによって異なり得るが、属性の情報は各データ間で共通である。なお、本実施形態では、ベクトルは行ベクトルであるものとする。
機械学習モデルに入力される各データをベクトルと取り扱った場合、各属性はベクトルの各次元にそれぞれ対応するため、以降では、欠損がないデータに含まれる属性のインデックス(以下、「属性インデックス」ともいう。)と、欠損がないデータをベクトルとして取り扱った場合におけるベクトルの次元とを同一視して、属性の情報は、この属性の次元(属性インデックス)を表すものとする。
また、本実施形態では、異常検知に用いられる機械学習モデルとして、DeepSets等に代表される集合に対する深層学習モデルを用いる。集合に対する深層学習モデルは、入力される集合の要素の数が変動してもよいという特性がある。このため、集合に対する深層学習モデルを異常検知に用いることで、各データに存在する属性に関する組(つまり、欠損していない属性の値と当該属性の情報との組)だけを持つ集合を入力することが可能となり、欠損を含むデータの欠損値を補完したり欠損を含むデータを破棄したりすることなく、当該データをそのまま扱うことが可能となる。なお、DeepSetsについては、例えば、参考文献1「M. Zaheer, S. Kottur, S. Ravanbakhsh, B.Poczos, R. R Salakhutdinov, and A. J Smola. "Deep sets. In Advances in neural information processing systems" pages 3391-3401, 2017.」等を参照されたい。
[学習フェーズ]
まず、学習フェーズにおける異常検知装置10につい説明する。
<機能構成>
学習フェーズにおける異常検知装置10の機能構成について、図1を参照しながら説明する。図1は、学習フェーズにおける異常検知装置10の機能構成の一例を示す図である。
図1に示すように、学習フェーズにおける異常検知装置10は、入力部101と、演算部102と、学習部103と、記憶部104とを有する。
記憶部104には、異常検知に用いられる機械学習モデルのパラメータ(以下、「モデルパラメータ」という。)と、このモデルパラメータの学習に使用される正常データとが記憶されている。以降では、各正常データを識別するインデックスをmとして、モデルパラメータの学習に使用される正常データをuと表し、記憶部104には、M個の正常データで構成されるデータセットU={u,・・・,u}が記憶されているものとする。なお、以降では、正常データuのことを「レコードm」とも表す。
また、レコードmは、
Figure 0007424474000001
と表されるものとする。ここで、nはレコードmにおいて欠損していないn番目の属性を表す。また、xmnはn番目の属性の値(属性値)、rmnはn番目の属性の情報(属性情報)、Nはレコードmにおいて欠損していない属性の総数を表す。
例えば、欠損していないレコードmには10個の属性値が含まれる場合、このレコードmの属性情報はrm1=1,rm2=2,・・・,rm10=10となる。一方で、この場合に、例えば、3次元目の属性値が欠損しているとき(つまり、属性インデックスが3の属性値が欠損しているとき)は、rm1=1,rm2=2,rm3=4,rm4=5,・・・,rm9=10となる。同様に、例えば、2次元目の属性値と4次元目の属性値とが欠損しているとき(つまり、属性インデックスが2の属性値と属性インデックスが4の属性値とが欠損しているとき)は、rm1=1,rm2=3,rm3=5,rm4=6,・・・,rm8=10となる。このように、属性値と属性情報との組(xmn,rmn)は、rmn次元目の属性値(つまり、属性インデックスがrmnの属性値)がxmnであることを表している。
入力部101は、記憶部104に記憶されているデータセットU、つまり、
Figure 0007424474000002
を入力する。
演算部102は、データセットUを入力として、モデルパラメータを用いて、m=1,・・・,Mに対して、属性値集合
Figure 0007424474000003
に対応する予測値集合
Figure 0007424474000004
を算出する。なお、以降の明細書のテキスト中では、記号の真上に付与されるハット「^」を、当該記号の左上に付与して表記する。例えば、明細書のテキスト中では、属性値xmnに対応する予測値を「^xmn」と表記する。
ここで、演算部102には、エンコード部111と、デコード部112とが含まれる。エンコード部111は、レコードmの特徴Zを抽出する。デコード部112は、レコードmの属性値集合を復元した予測値集合をZから得る。
学習部103は、属性値集合と、演算部102によって算出された予測値集合とを用いて、既知の最適化手法によりモデルパラメータを更新(学習)する。ここで、学習部103は、以下に示すL(U)を最小化するように、モデルパラメータを学習する。
Figure 0007424474000005
すなわち、全てのレコードm(m=1,・・・,M)に関して属性値と予測値との差の二乗の平均をL(U)として、このL(U)を最小化するように、モデルパラメータが学習される。なお、学習対象のモデルパラメータについては後述する。
<演算部102による計算の詳細及び機械学習モデル>
次に、演算部102による計算の詳細と、エンコード部111及びデコード部112を実現する機械学習モデルの詳細とについて説明する。
本実施形態では、データセットU中の各属性情報を埋め込みベクトルとして表現する。具体的には、N個のd次元ベクトルをwとして、
Figure 0007424474000006
を用意する。ここで、Nは、データセットU中の属性数(つまり、属性インデックスが互いに異なる属性の総数)である。ベクトルw(i=1,・・・,N)はそれぞれ属性i(属性インデックスがiの属性)の属性情報を持つ埋め込みベクトルとなる。
このベクトルwと、各レコードmの属性情報rmnの属性値xmnとを組み合わせることで、集合の要素をベクトルとして表現する。この組み合わせ方としては、例えば、ベクトル
Figure 0007424474000007
の次元数を1次元追加した上で、この追加した次元の値を属性値xmnとしたymn、つまり、
Figure 0007424474000008
とすることが考えられる。ここで、aをスカラー又はベクトル、bをスカラー又はベクトルとして、concat(a,b)は、aとbを連結したベクトルを作成する操作を表す。ただし、aをbの先頭に連結する場合に限られず、例えば、aをbの末尾に連結してもよいし、aをbの途中に挿入してもよい。
又は、上記の組み合わせ方の他の例としては、例えば、ベクトル
Figure 0007424474000009
の各要素に対して属性値xmnを掛け合わせたymn、つまり、
Figure 0007424474000010
とすることが考えられる。
なお、以降では、レコードmに対するymn全体の集合をYと表す。すなわち、
Figure 0007424474000011
である。
≪実施例1≫
以降では、エンコード部111及びデコード部112を実現する機械学習モデルの実施例1について説明する。
・エンコード部111
エンコード部111は、Yを入力として、レコードmの特徴
Figure 0007424474000012
を生成する。ここで、N'は特徴ベクトルzmjの総数であり、このN'はm毎に固定であってもよいし変動してもよい。
エンコード部111は、DeepSets等の集合に対する深層学習モデルにより実現される。集合に対する深層学習モデルでは、入力された集合の要素の順序の入れ替えに対して、(A)出力が不変、又は、(B)入力の順序に応じて出力の順序が変化、のいずれかの性質を持つことが要請される。このような性質を持つような深層学習モデルの構成例としては、例えば、以下の式(1)に示すモデル等が考えられる。
=α×rFF(Y)+β×pool(rFF(Y)) (1)
ここで、上記の式(1)に示すモデルでは、Y及びZはその要素の行ベクトルを縦に並べた行列として扱われている。rFF(・)は各行をそれぞれ独立に変形させるニューラルネットワーク(Row-wise Neural Network)、α及びβは定数である。また、pool(・)はsumやmean、max等の要素の順番(この場合では行列の行ベクトルの順番)によらない1行ベクトルを出力する関数である。
上記の式(1)は、αが0である場合は(A)の性質を満たし、それ以外の場合は(B)の性質を満たす。なお、上記の式(1)以外の集合に対する深層学習モデルとしては、実施例2で説明するアテンション機構を使用したモデル等も考えられる。
・デコード部112
デコード部112は、エンコード部111で抽出(生成)された特徴Zから、レコードmの各属性値(つまり、レコードmの、欠損していない属性の属性値)を復元するために、欠損していない属性の属性情報
Figure 0007424474000013
の埋め込みベクトルを用いる。この埋め込みベクトルを
Figure 0007424474000014
と表す。この埋め込みベクトルsはデコード用の埋め込みベクトルであり、例えば、上述したwを用いてもよい(つまり、各iに対して、s=wでもよい)し、wと異なるベクトルを用いてもよい。
デコード部112もエンコード部111と同様に、集合に対する深層学習モデルにより実現される。デコード部112を実現する深層学習モデルであって、上記の(A)又は(B)の性質を満たすものとしては、以下の式(2)に示すモデル等が考えられる。
Figure 0007424474000015
ここで、^x
Figure 0007424474000016
をまとめてベクトルとして扱ったものであり、S はZを構成する各ベクトルzmjと同じ次元数を持つ埋め込みベクトルsを縦に並べた行列Sの転置行列である。また、演算子「・」は内積を意味する。
上記の式(2)に示すモデルでは、
Figure 0007424474000017
の要素の並び替えはSの行の並び替えに対応し、これに伴って^xの並び替えが発生するため、上記の(B)の性質を満たす。なお、上記の式(2)以外の集合に対する深層学習モデルとしては、エンコード部111と同様に、実施例2で説明するアテンション機構を使用したモデル等も考えられる。
≪実施例2≫
以降では、エンコード部111及びデコード部112を実現する機械学習モデルの実施例2について説明する。実施例2では、アテンション機構を使用したモデル(集合に対する深層学習モデル)によりエンコード部111及びデコード部112を実現する場合について説明する。
アテンション機構は、クエリ行列
Figure 0007424474000018
と、キー行列
Figure 0007424474000019
と、バリュー行列
Figure 0007424474000020
との3つの行列を入力として、Att(Q,K,V;ω)=ω(QK)Vと表記される。ここで、ω(・)は一般的にスケール化されたソフトマックス関数である。このようなソフトマックス関数は、例えば、
Figure 0007424474000021
等と定義される場合が多い。ここで、dはクエリ行列Q及びキー行列Kの列方向の次元数(つまり、クエリ行列Q及びキー行列Kを行ベクトルの集合と考えた場合、その行ベクトルの次元数)である。なお、上記のソフトマックス関数の定義については、例えば、参考文献2「J. Lee, Y. Lee, J. Kim, A. R Kosiorek, S. Choi, and Y. W. Teh. "Set transformer." arXiv preprint arXiv:1810.00825, 2018.」や参考文献3「A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N Gomez, L. Kaiser, and I. Polosukhin. "Attention is all you need. " In Advances in neural information processing systems, pages 5998-6008.」等を参照されたい。
上記のアテンション機構の拡張としてマルチヘッドアテンションとショートカットコネクトを導入したTransformerがあり、以下、これについても説明する。
マルチヘッドアテンションは、クエリ行列Q、キー行列K及びバリュー行列Vをそれぞれh個の別々の空間に射影したもので、h個のアテンションを計算するものである。具体的には、学習対象のモデルパラメータ
Figure 0007424474000022
を用いて、Multihead(Q,K,V;λ,ω)=concat(O,・・・,O)と表記される。ここで、
Figure 0007424474000023
である。また、iによらず、
Figure 0007424474000024
Figure 0007424474000025
Figure 0007424474000026
である。
更に、上記の参考文献2ではマルチヘッドアテンションにショートカットコネクションを加えてひとまとまりにしたものがMultihead Attention Block(MAB)と呼ばれており、MAB(X,Y)=H+rFF(H)と表記されている。ここで、H=Multihead(X,Y,Y;λ,ω)+Xである。
XとYが行ベクトルを要素とする集合で構成される行列であると考えると、MAB(・)の出力はYの要素の並び替えに関して不変であり、またXの要素の並び替えに関してはその並び替えに対応して出力の行の順番が変化することがわかる。したがって、MAB(・)も集合に対する深層学習モデルとして用いることが可能である。
また、上記の参考文献2ではXとYに同じものを代入したMABはSet Attention Block(SAB)と呼ばれており、SAB(X)=MAB(X,X)と表記されている。このとき、SAB(X)はXの要素の順序変化に対応して出力の順序が変化する。
・エンコード部111
エンコード部111は、まず、上述したように、属性情報の埋め込みベクトル{w,・・・,w}を用いてYを構成する。その後、エンコード部111は、SAB(・)又はMAB(・)を繰り返し用いることで、レコードmの特徴Zを構成する。SAB(・)とMAB(・)の使用順序及び使用回数は任意の順序及び任意の回数でよく、特に限定されない。
具体的には、Y (0)=Y、SAB(・)又はMAB(・)をk回作用させた出力行列をY (k)として、k+1回目にSAB(・)を作用させる場合は、
Figure 0007424474000027
と定義される。同様に、k+1回目にMAB(・)を作用させる場合は、
Figure 0007424474000028
と定義される。ここで、C(k)はY (k)の列次元数と同じ列次元数を持つ行列(つまり、C(k)はY (k)と同じ列数の行列)であり、行数は特に限定されない。
上記の操作を繰り返すことで、エンコード部111は、最終的にZを構成する。すなわち、例えば、SAB(・)又はMAB(・)を作用させる総回数をKとすれば、Y (K)=Zである。
・デコード部112
デコード部112は、まず、デコード用の埋め込みベクトルsの集合Sを用いて、S'=MAB(S,Z)を計算する。その後、デコード部112は、SAB(・)を繰り返し用いて、最後に各行を1次元にするニューラルネットワークrFF(・)を作用させることで、最終的に^xを得る。SAB(・)の仕様回数は任意の回数でよく、特に限定されない。
<学習対象のモデルパラメータ>
エンコード部111及びデコード部112を実現する機械学習モデルとして実施例1で説明した機械学習モデルを用いる場合、学習対象のモデルパラメータは、埋め込みベクトル{w,・・・,w}、デコード用の埋め込みベクトル{s,・・・,s}、並びにrFF(・)で表されるニューラルネットワークの重み及びバイアスである。
一方で、実施例2で説明した機械学習モデルを用いる場合、上記の学習対象のモデルパラメータに加えて、Multihead(・)中のλ、エンコード部111によるエンコードに使用されるMAB(・)中のクエリ行列C(k)も学習対象のモデルパラメータである。
<学習処理>
次に、学習対象のモデルパラメータを学習するための学習処理について、図2を参照しながら説明する。図2は、本実施形態に係る学習処理の流れの一例を示すフローチャートである。
まず、入力部101は、記憶部104に記憶されているデータセットUを入力する(ステップS101)。
次に、演算部102は、記憶部104に記憶されているモデルパラメータを用いて、データセットU中の各レコードmに対して、その属性値xmnに対応する予測値^xmnを算出する(ステップS102)。すなわち、演算部102は、エンコード部111によってレコードmの特徴Zを抽出した上で、デコード部112によって当該特徴Zから予測値^xmnを復元する。
そして、学習部103は、属性値集合と、上記のステップS102で算出された予測値集合とを用いて、上記のL(U)を既知の最適化手法により最小化することで、記憶部104に記憶されているモデルパラメータを学習する(ステップS103)。
[異常検知フェーズ]
次に、異常検知フェーズにおける異常検知装置10について説明する。
<機能構成>
異常検知フェーズにおける異常検知装置10の機能構成について、図3を参照しながら説明する。図3は、異常検知フェーズにおける異常検知装置10の機能構成の一例を示す図である。
図3に示すように、異常検知フェーズにおける異常検知装置10は、入力部101と、演算部102と、記憶部104と、異常検知部105と、出力部106とを有する。
記憶部104には、学習フェーズで学習された学習済みモデルパラメータが記憶されている。また、記憶部104には、異常検知の対象となる検知対象データuが記憶されている。
入力部101は、記憶部104に記憶されている検知対象データuを入力する。
演算部102は、検知対象データuを入力として、学習済みモデルパラメータを用いて、当該検知対象データuの属性値xmnに対応する予測値^xmnを算出する。
異常検知部105は、検知対象データuの属性値xmnと、演算部102によって算出された予測値^xmnとを入力として、異常度を算出する。ここで、異常検知部105は、例えば、
Figure 0007424474000029
を異常度として算出する。すなわち、異常検知部105は、属性値xmnと予測値^xmnとの差の二乗平均を異常度として算出する。
また、異常検知部105は、算出した異常度が所定の閾値を超えているか否かを判定する。異常度が所定の閾値を超えている場合は検知対象データuが異常データであると判定され、そうでない場合には検知対象データuが正常データであると判定される。これにより異常検知が行われる。
出力部106は、検知対象データuが異常データ又は正常データのいずれであるかを示す情報を出力する。なお、出力部106の出力先は任意としてよいが、例えば、ディスプレイに表示する、記憶部104に保存する、スピーカ等から音声で出力する、通信ネットワークを介して接続される他の装置に送信する、等が考えられる。
<異常検知処理>
次に、異常検知を行うための異常検知処理について、図4を参照しながら説明する。図4は、本実施形態に係る異常検知処理の流れの一例を示すフローチャートである。なお、複数の検知対象データが存在する場合には、各検知対象データに対して異常検知処理を行えばよい。
まず、入力部101は、記憶部104に記憶されている検知対象データuを入力する(ステップS201)。
次に、演算部102は、記憶部104に記憶されている学習済みモデルパラメータを用いて、検知対象データuの属性値xmnに対応する予測値^xmnを算出する(ステップS202)。すなわち、演算部102は、エンコード部111によって検知対象データuの特徴Zを抽出した上で、デコード部112によって当該特徴Zから予測値^xmnを復元する。
次に、異常検知部105は、検知対象データuの属性値xmnと、上記のステップS202で算出された予測値^xmnとを用いて、異常度を算出する(ステップS203)。
次に、異常検知部105は、上記のステップS203で算出された異常度が、予め設定された所定の閾値を超えているか否かを判定する(ステップS204)。
上記のステップS204で異常度が所定の閾値を超えていると判定された場合、出力部106は、検知対象データuが異常データであることを示す情報を出力する(ステップS205)。一方で、上記のステップS204で異常度が所定の閾値を超えていないと判定された場合、出力部106は、検知対象データuが正常データであることを示す情報を出力する(ステップS206)。
<評価>
次に、本実施形態に係る異常検知装置10による異常検知手法の評価について説明する。
参考文献4「G. O Campos, A. Zimek, J. Sander, R. JGB Campello, B. Micenkov´a, E. Schubert, I. Assent, and M. E Houle. "On the evaluation of unsupervised outlier detection: measures, datasets, and an empirical study. Data Mining and Knowledge Discovery," 30(4):891-927, 2016.」に記載されている22種類の異常検知用ベンチマークデータを用いて実験を行った。ベンチマークデータ中の正常データのうち8割を学習用の正常データ、1割をバリデーション用の正常データ、残りの1割と全異常データを検知対象データとし、AUROCを指標として評価を行った。
全てのレコードに対して全次元の2割をランダムでそれぞれ選択し、欠損させた。本実施形態に係る異常検知装置10では、これらのレコードをそのまま学習と異常検知に使用することが可能である。一方で、比較対象となる異常検知手法では、欠損のあるレコードを用いることはできないため、欠損を2種類の方法で補完した。1つは学習用の正常データ中の各次元の残存する属性値の平均で欠損を埋める方法(mean)、もう1つは学習用の正常データ中の各次元の残存する属性値を用いた多重代入法(MICE)である。なお、MICEについては、例えば、上記の非特許文献6等を参照されたい。
比較対象の異常検知手法としては、教師なしの手法であるLOF(Local Outlier Factor)、OCSVM(One Class Support Vector Machine)、IF(Isolation Forest)、AE(Autoencoder)、DAE(Denoising Autoencoder)を用いた。
実験結果を以下の表1に示す。なお、Proposedが、本実施形態に係る異常検知装置10による異常検知手法の実験結果である。
Figure 0007424474000030
上記の表1では、データセット(ベンチマークデータ)の切り分けを変えて5回実験を繰り返し、t検定を行いp値0.05で最も良い値と有意差が無かったものを太字で表している。
また、本実施形態に係る異常検知装置10による異常検知手法(Proposed)では実施例2のエンコード部111及びデコード部112を用い、エンコード部111ではYに対してSAB(・)を1回作用させることで特徴Zを構成し、デコード部112ではS'に対してSAB(・)を1回作用させることで^xを構成した。
上記の表1に示すように、全データセットでの平均、最大精度になるデータセット数、統計的に最大精度となり得るデータセット数のいずれにおいてもProposedが、mean又はMICEを利用した他の異常検知手法を上回っていることがわかる。
また、本実施形態に係る異常検知装置10による異常検知手法を欠損のないデータセットに対して適用し実験を行った場合の結果を以下の表2に示す。
Figure 0007424474000031
上記の表2に示すように、欠損のないデータセットを用いた場合であっても、全データセットでの平均、最大精度になるデータセット数、統計的に最大精度となり得るデータセット数のいずれにおいてもProposedが他の異常検知手法を上回っていることがわかる。
<ハードウェア構成>
最後に、本実施形態に係る異常検知装置10のハードウェア構成について、図5を参照しながら説明する。図5は、本実施形態に係る異常検知装置10のハードウェア構成の一例を示す図である。
図5に示すように、本実施形態に係る異常検知装置10は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これら各ハードウェアは、それぞれがバス207を介して通信可能に接続されている。
入力装置201は、例えば、キーボードやマウス、タッチパネル等である。表示装置202は、例えば、ディスプレイ等である。なお、異常検知装置10は、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
外部I/F203は、記録媒体203a等の外部装置とのインタフェースである。異常検知装置10は、外部I/F203を介して、記録媒体203aの読み取りや書き込み等を行うことができる。記録媒体203aには、例えば、異常検知装置10が有する各機能部(入力部101、演算部102、学習部103、異常検知部105及び出力部106)を実現する1以上のプログラムが格納されていてもよい。なお、記録媒体203aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
通信I/F204は、異常検知装置10を通信ネットワークに接続するためのインタフェースである。なお、異常検知装置10が有する各機能部を実現する1以上のプログラムは、通信I/F204を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
プロセッサ205は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。異常検知装置10が有する各機能部は、例えば、メモリ装置206に格納されている1以上のプログラムがプロセッサ205に実行させる処理により実現される。
メモリ装置206は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。異常検知装置10が有する記憶部104は、例えば、メモリ装置206を用いて実現可能である。なお、記憶部104は、例えば、異常検知装置10と通信ネットワークを介して接続される記憶装置(例えば、データベースサーバ等)を用いて実現されていてもよい。
本実施形態に係る異常検知装置10は、図5に示すハードウェア構成を有することにより、上述した学習処理や異常検知処理を実現することができる。なお、図5に示すハードウェア構成は一例であって、異常検知装置10は、他のハードウェア構成を有していてもよい。例えば、異常検知装置10は、複数のプロセッサ205を有していてもよいし、複数のメモリ装置206を有していてもよい。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
10 異常検知装置
101 入力部
102 演算部
103 学習部
104 記憶部
105 異常検知部
106 出力部
111 エンコード部
112 デコード部
201 入力装置
202 表示装置
203 外部I/F
203a 記録媒体
204 通信I/F
205 プロセッサ
206 メモリ装置
207 バス

Claims (6)

  1. 欠損していない属性の値を表す属性値と前記欠損していない属性のインデックスを表す第1の属性情報との組で構成される集合を表すデータのデータセットを入力する入力部と、
    前記属性のインデックスを表す第2の属性情報が埋め込まれた埋め込みベクトルが含まれるパラメータを用いて、前記属性値と前記埋め込みベクトルとを組み合わせたベクトルの集合から、前記属性値に対応する予測値を算出する演算部と、
    前記属性値と、前記属性値に対応する予測値との差を最小化するように、所定の最適化手法により前記パラメータを更新する学習部と、
    を有し、
    前記演算部には、
    前記組み合わせたベクトルの集合を入力として、前記データの特徴を表す特徴ベクトルの集合を生成するエンコード部と、
    前記特徴ベクトルの集合を入力として、前記属性値を復元した予測値の集合を生成するデコード部と、が含まれる、ことを特徴とする学習装置。
  2. 前記エンコード部及び前記デコード部は、それぞれ、集合に対する深層学習モデルで実現され、
    前記パラメータは、前記集合に対する深層学習モデルのパラメータである、ことを特徴とする請求項に記載の学習装置。
  3. 前記集合に対する深層学習モデルは、属性間の関係性を学習可能なアテンション機構を用いたモデルである、ことを特徴とする請求項に記載の学習装置。
  4. 欠損していない属性の値を表す属性値と前記欠損していない属性のインデックスを表す第1の属性情報との組で構成される集合を表すデータを入力する入力部と、
    集合に対する深層学習モデルの学習済みパラメータであって、前記属性のインデックスを表す第2の属性情報が埋め込まれた埋め込みベクトルが含まれるパラメータを用いて、前記属性値と前記埋め込みベクトルとを組み合わせたベクトルの集合から、前記属性値に対応する予測値を算出する演算部と、
    前記属性値と、前記属性値に対応する予測値との差を用いて、前記データの異常度を算出する異常度算出部と、
    前記異常度が所定の閾値を超えているか否かにより、前記データが異常データ又は正常データのいずれであるかを判定する判定部と、
    を有し、
    前記演算部には、
    前記組み合わせたベクトルの集合を入力として、前記データの特徴を表す特徴ベクトルを生成するエンコード部と、
    前記特徴ベクトルを入力として、前記属性値を復元した予測値の集合を生成するデコード部と、が含まれる、ことを特徴とする異常検知装置。
  5. 欠損していない属性の値を表す属性値と前記欠損していない属性のインデックスを表す第1の属性情報との組で構成される集合を表すデータのデータセットを入力する入力手順と、
    前記属性のインデックスを表す第2の属性情報が埋め込まれた埋め込みベクトルが含まれるパラメータを用いて、前記属性値と前記埋め込みベクトルとを組み合わせたベクトルの集合から、前記属性値に対応する予測値を算出する演算手順と、
    前記属性値と、前記属性値に対応する予測値との差を最小化するように、所定の最適化手法により前記パラメータを更新する学習手順と、
    をコンピュータが実行し、
    前記演算手順には、
    前記組み合わせたベクトルの集合を入力として、前記データの特徴を表す特徴ベクトルの集合を生成するエンコード手順と、
    前記特徴ベクトルの集合を入力として、前記属性値を復元した予測値の集合を生成するデコード手順と、が含まれる、ことを特徴とする学習方法。
  6. 欠損していない属性の値を表す属性値と前記欠損していない属性のインデックスを表す第1の属性情報との組で構成される集合を表すデータを入力する入力手順と、
    集合に対する深層学習モデルの学習済みパラメータであって、前記属性のインデックスを表す第2の属性情報が埋め込まれた埋め込みベクトルが含まれるパラメータを用いて、前記属性値と前記埋め込みベクトルとを組み合わせたベクトルの集合から、前記属性値に対応する予測値を算出する演算手順と、
    前記属性値と、前記属性値に対応する予測値との差を用いて、前記データの異常度を算出する異常度算出手順と、
    前記異常度が所定の閾値を超えているか否かにより、前記データが異常データ又は正常データのいずれであるかを判定する判定手順と、
    をコンピュータが実行し、
    前記演算手順には、
    前記組み合わせたベクトルの集合を入力として、前記データの特徴を表す特徴ベクトルを生成するエンコード手順と、
    前記特徴ベクトルを入力として、前記属性値を復元した予測値の集合を生成するデコード手順と、が含まれる、ことを特徴とする異常検知方法。
JP2022516488A 2020-04-20 2020-04-20 学習装置、異常検知装置、学習方法及び異常検知方法 Active JP7424474B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/017062 WO2021214833A1 (ja) 2020-04-20 2020-04-20 学習装置、異常検知装置、学習方法及び異常検知方法

Publications (2)

Publication Number Publication Date
JPWO2021214833A1 JPWO2021214833A1 (ja) 2021-10-28
JP7424474B2 true JP7424474B2 (ja) 2024-01-30

Family

ID=78270446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022516488A Active JP7424474B2 (ja) 2020-04-20 2020-04-20 学習装置、異常検知装置、学習方法及び異常検知方法

Country Status (2)

Country Link
JP (1) JP7424474B2 (ja)
WO (1) WO2021214833A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114419035B (zh) * 2022-03-25 2022-06-17 北京百度网讯科技有限公司 产品识别方法、模型训练方法、装置和电子设备
CN116993433A (zh) * 2023-07-14 2023-11-03 重庆邮电大学 一种基于大数据的互联网电商异常用户检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201511887D0 (en) * 2015-07-07 2015-08-19 Touchtype Ltd Improved artificial neural network for language modelling and prediction
US10848508B2 (en) * 2016-09-07 2020-11-24 Patternex, Inc. Method and system for generating synthetic feature vectors from real, labelled feature vectors in artificial intelligence training of a big data machine to defend
US20180203921A1 (en) * 2017-01-17 2018-07-19 Xerox Corporation Semantic search in document review on a tangible user interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MISHRA, Ashish et al.,A Generative Model For Zero Shot Learning Using Conditional Variational Autoencoders,arXiv [online],2018年01月27日,[検索日 2020.09.30],インターネット <URL: https://arxiv.org/pdf/1709.00663v2>

Also Published As

Publication number Publication date
WO2021214833A1 (ja) 2021-10-28
JPWO2021214833A1 (ja) 2021-10-28

Similar Documents

Publication Publication Date Title
JP7169369B2 (ja) 機械学習アルゴリズムのためのデータを生成する方法、システム
US11080475B2 (en) Predicting spreadsheet properties
CN109063055B (zh) 同源二进制文件检索方法和装置
JP6334431B2 (ja) データ分析装置、データ分析方法、およびデータ分析プログラム
JP7424474B2 (ja) 学習装置、異常検知装置、学習方法及び異常検知方法
Lengerich et al. Purifying interaction effects with the functional anova: An efficient algorithm for recovering identifiable additive models
CN111144548A (zh) 抽油机井工况的识别方法及装置
Liang et al. An end-to-end model for android malware detection
CN113853614A (zh) 在量子特征空间中使用量子相似性矩阵的无监督聚类
JP2018147280A (ja) データ分析装置及びデータ分析方法
CN114127747A (zh) 用于分布外检测的似然比
WO2020255414A1 (ja) 学習支援装置、学習支援方法、及びコンピュータ読み取り可能な記録媒体
KR102153161B1 (ko) 확률 그래프 기반의 서열 데이터 연관성 학습 방법 및 시스템
US20230273771A1 (en) Secret decision tree test apparatus, secret decision tree test system, secret decision tree test method, and program
Hu et al. Cb-gan: Generate sensitive data with a convolutional bidirectional generative adversarial networks
JP6831307B2 (ja) 解算出装置、解算出方法及び解算出プログラム
JP7347528B2 (ja) 情報処理プログラム、情報処理方法及び情報処理装置
Makandar et al. An approach to analysis of malware using supervised learning classification
JPWO2020158266A1 (ja) 評価装置、評価方法及びプログラム
JP7420148B2 (ja) 学習装置、学習方法及びプログラム
JP7452247B2 (ja) 変換プログラム、変換方法および情報処理装置
JP2018151913A (ja) 情報処理システム、情報処理方法、及びプログラム
US20230376790A1 (en) Secret decision tree learning apparatus, secret decision tree learning system, secret decision tree learning method, and program
Cardona-Escobar et al. A methodology for the prediction of Embryophyta protein functions using mismatch kernels
US20220199204A1 (en) Iterative state detection for molecular dynamics data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240101

R150 Certificate of patent or registration of utility model

Ref document number: 7424474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150