JP7728199B2 - Analytical device, analytical method, and analytical program - Google Patents
Analytical device, analytical method, and analytical programInfo
- Publication number
- JP7728199B2 JP7728199B2 JP2022022241A JP2022022241A JP7728199B2 JP 7728199 B2 JP7728199 B2 JP 7728199B2 JP 2022022241 A JP2022022241 A JP 2022022241A JP 2022022241 A JP2022022241 A JP 2022022241A JP 7728199 B2 JP7728199 B2 JP 7728199B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- node
- nodes
- causal relationship
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、分析装置、分析方法及び分析プログラムに関する。 The present invention relates to an analytical device, an analytical method, and an analytical program.
従来、人間の行動を機械学習モデルに学習させ、当該モデルを用いて人間又はロボット等に動作を教示する模倣学習という技術が知られている。 A technique known as imitation learning is known in which a machine learning model learns human behavior and then uses that model to teach actions to humans or robots.
例えば、化学プラントにおける模倣学習では、複数のセンサ値が特徴量として入力され、機器の操作に関する情報を出力する機械学習モデルが用いられる場合がある。 For example, in imitation learning at chemical plants, machine learning models may be used in which multiple sensor values are input as features and information about equipment operation is output.
さらに、特徴量間の因果関係を分析するための手法が提案されている。 In addition, a method has been proposed for analyzing causal relationships between features.
例えば、因果関係の表現として期待されるDAG(Directed Acyclic Graph:有向非巡回グラフ)を、数値計算により求めることができる手法が提案されている(例えば、非特許文献1を参照)。 For example, a method has been proposed that can use numerical calculations to derive a directed acyclic graph (DAG), which is expected to represent causal relationships (see, for example, Non-Patent Document 1).
また、例えば、非特許文献1に記載の手法に、ニューラルネットワークの一種であるMLP(Multilayer perceptron:多層パーセプトロン)を組み合わせて、DAGによって非線形な因果関係を捉えられるようにする手法が提案されている(例えば、非特許文献2を参照)。 In addition, for example, a method has been proposed that combines the method described in Non-Patent Document 1 with a type of neural network, MLP (Multilayer Perceptron), to capture non-linear causal relationships using DAG (see, for example, Non-Patent Document 2).
しかしながら、従来の因果関係の分析手法では、データ間の因果関係の分析結果に、既知の因果関係を適切に反映させることが困難な場合があるという問題がある。 However, conventional methods for analyzing causal relationships have the problem that it can be difficult to properly reflect known causal relationships in the results of analyzing causal relationships between data.
ここで、一部のデータ間の因果の有無が、事前知識としてユーザに知られている場合がある。なお、データは、例えば機械学習モデルに入力される特徴量である。 Here, the presence or absence of causality between some data may be known to the user as prior knowledge. Note that the data may be, for example, features input into a machine learning model.
一方で、従来の分析手法では、データ及びアルゴリズムによりデータ間の因果関係が一意に推定されるため、事前知識を分析結果に反映させることは難しい。 On the other hand, with conventional analysis methods, causal relationships between data are uniquely inferred using data and algorithms, making it difficult to reflect prior knowledge in the analysis results.
上述した課題を解決し、目的を達成するために、分析装置は、ニューラルネットワークの入力層のノードであって、複数の特徴量のそれぞれが入力される複数のノードのうち、結果のデータとの因果関係があらかじめ指定された特徴量が入力されるノードの重みに、前記因果関係に応じた固定値を設定する設定部と、前記ニューラルネットワークの出力が、前記結果のデータに近付くように、前記ニューラルネットワークに含まれるノードの重みのうち、前記設定部によって固定値が設定されていない重みを更新する更新部と、前記入力層のノードの重みを基に、前記複数の特徴量と前記結果のデータとの間の因果関係を示す情報を生成する生成部と、を有することを特徴とする。 To solve the above-mentioned problems and achieve the objectives, the analysis device is characterized by having: a setting unit that sets fixed values corresponding to the causal relationship to the weights of nodes in the input layer of a neural network, among multiple nodes to which multiple feature quantities are input, where the feature quantities have a pre-specified causal relationship with the result data; an update unit that updates the weights of nodes included in the neural network that have not been set to fixed values by the setting unit so that the output of the neural network approaches the result data; and a generation unit that generates information indicating the causal relationship between the multiple feature quantities and the result data based on the weights of the nodes in the input layer.
本発明によれば、特徴量間の因果関係の分析結果に、既知の因果関係を適切に反映させることができる。 According to the present invention, known causal relationships can be appropriately reflected in the analysis results of causal relationships between feature quantities.
以下に、本願に係る分析装置、分析方法及び分析プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。 Embodiments of the analytical device, analytical method, and analytical program according to the present application are described in detail below with reference to the accompanying drawings. Note that the present invention is not limited to the embodiments described below.
[第1の実施形態]
[第1の実施形態の構成]
まず、図1を用いて、プラント運用システムについて説明する。プラント運用システム1は、プラントにおける製品の生産工程の管理及び制御を行うためのシステムである。プラントには、化学製品を生産するための化学プラントが含まれる。
[First embodiment]
[Configuration of the first embodiment]
First, a plant operation system will be described with reference to Fig. 1. The plant operation system 1 is a system for managing and controlling the production process of products in a plant. The plant includes a chemical plant for producing chemical products.
図1に示すように、サーバ10、端末装置20及びプラントシステム30を有する。 As shown in Figure 1, it has a server 10, a terminal device 20, and a plant system 30.
また、サーバ10、端末装置20及びプラントシステム30は、ネットワークNを介して互いにデータ通信ができるように接続されている。例えば、ネットワークNはインターネット又はイントラネットである。 Furthermore, the server 10, terminal device 20, and plant system 30 are connected to each other so that they can communicate data with each other via a network N. For example, the network N is the Internet or an intranet.
サーバ10は、模倣学習に関する処理を行う。サーバ10は、模倣学習のためのモデル(以下、模倣学習モデル)の学習処理及び当該模倣学習モデルを用いた推論処理を実行する。 Server 10 performs processing related to imitation learning. Server 10 executes learning processing of a model for imitation learning (hereinafter referred to as the imitation learning model) and inference processing using the imitation learning model.
例えば、サーバ10は、プラントシステム30から各時刻のセンサ値及び対応する操作内容の履歴を取得する。センサ値及び操作内容は、それぞれ模倣学習モデルの説明変数及び目的変数に相当する。 For example, the server 10 acquires a history of sensor values and corresponding operation details at each time from the plant system 30. The sensor values and operation details correspond to the explanatory variables and objective variables of the imitation learning model, respectively.
この場合、サーバ10は、プラントシステム30から取得したセンサ値及び操作内容を教師データとして用いて模倣学習モデルの学習処理を行う。 In this case, the server 10 performs the learning process for the imitation learning model using the sensor values and operation details acquired from the plant system 30 as training data.
また、サーバ10は、プラントシステム30から取得したセンサ値を学習済みの模倣学習モデルに入力し、推論処理を実行することで操作内容を得る。 In addition, the server 10 inputs the sensor values acquired from the plant system 30 into the trained imitation learning model and performs inference processing to obtain the operation details.
サーバ10は、推論処理によって得られた操作内容をユーザに提供する。ユーザは、提供された操作内容に従ってプラントシステム30の機器を操作することができる。 The server 10 provides the user with the operation details obtained through the inference process. The user can operate the equipment in the plant system 30 according to the provided operation details.
例えば、ユーザは、操作により、機器内の温度、機器内の圧力、生産工程における生産量の目標値、機器に投入する原料の量等を設定する。 For example, the user can operate the device to set the temperature inside the device, the pressure inside the device, the target production volume for the production process, the amount of raw materials to be fed into the device, etc.
端末装置20は、パーソナルコンピュータ、タブレット型端末及びスマートフォン等の情報処理装置である。 The terminal device 20 is an information processing device such as a personal computer, tablet terminal, or smartphone.
プラントシステム30は、生産工程で使用される機器及び分散制御システム(DCS:Distributed Control System)を含むものであってもよい。例えば、機器は、反応器、冷却器、気液分離器等である。 The plant system 30 may include equipment used in the production process and a distributed control system (DCS). For example, the equipment may be a reactor, a cooler, a gas-liquid separator, etc.
さらに、サーバ10は、模倣学習モデルの変数間の因果関係を分析する因果分析処理を行う。サーバ10は、分析装置の一例である。図1を用いて、因果関係の分析に関する処理の流れを説明する。 Furthermore, the server 10 performs a causal analysis process that analyzes the causal relationships between variables in the imitation learning model. The server 10 is an example of an analysis device. The process flow for analyzing causal relationships will be explained using Figure 1.
なお、模倣学習モデルの変数には、説明変数及び目的変数の両方が含まれる。また、以降の説明では、模倣学習モデルの変数を、特徴量又は単にデータと呼ぶ場合がある。 Note that the variables of the imitation learning model include both explanatory variables and target variables. In the following explanation, the variables of the imitation learning model may be referred to as features or simply as data.
まず、図1に示すように、サーバ10は、プラントシステム30から取得したデータを蓄積する(ステップS1)。例えば、サーバ10は、時刻ごとの温度、濃度、圧力、流量といったセンサ値を取得し蓄積する。 First, as shown in FIG. 1, the server 10 accumulates data acquired from the plant system 30 (step S1). For example, the server 10 acquires and accumulates sensor values such as temperature, concentration, pressure, and flow rate for each time period.
次に、サーバ10は、ユーザから特徴量間の因果関係に関する事前知識を取得する(ステップS2)。 Next, the server 10 acquires prior knowledge regarding the causal relationships between the features from the user (step S2).
例えば、事前知識は、例えばユーザが因果があると考えている特徴量の組及び因果の方向のリスト、又はユーザが因果がないと考えている特徴量の組のリストとしてサーバ10に与えらる。 For example, prior knowledge may be provided to the server 10 as a list of feature pairs that the user believes to be causal and the direction of causality, or a list of feature pairs that the user believes to be non-causal.
端末装置20は、分析者の操作に応じて、サーバ10に因果分析処理の実行を指示する(ステップS3)。また、端末装置20は、サーバ10から因果分析結果を取得する。 In response to the analyst's operation, the terminal device 20 instructs the server 10 to execute the causal analysis process (step S3). The terminal device 20 also obtains the causal analysis results from the server 10.
サーバ10は、事前知識に基づき特徴量間の因果関係の追加及び削除を行った上で、アルゴリズムに従って因果関係を計算する。例えば、サーバ10は、計算した因果関係を基に生成したDAG(Directed Acyclic Graph)を、因果分析結果として出力する。 The server 10 adds and deletes causal relationships between features based on prior knowledge, and then calculates the causal relationships according to an algorithm. For example, the server 10 outputs a DAG (Directed Acyclic Graph) generated based on the calculated causal relationships as the causal analysis result.
図2を用いて、サーバ10について詳細に説明する。図2は、第1の実施形態に係るサーバの構成例を示す図である。 The server 10 will be described in detail using Figure 2. Figure 2 is a diagram showing an example of the configuration of a server according to the first embodiment.
ここでは、サーバ10が因果分析処理を行う場合の構成を説明する。サーバ10が学習処理及び推論処理を行う場合の構成については説明を省略する。 Here, we will explain the configuration when server 10 performs causal analysis processing. We will not explain the configuration when server 10 performs learning processing and inference processing.
図2に示すように、サーバ10は、通信部11、記憶部12及び制御部13を有する。 As shown in FIG. 2, the server 10 has a communication unit 11, a memory unit 12, and a control unit 13.
通信部11は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。 The communication unit 11 communicates data with other devices via a network. For example, the communication unit 11 is a network interface card (NIC).
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。 The storage unit 12 is a storage device such as an HDD (Hard Disk Drive), SSD (Solid State Drive), or optical disc. The storage unit 12 may also be a data-rewritable semiconductor memory such as RAM (Random Access Memory), flash memory, or NVSRAM (Non-Volatile Static Random Access Memory).
記憶部12は、サーバ10で実行されるOS(Operating System)や各種プログラムを記憶する。記憶部12は、履歴DB121及びモデル情報122を記憶する。 The memory unit 12 stores the OS (Operating System) and various programs executed on the server 10. The memory unit 12 stores a history DB 121 and model information 122.
履歴DB121は、プラントシステム30から提供された履歴を含む情報である。図3は、履歴DBの例を示す図である。 History DB 121 contains information including history provided by plant system 30. Figure 3 shows an example of the history DB.
図3に示すように、履歴DB121は、時刻、温度、濃度、圧力、流量及び設定値を含む。 As shown in Figure 3, history DB121 includes time, temperature, concentration, pressure, flow rate, and set value.
温度、濃度、圧力及び流量は、模倣学習モデルの説明変数に相当する。また、設定値は、模倣学習モデルの目的変数に相当する。なお、因果関係の分析対象である特徴量には、説明変数及び目的変数のいずれが含まれていてもよい。 Temperature, concentration, pressure, and flow rate correspond to the explanatory variables of the imitation learning model. The set value corresponds to the objective variable of the imitation learning model. Note that the features that are the subject of causal analysis may include either explanatory variables or objective variables.
また、例えば、温度、濃度、圧力及び流量は、プラントシステム30の各所に設置されたセンサのセンサ値である。なお、時刻は、温度、濃度、圧力及び流量が取得された時刻を示すタイムスタンプである。 Furthermore, for example, the temperature, concentration, pressure, and flow rate are sensor values from sensors installed at various locations in the plant system 30. The time is a timestamp indicating the time when the temperature, concentration, pressure, and flow rate were acquired.
設定値は、端末装置20からの操作によって設定される値である。設定値は、実際に設定された値を正規化した値であってもよい。設定値は機器の操作内容を特定するための値である。 The setting value is a value set by operation from the terminal device 20. The setting value may be a normalized value of the actually set value. The setting value is a value used to specify the operation content of the device.
例えば、図3には、時刻「2021/11/5 13:30:01」における温度が「40℃」であり、濃度が3.5%であり、圧力が「501hPa」であり、流量が「12m3/s」であり、設定値が「0.2」であることが示されている。 For example, Figure 3 shows that at the time "2021/11/5 13:30:01", the temperature is "40°C", the concentration is 3.5%, the pressure is "501 hPa", the flow rate is "12 m 3 /s", and the set value is "0.2".
モデル情報122は、因果分析のためのモデルを構築するためのパラメータ等の情報である。例えば、モデルがニューラルネットワークである場合、モデル情報122は、各層の重み及びバイアスである。 Model information 122 is information such as parameters for constructing a model for causal analysis. For example, if the model is a neural network, model information 122 is the weights and biases of each layer.
制御部13は、サーバ10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。 The control unit 13 controls the entire server 10. The control unit 13 is, for example, an electronic circuit such as a CPU (Central Processing Unit), MPU (Micro Processing Unit), or GPU (Graphics Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、設定部131、計算部132、更新部133及び生成部134を有する。 The control unit 13 also has internal memory for storing programs that define various processing procedures and control data, and executes each process using the internal memory. The control unit 13 also functions as various processing units when various programs are run. For example, the control unit 13 has a setting unit 131, a calculation unit 132, an update unit 133, and a generation unit 134.
ここで、実施形態における因果分析処理の概要、及び因果分析処理において用いられるモデルについて説明する。 Here, we will explain an overview of the causal analysis process in this embodiment and the model used in the causal analysis process.
まず、非特許文献1には、DAGによりデータ間の因果関係を表現することが記載されている。 First, Non-Patent Document 1 describes how causal relationships between data are expressed using DAGs.
また、非特許文献2には、DAGにより因果関係を表現する際の問題設定((1)式)を、ニューラルネットワークの一種である多層パーセプトロンを使った問題設定((2)式)に緩和することが記載されている。 Non-Patent Document 2 also describes relaxing the problem formulation (equation (1)) used to represent causal relationships using DAGs to a problem formulation (equation (2)) using a multilayer perceptron, a type of neural network.
ただし、分析対象のデータをxj(1,…,d)とする。また、Xはデータx1,…,xdの集合である。xj(1,…,d)を要素数がn個のベクトルとすると、Xはn×dの行列として表される。 Here, the data to be analyzed is x j (1, ..., d). Furthermore, X is a set of data x 1 , ..., x d . If x j (1, ..., d) is a vector with n elements, X can be expressed as an n x d matrix.
また、関数lはベクトル間のかい離度(例えば、最小二乗法における二乗和、又は負の対数尤度)を出力する。また、関数Lは誤差関数である。また、関数GはDAGを表す関数である。 Function l outputs the deviation between vectors (for example, the sum of squares in the least squares method, or the negative log-likelihood). Function L is an error function. Function G is a function that represents a DAG.
(2)式では、データxj(1,…,d)のそれぞれに対応したd個の多層パーセプトロンMLPが用いられる。θj(1,…,d)は、各MLPのパラメータである。 In equation (2), d multilayer perceptron MLPs are used, each corresponding to data x j (1, . . . , d), where θ j (1, . . . , d) are parameters of each MLP.
Aj (1)は、xjに対応する多層パーセプトロンの入力層(第1層)の重みである。λはハイパーパラメータとしてあらかじめ設定される定数である。すなわち、(2)式の第2項は、MLPの第1層の重みに関するL1制約を意味する。 A j (1) is the weight of the input layer (first layer) of the multilayer perceptron corresponding to x j . λ is a constant that is preset as a hyperparameter. That is, the second term in equation (2) represents the L1 constraint on the weight of the first layer of the MLP.
また、h(W(θ))=0は、DAGを誘導する等式制約であり、行列W(θ)がDAGの表現となるように、必要な成分(例えば、対角成分)を全て0に縮退させる制約を意味する。なお、W(θ)は、所定のノード間の重みを表す隣接行列である。 Also, h(W(θ)) = 0 is an equality constraint that induces a DAG, and means that all necessary components (e.g., diagonal components) must be degenerated to 0 so that the matrix W(θ) represents a DAG. W(θ) is an adjacency matrix that represents the weights between specified nodes.
ここで、隣接行列W(θ)の(i,j)成分は、データxiからデータxjへ(xi→xj)の因果を表現している。例えば、w41は、データx4からデータx1への因果を表現している。 Here, the (i, j) element of the adjacency matrix W(θ) represents the causality from data x i to data x j (x i →x j ). For example, w 41 represents the causality from data x 4 to data x 1 .
特に、隣接行列W(θ)の(i,j)成分が0の場合、データxiからデータxjへの因果が存在しないことを意味する。逆に、隣接行列W(θ)の(i,j)成分が非0の場合、データxiからデータxjへの因果が存在することを意味する。 In particular, when the (i, j) element of the adjacency matrix W(θ) is 0, it means that there is no causality from data x i to data x j . Conversely, when the (i, j) element of the adjacency matrix W(θ) is non-zero, it means that there is causality from data x i to data x j .
制約h(W(θ))は、MLPの学習が進んだ結果、隣接行列W(θ)に対応した因果グラフ(ネットワーク)が有向非巡回になるような制約ということができる。具体的には、制約h(W(θ))は、隣接行列W(θ)が下三角行列又は上三角行列であって、かつ対角成分が0である行列になるような制約である。 Constraint h(W(θ)) can be said to be a constraint that, as a result of MLP learning, the causal graph (network) corresponding to the adjacency matrix W(θ) becomes directed acyclic. Specifically, constraint h(W(θ)) is a constraint that the adjacency matrix W(θ) is a lower triangular matrix or an upper triangular matrix, with diagonal elements of 0.
このとき、DAGの仮定より、各変数自身への因果(データxiからデータxiへの因果)は必ず存在しないので、隣接行列W(θ)の対角成分(i=jの場合のwij)の初期値には0が設定される。 In this case, due to the DAG assumption, there is no causality to each variable itself (causality from data x i to data x i ), so the initial values of the diagonal elements (w ij when i = j) of the adjacency matrix W(θ) are set to 0.
また、対角成分以外の成分(i≠jの場合のwij)の初期値には任意の値が設定され、学習が進むに従って当該成分の一部は制約により0に縮退していく。 Additionally, the initial values of the components other than the diagonal components (w ij when i≠j) are set to arbitrary values, and as learning progresses, some of the components degenerate to 0 due to constraints.
実施形態において、サーバ10は、事前知識としてユーザ等によりあらかじめ指定された因果関係を、(2)式の問題設定に反映させる。 In an embodiment, the server 10 reflects the causal relationships specified in advance by the user or the like as prior knowledge in the problem setting of equation (2).
モデル情報122には、(2)式の問題設定に従って因果分析処理を行うためのモデルの情報が含まれる。なお、ここではd=4の場合、すなわちデータがx1、x2、x3、x4の場合の例を説明する。 The model information 122 includes information on a model for performing causal analysis processing in accordance with the problem setting of equation (2). Note that an example where d=4, that is, the data is x1 , x2 , x3 , and x4 , will be described here.
データx1、x2、x3、x4は、履歴DBに記憶される各変数であってもよい。また、データx1、x2、x3、x4は、特徴量ということができる。 The data x 1 , x 2 , x 3 , and x 4 may be variables stored in the history DB. Furthermore, the data x 1 , x 2 , x 3 , and x 4 can be referred to as feature quantities.
サーバ10は、モデル情報122を基に、図4に示すようなモデルを構築する。図4は、モデルの構成例を示す図である。 Based on the model information 122, the server 10 constructs a model as shown in Figure 4. Figure 4 shows an example of the model configuration.
図4に示すように、モデルには、MLP51、MLP52、MLP53、MLP54が含まれる。 As shown in Figure 4, the model includes MLP51, MLP52, MLP53, and MLP54.
各MLPは、入力層の各変数を原因とし、出力層で指定される変数を結果とする因果分析に対応する。MLP51、MLP52、MLP53、MLP54は、それぞれデータx1、x2、x3、x4を結果とする因果分析に対応付けられている。 Each MLP corresponds to a causal analysis in which a variable in the input layer is the cause and a variable specified in the output layer is the result. MLP51, MLP52, MLP53, and MLP54 are associated with causal analyses in which data x1 , x2 , x3 , and x4 are the results, respectively.
例えば、MLP51には、データx2、x3、x4が入力される。そして、MLP51は、出力層から出力される値が結果であるデータx1に近付くように最適化される。 For example, data x 2 , x 3 , and x 4 are input to the MLP 51. Then, the MLP 51 is optimized so that the value output from the output layer approaches the resultant data x 1 .
なお、図4ではMLPの入力層にデータx1に対応するノードが配置されているが、当該ノードは説明のためのものであり、実際には存在しないか、又は重み0として扱われる。 In FIG. 4, a node corresponding to data x1 is arranged in the input layer of the MLP, but this node is for the purpose of explanation and does not actually exist or is treated as having a weight of 0.
MLP51と同様に、MLP52、MLP53、MLP54についても、対応付けられたデータに応じて同様の構成を有する。 Like MLP51, MLP52, MLP53, and MLP54 have similar configurations depending on the associated data.
例えば、MLP52には、データx1、x3、x4が入力される。そして、MLP52は、出力層から出力される値がx2に近付くように最適化される。 For example, data x 1 , x 3 , and x 4 are input to the MLP 52. Then, the MLP 52 is optimized so that the value output from the output layer approaches x 2 .
例えば、MLP53には、データx1、x2、x4が入力される。そして、MLP53は、出力層から出力される値がx3に近付くように最適化される。 For example, data x 1 , x 2 , and x 4 are input to the MLP 53. Then, the MLP 53 is optimized so that the value output from the output layer approaches x 3 .
例えば、MLP54には、データx1、x2、x3が入力される。そして、MLP54は、出力層から出力される値がx4に近付くように最適化される。 For example, data x1 , x2 , and x3 are input to the MLP 54. Then, the MLP 54 is optimized so that the value output from the output layer approaches x4 .
制御部13の各部は、図4に示したモデルを用いて、データx1、x2、x3、x4の間の因果関係を分析する処理を行う。 Each part of the control unit 13 performs processing to analyze the causal relationships between the data x 1 , x 2 , x 3 , and x 4 using the model shown in FIG.
設定部131は、ニューラルネットワークの入力層のノードであって、複数の特徴量のそれぞれが入力される複数のノードのうち、結果のデータとの因果関係があらかじめ指定された特徴量が入力されるノードの重みに、因果関係に応じた固定値を設定する。 The setting unit 131 is a node in the input layer of the neural network, and among the multiple nodes to which each of the multiple feature quantities is input, sets a fixed value corresponding to the causal relationship to the weight of the node to which the feature quantity having a pre-specified causal relationship with the resulting data is input.
すなわち、設定部131は、MLP51、MLP52、MLP53、MLP54の入力層のノードから隠れ層の各ノードへの重みに、ユーザの事前知識に基づき固定値を設定する。 That is, the setting unit 131 sets fixed values for the weights from the input layer nodes of MLP51, MLP52, MLP53, and MLP54 to each node in the hidden layer based on the user's prior knowledge.
各MLPは、ニューラルネットワークの一例である。また、データx1、x2、x3、x4は、特徴量でもあり、結果のデータでもある。例えば、MLP52においては、データx1、x3、x4が特徴量であり、データx2が結果のデータである。 Each MLP is an example of a neural network. Data x1 , x2 , x3 , and x4 are both feature quantities and result data. For example, in MLP 52, data x1 , x3 , and x4 are feature quantities, and data x2 is result data.
図5は、データ間に因果がある場合の設定方法を説明する図である。ここでは、データx3からデータx2への因果があることが指定されているものとする。 5 is a diagram for explaining a setting method when there is a causal relationship between data items. Here, it is assumed that there is a causal relationship between data item x3 and data item x2 .
この場合、設定部131は、MLP52の入力層の、データx3が入力される入力層のノードから隠れ層の各ノードへの重みを1/√m1に設定する。ただし、m1は入力層と接続される隠れ層のノード数である。 In this case, the setting unit 131 sets the weight from the node in the input layer of the MLP 52 to which the data x3 is input to each node in the hidden layer to 1/ √m1 , where m1 is the number of nodes in the hidden layer connected to the input layer.
図5の例では、入力層と接続される隠れ層のノード数は5である。この場合、設定部131は、[A2 (1)].,3=1/√5のように設定を行う。 5, the number of nodes in the hidden layer connected to the input layer is 5. In this case, the setting unit 131 sets [A 2 (1) ] .,3 = 1/√5.
ここで、[Aj (1)]k,iは、データxjを結果とする因果分析に対応付けらたMLPの1番目の層(入力層)の第iノードから2番目の層(隠れ層の第1層)の第kノードへの重みである。 Here, [A j (1) ] k,i is the weight from the i-th node in the first layer (input layer) of the MLP associated with the causal analysis with data x j as the result to the k-th node in the second layer (first hidden layer).
言い換えると、[Aj (1)]k,iは、データxjを結果とする因果分析に対応付けらたMLPの、入力層の第iノードから隠れ層の第1層の第kノードへの重みであるai,k,j (1)を要素として持つ3次元配列である。 In other words, [A j (1) ] k,i is a three-dimensional array having as its element a i ,k,j ( 1) , which is the weight from the i-th node in the input layer to the k-th node in the first hidden layer of the MLP associated with the causal analysis with data x j as the result.
また、「.」は任意の値を意味する。このため、[Aj (1)].,iは、データxjを結果とする因果分析に対応付けらたMLPの1番目の層(入力層)の第iノードから2番目の層(隠れ層の第1層)の任意のノードへの重みである。 Also, "." means any value. Therefore, [A j (1) ] ., i is the weight from the i-th node in the first layer (input layer) of the MLP associated with the causal analysis with data x j as the result to any node in the second layer (first hidden layer).
このように、設定部131は、複数の特徴量のうち、結果のデータとの間に因果があることが指定された特徴量が入力されるノードの重みに固定値を設定する。1/√m1は固定値の一例である。 In this way, the setting unit 131 sets a fixed value to the weight of a node to which a feature that is specified to have a causal relationship with the result data is input, among the multiple feature amounts. 1/√m 1 is an example of the fixed value.
図6は、データ間に因果がない場合の設定方法を説明する図である。ここでは、データx3からデータx2に対して因果がないことが指定されているものとする。 6 is a diagram illustrating a setting method when there is no causal relationship between data items. Here, it is assumed that there is no causal relationship between data item x3 and data item x2 .
この場合、設定部131は、MLP52の入力層の、データx3が入力される入力層のノードから隠れ層の各ノードへの重みを0に設定する。 In this case, the setting unit 131 sets the weights from the nodes in the input layer of the MLP 52 to which the data x3 is input to each node in the hidden layer to 0.
図6の例では、設定部131は、[A2 (1)].,3=0のように設定を行う。なお、重みを0に設定することは、ノード間の接続を削除することを意味する。 6, the setting unit 131 sets the weight as follows: [A 2 (1) ] .,3 = 0. Note that setting the weight to 0 means deleting the connection between the nodes.
このように、設定部131は、複数の特徴量のうち、結果のデータとの間に因果がないことが指定された特徴量が入力されるノードの重みに0を設定する。 In this way, the setting unit 131 sets the weight of a node to 0 for a feature that is specified as having no causal relationship with the result data, among multiple feature values.
図7は、データ間の因果が不明である場合の設定方法を説明する図である。ここでは、データx3からデータx2への因果関係が指定されていないものとする。 7 is a diagram for explaining a setting method when the causality between data is unknown. Here, it is assumed that the causal relationship from data x3 to data x2 is not specified.
この場合、設定部131は、MLP52の入力層の、データx3が入力される入力層のノードから隠れ層の各ノードへの重みに固定値を設定しない。 In this case, the setting unit 131 does not set fixed values to the weights from the nodes in the input layer of the MLP 52 to which the data x3 is input to each node in the hidden layer.
その際、後述する更新部133による処理において、当該ノードの重みは[A2 (1)].,3∈[0,1/√5]の範囲で更新される。 At this time, in the process by the update unit 133 described later, the weight of the node is updated within the range of [A 2 (1) ] ., 3ε [0, 1/√5].
設定部131は、MLP51、MLP53、MLP54についても、図5、6、7で説明した方法により固定値の設定を行う。 The setting unit 131 also sets fixed values for MLP51, MLP53, and MLP54 using the method described in Figures 5, 6, and 7.
すなわち、設定部131は、複数の特徴量のそれぞれが結果のデータとして対応付けられた複数のニューラルネットワークのそれぞれについて、入力層のノードであって、複数の特徴量のそれぞれが入力される複数のノードのうち、対応付けられた結果のデータとの因果関係があらかじめ指定された特徴量が入力されるノードの重みに、因果関係に応じた固定値を設定する。 In other words, for each of a plurality of neural networks to which each of a plurality of feature quantities is associated as result data, the setting unit 131 sets a fixed value corresponding to the causal relationship to the weight of the node in the input layer to which each of the plurality of feature quantities is input, among a plurality of nodes to which each of the plurality of feature quantities is input, that is, a node to which a feature quantity having a pre-specified causal relationship with the associated result data is input.
計算部132は、MLPの計算を行う。すなわち、計算部132は、MLP(X,θ1)、MLP(X,θ2)、MLP(X,θ3)、MLP(X,θ4)を計算する。 The calculation unit 132 performs calculations of the MLPs. That is, the calculation unit 132 calculates MLP(X, θ 1 ), MLP(X, θ 2 ), MLP(X, θ 3 ), and MLP(X, θ 4 ).
更新部133は各MLPの学習処理を行う。すなわち、更新部133は、計算部132による計算結果を基に、各MLPのパラメータを更新する。例えば、更新部133は、誤差逆伝播法によりパラメータを更新する。 The update unit 133 performs learning processing for each MLP. That is, the update unit 133 updates the parameters of each MLP based on the calculation results by the calculation unit 132. For example, the update unit 133 updates the parameters using the backpropagation algorithm.
更新部133は、(2)式に示す誤差関数を最小化する。特にデータx1、x2、x3、x4を対象とする場合、(2)式の誤差関数の第1項は、(3)式のL´のように表される。 The update unit 133 minimizes the error function shown in equation (2). In particular, when data x1 , x2 , x3 , and x4 are targeted, the first term of the error function in equation (2) is expressed as L' in equation (3).
更新部133は、固定値が設定された重みは更新しない。つまり、更新部133は、ニューラルネットワークの出力が、結果のデータに近付くように、ニューラルネットワークに含まれるノードの重みのうち、設定部131によって固定値が設定されていない重みを更新する。 The update unit 133 does not update weights for which fixed values have been set. In other words, the update unit 133 updates the weights of the nodes included in the neural network for which fixed values have not been set by the setting unit 131, so that the output of the neural network approaches the resulting data.
固定値が設定されている場合、更新部133は、ニューラルネットワークのノードの重みのうち、設定部131によって固定値が設定されていない重みを、固定値と0の間の範囲に含まれる値に更新する。 If a fixed value has been set, the update unit 133 updates the weights of the neural network nodes for which a fixed value has not been set by the setting unit 131 to values within the range between the fixed value and 0.
更新部133は、(3)式に示すように、MLP51、MLP52、MLP53、MLP54を、1つの誤差関数で同時に最適化することができる。 As shown in equation (3), the update unit 133 can simultaneously optimize MLP51, MLP52, MLP53, and MLP54 using a single error function.
すなわち、更新部133は、複数のニューラルネットワークの出力のそれぞれが、対応付けられた結果のデータに近付くように、ニューラルネットワークに含まれるノードの重みのうち、設定部131によって固定値が設定されていない重みを更新する。 In other words, the update unit 133 updates the weights of the nodes included in the neural networks that have not been set to fixed values by the setting unit 131, so that each of the outputs of the multiple neural networks approaches the associated result data.
生成部134は、入力層のノードの重みを基に、複数の特徴量と結果のデータとの間の因果関係を示す情報を生成する。 The generation unit 134 generates information indicating the causal relationships between multiple feature quantities and the resulting data based on the weights of the nodes in the input layer.
さらに、生成部134は、データ間の因果関係を表す隣接行列、又は隣接行列に基づくDAGを生成する。 Furthermore, the generation unit 134 generates an adjacency matrix representing the causal relationships between data, or a DAG based on the adjacency matrix.
生成部134は、例えば(4)式のように各ノード間の重みの隣接行列W(θ)を生成する。 The generation unit 134 generates an adjacency matrix W(θ) of weights between each node, for example, as shown in equation (4).
隣接行列W(θ)のwijは、データxjを結果とする因果分析に対応付けらたMLPの、入力層の第iノードから隠れ層の第1層の各ノードへの重みのL2ノルムである。i=jの場合、wij=0である。 In the adjacency matrix W(θ), w ij is the L2 norm of the weights from the i-th node in the input layer to each node in the first hidden layer of the MLP associated with the causal analysis with data x j as the result. When i=j, w ij =0.
例えば、w41は、(5)式のように表される。また、例えば、w24は、(6)式のように表される。 For example, w41 is expressed as in equation (5), and w24 is expressed as in equation (6).
前述の通り、ai,k,j (1)は、データxjを結果とする因果分析に対応付けらたMLPの、入力層の第iノードから隠れ層の第1層の第kノードへの重みである。 As mentioned above, a i,k,j (1) is the weight from the i-th node in the input layer to the k-th node in the first hidden layer of the MLP associated with the causal analysis with data x j as the result.
なお、図5で説明したように、隠れ層の第1層のノードの数がm1であり、各ノードの重みが1/√m1と設定された場合、wij=1となる。 As explained in FIG. 5, when the number of nodes in the first hidden layer is m 1 and the weight of each node is set to 1/√m 1 , then w ij =1.
また、図6で説明したように、隠れ層の第1層のノードの数がm1であり、各ノードの重みが0と設定された場合、wij=0となる。 Furthermore, as explained in FIG. 6, when the number of nodes in the first hidden layer is m1 and the weight of each node is set to 0, w ij =0.
また、図7で説明したように、隠れ層の第1層のノードの数がm1であり、各ノードの重みの範囲が[0,1/√m1]と設定された場合、wijの範囲は[0,1]となる。 Furthermore, as explained in FIG. 7, if the number of nodes in the first hidden layer is m 1 and the range of the weight of each node is set to [0, 1/√m 1 ], the range of w ij is [0, 1].
さらに、生成部134は、隣接行列W(θ)を基にDAGを生成し、描画してもよい。生成部134によって生成されるDAGを因果グラフと呼ぶ。図8は、因果グラフの一例を示す図である。 Furthermore, the generation unit 134 may generate and draw a DAG based on the adjacency matrix W(θ). The DAG generated by the generation unit 134 is called a causal graph. Figure 8 shows an example of a causal graph.
また、描画された因果グラフにおいて、データ間の因果の強さ(隣接行列の要素の値の大きさ)は、ノード間のエッジの太さにより表現される。また、データ間に因果が存在しない場合(隣接行列の要素の値が0の場合)、ノード間のエッジは描画されない。 In addition, in the drawn causal graph, the strength of the causality between data (the magnitude of the value of the element in the adjacency matrix) is represented by the thickness of the edge between nodes. Also, if there is no causality between data (if the value of the element in the adjacency matrix is 0), the edge between nodes is not drawn.
[第1の実施形態の処理の流れ]
図9を用いて、サーバ10による分析処理の流れを説明する。図9は、第1の実施形態に係る分析処理の流れを示すフローチャートである。
[Processing flow of the first embodiment]
The flow of the analysis process by the server 10 will be described with reference to Fig. 9. Fig. 9 is a flowchart showing the flow of the analysis process according to the first embodiment.
図9に示すように、サーバ10は、データxjごとに多層パーセプトロンMLP(X;θj)(j=1,…,d)を定義する(ステップS101)。
入力層のノード数:m0(m0=d)
隠れ層の第1層のノード数:m1
出力層のノード数:1
入力:X=(x1,…,xd)(ただし、入力層の第iノードにはデータxiを入力)
As shown in FIG. 9, the server 10 defines a multilayer perceptron MLP(X; θ j ) (j=1, . . . , d) for each data x j (step S101).
Number of nodes in the input layer: m 0 (m 0 = d)
Number of nodes in the first hidden layer: m 1
Number of nodes in the output layer: 1
Input: X = (x1, ..., xd ) (where data xi is input to the i-th node of the input layer)
例えば、図4には、隠れ層が2層であり、隠れ層の第1層及び第2層のノードがそれぞれ5個であるMLPが示されている。一方で、MLPの構成は図4に示すものに限られない。MLPの隠れ層の層の数、及び、隠れ層の各層のノードの数は1以上の任意の数であればよい。 For example, Figure 4 shows an MLP with two hidden layers, with five nodes in each of the first and second hidden layers. However, the configuration of the MLP is not limited to that shown in Figure 4. The number of hidden layers of the MLP and the number of nodes in each hidden layer may be any number greater than or equal to one.
次に、サーバ10は、指定された因果関係に応じて、各MLPの入力層から隠れ層への重みを設定する(ステップS102)。 Next, the server 10 sets weights from the input layer to the hidden layer of each MLP according to the specified causal relationships (step S102).
続いて、サーバ10は、DAGを誘導する制約の元、MLP(X;θj)の出力がxjに近付くように同時最適化を行う(ステップS103)。 Next, the server 10 performs simultaneous optimization under the constraints that guide the DAG so that the output of MLP(X; θ j ) approaches x j (step S103).
そして、サーバ10は、各MLPの入力層から隠れ層の第1層への重みを基に隣接行列を生成する(ステップS104)。 Then, the server 10 generates an adjacency matrix based on the weights from the input layer of each MLP to the first hidden layer (step S104).
サーバ10は、生成した隣接行列、又は隣接行列に基づくDAGを出力する(ステップS105)。 The server 10 outputs the generated adjacency matrix or a DAG based on the adjacency matrix (step S105).
図10は、第1の実施形態に係る設定処理の流れを示すフローチャートである。図10の処理は、図9のステップS102の処理に相当する。 Figure 10 is a flowchart showing the flow of the setting process according to the first embodiment. The process in Figure 10 corresponds to step S102 in Figure 9.
図10に示すように、まず、サーバ10は、jに1を代入し(ステップS201)、MLP(X;θj)の設定を開始する(ステップS202)。 As shown in FIG. 10, first, the server 10 assigns 1 to j (step S201) and starts setting MLP(X; θ j ) (step S202).
ここで、サーバ10は、iに1を代入する(ステップS203)。 Here, the server 10 assigns 1 to i (step S203).
サーバ10は、データxiからデータxjへの指定された因果関係を確認する(ステップS204)。 The server 10 checks the specified causal relationship from the data x i to the data x j (step S204).
データxiからデータxjへの因果関係に「因果あり」が指定されている場合(ステップS204、因果あり)、サーバ10は、入力層の第iノードから隠れ層の第1層への重みを1/√m1(固定値)に設定する(ステップS205)。 If the causal relationship from data x i to data x j is specified as “causal” (step S204, causal), the server 10 sets the weight from the i-th node in the input layer to the first layer of the hidden layer to 1/√m 1 (fixed value) (step S205).
また、データxiからデータxjへの因果関係に「因果なし」が指定されている場合(ステップS204、因果なし)、サーバ10は、入力層の第iノードから隠れ層の第1層への重みを0(固定値)に設定する(ステップS206)。 Furthermore, if the causal relationship from data x i to data x j is specified as “no causality” (step S204, no causality), the server 10 sets the weight from the i-th node in the input layer to the first layer of the hidden layer to 0 (fixed value) (step S206).
なお、サーバ10は、i=jの場合、因果関係が「因果なし」である場合と同様の処理を行う。 When i = j, the server 10 performs the same processing as when the causal relationship is "no causal relationship."
また、データxiからデータxjへの因果関係が指定されていない場合(ステップS204、因果不明)、サーバ10は、入力層の第iノードから隠れ層の第1層への重みを[0,1/√m1]の変動値に設定する(ステップS207)。 Furthermore, if the causal relationship from data x i to data x j is not specified (step S204, causality unknown), the server 10 sets the weight from the i-th node in the input layer to the first hidden layer to a variable value of [0, 1/√m 1 ] (step S207).
続いて、サーバ10は、iを1だけ増加させる(ステップS208)。 Next, the server 10 increments i by 1 (step S208).
ここで、i=dでない場合(ステップS209、No)、サーバ10はステップS204へ戻り処理を繰り返す。 If i = d is not satisfied (step S209, No), the server 10 returns to step S204 and repeats the process.
一方、i=dである場合(ステップS209、Yes)、サーバ10はMLP(X;θj)の設定を終了する(ステップS210)。 On the other hand, if i=d (Yes at step S209), the server 10 ends the setting of MLP(X; θ j ) (step S210).
そして、サーバ10は、jを1だけ増加させる(ステップS211)。 Then, the server 10 increments j by 1 (step S211).
ここで、j=dでない場合(ステップS212、No)、サーバ10はステップS202へ戻り処理を繰り返す。 If j = d is not satisfied (step S212, No), the server 10 returns to step S202 and repeats the process.
一方、j=dである場合(ステップS212、Yes)、サーバ10は設定処理を終了する。 On the other hand, if j = d (step S212, Yes), the server 10 terminates the setting process.
[第1の実施形態の効果]
これまで説明してきたように、設定部131は、ニューラルネットワークの入力層のノードであって、複数の特徴量のそれぞれが入力される複数のノードのうち、結果のデータとの因果関係があらかじめ指定された特徴量が入力されるノードの重みに、因果関係に応じた固定値を設定する。更新部133は、ニューラルネットワークの出力が、結果のデータに近付くように、ニューラルネットワークに含まれるノードの重みのうち、設定部131によって固定値が設定されていない重みを更新する。生成部134は、入力層のノードの重みを基に、複数の特徴量と結果のデータとの間の因果関係を示す情報を生成する。
[Effects of the First Embodiment]
As described above, the setting unit 131 sets fixed values corresponding to the causal relationships to the weights of nodes in the input layer of the neural network, among the plurality of nodes to which each of the plurality of feature quantities is input, to which feature quantities having a pre-specified causal relationship with the result data are input. The updating unit 133 updates the weights of the nodes included in the neural network that have not been set to fixed values by the setting unit 131, so that the output of the neural network approaches the result data. The generating unit 134 generates information indicating the causal relationships between the plurality of feature quantities and the result data, based on the weights of the nodes in the input layer.
このように、サーバ10は、因果関係が指定されたデータに対応するニューラルネットワークの重みに固定値を設定した上で、固定値が設定されていない重みの更新し、更新した重みを基にデータ間の因果関係を得ることができる。 In this way, the server 10 can set fixed values to the neural network weights corresponding to data for which causal relationships are specified, update the weights for which fixed values are not set, and obtain the causal relationships between data based on the updated weights.
なお、指定される因果関係は、ユーザの現場における知見、長年蓄積されたノウハウに基づくものであってもよいし、理論保証がされたものであってもよい。 The specified causal relationship may be based on the user's on-site knowledge and know-how accumulated over many years, or it may be theoretically guaranteed.
その結果、実施形態によれば、特徴量間の因果関係の分析結果に、既知の因果関係を適切に反映させることができる。 As a result, according to the embodiment, known causal relationships can be appropriately reflected in the analysis results of the causal relationships between feature quantities.
一般的に、因果分析の推定結果の真偽又は妥当性を検証する方法は十分に確立されておらず、統計的信頼性を担保することが難しい場合がある。一方、実施形態では、事前知識(指定された因果関係)を真とみなして因果分析を行うことにより、少なくとも事前知識の分だけ因果分析における統計的信頼性を高めることが可能になる。 Generally, methods for verifying the truth or validity of the inferred results of causal analysis are not fully established, and it can be difficult to ensure statistical reliability. However, in the embodiments, by performing causal analysis by assuming prior knowledge (specified causal relationships) to be true, it is possible to increase the statistical reliability of the causal analysis by at least the amount of prior knowledge.
また、入力層の重みに固定値が設定された場合であっても、中間層以降の層で因果の強さ及びモデルの妥当性が調整されると考えられる。これにより、固定値が設定されなかった重みは、アルゴリズムに従って矛盾がないように更新されることになる。 In addition, even if fixed values are set for the weights in the input layer, it is believed that the strength of causality and the validity of the model are adjusted in the layers after the intermediate layer. As a result, weights that are not set to fixed values will be updated consistently according to the algorithm.
実施形態によれば、MLPを非特許文献2に記載の非線形なSEM(Structural equation model)の近似と捉えることができ、介入効果推定等の分析に応用できる(参考文献:「時系列データに対する予測モデルの介入効果の推定」(https://www.jstage.jst.go.jp/article/pjsai/JSAI2020/0/JSAI2020_1J4GS204/_pdf/-char/ja))。 According to the embodiment, MLP can be considered as an approximation of the nonlinear SEM (Structural Equation Model) described in Non-Patent Document 2, and can be applied to analyses such as intervention effect estimation (Reference: "Estimation of intervention effects using predictive models for time-series data" (https://www.jstage.jst.go.jp/article/pjsai/JSAI2020/0/JSAI2020_1J4GS204/_pdf/-char/ja)).
また、指定された事前知識が正しい場合、モデルを真の局所解に高速かつ高精度に誘導することができる。 Furthermore, if the specified prior knowledge is correct, the model can be guided to the true local minimum quickly and accurately.
さらに、因果関係の分析結果を基に、模倣学習モデルの変数の再検討が可能になる。このため、実施形態は、模倣学習モデルの性能の向上という効果を生じさせる。 Furthermore, based on the results of the causal analysis, it becomes possible to reexamine the variables of the imitation learning model. As a result, the embodiment has the effect of improving the performance of the imitation learning model.
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
[System configuration, etc.]
Furthermore, the components of each device shown in the figure are functional concepts and do not necessarily have to be physically configured as shown. In other words, the specific form of distribution and integration of each device is not limited to that shown, and all or part of the devices can be functionally or physically distributed or integrated in any unit depending on various loads, usage conditions, etc. Furthermore, all or any part of the processing functions performed by each device can be realized by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or can be realized as hardware using wired logic. Note that the program may be executed not only by the CPU but also by other processors such as a GPU.
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 Furthermore, among the processes described in the embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods. In addition, the information, including the processing procedures, control procedures, specific names, various data, and parameters shown in the above documents and drawings, can be changed as desired unless otherwise specified.
[プログラム]
一実施形態として、サーバ10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析処理を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置をサーバ10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置には、タブレット型端末、スマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
[program]
In one embodiment, the server 10 can be implemented by installing an analysis program that executes the above-described analysis process as package software or online software on a desired computer. For example, by executing the above-described analysis program on an information processing device, the information processing device can function as the server 10. The information processing device referred to here includes desktop and notebook personal computers. Other information processing devices also include tablet terminals, smartphones, mobile communication terminals such as mobile phones and PHS (Personal Handyphone Systems), and slate terminals such as PDAs (Personal Digital Assistants).
また、サーバ10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析処理に関するサービスを提供するサーバとして実装することもできる。例えば、サーバは、要求点の指定を入力とし、分析結果(例えば、隣接行列)を出力とする分析サービスを提供するサーバ装置として実装される。この場合、サーバは、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。 The server 10 can also be implemented as a server that provides services related to the above-mentioned analytical processing to clients, with the terminal device used by the user being the client. For example, the server is implemented as a server device that provides analytical services that take the specification of requested points as input and output analysis results (e.g., an adjacency matrix). In this case, the server may be implemented as a web server, or as a cloud that provides services related to the above-mentioned analytical processing through outsourcing.
図11は、分析プログラムを実行するコンピュータの構成例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。 Figure 11 shows an example configuration of a computer that executes an analysis program. The computer 1000 includes, for example, memory 1010 and a CPU 1020. The computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。 The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012. The ROM 1011 stores a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1100. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example. The video adapter 1060 is connected to a display 1130, for example.
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、サーバ10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、サーバ10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。 The hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the programs that define each process of the server 10 are implemented as program modules 1093 in which computer-executable code is written. The program modules 1093 are stored, for example, on the hard disk drive 1090. For example, a program module 1093 for executing processes similar to the functional configuration of the server 10 is stored on the hard disk drive 1090. Note that the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。 Furthermore, the setting data used in the processing of the above-described embodiment is stored as program data 1094, for example, in memory 1010 or hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 or program data 1094 stored in memory 1010 or hard disk drive 1090 into RAM 1012 as needed, and executes the processing of the above-described embodiment.
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。 The program module 1093 and program data 1094 do not necessarily have to be stored on the hard disk drive 1090; they may instead be stored on a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and program data 1094 may be stored on another computer connected via a network (such as a LAN (Local Area Network) or WAN (Wide Area Network)). The program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.
1 プラント運用システム
10 サーバ
11 通信部
12 記憶部
13 制御部
20 端末装置
30 プラントシステム
51、52、53、54 MLP
121 履歴DB
122 モデル情報
131 設定部
132 計算部
133 更新部
134 生成部
REFERENCE SIGNS LIST 1 Plant operation system 10 Server 11 Communication unit 12 Storage unit 13 Control unit 20 Terminal device 30 Plant system 51, 52, 53, 54 MLP
121 History DB
122 Model information 131 Setting unit 132 Calculation unit 133 Update unit 134 Generation unit
Claims (4)
前記ニューラルネットワークの出力が、前記結果のデータに近付くように、前記ニューラルネットワークに含まれるノードの重みのうち、前記設定部によって固定値が設定されていない重みを、前記固定値と0の間の範囲に含まれる値に更新する更新部と、
前記入力層のノードの重みを基に、前記複数の特徴量と前記結果のデータとの間の因果関係を示す情報を生成する生成部と、
を有することを特徴とする分析装置。 a setting unit that sets a fixed value according to the causal relationship to a weight of a node to which a feature having a pre-specified causal relationship with result data is input among a plurality of nodes in an input layer of the neural network, the node receiving each of a plurality of feature amounts; and sets a zero to a weight of a node to which a feature having a pre-specified no causal relationship with result data is input among the plurality of feature amounts ;
an updating unit that updates, among the weights of the nodes included in the neural network, weights for which a fixed value has not been set by the setting unit to a value included in a range between the fixed value and 0, so that an output of the neural network approaches the result data;
a generation unit that generates information indicating a causal relationship between the plurality of feature amounts and the result data based on weights of the nodes in the input layer;
An analytical device comprising:
前記更新部は、前記複数のニューラルネットワークの出力のそれぞれが、対応付けられた前記結果のデータに近付くように、前記ニューラルネットワークに含まれるノードの重みのうち、前記設定部によって固定値が設定されていない重みを更新することを特徴とする請求項1に記載の分析装置。 the setting unit sets a fixed value according to the causal relationship to a weight of a node, which is an input layer node of each of the plurality of neural networks to which each of the plurality of feature amounts is input, and to which a feature amount having a causal relationship with the associated result data is specified in advance, among a plurality of nodes to which each of the plurality of feature amounts is input, for each of the plurality of neural networks to which each of the plurality of feature amounts is associated as the result data;
The analysis device according to claim 1, characterized in that the update unit updates weights of nodes included in the neural networks that have not been set to fixed values by the setting unit so that each output of the plurality of neural networks approaches the associated result data.
ニューラルネットワークの入力層のノードであって、複数の特徴量のそれぞれが入力される複数のノードのうち、結果のデータとの因果関係があらかじめ指定された特徴量が入力されるノードの重みに、前記因果関係に応じた固定値を設定し、前記複数の特徴量のうち、前記結果のデータとの間に因果がないことが指定された特徴量が入力されるノードの重みに0を設定する設定工程と、
前記ニューラルネットワークの出力が、前記結果のデータに近付くように、前記ニューラルネットワークに含まれるノードの重みのうち、前記設定工程によって固定値が設定されていない重みを、前記固定値と0の間の範囲に含まれる値に更新する更新工程と、
前記入力層のノードの重みを基に、前記複数の特徴量と前記結果のデータとの間の因果関係を示す情報を生成する生成工程と、
含むことを特徴とする分析方法。 An analytical method performed by an analytical device, comprising:
a setting step of setting a fixed value according to the causal relationship to a weight of a node to which a feature having a pre-specified causal relationship with result data is input among a plurality of nodes in an input layer of the neural network, the node being input with each of a plurality of feature amounts, and setting a zero to a weight of a node to which a feature having a pre-specified no causal relationship with the result data is input among the plurality of feature amounts ;
an updating step of updating, among the weights of the nodes included in the neural network, weights for which fixed values have not been set in the setting step , to values included in a range between the fixed values and 0 so that the output of the neural network approaches the resultant data;
a generating step of generating information indicating a causal relationship between the plurality of feature quantities and the result data based on weights of the nodes in the input layer;
An analytical method comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022022241A JP7728199B2 (en) | 2022-02-16 | 2022-02-16 | Analytical device, analytical method, and analytical program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022022241A JP7728199B2 (en) | 2022-02-16 | 2022-02-16 | Analytical device, analytical method, and analytical program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023119369A JP2023119369A (en) | 2023-08-28 |
| JP7728199B2 true JP7728199B2 (en) | 2025-08-22 |
Family
ID=87763284
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022022241A Active JP7728199B2 (en) | 2022-02-16 | 2022-02-16 | Analytical device, analytical method, and analytical program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7728199B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118761557B (en) * | 2024-07-30 | 2025-09-23 | 中国长江三峡集团有限公司 | Water-Energy-Food System Nexus Analysis Method |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008217711A (en) | 2007-03-07 | 2008-09-18 | Omron Corp | Causal structure determination apparatus, control method for causal structure determination apparatus, and control program for causal structure determination apparatus |
| US20200394512A1 (en) | 2019-06-13 | 2020-12-17 | Microsoft Technology Licensing, Llc | Robustness against manipulations in machine learning |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0573522A (en) * | 1991-09-11 | 1993-03-26 | Hitachi Ltd | Neural network and its structuring method, and process control system using neural network |
-
2022
- 2022-02-16 JP JP2022022241A patent/JP7728199B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008217711A (en) | 2007-03-07 | 2008-09-18 | Omron Corp | Causal structure determination apparatus, control method for causal structure determination apparatus, and control program for causal structure determination apparatus |
| US20200394512A1 (en) | 2019-06-13 | 2020-12-17 | Microsoft Technology Licensing, Llc | Robustness against manipulations in machine learning |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023119369A (en) | 2023-08-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Tyagi et al. | Regression analysis | |
| CN115427968B (en) | Robust AI Inference in Edge Computing Devices | |
| Lee et al. | Background information of deep learning for structural engineering | |
| Xu et al. | Physics guided wavelet convolutional neural network for wind-induced vibration modeling with application to structural dynamic reliability analysis | |
| CN111970163A (en) | Network flow prediction method of LSTM model based on attention mechanism | |
| KR102531291B1 (en) | Method for predicting energy consumption of a building, and computing device performing the method | |
| Karaca et al. | Evolutionary mathematical science, fractional modeling and artificial intelligence of nonlinear dynamics in complex systems | |
| CN114819295B (en) | Data analysis and prediction method, device, server, storage medium and program product | |
| CN116249994A (en) | A predictive model with decomposable hierarchies configured to generate interpretable results | |
| Gaidhane et al. | An efficient approach for cement strength prediction | |
| Muthyala et al. | Symantic: An efficient symbolic regression method for interpretable and parsimonious model discovery in science and beyond | |
| JP7728199B2 (en) | Analytical device, analytical method, and analytical program | |
| Ma et al. | Do transformer world models give better policy gradients? | |
| Pham et al. | Actor-critic learning algorithms for mean-field control with moment neural networks | |
| CN115392594A (en) | Electrical load model training method based on neural network and feature screening | |
| WO2019208248A1 (en) | Learning device, learning method, and learning program | |
| Xiao et al. | Monotonic convergence of adaptive caputo fractional gradient descent for temporal convolutional networks | |
| CN115392113A (en) | Cross-working condition complex electromechanical system residual life prediction system and method | |
| Hickmann et al. | Hybrid quantum tensor networks for aeroelastic applications | |
| Iwata et al. | Controlling nonlinear dynamical systems with linear quadratic regulator-based policy networks in Koopman space | |
| Feng et al. | Implementing the competitive selection of the Matthew effect: An adaptive gradient neural network approach and its applications | |
| JP7457325B2 (en) | Optimization device, evaluation device, their method, and program | |
| Ward et al. | Design of tailorable stiffness structures using L-system topology optimization | |
| Williams | SINN: shepard interpolation neural networks | |
| Ganguly | Deep Quantum Learning |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240802 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250421 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250507 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250707 |
|
| 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: 20250715 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250812 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7728199 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |