WO2024117019A1 - コンピュータプログラム、情報処理装置及び情報処理方法 - Google Patents

コンピュータプログラム、情報処理装置及び情報処理方法 Download PDF

Info

Publication number
WO2024117019A1
WO2024117019A1 PCT/JP2023/042110 JP2023042110W WO2024117019A1 WO 2024117019 A1 WO2024117019 A1 WO 2024117019A1 JP 2023042110 W JP2023042110 W JP 2023042110W WO 2024117019 A1 WO2024117019 A1 WO 2024117019A1
Authority
WO
WIPO (PCT)
Prior art keywords
observation
variables
observed
causal structure
causal
Prior art date
Application number
PCT/JP2023/042110
Other languages
English (en)
French (fr)
Inventor
大 小林
淳 品川
Original Assignee
東京エレクトロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 東京エレクトロン株式会社 filed Critical 東京エレクトロン株式会社
Publication of WO2024117019A1 publication Critical patent/WO2024117019A1/ja

Links

Images

Definitions

  • Patent document 1 discloses a technology for visualizing data regarding a process having multidimensional independent and dependent variables.
  • the present disclosure aims to provide a computer program, an information processing device, and an information processing method that derive a causal structure between observed variables based on observed data.
  • the computer program disclosed herein is a computer program for causing a computer to execute a process of acquiring observation data corresponding to multiple types of observation variables from a monitored observation system, deriving a causal structure of the observation variables in the observation system based on the acquired observation data, extracting one or more other observation variables that are candidate causes of variation in one observation variable based on the derived causal structure, and outputting the extraction result.
  • FIG. 1 is an explanatory diagram illustrating a configuration of an information processing system according to an embodiment.
  • FIG. 11 is a schematic diagram showing an example of a causal structure derived by an information processing device.
  • 1 is a block diagram showing an internal configuration of an information processing device; This is a directed acyclic graph that represents the relationships between observed variables.
  • FIG. 1 is a schematic diagram showing an example of a directed acyclic graph in which edges are drawn from a plurality of other nodes to one node.
  • 13 is a flowchart showing a procedure for deriving a causal structure.
  • FIG. 13 is an explanatory diagram for explaining a modification operation of a causal structure.
  • 13 is a flowchart showing a procedure for a user to modify a causal structure.
  • FIG. 1 is a flowchart showing a procedure for generating a prediction model.
  • 13 is a flowchart showing a procedure for executing performance prediction.
  • FIG. 13 is an explanatory diagram for explaining a method for estimating the cause of fluctuations.
  • 13 is a flowchart showing a procedure for estimating the cause of fluctuations.
  • 13 is a flowchart showing a procedure for outputting handling information.
  • FIG. 13 is an explanatory diagram for explaining an operation for narrowing down candidate fluctuation causes.
  • 13 is a flowchart showing a procedure for accepting an operation for narrowing down the cause of fluctuations.
  • 23 is a flowchart showing a procedure for deriving a causal structure in embodiment 7.
  • FIG. 13 is a schematic diagram showing an example of a causal structure in which a functional form is complemented.
  • FIG. 13 is a schematic diagram showing an example of a causal structure in which a functional form is complemented.
  • FIG. 13 is a schematic diagram showing an example of a graph representation of a non-linear relationship.
  • FIG. 1 is a schematic diagram showing an example of visualization of process mechanism knowledge.
  • FIG. 1 is a schematic diagram showing an example of a causal structure used for failure prediction.
  • 11 is a flowchart showing a procedure for creating a process window.
  • (Embodiment 1) 1 is a diagram illustrating a configuration of an information processing system according to an embodiment of the present invention, which includes an information processing apparatus 100 and a substrate processing apparatus 200 that are communicatively connected to each other.
  • the substrate processing apparatus 200 is, for example, a semiconductor manufacturing apparatus including at least one of an exposure apparatus, an etching apparatus, a film forming apparatus, an ion implantation apparatus, an ashing apparatus, a sputtering apparatus, etc.
  • the substrate processing apparatus 200 may be a display manufacturing apparatus that manufactures FDPs (Flat Display Panels) such as liquid crystal display panels and organic EL (Electro-Luminescence) panels.
  • various settings are set in the substrate processing apparatus 200, such as the substrate temperature, the pressure and gas flow rate in the chamber, and the voltage applied from the high-frequency power supply.
  • the substrate processing apparatus 200 is also provided with a number of sensors that measure the substrate temperature, the pressure and gas flow rate in the chamber, and the voltage applied to the upper and lower electrodes while the process is being performed.
  • the substrate processing apparatus 200 outputs the settings set at the start of a process and the measurement values measured during the process to the information processing apparatus 100 as observation data.
  • FIG. 2 is a schematic diagram showing an example of a causal structure derived by the information processing device 100.
  • the causal structure is drawn, for example, by a directed acyclic graph using nodes representing each observed variable and edges representing the causal relationships between the nodes.
  • nodes representing each observed variable and edges representing the causal relationships between the nodes.
  • FIG. 2 shows that in the actual process in the substrate processing device 200, many observed variables are handled, but in FIG. 2, for simplicity, only eight observed variables are extracted and their causal structures are shown.
  • the directed acyclic graph shown in Figure 2 is composed of nodes ND1 to ND8 corresponding to eight observed variables, and multiple edges EG12, EG36, EG37, EG46, EG56, EG62, EG67, and EG68 that represent the causal relationships between the observed variables (between nodes).
  • nodes ND1 to ND8 are shown as regular hexagonal icons, but the shape of the icons is not limited to a regular hexagon and may be circular or another shape.
  • the character string shown inside the icon represents the variable name of each observed variable.
  • Edge EG12 is shown drawn from node ND1 in the direction of node ND2.
  • Edge EG12 connecting the two nodes ND1 and ND2 represents a causal relationship between the observation variable corresponding to node ND1 (the coating of the light-gathering window) and the observation variable corresponding to node ND2 (OES).
  • the coating of the light-gathering window represents the amount of coating that accumulates on the light-gathering window.
  • OES stands for Optical Emission Spectrometer, and represents the measurement data of the emission intensity of the plasma.
  • the direction of edge EG12 (indicated by the arrow) represents the effect of the coating of the light-gathering window on OES. The same applies to the causal relationships between the other nodes.
  • the first observed variable when a first observed variable has an influence on a second observed variable, the first observed variable is also called the observed variable upstream of the second observed variable, and the second observed variable is also called the observed variable downstream of the first observed variable.
  • the configuration of the information processing device 100 that derives the causal structure will be described below.
  • 3 is a block diagram showing the internal configuration of the information processing device 100.
  • the information processing device 100 is, for example, a dedicated or general-purpose computer including a control unit 101, a storage unit 102, a communication unit 103, an operation unit 104, and a display unit 105.
  • the control unit 101 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), etc.
  • the ROM included in the control unit 101 stores control programs and the like that control the operation of each piece of hardware included in the information processing device 100.
  • the CPU in the control unit 101 reads and executes the control programs stored in the ROM and computer programs (described below) stored in the memory unit 102, and controls the operation of each piece of hardware, causing the entire device to function as the information processing device of the present disclosure.
  • the RAM included in the control unit 101 temporarily stores data used during the execution of calculations.
  • control unit 101 is configured to include a CPU, ROM, and RAM, but the configuration of the control unit 101 is not limited to the above.
  • the control unit 101 may be, for example, one or more control circuits or arithmetic circuits including a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), a quantum processor, volatile or non-volatile memory, etc.
  • the control unit 101 may have functions such as a clock that outputs date and time information, a timer that measures the elapsed time from when an instruction to start measurement is given to when an instruction to end measurement is given, and a counter that counts numbers.
  • the memory unit 102 includes a storage device such as a hard disk drive (HDD), a solid state drive (SSD), or an electronically erasable programmable read only memory (EEPROM).
  • the memory unit 102 stores various computer programs executed by the control unit 101 and various data used by the control unit 101.
  • the computer program (program product) stored in the memory unit 102 includes a causal structure learning program PG1 for causing a computer to execute a process of deriving a causal structure of observed variables from observation data of the substrate processing apparatus 200.
  • the causal structure learning program PG1 may be a single computer program, or may be composed of multiple computer programs.
  • the causal structure learning program PG1 may also be executed by multiple computers in cooperation. Furthermore, the causal structure learning program PG1 may partially use an existing library.
  • the memory unit 102 may also include a prediction model generation program PG2 that generates a prediction model based on the causal relationships between observed variables, a prediction program PG3 that predicts observed data using a prediction model, and a cause estimation program PG4 that estimates the cause of process variation and recommends countermeasures.
  • a prediction model generation program PG2 that generates a prediction model based on the causal relationships between observed variables
  • a prediction program PG3 that predicts observed data using a prediction model
  • a cause estimation program PG4 that estimates the cause of process variation and recommends countermeasures.
  • Each of these programs PG1 to PG4 may be an independent computer program, or may be integrated into a single computer program.
  • a computer program including the causal structure learning program PG1 is provided by a non-transitory recording medium RM on which the computer program is recorded in a readable manner.
  • the recording medium RM is a portable memory such as a CD-ROM, USB memory, a Secure Digital (SD) card, a micro SD card, or a Compact Flash (registered trademark).
  • the control unit 101 reads various computer programs from the recording medium RM using a reading device not shown in the figure, and stores the various computer programs that have been read in the memory unit 102.
  • the computer programs stored in the memory unit 102 may also be provided by communication. In this case, the control unit 101 may acquire the computer program by communication via the communication unit 103, and store the acquired computer program in the memory unit 102.
  • the communication unit 103 has a communication interface for transmitting and receiving various data to and from an external device.
  • a communication interface conforming to a communication standard such as LAN (Local Area Network) can be used as the communication interface of the communication unit 103.
  • the external device is the above-mentioned substrate processing apparatus 200 or a user terminal (not shown).
  • the communication unit 103 transmits the data to the destination external device, and when data transmitted from the external device is received, the communication unit 103 outputs the received data to the control unit 101.
  • the operation unit 104 includes operation devices such as a touch panel, a keyboard, and switches, and accepts various operations and settings by the user.
  • the control unit 101 performs appropriate control based on various operation information provided by the operation unit 104, and stores setting information in the storage unit 102 as necessary.
  • the display unit 105 includes a display device such as an LCD monitor or an organic EL (Electro-Luminescence) display, and displays information to be notified to the user, etc., in response to instructions from the control unit 101.
  • a display device such as an LCD monitor or an organic EL (Electro-Luminescence) display, and displays information to be notified to the user, etc., in response to instructions from the control unit 101.
  • the information processing device 100 in this embodiment may be a single computer, or may be a computer system composed of multiple computers and peripheral devices. Furthermore, the information processing device 100 may be a virtual machine whose entity has been virtualized, or may be a cloud. Furthermore, in this embodiment, the information processing device 100 and the substrate processing device 200 are described as separate entities, but the information processing device 100 may be provided inside the substrate processing device 200.
  • a method for deriving a causal structure by the information processing device 100 will be described below.
  • (1) Search for causal relationships Causal relationships between observed variables are modeled, for example, by a structural equation model.
  • LiNGAM Linear Non-Gaussian Acyclic Model
  • the probability distribution of exogenous variables is a non-Gaussian distribution under a linear acyclic model.
  • the relationship between observed variables is expressed by a directed acyclic graph.
  • FIG. 4 shows a directed acyclic graph representing the relationship between observed variables.
  • the structural equation model is expressed by Equation 1.
  • the DirectLiNGAM algorithm has been proposed as one of the algorithms (causal search algorithms) for searching structural equation models (see, for example, S. Shimizu et al. Journal of Machine Learning Research, 12(Apr): 1225-1248(2011)).
  • the linear regression coefficients b ij can be optimized by repeating regression analysis and evaluation of the independence of regression residuals. By drawing edges between nodes based on the optimized coefficients b ij , a directed acyclic graph such as that shown in FIG. 4 can be drawn.
  • FIG. 5 is a schematic diagram showing an example of a directed acyclic graph in which edges are drawn from multiple other nodes to one node.
  • the example of Fig. 5 shows a case in which edges are drawn from the nodes ND2, ND6, and ND7 representing the OES, VI sensor voltage measurement value, and VI sensor current measurement value to the node ND8 representing the etching amount.
  • This case shows that the observation variables of the OES, VI sensor voltage measurement value, and VI sensor current measurement value have strong collinearity with each other and are also correlated with the observation variable representing the etching amount.
  • a constraint is added that prohibits edges from being drawn from multiple collinear observation variables to one observation variable at the same time. Specifically, an experiment is performed to determine which edge would provide the highest accuracy, and edges other than the edge with the highest accuracy are designated as prohibited edges. At this time, the acyclic constraint also changes, so a re-search for the causal structure is also performed.
  • FIG. 5 shows a state in which, of the edges from nodes ND2, ND6, and ND7 to node ND8, the edges from nodes ND2 and ND7 to ND8 are designated as prohibited edges.
  • prohibited edges are designated, the acyclic constraint also changes, and the causal search algorithm described above is executed again.
  • FIG. 6 is a flowchart showing the procedure for deriving a causal structure.
  • the control unit 101 of the information processing device 100 reads out the causal structure learning program PG1 from the storage unit 102 and executes it to perform the following processing.
  • the control unit 101 acquires observation data corresponding to multiple types of observation variables from the substrate processing apparatus 200, which is the observation system to be monitored (step S101).
  • the observation data acquired by the control unit 101 includes data measured by the substrate processing apparatus 200 and data set by the substrate processing apparatus 200, such as the coating of the light-collecting window, OES, wear of the lower electrode, wear of the upper electrode, voltage setting value, voltage measurement value of the VI sensor, current measurement value of the VI sensor, and etching amount.
  • the control unit 101 acquires these observation data by communicating with the substrate processing apparatus 200 via the communication unit 103.
  • the control unit 101 searches for causal relationships between observed variables based on the acquired observation data (step S102).
  • searching for causal relationships as a preprocessing step, an observed variable used to derive a causal structure may be selected, or a constraint condition may be added between observed variables using prior knowledge of the process in the substrate processing apparatus 200.
  • the control unit 101 uses the above-mentioned causal search algorithm to search for causal relationships between observed variables, thereby deriving a causal structure of all observed variables.
  • control unit 101 optimizes the linear regression coefficient b ij by repeating regression analysis and evaluation of the independence of regression residuals on the assumption that there is linearity between observed variables, that there is acyclicity in the causal structure, that the probability distribution of the exogenous variables is a non-Gaussian distribution, and that different exogenous variables are independent of each other.
  • the control unit 101 generates a directed acyclic graph by drawing edges between nodes based on the optimized coefficients b ij . This allows a causal structure between observed variables in which edges from multiple nodes having collinearity may be mixed to be obtained.
  • the control unit 101 detects edges drawn from multiple other collinear nodes to one node from the causal structure obtained in step S102 (step S103).
  • the control unit 101 determines whether or not there is a corresponding edge (step S104), and if it determines that there is a corresponding edge (S104: YES), it designates all edges other than the edge with the highest accuracy as prohibited edges (step S105) in order to add a constraint condition that prohibits edges from being drawn from multiple collinear observation variables to one observation variable at the same time, and then returns the process to step S102.
  • step S104 If it is determined in step S104 that no corresponding edge exists (S104: NO), the control unit 101 ends the processing according to this flowchart.
  • the control unit 101 may display the derived causal structure on the display unit 105, or may notify a user terminal (not shown) via the communication unit 103.
  • the causal structure of all observed variables can be derived based on the observation data obtained from the monitored observation system (substrate processing apparatus 200), and the causal relationships between the observed variables can be presented to the user.
  • edge pruning is implemented to prevent multiple collinear nodes from simultaneously having a causal relationship with other nodes, thereby preventing misidentification of edges and enabling more reliable learning of causal structures.
  • FIG. 7 is an explanatory diagram for explaining the operation of correcting the causal structure.
  • the control unit 101 of the information processing device 100 derives the causal structure of all observed variables using the method disclosed in the first embodiment, and displays the derived causal structure on the display unit 105.
  • the causal structure is drawn by a directed acyclic graph.
  • the control unit 101 calculates the degree of influence (linear regression coefficient b ij ) from one node to another node, so the thickness and color of the edge between the nodes may be changed based on the degree of influence. For example, if the degree of influence from one node to another node is relatively high, the thickness of the edge connecting these two nodes may be made thicker, and it may be displayed in a color different from other edges, such as red or blue.
  • edges EG36 and EG68 are shown thicker than the other edges, which indicates that the influence of the VI sensor voltage measurement value and the wear of the lower electrode on the amount of etching is greater than the wear of the upper electrode and the voltage setting value.
  • the control unit 101 accepts a user's modification operation on the directed acyclic graph displayed on the display unit 105 through the operation unit 104.
  • the control unit 101 accepts an operation to draw a new edge using a mouse or touch panel provided in the operation unit 104. This operation allows the user to add a new edge that should exist between any two nodes.
  • the control unit 101 may also accept an operation to select an edge to be deleted and a predetermined operation to delete the selected edge (for example, pressing a delete key) using a mouse or keyboard provided in the operation unit 104. This operation allows the user to delete unnecessary edges.
  • the control unit 101 may also accept an operation to move the start point or end point of an edge to another node using a mouse or touch panel provided in the operation unit 104. This operation allows the user to change the causal relationship between observed variables.
  • Figure 7 shows an example in which an operation to move the starting point of edge EG17 from node ND1 to node ND3 has been accepted.
  • edge EG17 between nodes ND1 and ND7 disappears, and a new edge EG7 is generated between nodes ND3 and ND7.
  • an operation to delete edge EG17 and an operation to draw a new edge (edge EG37) between nodes ND3 and ND7 may be accepted.
  • FIG. 8 is a flowchart showing the procedure for modifying the causal structure by the user.
  • the control unit 101 of the information processing device 100 derives the causal structure of all observed variables using the same procedure as in embodiment 1, and displays the derived causal structure on the display unit 105 (step S201).
  • the thickness and color of the edges may be changed based on the degree of influence from one node to other nodes.
  • the control unit 101 accepts, via the operation unit 104, modifications to the causal structure displayed on the display unit 105 (step S202). Through the operation unit 104, the control unit 101 accepts operations such as adding new edges that should exist, deleting unnecessary edges, and changing causal relationships.
  • the control unit 101 recalculates the influence degree based on the corrected causal structure (step S203). Since the influence degree changes depending on the addition or deletion of an edge, the control unit 101 recalculates the influence degree (linear regression coefficient b ij ) using Equation 1 without changing the causal structure.
  • the causal structure algorithm alone may not be able to fully correct the causal relationships between observed variables.
  • FIG. 9 is a flowchart showing the procedure for generating a prediction model.
  • the control unit 101 of the information processing device 100 reads out the prediction model generation program PG2 from the storage unit 102 and executes it to perform the following processing. Note that it is assumed that the causal structure for the observation system to be monitored has already been derived.
  • the control unit 101 accepts the selection of a performance parameter to be monitored (step S301).
  • a performance parameter to be monitored is selected from the causal structure displayed on the display unit 105.
  • the control unit 101 extracts one or more observed variables that have a direct causal relationship with the performance parameter selected in step S301 (step S302). For example, if the causal structure in FIG. 2 is the derived causal structure and the etching amount of node ND8 is the performance parameter selected in step S301, the control unit 101 extracts the VI sensor voltage measurement value of node ND6 as an observed variable that has a direct causal relationship with the etching amount.
  • the control unit 101 generates a prediction model using the performance parameter selected in step S301 as the objective variable and the observation variable selected in step S302 as the explanatory variable (step S303).
  • Any model can be used for the prediction model.
  • the prediction model is not limited to a linear function, and any function can be used.
  • the prediction model may also be a machine learning learning model.
  • the third embodiment when a performance parameter is specified, it is possible to extract observed variables having a direct causal relationship based on the derived causal structure, and generate a prediction model that predicts the performance parameter from the observed variables. In other words, in the third embodiment, it is possible to eliminate parameters that fall into a spurious correlation, and generate a prediction model that is robust against factors that may fluctuate the results.
  • control unit 101 is configured to extract an observation variable (explanatory variable) that has a direct causal relationship with the performance parameter, but the user may select an explanatory variable of their choice.
  • the user can refer to the causal structure displayed on the display unit 105 and use the operation unit 104 to select a node corresponding to the observation variable to be used as the explanatory variable.
  • the observation variable extracted as the explanatory variable is the VI sensor voltage measurement value, but if the user wishes, an observation variable such as OES that does not have a direct causal relationship can be added to the explanatory variable.
  • FIG. 10 is a flowchart showing the procedure for executing performance prediction. After generating a prediction model, the control unit 101 of the information processing device 100 reads out the prediction program PG3 from the storage unit 102 and executes it to perform the following processing.
  • the control unit 101 acquires observation data corresponding to the explanatory variables of the prediction model from the substrate processing apparatus 200, which is the observation device to be monitored (step S401). If the explanatory variable is a VI sensor voltage measurement value, the control unit 101 acquires data of the voltage measurement value obtained from the VI sensor.
  • the control unit 101 inputs the acquired observation data into a prediction model and predicts the performance (step S402).
  • the control unit 101 can predict the performance by executing a calculation using the prediction model.
  • the control unit 101 compares the performance predicted in step S402 with a reference value (step S403) and determines whether the reference value is met (step S404). If it is determined that the reference value is met (S404: YES), the control unit 101 determines that the process being performed in the substrate processing apparatus 200 is normal, and ends the processing according to this flowchart.
  • control unit 101 determines that the process being performed in the substrate processing apparatus 200 is not normal, outputs an alarm (step S405), and ends the processing according to this flowchart.
  • the control unit 101 outputs the alarm, for example, by displaying information that the process is not normal on the display unit 105.
  • the control unit 101 may notify a user terminal (not shown) of the information that the process is not normal via the communication unit 103.
  • the performance is predicted using a prediction model, and by determining whether the predicted performance meets a reference value, it is possible to determine whether the process being performed in the substrate processing apparatus 200 is normal.
  • the derived causal structure is used to identify the cause of variation in an observed variable whose cause is unknown by checking the upstream of the fluctuating observed variable.
  • Figure 11 is an explanatory diagram explaining a method for estimating the cause of variation.
  • the causal structure shown in Figure 2 is obtained as the causal structure of the observed variables.
  • the observed variables that affect the VI sensor voltage measurement value of node ND6 are the lower electrode wear of node ND3, the upper electrode wear of node ND4, and the voltage setting value of node ND5.
  • the observed variables that affect the VI current measurement value of node ND7 are the lower electrode wear of node ND3 and the VI sensor voltage measurement value of ND6.
  • the VI sensor voltage measurement value and the VI sensor current measurement value are calculated using the following formula:
  • VI sensor voltage measurement value w1 ⁇ voltage setting value+w2 ⁇ lower electrode wear+w3 ⁇ upper electrode wear
  • VI sensor current measurement value w4 ⁇ VI sensor voltage measurement value+w5 lower electrode wear
  • w1 to w5 are coefficients expressing the degree of influence of the edge.
  • the top row of Figure 11 shows the time variation of the voltage setting value
  • the middle row shows the time variation of the VI sensor voltage measurement value
  • the bottom row shows the time variation of the VI sensor current measurement value.
  • the VI sensor current measurement value could be explained only by the VI sensor voltage measurement value, and should therefore fluctuate as shown by the dashed line in the lower graph.
  • the actual measurement value fluctuates as shown by the solid line, it is presumed that the VI sensor current measurement value has been affected by wear on the lower electrode.
  • the difference between the dashed line and the solid line in the lower graph includes the difference ⁇ I caused by the lower electrode.
  • the control unit 101 can estimate the degree of wear of the lower electrode and upper electrode by optimizing the estimated results of the VI sensor voltage measurement value and the VI sensor current measurement value so that they match the actual measured values.
  • FIG. 12 is a flowchart showing the procedure for estimating the cause of variation. After deriving the causal structure, the control unit 101 of the information processing device 100 reads out the cause estimation program PG4 from the storage unit 102 and executes it to perform the following processing.
  • the control unit 101 assumes that there is no cause of variation and estimates each observed variable by performing regression based on the edge influence degree (step S501).
  • the control unit 101 compares the actual measured value and the estimated value of the observed variable (step S502).
  • An observed variable whose actual measured value and estimated value are significantly different can be considered to have fluctuated due to the intervention of a fluctuation causative factor.
  • the control unit 101 optimizes the degree of variability of the variation causes so as to fill the difference between the actual measured value and the estimated value, and estimates the cause of variation to be the one with a relatively large optimized degree of variability (step S503).
  • FIG. 13 is a flowchart showing the procedure for outputting handling information. After estimating the cause of the fluctuation, the control unit 101 executes the following processing as necessary.
  • the control unit 101 searches the causal structure for observed variables that can suppress the effect of the cause of variation (step S521), and determines whether or not a corresponding observed variable is found (step S522).
  • a controllable variable e.g., a voltage setting value
  • the control unit 101 If a controllable variable (e.g., a voltage setting value) is found in the substrate processing apparatus 200, it is determined that a corresponding observed variable is present (S522: YES), and the control unit 101 outputs countermeasure information to suppress the cause of fluctuation in the observed variable (step S523).
  • the countermeasure information is displayed on the display unit 105. Alternatively, the countermeasure information is notified to the user terminal via the communication unit 103.
  • a controllable variable e.g., wear of the lower electrode or upper electrode
  • the control unit 101 outputs removal or replacement of the cause of the variation as handling information (step S524).
  • the handling information is displayed on the display unit 105. Alternatively, the handling information is notified to the user terminal via the communication unit 103.
  • the cause of variation in one observed variable can be estimated, and information on how to deal with the cause of variation can be presented to the user.
  • FIG. 14 is an explanatory diagram for explaining the operation when narrowing down the candidate variation causes.
  • node ND6 VI sensor voltage measurement value
  • ND3 lower electrode wear
  • ND4 upper electrode wear
  • ND5 voltage setting value
  • the control unit 101 of the information processing device 100 changes the colors of these nodes ND3, ND4, ND5, ND6, and ND8 and displays them on the display unit 105.
  • the display mode of the candidate variation causes may be changed by changing the size of the nodes or the thickness of the edges connecting the nodes.
  • the control unit 101 accepts user operations to narrow down candidate variation causes through the operation unit 104.
  • the user can efficiently narrow down the possibilities by referring to the causal structure displayed on the display unit 105 and checking the observation data obtained for the candidate variation causes. For example, if the relationship between the VI sensor voltage measurement value and the etching amount is normal, the VI sensor voltage measurement value can be excluded from the candidate variation causes.
  • the control unit 101 accepts a selection operation (e.g., a click operation) for node ND6, it excludes the VI sensor voltage measurement value of node ND6 from the candidate variation causes and returns the display state of node ND6 to the original state.
  • a selection operation e.g., a click operation
  • the variation of the observation variables downstream of the candidates may be verified. For example, to verify the influence of the bottom electrode wear of node ND3, the VI sensor voltage measurement value of ND6 and the VI sensor current measurement value of node ND7 may be checked to verify the influence of the bottom electrode wear. At this time, if the relationship between the VI sensor voltage measurement value and the VI sensor current measurement value is normal, the bottom electrode wear can be excluded from the candidate variation causes.
  • the control unit 101 receives a selection operation (e.g., a click operation) for node ND3, it excludes the bottom electrode wear of node ND3 from the candidate variation causes, and returns the display mode of node ND3 to the original state.
  • a selection operation e.g., a click operation
  • the control unit 101 outputs, as countermeasure information, information encouraging replacement of the upper electrode.
  • the control unit 101 also outputs, as countermeasure information, information encouraging adjustment of the voltage setting value.
  • FIG. 15 is a flowchart showing the procedure for accepting an operation to narrow down the variation causes.
  • the control unit 101 of the information processing device 100 After deriving the causal structure, the control unit 101 of the information processing device 100 reads out the cause estimation program PG4 from the storage unit 102 and executes it to perform the following processing.
  • the control unit 101 extracts one or more observation variables that are candidates for the cause of variation for one observation variable specified by the user (step S601).
  • the control unit 101 changes the display mode of the node corresponding to the extracted observation variable (step S602).
  • the control unit 101 may also change the display mode of the node corresponding to the one observation variable specified by the user in the same manner.
  • the control unit 101 accepts a selection operation via the operation unit 104 to select observed variables to be excluded from the candidate causes of variation (step S603), and excludes the selected observed variables from the candidate causes of variation (step S604).
  • steps S603-S604 observed variables that the user has determined to be problem-free as a result of verification, and observed variables that are unrelated based on the user's knowledge, are excluded from the candidate causes of variation. If there are further upstream observed variables, the processing of steps S603-S604 is executed repeatedly.
  • the control unit 101 determines whether there is an unverified observation variable downstream of the variation cause candidate (step S605), and if there is an unverified observation variable (S605: YES), prompts the user to verify it (step S606).
  • the user checks the variation of the downstream observation variable, and if there is no variation, removes it from the variation cause candidate. That is, the control unit 101 accepts a selection operation via the operation unit 104 to select an observation variable to be removed from the variation cause candidate (step S607), and removes the selected observation variable from the variation cause candidate (step S608). If it is determined in step S605 that there is no unverified observation variable downstream (S605: NO), the control unit 101 transitions the process to step S609.
  • the control unit 101 outputs countermeasure information based on the candidate fluctuation causes narrowed down in the procedure of steps S603 to S608 (step S609).
  • the countermeasure information is displayed on the display unit 105. Alternatively, the countermeasure information is notified to the user terminal via the communication unit 103.
  • the candidate variation causes can be narrowed down based on the user's verification or knowledge.
  • countermeasure information can be presented to the user.
  • FIG. 16 is a flowchart showing the procedure for deriving a causal structure in embodiment 7.
  • the control unit 101 of the information processing device 100 reads out the causal structure learning program PG1 from the storage unit 102 and executes it to perform the following processing.
  • the control unit 101 acquires observation data corresponding to multiple types of observation variables from the substrate processing apparatus 200, which is the observation system to be monitored (step S701).
  • the observation data acquired by the control unit 101 includes data measured by the substrate processing apparatus 200 and data set by the substrate processing apparatus 200.
  • the control unit 101 acquires these observation data by communicating with the substrate processing apparatus 200 via the communication unit 103.
  • the control unit 101 searches for causal relationships between observed variables based on the acquired observation data (step S702).
  • the observed variables to be used for deriving the causal structure may be selected, or constraints may be added between the observed variables using prior knowledge of the process in the substrate processing apparatus 200.
  • the function form is unknown, an algorithm capable of performing searches including nonlinearity is known, and the control unit 101 uses the algorithm to search for causal relationships between observed variables, thereby deriving the causal structure of all observed variables.
  • edges drawn from multiple other nodes that have collinearity to one node may be detected using a procedure similar to that of embodiment 1, and edges other than the edge with the highest accuracy may be designated as prohibited edges.
  • the control unit 101 estimates a function form for each causal relationship (step S703). At this time, the control unit 101 may estimate the function form based on the constraints and knowledge of the domain of the substrate processing apparatus 200.
  • the control unit 101 complements the causal structure derived in step S702 by introducing the estimated function form into the causal structure derived in step S702 (step S704).
  • the derived causal structure may be displayed on the display unit 105, or may be notified to a user terminal (not shown) via the communication unit 103.
  • FIG. 17 is a schematic diagram showing an example of a causal structure with a complemented functional form.
  • the causal structure is drawn by a directed acyclic graph using nodes representing each observed variable and edges representing the causal relationships between the nodes.
  • FIG. 17 shows a causal structure with only eight observed variables extracted and the functional forms between the observed variables complemented.
  • the directed acyclic graph shown in Figure 17 is composed of nodes ND1 to ND4 and ND7 to ND10 corresponding to eight observed variables, nodes ND5 and ND6 corresponding to two functions, and edges EG15, EG25, EG28, EG35, EG36, EG46, EG57, EG68, EG79, and EG810 representing the causal relationships between the nodes.
  • nodes ND1 to ND10 are shown as regular octagonal icons, but the shape of the icons is not limited to a regular octagon and may be circular or another shape.
  • the character string shown inside the icon represents the variable name or function form of each observed variable.
  • nodes ND1 to ND4, ND7 to ND10 which indicate observed variables, and nodes ND5 and ND6 which indicate functions are shown in different colors.
  • edges between observed variables are shown with solid lines, and edges which indicate inputs to functions and outputs from functions are shown with dashed lines.
  • a causal structure that takes into account nonlinearity between observed variables can be derived based on observation data obtained from the monitored observation system (substrate processing apparatus 200) and presented to the user.
  • FIG. 18 is a schematic diagram showing an example of a graphical display of a nonlinear relationship.
  • the value of observed variable A is fixed, and it shows how observed variable C changes by moving the value of observed variable B with a slider.
  • Figure 19 is a schematic diagram showing an example of visualization as knowledge of process mechanisms.
  • Figure 19 shows an example of visualization of the relationship between the flow rate of Gas A (Gas A Flow), the flow rate of Gas B (Gas B Flow), RF power (RF1 Pow), and the etching rate (E/R) as a causal relationship between each observed variable.
  • etching rate Even for the etching rate alone, it is difficult to grasp how much the gas flow rate, RF power, DC bias, etc. should be varied, and it is difficult to determine what is out of sync without referring to knowledge that overlooks the entire system, including the sensors. Therefore, a causal structure is created using a method similar to that shown in Figure 7 based on the observation data obtained from the experiment, and by visualizing it as shown in Figure 19, the relationship between features can be left as knowledge that is easy to refer to and use.
  • the eighth embodiment by making it possible to leave knowledge in the form of a causal structure, it is possible to leave knowledge in a form that can be deployed by non-experts as well.
  • formalizing and visualizing the causal structure, including the functional form it is possible to obtain knowledge on whether to experiment by varying the set value by degrees, or how to get closer to the desired outcome.
  • Figure 20 is a schematic diagram showing an example of a causal structure used for failure prediction.
  • simply limiting the set values of the DC voltage (DC Volt) and cooling temperature (Brine temp) does not allow the DC current (DC Current) and lower electrode temperature (Lower temp) to be directly specified.
  • the etching rate (E/R) is expected to improve with an increase in plasma flow rate and energy, but at the same time, an increase in the electrode temperature is expected. For this reason, if the DC voltage is increased to its limit, there is a risk of the electrode being damaged by heating.
  • control unit 101 creates a table of the processable range (process window) based on the causal structure and presents it to the user. If it is outside the process window, the control unit 101 may suggest an alternative recipe that fits within the window with minimal modifications.
  • FIG. 21 is a flowchart showing the procedure for creating a process window.
  • the control unit 101 creates a causal structure that complements a function form for a nonlinear relationship using the same procedure as in embodiment 7, and generates a judgment model that indicates whether the sensor value falls within an acceptable range based on the created causal structure (step S901).
  • the control unit 101 uses the generated judgment model to generate a multidimensional table that indicates the possible range for dynamic setting values (step S902). For example, when generating a table (two-dimensional table) for two setting values such as RF power 1 and RF power 2, a table may be generated that indicates that the combination of the two setting values (RF power 1, RF power 2) is not possible when it is (1000V, 100V), is possible when it is (1000V, 200V), etc.
  • the control unit 101 presents a process window according to the setting of the fixed value based on the generated multidimensional table (step S903).
  • RF power 1 (or RF power 2) may be fixed, and the range of RF power 2 (or RF power 1) may be generated as the process window and displayed on the display unit 105.
  • the substrate processing apparatus 200 has been described as an example of the observation system to be monitored.
  • the observation system to be monitored is not limited to the substrate processing apparatus 200, but may be a manufacturing device in which any manufacturing process is carried out, such as electrical equipment, chemical industrial products, pharmaceuticals, food, or chemical industrial products.
  • the observation system to be monitored is not limited to a device or system in which any manufacturing process is carried out, but may be any system that appropriately combines human living environments, economic activities, meteorological environments, etc.

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • General Factory Administration (AREA)

Abstract

コンピュータプログラム、情報処理装置及び情報処理方法の提供。 監視対象の観測系から、複数種の観測変数に対応する観測データを取得し、取得した観測データに基づき、観測系における観測変数の因果構造を導出し、導出した因果構造に基づき、一の観測変数の変動原因候補となる1又は複数の他の観測変数を抽出し、抽出結果を出力する処理をコンピュータに実行させる。

Description

コンピュータプログラム、情報処理装置及び情報処理方法
 本発明は、コンピュータプログラム、情報処理装置及び情報処理方法に関する。
 基板処理装置では、プロセスのレシピに基づいて基板に対する処理を行っている。レシピは、複数のステップで構成され、例えばステップごとに圧力や温度等の各種パラメータを制御することで、最適な処理結果を得ることができる。各種パラメータの設定値は、ステップごとに異なる場合があるため、基板処理装置に設けた複数のセンサの計測データを基板ごとに管理している。
 特許文献1には、多次元の独立変数及び従属変数を有するプロセスに関して、データを可視化する技術が開示されている。
特表2022-502806号公報
 本開示は、観測データに基づき、観測変数間の因果構造を導出するコンピュータプログラム、情報処理装置及び情報処理方法の提供を目的とする。
 本開示のコンピュータプログラムは、監視対象の観測系から、複数種の観測変数に対応する観測データを取得し、取得した観測データに基づき、前記観測系における観測変数の因果構造を導出し、導出した因果構造に基づき、一の観測変数の変動原因候補となる1又は複数の他の観測変数を抽出し、抽出結果を出力する処理をコンピュータに実行させるためのコンピュータプログラムである。
 本開示によれば、観測データに基づき、観測変数間の因果構造を導出できる。
