JP7363910B2 - Display method, display program and information processing device - Google Patents

Display method, display program and information processing device Download PDF

Info

Publication number
JP7363910B2
JP7363910B2 JP2021553214A JP2021553214A JP7363910B2 JP 7363910 B2 JP7363910 B2 JP 7363910B2 JP 2021553214 A JP2021553214 A JP 2021553214A JP 2021553214 A JP2021553214 A JP 2021553214A JP 7363910 B2 JP7363910 B2 JP 7363910B2
Authority
JP
Japan
Prior art keywords
model
data
learning
user
concept drift
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
JP2021553214A
Other languages
Japanese (ja)
Other versions
JPWO2021079444A1 (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2021079444A1 publication Critical patent/JPWO2021079444A1/ja
Application granted granted Critical
Publication of JP7363910B2 publication Critical patent/JP7363910B2/en
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)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、表示方法、表示プログラム及び情報処理装置に関する。 The present invention relates to a display method, a display program, and an information processing device.

従来、コンセプトドリフトを検出するための手法が提案されている。ここで、コンセプトドリフトとは、AIシステムに入力されるデータの質が時間の経過とともに変化していくことである。AIシステムは、入力されたデータに対して学習器を用いた各種推論を行うものである。また、学習器の学習は開発時に行われる。このため、コンセプトドリフトが発生すると、AIシステムの精度が相対的に低下する場合がある。 Conventionally, methods for detecting concept drift have been proposed. Here, concept drift refers to the change in the quality of data input to an AI system over time. AI systems use learning devices to perform various inferences on input data. Furthermore, the learning device is trained during development. Therefore, when concept drift occurs, the accuracy of the AI system may be relatively reduced.

Tegjyot Singh Sethi, Mehmed Kantardzic, "On the reliable detection of concept drift from streaming unlab ele d data", Expert Systems With Applications 82 (2017) 77-99Tegjyot Singh Sethi, Mehmed Kantardzic, "On the reliable detection of concept drift from streaming unlab ele d data", Expert Systems With Applications 82 (2017) 77-99

しかしながら、上記の手法には、計算コストが大きくなる場合があるという問題がある。例えば、従来、複数の学習器をアンサンブルし多数決を行う手法が知られている。この手法では、複数の学習器のそれぞれについて学習を行う必要があるため、計算量が増大する場合がある。 However, the above method has a problem in that the calculation cost may be high. For example, a method is conventionally known in which a plurality of learning devices are ensembled and a majority decision is made. In this method, since it is necessary to perform learning for each of a plurality of learning devices, the amount of calculation may increase.

1つの側面では、少ない計算量でコンセプトドリフトを検出することを目的とする。 One aspect aims to detect concept drift with a small amount of calculation.

1つの態様において、コンピュータは、学習済みのモデルに入力される運用データを取得する。コンピュータは、取得した運用データに基づいて、運用データの傾向の時間変化に起因するモデルの出力結果の変化の大きさを示す指標を算出する。コンピュータは、算出された指標と予め設定された閾値との比較に基づいて、ユーザが対応する必要のあるコンセプトドリフトが発生したか否かを判定する。コンピュータは、ユーザが対応する必要のあるコンセプトドリフトが発生したと判定された場合は、ユーザが対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示画面に表示させる。 In one embodiment, the computer obtains operational data that is input to the trained model. Based on the acquired operational data, the computer calculates an index indicating the magnitude of change in the output result of the model due to a temporal change in the trend of the operational data. Based on a comparison between the calculated index and a preset threshold, the computer determines whether a concept drift that requires a user response has occurred. If it is determined that a concept drift that requires a user's response has occurred, the computer causes the display screen to display information indicating that a concept drift that requires a user's response has occurred.

1つの側面では、少ない計算量でコンセプトドリフトを検出することができる。 One aspect is that concept drift can be detected with a small amount of calculation.

図1は、コンセプトドリフトを説明するための図である。FIG. 1 is a diagram for explaining concept drift. 図2は、実施例1の検出装置の構成例を示す図である。FIG. 2 is a diagram illustrating an example of the configuration of the detection device according to the first embodiment. 図3は、検出装置の処理の流れを説明するための図である。FIG. 3 is a diagram for explaining the processing flow of the detection device. 図4は、ニューラルネットワークのパラメータについて説明するための図である。FIG. 4 is a diagram for explaining parameters of the neural network. 図5は、レプリカモデルについて説明するための図である。FIG. 5 is a diagram for explaining the replica model. 図6は、学習データに対する出力の分布を取得する方法を説明するための図である。FIG. 6 is a diagram for explaining a method of acquiring the distribution of outputs for learning data. 図7は、運用データに対する出力の分布を取得する方法を説明するための図である。FIG. 7 is a diagram for explaining a method of acquiring the distribution of outputs for operational data. 図8は、KLDの変化の一例を示す図である。FIG. 8 is a diagram showing an example of a change in KLD. 図9は、分布の変化の一例を示す図である。FIG. 9 is a diagram showing an example of a change in distribution. 図10は、コンセプトドリフト非発生時の月単位表示画面の一例を示す図である。FIG. 10 is a diagram showing an example of a monthly display screen when concept drift does not occur. 図11は、incremental drift発生時の月単位表示画面の一例を示す図である。FIG. 11 is a diagram showing an example of a monthly display screen when incremental drift occurs. 図12は、詳細表示画面の一例を示す図である。FIG. 12 is a diagram showing an example of a detailed display screen. 図13は、sudden drift発生時の月単位表示画面の一例を示す図である。FIG. 13 is a diagram showing an example of a monthly display screen when sudden drift occurs. 図14は、recurring drift発生時の月単位表示画面の一例を示す図である。FIG. 14 is a diagram showing an example of a monthly display screen when recurring drift occurs. 図15は、日単位表示画面の一例を示す図である。FIG. 15 is a diagram showing an example of a daily display screen. 図16は、検出装置の学習時の処理の流れを示すフローチャートである。FIG. 16 is a flowchart showing the flow of processing during learning of the detection device. 図17は、検出装置の運用時の処理の流れを示すフローチャートである。FIG. 17 is a flowchart showing the flow of processing during operation of the detection device. 図18は、決定木のパラメータについて説明するための図である。FIG. 18 is a diagram for explaining parameters of a decision tree. 図19は、ハードウェア構成例を説明する図である。FIG. 19 is a diagram illustrating an example of a hardware configuration.

以下に、本発明に係る表示方法、表示プログラム及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。また、実施例の検出装置は、検出方法及び表示方法を実行する情報処理装置ということができる。 Embodiments of a display method, a display program, and an information processing apparatus according to the present invention will be described in detail below with reference to the drawings. Note that the present invention is not limited to this example. Moreover, each embodiment can be combined as appropriate within a consistent range. Further, the detection device of the embodiment can be said to be an information processing device that executes the detection method and display method.

[コンセプトドリフトについて]
まず、コンセプトドリフトについて説明する。ここで、ラベルが既知の学習データを用いて学習が行われた学習済みのモデルをオリジナルモデルと呼ぶ。また、本実施例におけるモデルは、特徴量を基にデータが属するクラスを推定し分類する分類器であるものとする。分類器は、各データについてクラスごとのスコアを計算し、スコアに基づいて分類を行う。ここで、スコアは、データが各クラスに属する確率であってもよい。また、分類器は、正常であるか否か等の2つのクラスの分類を行うものであってもよいし、3つ以上のクラスの分類を行うものであってもよい。
[About concept drift]
First, I will explain concept drift. Here, a trained model that has been trained using learning data with known labels is called an original model. Furthermore, the model in this embodiment is a classifier that estimates and classifies the class to which data belongs based on feature amounts. The classifier calculates a score for each class for each data and performs classification based on the score. Here, the score may be the probability that data belongs to each class. Furthermore, the classifier may be one that performs classification into two classes, such as whether it is normal or not, or may be one that performs classification into three or more classes.

図1は、コンセプトドリフトを説明するための図である。図1の左図及び右図は、横軸及び縦軸がそれぞれ異なる特徴量である平面上に、各クラスの学習時及び運用時におけるデータ点、及びオリジナルモデルを表す曲線を描画したものである。図1の○、△、×のデータ点は、それぞれクラスA、クラスB、クラスCに属するデータに対応している。 FIG. 1 is a diagram for explaining concept drift. The left and right diagrams in Figure 1 depict data points for each class during learning and operation, and a curve representing the original model, on a plane whose horizontal and vertical axes represent different feature quantities, respectively. . Data points marked ○, Δ, and × in FIG. 1 correspond to data belonging to class A, class B, and class C, respectively.

図1の左図に示すように、学習時において、オリジナルモデルは各クラスのデータを高い精度で分類することができている。一方で、運用時においては、特にクラスBとクラスCの分布が大きく変化し、オリジナルモデルの分類精度が低下している。このように、モデルの運用時に、学習時と比べてデータの質が変化していく現象がコンセプトドリフトである。言い換えれば、運用データの傾向の時間変化に起因するモデルの出力結果の変化が大きくなることである。そして、図1に示すように、コンセプトドリフトが発生すると、モデルの精度が相対的に低下する場合がある。 As shown in the left diagram of FIG. 1, during learning, the original model was able to classify data in each class with high accuracy. On the other hand, during operation, the distribution of classes B and C in particular changes significantly, and the classification accuracy of the original model decreases. Concept drift is a phenomenon in which the quality of data changes during model operation compared to during training. In other words, changes in model output results due to time changes in trends in operational data become large. As shown in FIG. 1, when concept drift occurs, the accuracy of the model may be relatively reduced.

例えば、モデルが、株式取引において、各銘柄を「買い」、「売り」、「中立」のいずれかに分類するものである場合を考える。この場合、2018年のデータで学習を行ったモデルが、2019年初頭には高い精度を示すが、2019年半ばにはデータの傾向が変わり、精度が低下するというケースが考えられる。 For example, consider a case in which the model classifies each stock into one of "buy," "sell," and "neutral" in stock trading. In this case, a model trained on 2018 data may show high accuracy in early 2019, but the data trend changes in mid-2019 and the accuracy decreases.

また、室内環境が暑いか否かを判断するためのモデルの学習を、6月のデータを使って行った場合、8月には、モデルの判断結果がユーザの感覚と合わなくなっていることが考えられる。これは、人間が暑さになれる暑熱馴化がコンセプトドリフトとして現れるためである。例えば、ユーザは、6月には暑いと感じていた室温に対して8月には暑いと感じなくなる場合がある。 Additionally, if a model is trained to determine whether the indoor environment is hot or not using data from June, by August the model's judgment results may no longer match the user's feelings. Conceivable. This is because heat acclimation, which allows humans to experience heat, appears as concept drift. For example, a user may feel that the room temperature is hot in June but no longer feels hot in August.

また、あるプログラムがマルウェアであるか否かに分類するモデルの分類精度は、マルウェアの進化にともなって発生するコンセプトドリフトにより低下していくことが考えられる。既存の手法では検知されないようなマルウェアが日夜開発されているため、時間経過によりそれまで知られていなかった特徴を持つマルウェアが出現する場合がある。 Furthermore, the classification accuracy of a model that classifies whether a program is malware or not is likely to decline due to concept drift that occurs as malware evolves. Since malware that cannot be detected by existing methods is being developed day and night, malware with previously unknown characteristics may emerge over time.

また、例えば、モデルは、製造ラインにおいて、製造環境の温度や明るさ等の条件、及び各工程で得られる所定の測定値を特徴量とし、成果物が不良品であるか否かを判定することができる。この場合、環境の変化等がコンセプトドリフトとして現れ、モデルの判定精度が低下することが考えられる。 For example, the model uses conditions such as the temperature and brightness of the manufacturing environment and predetermined measured values obtained in each process as features on the manufacturing line to determine whether or not the product is defective. be able to. In this case, changes in the environment, etc. may appear as concept drift, and the model's judgment accuracy may decrease.

本実施例の検出装置は、上記のようなコンセプトドリフトの影響を受けるあらゆるモデルに適用することができる。本実施例の検出装置は、オリジナルモデルから生成した複数のレプリカモデルを用いてコンセプトドリフトの検出を行う。レプリカモデルの生成には学習を要しないため、検出装置は少ない計算量でレプリカモデルを生成することができる。 The detection device of this embodiment can be applied to any model that is affected by concept drift as described above. The detection device of this embodiment detects concept drift using a plurality of replica models generated from an original model. Since no learning is required to generate the replica model, the detection device can generate the replica model with a small amount of calculation.

なお、多くの場合、運用時のデータが属する真のクラスは不明であるが、図1では説明のため、運用時のデータ点についても各クラスに対応する○、△、×の各形状を割り当てている。本実施例の検出装置は、運用時のデータの真のクラスが不明であってもユーザが対応する必要のあるコンセプトドリフトを検出することを目的としている。 Note that in many cases, the true class to which data belongs during operation is unknown, but for the sake of explanation in Figure 1, the shapes of ○, △, and × corresponding to each class are assigned to the data points during operation. ing. The purpose of the detection device of this embodiment is to detect concept drift that the user needs to deal with even if the true class of data during operation is unknown.

また、ユーザが対応する必要のあるコンセプトドリフトが検出された場合、自動又は手動でのオリジナルモデルの再学習、及びコンセプトドリフトの原因となった不適正なデータの除外といった対策が講じられる場合がある。 Additionally, if a concept drift that requires a user response is detected, countermeasures may be taken, such as automatically or manually retraining the original model and excluding incorrect data that caused the concept drift. .

[機能構成]
図2を用いて、実施例に係る検出装置の構成を説明する。図2は、実施例1の検出装置の構成例を示す図である。図2に示すように、検出装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
[Functional configuration]
The configuration of the detection device according to the embodiment will be explained using FIG. 2. FIG. 2 is a diagram illustrating an example of the configuration of the detection device according to the first embodiment. As shown in FIG. 2, the detection device 10 includes a communication section 11, an input section 12, an output section 13, a storage section 14, and a control section 15.

