Analytical device, analytical method, and analytical program

The analysis device addresses the challenge of integrating prior knowledge into causal relationship analysis by setting fixed weights in a neural network based on known causalities, optimizing the network, and generating DAGs to enhance reliability and performance.

JP7728199B2Active Publication Date: 2025-08-22NTT DOCOMO BUSINESS INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022022241
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-16
Publication Date
2025-08-22
Estimated Expiration
2042-02-16

AI Technical Summary

Technical Problem

Conventional methods for analyzing causal relationships in data often fail to appropriately reflect known causal relationships, as they rely solely on data and algorithms, disregarding prior knowledge.

Method used

An analysis device that sets fixed values to the weights of nodes in a neural network based on pre-specified causal relationships and updates weights to optimize the network's output, while generating information on causal relationships using a Directed Acyclic Graph (DAG).

Benefits of technology

This approach allows for the appropriate reflection of known causal relationships in analysis results, enhancing statistical reliability and improving the performance of imitation learning models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007728199000007
    Figure 0007728199000007
  • Figure 0007728199000008
    Figure 0007728199000008
  • Figure 0007728199000009
    Figure 0007728199000009
Patent Text Reader

Abstract

To appropriately reflect known causal relations in analysis results of causal relations between feature amounts.SOLUTION: An analysis device sets, to a weight of a node to which a feature amount whose causal relation with resultant data has been specified in advance is inputted, a fixed value corresponding to the causal relation, where the node is a node of an input layer of a neural network among a plurality of nodes to which each of a plurality of feature amounts is inputted. Moreover, the analysis device updates weights in which the fixed values are unset, among the weights of nodes included in the neural network, such that output of the neural network approaches the resultant data. The analysis device generates information indicating the causal relations between the plurality of feature amounts and the resultant data based on the weights of the nodes of the input layer.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an analysis device, an analysis method, and an analysis program. [Background technology]

[0002] BACKGROUND ART A technique known as imitation learning is known in the past, in which a machine learning model is trained to learn human behavior and the model is used to teach behavior to humans, robots, or the like.

[0003] For example, in imitation learning in a chemical plant, a machine learning model may be used in which multiple sensor values ​​are input as features and information about the operation of equipment is output.

[0004] Furthermore, a method for analyzing causal relationships between features has been proposed.

[0005] For example, a method has been proposed that can obtain a DAG (Directed Acyclic Graph), which is expected to represent a causal relationship, by numerical calculation (see, for example, Non-Patent Document 1).

[0006] Furthermore, for example, a method has been proposed in which the method described in Non-Patent Document 1 is combined with a type of neural network, MLP (Multilayer Perceptron), to enable non-linear causal relationships to be captured using DAG (see, for example, Non-Patent Document 2). [Prior art documents] [Non-patent literature]

[0007] [Non-Patent Document 1] Zheng, Xun, et al. "DAGs with NO TEARS: Continuous Optimization for Structure Learning." Advances in Neural Information ProcessingSystems 31, 2018. [Non-patent document 2] Zheng, Xun, et al. "Learning sparse nonparametric dags." International Conference on Artificial Intelligence and Statistics. PMLR, 2020. Summary of the Invention [Problem to be solved by the invention]

[0008] However, conventional methods for analyzing causal relationships have a problem in that it is sometimes difficult to appropriately reflect known causal relationships in the results of the analysis of causal relationships between data.

[0009] 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, feature quantities input to a machine learning model.

[0010] On the other hand, with conventional analytical methods, causal relationships between data are uniquely inferred using data and algorithms, making it difficult to reflect prior knowledge in the analysis results. [Means for solving the problem]

[0011] In order to solve the above-mentioned problems and achieve the object, the analysis device is characterized by having: a setting unit that sets fixed values ​​according to the causal relationship to weights of nodes in an input layer of a neural network, among a plurality of nodes to which each of a plurality of feature quantities is input, to which feature quantities having a pre-specified causal relationship with result data are input; an updating unit that updates 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 generating unit that generates information indicating the causal relationship between the plurality of feature quantities and the result data based on the weights of the nodes in the input layer. [Effects of the Invention]