実施の形態に係る情報処理システムの構成を説明する説明図である。 情報処理装置により導出される因果構造の一例を示す模式図である。 情報処理装置の内部構成を示すブロック図である。 観測変数の関係を表す有向非巡回グラフである。 一のノードに対して他の複数のノードからエッジが引かれた有向非巡回グラフの例を示す模式図である。 因果構造の導出手順を示すフローチャートである。 因果構造の修正操作を説明する説明図である。 ユーザによる因果構造の修正手順を示すフローチャートである。 予測モデルの生成手順を示すフローチャートである。 出来栄え予測の実行手順を示すフローチャートである。 変動原因の推定手法を説明する説明図である。 変動原因の推定手順を示すフローチャートである。 対処情報の出力手順を示すフローチャートである。 変動原因候補を絞り込む際の操作を説明する説明図である。 変動原因の絞り込み操作を受付ける際の手順を示すフローチャートである。 実施の形態7における因果構造の導出手順を示すフローチャートである。 関数形が補完された因果構造の一例を示す模式図である。 非線形関係のグラフ表示の例を示す模式図である。 プロセスメカニズムのナレッジとして可視化した例を示す模試図である。 故障予知に用いる因果構造の例を示す模式図である。 プロセスウィンドウの作成手順を示すフローチャートである。
 以下、図面を参照して一実施形態について説明する。