通信部11は、他の装置との間でデータの通信を行うためのインタフェースである。例えば、通信部11は、NIC(Network Interface Card)であり、インターネットを介してデータの通信を行うものであってもよい。 The communication unit 11 is an interface for communicating data with other devices. For example, the communication unit 11 may be a NIC (Network Interface Card) that communicates data via the Internet.

入力部12は、データの入力を受け付けるためのインタフェースである。例えば、入力部12は、キーボードやマウス等の入力装置等の入力装置であってもよい。また、出力部13は、データを出力するためのインタフェースである。出力部13は、ディスプレイやスピーカ等の出力装置であってもよい。また、入力部12及び出力部13は、USBメモリ等の外部記憶装置との間でデータの入出力を行うものであってもよい。 The input unit 12 is an interface for receiving data input. For example, the input unit 12 may be an input device such as a keyboard or a mouse. Further, the output unit 13 is an interface for outputting data. The output unit 13 may be an output device such as a display or a speaker. Further, the input section 12 and the output section 13 may input/output data to/from an external storage device such as a USB memory.

記憶部14は、データや制御部15が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部14は、オリジナルモデル情報141、レプリカモデル情報142及び分布情報143を記憶する。 The storage unit 14 is an example of a storage device that stores data, programs executed by the control unit 15, and the like, and is, for example, a hard disk or a memory. The storage unit 14 stores original model information 141, replica model information 142, and distribution information 143.

オリジナルモデル情報141は、オリジナルモデルを構築するためのパラメータ等の情報である。例えば、オリジナルモデルがニューラルネットワークである場合、オリジナルモデル情報141は、各層の重み及びバイアスである。 The original model information 141 is information such as parameters for constructing an original model. For example, if the original model is a neural network, the original model information 141 is the weight and bias of each layer.

レプリカモデル情報142は、レプリカモデルを構築するためのパラメータ等の情報である。本実施例では、レプリカモデルとオリジナルモデルのアルゴリズムは共通であるものとする。このため、例えば、オリジナルモデルのアルゴリズムがニューラルネットワークであれば、レプリカモデルのアルゴリズムもニューラルネットワークである。この場合、レプリカモデル情報142は、ニューラルネットワークの各層の重み及びバイアスである。また、レプリカモデルは複数であってもよく、その場合、レプリカモデル情報142は複数のレプリカモデルのそれぞれに対応するパラメータである。レプリカモデルを生成する方法については後述する。 The replica model information 142 is information such as parameters for constructing a replica model. In this embodiment, it is assumed that the replica model and the original model use the same algorithm. Therefore, for example, if the original model's algorithm is a neural network, the replica model's algorithm is also a neural network. In this case, the replica model information 142 is the weight and bias of each layer of the neural network. Further, there may be a plurality of replica models, in which case the replica model information 142 is a parameter corresponding to each of the plurality of replica models. A method for generating a replica model will be described later.

分布情報143は、学習時のレプリカモデルの出力の分布に関する情報である。分布情報143は、運用時のデータを評価し、ユーザが対応する必要のあるコンセプトドリフトを検出するための基準となる情報である。分布情報143は、運用時のデータを評価値を計算するために十分な情報であればよい。例えば、分布情報143は、レプリカモデルの出力の全部又は一部であってもよいし、レプリカモデルの出力の分布を示す分布パラメータであってもよい。レプリカモデルの出力の分布を取得する方法については後述する。 The distribution information 143 is information regarding the distribution of the output of the replica model during learning. The distribution information 143 is information that serves as a reference for evaluating data during operation and detecting concept drift that the user needs to respond to. The distribution information 143 may be sufficient information to calculate the evaluation value of the data during operation. For example, the distribution information 143 may be all or part of the output of the replica model, or may be a distribution parameter indicating the distribution of the output of the replica model. A method for obtaining the distribution of outputs of the replica model will be described later.

制御部15は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部15は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部15は、学習部151、生成部152、計算部153、検出部154及び表示制御部155を有する。 The control unit 15 executes a program stored in an internal storage device using RAM as a work area by, for example, a CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), etc. This is realized by Further, the control unit 15 may be realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control unit 15 includes a learning unit 151, a generation unit 152, a calculation unit 153, a detection unit 154, and a display control unit 155.

図3に示す処理の流れに沿って、制御部15の各部の詳細を説明する。図3は、検出装置の処理の流れを説明するための図である。検出装置10の処理は、学習フェーズと運用フェーズに分けられる。学習フェーズにおいて、検出装置10は、オリジナルモデル情報141、レプリカモデル情報142及び分布情報143を生成する。一方、運用フェーズにおいて、検出装置10は、オリジナルモデル情報141、レプリカモデル情報142及び分布情報143を用いてユーザが対応する必要のあるコンセプトドリフトの検出を行う。 The details of each part of the control unit 15 will be explained along the flow of processing shown in FIG. FIG. 3 is a diagram for explaining the processing flow of the detection device. The processing of the detection device 10 is divided into a learning phase and an operation phase. In the learning phase, the detection device 10 generates original model information 141, replica model information 142, and distribution information 143. On the other hand, in the operation phase, the detection device 10 uses the original model information 141, the replica model information 142, and the distribution information 143 to detect concept drift that the user needs to respond to.

(学習フェーズ)
まず、学習フェーズの処理について説明する。図3のステップS11に示すように、学習部151は、学習データを基にオリジナルモデルを生成する。学習部151は、既知の手法で学習を行うことができる。例えば、オリジナルモデルがニューラルネットワークであれば、学習部151は、誤差逆伝播法により学習を行う。
(learning phase)
First, the learning phase processing will be explained. As shown in step S11 in FIG. 3, the learning unit 151 generates an original model based on the learning data. The learning unit 151 can perform learning using a known method. For example, if the original model is a neural network, the learning unit 151 performs learning using the error backpropagation method.

次に、生成部152は、学習済みのオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。以降の説明では、生成部152によって生成された複数のレプリカモデルをレプリカモデル群と呼ぶ場合がある。また、オリジナルモデルは第一のモデルの一例である。また、レプリカモデルは第二のモデルの一例である。 Next, the generation unit 152 generates a plurality of replica models by changing predetermined parameters of the learned original model. In the following description, the plurality of replica models generated by the generation unit 152 may be referred to as a replica model group. Further, the original model is an example of a first model. Further, the replica model is an example of the second model.

生成部152は、学習済みのオリジナルモデルであるニューラルネットワークの所定の層における重み及びバイアスを変化させることにより、複数のニューラルネットワークをレプリカモデルとして生成する。 The generation unit 152 generates a plurality of neural networks as replica models by changing the weights and biases in predetermined layers of the neural network that is the trained original model.

図4は、ニューラルネットワークのパラメータについて説明するための図である。図4に示すように、オリジナルモデルのニューラルネットワークの出力層と隠れ層との間には、重みw_a1、w_a2、w_b1、w_b2、w_c1、w_c2、w_d1、w_d2及びバイアスb1、b2が設定されている。生成部152は、重み及びバイアスに、乱数を掛けることによりレプリカモデルを生成する。 FIG. 4 is a diagram for explaining parameters of the neural network. As shown in Figure 4, weights w_a1, w_a2, w_b1, w_b2, w_c1, w_c2, w_d1, w_d2 and biases b1 and b2 are set between the output layer and hidden layer of the neural network of the original model. . The generation unit 152 generates a replica model by multiplying the weights and biases by random numbers.

ε_iを、平均が1.0、標準偏差が0.3である正規分布に従う乱数であるものとする。このとき、生成部152は、1つ目のレプリカモデルとして、出力層と隠れ層との間に、重みw´_a1、w´_b1、w´_c1、w´_d1、w´_a2、w´_b2、w´_c2、w´_d2、及びバイアスb´1、b´2が設定されたニューラルネットワークを生成する。ただし、各パラメータは、例えばw´_a1 = w_a1 * 1.04、w´_a2 = w_a2 * 0.91、…、w´_d2 = w_d2 * 1.13、b1´ = b1 * 0.83, 、b2´ = b2 * 1.35のよう表される。 Let ε_i be a random number that follows a normal distribution with a mean of 1.0 and a standard deviation of 0.3. At this time, the generation unit 152 generates weights w´_a1, w´_b1, w´_c1, w´_d1, w´_a2, w´_b2 between the output layer and the hidden layer as the first replica model. , w´_c2, w´_d2, and biases b´1, b´2 are set to generate a neural network. However, each parameter is expressed as, for example, w´_a1 = w_a1 * 1.04, w´_a2 = w_a2 * 0.91, ..., w´_d2 = w_d2 * 1.13, b1´ = b1 * 0.83, , b2´ = b2 * 1.35. be done.

レプリカモデルとオリジナルモデルとのかい離が大きすぎると、コンセプトドリフトの誤検出が起きやすくなる場合がある。このため、生成部152は、オリジナルモデルとのかい離がある程度狭い範囲に収まるようにレプリカモデルを生成する。例えば、生成部152は、所定のパラメータに平均が1.0、標準偏差が0.3である正規分布に従う乱数を掛けることによりレプリカモデルを生成する。 If the difference between the replica model and the original model is too large, false positives due to concept drift may occur. For this reason, the generation unit 152 generates a replica model such that the deviation from the original model is within a somewhat narrow range. For example, the generation unit 152 generates a replica model by multiplying a predetermined parameter by a random number that follows a normal distribution and has an average of 1.0 and a standard deviation of 0.3.

計算部153は、実際にモデルに入力されたデータに対する出力を計算する。図3のステップS12に示すように、計算部153は、オリジナルモデルの学習に用いられた学習データをレプリカモデルに入力して得られる出力の分布に関する情報を分布情報143として記憶部14に格納する。また、計算部153は、レプリカモデル群の出力だけでなく、オリジナルモデルの出力を含めた分布に関する情報を分布情報143としてもよい。 The calculation unit 153 calculates an output for data actually input to the model. As shown in step S12 in FIG. 3, the calculation unit 153 stores information regarding the distribution of the output obtained by inputting the learning data used for learning the original model into the replica model in the storage unit 14 as distribution information 143. . Further, the calculation unit 153 may use distribution information 143 as information regarding the distribution including not only the output of the replica model group but also the output of the original model.

なお、学習部151は、計算部153と連動し、モデルの出力を最適化することによって学習を行う。一方で、生成部152は、計算部153による計算を行うことなくレプリカモデルを生成することができる。 Note that the learning unit 151 performs learning by optimizing the output of the model in conjunction with the calculation unit 153. On the other hand, the generation unit 152 can generate a replica model without the calculation unit 153 performing calculations.

ここで、図5を用いて、レプリカモデルについて説明する。図5は、レプリカモデルについて説明するための図である。レプリカモデルを図1と同様の平面に描画すると、図5のように表される。すなわち、レプリカモデル群は、曲線であるオリジナルモデルの周囲に所定のばらつきを持って分散する曲線群、又は曲線群が形成する領域ということができる。 Here, the replica model will be explained using FIG. 5. FIG. 5 is a diagram for explaining the replica model. When the replica model is drawn on a plane similar to that in FIG. 1, it is represented as shown in FIG. 5. That is, the replica model group can be said to be a group of curves that are distributed around the original model, which is a curve, with a predetermined variation, or a region formed by the group of curves.

図5の左図に示すように、学習時においては、レプリカモデル群は、オリジナルモデル群と同様の分類結果を示す。一方、図5の右図に示すように、運用時においては、オリジナルモデルの曲線の近傍に位置するデータ点に対しては、各レプリカモデルが異なる分類結果を示す場合がある。本実施例の検出装置10は、レプリカモデル群のそれぞれの出力の時間経過に伴う変化に着目してユーザが対応する必要のあるコンセプトドリフトを検出する。 As shown in the left diagram of FIG. 5, during learning, the replica model group shows the same classification results as the original model group. On the other hand, as shown in the right diagram of FIG. 5, during operation, each replica model may show different classification results for data points located near the curve of the original model. The detection device 10 of the present embodiment focuses on changes over time in the output of each replica model group to detect concept drift that the user needs to respond to.

図6は、学習データに対する出力の分布を取得する方法を説明するための図である。本実施例では、オリジナルモデルは、データをクラスA、クラスB、クラスCのいずれかに分類するものとする。また、検出装置10は、各クラスごとに例えば70個の学習データを学習に用いるものとする。また、検出装置10は、例えば1,000個のレプリカモデルを生成するものとする。 FIG. 6 is a diagram for explaining a method of acquiring the distribution of outputs for learning data. In this embodiment, it is assumed that the original model classifies data into one of class A, class B, and class C. Further, it is assumed that the detection device 10 uses, for example, 70 pieces of learning data for each class for learning. Further, it is assumed that the detection device 10 generates, for example, 1,000 replica models.

このとき、図6に示すように、計算部153は、クラスCに属することが既知の学習データs1、s2、…、s70のそれぞれを、レプリカモデルr1、r2、r1000のそれぞれに入力して、各クラスのスコアを計算する。例えば、スコアは、データが各クラスに属する確率である。例えば、(A0.0, B0.0, C1.0)は、データがクラスAに属する確率が0.0、クラスBに属する確率が0.0、クラスCに属する確率が1.0であることを示している。At this time, as shown in FIG. 6, the calculation unit 153 converts each of the learning data s 1 , s 2 , ..., s 70 that is known to belong to class C into the replica models r 1 , r 2 , r 1000 . Enter each to calculate the score for each class. For example, the score is the probability that data belongs to each class. For example, (A0.0, B0.0, C1.0) indicates that the probability that the data belongs to class A is 0.0, the probability that the data belongs to class B is 0.0, and the probability that the data belongs to class C is 1.0.

(運用フェーズ)
次に、運用フェーズの処理について説明する。図3のステップS21に示すように、計算部153は、オリジナルモデルに運用データを入力し、出力を計算する。例えば、出力は、分類対象のクラスごとのスコアである。このとき、出力部13は、分類結果として、クラスごとのスコア、又は最もスコアが大きかったクラスを特定する情報を出力することができる。
(operation phase)
Next, the operation phase processing will be explained. As shown in step S21 of FIG. 3, the calculation unit 153 inputs operational data to the original model and calculates the output. For example, the output is a score for each class to be classified. At this time, the output unit 13 can output the score for each class or information specifying the class with the highest score as the classification result.

また、学習データ及び運用データは時系列のデータであってもよい。このとき、学習データは、時系列のデータのうち、オリジナルモデルの学習時のデータということができる。一方、運用データは、時系列のデータのうち、学習時より後の所定の時間のデータということができる。 Further, the learning data and the operational data may be time-series data. At this time, the learning data can be said to be data during learning of the original model among time-series data. On the other hand, operational data can be said to be data at a predetermined time after the learning time among time-series data.

そして、図3のステップS22に示すように、検出部154は、学習データをレプリカモデルに入力して得られる出力の分布と、運用データをレプリカモデルに入力して得られる出力の分布との差異を検出する。運用データは、学習データと異なる所定のデータの一例である。 Then, as shown in step S22 in FIG. 3, the detection unit 154 detects the difference between the distribution of outputs obtained by inputting the learning data into the replica model and the distribution of outputs obtained by inputting the operational data into the replica model. Detect. The operational data is an example of predetermined data different from the learning data.

計算部153は、運用データを各レプリカモデルに入力し出力を計算する。検出部154は、計算部153によって計算された出力の分布を取得する。また、検出部154は、学習データをレプリカモデルに入力して得られる出力の分布を、分布情報143から取得する。 The calculation unit 153 inputs operational data to each replica model and calculates the output. The detection unit 154 obtains the distribution of the output calculated by the calculation unit 153. The detection unit 154 also obtains the distribution of output obtained by inputting the learning data to the replica model from the distribution information 143.

図7は、運用データに対する出力の分布を取得する方法を説明するための図である。ここでは、運用データは1つであるものとする。また、前述の通り、例えば1,000個のレプリカモデルが生成されているものとする。 FIG. 7 is a diagram for explaining a method of acquiring the distribution of outputs for operational data. Here, it is assumed that there is only one piece of operational data. Further, as described above, it is assumed that, for example, 1,000 replica models have been generated.

このとき、図7に示すように、計算部153は、オリジナルモデルがクラスCに分類した運用データu1を、レプリカモデルr1、r2、…、r1000のそれぞれに入力して、各クラスのスコアを計算する。なお、運用データが単数の場合、図7のように、計算部153は、リアルタイム処理によりスコアを計算することができる。一方で、計算部153は、複数の運用データをまとめてバッチ処理によりスコアを計算してもよい。At this time, as shown in FIG. 7, the calculation unit 153 inputs the operational data u 1 classified into class C by the original model to each of the replica models r 1 , r 2 , ..., r 1000 , and Calculate the score. Note that when there is a single piece of operational data, the calculation unit 153 can calculate the score by real-time processing, as shown in FIG. On the other hand, the calculation unit 153 may calculate the score by batch processing a plurality of pieces of operational data.

図3に戻り、検出部154は、学習データをレプリカモデルに入力して得られるスコアの分布と、運用データをレプリカモデルに入力して得られるスコアの分布とのKLD(Kullback-Leibler divergence)を基に、差異を検出する。KLDは、分布間の差異の大きさを示す指標の一例である。検出部154は、学習データのスコアの確率分布P(i)と運用データのスコアの確率分布Q(i)とのKLDを(1)式のように計算する。ただし、iは区分を示す識別子である。 Returning to FIG. 3, the detection unit 154 calculates the KLD (Kullback-Leibler divergence) between the distribution of scores obtained by inputting learning data into the replica model and the distribution of scores obtained by inputting operational data into the replica model. Detect differences based on the KLD is an example of an index that indicates the magnitude of the difference between distributions. The detection unit 154 calculates the KLD between the probability distribution P(i) of the scores of the learning data and the probability distribution Q(i) of the scores of the operational data, as shown in equation (1). However, i is an identifier indicating the classification.

Figure 0007363910000001
Figure 0007363910000001

さらに、検出部154は、(2)式のように、クラスA、クラスB及びクラスCについてのDKLの和を計算する。そして、検出部154は、各クラスのDKL又は計算したDKLの和が閾値以上である場合に、ユーザが対応する必要のあるコンセプトドリフトを検出する。Further, the detection unit 154 calculates the sum of D KL for class A, class B, and class C as shown in equation (2). Then, the detection unit 154 detects a concept drift that the user needs to deal with when the D KL of each class or the calculated sum of D KL is equal to or greater than a threshold value.

Figure 0007363910000002
Figure 0007363910000002

図8は、KLDの変化の一例を示す図である。「サンプルID」は、運用データに含まれる個別のデータを識別するためのIDである。また、ここでは、「正解」は、運用データの真の正解クラスである。また、「予測」は、オリジナルモデルによる分類結果である。 FIG. 8 is a diagram showing an example of a change in KLD. “Sample ID” is an ID for identifying individual data included in operational data. Furthermore, here, the "correct answer" is the true correct answer class of the operational data. Moreover, "prediction" is a classification result based on the original model.

図8に示すように、学習時又は学習直後においては、分類結果と正解が合致し、全てのKLDが0.5以下と小さい値を取っている。一方、運用時においては、分類結果と正解が合致しないものや、KLDが30以上の大きい値を取るものが多くなる。なお、分類結果と正解が合致しない場合にKLDは大きくなる傾向があるが、分類結果と正解が合致していたとしても、KLDだけが増加していく場合もある。 As shown in FIG. 8, during learning or immediately after learning, the classification results and the correct answers match, and all KLDs take small values of 0.5 or less. On the other hand, during operation, there are many cases where the classification result does not match the correct answer, or where the KLD takes a large value of 30 or more. Note that KLD tends to increase when the classification result and the correct answer do not match, but even if the classification result and the correct answer match, KLD alone may increase.

図9を用いて、時間経過に伴う分布の変化について説明する。図9は、分布の変化の一例を示す図である。tは日、週、月等の一定の時間を表す。また、図9の各ヒストグラムは、オリジナルモデルがクラスCに分類したデータに対して、各レプリカモデルが出力したスコアをプロットしたものである。t=0のヒストグラムは、学習データに対するスコアをプロットしたものである。また、t=1以降のヒストグラムは、運用データに対するスコアをプロットしたものである。 Changes in distribution over time will be explained using FIG. 9. FIG. 9 is a diagram showing an example of a change in distribution. t represents a fixed time such as day, week, month, etc. Furthermore, each histogram in FIG. 9 is a plot of the scores output by each replica model with respect to data classified into class C by the original model. The histogram at t=0 is a plot of scores against the training data. Furthermore, the histogram after t=1 is a plot of scores against operational data.

図9に示すように、t=0のヒストグラムでは、70個の学習データ全てに対し、1,000個のレプリカモデルの全てが(A0.0, B0.0, C1.0)というスコアを出力したことを示している。また、t=0の時点のKLDは0である。なお、オリジナルモデルの学習方法やレプリカモデルの生成方法によっては、t=0のヒストグラムにも多少のばらつきが発生する場合がある。 As shown in Figure 9, in the histogram at t=0, all 1,000 replica models output scores of (A0.0, B0.0, C1.0) for all 70 pieces of training data. It shows. Furthermore, KLD at t=0 is 0. Note that depending on the learning method of the original model and the method of generating the replica model, some variation may occur in the histogram at t=0.

そして、時間が経過するに従って、クラスBのスコアとクラスCのスコアのヒストグラムにばらつきが発生する。例えば、t=1の時点では、1個の運用データに対して1,000個のレプリカモデルのうちの多くが、(A0.0, B0.1, C0.9)のようなスコアを出力し始めている。さらに、t=2の時点では、クラスBに対して大きいスコアを出力するレプリカモデルが増加する。さらに、t=3の時点では、クラスCのスコアとクラスBのスコアが逆転するようなレプリカモデルが増加する。また、ヒストグラムのばらつきが大きくなるに従い、KLDも大きくなっている。 Then, as time passes, variations occur in the histograms of the scores of class B and the scores of class C. For example, at time t=1, many of the 1,000 replica models start outputting scores like (A0.0, B0.1, C0.9) for one piece of operational data. . Furthermore, at time t=2, the number of replica models that output large scores for class B increases. Furthermore, at time t=3, the number of replica models in which the scores of class C and class B are reversed increases. Furthermore, as the dispersion of the histogram increases, the KLD also increases.

検出部154がユーザが対応する必要のあるコンセプトドリフトを検出するための閾値は、データの分類が実施される業務の業種や内容及び求められる精度等によって異なる。例えば、図9の例において、KLDの閾値が10である場合、検出部154は、t=2の時点でユーザが対応する必要のあるコンセプトドリフトを検出する。 The threshold value used by the detection unit 154 to detect a concept drift that the user needs to respond to varies depending on the type and content of the business in which data classification is performed, the required accuracy, and the like. For example, in the example of FIG. 9, if the KLD threshold is 10, the detection unit 154 detects a concept drift that the user needs to respond to at time t=2.

表示制御部155は、検出部154による分布の比較結果及びコンセプトドリフトの検出結果を出力部13を介して画面に表示することができる。図10は、コンセプトドリフト非発生時の月単位表示画面の一例を示す図である。図10に示すように、表示制御部155は、月単位表示画面に、月ごとのKLDの変化を折れ線グラフで表示する。さらに、表示制御部155は、データ点がクリックされると、画面遷移メニューを表示する。画面遷移メニューには、「詳細を表示」及び「日単位で表示」という項目が含まれる。遷移先の画面については後述する。 The display control unit 155 can display the distribution comparison results and concept drift detection results by the detection unit 154 on the screen via the output unit 13. FIG. 10 is a diagram showing an example of a monthly display screen when concept drift does not occur. As shown in FIG. 10, the display control unit 155 displays monthly changes in KLD in a line graph on the monthly display screen. Further, the display control unit 155 displays a screen transition menu when a data point is clicked. The screen transition menu includes items such as "Display details" and "Display by day." The transition destination screen will be described later.

(表示装置の画面の表示例)
ここで、図11~図15を用いて、表示装置の表示画面の表示例について説明する。表示装置の画面には、ユーザが対応する必要のあるコンセプトドリフトが発生したことを示す情報が表示させる。ここで、コンセプトドリフトには、incremental drift、sudden drift、recurring driftといった種類があることが知られている。
(Display example of display device screen)
Here, display examples of the display screen of the display device will be explained using FIGS. 11 to 15. Information indicating that a concept drift that requires a user response has occurred is displayed on the screen of the display device. It is known that there are several types of concept drift: incremental drift, sudden drift, and recurring drift.

incremental driftとは、コンセプトドリフトによりモデルの精度が徐々に低下する現象をいう。sudden driftとは、コンセプトドリフトによりモデルの精度が急峻に低下する現象をいう。recurring driftとは、コンセプトドリフトによりモデルの精度が、周期的な時間軸で特定のタイミングのみ低下する現象をいう。 Incremental drift is a phenomenon in which the accuracy of a model gradually decreases due to concept drift. Sudden drift refers to a phenomenon in which the accuracy of a model sharply decreases due to concept drift. Recurring drift refers to a phenomenon in which the accuracy of a model decreases only at specific times on a periodic time axis due to concept drift.

なお、データの傾向が変わることでモデルの精度が相対的に低下するが、ユーザが許容できるモデルの精度は、ユーザ毎に変わってくる。例えば、モデルが、株式取引において、各銘柄を「買い」、「売り」、「中立」のいずれかに分類するものである場合を考える。この場合、モデルの精度が高い状態を維持することが必要であるため、モデルの精度が相対的に少しでも低下した場合には、即座に新しい傾向のデータによる再学習を実施する必要ある。そして、現在運用されているモデルを再学習されたモデルに更新する必要がある。一方で、室内環境が暑いか否かを判断する場合を考える。この場合では、ユーザによっては、暑さに耐性があるため、ある程度のモデルの精度の低下を許容することがあるため、新しい傾向のデータの変化が大きくなったときに、新しい傾向のデータによる再学習を実行すれば良い。そして、現在運用されているモデルを再学習されたモデルに更新する。 Note that the accuracy of the model decreases relatively as the trends in the data change, but the accuracy of the model that a user can tolerate varies from user to user. For example, consider a case in which the model classifies each stock into one of "buy," "sell," and "neutral" in stock trading. In this case, it is necessary to maintain a high accuracy state of the model, so if the accuracy of the model decreases even slightly, it is necessary to immediately perform relearning using data with new trends. Then, it is necessary to update the currently operated model to the retrained model. On the other hand, consider a case where it is determined whether the indoor environment is hot or not. In this case, some users may tolerate some reduction in model accuracy due to their tolerance for heat, so when the change in the new trend data becomes large, the new trend data All you have to do is learn. Then, the currently operated model is updated to the retrained model.

つまり、ユーザが許容できるモデルの精度に応じて、モデルの再学習をするタイミングを決定することができる。 In other words, the timing for relearning the model can be determined depending on the accuracy of the model that is acceptable to the user.

図11は、incremental drift発生時の月単位表示画面の一例を示す図である。生成部152は、学習済みのモデルに入力される運用データを取得する。そして、生成部152は、取得した運用データに基づいて、運用データの傾向の時間変化に起因するモデルの出力結果の変化の大きさを示す指標を算出する。 FIG. 11 is a diagram showing an example of a monthly display screen when incremental drift occurs. The generation unit 152 acquires operational data to be input to the trained model. Then, the generation unit 152 calculates, based on the acquired operational data, an index indicating the magnitude of change in the output result of the model due to a temporal change in the trend of the operational data.

さらに、生成部152は、算出された指標と予め設定された閾値との比較に基づいて、ユーザが対応する必要のあるコンセプトドリフトが発生したか否かを判定する。生成部152は、ユーザが対応する必要のあるコンセプトドリフトが発生したと判定された場合は、ユーザが対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示画面に表示させる。 Furthermore, the generation unit 152 determines whether or not a concept drift that the user needs to respond to has occurred, based on a comparison between the calculated index and a preset threshold. If it is determined that a concept drift that requires a user response has occurred, the generation unit 152 causes the display screen to display information indicating that a concept drift that requires a user response has occurred.