[0012] According to the present invention, known causal relationships can be appropriately reflected in the analysis results of the causal relationships between feature quantities. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram illustrating a plant operation system. [Figure 2] FIG. 2 is a diagram illustrating an example of the configuration of a server according to the first embodiment. [Figure 3] FIG. 3 is a diagram illustrating an example of feature amount information. [Figure 4] FIG. 4 is a diagram illustrating an example of the configuration of a model. [Figure 5] FIG. 5 is a diagram for explaining a setting method when there is causality between data. [Figure 6] FIG. 6 is a diagram for explaining a setting method when there is no causality between data. [Figure 7] FIG. 7 is a diagram for explaining a setting method when the causality between data is unknown. [Figure 8] FIG. 8 is a diagram illustrating an example of a causal graph. [Figure 9] FIG. 9 is a flowchart showing the flow of the analysis process according to the first embodiment. [Figure 10]FIG. 10 is a flowchart showing the flow of the setting process according to the first embodiment. [Figure 11] FIG. 11 is a diagram illustrating an example of the configuration of a computer that executes an analysis program. DETAILED DESCRIPTION OF THE INVENTION

[0014] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to the accompanying drawings, in which: FIG. 1 is a block diagram showing an analysis apparatus, an analysis method, and an analysis program according to an embodiment of the present invention;