(実施の形態1)
 図1は実施の形態に係る情報処理システムの構成を説明する説明図である。実施の形態に係る情報処理システムは、通信可能に接続された情報処理装置100及び基板処理装置200を備える。
 基板処理装置200は、例えば、露光装置、エッチング装置、成膜装置、イオン注入装置、アッシング装置、スパッタリング装置などを少なくとも1つ含む半導体製造装置である。代替的に、基板処理装置200は、液晶ディスプレイパネル、有機EL(Electro-Luminescence)パネルなどのFDP(Flat Display Panel)を製造するディスプレイ製造装置であってもよい。
 基板処理装置200には、プロセスの開始時に、基板の温度、チャンパ内の圧力やガス流量、高周波電源より印加する電圧などの各種の設定値が設定される。また、基板処理装置200には、プロセスの実行中に、基板の温度、チャンバ内の圧力やガス流量、上部電極や下部電極に印加される電圧等を計測する複数のセンサが設けられている。基板処理装置200は、プロセスの開始時に設定される設定値やプロセスの実行中に計測される計測値を観測データとして情報処理装置100へ出力する。
 情報処理装置100は、監視対象の観測系(本実施の形態では基板処理装置200)から、観測データを取得する。情報処理装置100は、取得した観測データに基づき、観測変数間の因果関係を探索し、観測変数間に適用すべき制約条件に応じて因果関係を修正することによって、観測系における観測変数全体の因果構造を導出する。
 図2は情報処理装置100により導出される因果構造の一例を示す模式図である。因果構造は、例えば、各観測変数を表すノードと、ノード間の因果関係を表すエッジとを用いた有向非巡回グラフによって描画される。基板処理装置200での実際のプロセスでは、多数の観測変数が取り扱われるが、図2では、簡略化のために8つの観測変数のみを抜粋し、それらの因果構造を示している。
 図2に示す有向非巡回グラフは、8つの観測変数に対応するノードND1~ND8と、観測変数間(ノード間)の因果関係を表す複数のエッジEG12,EG36,EG37,EG46,EG56,EG62,EG67,EG68とにより構成されている。図2の例では、ノードND1~ND8を正六角形のアイコンにより示しているが、アイコンの形状は正六角形に限らず円形若しくはその他の形状であってもよい。アイコンの内部に示されている文字列は各観測変数の変数名を表す。
 2つのノードND1,ND2の間には、ノードND1からノードND2の向きに引かれたエッジEG12が示されている。2つのノードND1,ND2を接続するエッジEG12は、ノードND1に対応する観測変数(採光窓の被膜)と、ノードND2に対応する観測変数(OES)との間に因果関係があることを表している。採光窓の被膜は、採光窓に堆積する被膜の量を表す。OESはOptical Emission Spectrometerであり、プラズマの発光強度の計測データを表す。エッジEG12の向き(矢符で示す向き)は、採光窓の被膜がOESに対して影響を及ぼすことを表している。他のノード間の因果関係についても同様である。
 以下の説明において、第1の観測変数が第2の観測変数に対して影響を及ぼす場合、第1の観測変数は第2の観測変数の上流にある観測変数、第2の観測変数は第1の観測変数の下流にある観測変数ともいう。
 以下、因果構造を導出する情報処理装置100の構成について説明する。
 図3は情報処理装置100の内部構成を示すブロック図である。情報処理装置100は、例えば、制御部101、記憶部102、通信部103、操作部104、及び表示部105を備える専用又は汎用のコンピュータである。
 制御部101は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを備える。制御部101が備えるROMには、情報処理装置100が備えるハードウェア各部の動作を制御する制御プログラム等が記憶される。制御部101内のCPUは、ROMに記憶されている制御プログラムや記憶部102に記憶されている後述のコンピュータプログラムを読み込んで実行し、ハードウェア各部の動作を制御することにより、装置全体を本開示の情報処理装置として機能させる。制御部101が備えるRAMには、演算の実行中に利用されるデータが一時的に記憶される。
 実施の形態では、制御部101がCPU、ROM、及びRAMを備える構成としたが、制御部101の構成は上記のものに限定されない。制御部101は、例えば、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、量子プロセッサ、揮発性又は不揮発性のメモリ等を備える1又は複数の制御回路又は演算回路であってもよい。また、制御部101は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えてもよい。
 記憶部102は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EEPROM(Electronically Erasable Programmable Read Only Memory)などの記憶装置を備える。記憶部102には、制御部101によって実行される各種のコンピュータプログラムや制御部101によって利用される各種のデータが記憶される。
 記憶部102に記憶されるコンピュータプログラム(プログラム製品)は、基板処理装置200の観測データから観測変数の因果構造を導出する処理をコンピュータに実行させるための因果構造学習プログラムPG1を含む。因果構造学習プログラムPG1は、単一のコンピュータプログラムであってもよく、複数のコンピュータプログラムにより構成されてもよい。また、因果構造学習プログラムPG1は、複数のコンピュータにより協働して実行されてもよい。更に、因果構造学習プログラムPG1は、既存のライブラリを部分的に用いるものであってもよい。
 記憶部102には、因果構造学習プログラムPG1の他に、観測変数間の因果関係を基に予測モデルを生成する予測モデル生成プログラムPG2、予測モデルを用いて観測データを予測する予測プログラムPG3、プロセス変動の原因推定と対処推薦とを行う原因推定プログラムPG4などが含まれてもよい。これらのプログラムPG1~PG4は、それぞれ独立したコンピュータプログラムであってもよく、統合された1つのコンピュータプログラムであってもよい。
 因果構造学習プログラムPG1を含むコンピュータプログラムは、当該コンピュータプログラムを読み取り可能に記録した非一時的な記録媒体RMにより提供される。記録媒体RMは、CD-ROM、USBメモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。制御部101は、図に示していない読取装置を用いて、記録媒体RMから各種コンピュータプログラムを読み取り、読み取った各種コンピュータプログラムを記憶部102に記憶させる。また、記憶部102に記憶されるコンピュータプログラムは、通信により提供されてもよい。この場合、制御部101は、通信部103を介した通信によりコンピュータプログラムを取得し、取得したコンピュータプログラムを記憶部102に記憶させればよい。
 通信部103は、外部装置との間で各種のデータを送受信するための通信インタフェースを備える。通信部103の通信インタフェースとして、LAN(Local Area Network)などの通信規格に準拠した通信インタフェースを用いることができる。外部装置は、上述の基板処理装置200やユーザ端末(不図示)などである。通信部103は、送信すべきデータが制御部101から入力された場合、宛先の外部装置へデータを送信し、外部装置から送信されたデータを受信した場合、受信したデータを制御部101へ出力する。
 操作部104は、タッチパネル、キーボード、スイッチなどの操作デバイスを備え、ユーザ等による各種の操作及び設定を受付ける。制御部101は、操作部104より与えられる各種の操作情報に基づき適宜の制御を行い、必要に応じて設定情報を記憶部102に記憶させる。
 表示部105は、液晶モニタや有機EL(Electro-Luminescence)などの表示デバイスを備え、制御部101からの指示に応じてユーザ等に報知すべき情報を表示する。
 なお、本実施の形態における情報処理装置100は、単一のコンピュータであってもよく、複数のコンピュータや周辺機器などにより構成されるコンピュータシステムであってもよい。また、情報処理装置100は、実体が仮想化された仮想マシンであってもよく、クラウドであってもよい。更に、本実施の形態では、情報処理装置100と基板処理装置200とを別体として記載したが、情報処理装置100は基板処理装置200の内部に設けられるものであってもよい。
 以下、情報処理装置100による因果構造の導出手法について説明する。