具体的には、生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。そして、検出部154は、学習データをレプリカモデルに入力して得られるスコアの分布と、運用データをレプリカモデルに入力して得られる出力の分布との差異の大きさを示す指標が閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。 Specifically, the generation unit 152 generates a plurality of replica models by changing a predetermined parameter of an original model, which is a model that calculates a score for classifying data into one of a plurality of classes. Then, the detection unit 154 detects that the index indicating the size of the difference between the distribution of scores obtained by inputting the learning data to the replica model and the distribution of outputs obtained by inputting the operational data to the replica model is equal to or greater than the threshold value. If so, it is detected that a concept drift has occurred that the user needs to respond to.

つまり、検出部154は、時系列のデータのうち、オリジナルモデルの学習時の学習データをレプリカモデルに入力して得られるスコアの分布と、学習時より後の複数の時間のそれぞれのデータをレプリカモデルに入力して得られるスコアの分布とを取得する。そして、検出部154は、各分布の差異の大きさを示す指標が閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。また、表示制御部155は、複数の時間のそれぞれの指標に関する情報を画面に表示させる。そして、表示制御部155は、さらに、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出された時間の指標に関する情報を、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出されていない時間の指標に関する情報と異なる態様で表示させる。 In other words, the detection unit 154 calculates the distribution of scores obtained by inputting the learning data during learning of the original model into the replica model among the time-series data, and the replica model's data at a plurality of times after the learning time. Obtain the distribution of scores obtained by inputting them into the model. Then, when the index indicating the magnitude of the difference between the respective distributions is equal to or greater than the threshold value, the detection unit 154 detects that a concept drift that needs to be dealt with by the user has occurred. Further, the display control unit 155 displays information regarding each index at a plurality of times on the screen. Then, the display control unit 155 further displays information regarding the index of the time when it was detected that a concept drift that the user needs to respond to has occurred. Display information about time indicators that are not available in a different manner.

このとき、検出部154は、各分布の差異の大きさを示す指標についての閾値を設定する。当該閾値は、ユーザが許容できるモデルの精度によって設定することができる。まず、検出部154は、ユーザから許容できるモデルの精度に関連する値を受け付ける。そして、検出部154は、受け付けた値に対応する値を閾値として設定する。なお、閾値の設定は、業種で求められるモデルの精度に関する情報を用いて行われることができる。検出部154は、ユーザの業種情報から、当該業種で求められるモデルの精度を特定する。そして、検出部154は、特定されたモデルの精度から閾値を決定する。例えば、製品を撮像した画像から不良品を検出するようなモデルの精度では、1つでも不良品を見逃してはいけないので、高い精度に応じた閾値を設定する必要がある。 At this time, the detection unit 154 sets a threshold value for the index indicating the magnitude of the difference between each distribution. The threshold value can be set depending on the accuracy of the model that is acceptable to the user. First, the detection unit 154 receives a value related to acceptable model accuracy from the user. Then, the detection unit 154 sets a value corresponding to the received value as a threshold value. Note that the threshold value can be set using information regarding the accuracy of the model required by the industry. The detection unit 154 identifies the accuracy of the model required for the industry from the user's industry information. Then, the detection unit 154 determines a threshold value based on the accuracy of the identified model. For example, the accuracy of a model that detects defective products from images of products must not overlook even one defective product, so it is necessary to set a threshold according to the high accuracy.

図11の例では、2018年7月以前の学習データを用いてオリジナルモデルの学習が行われたものとする。ここで、2018年7月、2018年8月等の月は、複数の時間の一例である。図11に示すように、2018年11月にKLDが閾値である10以上になるため、検出部154は、2018年11月にincremental driftを検出する。 In the example of FIG. 11, it is assumed that the original model was trained using training data before July 2018. Here, months such as July 2018 and August 2018 are examples of multiple times. As shown in FIG. 11, since KLD reaches the threshold of 10 or more in November 2018, the detection unit 154 detects incremental drift in November 2018.

図11に示すように、表示制御部155は、複数の時間のそれぞれの指標を折れ線グラフで表示させる。表示制御部155は、折れ線グラフにおいて、ユーザが対応する必要のあるコンセプトドリフトを検出した時間に対応する点を、ユーザが対応する必要のあるコンセプトドリフトを検出していない時間に対応する点と、色、形、及び大きさの少なくともいずれかが異なるように表示させる。 As shown in FIG. 11, the display control unit 155 displays each index at a plurality of times in a line graph. In the line graph, the display control unit 155 sets a point corresponding to a time when a concept drift that needs to be dealt with by the user is detected, and a point corresponding to a time when a concept drift that needs to be dealt with by the user is not detected; The display is made to differ in at least one of color, shape, and size.

つまり、表示制御部155は、発生したコンセプトドリフトを示す情報を表示画面に表示させるとともに、ユーザが対応する必要のあるコンセプトドリフトと、ユーザが対応する必要のないコンセプトドリフトとを異なる態様で表示画面に表示させる。 In other words, the display control unit 155 displays information indicating the concept drift that has occurred on the display screen, and displays concept drifts that the user needs to respond to and concept drifts that the user does not need to respond to in different ways. to be displayed.

具体的には、生成部152は、複数の時間のそれぞれの指標を折れ線グラフで表示画面に表示させる。生成部152は、折れ線グラフにおいて、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出された時間に対応する点を、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出されていない時間に対応する点と、色、形、及び大きさの少なくともいずれかが異なるように表示させる。 Specifically, the generation unit 152 causes the display screen to display each index at a plurality of times in the form of a line graph. The generation unit 152 determines, in the line graph, a point corresponding to a time when a concept drift that requires a user response is detected to have occurred, and a point that corresponds to a point where a concept drift that requires a user response is detected to have occurred. A point corresponding to a time when no time is present is displayed so as to be different in at least one of color, shape, and size.

図11の例では、表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトを検出していない2018年10月以前のデータ点を白抜きの丸で表示させている。一方で、表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトを検出した2018年11月のデータ点を、黒塗りの丸及び当該丸を囲む大きいサイズの丸で表示させている。さらに、表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトを検出した2018年11月のデータ点の近傍に、incremental driftが発生した旨のメッセージが表示される。また、表示制御部155は、ツールチップによりメッセージを表示させてもよい。 In the example of FIG. 11, the display control unit 155 displays data points before October 2018, for which no concept drift that the user needs to respond to, is displayed as a white circle. On the other hand, the display control unit 155 displays the data points for November 2018 where a concept drift that the user needs to respond to is detected as a black circle and a large-sized circle surrounding the circle. Further, the display control unit 155 displays a message indicating that an incremental drift has occurred near the data point in November 2018 where a concept drift that needs to be addressed by the user is detected. Further, the display control unit 155 may display a message using a tool tip.

表示制御部155は、遷移メニューの「詳細を表示」が選択されると、詳細表示画面を表示させる。図12は、詳細表示画面の一例を示す図である。表示制御部155は、学習データをレプリカモデルに入力して得られる出力の分布のヒストグラム、及び、指定された時間のデータをレプリカモデルに入力して得られる出力の分布を示すヒストグラムを詳細表示画面に表示させる。各ヒストグラムは、図9を用いて説明したものと同様のものであってもよい。さらに、表示制御部155は、選択されたデータ点に対応する入力データの各変数の値を表示させてもよい。 The display control unit 155 displays a detailed display screen when "Display details" in the transition menu is selected. FIG. 12 is a diagram showing an example of a detailed display screen. The display control unit 155 displays a histogram of the distribution of outputs obtained by inputting learning data into the replica model and a histogram showing the distribution of outputs obtained by inputting data at a specified time into the replica model on a detailed display screen. to be displayed. Each histogram may be similar to that described using FIG. 9. Furthermore, the display control unit 155 may display the value of each variable of the input data corresponding to the selected data point.

学習部151は、ユーザの対応する必要のあるコンセプトドリフトが発生したことを検出した場合、ユーザの対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示装置の表示画面に表示させる。このとき、学習部151は、再学習を実行するか否かをユーザから受け付ける。そして、再学習を実行することをユーザから受け付けた場合には、学習部151は、時系列のデータのうち、ユーザの対応する必要のあるコンセプトドリフトが発生した時点における最新の運用データを抽出する。具体的には、学習部151は、ユーザの対応する必要のあるコンセプトドリフトが発生した時点を起点として、予め設定された期間前の運用データを抽出する。そして、学習部151は、運用データを用いて再学習を実行し、新たなモデルを生成する。例えば、学習部151は、ニューラルネットワークを用いて再学習を実行する。このとき、学習部151は、詳細表示画面に表示されている入力データを学習データとして再学習を行うことができる。なお、再学習における学習データのラベルは、人手によって付与されたものであってもよいし、オリジナルモデル及びレプリカモデルの出力を基に自動的に付与されたものであってもよい。 When the learning unit 151 detects that a concept drift that requires a user's response has occurred, the learning unit 151 causes the display screen of the display device to display information indicating that a concept drift that requires a user's response has occurred. At this time, the learning unit 151 receives from the user whether or not to perform relearning. When receiving a request from the user to perform relearning, the learning unit 151 extracts the latest operational data at the time when a concept drift that needs to be addressed by the user occurs from among the time-series data. . Specifically, the learning unit 151 extracts operational data for a preset period before the point in time when a concept drift that needs to be dealt with by the user occurs. The learning unit 151 then performs relearning using the operational data and generates a new model. For example, the learning unit 151 performs relearning using a neural network. At this time, the learning unit 151 can perform relearning using the input data displayed on the detailed display screen as learning data. Note that the labels of the learning data in relearning may be assigned manually, or may be automatically assigned based on the outputs of the original model and the replica model.

学習部151は、抽出した運用データを入力層より入力してニューラルネットワークに順伝播させる。そして、出力層から得られる分類結果とユーザ操作の正解(正例・負例)とを比較して誤差を求める。さらに、誤差逆伝播法により、分類結果と正解との誤差を分類時と逆方向にニューラルネットワークに伝播させ、ニューラルネットワークの各階層のパラメータを変更して最適解に近づける。なお、学習モデルとして、ニューラルネットワークを用いた例を説明したが、これに限定されるものではなく、ロジスティック回帰モデルや、サポートベクターマシンなど他の機械学習を採用することもできる。学習部151は、現在のオリジナルモデルを、新たに生成されたモデルに変更する。 The learning unit 151 inputs the extracted operational data from the input layer and forward propagates it to the neural network. Then, the classification result obtained from the output layer is compared with the correct answer (positive example/negative example) of the user's operation to find an error. Furthermore, by using the error backpropagation method, the error between the classification result and the correct answer is propagated to the neural network in the opposite direction to that during classification, and the parameters of each layer of the neural network are changed to approach the optimal solution. Although an example using a neural network has been described as a learning model, the present invention is not limited to this, and other machine learning methods such as a logistic regression model and a support vector machine may also be employed. The learning unit 151 changes the current original model to a newly generated model.

図13は、sudden drift発生時の月単位表示画面の一例を示す図である。生成部152は、学習済みのモデルに入力される運用データを取得する。そして、生成部152は、取得した運用データに基づいて、運用データの傾向の時間変化に起因するモデルの出力結果の変化の大きさを示す指標を算出し、算出された指標から時系列での指標の変化を特定する。さらに、生成部152は、特定された指標の変化と予め設定された閾値との比較に基づいて、ユーザが対応する必要のあるコンセプトドリフトが発生したか否かを判定する。生成部152は、ユーザが対応する必要のあるコンセプトドリフトが発生したと判定された場合は、ユーザが対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示画面に表示させる。 FIG. 13 is a diagram showing an example of a monthly display screen when sudden drift occurs. The generation unit 152 acquires operational data to be input to the trained model. Then, the generation unit 152 calculates an index indicating the magnitude of change in the model output result due to a temporal change in the trend of the operational data based on the acquired operational data, and uses the calculated index to calculate a time-series index. Identify changes in metrics. Furthermore, the generation unit 152 determines whether a concept drift that requires a user response has occurred based on a comparison between the change in the specified index and a preset threshold. If it is determined that a concept drift that requires a user response has occurred, the generation unit 152 causes the display screen to display information indicating that a concept drift that requires a user response has occurred.

このとき、表示制御部155は、発生したコンセプトドリフトを示す情報を表示画面に表示させるとともに、ユーザが対応する必要のあるコンセプトドリフトと、ユーザが対応する必要のないコンセプトドリフトとを異なる態様で表示画面に表示させる。 At this time, the display control unit 155 displays information indicating the concept drift that has occurred on the display screen, and displays concept drifts that the user needs to respond to and concept drifts that the user does not need to respond to in different ways. Display it on the screen.

具体的には、生成部152は、複数の時間のそれぞれの指標を折れ線グラフで表示画面に表示させる。生成部152は、折れ線グラフにおいて、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出された時間に対応する点を、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出されていない時間に対応する点と、色、形、及び大きさの少なくともいずれかが異なるように表示させる。 Specifically, the generation unit 152 causes the display screen to display each index at a plurality of times in the form of a line graph. The generation unit 152 determines, in the line graph, a point corresponding to a time when a concept drift that requires a user response is detected to have occurred, and a point that corresponds to a point where a concept drift that requires a user response is detected to have occurred. A point corresponding to a time when no time is present is displayed so as to be different in at least one of color, shape, and size.

具体的には、生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。そして、検出部154は、時系列のデータのうち、オリジナルモデルの学習時の学習データをレプリカモデルに入力して得られるスコアの分布と、学習時より後の複数の時間のそれぞれのデータをレプリカモデルに入力して得られるスコアの分布とを取得する。さらに、検出部154は、各分布の差異の大きさを示す指標の時系列での変化が所定の条件を満たす場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。 Specifically, the generation unit 152 generates a plurality of replica models by changing a predetermined parameter of an original model, which is a model that calculates a score for classifying data into one of a plurality of classes. Of the time-series data, the detection unit 154 calculates the distribution of scores obtained by inputting the learning data during learning of the original model into the replica model, and the replica model data at a plurality of times after the learning time. Obtain the distribution of scores obtained by inputting them into the model. Further, the detection unit 154 detects that a concept drift, which the user needs to respond to, has occurred when the time-series change in the index indicating the magnitude of the difference in each distribution satisfies a predetermined condition.

つまり、検出部154は、指標の時系列での変化の量が閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。図13に示すように、2018年11月にKLDが急激に増加しているため、検出部154は、2018年11月にsudden driftが発生したことを検出する。この場合、KLDはincremental driftの閾値である10以下であるものの、2018年10月と2018年11月との間の変化の量がsudden driftの閾値以上であるものとする。 In other words, when the amount of change in the index over time is equal to or greater than the threshold, the detection unit 154 detects that a concept drift that the user needs to respond to has occurred. As shown in FIG. 13, since KLD increases rapidly in November 2018, the detection unit 154 detects that sudden drift occurred in November 2018. In this case, KLD is less than the incremental drift threshold of 10, but the amount of change between October 2018 and November 2018 is greater than or equal to the sudden drift threshold.

表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトを検出した2018年11月のデータ点の近傍に、sudden driftが発生した旨のメッセージを表示させている。一方で、表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトを検出していない2018年10月以前のデータ点を白抜きの丸で表示させている。 The display control unit 155 displays a message indicating that a sudden drift has occurred near the data point in November 2018 where a concept drift that needs to be addressed by the user is detected. On the other hand, the display control unit 155 displays data points before October 2018, in which no concept drift that the user needs to deal with is detected, as white circles.

さらに、学習部151は、学習済みのユーザの対応する必要のあるコンセプトドリフトが発生したことを検出した場合、ユーザの対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示装置の表示画面に表示させる。このとき、学習部151は、再学習を実行するか否かをユーザから受け付ける。そして、再学習を実行することをユーザから受け付けた場合には、学習部151は、時系列のデータのうち、ユーザの対応する必要のあるコンセプトドリフトが発生した時点における最新の運用データを抽出する。具体的には、学習部151は、ユーザの対応する必要のあるコンセプトドリフトが発生した時点を起点として、予め設定された期間前の運用データを抽出する。学習部151は、予め設定された期間前の運用データを用いて再学習を実施する。 Furthermore, when the learning unit 151 detects that a concept drift that needs to be dealt with by a trained user has occurred, the learning unit 151 displays information indicating that a concept drift that needs to be dealt with by the user has occurred on the display screen of the display device. to be displayed. At this time, the learning unit 151 receives from the user whether or not to perform relearning. When receiving a request from the user to perform relearning, the learning unit 151 extracts the latest operational data at the time when a concept drift that needs to be addressed by the user occurs from among the time-series data. . Specifically, the learning unit 151 extracts operational data for a preset period before the point in time when a concept drift that needs to be dealt with by the user occurs. The learning unit 151 performs relearning using operational data from a preset period ago.

これまで説明した月単位表示画面のKLDは、例えば日単位のKLDの合計値であってもよい。この場合、生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。そして、検出部154は、時系列のデータのうち、オリジナルモデルの学習時の学習データをレプリカモデルに入力して得られるスコアの分布と、学習時より後の複数の時間のそれぞれのデータをレプリカモデルに入力して得られるスコアの分布とを取得する。ここで、表示制御部155は、検出部154が取得した各分布の差異の大きさを示す指標の、一定期間ごとの合計値を画面に表示させる。 The KLD on the monthly display screen described above may be, for example, the total value of KLD on a daily basis. In this case, the generation unit 152 generates a plurality of replica models by changing predetermined parameters of the original model, which is a model that calculates a score for classifying data into one of a plurality of classes. Of the time-series data, the detection unit 154 calculates the distribution of scores obtained by inputting the learning data during learning of the original model into the replica model, and the replica model data at a plurality of times after the learning time. Obtain the distribution of scores obtained by inputting them into the model. Here, the display control unit 155 displays on the screen the total value for each fixed period of the index indicating the magnitude of the difference in each distribution acquired by the detection unit 154.

検出部154は、指標又は合計値が閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。つまり、検出部154は、日単位のKLD及び月単位のKLDの両方又はいずれかを基にユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。この場合、例えば、ある月のKLDの合計が第一の閾値を超えていない場合であっても、その月の日のうち1日のKLDが第二の閾値以上である場合、検出部154は、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出することができる。 If the index or total value is equal to or greater than the threshold, the detection unit 154 detects that a concept drift that requires a user to respond has occurred. In other words, the detection unit 154 detects that a concept drift that the user needs to respond to has occurred based on the daily KLD and/or the monthly KLD. In this case, for example, even if the total KLD for a certain month does not exceed the first threshold, if the KLD for one day of the month is greater than or equal to the second threshold, the detection unit 154 , it is possible to detect that a concept drift has occurred that the user needs to respond to.

表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトが検出された場合、コンセプトドリフトに関する情報を画面に表示させる。例えば、表示制御部155は、日単位のKLDからユーザが対応する必要のあるコンセプトドリフトが発生したことを検出した場合であっても、月単位表示画面にコンセプトドリフトが発生した旨のメッセージを表示してもよい。 When a concept drift that requires a user response is detected, the display control unit 155 causes information regarding the concept drift to be displayed on the screen. For example, even if the display control unit 155 detects that a concept drift that requires a user response has occurred from the daily KLD, the display control unit 155 displays a message to the effect that a concept drift has occurred on the monthly display screen. You may.

また、表示制御部155は、複数の時間ごとの指標に関する情報を表示する画面と、一定期間ごとの合計値に関する情報を表示する画面とを切り替えて表示させる。例えば、表示制御部155は、月単位表示遷移メニューの「日単位で表示」が選択されると、日単位表示画面を表示させる。 Further, the display control unit 155 switches between a screen that displays information regarding a plurality of time-based indicators and a screen that displays information regarding total values for each fixed period. For example, when "display by day" is selected in the monthly display transition menu, the display control unit 155 displays a daily display screen.

図14及び図15を用いて、日単位表示画面及びrecurring driftの検出について説明する。図14は、recurring drift発生時の月単位表示画面の一例を示す図である。また、図15は、日単位表示画面の一例を示す図である。 The daily display screen and detection of recurring drift will be explained using FIGS. 14 and 15. FIG. 14 is a diagram showing an example of a monthly display screen when recurring drift occurs. Further, FIG. 15 is a diagram showing an example of a daily display screen.

図14の例では、月単位表示画面では、日単位のKLDの合計値が月単位のKLDとして表示されているものとする。そして、検出部154は、2018年11月に含まれる日単位のKLDに対してrecurring driftを検出したものとする。 In the example of FIG. 14, it is assumed that the total value of daily KLD is displayed as monthly KLD on the monthly display screen. It is assumed that the detection unit 154 detects recurring drift for daily KLD included in November 2018.

生成部152は、学習済みのモデルに入力される運用データを取得する。そして、生成部152は、取得した運用データに基づいて、運用データの傾向の時間変化に起因するモデルの出力結果の変化の大きさを示す第一の指標を算出する。さらに、生成部152は、算出された第一の指標を、運用データの周期的な単位時間で区分した第二の指標を算出し、算出された第二の指標と予め設定された閾値との比較に基づいて、ユーザが対応する必要のあるコンセプトドリフトが発生したか否かを判定する。生成部152は、ユーザが対応する必要のあるコンセプトドリフトが発生したと判定された場合は、ユーザが対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示画面に表示させる。 The generation unit 152 acquires operational data to be input to the trained model. Then, the generation unit 152 calculates, based on the acquired operational data, a first index indicating the magnitude of change in the output result of the model due to a temporal change in the trend of the operational data. Furthermore, the generation unit 152 calculates a second indicator by dividing the calculated first indicator into periodic unit times of the operational data, and compares the calculated second indicator with a preset threshold. Based on the comparison, it is determined whether a concept drift has occurred that needs to be addressed by the user. If it is determined that a concept drift that requires a user response has occurred, the generation unit 152 causes the display screen to display information indicating that a concept drift that requires a user response has occurred.

このとき、表示制御部155は、発生したコンセプトドリフトを示す情報を表示画面に表示させるとともに、ユーザが対応する必要のあるコンセプトドリフトと、ユーザが対応する必要のないコンセプトドリフトとを異なる態様で表示画面に表示させる。 At this time, the display control unit 155 displays information indicating the concept drift that has occurred on the display screen, and displays concept drifts that the user needs to respond to and concept drifts that the user does not need to respond to in different ways. Display it on the screen.

具体的には、生成部152は、複数の時間のそれぞれの指標を折れ線グラフで表示画面に表示させる。生成部152は、折れ線グラフにおいて、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出された時間に対応する点を、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出されていない時間に対応する点と、色、形、及び大きさの少なくともいずれかが異なるように表示させる。 Specifically, the generation unit 152 causes the display screen to display each index at a plurality of times in the form of a line graph. The generation unit 152 determines, in the line graph, a point corresponding to a time when a concept drift that requires a user response is detected to have occurred, and a point that corresponds to a point where a concept drift that requires a user response is detected to have occurred. A point corresponding to a time when no time is present is displayed so as to be different in at least one of color, shape, and size.

表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトを検出した2018年11月のデータ点の近傍に、recurring driftが発生した旨のメッセージを表示させている。一方で、表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトを検出していない2018年10月以前のデータ点を白抜きの丸で表示させている。 The display control unit 155 displays a message indicating that a recurring drift has occurred near the data point in November 2018 where a concept drift that needs to be addressed by the user is detected. On the other hand, the display control unit 155 displays data points before October 2018, in which no concept drift that the user needs to deal with is detected, as white circles.

生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。そして、検出部154は、時系列のデータのうち、オリジナルモデルの学習時の学習データをレプリカモデルに入力して得られるスコアの分布と、学習時より後の複数の時間のそれぞれのデータをレプリカモデルに入力して得られるスコアの分布とを取得する。さらに、検出部154は、各分布の差異の大きさを示す指標が、一定の周期で所定の条件を満たす場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。例えば、検出部154は、指標が一定期間ごとに閾値以上になる場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。 The generation unit 152 generates a plurality of replica models by changing predetermined parameters of the original model, which is a model that calculates a score for classifying data into one of a plurality of classes. Of the time-series data, the detection unit 154 calculates the distribution of scores obtained by inputting the learning data during learning of the original model into the replica model, and the replica model data at a plurality of times after the learning time. Obtain the distribution of scores obtained by inputting them into the model. Further, the detection unit 154 detects that a concept drift, which the user needs to respond to, has occurred when the index indicating the magnitude of the difference in each distribution satisfies a predetermined condition at a constant cycle. For example, the detection unit 154 detects that a concept drift, which the user needs to deal with, has occurred when the index becomes equal to or greater than a threshold value at regular intervals.

図15に示すように、表示制御部155は、日単位表示画面に、日付及び曜日とともにKLDを表示させる。図15の例では、11/6(水)、11/13(水)、11/20(水)、11/27(水)のKLDが閾値の0.4以上である。これより、検出部154は、1週間おきの水曜日に周期的にユーザが対応する必要のあるコンセプトドリフトが発生していることを検出する。 As shown in FIG. 15, the display control unit 155 displays KLD along with the date and day of the week on the daily display screen. In the example of FIG. 15, the KLD on November 6th (Wednesday), November 13th (Wednesday), November 20th (Wednesday), and November 27th (Wednesday) is greater than or equal to the threshold value of 0.4. From this, the detection unit 154 detects that a concept drift that the user needs to respond to occurs periodically on Wednesdays every other week.

表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトを検出した、11/6(水)、11/13(水)、11/20(水)、11/27(水)のデータ点の近傍に、メッセージを表示させる。 The display control unit 155 displays the data points of 11/6 (Wednesday), 11/13 (Wednesday), 11/20 (Wednesday), and 11/27 (Wednesday) where concept drifts that need to be addressed by the user are detected. Display a message nearby.

さらに、学習部151は、検出部154がユーザが対応する必要のあるコンセプトドリフトが発生したことを検出した場合、時系列のデータのうち、所定の条件を満たす時間のデータを用いて新たなモデルの学習を行う。例えば、図15の例では、学習部151は、毎週水曜日のデータのみを用いて水曜日向けの新たなモデルの学習を行ってもよい。つまり、学習部151は、ユーザの対応する必要のある、2018年11月の水曜日の運用データを学習する。 Furthermore, when the detection unit 154 detects that a concept drift that requires a user to respond has occurred, the learning unit 151 creates a new model using data at a time that satisfies a predetermined condition among the time-series data. Learn about. For example, in the example shown in FIG. 15, the learning unit 151 may learn a new model for Wednesday using only data from Wednesday every week. In other words, the learning unit 151 learns the operational data for Wednesday in November 2018 that the user needs to respond to.

具体的には、学習部151は、ユーザの対応する必要のあるコンセプトドリフトが発生したことを検出した場合、ユーザの対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示装置の表示画面に表示させる。このとき、学習部151は、再学習を実行するか否かをユーザから受け付ける。そして、再学習を実行することをユーザから受け付けた場合には、学習部151は、時系列のデータのうち、ユーザの対応する必要のあるコンセプトドリフトが発生した時点における最新の運用データを抽出する。具体的には、学習部151は、ユーザの対応する必要のあるコンセプトドリフトが発生した時点を起点として、予め設定された期間前の同じ時間単位の運用データを抽出する。学習部151は、予め設定された期間前の運用データを用いて再学習を実施する。 Specifically, when the learning unit 151 detects that a concept drift that requires a user's response has occurred, the learning unit 151 displays information indicating that a concept drift that requires a user's response has occurred on the display screen of the display device. to be displayed. At this time, the learning unit 151 receives from the user whether or not to perform relearning. When receiving a request from the user to perform relearning, the learning unit 151 extracts the latest operational data at the time when a concept drift that needs to be addressed by the user occurs from among the time-series data. . Specifically, the learning unit 151 extracts operational data for the same time unit a preset period before, starting from the point in time when a concept drift that needs to be addressed by the user occurs. The learning unit 151 performs relearning using operational data from a preset period ago.

