JP7151604B2 - モデル学習装置、データ分析装置、モデル学習方法、及びプログラム - Google Patents

モデル学習装置、データ分析装置、モデル学習方法、及びプログラム Download PDF

Info

Publication number
JP7151604B2
JP7151604B2 JP2019077274A JP2019077274A JP7151604B2 JP 7151604 B2 JP7151604 B2 JP 7151604B2 JP 2019077274 A JP2019077274 A JP 2019077274A JP 2019077274 A JP2019077274 A JP 2019077274A JP 7151604 B2 JP7151604 B2 JP 7151604B2
Authority
JP
Japan
Prior art keywords
model
learning
data
correlation
dimensions
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
JP2019077274A
Other languages
English (en)
Other versions
JP2020177290A (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
Priority to JP2019077274A priority Critical patent/JP7151604B2/ja
Priority to PCT/JP2020/016274 priority patent/WO2020213560A1/ja
Priority to US17/603,207 priority patent/US20220188647A1/en
Publication of JP2020177290A publication Critical patent/JP2020177290A/ja
Application granted granted Critical
Publication of JP7151604B2 publication Critical patent/JP7151604B2/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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Image Analysis (AREA)

Description

本発明は、深層学習を用いた分析に関するものであり、特に大規模のネットワーク機器から発生するログデータやIoTのセンサ群から得られる大量のデータに関する継続的な分析に関するものである。
分類問題(非特許文献1)、未来予測(非特許文献1)、異常検知(非特許文献2)など様々なタスクに対し精度向上を目的として深層学習が用いられているが、深層学習の手法では訓練による深層学習モデルの構築と訓練済みモデルを用いた対象データの評価の2タームが存在し、これらのタームの中では入力されるデータの次元が等しくなければならないという前提が存在する。
一方でネットワーク機器から発生するログデータやIoTのセンサ群から発生するデータは機器やセンサの交換や設定変更により、深層学習に入力されるデータ次元が変更される場合が存在し、この時訓練済みのモデルに対してデータの次元が変化したデータは入力できないためモデルの再訓練が必要となる。また、機械学習的な手法を用いる場合、分析対象データの種類(今回の問題設定の場合、ネットワーク機器やセンサの数に応じて増大)が多くなり過ぎると計算量が多くなりすぎる、また学習に必要なデータ量が増大する問題がありスケールしない。
J. Schmidhuber, "Deep learning in neural networks: An overview", Neural Networks, 61, 2015. R. Chalapathy and S. Chawla, "DEEP LEARNING FOR ANOMALY DETECTION: A SURVEY", arXiv:1901.03407, 2019. G. E. Hinton and R. R. Salakhutdinov, "Reducing the Dimensionality of Data with Neural Networks" Science , 313 (5786), 2006. X.Guo, X. Liu, E. Zhu and J. Yin, "Deep Clustering with Convolutional Autoencoders",ICONIP 2017. P. Vincent, H. Larochelle, Y. Bengio and P. A. Manzagol "Extracting and composing robust features with denoising autoencoder", ICML 2008 D. P Kingma and M. Welling, "Auto-encoding variational Bayes", ICLR, 2014 S. Bach, A. Binder,G. Montavon, F. Klauschen, K. R. Muller and W. Samek, "On Pixel-Wise Explanations for Non-Linear Classifier Decisions by Layer-Wise Relevance Propagation", PloS one, 10(7), 2015. A. Shrikumar, P. Greenside and A. Kundaje, "Learning important features through propagating activation differences", ICML, 2017 J. Macqueen, "Some methods for classification and analysis of multivariate observations", Proceedings of the fifth Berkeley symposium on mathematical statistics and probability, 1(14), 1967
上記で述べたデータの次元変更によるモデルの再訓練が必要になった場合、訓練に必要なデータを収集する期間及びそのデータを用いてモデルを再訓練する期間では、上記で述べた分類、予測、異常検知等のタスクを実行できなくなる。また分析対象データの種類が多すぎる場合に分析用のモデルの学習が計算量及び学習データ量の観点から行えない場合がある。
本発明は上記の点に鑑みてなされたものであり、モデルを用いてデータの分析を行う技術において、データの次元変更によるモデルの再訓練が必要になった場合でも、継続的に分析を行うことを可能とする技術を提供することを目的とする。
開示の技術によれば、訓練用データを用いて教師無の深層学習モデルの学習を行う学習手段と、
前記深層学習モデルにおける入力次元間の相関関係を算出する算出手段と、
相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行う分割モデル学習手段と
を備えるモデル学習装置が提供される。
開示の技術によれば、モデルを用いてデータの分析を行う技術において、データの次元変更によるモデルの再訓練が必要になった場合でも、継続的に分析を行うことを可能とする技術が提供される。
小規模データを取り扱う際の異常検知装置の機能ブロック図である。 大規模データを取り扱う際の異常検知装置の機能ブロック図 ネットワークログデータの前処理の例を説明するための図である。 寄与度計算の概要を示す図である。 分割モデル再学習の概要を示す図である。 異常検知を例にした分析の例を示す図である。 多段深層学習モデルによる相関関係取得の処理を示す図である。 装置のハードウェア構成の例を示す図である。 実施例1、2の処理を説明するためのフローチャートである。 実施例1の処理を説明するためのフローチャートである。 実施例2の処理を説明するためのフローチャートである。 AEを用いた相関分割の例を示す図である。 モデル分割と異常検知精度を示す図である。
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。また、以下では、本発明を異常検知装置に適用する場合の例を示しているが、本発明は異常検知の分野に限らず、様々な分野に適用可能である。
(実施の形態の概要)
データの次元変更が生じた場合でも、タスク実行不能時間をなくし継続的な分析を行うために、本実施の形態では、一つの深層学習モデルで入力データ全体を取り扱うのではなく、入力データの次元間の相関関係に基づき深層学習モデルを分割し、複数のモデルで入力データを取り扱う。この場合、入力次元が変更したとしても変化した次元が関与するモデルのみ再訓練を行い、その他無関係のモデルでは分析を継続することで、分析の継続性を確保する。
また、分析対象データの種類数に関する分析用モデルの構築不可能性に関する問題に関しては、多段の相関関係取得モデルによるモデル分割により1つあたりのモデルが取り扱うデータの種類を削減することにより学習データ量や計算量を削減することを可能としている。
以下では、具体的な実施の形態として、小規模データのモデル分割手法である実施例1、及び、大規模データのモデル分割手法である実施例2を説明する。
(実施例1:小規模データのモデル分割手法)
まず、実施例1を説明する。
<機能構成例>
実施例1における異常検知装置100の機能ブロックを図1に示す。
図1に示すように、異常検知装置100は、データ収集部110、データ前処理部120、全体訓練部130、深層学習モデル分割部140、データ分析部150を有する。深層学習モデル分割部140は、寄与度計算部141、相関関係算出部142、分割モデル再学習部143を有する。各機能部の処理内容については後述する。
なお、異常検知装置100は、モデル学習の機能を含むので、これをモデル学習装置と呼んでもよい。また、異常検知装置100は、データ分析の機能を含むので、これをデータ分析装置と呼んでもよい。
また、異常検知装置100からデータ分析部150を除いた装置をモデル学習装置と呼んでもよい。また、異常検知装置100からモデル学習用の機能部(全体訓練部130及び深層学習モデル分割部140)を除いた装置をデータ分析装置と呼んでもよい。この場合のデータ分析装置には、分割モデル再学習部143で学習されたモデルが格納され、当該モデルがデータ分析に使用される。
<ハードウェア構成例>
異常検知装置100は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。例えば、モデルでデータを分析することは、データをコンピュータに入力し、モデルに相当するプログラムをコンピュータに実行させることで実現できる。
すなわち、異常検知装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該異常検知装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図8は、本実施の形態における上記コンピュータのハードウェア構成例を示す図である。図8のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、及び入力装置1007等を有する。
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該異常検知装置100に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
なお、前述したモデル学習装置、データ分析装置に関しても同様に、図8に示すようなコンピュータにプログラムを実行させることで実現できる。また、実施例2で説明する異常検知装置200(及びモデル学習装置、データ分析装置)に関しても同様に、図8に示すようなコンピュータにプログラムを実行させることで実現できる。
以下、異常検知装置100の各機能部の処理内容を詳細に説明する。
<データ収集部110、データ前処理部120>
データ収集部110は、本実施例で対象としているICTシステムのネットワークログデータ(数値、テキスト)やIoTシステムのセンサデータを収集する。これらのデータはデータ前処理部120に送られて深層学習に用いることが可能な形状に整形される。
図3に、ネットワークワークログデータに対する前処理により得られるデータの一例を示す。
図3に示すように、整形されたデータは行列の形式をとり、横方向すなわち列のことをデータの次元と定義し、列の数を次元数、それぞれの列のことを各次元と呼ぶ。例えば、図3の例において、時刻00:00に得られた「メモリ(機器A)」の次元の値が0.2であることが示されている。
<全体訓練部130>
モデル分割の対象とする分析手法は表現力の高い深層学習モデルであるので、モデル分割に用いる相関関係取得も深層学習モデルによって行う。そこで、全体訓練部130では整形されたデータを用いてデータ次元間の相関関係を調べるための深層学習モデルを構築する。相関関係を取得するための深層学習モデルとしては教師無のデータ特徴抽出モデルであるAutoEncoder(AE)(非特許文献3)、Convolutional AutoEncoder(非特許文献4)、Denoising AutoEncoder(非特許文献5)、Variational AutoEncoder(VAE)(非特許文献6)などを用いることができる。
全体訓練部130が深層学習モデルを学習した後、学習に用いた整形済みデータと学習済み深層学習モデルを寄与度計算部141に入力する。
<寄与度計算部141>
本実施例では、寄与度計算部141及び相関関係算出部142により、教師無の深層学習モデルに対し、出力側から入力側への逆伝播による深層学習モデルの解釈手法を活用し入力データの次元間の相関関係を算出する。より詳細には下記のとおりである。
AE(VAE)及びその派生形は、深層学習モデル内部で入力データの特徴を抽出しつつ、出力が入力に近くなるように訓練を行うモデルである。ここでは、入力データの次元間相関関係の取得方法として深層学習モデルの解釈を目的として提案されている手法のうちデータの次元の重要度を計算する手法を用いる。このような手法としてLayer-wise relevance propagation(LRP) (非特許文献7)、DeepLIFT(非特許文献8)などが知られている。これらの手法は分類問題のテスト(分析)時にどの次元が分析結果に寄与していたのかを示す手法であるが、本実施例では、当該手法を訓練用データを復元するように学習するモデルであるAE(VAE)及びその派生形に応用する。
寄与度計算部141が実行するLRPやDeepLIFTによる寄与度の算出方法について図4を参照しながら説明する。
寄与度として(a)隣り合う層間毎の寄与度、及び(b)それらを繋げて最終出力値に対する入力の寄与度を求めることができる。以下ではLRP及びDeepLIFTによる解釈手法として提案されているもののうち一番簡単なものを例として説明する。ちなみに以降、寄与度算出部141の処理の説明における上付き文字は指数ではなく添え字である。
(a)初めに層毎の寄与度について説明する。ここでは中間層(1層目)と中間層(2層目)を例にして説明する。なお、図面及び数式のイメージにおいて太字は多次元ベクトルを表す。明細書のテキストにおいては、多次元ベクトルを表す文字についてはその旨を記載する。
(x,x)(xは多次元ベクトル)は図4の深層学習モデルの場合、1層目と2層目を結ぶ重み行列W、及びバイアスb(bは多次元ベクトル)、非線形関数fを用いて、
Figure 0007151604000001
と表わされる。W、b、fは一般化されて、k層目とk+1層目に関してはW、バイアスb、非線形関数fと表わされる。
のj次元目のxのi次元目に対する寄与度は
Figure 0007151604000002
寄与度を比率にする場合:
Figure 0007151604000003
Figure 0007151604000004
と表わされる。
寄与度計算部141において、訓練用データ全体もしくはサンプリングした一部の訓練データを訓練済みモデルの入力とし、各訓練データ毎に上記の寄与度を算出しその平均をとる。寄与度は1層目2層目間だけでなく0層目1層目間から、n層目n+1層目間まですべて計算を行う。図4の下側には、k=0~n、k層目m次元、k+1層目mk+1次元と仮定した場合におけるk層目からk+1層目への寄与度行列Cが示されている。
(b)(a)で求めた寄与度Cij を元に、LRP及びDeepLIFTそれぞれで最終出力に対する入力データの各次元の寄与度を求めることができる。その結果は以下のようになる。以下の式において、iは出力値の次元、jは入力データの次元、kはl層目の次元である。
Figure 0007151604000005
寄与度を比率にする場合:
Figure 0007151604000006
Figure 0007151604000007
この場合の寄与度も(a)の場合と同様、訓練用データ全体もしくはサンプリングした一部の訓練データを訓練済みモデルの入力とし、各訓練データ毎に上記の寄与度を算出しその平均をとる。
<相関関係算出部142>
相関関係算出部142及び分割モデル再学習部143により、入力データの次元間の相関関係に基づき、入力データの次元をクラスタリングし、クラスタ毎に分析用の深層学習モデルを構築する。より具体的には下記のとおりである。
相関関係算出部142は寄与度計算部141で計算された寄与度を用いて入力次元の相関関係を取得する。相関関係取得法として、大まかに分けて、(1)寄与度に対して閾値を設定する方法、(2)クラスタ数を設定する手法、の2種類の手法がある。以下、それぞれに対して詳しく説明する。
(1)寄与度に対して閾値を設定する方法について、閾値を用いる段階を変えることで、下記の(イ)、(ロ)の2種類の手法がある。
(イ)寄与度計算部141により前述した手法(a)で計算された寄与度行列C(k=0~n)を用いて以下のようなバイナリ行列B(k=0~n)を作成する。
Figure 0007151604000008
更に式(5)を用いて、
Figure 0007151604000009
を計算することで入出力の各次元が接続しているかいないかを表すバイナリ行列Bが得られる。AE及びVAEなどでは入力と出力の次元が等しいのでこの行列は正方行列であり、行方向が入力次元、列方向が出力次元となる。
この正方行列を入出力次元数の列ベクトルBに分解し、以下の内積計算をすべての次元のペアで行い、相関関係の算出を行う。
if B・B=0 ⇒ 次元iと次元jに相関関係無し。
if B・B>0 ⇒ 次元iと次元jに相関関係あり。
すべての次元のペアに関して上の計算を行い、相関関係のあるグループ毎に次元をクラスタリングする。
(ロ)寄与度計算部141により前述した手法(b)で計算された寄与度行列Cを列ベクトルCに分解し、各列ベクトルのペアワイズの距離を算出しそれに対して閾値を設定することで相関関係を算出する。ここで距離の定義として
L_1、L_2距離を含むミンコフスキー距離:
Figure 0007151604000010
コサイン類似度:
Figure 0007151604000011
などを用いることができる。ただし、上記式の上付き文字は指数である。
自身を含む全次元と相関関係のない次元が存在する場合、i)それらの次元をひとまとめにして1つの相関関係のグループとみなす場合やii)それらの次元は以降の分析に使用しないという2種類の取り扱いのいずれかを使用することができる。
(2)クラスタ数を決めたうえでクラスタリングする手法としては、kMeans法(非特許文献9)を主に使用することができる。クラスタリングの入力として、(1)(ロ)と同様にCを用いる。この場合も孤立した次元が発生した場合i)それらを1つの相関関係グループとみなす場合とii)それぞれ独立な相関関係グループとみなす場合の2パターンのいずれかを使用することができる。
<分割モデル再学習部143>
分割モデル再学習部143では、相関関係算出部142で得られた相関関係及び全体訓練部130で相関関係取得モデルを訓練するために用いた訓練用データを用いて相関関係が存在する次元毎に分析用モデルを用いて訓練を行う。この処理の具体例を図5に示す。
相関関係算出部142により、図5に示す訓練用データが相関関係1{メモリ(機器A),CPU(機器A),ログ1出現数(正規化済み),....},相関関係2{duration平均(source IP A),Bytes/min(機器A),....}という2種類の相関関係に分割されたと仮定する。
分割モデル再学習部143は、相関関係1に該当するデータを分析用モデル1に入力することで分析用モデル1の訓練を行い、相関関係2に該当するデータを分析用モデル2に入力することで分析用モデル2の訓練を行う。このように、相関関係毎のモデルにデータを入力することで訓練をやり直す。学習された各分析用モデルは、データ分析部150に格納される。
<データ分析部150>
最後にデータ分析部150は、テスト(分析)に用いるデータを、分割モデル再学習部143で作成した複数のモデルに該当する次元毎に分けて入力し、分析結果を出力する。
分析結果の出力の際に、最終的にすべてのモデルの出力をまとめて1つの結果として出力する必要がある場合には、その方法として、a)すべてのモデルから得られる出力結果をまとめて平均をとる、b)各モデルの出力結果をバイナリ化してその平均値をとるなどの処理を行う。
例えば、分類問題の場合、ある分析対象データの次元を分割し分割モデル再学習部143で得られた各モデルに次元分割したデータが入力された場合、それぞれのモデルは各ラベルに該当する確率を出力するが、一つの分析結果として出力する場合にはa)その確率を全モデルで平均し規格化する、b)各モデルの確率を順位付けし投票制にするなどが考えられる。
異常検知を例とした相関分割されたモデル群による分析の具体例を図6に示す。図6に示す例では、分析用データが、相関関係1に該当する次元のデータと、相関関係2に該当する次元のデータとに分割される。相関関係1に該当する次元のデータは、データ分析部150における分析用モデル1に入力され、相関関係2に該当する次元のデータは、データ分析部150における分析用モデル2に入力される。図6の例では、モデル1、モデル2のいずれからも「異常」が出力され、これらをまとめて最終結果("異常")を出力する。
解決しようとする課題で説明したデータの構造変化による継続不能性について、例えば、次元が減る場合は消滅した次元と相関を持つモデルを除いた他のモデルのみで分析を継続し、次元が増える場合はひとまず増えた次元を取り除いて分析を行いこれまでと挙動が大きく異なるように変化したモデルを次元変化の影響を受けたモデルとみなし、以降の分析ではそのモデルを取り除いた残りのモデルで分析を行う。
(実施例2:大規模データのモデル分割手法)
次に実施例2を説明する。実施例2では、入力データの次元を恣意的に分割し、それぞれの中に存在する次元間の相関関係を実施例1で説明した手法で取得し、実施例1で説明した手法で相関に応じて分割された次元の組毎に特徴抽出のための教師無深層学習モデルを構築し、抽出された特徴量を利用して、全体的な相関関係を取得するという、深層学習モデルの段階的な使用により入力データの次元全体の相関関係を取得する。以下、より詳しく説明する。
実施例1では、相関関係を取得するための深層学習モデルを訓練する全体訓練部130を導入している。しかし、取り扱うデータの次元が大きくなると全体訓練部130の学習が不能になる可能性がある。
実施例1の方法で寄与度を計算しようとした場合に、次元数の大きさが原因で一つの相関学習モデルではデータ処理が行えずエラーが出るような場合、以下で説明する手法にて、大規模データに対する相関分割を行う。
<機能構成例>
実施例2における異常検知装置200の機能ブロックを図2に示す。
図2に示すように、異常検知装置200は、データ収集部210、データ前処理部220、部分訓練部230、部分深層学習モデル分割部240、全体訓練部250、全体深層学習モデル分割部260、データ分析部270を有する。部分深層学習モデル分割部240は、部分寄与度計算部241、部分相関関係算出部242、分割モデル特徴抽出部243を有する。全体深層学習モデル分割部260は、全体寄与度計算部261、全体相関関係算出部262、分割モデル再学習部263を有する。
なお、異常検知装置200は、モデル学習の機能を含むので、これをモデル学習装置と呼んでもよい。また、異常検知装置200は、データ分析の機能を含むので、これをデータ分析装置と呼んでもよい。
また、異常検知装置200からデータ分析部270を除いた装置をモデル学習装置と呼んでもよい。また、異常検知装置200からモデル学習用の機能部(部分訓練部230、部分深層学習モデル分割部240、全体訓練部250及び全体深層学習モデル分割部260)を除いた装置をデータ分析装置と呼んでもよい。この場合のデータ分析装置には、分割モデル再学習部263で学習されたモデルが入力され、当該モデルがデータ分析に使用される。
また、実施例1の異常検知装置100(あるいは実施例1のモデル学習装置、データ分析装置)の機能と実施例2の異常検知装置200(あるいは実施例2のモデル学習装置、データ分析装置)の機能の両方を含む異常検知装置(あるいはモデル学習装置、データ分析装置)が用いられてもよい。当該異常検知装置(あるいはモデル学習装置)においては、例えば、入力データの規模が大きすぎて全体訓練部130での学習でエラーが生じた場合に、部分訓練部230での処理に移行する、といった処理を行うことができる。
以下、実施例2の機能部の処理内容を説明する。
<データ収集部210、データ前処理部220、部分訓練部250>
データ収集部210、データ前処理部220の処理内容は基本的には実施例1のデータ収集部110、データ前処理部120の処理内容と同じである。
実施例2では、データ前処理部220は、前処理において入力次元が大規模になった場合、入力次元を恣意的に分割する。なお、この分割は部分訓練部230が実施してもよい。分割の仕方としてネットワーク機器やセンサの実際の位置に基づく分割やデータの種類に基づく分割などを行うことができる。
部分訓練部230は、恣意的に分割された訓練データを用いてその中での相関関係を取得するための深層学習モデルを作成する。ここで、部分訓練部230で用いる相関取得モデルは実施例1と同様AE(VAE)及びその派生形の教師無し深層学習モデルを使用することができる。実施例2では訓練用データが分割されているので、部分訓練部230は、分割された訓練データのそれぞれのモデルの訓練を行う。よって、複数のモデルが訓練される。
<部分寄与度計算部241、部分相関関係算出部242>
部分寄与度計算部141、部分相関関係算出部242の処理内容は、実施例1で説明した寄与度計算部241、相関関係算出部142の処理内容と同じである。ただし、実施例2では、部分訓練部230により得られたそれぞれのモデルに対して、恣意的に分割された次元の中での相関関係を調べる。
図7の(a)に具体例が示されている。図7の(a)に示す例では、前処理データを恣意的に3つのグループに分解したと仮定し、部分相関関係算出部242で、各グループについて相関関係を取得したことが示されている。図7の(a)において、グループ内の同一網掛けのノードが相関関係を持つことを示している。
<分割モデル特徴抽出部243>
分割モデル特徴抽出部243の処理内容は基本的には分割モデル再学習部143と同様である。分割モデル特徴抽出部243では、恣意的に分割された各グループの中の相関関係に基づいてモデルをさらに分割して、訓練用データを用いてAEあるいはVAEのような特徴を抽出するモデルを訓練させる。
図7の(b)に具体例が示されている。分割モデル特徴抽出部243は、各グループの中で相関関係に基づいてモデル分割を行い、それぞれの相関関係の内部の特徴量を抽出するための深層学習モデルを学習する。図7の(b)は、グループ1が、分割モデル1~3等に分割され、それぞれで深層学習モデルの学習を行うことが示されている。3グループの場合、グループ2、3も同様の学習を行う。
<全体訓練部250>
全体訓練部250では、分割モデル特徴抽出部243で訓練されたモデルに訓練データを入力した際に得られる次元が削減された中間層から出力されるデータを、全グループの全モデル分並べたものを相関取得モデルに対する入力とする。ここでも、実施例1の全体訓練部130と同様、全体訓練部250で用いる相関取得モデルとしてAE(VAE)及びその派生形を用いることができる。
<全体寄与度計算部261、全体相関関係算出部262、分割モデル再学習部263、データ分析部270>
全体訓練部250で学習された深層学習モデルについても寄与度計算及び入力された中間層のデータに関する相関関係の算出をそれぞれ全体寄与度計算部261及び全体相関関係算出部262で行う。全体寄与度計算部261及び全体相関関係算出部262の処理内容自体は、実施例1の寄与度計算部241及び相関関係算出部242と同じである。
全体深層学習モデル分割部260において、入力に用いられた分割モデル特徴抽出部243のモデルの中間層がどの相関関係に属しているかは把握済みなので、これらの情報から入力次元全体の相関関係を把握することが可能になる。この相関関係に基づいて入力データの次元を分割し直し、実施例1と同様の分析モデル再学習及び、分析を分割モデル再学習部263及びデータ分析部270で行う。
例えば、恣意的に訓練データを3つのグループに分割した場合を考え、分割モデル特徴抽出部243により、グループ1について分割モデル11、分割モデル12、分割モデル13が得られ、グループ2について分割モデル21、分割モデル22が得られ、グループ3について分割モデル31、分割モデル32、分割モデル33、分割モデル34が得られたとする。
このとき、全体訓練部250では、分割モデル11、分割モデル12、分割モデル13分割モデル21、分割モデル22、分割モデル31、分割モデル32、分割モデル33、及び分割モデル34のそれぞれの各中間層からの出力データが訓練を行う相関取得モデルに対する入力となる。仮に、各中間層の出力が2次元であるとすると。当該相関取得モデルの入力次元(及び出力次元)は、18次元になる。
全体相関関係算出部262により、例えば、18次元のうち、第1次元と第10次元の相関があることが分かったとする。そして、第1次元は分割モデル11に対応する相関関係に属し、第10次元は分割モデル32に対応する相関関係に属するとする。また、分割モデル11に対応する相関関係は、元の訓練データの第2次元、第5次元、第6次元であり、分割モデル32に対応する相関関係は、元の訓練データの第4次元、第7次元、第8次元であるとする。このとき、この相関に関して、分割モデル再学習部262では、元の訓練データの第2次元、第4次元、第5次元、第6次元、第7次元、第8次元の分析用モデルが学習されることになる。
図7の(c)に具体例が示されている。全グループの全モデルの中間層を横に並べて、全体訓練部250、全体寄与度計算部261、全体相関関係算出部262にて最終的に次元間相関関係を算出する。図7の(c)の例では、グループ1、2、3の同一網掛けの中間層が相関関係をもつ(出力次元が接合している)ため、グループ1、2、3に跨って同一網掛けの次元が相関関係を持っている。
(処理フロー)
図9~図11のフローチャートを参照して、実施例1、実施例2の全体の処理の流れを説明する。以下の説明の例では、最初に実施例1の異常検知装置100を使用し、データの規模に応じて、実施例1の異常検知装置100を継続使用、又は、実施例2の異常検知装置200を使用することとしている。なお、個々の機能部の処理内容については既に説明しているので、簡潔に説明している。
S101において、データ前処理部120により行列化されたデータを全体訓練部130に入力する。
S102において全体訓練部130が学習を行うが、データの規模が大きい場合、学習不能であることから(S103のNo)、S200(大規模データの相関分割(図11))へ進む。それ以外の場合(S103のYes)、S104(小規模データの相関分割(図10))へ進む。最初にS104(小規模データの相関分割(図10))へ進むほうを説明する。
図10のS105において、寄与度計算部141は寄与度を計算する。S106において、相関関係算出部142は、相関関係を算出し、訓練データの次元を分割する。
S107において、分割モデル再学習部143は、分割された次元毎に分析用モデルを学習する。S108において、データ分析部150は、分割モデル再学習部143により学習された分析用モデルを用いて、テストデータに対する分析を実行する。
次に、S200(大規模データの相関分割(図11))へ進むほうを説明する。
S201において、データ前処理部220が、前処理された行列データの次元を恣意的にいくつかに分割する。S202において、部分訓練部230は、各分割データを用いて、分割されたグループ毎のモデルの学習を行う。
S203において、部分寄与度計算部241は、モデル毎に寄与度計算を実施する。S204において、部分相関関係算出部242は、モデル毎に相関関係を算出し、モデル毎に次元の分割を行う。S205において、分割モデル特徴抽出部243は、分割されたモデル毎にモデル再学習を行う。
S206において、全体訓練部250は、分割モデル特徴抽出部243で得られた特徴量を用いてモデル学習を行う。S207において、全体寄与度計算部261が寄与度計算を行う。S208において、全体相関関係算出部262が、相関関係を算出し、相関関係に基づいて次元の分割を行う。
S209において、分割モデル再学習部263は、相関に基づき分割されたモデルの再学習を行う。S210において、データ分析部270は、分割モデル再学習部263により学習された分析用モデルを用いて、テストデータに対する分析を実行する。
(実施の形態に係る技術の効果について)
実施例1、2を用いて説明した本実施の形態に係る技術により、データの相関関係という特性に基づいてモデルを分割することで、分析の精度を落とすことなくデータ構造変化が発生した場合の分析タスクの継続不能性という問題に対応することが可能となる。
以下では異常検知のタスクを例に挙げ、その精度を落とすことなくモデルの分割が可能であることを示す。
KSL_KDDというネットワーク侵入検知系のベンチマークデータに対してAEを用いた異常検知を相関関係に基づいて分割した結果を示す。図12はAEを用いた相関分割の結果(一部)を示しており、各○は下側から入力、中間層、出力の各次元を表しており、入力の次元の○で同じ網掛けのものが本手法により相関関係があると判定されたものである。
また相関関係の取得方法としては各層間のリンクに対する閾値決定によってリンクの切断を行いその上で出力同士が繋がっている場合に相関があるとみなしている。さらにこの相関関係に基づき異常検知のための深層学習モデルを分割し異常検知を行った結果を図13に示す。
図13におけるAUCが異常検知の精度を表しており、AUCが高い方が異常検知の精度が高い。図13は相関関係を決定するための閾値によって異常検知精度が変わること、及びモデル分割を行うとモデル分割を行わない場合(閾値=0)よりも精度がよくなる場合があるということを示しており、モデル分割をタスクの精度を落とさず実行できることからこの手法の有用性を表している。
(実施の形態のまとめ)
本実施の形態により、少なくとも下記の各項に記載されたモデル学習装置、データ分析装置、モデル学習方法、及びプログラムが提供される。
(第1項)
訓練用データを用いて教師無の深層学習モデルの学習を行う学習手段と、
前記深層学習モデルにおける入力次元間の相関関係を算出する算出手段と、
相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行う分割モデル学習手段と
を備えるモデル学習装置。
(第2項)
前記算出手段は、前記深層学習モデルにおける入力データの各次元の最終出力値に対する寄与度を算出し、当該寄与度に基づいて入力次元間の相関関係を算出する
第1項に記載のモデル学習装置。
(第3項)
第1項又は第2項に記載の前記分割モデル学習手段により学習された分析用モデルを用いてデータ分析を行うデータ分析手段を備えるデータ分析装置。
(第4項)
訓練用データの次元を複数のグループに分割し、グループ毎に、分割された訓練用データを用いて教師無の深層学習モデルの学習を行う部分学習手段と、
グループ毎に、前記深層学習モデルにおける入力次元間の相関関係を算出する算出手段と、
グループ毎に、相関関係が存在する次元の組毎に前記訓練用データを用いて分割モデルの学習を行う特徴量抽出手段と、
グループ毎の各分割モデルから得られる特徴量を用いて深層学習モデルを学習し、当該深層学習モデルにおける入力次元間の相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行う学習手段と
を備えるモデル学習装置。
(第5項)
第4項に記載の前記学習手段により学習された分析用モデルを用いてデータ分析を行うデータ分析手段を備えるデータ分析装置。
(第6項)
モデル学習装置が実行するモデル学習方法であって、
訓練用データを用いて教師無の深層学習モデルの学習を行う学習ステップと、
前記深層学習モデルにおける入力次元間の相関関係を算出する算出ステップと、
相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行う分割モデル学習ステップと
を備えるモデル学習方法。
(第7項)
モデル学習装置が実行するモデル学習方法であって、
訓練用データの次元を複数のグループに分割し、グループ毎に、分割された訓練用データを用いて教師無の深層学習モデルの学習を行う部分学習ステップと、
グループ毎に、前記深層学習モデルにおける入力次元間の相関関係を算出する算出ステップと、
グループ毎に、相関関係が存在する次元の組毎に前記訓練用データを用いて分割モデルの学習を行うステップと、
グループ毎の各分割モデルから得られる特徴量を用いて深層学習モデルを学習し、当該深層学習モデルにおける入力次元間の相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行うステップと
を備えるモデル学習方法。
(第8項)
コンピュータを、第1項、第2項又は第4項に記載のモデル学習装置における各手段として機能させるためのプログラム。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 異常検知装置
110 データ収集部
120 データ前処理部
130 全体訓練部
140 深層学習モデル分割部
141 寄与度計算部
142 相関関係算出部
143 分割モデル再学習部
150 データ分析部
200 異常検知装置
210 データ収集部
220 データ前処理部
230 部分訓練部
240 部分深層学習モデル分割部
241 部分寄与度計算部
242 部分相関関係算出部
243 分割モデル特徴抽出部
250 全体訓練部
260 全体深層学習モデル分割部
261 全体寄与度計算部
262 全体相関関係算出部
263 分割モデル再学習部
270 データ分析部
1000 ドライブ装置
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置