(1)因果関係の探索
 観測変数間の因果関係は、例えば、構造方程式モデルによってモデリングされる。構造方程式モデルの1つであるLiNGAM(Linear Non-Gaussian Acyclic Model)は、線形非巡回モデルのもとで、外生変数の確率分布が非ガウシアン分布であることを仮定する。また、観測変数の関係は有向非巡回グラフによって表される。図4は観測変数の関係を表す有向非巡回グラフである。図4の例では観測変数の数を3個としているので、有向非巡回グラフは3×3の隣接行列B={bij}によって表される。bijは、線形回帰の係数であり、観測変数xj から観測変数xi への結合の強さを表す。観測変数xj の外生変数(誤差変数)をej としたとき、構造方程式モデルは数1により表される。
Figure JPOXMLDOC01-appb-M000001
 構造方程式モデルを探索するアルゴリズム(因果探索アルゴリズム)の1つとして、DirectLiNGAMアルゴリズムが提案されている(例えば、S. Shimizu et al. Journal of Machine Learning Research, 12(Apr): 1225-1248(2011)を参照)。このアルゴリズムでは、上記の仮定のもと、回帰分析と回帰残差同士の独立性の評価とを繰り返すことにより、線形回帰の係数bijを最適化することができる。最適化された係数bijに基づきノード間にエッジを引くことにより、図4に示すような有向非巡回グラフを描画することができる。
 図4の例では、観測変数の数を3個としているが、観測変数の数を一般化してn個(nは2以上の整数)とした場合も同様であり、有向非巡回グラフはn×nの隣接行列B={bij}によって表される。
(2)エッジプルーニング
 上述した因果探索では、エッジが巡回しない限り、一のノードに対して他の複数のノードからエッジが引かれる場合がある。図5は一のノードに対して他の複数のノードからエッジが引かれた有向非巡回グラフの例を示す模式図である。図5の例は、OES、VIセンサ電圧計測値、VIセンサ電流計測値を表す各ノードND2,ND6,ND7から、エッチング量を表すノードND8に対して、エッジが引かれたケースを示している。このケースは、OES、VIセンサ電圧計測値、及びVIセンサ電流計測値の各観測変数が互いに強い共線性を有しており、更にエッチング量を表す観測変数とも相関を有することを示している。
 本実施の形態では、このような過学習の状態を避けるために、共線性のある複数の観測変数から同時に一の観測変数に対してエッジが引かれることを禁止するという制約条件を付加する。具体的には、どのエッジを残すのが最も精度が良いかを試し、最も精度のよいエッジ以外のエッジを禁止エッジに指定する。このとき、非巡回の制約も変化するので、因果構造の再探索が併せて実行される。
 図5の例は、ノードND2,ND6,ND7からノードND8へのエッジのうち、ノードND2,ND7からND8へのエッジが禁止エッジに指定された状態を示している。禁止エッジが指定された場合、非巡回の制約も変化するため、上述した因果探索アルゴリズムが再度実行される。
 図6は因果構造の導出手順を示すフローチャートである。情報処理装置100の制御部101は、記憶部102から因果構造学習プログラムPG1を読み出して実行することにより、以下の処理を行う。
 制御部101は、監視対象の観測系である基板処理装置200から、複数種の観測変数に対応する観測データを取得する(ステップS101)。制御部101が取得する観測データは、採光窓の被膜、OES、下部電極の消耗、上部電極の消耗、電圧設定値、VIセンサの電圧計測値、VIセンサの電流計測値、エッチング量など、基板処理装置200にて計測されるデータや基板処理装置200にて設定されるデータを含む。制御部101は、通信部103を介して基板処理装置200と通信することにより、これらの観測データを取得する。
 制御部101は、取得した観測データに基づき、観測変数間の因果関係を探索する(ステップS102)。因果関係を探索する際、前処理として、因果構造の導出に用いる観測変数を選択してもよく、基板処理装置200におけるプロセスの事前知識を用いて、観測変数間に制約条件を付加してもよい。制御部101は、上述した因果探索アルゴリズムを用いて、観測変数間の因果関係を探索していくことにより、観測変数全体の因果構造を導出する。具体的には、制御部101は、観測変数間に線形性があること、因果構造に非巡回性があること、外生変数の確率分布が非ガウシアン分布であること、異なる外生変数同士が互いに独立であることを仮定した上で、回帰分析と回帰残差同士の独立性の評価とを繰り返すことによって、線形回帰の係数bijを最適化する。制御部101は、最適化された係数bijに基づきノード間にエッジを引くことにより、有向非巡回グラフを生成する。これにより、共線性を有する複数のノードからのエッジが混在し得る観測変数間の因果構造が得られる。
 制御部101は、ステップS102で得られる因果構造から、一のノードに対して、共線性を有する他の複数のノードから引かれたエッジを検出する(ステップS103)。制御部101は、該当するエッジの有無を判断し(ステップS104)、該当するエッジが有ると判断した場合(S104:YES)、共線性のある複数の観測変数から同時に一の観測変数に対してエッジが引かれることを禁止するという制約条件を付加するために、最も精度のよいエッジ以外を禁止エッジに指定した上で(ステップS105)、処理をステップS102へ戻す。
 ステップS104で該当するエッジが存在しないと判断した場合(S104:NO)、制御部101は、本フローチャートによる処理を終了する。
 これにより、制御部101は、図2に示すような観測変数全体の因果構造を導出することができる。制御部101は、導出した因果構造を表示部105に表示させてもよく、通信部103を通じてユーザ端末(不図示)に通知してもよい。
 以上のように、実施の形態1では、監視対象の観測系(基板処理装置200)から得られる観測データに基づき、観測変数全体の因果構造を導出することができ、観測変数間の因果関係をユーザに提示することができる。
 実施の形態1では、共線性を有する複数のノードが他のノードに対して同時に因果関係を持つことを防止するエッジプルーニングを実施しているので、エッジの誤認を防ぎ、より信頼性の高い因果構造の学習が可能となる。
(実施の形態2)
 実施の形態2では、ユーザに提示した因果構造に対し、インタラクティブな操作を受付けることにより、因果構造を修正する構成について説明する。
 なお、システムの全体構成や情報処理装置100の内部構成については、実施の形態1と同様であるため、その説明を省略する。
 図7は因果構造の修正操作を説明する説明図である。情報処理装置100の制御部101は、実施の形態1に開示した手法を用いて、観測変数全体の因果構造を導出し、導出した因果構造を表示部105に表示させる。因果構造は有向非巡回グラフによって描画される。制御部101は、因果構造を導出する過程で、一のノードから他のノードへの影響度(線形回帰の係数bij)を算出しているので、その影響度を基にノード間のエッジの太さや色を変更してもよい。例えば、一のノードから他のノードへの影響度が相対的に高い場合、これら2つのノード間を結ぶエッジの太さを太くしてもよく、赤色や青色など他のエッジとは異なる色で表示してもよい。
 図7の有向非巡回グラフにおいて、エッジEG36,EG68は、他のエッジよりも太く示されているので、エッチング量に対するVIセンサ電圧計測値や下部電極の消耗の影響度は、上部電極の消耗や電圧設定値と比較して高いことを示している。
 制御部101は、操作部104を通じて、表示部105に表示した有向非巡回グラフに対するユーザの修正操作を受付ける。例えば、制御部101は、操作部104が備えるマウスやタッチパネルを用いて、エッジを新たに描画する操作を受け付ける。この操作により、ユーザは、任意の2つのノード間に本来あるべきエッジを新たに追加することができる。また、制御部101は、操作部104が備えるマウスやキーボードを用いて、削除対象のエッジを選択する操作と、選択したエッジを削除するために予め定められた操作(例えば、デリートキーの押下操作)とを受付けてもよい。この操作により、ユーザは、不要なエッジを削除することができる。更に、制御部101は、操作部104が備えるマウスやタッチパネルを用いて、エッジの開始点又は終了点を別のノードまで移動させる操作を受付けてもよい。この操作により、ユーザは、観測変数間の因果関係を変更することができる。
 図7は、エッジEG17の開始点をノードND1からノードND3に移動させる操作を受付けた例を示している。この場合、ノードND1,ND7間のエッジEG17はなくなり、ノードND3,ND7間に新たなエッジEG7が生成される。代替的に、エッジEG17を削除する操作と、ノードND3,ND7間に新たなエッジ(エッジEG37)を描画する操作とを受け付けてもよい。
 図8はユーザによる因果構造の修正手順を示すフローチャートである。情報処理装置100の制御部101は、実施の形態1と同様の手順にて、観測変数全体の因果構造を導出し、導出した因果構造を表示部105に表示させる(ステップS201)。このとき、一のノードから他のノードへの影響度を基に、エッジの太さや色を変更して表示してもよい。
 制御部101は、表示部105に表示させた因果構造に対し、操作部104を通じて修正を受付ける(ステップS202)。制御部101は、操作部104を通じて、本来あるべきエッジを新たに追加する操作、不要なエッジを削除する操作、因果関係を変更する操作等を受付ける。
 制御部101は、修正後の因果構造に基づき、影響度を再計算する(ステップS203)。エッジの追加や削除に応じて、影響度が変化するので、制御部101は、因果構造を変化させずに、数1を用いて影響度(線形回帰の係数bij)を再計算する。
 学習に必要な観測データが十分に得られなかった場合などにおいて、因果構造アルゴリズムだけでは観測変数間の因果関係を十分に修正しきれていない可能性がある。実施の形態2では、インタラクティブな操作により、誤認エッジの削除や既知のエッジの追加が可能であり、ユーザの知見に基づいて因果構造を修正することができる。