[処理の流れ]
図16を用いて、検出装置10の学習時の処理の流れを説明する。図16は、検出装置の学習時の処理の流れを示すフローチャートである。図16に示すように、まず、検出装置10は、学習データの学習によりオリジナルモデルを生成する(ステップS101)。次に、検出装置10は、オリジナルモデルの所定のパラメータを変化させたレプリカモデル群を生成する(ステップS102)。そして、検出装置10は、レプリカモデル群に学習データを入力したときの出力の分布に関する情報を保存する(ステップS103)。
[Processing flow]
The flow of processing during learning of the detection device 10 will be explained using FIG. 16. FIG. 16 is a flowchart showing the flow of processing during learning of the detection device. As shown in FIG. 16, first, the detection device 10 generates an original model by learning learning data (step S101). Next, the detection device 10 generates a group of replica models in which predetermined parameters of the original model are changed (step S102). Then, the detection device 10 stores information regarding the distribution of outputs when learning data is input to the replica model group (step S103).

図17を用いて、検出装置10の学習時の処理の流れを説明する。図17は、検出装置の学習時の処理の流れを示すフローチャートである。図17に示すように、まず、検出装置10は、オリジナルモデルに運用データを入力したときの出力を計算する(ステップS201)。検出装置10は、ステップS201で計算した出力を基に推論結果を得ることができる。 The flow of processing during learning of the detection device 10 will be explained using FIG. 17. FIG. 17 is a flowchart showing the flow of processing during learning of the detection device. As shown in FIG. 17, the detection device 10 first calculates the output when operational data is input to the original model (step S201). The detection device 10 can obtain an inference result based on the output calculated in step S201.

次に、検出装置10は、レプリカモデル群に運用データを入力したときの出力の分布を取得する(ステップS202)。そして、検出装置10は、運用時に取得した分布と学習時に取得した分布との差異を評価するための指標を計算する(ステップS203)。運用時に取得した分布は、検出装置10がステップS202で取得した分布である。一方、学習時に取得した分布は、検出装置10が図16のステップS103で取得したものである。また、例えば、指標はKLDである。 Next, the detection device 10 obtains the distribution of outputs when operational data is input to the replica model group (step S202). Then, the detection device 10 calculates an index for evaluating the difference between the distribution acquired during operation and the distribution acquired during learning (step S203). The distribution acquired during operation is the distribution acquired by the detection device 10 in step S202. On the other hand, the distribution acquired during learning is acquired by the detection device 10 in step S103 of FIG. 16. Also, for example, the indicator is KLD.

ここで、検出装置10は、指標が条件を満たすか否かを判定する(ステップS204)。指標が条件を満たす場合(ステップS204、Yes)、検出装置10は、コンセプトドリフトを検出し、アラートを出力する(ステップS205)。アラートは、例えば図11に示すようなメッセージであってもよい。また、指標が条件を満たさない場合(ステップS204、No)、検出装置10は、オリジナルモデルの出力に基づく推論結果を出力する(ステップS206)。なお、ここでの条件は、前述の各種類のコンセプトドリフトを検出するための各条件である。 Here, the detection device 10 determines whether the index satisfies the condition (step S204). If the index satisfies the condition (step S204, Yes), the detection device 10 detects concept drift and outputs an alert (step S205). The alert may be a message as shown in FIG. 11, for example. Furthermore, when the index does not satisfy the condition (step S204, No), the detection device 10 outputs an inference result based on the output of the original model (step S206). Note that the conditions here are the conditions for detecting each type of concept drift described above.

[効果]
これまで説明してきたように、生成部152は、学習済みのオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。検出部154は、オリジナルモデルの学習に用いられた学習データをレプリカモデルに入力して得られる出力の分布と、学習データと異なる所定のデータをレプリカモデルに入力して得られる出力の分布との差異を検出する。このように、検出装置10は、オリジナルモデルが生成済みであれば、学習を行うことなくレプリカモデルを生成し、コンセプトドリフトの検出を行うことができる。この結果、検出装置10は、少ない計算量でコンセプトドリフトを検出することができる。
[effect]
As described above, the generation unit 152 generates a plurality of replica models by changing predetermined parameters of the learned original model. The detection unit 154 determines the distribution of output obtained by inputting learning data used for learning the original model into the replica model, and the distribution of output obtained by inputting predetermined data different from the learning data into the replica model. Detect differences. In this way, if the original model has been generated, the detection device 10 can generate a replica model and detect concept drift without performing learning. As a result, the detection device 10 can detect concept drift with a small amount of calculation.

検出部154は、時系列のデータのうち、オリジナルモデルの学習時のデータであって、オリジナルモデルの学習に用いられた学習データをレプリカモデルに入力して得られる出力の分布を取得する。検出部154は、時系列のデータのうち、学習時より後の所定の時間のデータをレプリカモデルに入力して得られる出力の分布を取得する。検出部154は、各分布の差異を検出する。このように、検出装置10は、時系列データに対する学習時及び運用時のそれぞれにおける出力の分布の差異を評価することができる。この結果、検出装置10は、少ない計算量で時系列データにおけるコンセプトドリフトを検出することができる。 The detection unit 154 acquires a distribution of outputs obtained by inputting learning data, which is data during learning of the original model and used for learning the original model, out of the time-series data to the replica model. The detection unit 154 inputs data of a predetermined time after the learning time out of the time-series data to the replica model and acquires the distribution of outputs obtained. The detection unit 154 detects differences in each distribution. In this way, the detection device 10 can evaluate the difference in output distribution between time-series data during learning and during operation. As a result, the detection device 10 can detect concept drift in time series data with a small amount of calculation.

生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。検出部154は、学習データをレプリカモデルに入力して得られるスコアの分布と、学習データと異なる所定のデータをレプリカモデルに入力して得られる出力の分布とのKLD(Kullback-Leibler divergence)を基に、差異を検出する。このように、検出装置10は、KLDを用いることで容易に分布間の差異を評価することができる。 The generation unit 152 generates a plurality of replica models by changing predetermined parameters of the original model, which is a model that calculates a score for classifying data into one of a plurality of classes. The detection unit 154 calculates KLD (Kullback-Leibler divergence) between the distribution of scores obtained by inputting learning data into the replica model and the distribution of outputs obtained by inputting predetermined data different from the learning data into the replica model. Detect differences based on the In this way, the detection device 10 can easily evaluate differences between distributions by using KLD.

生成部152は、所定のパラメータに平均が1.0、標準偏差が0.3である正規分布に従う乱数を掛けることによりレプリカモデルを生成する。このように、検出装置10は、オリジナルモデルとレプリカモデルとのかい離が大きくなり過ぎないようにすることができる。この結果、検出装置10は、コンセプトドリフトの誤検出を少なくすることができる。 The generation unit 152 generates a replica model by multiplying a predetermined parameter by a random number that follows a normal distribution and has an average of 1.0 and a standard deviation of 0.3. In this way, the detection device 10 can prevent the difference between the original model and the replica model from becoming too large. As a result, the detection device 10 can reduce erroneous detection of concept drift.

生成部152は、学習済みのオリジナルモデルであるニューラルネットワークの所定の層における重み及びバイアスを変化させることにより、複数のニューラルネットワークをレプリカモデルとして生成する。この結果、検出装置10は、オリジナルモデルがニューラルネットワークである場合にレプリカモデルを生成することができる。 The generation unit 152 generates a plurality of neural networks as replica models by changing the weights and biases in predetermined layers of the neural network that is the trained original model. As a result, the detection device 10 can generate a replica model when the original model is a neural network.

生成部152は、学習済みのオリジナルモデルであるSVMの識別関数における各特徴量についての重み及びバイアスを変化させることにより、複数のSVMをレプリカモデルとして生成する。この結果、検出装置10は、オリジナルモデルがSVMである場合にレプリカモデルを生成することができる。 The generation unit 152 generates a plurality of SVMs as replica models by changing the weight and bias for each feature in the discriminant function of the SVM, which is the trained original model. As a result, the detection device 10 can generate a replica model when the original model is an SVM.

生成部152は、学習済みのオリジナルモデルであるロジスティック回帰モデルの決定関数における各特徴量についての重み及びバイアスを変化させることにより、複数のロジスティック回帰モデルをレプリカモデルとして生成する。この結果、検出装置10は、オリジナルモデルがロジスティック回帰モデルである場合にレプリカモデルを生成することができる。 The generation unit 152 generates a plurality of logistic regression models as replica models by changing the weight and bias for each feature in the decision function of the trained original model, the logistic regression model. As a result, the detection device 10 can generate a replica model when the original model is a logistic regression model.

生成部152は、学習済みのオリジナルモデルである決定木の情報利得の閾値を変化させることにより、複数の決定木をレプリカモデルとして生成する。この結果、検出装置10は、オリジナルモデルが決定木である場合にレプリカモデルを生成することができる。 The generation unit 152 generates a plurality of decision trees as replica models by changing the information gain threshold of the decision tree that is the trained original model. As a result, the detection device 10 can generate a replica model when the original model is a decision tree.

学習部151は、検出部154が差異を検出した場合、所定のデータを用いてオリジナルモデルの再学習を行う。この結果、検出装置10は、コンセプトドリフトにオリジナルモデルを適合させることができる。 When the detection unit 154 detects a difference, the learning unit 151 re-learns the original model using predetermined data. As a result, the detection device 10 can adapt the original model to concept drift.

(incremental driftの検出に関する効果)
生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。検出部154は、学習データをレプリカモデルに入力して得られるスコアの分布と、運用データをレプリカモデルに入力して得られる出力の分布との差異の大きさを示す指標が閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。この結果、検出装置10は、少ない計算量でincremental driftを検出することができる。
(Effects related to detection of incremental drift)
The generation unit 152 generates a plurality of replica models by changing predetermined parameters of the original model, which is a model that calculates a score for classifying data into one of a plurality of classes. The detection unit 154 detects when an index indicating the size of the difference between the distribution of scores obtained by inputting learning data to the replica model and the distribution of outputs obtained by inputting operational data to the replica model is equal to or greater than a threshold value. , detects that a concept drift has occurred that the user needs to respond to. As a result, the detection device 10 can detect incremental drift with a small amount of calculation.

検出部154は、時系列のデータのうち、オリジナルモデルの学習時の学習データをレプリカモデルに入力して得られるスコアの分布と、学習時より後の複数の時間のそれぞれのデータをレプリカモデルに入力して得られるスコアの分布とを取得する。検出部154は、各分布の差異の大きさを示す指標が閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。表示制御部155は、複数の時間のそれぞれの指標に関する情報を画面に表示させる。表示制御部155は、さらに、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出された時間の指標に関する情報を、ユーザが対応する必要のあるコンセプトドリフトを検出していない時間の指標に関する情報と異なる態様で表示させる。この結果、検出装置10は、時系列データのincremental driftを検出し、検出結果を直感的な態様により提示することができる。 Among the time-series data, the detection unit 154 calculates the distribution of scores obtained by inputting learning data during learning of the original model into the replica model, and inputs each data at a plurality of times after the learning into the replica model. Obtain the distribution of scores obtained by inputting. The detection unit 154 detects that a concept drift, which the user needs to deal with, has occurred when the index indicating the magnitude of the difference between each distribution is equal to or greater than a threshold value. The display control unit 155 displays information regarding each index at a plurality of times on the screen. The display control unit 155 further displays information regarding an index of time when a concept drift to which the user needs to respond has been detected, and information regarding an index of time when a concept drift to which the user must respond has not been detected. Display information in a different manner. As a result, the detection device 10 can detect incremental drift in time-series data and present the detection results in an intuitive manner.

表示制御部155は、複数の時間のそれぞれの指標を折れ線グラフで表示させる。表示制御部155は、折れ線グラフにおいて、ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出された時間に対応する点を、ユーザが対応する必要のあるコンセプトドリフトを検出していない時間に対応する点と、色、形、及び大きさの少なくともいずれかが異なるように表示させる。この結果、検出装置10は、時系列データのincremental driftを検出し、検出結果を直感的な態様により提示することができる。 The display control unit 155 displays each index at a plurality of times in a line graph. The display control unit 155 places a point in the line graph corresponding to a time when a concept drift that requires a user's response is detected at a time when a concept drift that requires a user's response is not detected. The display is made to be different from the corresponding point in at least one of color, shape, and size. As a result, the detection device 10 can detect incremental drift in time-series data and present the detection results in an intuitive manner.

表示制御部155は、学習データをレプリカモデルに入力して得られる出力の分布のヒストグラム、及び、指定された時間のデータをレプリカモデルに入力して得られる出力の分布を示すヒストグラムを画面に表示させる。この結果、検出装置10は、コンセプトドリフトの発生を多様な側面から提示し、ユーザの理解を促すことができる。 The display control unit 155 displays on the screen a histogram of the distribution of outputs obtained by inputting learning data into the replica model, and a histogram showing the distribution of outputs obtained by inputting data at a specified time into the replica model. let As a result, the detection device 10 can present the occurrence of concept drift from various aspects and facilitate the user's understanding.

学習部151は、検出部154がユーザが対応する必要のあるコンセプトドリフトが発生したことを検出した場合、時系列のデータのうち、ユーザが対応する必要のあるコンセプトドリフトを検出した時点における最新のデータを用いてオリジナルモデルの再学習を行う。この結果、検出装置10は、incremental driftにオリジナルモデルを適合させることができる。 When the detection unit 154 detects that a concept drift to which the user needs to respond has occurred, the learning unit 151 selects the most recent time-series data at the time when the concept drift to which the user needs to respond is detected. Retrain the original model using the data. As a result, the detection device 10 can adapt the original model to incremental drift.

