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

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

Info

Publication number
WO2020213560A1
WO2020213560A1 PCT/JP2020/016274 JP2020016274W WO2020213560A1 WO 2020213560 A1 WO2020213560 A1 WO 2020213560A1 JP 2020016274 W JP2020016274 W JP 2020016274W WO 2020213560 A1 WO2020213560 A1 WO 2020213560A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
learning
data
correlation
analysis
Prior art date
Application number
PCT/JP2020/016274
Other languages
English (en)
French (fr)
Inventor
兼悟 田尻
敬志郎 渡辺
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US17/603,207 priority Critical patent/US20220188647A1/en
Publication of WO2020213560A1 publication Critical patent/WO2020213560A1/ja

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

Definitions

  • the present invention relates to analysis using deep learning, and particularly to continuous analysis of log data generated from a large-scale network device and a large amount of data obtained from a group of IoT sensors.
  • Deep learning is used for the purpose of improving accuracy for various tasks such as classification problems (Non-Patent Document 1), future prediction (Non-Patent Document 1), and anomaly detection (Non-Patent Document 2). Then, there are two terms, the construction of a deep learning model by training and the evaluation of the target data using the trained model, and there is a premise that the dimensions of the input data must be the same in these terms.
  • the log data generated from the network device and the data generated from the IoT sensor group may change the data dimension input to the deep learning due to the replacement of the device or sensor or the setting change. Since data whose data dimension has changed cannot be input to the model of, the model needs to be retrained. In addition, when using a machine learning method, if the number of types of data to be analyzed (in the case of this problem setting, it increases according to the number of network devices and sensors) becomes too large, the amount of calculation becomes too large, and for learning. There is a problem that the amount of data required increases and it does not scale.
  • the classification and prediction described above are performed during the period for collecting the data necessary for training and the period for retraining the model using the data. , It becomes impossible to execute tasks such as abnormality detection. In addition, when there are too many types of data to be analyzed, it may not be possible to train the model for analysis from the viewpoint of the amount of calculation and the amount of training data.
  • the present invention has been made in view of the above points, and in a technique for analyzing data using a model, even if it is necessary to retrain the model by changing the dimension of the data, the analysis is continuously performed.
  • the purpose is to provide technology that makes this possible.
  • a learning means for learning a teacherless deep learning model using training data and A calculation means for calculating the correlation between input dimensions in the deep learning model
  • a model learning device provided with a split model learning means for learning an analysis model using the training data is provided for each set of dimensions in which a correlation exists.
  • the technology for analyzing data using a model even if the model needs to be retrained by changing the dimension of the data, the technology that enables continuous analysis is provided. Will be done.
  • FIG. 1 It is a functional block diagram of an abnormality detection device when handling small-scale data.
  • Functional block diagram of anomaly detection device when handling large-scale data It is a figure for demonstrating the example of the preprocessing of network log data. It is a figure which shows the outline of contribution calculation. It is a figure which shows the outline of the division model re-learning. It is a figure which shows the example of the analysis which took the abnormality detection as an example. It is a figure which shows the process of the correlation acquisition by a multi-stage deep learning model. It is a figure which shows the example of the hardware composition of the apparatus. It is a flowchart for demonstrating the process of Examples 1 and 2. It is a flowchart for demonstrating the process of Example 1. FIG. It is a flowchart for demonstrating the process of Example 2. It is a figure which shows the example of the correlation division using AE. It is a figure which shows the model division and abnormality detection accuracy.
  • the input data dimension is not handled by one deep learning model.
  • the deep learning model is divided based on the correlation between them, and the input data is handled by multiple models. In this case, even if the input dimension changes, the continuity of the analysis is ensured by retraining only the model in which the changed dimension is involved and continuing the analysis in the other unrelated models.
  • the amount of training data is reduced by reducing the types of data handled by each model by model division using a multi-stage correlation acquisition model. And it is possible to reduce the amount of calculation.
  • Example 1 which is a model division method for small-scale data
  • Example 2 which is a model division method for large-scale data
  • Example 1 Model division method for small-scale data
  • the abnormality detection device 100 includes a model learning function, this may be called a model learning device. Further, since the abnormality detection device 100 includes a data analysis function, this may be referred to as a data analysis device.
  • the device obtained by removing the data analysis unit 150 from the abnormality detection device 100 may be called a model learning device.
  • the device excluding the functional unit for model learning (overall training unit 130 and deep learning model dividing unit 140) from the abnormality detection device 100 may be called a data analysis device.
  • the data analysis device stores the model learned by the division model re-learning unit 143, and the model is used for data analysis.
  • the abnormality detection device 100 can be realized by, for example, causing a computer to execute a program describing the processing contents described in the present embodiment.
  • analyzing data with a model can be realized by inputting the data into a computer and causing the computer to execute a program corresponding to the model.
  • FIG. 8 is a diagram showing a hardware configuration example of the computer according to the present embodiment.
  • the computer of FIG. 8 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, and the like, each of which is connected to each other by a bus B.
  • the program that realizes the processing on the computer is provided by, for example, a recording medium 1001 such as a CD-ROM or a memory card.
  • a recording medium 1001 such as a CD-ROM or a memory card.
  • the program is installed in the auxiliary storage device 1002 from the recording medium 1001 via the drive device 1000.
  • the program does not necessarily have to be installed from the recording medium 1001, and may be downloaded from another computer via the network.
  • the auxiliary storage device 1002 stores the installed program and also stores necessary files, data, and the like.
  • model learning device and the data analysis device described above can be realized by having a computer as shown in FIG. 8 execute the program.
  • the abnormality detection device 200 (and the model learning device and the data analysis device) described in the second embodiment can be realized by causing a computer as shown in FIG. 8 to execute a program.
  • the data collection unit 110 collects network log data (numerical value, text) of the ICT system targeted in this embodiment and sensor data of the IoT system. These data are sent to the data preprocessing unit 120 and shaped into a shape that can be used for deep learning.
  • FIG. 3 shows an example of data obtained by preprocessing the network work log data.
  • deep learning models for acquiring correlations AutoEncoder (AE) (Non-Patent Document 3), Convolutional AutoEncoder (Non-Patent Document 4), Denoising AutoEncoder (Non-Patent Document 5), which are data feature extraction models without teachers, Variational AutoEncoder (VAE) (Non-Patent Document 6) and the like can be used.
  • AE AutoEncoder
  • Non-Patent Document 4 Convolutional AutoEncoder
  • Denoising AutoEncoder Non-Patent Document 5
  • VAE Variational AutoEncoder
  • the shaped data used for the learning and the learned deep learning model are input to the contribution calculation unit 141.
  • the contribution calculation unit 141 and the correlation calculation unit 142 utilize the interpretation method of the deep learning model by back propagation from the output side to the input side for the deep learning model without teacher, and the dimension of the input data. Calculate the correlation between them. More details are as follows.
  • (x 1 , x 2 ) (x is a multidimensional vector) is a weight matrix W 1 connecting the first layer and the second layer, and a bias b 1 (b is a multidimensional vector), Using the nonlinear function f 1 ,
  • W, b, and f are generalized and are expressed as W k , bias b k , and nonlinear function f k for the k-th layer and the k + 1-th layer.
  • the correlation calculation unit 142 and the division model relearning unit 143 cluster the dimensions of the input data based on the correlation between the dimensions of the input data, and construct a deep learning model for analysis for each cluster. More specifically, it is as follows.
  • Correlation calculation unit 142 acquires the correlation of the input dimension using the contribution degree calculated by the contribution degree calculation unit 141.
  • correlation acquisition methods There are roughly two types of correlation acquisition methods: (1) a method of setting a threshold value for contribution, and (2) a method of setting the number of clusters. Each of them will be described in detail below.
  • a binary matrix B representing whether or not each dimension of input / output is connected can be obtained.
  • this matrix is a square matrix, with the row direction being the input dimension and the column direction being the output dimension.
  • the square matrix is decomposed into a column vector B i of the input and output number of dimensions, make the following inner product calculations in all dimensions of the pair, and calculates the correlation.
  • contribution matrix C calculated in method (b) described above is decomposed into a column vector C i by contribution calculation unit 141 calculates the distance of pair-wise for each column vector setting the threshold to it that Calculate the correlation with.
  • the Minkowski distance including the L_1 and L_1 distances:
  • Etc. can be used. However, the superscript in the above formula is an exponent.
  • Non-Patent Document 9 As a method for clustering after determining the number of clusters, the kMeans method (Non-Patent Document 9) can be mainly used.
  • input clustering (1) (b) as well as use of C i.
  • one of two patterns can be used: i) when isolated dimensions occur, i) when they are regarded as one correlation group, and ii) when they are regarded as independent correlation groups.
  • ⁇ Divided model re-learning unit 143 In the divided model re-learning unit 143, the correlation obtained by the correlation calculation unit 142 and the training data used for training the correlation acquisition model by the overall training unit 130 are used for each dimension in which the correlation exists. Train using an analytical model. A specific example of this process is shown in FIG.
  • the training data shown in FIG. 5 is correlated with correlation 1 ⁇ memory (device A), CPU (device A), log 1 appearance number (normalized), ... ⁇ , Correlation 2 ⁇ duration average (source IP A), Bytes / min (device A), ... ⁇ It is assumed that it is divided into two types of correlations.
  • the division model re-learning unit 143 trains the analysis model 1 by inputting the data corresponding to the correlation 1 into the analysis model 1, and inputs the data corresponding to the correlation 2 into the analysis model 2.
  • the analysis model 2 is trained in. In this way, training is redone by inputting data into the model for each correlation.
  • Each learned model for analysis is stored in the data analysis unit 150.
  • the data analysis unit 150 inputs the data used for the test (analysis) separately for each dimension corresponding to the plurality of models created by the divided model re-learning unit 143, and outputs the analysis result.
  • each model determines the probability of corresponding to each label.
  • a) the probabilities are averaged and standardized for all models, b) the probabilities of each model are ranked and a voting system is considered.
  • FIG. 6 shows a specific example of analysis using a correlation-divided model group using anomaly detection as an example.
  • the analysis data is divided into dimensional data corresponding to correlation 1 and dimensional data corresponding to correlation 2.
  • the dimensional data corresponding to the correlation 1 is input to the analysis model 1 in the data analysis unit 150, and the dimensional data corresponding to the correlation 2 is input to the analysis model 2 in the data analysis unit 150.
  • "abnormality" is output from both the model 1 and the model 2, and the final result (“abnormality”) is output collectively.
  • the analysis is continued only with other models excluding the model that correlates with the disappeared dimension, and the dimension increases.
  • the increased dimension is removed and the analysis is performed, and the model that has changed so that the behavior is significantly different from the previous one is regarded as the model affected by the dimension change, and in the subsequent analysis, the remaining model from which the model is removed is used for analysis.
  • Example 2 Model division method for large-scale data
  • the dimensions of the input data are arbitrarily divided, the correlation between the dimensions existing in each is acquired by the method described in the first embodiment, and the correlation is adjusted by the method described in the first embodiment.
  • a stepwise deep learning model in which a teacherless deep learning model for feature extraction is constructed for each set of dimensions divided by the above, and the extracted features are used to obtain the overall correlation. Use to get the correlation of the entire dimension of the input data.
  • it will be described in more detail.
  • Example 1 the overall training unit 130 that trains a deep learning model for acquiring correlation is introduced. However, if the dimension of the data to be handled becomes large, the learning of the overall training unit 130 may become impossible.
  • the abnormality detection device 200 includes a data collection unit 210, a data preprocessing unit 220, a partial training unit 230, a partial deep learning model division unit 240, an overall training unit 250, and an overall deep learning model division unit 260. It has a data analysis unit 270.
  • the partial deep learning model division unit 240 has a partial contribution calculation unit 241, a partial correlation calculation unit 242, and a division model feature extraction unit 243.
  • the overall deep learning model division unit 260 has an overall contribution calculation unit 261, an overall correlation calculation unit 262, and a division model re-learning unit 263.
  • the abnormality detection device 200 includes a model learning function, this may be called a model learning device. Further, since the abnormality detection device 200 includes a data analysis function, this may be referred to as a data analysis device.
  • the device obtained by removing the data analysis unit 270 from the abnormality detection device 200 may be called a model learning device.
  • a device excluding the functional unit for model learning (partial training unit 230, partial deep learning model division unit 240, overall training unit 250, and overall deep learning model division unit 260) from the abnormality detection device 200 is called a data analysis device. It may be.
  • the model learned by the split model re-learning unit 263 is input to the data analysis device in this case, and the model is used for data analysis.
  • An anomaly detection device (or a model learning device, a data analysis device) including both functions may be used.
  • the abnormality detection device for example, when the scale of the input data is too large and an error occurs in the learning in the overall training unit 130, the process shifts to the processing in the partial training unit 230. Processing can be performed.
  • the processing contents of the data collecting unit 210 and the data preprocessing unit 220 are basically the same as the processing contents of the data collecting unit 110 and the data preprocessing unit 120 of the first embodiment.
  • the data preprocessing unit 220 arbitrarily divides the input dimension when the input dimension becomes large in the preprocessing.
  • this division may be carried out by the partial training unit 230.
  • As a method of division it is possible to perform division based on the actual position of the network device or sensor, division based on the type of data, and the like.
  • the partial training unit 230 creates a deep learning model for acquiring the correlation in the arbitrarily divided training data.
  • AE VAE
  • VAE unsupervised deep learning model
  • the partial training unit 230 trains each model of the divided training data. Therefore, multiple models are trained.
  • ⁇ Partial contribution calculation unit 241 and partial correlation calculation unit 242> The processing contents of the partial contribution calculation unit 141 and the partial correlation calculation unit 242 are the same as the processing contents of the contribution calculation unit 241 and the correlation calculation unit 142 described in the first embodiment. However, in the second embodiment, the correlation in the arbitrarily divided dimension is examined for each model obtained by the partial training unit 230.
  • FIG. 7A A specific example is shown in (a) of FIG.
  • the preprocessed data is arbitrarily decomposed into three groups, and it is shown that the partial correlation calculation unit 242 has acquired the correlation for each group. ..
  • FIG. 7A it is shown that the same shaded nodes in the group have a correlation.
  • the processing content of the divided model feature extraction unit 243 is basically the same as that of the divided model re-learning unit 143.
  • the divided model feature extraction unit 243 further divides the model based on the correlation in each arbitrarily divided group, and trains a model that extracts features such as AE or VAE using training data. Let me.
  • the divided model feature extraction unit 243 performs model division based on the correlation in each group, and learns a deep learning model for extracting the feature amount inside each correlation.
  • FIG. 7B shows that group 1 is divided into division models 1 to 3, etc., and each of them trains a deep learning model. In the case of 3 groups, the same learning is performed in groups 2 and 3.
  • the data output from the intermediate layer whose dimensions are reduced when the training data is input to the model trained by the divided model feature extraction unit 243 is arranged for all models in all groups. Is the input for the correlation acquisition model.
  • AE VAE
  • VAE correlation acquisition model
  • the whole deep learning model division unit 260 Since the whole deep learning model division unit 260 has already grasped which correlation the intermediate layer of the model of the division model feature extraction unit 243 used for the input belongs to, the correlation of the entire input dimension can be grasped from this information. It becomes possible to do.
  • the dimension of the input data is re-divided based on this correlation, and the same analysis model re-learning and analysis as in Example 1 are performed by the division model re-learning unit 263 and the data analysis unit 270.
  • the divided model feature extraction unit 243 obtains the divided model 11, the divided model 12, and the divided model 13 for the group 1, and the divided model 21 for the group 2.
  • the divided model 22 is obtained, and the divided model 31, the divided model 32, the divided model 33, and the divided model 34 are obtained for the group 3.
  • the overall correlation calculation unit 262 finds that there is a correlation between the first dimension and the tenth dimension among the 18 dimensions, for example. Then, it is assumed that the first dimension belongs to the correlation corresponding to the division model 11 and the tenth dimension belongs to the correlation corresponding to the division model 32. Further, the correlation corresponding to the divided model 11 is the second dimension, the fifth dimension, and the sixth dimension of the original training data, and the correlation corresponding to the divided model 32 is the fourth dimension of the original training data. It is assumed that it is the 7th dimension and the 8th dimension. At this time, regarding this correlation, the division model re-learning unit 262 learns the analysis models of the second dimension, the fourth dimension, the fifth dimension, the sixth dimension, the seventh dimension, and the eighth dimension of the original training data. Will be.
  • the data matrixed by the data preprocessing unit 120 is input to the overall training unit 130.
  • the general training unit 130 performs learning, but if the scale of the data is large, learning is impossible (No in S103), so the process proceeds to S200 (correlation division of large-scale data (FIG. 11)). In other cases (Yes in S103), the process proceeds to S104 (correlation division of small-scale data (FIG. 10)). First, the method of proceeding to S104 (correlation division of small-scale data (FIG. 10)) will be described.
  • the divided model re-learning unit 143 learns the analysis model for each divided dimension.
  • the data analysis unit 150 executes an analysis on the test data using the analysis model learned by the division model relearning unit 143.
  • the data preprocessing unit 220 arbitrarily divides the dimension of the preprocessed matrix data into several parts.
  • the partial training unit 230 learns the model for each divided group using each divided data.
  • the partial contribution calculation unit 241 performs the contribution calculation for each model.
  • the partial correlation calculation unit 242 calculates the correlation for each model and divides the dimensions for each model.
  • the divided model feature extraction unit 243 performs model re-learning for each divided model.
  • the split model re-learning unit 263 relearns the split model based on the correlation.
  • the data analysis unit 270 executes an analysis on the test data using the analysis model learned by the division model relearning unit 263.
  • the task of abnormality detection is taken as an example, and it is shown that the model can be divided without degrading its accuracy.
  • FIG. 12 shows the result (part) of the correlation division using AE, and each ⁇ represents each dimension of the input, the intermediate layer, and the output from the lower side, and the ⁇ of the input dimension is the same shaded area. Those are determined to have a correlation by this method.
  • FIG. 13 shows the result of dividing the deep learning model for abnormality detection based on this correlation and performing abnormality detection.
  • the AUC in FIG. 13 represents the accuracy of abnormality detection, and the higher the AUC, the higher the accuracy of abnormality detection.
  • the present embodiment provides at least the model learning device, the data analysis device, the model learning method, and the program described in the following items.
  • (Section 1) A learning method for learning a deep learning model without a teacher using training data, A calculation means for calculating the correlation between input dimensions in the deep learning model, and A model learning device including a divided model learning means for learning an analysis model using the training data for each set of dimensions in which a correlation exists.
  • (Section 2) The model learning apparatus according to item 1, wherein the calculation means calculates the contribution of the input data in the deep learning model to the final output value of each dimension, and calculates the correlation between the input dimensions based on the contribution. ..
  • a data analyzer comprising a data analysis means for performing data analysis using an analysis model learned by the division model learning means according to the first or second paragraph.
  • a partial learning means that divides the dimension of training data into multiple groups and trains a deep learning model without a teacher using the divided training data for each group. For each group, a calculation means for calculating the correlation between the input dimensions in the deep learning model, and A feature amount extraction means for learning a division model using the training data for each group and for each set of dimensions having a correlation.
  • a deep learning model is trained using the features obtained from each divided model for each group, and for each set of dimensions in which there is a correlation between the input dimensions in the deep learning model, the training data is used for analysis.
  • a model learning device provided with a learning means for learning a model.
  • a data analyzer comprising a data analysis means for performing data analysis using the analysis model learned by the learning means according to the fourth item.
  • a model learning method executed by a model learning device. Learning steps to learn a teacherless deep learning model using training data, A calculation step for calculating the correlation between input dimensions in the deep learning model, and A model learning method including a divided model learning step in which an analysis model is trained using the training data for each set of dimensions in which a correlation exists.
  • a model learning method executed by a model learning device. A partial learning step that divides the dimension of training data into multiple groups and trains a deep learning model without a teacher using the divided training data for each group.
  • a calculation step for calculating the correlation between the input dimensions in the deep learning model For each group, a calculation step for calculating the correlation between the input dimensions in the deep learning model, and A step of learning a division model using the training data for each group and for each set of dimensions having a correlation.
  • a deep learning model is trained using the features obtained from each divided model for each group, and for each set of dimensions in which there is a correlation between the input dimensions in the deep learning model, the training data is used for analysis.
  • a model learning method that includes steps to train the model. (Section 8)
  • Anomaly detection device 110 Data collection unit 120 Data preprocessing unit 130 Overall training unit 140 Deep learning model division unit 141 Contribution calculation unit 142 Correlation calculation unit 143 Division model relearning unit 150 Data analysis unit 200 Anomaly detection device 210 Data collection Part 220 Data preprocessing part 230 Partial training part 240 Partial deep learning model division part 241 Partial contribution calculation part 242 Partial correlation calculation part 243 Divided model feature extraction part 250 Overall training part 260 Overall deep learning model division part 261 Overall contribution Calculation unit 262 Overall correlation calculation unit 263 Divided model re-learning unit 270 Data analysis unit 1000 Drive device 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input device

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)