(実施の形態3)
 実施の形態3では、導出した因果構造を基に予測モデルを生成する構成について説明する。
 なお、システムの全体構成や情報処理装置100の内部構成については、実施の形態1と同様であるため、その説明を省略する。
 図9は予測モデルの生成手順を示すフローチャートである。情報処理装置100の制御部101は、記憶部102から予測モデル生成プログラムPG2を読み出して実行することにより、以下の処理を行う。なお、監視対象の観測系についての因果構造は導出済みであるとする。
 制御部101は、監視対象とすべき出来栄えパラメータの選択を受付ける(ステップS301)。ここでは、表示部105に表示した因果構造から、監視対象とすべき一の観測変数が選択される。
 制御部101は、ステップS301で選択された出来栄えパラメータに対し、直接的な因果関係を有する1又は複数の観測変数を抽出する(ステップS302)。例えば、図2の因果構造が導出された因果構造であり、ノードND8のエッチング量がステップS301で選択された出来栄えパラメータであるとした場合、制御部101は、エッチング量と直接的な因果関係を有する観測変数として、ノードND6のVIセンサ電圧計測値を抽出する。
 制御部101は、ステップS301で選択された出来栄えパラメータを目的変数、ステップS302で選択された観測変数を説明変数として、予測モデルを生成する(ステップS303)。予測モデルには任意のモデルが用いられる。例えば、出来栄えパラメータ(=Y)と、説明変数として抽出された観測変数(=x)との間の関係が1次関数によって表される場合、予測モデルをY=ax+bのように記述することができる。出来栄えパラメータY及び観測変数xについて観測データが得られているので、それらの観測データを用いて上記予測モデルを最適化することにより、係数a,bを求めることができる。予測モデルには、1次関数に限らず、任意の関数が用いられる。また、予測モデルは、機械学習の学習モデルであってもよい。
 以上のように、実施の形態3では、出来栄えパラメータが指定された場合、導出した因果構造に基づき、直接的な因果関係を有する観測変数を抽出し、観測変数から出来栄えパラメータを予測する予測モデルを生成することができる。すなわち、実施の形態3では、疑似相関にあたるパラメータを排除して、結果を変動させ得る要因に対してロバストな予測モデルを生成することができる。
 なお、本実施の形態3では、出来栄えパラメータと直接的な因果関係を有する観測変数(説明変数)を制御部101が抽出する構成としたが、ユーザが任意に説明変数を選択してもよい。ユーザは、表示部105に表示される因果構造を参照し、操作部104を用いて、説明変数とすべき観測変数に対応したノードを選択すればよい。例えば、図2の因果構造において、ノードND8のエッチング量を出来栄えパラメータとしたとき、説明変数として抽出される観測変数はVIセンサ電圧計測値であるが、ユーザが希望すれば、直接的な因果関係を有していないOES等の観測変数を説明変数に加えることができる。
(実施の形態4)
 実施の形態4では、生成した予測モデルを用いて、出来栄え予測を行う構成について説明する。
 なお、システムの全体構成や情報処理装置100の内部構成については、実施の形態1と同様であるため、その説明を省略する。
 図10は出来栄え予測の実行手順を示すフローチャートである。情報処理装置100の制御部101は、予測モデルを生成した後、記憶部102から予測プログラムPG3を読み出して実行することにより、以下の処理を行う。
 制御部101は、監視対象の観測計である基板処理装置200から、予測モデルの説明変数に対応する観測データを取得する(ステップS401)。説明変数がVIセンサ電圧計測値であれば、制御部101は、VIセンサより得られる電圧計測値のデータを取得する。
 制御部101は、取得した観測データを予測モデルに入力し、出来栄えを予測する(ステップS402)。制御部101は、予測モデルを用いた演算を実行することにより、出来栄えを予測することができる。
 制御部101は、ステップS402で予測した出来栄えを基準値と比較し(ステップS403)、基準値を満たすか否かを判断する(ステップS404)。基準値を満たすと判断した場合(S404:YES)、制御部101は、基板処理装置200で実施されているプロセスが正常であると判断し、本フローチャートによる処理を終了する。
 一方、基準値を満たさないと判断した場合(S404:NO)、制御部101は、基板処理装置200で実施されているプロセスが正常でないと判断して、警報を出力し(ステップS405)、本フローチャートによる処理を終了する。制御部101は、例えば、プロセスが正常でない旨の情報を表示部105に表示することによって警報を出力する。代替的に、制御部101は、プロセスが正常でない旨の情報を通信部103を通じてユーザ端末(不図示)に通知してもよい。
 以上のように、実施の形態4では、予測モデルを用いて出来栄えを予測し、予測した出来栄えが基準値を満たすか否かを判断することによって、基板処理装置200において実施されているプロセスが正常であるか否かを判断することができる。
(実施の形態5)
 実施の形態5では、因果構造に基づき、一の観測変数に対する変動原因を推定する構成について説明する。
 なお、システムの全体構成や情報処理装置100の内部構成については、実施の形態1と同様であるため、その説明を省略する。
 実施の形態5では、導出した因果構造を利用して、変動原因が不明な観測変数に対し、変動している観測変数の上流を確認することで変動原因を特定する。
 図11は変動原因の推定手法を説明する説明図である。観測変数の因果構造として、図2に示す因果構造が得られたとする。因果構造を参照すれば、ノードND6のVIセンサ電圧計測値に影響を及ぼす観測変数として、ノードND3の下部電極消耗と、ノードND4の上部電極消耗と、ノードND5の電圧設定値とが存在することが分かる。また、ノードND7のVI電流計測値に影響を及ぼす観測変数として、ノードND3の下部電極消耗と、ND6のVIセンサ電圧計測値とが存在することが分かる。
 VIセンサ電圧計測値及びVIセンサ電流計測値は、以下の計算式によって表される。
 VIセンサ電圧計測値=w1×電圧設定値+w2×下部電極消耗+w3×上部電極消耗
 VIセンサ電流計測値=w4×VIセンサ電圧計測値+w5下部電極消耗
 ここで、w1~w5は、エッジの影響度で表現される係数である。
 図11の上段は電圧設定値の時間変動、中段はVIセンサ電圧計測値の時間変動、下段はVIセンサ電流計測値の時間変動を示している。下部電極及び上部電極の消耗がなければ、VIセンサ電圧計測値は、電圧設定値のみで説明できるので、中段のグラフにおいて破線で示すように変動するはずである。しかしながら、実際の計測値が実線で示すように変動していた場合、VIセンサ電圧計測値は、下部電極及び上部電極の消耗の影響を受けたと推測される。すなわち、中段のグラフにおいて、破線で示すグラフと実線で示すグラフとの間の差分は、下部電極に起因する差分ΔV1と、部電極の消耗に起因する差分V2とが含まれるものと推測される。
 同様に、下部電極の消耗がなければ、VIセンサ電流計測値は、VIセンサ電圧計測値のみで説明できるので、下段のグラフにおいて破線で示すように変動するはずである。しかしながら、実際の計測値が実線で示すように変動していた場合、VIセンサ電流計測値は、下部電極の消耗の影響を受けたと推測される。すなわち、下段のグラフにおいて、破線で示すグラフと実線で示すグラフとの間の差分は、下部電極に起因した差分ΔIが含まれるものと推測される。
 制御部101は、VIセンサ電圧計測値及びVIセンサ電流計測値の推定結果と、実測値とが合うように最適化することにより、下部電極及び上部電極の消耗度を推定できる。
 図12は変動原因の推定手順を示すフローチャートである。情報処理装置100の制御部101は、因果構造を導出した後、記憶部102から原因推定プログラムPG4を読み出して実行することにより、以下の処理を行う。
 制御部101は、変動原因がないものと仮定し、エッジの影響度を基に回帰して、各観測変数を推定する(ステップS501)。
 制御部101は、観測変数の実測値と推定値とを比較する(ステップS502)。実測値と推定値とが大きく異なる観測変数は、変動原因要素の介入によって変動したものと見なすことができる。
 制御部101は、実測値と推定値との間の差分を埋めるように、変動原因の変動度を最適化し、最適化した変動度が相対的に大きいものを変動原因として推定する(ステップS503)。
 図13は対処情報の出力手順を示すフローチャートである。制御部101は、変動原因を推定した後、必要に応じて、以下の処理を実行する。
 制御部101は、変動原因の影響を抑制し得る観測変数を因果構造から探索し(ステップS521)、該当する観測変数があるか否かを判断する(ステップS522)。
 基板処理装置200にて制御可能な変数(例えば、電圧設置値など)が探索された場合、該当する観測変数があると判断し(S522:YES)、制御部101は、観測変数で変動原因を抑制することを対処情報として出力する(ステップS523)。対処情報は表示部105に表示される。代替的に、対処情報は通信部103を通じてユーザ端末に通知される。
 基板処理装置200にて制御可能な変数(例えば、下部電極や上部電極の消耗など)が探索された場合、該当する観測変数がないと判断し(S522:NO)、制御部101は、変動原因の除去又は交換を対処情報として出力する(ステップS524)。対処情報は表示部105に表示される。代替的に、対処情報は通信部103を通じてユーザ端末に通知される。
 以上のように、実施の形態5では、一の観測変数に対する変動原因を推定し、その変動原因に対する対処情報をユーザに提示できる。