[0015] [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.

[0016] As shown in FIG. 1, the system includes a server 10, a terminal device 20, and a plant system 30.

[0017] The server 10, the terminal device 20, and the plant system 30 are connected to each other so as to be able to communicate data with each other via a network N. For example, the network N is the Internet or an intranet.

[0018] The server 10 performs processing related to imitation learning. The server 10 executes a learning process of a model for imitation learning (hereinafter, an imitation learning model) and an inference process using the imitation learning model.

[0019] 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 explanatory variables and objective variables of the imitation learning model, respectively.

[0020] In this case, the server 10 performs the learning process of the imitation learning model using the sensor values ​​and operation details acquired from the plant system 30 as training data.

[0021] Furthermore, the server 10 inputs the sensor values ​​acquired from the plant system 30 into the trained imitation learning model and executes inference processing to obtain operation details.

[0022] The server 10 provides the operation content obtained by the inference processing to the user. The user can operate the devices in the plant system 30 according to the operation content provided.

[0023] For example, the user operates the device to set the temperature inside the device, the pressure inside the device, the target value of the production amount in the production process, the amount of raw material to be input into the device, and the like.

[0024] The terminal device 20 is an information processing device such as a personal computer, a tablet terminal, or a smartphone.

[0025] 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.

[0026] Furthermore, the server 10 performs a causal analysis process for analyzing the causal relationships between variables of the imitation learning model. The server 10 is an example of an analysis device. The flow of the process for analyzing the causal relationships will be described with reference to FIG.

[0027] The variables of the imitation learning model include both explanatory variables and target variables. In the following description, the variables of the imitation learning model may be referred to as features or simply as data.

[0028] 1, the server 10 first 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.

[0029] Next, the server 10 acquires prior knowledge regarding the causal relationships between the feature quantities from the user (step S2).

[0030] For example, the prior knowledge is given to the server 10 as a list of feature pairs that the user believes to be causal and the direction of the causality, or a list of feature pairs that the user believes to be non-causal.

[0031] In response to an operation by the analyst, the terminal device 20 instructs the server 10 to execute the causal analysis process (step S3). In addition, the terminal device 20 acquires the causal analysis result from the server 10.

[0032] 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.

[0033] The server 10 will be described in detail with reference to Fig. 2. Fig. 2 is a diagram showing an example of the configuration of a server according to the first embodiment.

[0034] Here, a configuration will be described in which the server 10 performs the causal analysis process, and a description of a configuration in which the server 10 performs the learning process and the inference process will be omitted.

[0035] As shown in FIG. 2, the server 10 includes a communication unit 11, a storage unit 12, and a control unit 13.

[0036] The communication unit 11 performs data communication with other devices via a network. For example, the communication unit 11 is a network interface card (NIC).

[0037] The storage unit 12 is a storage device such as a hard disk drive (HDD), a solid state drive (SSD), an optical disk, etc. Note that the storage unit 12 may also be a data-rewritable semiconductor memory such as a random access memory (RAM), a flash memory, or a non-volatile static random access memory (NVSRAM).

[0038] The storage unit 12 stores an OS (Operating System) and various programs executed on the server 10. The storage unit 12 stores a history DB 121 and model information 122.

[0039] The history DB 121 is information including history provided from the plant system 30. Fig. 3 is a diagram showing an example of the history DB.

[0040] As shown in FIG. 3, the history DB 121 includes time, temperature, concentration, pressure, flow rate, and set value.

[0041] The temperature, concentration, pressure, and flow rate correspond to explanatory variables of the imitation learning model. The set value corresponds to a response variable of the imitation learning model. Note that the feature quantities that are the subject of causal analysis may include either explanatory variables or response variables.

[0042] Furthermore, for example, the temperature, concentration, pressure, and flow rate are sensor values ​​of 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.

[0043] The setting value is a value that is set by an operation from the terminal device 20. The setting value may be a value that is a normalized value of an actually set value. The setting value is a value that specifies the operation content of the device.

[0044] For example, in Figure 3, the temperature at the time "2021 / 11 / 5 13:30:01" is "40°C", the concentration is 3.5%, the pressure is "501 hPa", and the flow rate is "12 m3 / s" and the set value is "0.2".

[0045] The model information 122 is information such as parameters for constructing a model for causal analysis. For example, if the model is a neural network, the model information 122 is the weight and bias of each layer.

[0046] 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), an MPU (Micro Processing Unit), or a GPU (Graphics Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

[0047] The control unit 13 also has an internal memory for storing programs defining various processing procedures and control data, and executes each process using the internal memory. The control unit 13 also functions as various processing units by running various programs. For example, the control unit 13 has a setting unit 131, a calculation unit 132, an update unit 133, and a generation unit 134.

[0048] Here, an overview of the causal analysis process in the embodiment and a model used in the causal analysis process will be described.

[0049] First, Non-Patent Document 1 describes expressing causal relationships between data using DAG.

[0050] Furthermore, Non-Patent Document 2 describes that the problem formulation (equation (1)) when expressing causal relationships using DAG is relaxed to the problem formulation (equation (2)) using a multilayer perceptron, which is a type of neural network.

[0051]

number

[0052]

number

[0053] However, if the data to be analyzed is x j (1,…,d). Also, X is the data x1,…,x d x j If (1,...,d) is a vector with n elements, then X can be expressed as an nxd matrix.

[0054] The function l outputs the discrepancy between vectors (for example, the sum of squares in the least squares method, or the negative logarithm of likelihood). The function L is an error function. The function G is a function that represents the DAG.

[0055] In equation (2), data x j D multilayer perceptron MLPs are used, each corresponding to (1,...,d). j (1,...,d) are the parameters of each MLP.

[0056] A j (1) is x j is the weight of the input layer (first layer) of the multilayer perceptron corresponding to λ. λ is a constant that is set in advance as a hyperparameter. In other words, the second term in equation (2) represents the L1 constraint on the weight of the first layer of the MLP.

[0057] Furthermore, h(W(θ))=0 is an equality constraint that induces a DAG, and means a constraint that all necessary components (e.g., diagonal components) are degenerated to 0 so that the matrix W(θ) is a representation of a DAG. W(θ) is an adjacency matrix that represents the weights between specified nodes.

[0058] Here, the (i,j) element of the adjacency matrix W(θ) is the data x i From data x j To(x i →xj ) expresses the causality of. For example, w 41 expresses the causal relationship from data x4 to data x1.

[0059] In particular, if the (i,j) element of the adjacency matrix W(θ) is 0, the data x i From data x j Conversely, if the (i,j) element of the adjacency matrix W(θ) is non-zero, then the data x i From data x j This means that there is causation to

[0060] Constraint h(W(θ)) can be said to be a constraint that, as a result of the progress 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.

[0061] In this case, according to the DAG assumption, the causality of each variable itself (data x i From data x i Since the causality to i does not necessarily exist, the diagonal components of the adjacency matrix W(θ) (w for i=j) ij ) is initially set to 0.

[0062] In addition, the components other than the diagonal components (w when i ≠ j) ij ) is initially set to an arbitrary value, and as learning progresses, some of the components in question degenerate to 0 due to constraints.

[0063] In the embodiment, the server 10 reflects the causal relationship designated in advance by the user or the like as prior knowledge in the problem setting of equation (2).

[0064] The model information 122 includes information on a model for performing causal analysis processing according to 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.

[0065] The data x1, x2, x3, and x4 may be variables stored in the history DB. The data x1, x2, x3, and x4 can also be called feature quantities.

[0066] The server 10 constructs a model as shown in Fig. 4 based on the model information 122. Fig. 4 is a diagram showing an example of the configuration of a model.

[0067] As shown in Figure 4, the models include MLP51, MLP52, MLP53, and MLP54.

[0068] Each MLP corresponds to a causal analysis in which each variable in the input layer is the cause and the variable specified in the output layer is the result. MLP51, MLP52, MLP53, and MLP54 correspond to causal analyses in which data x1, x2, x3, and x4 are the results, respectively.

[0069] For example, data x2, x3, and x4 are input to the MLP51. Then, the MLP51 is optimized so that the value output from the output layer approaches the resulting data x1.

[0070] 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.

[0071] Similar to the MLP51, the MLP52, MLP53, and MLP54 also have similar configurations according to the associated data.

[0072] For example, data x1, x3, and x4 are input to the MLP 52. Then, the MLP 52 is optimized so that the value output from the output layer approaches x2.

[0073] For example, data x1, x2, and x4 are input to the MLP 53. Then, the MLP 53 is optimized so that the value output from the output layer approaches x3.

[0074] For example, data x1, x2, and x3 are input to the MLP 54. The MLP 54 is then optimized so that the value output from the output layer approaches x4.

[0075] Each part of the control unit 13 performs processing to analyze the causal relationships between the data x1, x2, x3, and x4 using the model shown in FIG.

[0076] The setting unit 131 is a node in the input layer of the neural network, and among a plurality of nodes to which each of a plurality of feature quantities is input, sets a fixed value according to the causal relationship to the weight of a node to which a feature quantity having a pre-specified causal relationship with the result data is input.

[0077] That is, the setting unit 131 sets fixed values ​​for the weights from the nodes in the input layers of the MLP51, MLP52, MLP53, and MLP54 to the nodes in the hidden layers based on the user's prior knowledge.

[0078] 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 MLP52, data x1, x3, and x4 are feature quantities, and data x2 is result data.

[0079] 5 is a diagram for explaining a setting method when there is causality between data. Here, it is assumed that there is a causality from data x3 to data x2.

[0080] In this case, setting unit 131 sets the weight from the node in the input layer of MLP 52 to which 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.

[0081] In the example of Fig. 5, the number of nodes in the hidden layer connected to the input layer is 5. In this case, the setting unit 131 sets [A2 (1) ] .,3 Set it as =1 / √5.

[0082] Here, [A j (1) ] k,i is the data x j This is the weight from the i-th node in the first layer (input layer) of the MLP to the k-th node in the second layer (first hidden layer) associated with the causal analysis resulting in

[0083] In other words, [A j (1) ] k,i is the data x j The weight from the i-th node in the input layer to the k-th node in the first hidden layer of the MLP, which corresponds to the causal analysis that results in i,k,j (1) It is a three-dimensional array with elements.

[0084] Also, "." means any value. j (1) ] .,i is the data x j This is the weight from the i-th node in the first layer (input layer) of the MLP to any node in the second layer (first hidden layer) associated with the causal analysis resulting in

[0085] In this way, the setting unit 131 sets a fixed value to the weight of a node to which a feature specified to have a causal relationship with the result data is input, among the multiple feature amounts. 1 / √m1 is an example of the fixed value.

[0086] 6 is a diagram for explaining a setting method when there is no causality between data. Here, it is assumed that there is no causality between data x3 and data x2.

[0087] 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.

[0088] In the example of FIG. 6, the setting unit 131 sets [A2 (1) ] .,3 = 0. Note that setting the weight to 0 means deleting the connection between nodes.

[0089] In this way, the setting unit 131 sets 0 to the weight of a node to which a feature that is designated as having no causal relationship with the result data is input, among a plurality of feature amounts.

[0090] 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.

[0091] In this case, setting unit 131 does not set fixed values ​​to the weights from the nodes in the input layer of MLP 52 to which data x3 is input to each node in the hidden layer.

[0092] In this case, in the process by the update unit 133 described later, the weight of the node is [A2 (1) ] .,3 It is updated in the range ∈[0,1 / √5].

[0093] The setting unit 131 also sets fixed values ​​for the MLP51, MLP53, and MLP54 using the methods described with reference to FIGS.

[0094] That is, 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 according to the causal relationship to the weight of a node in the input layer to which a feature quantity having a pre-specified causal relationship with the associated result data is input, among a plurality of nodes to which each of a plurality of feature quantities is input.