Abstract

モデル学習装置において、訓練用データを用いて教師無の深層学習モデルの学習を行う学習手段と、前記深層学習モデルにおける入力次元間の相関関係を算出する算出手段と、相関関係が存在する次元の組毎に、前記訓練用データを用いて分析用モデルの学習を行う分割モデル学習手段とを備える。

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 JPOXMLDOC01-appb-M000001






と表わされる。W、b、fは一般化されて、k層目とk+1層目に関してはW、バイアスb、非線形関数fと表わされる。
 xのj次元目のxのi次元目に対する寄与度は
Figure JPOXMLDOC01-appb-M000002
 寄与度を比率にする場合:
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
と表わされる。
 寄与度計算部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 JPOXMLDOC01-appb-M000005




 寄与度を比率にする場合:
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
この場合の寄与度も(a)の場合と同様、訓練用データ全体もしくはサンプリングした一部の訓練データを訓練済みモデルの入力とし、各訓練データ毎に上記の寄与度を算出しその平均をとる。
 <相関関係算出部142>
 相関関係算出部142及び分割モデル再学習部143により、入力データの次元間の相関関係に基づき、入力データの次元をクラスタリングし、クラスタ毎に分析用の深層学習モデルを構築する。より具体的には下記のとおりである。
 相関関係算出部142は寄与度計算部141で計算された寄与度を用いて入力次元の相関関係を取得する。相関関係取得法として、大まかに分けて、(1)寄与度に対して閾値を設定する方法、(2)クラスタ数を設定する手法、の2種類の手法がある。以下、それぞれに対して詳しく説明する。
 (1)寄与度に対して閾値を設定する方法について、閾値を用いる段階を変えることで、下記の(イ)、(ロ)の2種類の手法がある。
 (イ)寄与度計算部141により前述した手法(a)で計算された寄与度行列C(k=0~n)を用いて以下のようなバイナリ行列B(k=0~n)を作成する。