(実施の形態6)
 実施の形態6では、ユーザの知見に基づき、変動原因を推定する構成について説明する。
 なお、システムの全体構成や情報処理装置100の内部構成については、実施の形態1と同様であるため、その説明を省略する。
 図14は変動原因候補を絞り込む際の操作を説明する説明図である。図14に示すような因果構造が得られており、ノードND8のエッチング量に対する変動原因を調べることを想定する。この場合、ノードND8の上流のノードND6(VIセンサ電圧計測値)、並びに、更にその上流のND3(下部電極消耗)、ND4(上部電極消耗)、及びND5(電圧設定値)が変動原因候補となる。情報処理装置100の制御部101は、例えば、これらのノードND3,ND4,ND5,ND6,ND8の色を変更して表示部105に表示する。ノードの色を変更して表示する構成に代えて、ノードの大きさを変更したり、ノード間を繋ぐエッジの太さを変更したりして、変動原因候補の表示態様を変更してもよい。
 制御部101は、操作部104を通じて、変動原因候補を絞り込むユーザの操作を受付ける。ユーザは、表示部105に表示される因果構造を参照し、変動原因候補について得られる観測データを確認していくことで効率良く可能性を絞り込むことができる。例えば、VIセンサ電圧計測値とエッチング量との間の関係が正常であれば、VIセンサ電圧計測値を変動原因候補から除外することができる。制御部101は、ノードND6に対する選択操作(例えば、クリック操作)を受付けた場合、ノードND6のVIセンサ電圧計測値を変動原因候補から除外し、ノードND6の表示態様を元に戻す。
 変動原因候補を更に絞り込むために、候補の下流にある観測変数の変動を検証してもよい。例えば、ノードND3の下部電極消耗の影響を検証するために、ND6のVIセンサ電圧計測値と、ノードND7のVIセンサ電流計測値とを確認し、下部電極消耗の影響を検証してもよい。このとき、VIセンサ電圧計測値とVIセンサ電流計測値との間の関係が正常であれば、下部電極消耗を変動原因候補から除外することができる。制御部101は、ノードND3に対する選択操作(例えば、クリック操作)を受付けた場合、ノードND3の下部電極消耗を変動原因候補から除外し、ノードND3の表示態様を元に戻す。
 以上により、変動原因候補は、ND4の上部電極消耗と、ND5の電圧設定値との2つに絞り込まれるため、制御部101は、対処情報として、上部電極の交換を促す情報を出力する。また、制御部101は、対処情報として、電圧設定値の調整を促す情報を出力する。
 図15は変動原因の絞り込み操作を受付ける際の手順を示すフローチャートである。情報処理装置100の制御部101は、因果構造を導出した後、記憶部102から原因推定プログラムPG4を読み出して実行することにより、以下の処理を行う。
 制御部101は、ユーザによって指定された一の観測変数に対し、変動原因候補となる1又は複数の観測変数を抽出する(ステップS601)。制御部101は、抽出した観測変数に対応するノードの表示態様を変更する(ステップS602)。制御部101は、ユーザによって指定された一の観測変数に対応するノードについても同様に表示態様を変更してもよい。
 制御部101は、操作部104を通じて、変動原因候補から除外すべき観測変数を選択する選択操作を受付け(ステップS603)、選択された観測変数を変動原因候補から除外する(ステップS604)。ステップS603-S604では、検証の結果、ユーザによって問題がないと判断された観測変数や、ユーザの知見により関連のない観測変数が変動原因候補から除外される。更に上流にあたる観測変数が存在する場合、ステップS603-S604の処理が繰り返し実行される。
 制御部101は、変動原因候補の下流に変動が未検証の観測変数が存在するか否かを判断し(ステップS605)、未検証の観測変数が存在する場合(S605:YES)、ユーザに検証を促す(ステップS606)。ユーザは、下流の観測変数の変動を確認し、変動がなければ、変動原因候補から除外する。すなわち、制御部101は、操作部104を通じて、変動原因候補から除外すべき観測変数を選択する選択操作を受付け(ステップS607)、選択された観測変数を変動原因候補から除外する(ステップS608)。ステップS605で、下流に未検証の観測変数がないと判断した場合(S605:NO)、制御部101は、処理をステップS609へ移行させる。
 制御部101は、ステップS603~S608の手順にて絞り込まれた変動原因候補に基づき、対処情報を出力する(ステップS609)。対処情報は表示部105に表示される。代替的に、対処情報は通信部103を通じてユーザ端末に通知される。
 以上のように、実施の形態6では、ユーザによる検証又はユーザの知見に基づき、変動原因候補を絞り込むことができる。また、絞り込んだ変動原因候補に基づき、ユーザに対して対処情報を提示することができる。
(実施の形態7)
 実施の形態7では、非線形な系への適用例について説明する。
 なお、システムの全体構成や情報処理装置100の内部構成については、実施の形態1と同様であるため、その説明を省略する。
 線形な系に対しては、特徴量の選択や因果構造の学習を行って、説明変数を絞り込むことで、説明性が高くロバストな予測モデルや信頼できる異常原因特定モデルを構築することができる。
 一方、非線形な系に対しては、設定パラメータを説明変数、結果にあたるパラメータを目的変数としてランダムフォレストやガウス過程回帰などを使った予測モデルを構築することが多い。非線形な系では、因果構造や関数形を特定することは難しく、モデルがブラックボックス化してしまうため、それぞれの説明変数がどのように目的変数の変動に影響を与えるのか説得力が低く、設定値の微調整や信頼性の高い結果変動の修正が行えない。また、部分的な関数形などがドメイン知識として予め分かっている場合であっても、それによる補正や制約を入れることができないため、統計処理的なアプローチだけでは部分的な関数形やドメイン知識を反映したモデルを作成することは困難である。
 そこで、実施の形態7では、非線形な因果関係を持つパラメータに対して、正確な関数形までは特定しないが、関係性の有無を特定できる手法を用いて因果構造の学習を実行する手法について説明する。
 図16は実施の形態7における因果構造の導出手順を示すフローチャートである。情報処理装置100の制御部101は、記憶部102から因果構造学習プログラムPG1を読み出して実行することにより、以下の処理を行う。
 制御部101は、監視対象の観測系である基板処理装置200から、複数種の観測変数に対応する観測データを取得する(ステップS701)。制御部101が取得する観測データは、基板処理装置200にて計測されるデータや基板処理装置200にて設定されるデータを含む。制御部101は、通信部103を介して基板処理装置200と通信することにより、これらの観測データを取得する。
 制御部101は、取得した観測データに基づき、観測変数間の因果関係を探索する(ステップS702)。因果関係を探索する際、前処理として、因果構造の導出に用いる観測変数を選択してもよく、基板処理装置200におけるプロセスの事前知識を用いて、観測変数間に制約条件を付加してもよい。関数形は不明であるが、非線形性を含んだ探索が可能なアルゴリズムは既知であるので、制御部101は、当該アルゴリズムを用いて、観測変数間の因果関係を探索していくことにより、観測変数全体の因果構造を導出する。因果構造を導出した後、実施の形態1と同様の手順によって、一のノードに対して、共線性を有する他の複数のノードから引かれたエッジを検出し、最も精度のよいエッジ以外を禁止エッジに指定してもよい。
 制御部101は、各因果関係について関数形を推定する(ステップS703)。このとき、制御部101は、基板処理装置200のドメインの制約や知見に基づいて、関数形を推定すればよい。
 制御部101は、推定した関数形をステップS702で導出される因果構造に導入することによって、因果構造の補完を行う(ステップS704)。導出した因果構造を表示部105に表示させてもよく、通信部103を通じてユーザ端末(不図示)に通知してもよい。
 図17は関数形が補完された因果構造の一例を示す模式図である。因果構造は、実施の形態1と同様に、各観測変数を表すノードと、ノード間の因果関係を表すエッジとを用いた有向非巡回グラフによって描画される。図17では、簡略化のために8つの観測変数のみを抜粋し、観測変数間の関数形を補完した因果構造を示している。
 図17に示す有向非巡回グラフは、8つの観測変数に対応するノードND1~ND4,ND7~ND10及び2つの関数に対応するノードND5,ND6、並びに、ノード間の因果関係を表すエッジEG15,EG25,EG28,EG35,EG36,EG46,EG57,EG68,EG79,EG810により構成されている。図17の例では、ノードND1~ND10を正八角形のアイコンにより示しているが、アイコンの形状は正八角形に限らず円形若しくはその他の形状であってもよい。アイコンの内部に示されている文字列は各観測変数の変数名若しくは関数形を表す。
 図17の例では、観測変数を示すノードND1~ND4,ND7~ND10と、関数を表すノードND5,ND6とを色を変えて示している。アイコンの色を変えて示す以外に、アイコンの形状を変えて示すなど、表示態様を異ならせて表示するとよい。また、図17の例では、観測変数間のエッジは実線で示し、関数への入力及び関数からの出力を表すエッジは破線で示している。線種を変えて示す以外に、色を変えて示すなど、表示態様を異ならせて表示するとよい。また、設定値及び観測値のノードを区別できるように表示態様を異ならせて表示してもよい。
 以上のように、実施の形態7では、監視対象の観測系(基板処理装置200)から得られる観測データに基づき、観測変数間の非線形性を考慮した因果構造を導出し、ユーザに提示することができる。
 なお、実施の形態7では、有向非巡回グラフに関数形を示すノードを導入することによって、非線形関係を可視化する構成としたが、非線形関係をグラフ表示してもよい。図18は非線形関係のグラフ表示の例を示す模式図である。図18は、観測変数A,B,Cの間にC=B×cos(A)の関係がある場合の表示例を示している。図18では、観測変数Aの値は固定であり、観測変数Bの値をスライダーによって動かすことによって、観測変数Cがどのように変動するかを示している。
(実施の形態8)
 実施の形態8では、プロセス開発時のナレッジとして、実験データから学習した因果構造を可視化する構成について説明する。
 図19はプロセスメカニズムのナレッジとして可視化した例を示す模試図である。図19は、ガスAの流量(Gas A Flow)、ガスBの流量(Gas B Flow)、RF電力(RF1 Pow)と、エッチングレート(E/R)との間の関係を各観測変数の因果関係として可視化した例を示している。エッチングレート1つとっても、ガス流量、RF電力、DCバイアス等をどれくらい変動させるのが適切であるのか把握することは困難であり、センサを含めて俯瞰したナレッジを参照しないと、何がずれているのか判断が難しい。そこで、実験から得られた観測データに基づいて、図7と同様の手法を用いて因果構造を作成し、図19に示すように可視化することにより、特徴量間の関係をナレッジとして参照・活用しやすいように残すことができる。
 以上のように、実施の形態8では、因果構造の形で残せるようにすることで、熟練者以外にも展開可能な形でナレッジを残すことができる。また、関数形まで含めて因果構造として形式化・可視化することで、設定値を度のように変動させて実験すべきか、所望の出来栄えに近づけるためのナレッジが得られる。