Claims (8)

  1. 訓練用データを用いて教師無の深層学習モデルの学習を行う学習手段と、
    前記深層学習モデルにおける入力次元間の相関関係を算出する算出手段と、
    相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行う分割モデル学習手段と
    を備えるモデル学習装置。
  2. 前記算出手段は、前記深層学習モデルにおける入力データの各次元の最終出力値に対する寄与度を算出し、当該寄与度に基づいて入力次元間の相関関係を算出する
    請求項1に記載のモデル学習装置。
  3. 請求項1又は2に記載の前記分割モデル学習手段により学習された分析用モデルを用いてデータ分析を行うデータ分析手段を備えるデータ分析装置。
  4. 訓練用データの次元を複数のグループに分割し、グループ毎に、分割された訓練用データを用いて教師無の深層学習モデルの学習を行う部分学習手段と、
    グループ毎に、前記深層学習モデルにおける入力次元間の相関関係を算出する算出手段と、
    グループ毎に、相関関係が存在する次元の組毎に前記訓練用データを用いて分割モデルの学習を行う特徴量抽出手段と、
    グループ毎の各分割モデルから得られる特徴量を用いて深層学習モデルを学習し、当該深層学習モデルにおける入力次元間の相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行う学習手段と
    を備えるモデル学習装置。
  5. 請求項4に記載の前記学習手段により学習された分析用モデルを用いてデータ分析を行うデータ分析手段を備えるデータ分析装置。
  6. モデル学習装置が実行するモデル学習方法であって、
    訓練用データを用いて教師無の深層学習モデルの学習を行う学習ステップと、
    前記深層学習モデルにおける入力次元間の相関関係を算出する算出ステップと、
    相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行う分割モデル学習ステップと
    を備えるモデル学習方法。
  7. モデル学習装置が実行するモデル学習方法であって、
    訓練用データの次元を複数のグループに分割し、グループ毎に、分割された訓練用データを用いて教師無の深層学習モデルの学習を行う部分学習ステップと、
    グループ毎に、前記深層学習モデルにおける入力次元間の相関関係を算出する算出ステップと、
    グループ毎に、相関関係が存在する次元の組毎に前記訓練用データを用いて分割モデルの学習を行うステップと、
    グループ毎の各分割モデルから得られる特徴量を用いて深層学習モデルを学習し、当該深層学習モデルにおける入力次元間の相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行うステップと
    を備えるモデル学習方法。
  8. コンピュータを、請求項1、2又は4に記載のモデル学習装置における各手段として機能させるためのプログラム。