Figure JPOXMLDOC01-appb-M000008






 更に式(5)を用いて、
Figure JPOXMLDOC01-appb-M000009
を計算することで入出力の各次元が接続しているかいないかを表すバイナリ行列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 JPOXMLDOC01-appb-M000010
 コサイン類似度:
Figure JPOXMLDOC01-appb-M000011
などを用いることができる。ただし、上記式の上付き文字は指数である。
 自身を含む全次元と相関関係のない次元が存在する場合、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に記載のモデル学習装置における各手段として機能させるためのプログラム。
PCT/JP2020/016274 2019-04-15 2020-04-13 モデル学習装置、データ分析装置、モデル学習方法、及びプログラム WO2020213560A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
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 (2)

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

Publications (1)

Publication Number Publication Date
WO2020213560A1 true WO2020213560A1 (ja) 2020-10-22

Family

ID=72837908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/016274 WO2020213560A1 (ja) 2019-04-15 2020-04-13 モデル学習装置、データ分析装置、モデル学習方法、及びプログラム

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 株式会社東芝 モデル構築システムおよびモデル構築方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAJIRI , KENJI ET AL.: "A Study on Flexible Anomaly Detection Method for Large-Scale ICT System Monitoring", IEICE 2019 COMMUNICATIONS SOCIETY CONFERENCE PROCEEDINGS 2, 10 September 2019 (2019-09-10), pages 72, ISSN: 1349-1415 *