(sudden driftの検出に関する効果)
生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。検出部154は、時系列のデータのうち、オリジナルモデルの学習時の学習データをレプリカモデルに入力して得られるスコアの分布と、学習時より後の複数の時間のそれぞれのデータをレプリカモデルに入力して得られるスコアの分布とを取得する。検出部154は、各分布の差異の大きさを示す指標の時系列での変化が所定の条件を満たす場合、ユーザが対応する必要があるコンセプトドリフトが発生したことを検出する。この結果、検出装置10は、少ない計算量で時系列データのsudden driftを検出することができる。
(Effects related to detection of sudden drift)
The generation unit 152 generates a plurality of replica models by changing predetermined parameters of the original model, which is a model that calculates a score for classifying data into one of a plurality of classes. Among the time-series data, the detection unit 154 calculates the distribution of scores obtained by inputting learning data during learning of the original model into the replica model, and inputs each data at a plurality of times after the learning into the replica model. Obtain the distribution of scores obtained by inputting. The detection unit 154 detects that a concept drift, which the user needs to respond to, has occurred when a time-series change in the index indicating the magnitude of the difference in each distribution satisfies a predetermined condition. As a result, the detection device 10 can detect sudden drift in time series data with a small amount of calculation.

検出部154は、指標の時系列での変化の量が閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。この結果、検出装置10は、時系列データのsudden driftを検出することができる。 The detection unit 154 detects that a concept drift that requires a user to respond has occurred when the amount of change in the index over time is equal to or greater than a threshold value. As a result, the detection device 10 can detect sudden drift in time series data.

学習部151は、検出部154がユーザが対応する必要のあるコンセプトドリフトが発生したことを検出した場合、時系列のデータのうち、ユーザが対応する必要のあるコンセプトドリフトを検出した時点における最新のデータを用いてオリジナルモデルの再学習を行う。この結果、検出装置10は、sudden driftにオリジナルモデルを適合させることができる。 When the detection unit 154 detects that a concept drift to which the user needs to respond has occurred, the learning unit 151 selects the most recent time-series data at the time when the concept drift to which the user needs to respond is detected. Retrain the original model using the data. As a result, the detection device 10 can adapt the original model to sudden drift.

(合計値表示に関する効果)
生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。検出部154は、時系列のデータのうち、オリジナルモデルの学習時の学習データをレプリカモデルに入力して得られるスコアの分布と、学習時より後の複数の時間のそれぞれのデータをレプリカモデルに入力して得られるスコアの分布とを取得する。表示制御部155は、検出部154が取得した各分布の差異の大きさを示す指標の、一定期間ごとの合計値を画面に表示させる。この結果、検出装置10は、少ない計算量で所定の期間にユーザが対応する必要があるコンセプトドリフトが発生したことを検出することができる。
(Effects related to total value display)
The generation unit 152 generates a plurality of replica models by changing predetermined parameters of the original model, which is a model that calculates a score for classifying data into one of a plurality of classes. Among the time-series data, the detection unit 154 calculates the distribution of scores obtained by inputting learning data during learning of the original model into the replica model, and inputs each data at a plurality of times after the learning into the replica model. Obtain the distribution of scores obtained by inputting. The display control unit 155 displays on the screen the total value of the index indicating the magnitude of the difference in each distribution acquired by the detection unit 154 for each fixed period. As a result, the detection device 10 can detect the occurrence of a concept drift that requires a user to respond within a predetermined period with a small amount of calculation.

検出部154は、指標又は合計値が閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。表示制御部155は、ユーザが対応する必要のあるコンセプトドリフトが検出された場合、コンセプトドリフトに関する情報を画面に表示させる。この結果、検出装置10は、狭い時間の範囲及び広い時間の範囲の両方でユーザが対応する必要のあるコンセプトドリフトの発生を検出することができる。 If the index or total value is equal to or greater than the threshold, the detection unit 154 detects that a concept drift that requires a user to respond has occurred. When a concept drift that requires a user response is detected, the display control unit 155 causes information regarding the concept drift to be displayed on the screen. As a result, the detection device 10 can detect the occurrence of concept drift that requires the user to respond in both a narrow time range and a wide time range.

表示制御部155は、複数の時間ごとの指標に関する情報を表示する画面と、一定期間ごとの合計値に関する情報を表示する画面とを切り替えて表示させる。この結果、検出装置10は、狭い時間の範囲及び広い時間の範囲の両方のコンセプトドリフトに関する情報を提示することができる。 The display control unit 155 switches between a screen that displays information regarding a plurality of time-based indicators and a screen that displays information regarding total values for each fixed period. As a result, the detection device 10 is able to present information regarding concept drift in both narrow and wide time ranges.

学習部151は、検出部154がユーザが対応する必要のあるコンセプトドリフトが発生したことを検出した場合、時系列のデータのうち、ユーザが対応する必要のあるコンセプトドリフトを検出した時点における最新のデータを用いてオリジナルモデルの再学習を行う。この結果、検出装置10は、コンセプトドリフトにオリジナルモデルを適合させることができる。 When the detection unit 154 detects that a concept drift to which the user needs to respond has occurred, the learning unit 151 selects the most recent time-series data at the time when the concept drift to which the user needs to respond is detected. Retrain the original model using the data. As a result, the detection device 10 can adapt the original model to concept drift.

(recurring driftの検出に関する効果)
生成部152は、データを複数のクラスのいずれかに分類するためのスコアを計算するモデルであるオリジナルモデルの所定のパラメータを変化させることにより、複数のレプリカモデルを生成する。検出部154は、時系列のデータのうち、オリジナルモデルの学習時の学習データをレプリカモデルに入力して得られるスコアの分布と、学習時より後の複数の時間のそれぞれのデータをレプリカモデルに入力して得られるスコアの分布とを取得する。検出部154は、各分布の差異の大きさを示す指標が、一定の周期で所定の条件を満たす場合、ユーザが対応する必要があるコンセプトドリフトが発生したことを検出する。この結果、検出装置10は、少ない計算量で時系列データのrecurring driftを検出することができる。
(Effects related to detection of recurring drift)
The generation unit 152 generates a plurality of replica models by changing predetermined parameters of the original model, which is a model that calculates a score for classifying data into one of a plurality of classes. Among the time-series data, the detection unit 154 calculates the distribution of scores obtained by inputting learning data during learning of the original model into the replica model, and inputs each data at a plurality of times after the learning into the replica model. Obtain the distribution of scores obtained by inputting. The detection unit 154 detects that a concept drift, which the user needs to deal with, has occurred when the index indicating the magnitude of the difference in each distribution satisfies a predetermined condition at a constant period. As a result, the detection device 10 can detect recurring drift in time series data with a small amount of calculation.

検出部154は、指標が一定期間ごとに閾値以上になる場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出する。この結果、検出装置10は、時系列データのrecurring driftを検出することができる。 The detection unit 154 detects that a concept drift, which the user needs to deal with, has occurred when the index becomes equal to or greater than the threshold value at regular intervals. As a result, the detection device 10 can detect recurring drift in time-series data.

学習部151は、検出部154がユーザが対応する必要のあるコンセプトドリフトが発生したことを検出した場合、時系列のデータのうち、所定の条件を満たす時間のデータを用いて新しいモデルの学習を行う。この結果、検出装置10は、recurring driftに新しいモデルを適合させることができる。 When the detection unit 154 detects that a concept drift that requires a user response has occurred, the learning unit 151 learns a new model using data at a time that satisfies a predetermined condition among the time series data. conduct. As a result, the detection device 10 can adapt the new model to the recurring drift.

[他の実施例]
上記の実施例では、オリジナルモデル及びレプリカモデルのアルゴリズムがニューラルネットワークである場合の例を説明した。一方で、検出装置10は、各モデルのアルゴリズムがニューラルネットワーク以外のアルゴリズムである場合であっても、コンセプトドリフトの検出を行うことができる。
[Other Examples]
In the above embodiment, an example was explained in which the algorithms for the original model and the replica model were neural networks. On the other hand, the detection device 10 can detect concept drift even when the algorithm of each model is an algorithm other than a neural network.

例えば、アルゴリズムはSVM(Support Vector Machine)であってもよい。この場合、生成部152は、学習済みのオリジナルモデルであるSVMの識別関数における各特徴量についての重み及びバイアスを変化させることにより、複数のSVMをレプリカモデルとして生成する。(3)式は、SVMの識別関数である。生成部152は、識別関数の重みai及びバイアスbに乱数を掛けることによりレプリカモデルを生成する。前述のニューラルネットワークの例と同様に、生成部152は、平均が1.0、標準偏差が0.3である正規分布に従う乱数を各パラメータに掛けることができる。For example, the algorithm may be SVM (Support Vector Machine). In this case, the generation unit 152 generates a plurality of SVMs as replica models by changing the weight and bias for each feature in the discriminant function of the SVM, which is the trained original model. Equation (3) is the discriminant function of SVM. The generation unit 152 generates a replica model by multiplying the weight a i and bias b of the discriminant function by a random number. Similar to the neural network example described above, the generation unit 152 can multiply each parameter by a random number that follows a normal distribution with an average of 1.0 and a standard deviation of 0.3.

Figure 0007363910000003
Figure 0007363910000003

同様に、生成部152は、学習済みのオリジナルモデルであるロジスティック回帰モデルの決定関数における各特徴量についての重み及びバイアスを変化させることにより、複数のロジスティック回帰モデルをレプリカモデルとして生成することができる。(4)式は、ロジスティック回帰の決定関数である。生成部152は、決定関数の重みwi及びバイアスbに乱数を掛けることによりレプリカモデルを生成する。前述のニューラルネットワークの例と同様に、生成部152は、平均が1.0、標準偏差が0.3である正規分布に従う乱数を各パラメータに掛けることができる。Similarly, the generation unit 152 can generate a plurality of logistic regression models as replica models by changing the weight and bias for each feature in the decision function of the trained original model, the logistic regression model. . Equation (4) is a determination function of logistic regression. The generation unit 152 generates a replica model by multiplying the weight w i and bias b of the decision function by a random number. Similar to the neural network example described above, the generation unit 152 can multiply each parameter by a random number that follows a normal distribution with an average of 1.0 and a standard deviation of 0.3.

Figure 0007363910000004
Figure 0007363910000004

さらに、生成部152は、学習済みのオリジナルモデルである決定木の情報利得の閾値を変化させることにより、複数の決定木をレプリカモデルとして生成することができる。生成部152は、各質問の情報利得の閾値に乱数を掛けることによりレプリカモデルを生成する。前述のニューラルネットワークの例と同様に、生成部152は、平均が1.0、標準偏差が0.3である正規分布に従う乱数を各パラメータに掛けることができる。 Further, the generation unit 152 can generate a plurality of decision trees as replica models by changing the information gain threshold of the decision tree, which is the trained original model. The generation unit 152 generates a replica model by multiplying the information gain threshold of each question by a random number. Similar to the neural network example described above, the generation unit 152 can multiply each parameter by a random number that follows a normal distribution with an average of 1.0 and a standard deviation of 0.3.

図18は、決定木のパラメータについて説明するための図である。例えば、「温度25℃以上?」という質問の情報利得の閾値は25である。生成部152は、25に乱数を掛けて得られる25.1や24.5といった値を使って、「温度25.1℃以上?」、「温度24.5℃以上?」といった質問を持つ決定木をレプリカモデルとして生成することができる。 FIG. 18 is a diagram for explaining parameters of a decision tree. For example, the information gain threshold for the question "Is the temperature over 25 degrees Celsius?" is 25. The generation unit 152 uses values such as 25.1 and 24.5 obtained by multiplying 25 by random numbers to generate a decision tree as a replica model with questions such as "Is the temperature 25.1°C or higher?" and "Is the temperature 24.5°C or higher?" Can be done.