JP2019077274A 2019-04-15 2019-04-15 モデル学習装置、データ分析装置、モデル学習方法、及びプログラム Active JP7151604B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019077274A JP7151604B2 (ja) 2019-04-15 2019-04-15 モデル学習装置、データ分析装置、モデル学習方法、及びプログラム
PCT/JP2020/016274 WO2020213560A1 (ja) 2019-04-15 2020-04-13 モデル学習装置、データ分析装置、モデル学習方法、及びプログラム
US17/603,207 US20220188647A1 (en) 2019-04-15 2020-04-13 Model learning apparatus, data analysis apparatus, model learning method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019077274A JP7151604B2 (ja) 2019-04-15 2019-04-15 モデル学習装置、データ分析装置、モデル学習方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020177290A JP2020177290A (ja) 2020-10-29
JP7151604B2 true JP7151604B2 (ja) 2022-10-12

Family

ID=72837908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019077274A Active JP7151604B2 (ja) 2019-04-15 2019-04-15 モデル学習装置、データ分析装置、モデル学習方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220188647A1 (ja)
JP (1) JP7151604B2 (ja)
WO (1) WO2020213560A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115130621B (zh) * 2022-08-31 2022-12-27 支付宝(杭州)信息技术有限公司 一种模型训练方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017123088A (ja) 2016-01-08 2017-07-13 安川情報システム株式会社 決定木学習アルゴリズムを用いた予測プログラム、装置及び方法
JP2018169999A (ja) 2017-03-29 2018-11-01 株式会社東芝 モデル構築システムおよびモデル構築方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017123088A (ja) 2016-01-08 2017-07-13 安川情報システム株式会社 決定木学習アルゴリズムを用いた予測プログラム、装置及び方法
JP2018169999A (ja) 2017-03-29 2018-11-01 株式会社東芝 モデル構築システムおよびモデル構築方法