[0095] Calculation section 132 performs calculation of the MLP. That is, calculation section 132 calculates MLP(X, θ1), MLP(X, θ2), MLP(X, θ3), and MLP(X, θ4).

[0096] The update unit 133 performs a learning process for each MLP. That is, the update unit 133 updates the parameters of each MLP based on the calculation results of the calculation unit 132. For example, the update unit 133 updates the parameters by backpropagation.

[0097] 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).

[0098]

number

[0099] The update unit 133 does not update weights for which fixed values ​​have been set. In other words, the update unit 133 updates weights for which fixed values ​​have not been set by the setting unit 131, among the weights of the nodes included in the neural network, so that the output of the neural network approaches the result data.

[0100] If a fixed value is set, the update unit 133 updates the weights of the nodes of the neural network for which a fixed value has not been set by the setting unit 131 to values ​​included in the range between the fixed value and 0.

[0101] As shown in equation (3), the update unit 133 can simultaneously optimize the MLP51, MLP52, MLP53, and MLP54 using one error function.

[0102] That is, the update 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 each of the outputs of the multiple neural networks approaches the associated result data.

[0103] The generation unit 134 generates information indicating the causal relationships between a plurality of feature amounts and the result data based on the weights of the nodes in the input layer.

[0104] Furthermore, the generation unit 134 generates an adjacency matrix that represents the causal relationships between data, or a DAG based on the adjacency matrix.

[0105] The generating unit 134 generates an adjacency matrix W(θ) of weights between nodes, for example, as shown in equation (4).

[0106]

number

[0107] w of the adjacency matrix W(θ) ij is the data x j 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 that results in ij =0.

[0108] For example, w 41 is expressed as in equation (5). For example, w 24 is expressed as in equation (6).

[0109]

number

[0110]

number

[0111] As mentioned above, a i,k,j (1) is the data x j This 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 resulting in

[0112] As explained in Figure 5, if the number of nodes in the first hidden layer is m1 and the weight of each node is set to 1 / √m1, then w ij =1.

[0113] Also, as explained in Figure 6, if the number of nodes in the first hidden layer is m1 and the weight of each node is set to 0, then w ij =0.

[0114] Also, as explained in Figure 7, if the number of nodes in the first hidden layer is m1 and the weight range of each node is set to [0, 1 / √m1], then w ij The range is [0,1].

[0115] 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 is a diagram showing an example of a causal graph.

[0116] 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 expressed by the thickness of the edge between nodes. 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.