Also Published As

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

Similar Documents

Publication Publication Date Title
Lu et al. Detecting anomaly in big data system logs using convolutional neural network
Kundu et al. AltWOA: Altruistic Whale Optimization Algorithm for feature selection on microarray datasets
Tsymbalov et al. Dropout-based active learning for regression
Zhou et al. Incremental multi-view spectral clustering
Giannakoglou et al. Aerodynamic shape design using evolutionary algorithms and new gradient-assisted metamodels
Zhang et al. Fault detection and recognition of multivariate process based on feature learning of one-dimensional convolutional neural network and stacked denoised autoencoder
Agusta Modified balanced random forest for improving imbalanced data prediction
Kabir et al. A new multiple seeds based genetic algorithm for discovering a set of interesting Boolean association rules
Ortego et al. Evolutionary LSTM-FCN networks for pattern classification in industrial processes
Dehuri et al. A hybrid genetic based functional link artificial neural network with a statistical comparison of classifiers over multiple datasets
Sun et al. Data-driven discovery of interpretable causal relations for deep learning material laws with uncertainty propagation
Li et al. Identification of dynamic community in temporal network via joint learning graph representation and nonnegative matrix factorization
Qi et al. An efficient GAN-based predictive framework for multivariate time series anomaly prediction in cloud data centers
Melgar-García et al. Discovering three-dimensional patterns in real-time from data streams: An online triclustering approach
Dang et al. Semi-supervised vibration-based structural health monitoring via deep graph learning and contrastive learning
WO2020213560A1 (ja) モデル学習装置、データ分析装置、モデル学習方法、及びプログラム
Li et al. Causal-aware generative imputation for automated underwriting
Rajendran et al. Data mining when each data point is a network
Arumugam et al. Interpreting denoising autoencoders with complex perturbation approach
CN109360607B (zh) 一种动态基因调控网的网络演化分析方法及装置
Kumar et al. Pqklp: projected quantum kernel based link prediction in dynamic networks
Xiao Using machine learning for exploratory data analysis and predictive models on large datasets
Xarez et al. Extracting control variables of casting processes with NMF and rule extraction
Shankar et al. Software Defect Prediction using ANN Algorithm
Rath et al. An Improved Software Reliability Prediction Model by Using Feature Selection and Extreme Learning Machine

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20790803

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20790803

Country of ref document: EP

Kind code of ref document: A1