[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
[system]
Information including processing procedures, control procedures, specific names, and various data and parameters shown in the above documents and drawings can be changed arbitrarily unless otherwise specified. Furthermore, the specific examples, distributions, numerical values, etc. described in the examples are merely examples, and can be changed arbitrarily.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Furthermore, each component of each device shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings. That is, the specific form of distributing and integrating each device is not limited to what is shown in the drawings. In other words, all or part of them can be functionally or physically distributed and integrated into arbitrary units depending on various loads, usage conditions, and the like. Furthermore, all or any part of each processing function performed by each device can be realized by a CPU and a program that is analyzed and executed by the CPU, or can be realized as hardware using wired logic.

[ハードウェア]
図19は、ハードウェア構成例を説明する図である。図19に示すように、検出装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図19に示した各部は、バス等で相互に接続される。
[hardware]
FIG. 19 is a diagram illustrating an example of a hardware configuration. As shown in FIG. 19, the detection device 10 includes a communication interface 10a, an HDD (Hard Disk Drive) 10b, a memory 10c, and a processor 10d. Furthermore, the parts shown in FIG. 19 are interconnected via a bus or the like.

通信インタフェース10aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD10bは、図2に示した機能を動作させるプログラムやDBを記憶する。 The communication interface 10a is a network interface card or the like, and communicates with other servers. The HDD 10b stores programs and DB that operate the functions shown in FIG.

プロセッサ10dは、図2に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図2等で説明した各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、検出装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、学習部151、生成部152、計算部153、検出部154及び表示制御部155と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、学習部151、生成部152、計算部153、検出部154及び表示制御部155等と同様の処理を実行するプロセスを実行する。 The processor 10d reads a program that executes the same processing as each processing unit shown in FIG. It is a hardware circuit. That is, this process executes the same functions as each processing unit included in the detection device 10. Specifically, the processor 10d reads a program having the same functions as the learning section 151, the generation section 152, the calculation section 153, the detection section 154, and the display control section 155 from the HDD 10b or the like. The processor 10d then executes a process similar to that of the learning unit 151, the generation unit 152, the calculation unit 153, the detection unit 154, the display control unit 155, and the like.

このように検出装置10は、プログラムを読み出して実行することで検出方法又は表示方法を実行する情報処理装置として動作する。また、検出装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、検出装置10によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。 In this way, the detection device 10 operates as an information processing device that executes a detection method or a display method by reading and executing a program. Further, the detection device 10 can also realize the same functions as in the above-described embodiments by reading the program from a recording medium using a medium reading device and executing the read program. Note that the programs in other embodiments are not limited to being executed by the detection device 10. For example, the present invention can be similarly applied to cases where another computer or server executes a program, or where these computers or servers cooperate to execute a program.

このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。 This program can be distributed via a network such as the Internet. Additionally, this program is recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM, MO (Magneto-Optical disk), or DVD (Digital Versatile Disc), and is read from the recording medium by the computer. It can be executed by being read.

10 検出装置
11 通信部
12 入力部
13 出力部
14 記憶部
15 制御部
151 学習部
152 生成部
153 計算部
154 検出部
155 表示制御部
10 detection device 11 communication unit 12 input unit 13 output unit 14 storage unit 15 control unit 151 learning unit 152 generation unit 153 calculation unit 154 detection unit 155 display control unit

Claims (9)

学習済みのモデルに入力される運用データを取得し、
データを複数のクラスのいずれかに分類するためのスコアを計算する前記モデルである第一のモデルの所定のパラメータが変化した複数の第二のモデルを生成し、
前記第一のモデルの学習に用いられた学習データを前記第二のモデルに入力して得られるスコアの分布と、前記学習データと異なる所定のデータである前記運用データを前記第二のモデルに入力して得られる出力の分布との差異の大きさを示す指標を算出し、
算出された前記指標と予め設定された閾値との比較に基づいて、ユーザが対応する必要のあるコンセプトドリフトが発生したか否かを判定し、
前記指標が前記閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示画面に表示させる
処理をコンピュータが実行することを特徴とする表示方法。
Obtain operational data to be input to the trained model,
generating a plurality of second models in which predetermined parameters of the first model, which is the model that calculates a score for classifying data into one of a plurality of classes, are changed;
The distribution of scores obtained by inputting the learning data used for learning the first model into the second model, and the operational data, which is predetermined data different from the learning data, are input into the second model. Calculate an index that shows the size of the difference between the input and output distribution ,
Based on a comparison between the calculated index and a preset threshold, determine whether a concept drift that requires a user to respond has occurred;
A display method characterized in that a computer executes a process of displaying on a display screen information indicating that a concept drift that requires a user to respond has occurred when the index is equal to or greater than the threshold value .
発生したコンセプトドリフトを示す情報を表示画面に表示させるとともに、前記ユーザが対応する必要のあるコンセプトドリフトと、前記ユーザが対応する必要のないコンセプトドリフトとを異なる態様で前記表示画面に表示させる
処理をさらに実行することを特徴とする請求項1に記載の表示方法。
Displaying information indicating a concept drift that has occurred on the display screen, and displaying concept drift that the user needs to respond to and concept drift that the user does not need to respond to in different forms on the display screen. The display method according to claim 1, further comprising performing the following steps.
再学習を実行することの指示をユーザから受け付け、
ユーザからの指示に基づいて、前記ユーザの対応する必要のあるコンセプトドリフトが発生した時点を起点として、予め設定された期間前の運用データを抽出し、
抽出した前記予め設定された期間前の運用データを用いた再学習に基づくモデルを作成し、
前記モデルを、前記再学習に基づくモデルに変更する
処理をさらに実行することを特徴とする請求項1に記載の表示方法。
Receive instructions from the user to perform relearning,
Based on instructions from the user, extract operational data for a preset period before the point in time when a concept drift that the user needs to respond to occurs,
Create a model based on relearning using the extracted operational data before the preset period,
The display method according to claim 1, further comprising: changing the model to a model based on the relearning.
ユーザから許容できるモデルの精度に関連する値を受け付け、
受け付けた前記許容できるモデルの精度に関連する値に基づいて、前記予め設定された閾値として設定する
処理をさらに実行することを特徴とする請求項1に記載の表示方法。
accept values related to acceptable model accuracy from the user;
The display method according to claim 1, further comprising: setting the predetermined threshold value based on the accepted value related to the accuracy of the acceptable model.
前記指標は、時系列のデータのうち、前記第一のモデルの学習時のデータであって、前記第一のモデルの学習に用いられた前記学習データを前記第二のモデルに入力して得られる出力の分布と、前記時系列のデータのうち、前記学習時より後の複数の時間のそれぞれのデータである前記運用データを前記第二のモデルに入力して得られる出力の分布との差異の大きさを示す指標であって、前記指標前記閾値以上である場合、前記ユーザが対応する必要のあるコンセプトドリフトが発生したことを検出し、
前記複数の時間のそれぞれの前記指標に関する情報を画面に表示させ、さらに、コンセプトドリフトが発生したことが検出された時間の前記指標に関する情報を、コンセプトドリフトが発生したことが検出されていない時間の前記指標に関する情報と異なる態様で表示させる
処理をさらに実行することを特徴とする請求項に記載の表示方法。
The index is data during learning of the first model among time-series data, and is obtained by inputting the learning data used for learning the first model into the second model. and the distribution of output obtained by inputting the operational data, which is data for each of a plurality of times after the learning time, into the second model among the time-series data. an index indicating the magnitude of the index , if the index is equal to or greater than the threshold, detecting that a concept drift that the user needs to respond to has occurred;
Information regarding the index for each of the plurality of times is displayed on the screen, and information regarding the index for the time when concept drift has been detected is displayed for the time when concept drift has not been detected. The display method according to claim 1 , further comprising: displaying the information in a manner different from the information regarding the index.
複数の時間のそれぞれの指標を折れ線グラフで表示させ、さらに、折れ線グラフにおいて、前記ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出された時間に対応する点を、前記ユーザが対応する必要のあるコンセプトドリフトが発生したことが検出されていない時間に対応する点と、色、形、及び大きさの少なくともいずれかが異なるように表示させることを特徴とする請求項1に記載の表示方法。 The indicators for each of a plurality of times are displayed in a line graph, and further, the user corresponds to a point on the line graph that corresponds to a time when a concept drift that needs to be addressed by the user is detected to have occurred. The display according to claim 1, characterized in that the display is made to differ in at least one of color, shape, and size from a point corresponding to a time when it is not detected that the necessary concept drift has occurred. Method. 前記学習データを前記第二のモデルに入力して得られる出力の分布を示すヒストグラム、及び、指定された時間のデータを前記第二のモデルに入力して得られる出力の分布を示すヒストグラムを画面に表示させる
処理をさらに実行することを特徴とする請求項に記載の表示方法。
A histogram showing the distribution of the output obtained by inputting the learning data into the second model, and a histogram showing the distribution of the output obtained by inputting the data at a specified time into the second model are displayed on the screen. 2. The display method according to claim 1 , further comprising: displaying the image on the screen.
学習済みのモデルに入力される運用データを取得し、
データを複数のクラスのいずれかに分類するためのスコアを計算する前記モデルである第一のモデルの所定のパラメータが変化した複数の第二のモデルを生成し、
前記第一のモデルの学習に用いられた学習データを前記第二のモデルに入力して得られるスコアの分布と、前記学習データと異なる所定のデータである前記運用データを前記第二のモデルに入力して得られる出力の分布との差異の大きさを示す指標を算出し、
算出された前記指標と予め設定された閾値との比較に基づいて、ユーザが対応する必要のあるコンセプトドリフトが発生したか否かを判定し、
前記指標が前記閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示画面に表示させる
処理をコンピュータに実行させることを特徴とする表示プログラム。
Obtain operational data to be input to the trained model,
generating a plurality of second models in which predetermined parameters of the first model, which is the model that calculates a score for classifying data into one of a plurality of classes, are changed;
The distribution of scores obtained by inputting the learning data used for learning the first model into the second model, and the operational data, which is predetermined data different from the learning data, are input into the second model. Calculate an index that shows the size of the difference between the input and output distribution ,
Based on a comparison between the calculated index and a preset threshold, determine whether a concept drift that requires a user to respond has occurred;
A display program that causes a computer to execute a process of displaying on a display screen information indicating that a concept drift that requires a user response has occurred when the index is equal to or greater than the threshold value .
学習済みのモデルに入力される運用データを取得する取得部と、
データを複数のクラスのいずれかに分類するためのスコアを計算する前記モデルである第一のモデルの所定のパラメータが変化した複数の第二のモデルを生成する生成部と、
前記第一のモデルの学習に用いられた学習データを前記第二のモデルに入力して得られるスコアの分布と、前記学習データと異なる所定のデータである前記運用データを前記第二のモデルに入力して得られる出力の分布との差異の大きさを示す指標を算出する指標算出部と、
算出された前記指標と予め設定された閾値との比較に基づいて、ユーザが対応する必要のあるコンセプトドリフトが発生したか否かを判定する判定部と、
前記指標が前記閾値以上である場合、ユーザが対応する必要のあるコンセプトドリフトが発生したことを示す情報を表示画面に表示させる表示制御部と、
を有することを特徴とする情報処理装置。
an acquisition unit that acquires operational data to be input to the trained model;
a generation unit that generates a plurality of second models in which predetermined parameters of the first model, which is the model that calculates a score for classifying data into one of a plurality of classes, are changed;
The distribution of scores obtained by inputting the learning data used for learning the first model into the second model, and the operational data, which is predetermined data different from the learning data, are input into the second model. an index calculation unit that calculates an index indicating the magnitude of the difference between the input and the output distribution ;
a determination unit that determines whether a concept drift that requires a user to respond has occurred based on a comparison between the calculated index and a preset threshold;
a display control unit that displays on a display screen information indicating that a concept drift that requires a user to respond has occurred when the index is greater than or equal to the threshold ;
An information processing device comprising:
JP2021553214A 2019-10-23 2019-10-23 Display method, display program and information processing device Active JP7363910B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/041583 WO2021079444A1 (en) 2019-10-23 2019-10-23 Display method, display program, and information processing device

Publications (2)

Publication Number Publication Date
JPWO2021079444A1 JPWO2021079444A1 (en) 2021-04-29
JP7363910B2 true JP7363910B2 (en) 2023-10-18

Family

ID=75620635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021553214A Active JP7363910B2 (en) 2019-10-23 2019-10-23 Display method, display program and information processing device

Country Status (2)

Country Link
JP (1) JP7363910B2 (en)
WO (1) WO2021079444A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210133632A1 (en) * 2019-11-04 2021-05-06 Domino Data Lab, Inc. Systems and methods for model monitoring
JP7295208B1 (en) * 2021-12-07 2023-06-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 Recommendation device, recommendation method and recommendation program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052577A (en) 2006-08-25 2008-03-06 Hitachi High-Technologies Corp Apparatus presenting operation state
JP2014232494A (en) 2013-05-30 2014-12-11 日本電信電話株式会社 Document creation assist device and operation method thereof
JP2017094339A (en) 2015-11-18 2017-06-01 ファナック株式会社 Laser processing head including circuit for circulating coolant
WO2019064892A1 (en) 2017-09-26 2019-04-04 株式会社日立製作所 System and method for assisting with manufacturing management
WO2019176480A1 (en) 2018-03-14 2019-09-19 オムロン株式会社 Learning assistance device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052577A (en) 2006-08-25 2008-03-06 Hitachi High-Technologies Corp Apparatus presenting operation state
JP2014232494A (en) 2013-05-30 2014-12-11 日本電信電話株式会社 Document creation assist device and operation method thereof
JP2017094339A (en) 2015-11-18 2017-06-01 ファナック株式会社 Laser processing head including circuit for circulating coolant
WO2019064892A1 (en) 2017-09-26 2019-04-04 株式会社日立製作所 System and method for assisting with manufacturing management
WO2019176480A1 (en) 2018-03-14 2019-09-19 オムロン株式会社 Learning assistance device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LINDSTROM, P et al.,"Drift Detection Using Uncertainty Distribution Divergence",2011 IEEE 11th International Conference on Data Mining Workshops [online],IEEE,2012年,pp. 604-608,[retrieved on 2019.12.13], Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/abstract/document/6137435>,<DOI:10.1109/ICDMW.2011.70>

Also Published As

Publication number Publication date
JPWO2021079444A1 (en) 2021-04-29
WO2021079444A1 (en) 2021-04-29

Similar Documents

Publication Publication Date Title
JP2018195308A (en) Method and system for data-based optimization of performance indicators in process and manufacturing industries
US11593648B2 (en) Methods and systems for detection and isolation of bias in predictive models
CN110378438A (en) Training method, device and the relevant device of Image Segmentation Model under label is fault-tolerant
US11836334B2 (en) Machine learning-based interactive visual monitoring tool for high dimensional data sets across multiple KPIs
JP7363910B2 (en) Display method, display program and information processing device
US20220129708A1 (en) Segmenting an image using a neural network
WO2019092931A1 (en) Discriminant model generation device, discriminant model generation method, and discriminant model generation program
CN112633461A (en) Application assistance system and method, and computer-readable recording medium
WO2016200408A1 (en) Hybrid classification system
EP4033404A1 (en) Class determination system, class determination method, and class determination program
JP7363911B2 (en) Display method, display program and information processing device
JP7363912B2 (en) Display method, display program and information processing device
JP7544607B2 (en) Data creation support device and data creation support method
WO2021079446A1 (en) Display method, display program, and information processing device
US20210365771A1 (en) Out-of-distribution (ood) detection by perturbation
JP7322962B2 (en) Generation method, generation program and information processing device
US20230385690A1 (en) Computer-readable recording medium storing determination program, determination apparatus, and method of determining
US20220230028A1 (en) Determination method, non-transitory computer-readable storage medium, and information processing device
Shao et al. Hybrid artificial neural networks modeling for faults identification of a stochastic multivariate process
WO2021079443A1 (en) Detection method, detection program, and detection device
EP4075297A1 (en) Machine learning-based interactive visual monitoring tool for high dimensional data sets across multiple kpis
JPWO2018235841A1 (en) Graph structure analysis device, graph structure analysis method, and program
WO2021095358A1 (en) Learning method, evaluation device, and evaluation system
JP7400827B2 (en) Detection method, detection program and information processing device
Uniyal et al. Wine Quality Evaluation Using Machine Learning Algorithms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230918

R150 Certificate of patent or registration of utility model

Ref document number: 7363910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150