[0117] [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.

[0118] As shown in FIG. 9, the server 10 receives data x j For each multilayer perceptron MLP(X;θ j ) (j=1,...,d) is defined (step S101). Number of nodes in the input layer: m0 (m0=d) Number of nodes in the first hidden layer: m1 Number of nodes in the output layer: 1 Input: X=(x1,…,x d ) (However, the i-th node of the input layer contains data x i (Enter

[0119] For example, Fig. 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 Fig. 4. The number of hidden layers of the MLP and the number of nodes in each hidden layer may be any number equal to or greater than one.

[0120] Next, the server 10 sets weights from the input layer to the hidden layer of each MLP according to the specified causal relationship (step S102).

[0121] Next, the server 10 calculates the MLP(X;θ) under the constraints that induce the DAG. j ) output is x j Simultaneous optimization is performed so that the values ​​approach each other (step S103).

[0122] 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).

[0123] The server 10 outputs the generated adjacency matrix or a DAG based on the adjacency matrix (step S105).

[0124] 10 is a flowchart showing the flow of the setting process according to the first embodiment. The process in FIG. 10 corresponds to the process in step S102 in FIG.

[0125] As shown in FIG. 10, first, the server 10 assigns 1 to j (step S201) and calculates MLP(X;θ j ) is started (step S202).

[0126] Here, the server 10 assigns 1 to i (step S203).

[0127] Server 10 stores data x i From data x j The specified causal relationship to is confirmed (step S204).

[0128] Data x i From data x j If the causal relationship to 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 / √m1 (fixed value) (step S205).

[0129] Also, data x i From data xj If "no causality" is specified for the causal relationship to (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).

[0130] When i=j, the server 10 performs the same process as when the causal relationship is "no causal relationship."

[0131] Also, data x i From data x j If the causal relationship to is not specified (step S204, causality unknown), the server 10 sets the weight from the i-th node of the input layer to the first layer of the hidden layer to a variable value of [0, 1 / √m1] (step S207).

[0132] Next, the server 10 increments i by 1 (step S208).

[0133] If i=d is not satisfied (No at step S209), the server 10 returns to step S204 and repeats the process.

[0134] On the other hand, if i=d (step S209, Yes), the server 10 calculates MLP(X;θ j ) is set (step S210).

[0135] Then, the server 10 increments j by 1 (step S211).

[0136] If j=d is not satisfied (step S212, No), the server 10 returns to step S202 and repeats the process.

[0137] On the other hand, if j=d (step S212, Yes), the server 10 ends the setting process.

[0138] [Advantages of the first embodiment] As explained 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 to which fixed values ​​have not been set 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.

[0139] In this way, the server 10 sets fixed values ​​to the weights of the neural network corresponding to data for which a causal relationship is specified, updates the weights for which no fixed values ​​are set, and can obtain the causal relationship between the data based on the updated weights.

[0140] The specified causal relationship may be based on the user's on-site knowledge and know-how accumulated over many years, or may be theoretically guaranteed.

[0141] 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.

[0142] Generally, there is no well-established method for verifying the truth or validity of the estimation results of causal analysis, and it may be difficult to ensure statistical reliability. On the other hand, in the embodiment, by performing causal analysis by assuming prior knowledge (specified causal relationship) to be true, it becomes possible to increase the statistical reliability of the causal analysis by at least the amount of prior knowledge.

[0143] Furthermore, 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, so that weights that are not set to fixed values ​​are updated consistently according to the algorithm.

[0144] According to the embodiment, the 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 effect of predictive models on time series data" (https: / / www.jstage.jst.go.jp / article / pjsai / JSAI2020 / 0 / JSAI2020_1J4GS204 / _pdf / -char / ja)).

[0145] Furthermore, if the specified prior knowledge is correct, the model can be guided to the true local solution quickly and accurately.

[0146] Furthermore, the variables of the imitation learning model can be reconsidered based on the results of the causal relationship analysis, which results in an improvement in the performance of the imitation learning model.

[0147] [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.

[0148] 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 a known method.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.

[0149] [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. In addition, the information processing device also includes mobile communication terminals such as tablet terminals, smartphones, mobile phones, and PHS (Personal Handyphone Systems), as well as slate terminals such as PDAs (Personal Digital Assistants).

[0150] The server 10 may also be implemented as a server that provides services related to the above-described analytical processing to a client terminal device used by a user. For example, the server may be implemented as a server device that provides an analytical service that takes a request point specification as input and outputs an analytical result (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-described analytical processing by outsourcing.

[0151] 11 is a diagram showing an example of the configuration of a computer that executes an analysis program. The computer 1000 includes, for example, a 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.

[0152] 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.

[0153] 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, a program that defines each process of the server 10 is implemented as a program module 1093 in which computer-executable code is written. The program module 1093 is stored, for example, in the hard disk drive 1090. For example, a program module 1093 for executing the same process as the functional configuration of the server 10 is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced by an SSD (Solid State Drive).

[0154] Furthermore, setting data used in the processing of the above-described embodiment is stored as program data 1094, for example, in the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 or the program data 1094 stored in the memory 1010 or the hard disk drive 1090 into the RAM 1012 as necessary, and executes the processing of the above-described embodiment.

[0155] The program module 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may also be stored in, for example, 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 in another computer connected via a network (such as a local area network (LAN) or a wide area network (WAN)). 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. [Explanation of symbols]

[0156] 1 Plant operation system 10 Servers 11 Communications Department 12 Storage section 13 Control Unit 20 Terminal equipment 30 Plant Systems 51, 52, 53, 54 MLP 121 History DB 122 Model Information 131 Setting section 132 Calculation section 133 Update Department 134 Generation part

Claims

1. 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:

2. 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.

3. 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:

4. An analysis program for causing a computer to function as the analysis device according to claim 1 or 2.

Citation Information

Patent Citations

  • Neural network and its structuring method, and process control system using neural network

    JP1993073522A

  • Apparatus for deciding causal structure, control method therefor, and control program therefor

    JP2008217711A

  • Robustness against manipulations in machine learning

    US20200394512A1