(実施の形態9)
 実施の形態9では、プロセス全体を俯瞰して予測し、故障や異常を予知・防止する構成について説明する。
 図20は故障予知に用いる因果構造の例を示す模式図である。図20に示す因果構造において、DC電圧(DC Volt)や冷却温度(Brine temp)の設定値を制限しただけでは、DC電流(DC Current)や下部電極温度(Lower temp)を直接的に指定することはできない。例えば、エッチングレート(E/R)は、プラズマ流量やエネルギの増大で向上が見込めるが、その一方で、電極温度の上昇が予想される。このため、DC電圧を限界まで上昇させた場合、電極の加熱で破損する虞がある。
 このため、プロセス全体を俯瞰して、センサ値が異常を示す箇所がないか、因果構造に照らし合わせて判断する必要がある。すなわち、各部に限定した予測ではなく、全体を俯瞰することで、故障の危険を見落とさないようにすることができる。
 具体的には、制御部101は、因果構造を基に、プロセス可能な範囲(プロセスウィンドウ)のテーブルを作成し、ユーザに提示すればよい。プロセスウィンドウ外であった場合、制御部101は、最小限の修正でウィンドウ内に収める代替レシピを提案してもよい。
 図21はプロセスウィンドウの作成手順を示すフローチャートである。制御部101は、実施の形態7と同様の手順にて、非線形関係に対して関数形を補完した因果構造を作成し、作成した因果構造に基づき、センサ値が許容範囲に収まるかどうかを示す判定モデルを生成する(ステップS901)。
 制御部101は、生成した判定モデルを用いて、流動的な設定値に対して可能な範囲を示す多次元テーブルを生成する(ステップS902)。例えば、RF電力1及びRF電力2といった2つの設定値に関するテーブル(2次元テーブル)を生成する場合、(RF電力1,RF電力2)の2つの設定値の組み合わせが(1000V,100V)の場合に不可、(1000V,200V)の場合に可、…といったテーブルを生成すればよい。
 制御部101は、生成した多次元テーブルに基づき、固定値の設定に応じたプロセスウィンドウを提示する(ステップS903)。例えば、RF電力1(又はRF電力2)を固定し、RF電力2(又はRF電力1)の範囲をプロセスウィンドウとして生成し、表示部105に表示すればよい。
 以上のように、実施の形態9では、実験時に二次的な効果で起きる故障を予防できる。
 各実施形態に記載した事項は相互に組み合わせることが可能である。また、請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
 今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
 例えば、実施の形態では、監視対象の観測系として、基板処理装置200を例に挙げて説明した。監視対象の観測系は、基板処理装置200に限らず、電気機器、化学工業製品、医薬品、食品、化学工業製品等の任意の製造プロセスが実行される製造装置であってもよい。また、監視対象の観測系は、何らかの製造プロセスが実施される装置やシステムに限らず、人の生活環境や経済活動、気象環境などを適宜組み合わせた任意のシステムであってもよい。
 100 情報処理装置
 101 制御部
 102 記憶部
 103 通信部
 104 操作部
 105 表示部
 PG1 因果構造学習プログラム
 PG2 予測モデル生成プログラム
 PG3 予測プログラム
 PG4 原因推定プログラム
 RM 記録媒体
 200 基板処理装置
 

Claims (9)

  1.  監視対象の観測系から、複数種の観測変数に対応する観測データを取得し、
     取得した観測データに基づき、前記観測系における観測変数の因果構造を導出し、
     導出した因果構造に基づき、一の観測変数の変動原因候補となる1又は複数の他の観測変数を抽出し、
     抽出結果を出力する
     処理をコンピュータに実行させるためのコンピュータプログラム。
  2.  各観測変数を表すノードと、ノード間の因果関係を表すエッジとを用いて、前記因果構造を示す有向非巡回グラフを生成し、
     生成した有向非巡回グラフを表示する
     処理を前記コンピュータに実行させるための請求項1に記載のコンピュータプログラム。
  3.  抽出した1又は複数の他の観測変数に対応するノードの表示態様を変更し、
     表示態様を変更したノードから、変動原因候補を絞り込む操作を受付け、
     絞り込まれた変動原因候補に基づき、前記一の観測変数の変動を抑制するための対処情報を出力する
     処理を前記コンピュータに実行させるための請求項2に記載のコンピュータプログラム。
  4.  前記観測変数間の関係の一部は、非線形性を有する
     請求項1に記載のコンピュータプログラム。
  5.  前記非線形性を有する観測変数間の間に、前記観測変数間の関係の関数形を示すノードを補完する
     処理を前記コンピュータに実行させるための請求項4に記載のコンピュータプログラム。
  6.  線形性を有する観測変数間のノードと、非線形性を有する観測変数間のノードとを異なる表示態様にて表示する
     処理を前記コンピュータに実行させるための請求項4に記載のコンピュータプログラム。
  7.  前記非線形性を有する観測変数間の関係をグラフにより表示する
     処理を前記コンピュータに実行させるための請求項4に記載のコンピュータプログラム。
  8.  監視対象の観測系から、複数種の観測変数に対応する観測データを取得する取得部と、
     取得した観測データに基づき、前記観測系における観測変数の因果構造を導出する導出部と、
     導出した因果構造に基づき、一の観測変数の変動原因候補となる1又は複数の他の観測変数を抽出する抽出部と、
     抽出結果を出力する出力部と
     を備える情報処理装置。
  9.  監視対象の観測系から、複数種の観測変数に対応する観測データを取得し、
     取得した観測データに基づき、前記観測系における観測変数の因果構造を導出し、
     導出した因果構造に基づき、一の観測変数の変動原因候補となる1又は複数の他の観測変数を抽出し、
     抽出結果を出力する
     処理をコンピュータにより実行する情報処理方法。
     
PCT/JP2023/042110 2022-11-29 2023-11-24 コンピュータプログラム、情報処理装置及び情報処理方法 WO2024117019A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263428526P 2022-11-29 2022-11-29
US63/428,526 2022-11-29

Publications (1)

Publication Number Publication Date
WO2024117019A1 true WO2024117019A1 (ja) 2024-06-06

Family

ID=91323887

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2023/042110 WO2024117019A1 (ja) 2022-11-29 2023-11-24 コンピュータプログラム、情報処理装置及び情報処理方法
PCT/JP2023/042098 WO2024117013A1 (ja) 2022-11-29 2023-11-24 コンピュータプログラム、情報処理装置及び情報処理方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/042098 WO2024117013A1 (ja) 2022-11-29 2023-11-24 コンピュータプログラム、情報処理装置及び情報処理方法

Country Status (1)

Country Link
WO (2) WO2024117019A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015032166A (ja) * 2013-08-02 2015-02-16 エヌ・ティ・ティ・コムウェア株式会社 分類装置、分類方法、および分類プログラム
JP2022086627A (ja) * 2020-11-30 2022-06-09 株式会社日立製作所 異常検知装置、異常検知方法
JP2022140404A (ja) * 2021-03-12 2022-09-26 日本電気株式会社 データ処理のための方法、装置及び媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02102453A (ja) * 1988-10-11 1990-04-16 Mitsubishi Heavy Ind Ltd プラント水質監視診断システム
JP5082511B2 (ja) * 2007-03-07 2012-11-28 オムロン株式会社 因果構造決定装置、因果構造決定装置の制御方法、および因果構造決定装置の制御プログラム
JP7036697B2 (ja) * 2018-09-27 2022-03-15 株式会社日立製作所 監視システム及び監視方法
JP7183877B2 (ja) * 2019-03-13 2022-12-06 オムロン株式会社 グラフ表示装置、グラフ表示方法、及びグラフ表示プログラム
JP7287801B2 (ja) * 2019-03-13 2023-06-06 オムロン株式会社 解析装置、解析方法、及び解析プログラム
CN114080609A (zh) * 2020-11-18 2022-02-22 阿里巴巴集团控股有限公司 基于编码知识的非线性因果建模
EP4080303A1 (en) * 2021-04-22 2022-10-26 Abb Schweiz Ag Decision support in industrial plants
JP2022170171A (ja) * 2021-04-28 2022-11-10 三菱電機株式会社 管理装置、管理方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015032166A (ja) * 2013-08-02 2015-02-16 エヌ・ティ・ティ・コムウェア株式会社 分類装置、分類方法、および分類プログラム
JP2022086627A (ja) * 2020-11-30 2022-06-09 株式会社日立製作所 異常検知装置、異常検知方法
JP2022140404A (ja) * 2021-03-12 2022-09-26 日本電気株式会社 データ処理のための方法、装置及び媒体

Also Published As

Publication number Publication date
WO2024117013A1 (ja) 2024-06-06

Similar Documents

Publication Publication Date Title
JP7461440B2 (ja) 根本的原因分析を実行してプラントワイド操業での希少イベントの発生の予測モデルを構築するコンピュータシステムおよび方法
KR102017604B1 (ko) 탐색 장치 및 탐색 방법
BR102018009859A2 (pt) Método e sistema para otimização com base em dados de indicadores de desempenho em indústrias de fabricação e processo
TWI391840B (zh) 使用處理資料及良率資料之處理控制
JP6673216B2 (ja) 要因分析装置、要因分析方法とプログラム、及び、要因分析システム
JP6658540B2 (ja) システム分析装置、システム分析方法およびプログラム
WO2016147656A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
EP3847586A1 (en) Computer-implemented method, computer program product and system for anomaly detection and/or predictive maintenance
Guo et al. Identification of key features using topological data analysis for accurate prediction of manufacturing system outputs
EP3482266A1 (en) Computer system and method for monitoring key performance indicators (kpis) online using time series pattern model
JP6877735B2 (ja) 製造不良原因の探索支援方法及び情報処理装置
KR20080098332A (ko) 다변수 결함 기여도를 나타내기 위한 그래픽 사용자인터페이스
JP6280862B2 (ja) イベント分析システムおよび方法
EP3795975A1 (en) Abnormality sensing apparatus, abnormality sensing method, and abnormality sensing program
WO2020066052A1 (ja) 監視システム及び監視方法
JP6631540B2 (ja) 情報処理システム、変化点検出方法、およびプログラム
JP2015108886A (ja) 異常予兆診断装置及び異常予兆診断方法
JP2020027342A (ja) 情報処理装置、監視装置、及び情報処理方法
US20220066431A1 (en) Estimation apparatus, estimation method, and computer-readable storage medium
WO2014160388A1 (en) Predicting system trajectories toward critical transitions
JP5824959B2 (ja) 異常診断装置
WO2024117019A1 (ja) コンピュータプログラム、情報処理装置及び情報処理方法
Ni et al. Information dynamic spectrum characterizes system instability toward critical transitions
KR102115734B1 (ko) 공격ㆍ이상 검지 장치, 공격ㆍ이상 검지 방법, 및 공격ㆍ이상 검지 프로그램
JP5948998B2 (ja) 異常診断装置