Also Published As

Publication number Publication date
JP2020177290A (ja) 2020-10-29
US20220188647A1 (en) 2022-06-16
WO2020213560A1 (ja) 2020-10-22

Similar Documents

Publication Publication Date Title
Lu et al. Detecting anomaly in big data system logs using convolutional neural network
Chen et al. A deep capsule neural network with stochastic delta rule for bearing fault diagnosis on raw vibration signals
US10552119B2 (en) Dynamic management of numerical representation in a distributed matrix processor architecture
Costa et al. Failure detection in robotic arms using statistical modeling, machine learning and hybrid gradient boosting
Shu et al. Updating attribute reduction in incomplete decision systems with the variation of attribute set
Su et al. A novel method based on deep transfer unsupervised learning network for bearing fault diagnosis under variable working condition of unequal quantity
Xie et al. Graph convolutional networks with multi-level coarsening for graph classification
CN115185736B (zh) 基于图卷积神经网络的微服务调用链异常检测方法及装置
Ortego et al. Evolutionary LSTM-FCN networks for pattern classification in industrial processes
Li et al. Identification of dynamic community in temporal network via joint learning graph representation and nonnegative matrix factorization
CN116226739A (zh) 一种基于时空融合的图卷积网络工业过程故障诊断方法
Yeh et al. Application of LSTM based on the BAT-MCS for binary-state network approximated time-dependent reliability problems
Dang et al. Semi-supervised vibration-based structural health monitoring via deep graph learning and contrastive learning
Melgar-García et al. Discovering three-dimensional patterns in real-time from data streams: An online triclustering approach
JP7151604B2 (ja) モデル学習装置、データ分析装置、モデル学習方法、及びプログラム
Che et al. Few-shot structural repair decision of civil aircraft based on deep meta-learning
He et al. Efficiently localizing system anomalies for cloud infrastructures: a novel Dynamic Graph Transformer based Parallel Framework
Patra et al. Anomaly detection in rotating machinery using autoencoders based on bidirectional LSTM and GRU neural networks
Memiş et al. A classification method based on Hamming pseudo-similarity of intuitionistic fuzzy parameterized intuitionistic fuzzy soft matrices
Bahrpeyma et al. Fast fuzzy modeling method to estimate missing logsin hydrocarbon reservoirs
Li et al. Causal-aware generative imputation for automated underwriting
Bigoni et al. Predictive monitoring of large-scale engineering assets using machine learning techniques and reduced-order modeling
Jiang et al. Unsupervised deep learning for data-driven reliability and risk analysis of engineered systems
CN109360607B (zh) 一种动态基因调控网的网络演化分析方法及装置
Rajendran et al. Data mining when each data point is a network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210726

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: 20220830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220912

R150 Certificate of patent or registration of utility model

Ref document number: 7151604

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150