Substrate processing system, substrate processing device, anomaly detection method, and anomaly detection model constructing program
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SCREEN HOLDINGS CO LTD
- Filing Date
- 2025-12-17
- Publication Date
- 2026-08-06
Smart Images

Figure JP2025044080_06082026_PF_FP_ABST
Abstract
Description
Substrate Processing System, Substrate Processing Apparatus, Abnormality Detection Method, and Abnormality Detection Model Construction Program
[0001] The present invention relates to a substrate processing apparatus and a substrate processing system for processing a substrate, and more particularly to a method for detecting an abnormality in the operation of the substrate processing apparatus.
[0002] Substrate processing apparatuses for performing processing on a substrate in a semiconductor manufacturing process are known. Examples of the substrate processing apparatus include a cleaning apparatus for cleaning a substrate, a heat treatment apparatus for subjecting the substrate to a heat treatment, and an exposure apparatus for forming a circuit pattern on the substrate. Regarding such a substrate processing apparatus, if an abnormality occurs during the processing of the substrate, defective products are generated and productivity decreases. In order to improve productivity, it is important to increase the operating rate by detecting an abnormality at an early stage. Therefore, various methods for detecting an abnormality in a substrate processing apparatus have been proposed conventionally.
[0003] By the way, in recent years, the use of machine learning has been increasingly popular in various fields. Regarding the detection of abnormalities in various apparatuses, methods using machine learning have been proposed. For example, there is known a method of detecting an abnormality in an apparatus by giving inspection target data (which is also data acquired by a sensor) to a machine learning model that has been trained after attaching a label for identifying whether each data acquired by a sensor mounted on the apparatus is normal data or abnormal data. However, for some apparatuses, it may be difficult to collect a sufficient number of abnormal data for training the machine learning model. Therefore, a method of detecting an abnormality in an apparatus by using a machine learning model trained by unsupervised learning using only normal data has been proposed. Regarding this, for example, a method using an autoencoder is known.
[0004] Figure 35 shows an example of the structure of an autoencoder 9. This autoencoder 9 consists of an input layer, a hidden layer, and an output layer. The input layer consists of a number of units (neurons) equal to the number of data values that make up the input data. The hidden layer consists of a number of units less than the number of units that make up the input layer. The output layer consists of a number of units equal to the number of units that make up the input layer. The connections between the input layer and the hidden layer, and between the hidden layer and the output layer, are fully connected. For example, a sigmoid function is used as the activation function for the hidden layer and the output layer. With this structure, the part labeled 91 in Figure 35 (the part consisting of the input layer and the hidden layer) functions as an encoder, and the part labeled 92 in Figure 35 (the part consisting of the hidden layer and the output layer) functions as a decoder.
[0005] Learning using the autoencoder 9 is performed, for example, as follows: When input data is given to the autoencoder 9, forward propagation is performed within the autoencoder 9. Then, the sum of the squared errors between the input data and the output data output from the autoencoder 9 is calculated. Based on the results obtained from the backpropagation of the errors, the parameters of the autoencoder 9 (weight coefficients, bias) are updated using gradient descent. By repeating the learning process in this manner, the above parameters are optimized. Therefore, learning using the autoencoder 9 is performed so that the output data is as close to the input data as possible. In other words, learning is performed so that the error between the input data and the output data is minimized.
[0006] Here, if both normal and abnormal data exist, and the autoencoder 9 is trained using only a large amount of normal data, the trained autoencoder 9 will output data as follows: When normal data is given to the autoencoder 9 as input data, the autoencoder 9 will output normal data as output data. In this case, the error between the input data and the output data is extremely small. In contrast, when abnormal data is given to the autoencoder 9 as input data, the autoencoder 9 will output data that approximates the abnormal data to normal data as output data. In this case, the error between the input data and the output data is large. Anomaly detection is performed based on these differences in error.
[0007] Furthermore, Japanese Patent Publication No. 2023-020770 discloses a method for detecting abnormalities in a target machine using a GAN (Generative Adversarial Network) learning model that has been trained using only normal data. According to the method disclosed in this publication, it is possible to detect abnormalities with high accuracy without requiring the design of waveform features.
[0008] Japanese Patent Publication No. 2023-020770
[0009] Conventional methods (such as those using autoencoders or the method disclosed in Japanese Patent Publication No. 2023-020770) can detect anomalies using machine learning models trained only on normal data. However, conventional methods cannot detect minor anomalies with sufficient accuracy. If the threshold is set so that no anomalies are missed at all, it will frequently result in false alarms (notifying that an anomaly has occurred when no anomaly has occurred).
[0010] Therefore, the present invention relates to a substrate processing apparatus and aims to suppress the occurrence of false alarms while enabling the detection of even minor abnormalities compared to conventional methods.
[0011] A first aspect of the present invention is a substrate processing system comprising one or more substrate processing apparatuses having a substrate processing apparatus, wherein the apparatus comprises a sensor that measures a physical quantity indicating the operating state of the substrate processing apparatus, and a learning unit that performs unsupervised learning as machine learning by providing a plurality of time series data acquired when the substrate processing apparatus is operating normally from a set of time series data consisting of a plurality of sensor values acquired by the sensor, where N is an integer of 2 or more, to a machine learning model composed of N autoencoders, each of the N autoencoders includes an encoder that generates latent variable data by encoding input data, and a decoder that decodes the latent variable data, wherein the learning unit provides the plurality of sensor values as input data to the first autoencoder, provides the difference between the input data of the (K-1)th autoencoder and the output data of the (K-1)th autoencoder as input data, where K is an integer of 2 or more and N or less, to the Kth autoencoder, and updates the parameters of the first autoencoder to minimize the loss function based on the difference between the input data of the Nth autoencoder and the output data of the Nth autoencoder.
[0012] A second aspect of the present invention is that, in the first aspect of the present invention, the learning unit updates only the parameters of the first autoencoder without updating the parameters of the second and subsequent autoencoders.
[0013] A third aspect of the present invention is that, in the first aspect of the present invention, when unsupervised learning is performed by the learning unit, the parameters of at least one of the N autoencoders are not updated.
[0014] A fourth aspect of the present invention is that, in the first or third aspect of the present invention, Z is defined as an integer between 2 and N, where Z is an integer between 2 and N, and Z autoencoders, including the first autoencoder among the N autoencoders, are the targets for parameter updates, and the learning unit updates the parameters of the Z autoencoders in Z unsupervised learning sessions performed by providing the plurality of time series data to the machine learning model, with each unsupervised learning session being performed at a different time.
[0015] A fifth aspect of the present invention is that, in any of the first to fourth aspects of the present invention, the number of layers constituting the encoder, the number of layers constituting the decoder, and the number of units in each layer are the same for all N autoencoders.
[0016] A sixth aspect of the present invention is that, in any of the first to fifth aspects of the present invention, the learning unit further provides the first autoencoder with one or more additional values as input data, the encoder included in the first autoencoder generates the latent variable data by encoding data that combines the plurality of sensor values and the one or more additional values, and the first autoencoder outputs the same number of values as the number of the plurality of sensor values as output data.
[0017] A seventh aspect of the present invention is that, in the sixth aspect of the present invention, each of the plurality of time-series data is data acquired by the sensor from the start to the end of processing performed on a single substrate by the substrate processing unit, and the one or more additional values are a plurality of instruction values given to the substrate processing unit so that the plurality of sensor values can be obtained during processing on the substrate.
[0018] An eighth aspect of the present invention is, in the sixth aspect of the present invention, the substrate processing system comprises a second sensor different from the sensor that measures a physical quantity indicating the operating state of the substrate processing unit, each of the plurality of time-series data is data acquired by the sensor from the start to the end of processing performed on a single substrate by the substrate processing unit, and the one or more additional values are one or more sensor values that are correlated with the plurality of sensor values given to the first autoencoder, and are acquired by the second sensor during the same period as the period during which the plurality of sensor values given to the first autoencoder were acquired by the sensor, or during a period earlier than the period during which the plurality of sensor values given to the first autoencoder were acquired by the sensor.
[0019] A ninth aspect of the present invention is that, in the sixth aspect of the present invention, each of the plurality of time-series data is data acquired by the sensor from the start to the end of processing performed on one substrate by the substrate processing unit, and the one or more additional values are one or more sensor values acquired by the sensor in a period prior to the period in which the plurality of sensor values given to the first autoencoder were acquired by the sensor.
[0020] A tenth aspect of the present invention is that, in any of the first to ninth aspects of the present invention, the decoder included in the first autoencoder decodes data that combines the latent variable data and predetermined additional feature data.
[0021] An eleventh aspect of the present invention is that, in any of the first to tenth aspects of the present invention, the substrate processing system further comprises an inference unit that provides the data to be inspected as time-series data as input data to the first autoencoder which constitutes a trained machine learning model that has been trained by the learning unit through unsupervised learning, and acquires the latent variable data generated by the encoder included in the first autoencoder; and a determination unit that determines whether or not there is an abnormality in the operation of the substrate processing unit based on the latent variable data acquired by the inference unit.
[0022] A twelfth aspect of the present invention is that, in any of the first to eleventh aspects of the present invention, the substrate processing system includes a plurality of substrate processing devices as one or more substrate processing devices, a plurality of sensors provided in each of the plurality of substrate processing devices for measuring physical quantities indicating the operating state of a substrate processing unit included in the corresponding substrate processing device, and an anomaly detection device having the learning unit, wherein the learning unit performs unsupervised learning by providing time-series data acquired by each of the plurality of sensors to the machine learning model.
[0023] A thirteenth aspect of the present invention is that, in any of the first to eleventh aspects of the present invention, the substrate processing system includes a plurality of substrate processing devices as one or more substrate processing devices, and a plurality of sensors provided in each of the plurality of substrate processing devices for measuring physical quantities indicating the operating state of a substrate processing unit included in the corresponding substrate processing device, one of the plurality of substrate processing devices includes the learning unit, and the learning unit performs unsupervised learning by providing time-series data acquired by each of the plurality of sensors to the machine learning model.
[0024] A fourteenth aspect of the present invention is a substrate processing apparatus comprising: a substrate processing unit for processing a substrate; a sensor for measuring a physical quantity indicating the operating state of the substrate processing unit; and a learning unit which performs unsupervised learning as machine learning by providing a set of time-series data consisting of a plurality of sensor values acquired by the sensor, where N is an integer of 2 or more, to a machine learning model composed of N autoencoders, wherein each of the N autoencoders includes an encoder that generates latent variable data by encoding input data, and a decoder that decodes the latent variable data, and the learning unit provides the first autoencoder with the plurality of sensor values as input data, and provides the Kth autoencoder with the difference between the input data of the (K-1)th autoencoder and the output data of the (K-1)th autoencoder as input data, where K is an integer of 2 or more and N or less, and updates the parameters of the first autoencoder to minimize the loss function based on the difference between the input data of the Nth autoencoder and the output data of the Nth autoencoder.
[0025] A fifteenth aspect of the present invention is an anomaly detection method for detecting an abnormality in the operation of a substrate processing unit in a substrate processing system comprising a substrate processing unit and a sensor for measuring a physical quantity indicating the operating state of the substrate processing unit, comprising: a time-series data extraction step of extracting a plurality of time-series data obtained when the substrate processing unit is operating normally from a set of time-series data consisting of a plurality of sensor values obtained by the sensor; a learning step of performing unsupervised learning as machine learning by providing the plurality of time-series data to a machine learning model composed of N autoencoders, each including an encoder that generates latent variable data by encoding input data and a decoder that decodes the latent variable data, where N is an integer of 2 or more; an inference step of providing the data to be inspected as time-series data as input data to the first autoencoder that constitutes the trained machine learning model in which unsupervised learning has been performed by the learning step, and obtaining the latent variable data generated by the encoder included in the first autoencoder; and a determination step of determining whether or not there is an abnormality in the operation of the substrate processing unit based on the latent variable data obtained in the inference step, wherein in the learning step, the plurality of sensor values are provided to the first autoencoder as input data, With K being an integer between 2 and N, the K-th autoencoder is given the difference between the input data of the (K-1)-th autoencoder and the output data of the (K-1)-th autoencoder as input data, and the parameters of the first autoencoder are updated to minimize the loss function based on the difference between the input data of the N-th autoencoder and the output data of the N-th autoencoder.
[0026] A sixteenth aspect of the present invention is that, in the fifteenth aspect of the present invention, in the learning step, only the parameters of the first autoencoder are updated, while the parameters of the second and subsequent autoencoders are not updated.
[0027] A seventeenth aspect of the present invention is that, in the fifteenth aspect of the present invention, the parameters of at least one of the N autoencoders are not updated during the learning step.
[0028] The eighteenth aspect of the present invention is that in any of the fifteenth to seventeenth aspects of the present invention, in the learning step, the first autoencoder is further given one or more additional values as input data, the encoder included in the first autoencoder generates the latent variable data by encoding data that combines the plurality of sensor values and the one or more additional values, and the first autoencoder outputs the same number of values as the number of the plurality of sensor values as output data.
[0029] A 19th aspect of the present invention is that, in any of the 15th to 18th aspects of the present invention, in the learning step, the decoder included in the first autoencoder decodes data that combines the latent variable data and predetermined additional feature data.
[0030] A 20th aspect of the present invention is an anomaly detection model construction program for constructing an anomaly detection model, which is a machine learning model for detecting an anomaly in the operation of the substrate processing unit, in a substrate processing system comprising a substrate processing unit for processing a substrate and a sensor for measuring a physical quantity indicating the operating state of the substrate processing unit, wherein the program causes a computer to execute a time-series data reading step of reading a plurality of time-series data acquired when the substrate processing unit is operating normally from a set of time-series data consisting of a plurality of sensor values acquired by the sensor, and a learning step of performing unsupervised learning as machine learning by providing the plurality of time-series data to the machine learning model, which is composed of N autoencoders, where N is an integer of 2 or more, and each of the N autoencoders includes an encoder that generates latent variable data by encoding input data and a decoder that decodes the latent variable data, and in the learning step, the plurality of sensor values are given to the first autoencoder as input data, and the difference between the input data of the (K-1)th autoencoder and the output data of the (K-1)th autoencoder is given to the Kth autoencoder, where K is an integer of 2 or more and N or less, and The parameters of the first autoencoder are updated to minimize a loss function based on the difference between the input data of the Nth autoencoder and the output data of the Nth autoencoder.
[0031] According to the first aspect of the present invention, in a substrate processing system consisting of one or more substrate processing devices, unsupervised learning of a machine learning model is performed using only normal data (data acquired when the substrate processing device is operating normally) from time-series data acquired by a sensor that measures a physical quantity indicating the operating state of the substrate processing device. In this regard, the machine learning model is composed of multiple autoencoders. Therefore, compared to a machine learning model composed of one autoencoder, the number of parameters is significantly larger, and high expressive power can be obtained. Furthermore, the second and subsequent autoencoders are given the difference between the input data and output data of the immediately preceding autoencoder. Therefore, the ability to distinguish even minute differences is improved. As a result, a machine learning model with improved separation performance (ability to distinguish between normal data and abnormal data) can be obtained compared to conventional models. This makes it possible to detect even minor abnormalities in the substrate processing device while suppressing the occurrence of false alarms. Furthermore, by being able to detect minor abnormalities in the substrate processing device, for example, the wasteful consumption of processing liquid used for cleaning substrates can be suppressed. In this way, it is possible to contribute to the achievement of the SDGs (Sustainable Development Goals).
[0032] According to a second aspect of the present invention, the parameters are updated only for the first autoencoder. This suppresses the increase in computational cost required to train the machine learning model, while also suppressing the occurrence of a phenomenon in which error information is not correctly transmitted from the last autoencoder to the first autoencoder, which occurs because the machine learning model is composed of multiple autoencoders.
[0033] According to the third aspect of the present invention, the same effects as those of the second aspect of the present invention can be obtained.
[0034] According to a fourth aspect of the present invention, since parameters are updated for each autoencoder, the phenomenon in which error information is not correctly transmitted from the last autoencoder to the first autoencoder due to the machine learning model being composed of multiple autoencoders is suppressed.
[0035] According to the fifth aspect of the present invention, a machine learning model can be constructed without requiring a complex design.
[0036] According to the sixth aspect of the present invention, learning of a machine learning model is performed in consideration of the relationship between an additional value and a sensor value (measured value). As a result, with respect to the substrate processing apparatus, it becomes possible to more accurately detect a minor abnormality.
[0037] According to the seventh aspect of the present invention, the same effect as that of the sixth aspect of the present invention can be obtained.
[0038] According to the eighth aspect of the present invention, the same effect as that of the sixth aspect of the present invention can be obtained.
[0039] According to the ninth aspect of the present invention, the same effect as that of the sixth aspect of the present invention can be obtained.
[0040] According to the tenth aspect of the present invention, when there is time-series data of a plurality of patterns with different characteristics, it becomes possible to perform abnormality detection processing based on each of the time-series data of the plurality of patterns by one machine learning model.
[0041] According to the eleventh aspect of the present invention, the same effect as that of the first aspect of the present invention can be obtained.
[0042] According to the twelfth aspect of the present invention, it becomes possible to detect an abnormality for each of a plurality of substrate processing apparatuses with one abnormality detection apparatus.
[0043] According to the thirteenth aspect of the present invention, when the substrate processing system is composed of a plurality of substrate processing apparatuses, it becomes possible to detect an abnormality for each of the plurality of substrate processing apparatuses with one of the plurality of substrate processing apparatuses.
[0044] According to the fourteenth aspect of the present invention, the same effect as that of the first aspect of the present invention can be obtained.
[0045] According to the fifteenth aspect of the present invention, the same effect as that of the first aspect of the present invention can be obtained.
[0046] According to the sixteenth aspect of the present invention, the same effect as that of the second aspect of the present invention can be obtained.
[0047] According to the seventeenth aspect of the present invention, the same effects as those of the second aspect of the present invention can be obtained.
[0048] According to the eighteenth aspect of the present invention, the same effects as those of the sixth aspect of the present invention can be obtained.
[0049] According to the nineteenth aspect of the present invention, the same effects as those of the tenth aspect of the present invention can be obtained.
[0050] According to the twentieth aspect of the present invention, the same effects as those of the first aspect of the present invention can be obtained.
[0051] This is a block diagram showing the configuration of a substrate processing system in one embodiment of the present invention. This is a diagram showing the configuration of a substrate processing apparatus in the above embodiment. This is a block diagram showing the hardware configuration of a computer that functions as a control unit in the above embodiment. This is a diagram showing an example of the structure of an autoencoder in the above embodiment. This is a diagram for illustrating the illustration of an autoencoder. This is a diagram showing a graph of one time series data acquired by a flow sensor when one recipe is executed in a substrate processing apparatus. This is a diagram for explaining the configuration of time series data. This is a diagram showing the specific configuration of a machine learning model in the above embodiment. This is a diagram for explaining the mechanism of a machine learning model in the above embodiment. This is a diagram for explaining the difference between the input data and output data of an autoencoder in the above embodiment. This is a diagram for explaining another example of the specific configuration of a machine learning model in the above embodiment. This is a diagram for explaining the input data given to the input layer of the K-th autoencoder. This is a block diagram showing the functional configuration of an anomaly detection processing unit in the above embodiment. This is a flowchart for explaining the procedure for detecting an anomaly in the operation of the substrate processing unit in the above embodiment. This is a diagram for explaining that multiple time series data extracted from a set of time series data are used in the above embodiment. This is a diagram showing a graph of one normal data and one abnormal data in the above embodiment. This is an enlarged view of the part labeled 56 in Figure 16. This is a diagram showing a latent variable map obtained by a conventional method. This is a diagram showing a latent variable map obtained by the method of the present invention. This figure shows the results (AUC calculation results) obtained by the conventional method and the method of the present invention as box plots. This figure shows the difference between the AUC in the first proposed method of the present invention and the AUC in the conventional method as a graph. This figure shows the difference between the AUC in the second proposed method of the present invention and the AUC in the conventional method as a graph. This figure shows the difference between the AUC in the third proposed method of the present invention and the AUC in the conventional method as a graph. This figure explains the results of verifying whether separation performance is improved by providing an autoencoder that does not update parameters during learning, in relation to the above embodiments.This is a block diagram showing the configuration of the substrate processing system in the first modified example of the above embodiment. This is a block diagram showing the configuration of the substrate processing system in the second modified example of the above embodiment. This is a block diagram showing the configuration of the substrate processing system in the third modified example of the above embodiment. This is a diagram showing an example of the distribution of distances calculated on the latent variable space for normal data and abnormal data in relation to the sixth modified example of the above embodiment. This is a diagram showing an example of the structure of the first autoencoder in the seventh modified example of the above embodiment. This is a diagram showing an example of the general relationship between the indicated value and the sensor value in relation to the seventh modified example of the above embodiment. This is a diagram showing an example of the relationship between the indicated value and the sensor value when the sensor value changes with a delay to the change in the indicated value in relation to the seventh modified example of the above embodiment. This is a diagram showing an example of the relationship between the indicated value and the sensor value when the sensor value changes prior to the change in the indicated value in relation to the seventh modified example of the above embodiment. This is a diagram showing an example of the structure of the first autoencoder in the eighth modified example of the above embodiment. This is a diagram showing an example of the structure of the first autoencoder when the seventh modified example and the eighth modified example are combined. This is a diagram showing an example of the structure of an autoencoder in relation to a conventional example.
[0052] An embodiment of the present invention will be described below with reference to the attached drawings.
[0053] <1. Configuration of the Substrate Processing System> Figure 1 is a block diagram showing the configuration of a substrate processing system 1 according to one embodiment of the present invention. As shown in Figure 1, in this embodiment, the substrate processing system 1 is composed of one substrate processing apparatus 10. The substrate processing apparatus 10 in this embodiment is a cleaning apparatus that cleans substrates using a processing liquid in the semiconductor manufacturing process. The substrate processing apparatus 10 includes an indexer unit 120, a substrate processing unit 130, a control unit 110 that controls the operation of the indexer unit 120 and the substrate processing unit 130, and a group of sensors 140 that measure various physical quantities when a recipe is executed. Examples of sensors included in the group of sensors 140 include a flow sensor 141, a pressure sensor 142, and a temperature sensor 143. When a substrate processing recipe is executed, these sensors measure various physical quantities (physical quantities indicating the operating state of the substrate processing unit 130). The control unit 110 includes an abnormality detection processing unit 300 that detects abnormalities in the operation of the substrate processing unit 130 using a machine learning model.
[0054] Referring to Figure 2, the configuration of the substrate processing apparatus 10 will be described in more detail. The indexer unit 120 includes a plurality of substrate container holding units 122 for mounting substrate containers (cassettes) capable of accommodating a plurality of substrates, and an indexer robot 124 for unloading substrates from the substrate containers and loading substrates into the substrate containers. The substrate processing unit 130 includes a plurality of processing units 132 for performing processing such as cleaning of substrates using a processing liquid, and a substrate transport robot 134 for loading substrates into the processing units 132 and unloading substrates from the processing units 132. The number of processing units 132 is, for example, 12. In this case, for example, a tower structure in which three processing units 132 are stacked is provided at four locations around the substrate transport robot 134 as shown in Figure 2. Each processing unit 132 is provided with a chamber, which is a space for performing processing on the substrate, and processing liquid is supplied to the substrate within the chamber.
[0055] When processing is performed on a substrate, the indexer robot 124 takes the substrate to be processed from the substrate holder placed on the substrate holder holding unit 122 and passes the substrate to the substrate transport robot 134 via the substrate transfer unit 150. The substrate transport robot 134 carries the substrate received from the indexer robot 124 into the target processing unit 132. When processing of the substrate is completed, the substrate transport robot 134 takes the substrate from the target processing unit 132 and passes the substrate to the indexer robot 124 via the substrate transfer unit 150. The indexer robot 124 carries the substrate received from the substrate transport robot 134 into the target substrate holder.
[0056] In this substrate processing apparatus 10, each time a substrate processing recipe is executed, time-series data consisting of multiple sensor values, which are a series of physical quantities measured by the sensors included in the sensor group 140 from the start to the end of the processing, is obtained.
[0057] Figure 3 is a block diagram showing the hardware configuration of a computer 200 that functions as a control unit 110. This computer 200 includes a main unit 210, an auxiliary storage device 221, an optical disc drive 222, a display unit 223, a keyboard 224, and a mouse 225. The main unit 210 includes a CPU 211, memory 212, a first disk interface unit 213, a second disk interface unit 214, a display control unit 215, an input interface unit 216, and a network interface unit 217. The CPU 211, memory 212, first disk interface unit 213, second disk interface unit 214, display control unit 215, input interface unit 216, and network interface unit 217 are connected to each other via a system bus. The auxiliary storage device 221 is connected to the first disk interface unit 213. The auxiliary storage device 221 is a magnetic disk drive or the like. The optical disc drive 222 is connected to the second disk interface unit 214. An optical disc 29, such as a CD-ROM or DVD-ROM, which is a computer-readable recording medium, is inserted into the optical disc drive 222. A display unit (display device) 223 is connected to the display control unit 215. The display unit 223 is a liquid crystal display or the like. The display unit 223 is used to display information desired by the operator. A keyboard 224 and a mouse 225 are connected to the input interface unit 216. The keyboard 224 and mouse 225 are used by the operator to input instructions to this computer 200. The network interface unit 217 is connected to the communication line 28.
[0058] The auxiliary storage device 221 stores various programs that control the operation of the substrate processing device 10. For example, the auxiliary storage device 221 stores an anomaly detection model construction program 26, which constructs an anomaly detection model, a machine learning model for detecting abnormalities in the operation of the substrate processing unit 130, and an anomaly detection program 27, which detects abnormalities in the operation of the substrate processing unit 130 using the anomaly detection model. The auxiliary storage device 221 also stores time-series data obtained when a substrate processing recipe is executed. The CPU 211 reads the programs stored in the auxiliary storage device 221 into the memory 212 and executes them. The memory 212 includes RAM (Random Access Memory) and ROM (Read Only Memory). The memory 212 functions as a work area for the CPU 211 to execute the programs stored in the auxiliary storage device 221. The anomaly detection model construction program 26 and the anomaly detection program 27 are provided stored on the computer-readable recording medium (non-transient recording medium) mentioned above. In other words, the user purchases, for example, an optical disc 29 as a recording medium for the anomaly detection model construction program 26 and the anomaly detection program 27, inserts it into the optical disc drive 222, reads the anomaly detection model construction program 26 and the anomaly detection program 27 from the optical disc 29, and installs it into the auxiliary storage device 221.
[0059] In the example shown in Figure 3, the computer 200 is equipped with only one CPU 211 as a processor, but this is not the only option. Configurations using multiple processors, such as a configuration using multiple CPUs, can also be adopted. In addition to the CPU 211, other processors such as MPUs (Micro Processing Units), GPUs (Graphics Processing Units), and DSPs (Digital Signal Processors) can also be used. Furthermore, combinations of multiple types of processors can be used. Moreover, configurations including FPGAs (Field-Programmable Gate Arrays) or ASICs (Application Specific Integrated Circuits) can also be adopted.
[0060] <2. Configuration for Anomaly Detection> Next, the configuration for anomaly detection in this embodiment will be described.
[0061] <2.1 Autoencoder> In the abnormality detection processing unit 300 within the control unit 110, an abnormality in the operation of the board processing unit 130 is detected using a machine learning model configured by the autoencoder. First, the autoencoder in this embodiment will be described.
[0062] Figure 4 shows an example of the structure of the autoencoder 30 in this embodiment. This autoencoder 30 is composed of an input layer, a hidden layer, and an output layer. The input layer is composed of a number of units equal to the number of data values that make up the input data. The hidden layer consists of multiple layers, and each layer of the hidden layer is composed of fewer units than the number of units that make up the input layer. In relation to an autoencoder, all the layers that make up the hidden layer are sometimes called "intermediate layers," but in this description, the middle layer of all the layers that make up the hidden layer is referred to as the "intermediate layer." The number of units in the layer between the input layer and the intermediate layer is equal to the number of units in the layer between the intermediate layer and the output layer, and the number of units in the intermediate layer is the smallest. The output layer is composed of a number of units equal to the number of units that make up the input layer. With the above structure, the part labeled 31 in Figure 4 functions as an encoder, and the part labeled 32 in Figure 4 functions as a decoder.
[0063] The encoder 31 generates latent variable data by encoding the input data. That is, the hidden layer displays latent variable data in which the features of the input data have been compressed. The decoder 32 decodes the latent variable data.
[0064] In the following explanation, we assume that the number of units in the input layer and output layer is 120, the number of units in the layer between the input layer and the intermediate layer and the layer between the intermediate layer and the output layer is 32, and the number of units in the intermediate layer is 2. Also, in the following explanation, for convenience, in Figures 8, 9, 11, and 12, a single autoencoder 30 consisting of an encoder 31 and a decoder 32 is represented as in Figure 5.
[0065] <2.2 Time-Series Data> In this embodiment, time-series data is provided to the machine learning model. Figure 6 is a graph showing one time-series data obtained by the flow sensor 141 when one recipe is executed in a substrate processing apparatus 10. As shown in Figure 7, this time-series data consists of 120 sensor values measured at 0.1-second intervals by the flow sensor 141 during the 12 seconds when the flow rate of the processing liquid (cleaning liquid) rises. By connecting the coordinates of each of the 120 sensor values with lines on a coordinate plane with time on the horizontal axis and flow rate on the vertical axis, the graph labeled with reference numeral 51 in Figure 6 is obtained.
[0066] <2.3 Machine Learning Model> Figure 8 shows the specific configuration of the machine learning model 3 in this embodiment. As shown in Figure 8, this machine learning model 3 is composed of three autoencoders 30(1) to 30(3) connected in series. In this regard, the architecture is the same for all three autoencoders 30(1) to 30(3). In other words, the number of layers constituting the encoder 31, the number of layers constituting the decoder 32, and the number of units in each layer are the same for all three autoencoders 30(1) to 30(3). However, the initial values of the parameters may be different for all three autoencoders 30(1) to 30(3).
[0067] The mechanism of this machine learning model 3 will be explained in detail with reference to Figure 9. In Figure 9, the parts denoted by reference numerals 38(1) to 38(3) schematically show examples of input data input to the input layers of autoencoders 30(1) to 30(3), and the parts denoted by reference numerals 39(1) to 39(3) schematically show examples of output data output from the output layers of autoencoders 30(1) to 30(3). The input layer of the first autoencoder 30(1) is provided with time-series data consisting of multiple sensor values acquired by the sensor as input data. The input layer of the second autoencoder 30(2) is provided with the difference (reconstruction error) between the input data provided to the input layer of the first autoencoder 30(1) and the output data output from the output layer of the first autoencoder 30(1) as input data. The input layer of the third autoencoder 30(3) is provided with the difference (reconstruction error) between the input data given to the input layer of the second autoencoder 30(2) and the output data output from the output layer of the second autoencoder 30(2) as input data.
[0068] Here, referring to Figure 10, we will explain the difference between the input data given to the input layer of each autoencoder 30 and the output data output from the output layer of each autoencoder 30. Each autoencoder 30 is given 120 data values (hereinafter referred to as "input data values") as input data. These 120 input data values are represented as IN(1) to IN(120). In addition, each autoencoder 30 outputs 120 data values (hereinafter referred to as "output data values") as output data. These 120 output data values are represented as OUT(1) to OUT(120). At this time, the difference between the 120 "input data values and output data values" is the difference described above. That is, as shown in Figure 10, the autoencoder 30 outputs "OUT(1) - IN(1), OUT(2) - IN(2), OUT(3) - IN(3), ..., OUT(120) - IN(120)" as the difference described above.
[0069] When input data is provided to the input layer of the third autoencoder 30(3), the parameters (weight coefficients, bias) of the first autoencoder 30(1) are updated to minimize a loss function based on the difference (reconstruction error) between the input data and the output data output from the output layer of the third autoencoder 30(3). In this regard, if the value representing the difference between the input data provided to the input layer of the third autoencoder 30(3) and the output data output from the output layer of the third autoencoder 30(3) is called the "final difference value," then for example, the sum of the squares of the final difference values for multiple time series data provided to this machine learning model 3 (or the average of the squares of the final difference values for the multiple time series data) is used as the loss function, and the parameters of the first autoencoder 30(1) are updated to minimize this loss function. In this embodiment, the parameters of the second autoencoder 30(2) and the third autoencoder 30(3) are not updated.
[0070] In the example shown in Figure 8, the machine learning model 3 is composed of three autoencoders 30(1) to 30(3), but the present invention is not limited to this. With N as an integer of 2 or more, the machine learning model 3 can be composed of N autoencoders 30(1) to 30(N) as shown in Figure 11. In this case, with K as an integer between 2 and N, the input layer of the K-th autoencoder 30(K) is given the difference between the input data given to the input layer of the (K-1)-th autoencoder 30(K-1) and the output data output from the output layer of the (K-1)-th autoencoder 30(K-1) as input data (see Figure 12). Then, the parameters of the first autoencoder 30(1) are updated to minimize the loss function based on the difference between the input data given to the input layer of the N-th autoencoder 30(N) and the output data output from the output layer of the N-th autoencoder 30(N).
[0071] <2.4 Anomaly Detection Processing Unit> Figure 13 is a block diagram showing the functional configuration of the anomaly detection processing unit 300. As shown in Figure 13, the anomaly detection processing unit 300 includes a learning unit 310, an inference unit 320, and a determination unit 330. The learning unit 310 and the inference unit 320 utilize the machine learning model 3 described above.
[0072] The learning unit 310 performs unsupervised learning as machine learning by providing the machine learning model 3 with a set of time-series data 41 obtained when the board processing unit 130 is operating normally, from a set of time-series data consisting of multiple sensor values obtained by sensors (for example, a flow sensor 141) included in the sensor group 140. The inference unit 320 provides the inspection target data 42 as time-series data as input data to the first autoencoder 30(1), which constitutes the trained machine learning model 3 that has been trained by the learning unit 310, and obtains latent variable data 43 generated by the encoder 31 included in the first autoencoder 30(1). The determination unit 330 determines whether or not there is an abnormality in the operation of the board processing unit 130 based on the latent variable data 43 obtained by the inference unit 320, and outputs a determination result 44.
[0073] <3. Anomaly Detection Method> Next, the procedure for detecting an anomaly in the operation of the substrate processing unit 130 will be explained with reference to the flowchart shown in Figure 14. Note that the processing of the part labeled 52 in Figure 14 does not need to be performed for each inspection target data 42; once the processing of the part labeled 52 in Figure 14 is performed, the processing of the part labeled 53 in Figure 14 can be repeatedly performed.
[0074] First, a machine learning model 3 is created (step S10), taking into consideration the number of sensor values that make up one time-series data 41, which serves as the input data. In this embodiment, the operator creates the machine learning model 3 using a computer 200 that functions as the control unit 110 of the substrate processing apparatus 10.
[0075] The auxiliary storage device 221 in the computer 200, which functions as the control unit 110, holds a set of time-series data consisting of multiple sensor values acquired by the sensors. Typically, the majority of this time-series data is normal data, and the number of abnormal data is extremely small. Therefore, this board processing system 1 employs a method to detect abnormalities using a machine learning model 3 that has been unsupervised and learned using only normal data. Accordingly, after the machine learning model 3 is created in step S10, only normal data is extracted from the set of time-series data held in the auxiliary storage device 221 (step S20) (see the part labeled 54 in Figure 15). That is, in step S20, multiple time-series data 41 acquired when the board processing unit 130 is operating normally are extracted from the set of time-series data consisting of multiple sensor values acquired by the sensors.
[0076] Subsequently, the learning unit 310 performs unsupervised learning as machine learning by providing the multiple time-series data 41 extracted in step S20 to the machine learning model 3 created in step S10 (step S30) (see the part labeled 55 in Figure 15). At this time, as described above, the parameters of the first autoencoder 30(1) are updated to minimize the loss function based on the difference between the input data given to the input layer of the third autoencoder 30(3) and the output data output from the output layer of the third autoencoder 30(3). In this way, a trained machine learning model 3 is obtained. An anomaly detection model is realized using this trained machine learning model 3.
[0077] After a trained machine learning model 3 is obtained, the inference unit 320 provides the time-series data to be inspected 42 as input data to the first autoencoder 30(1) that constitutes the trained machine learning model 3 and performs inference processing (step S40). Through this inference processing, latent variable data (values of latent variables) 43 generated by the encoder 31 included in the first autoencoder 30(1) is obtained. As described above, this latent variable data 43 is data in which the features of the input data have been compressed.
[0078] Next, the determination unit 330 calculates an abnormality score (step S50) to determine whether the data to be inspected 42 is normal or abnormal, based on the normal data extracted in step S20 (i.e., the multiple time-series data 41 used to train the machine learning model 3) and the latent variable data 43 acquired in step S40. In this embodiment, the Mahalanobis distance between the mean vector based on the latent variable data obtained by encoding the normal data with the encoder 31 and the vector based on the latent variable data 43 acquired in step S40 is calculated as the abnormality score. To achieve this, the mean vector and variance-covariance matrix of the multiple latent variable data are obtained in advance using the multiple latent variable data obtained by encoding the multiple time-series data 41, which are normal data, with the encoder 31. In this embodiment, since the number of units in the intermediate layer of the autoencoder 30 is 2, each latent variable data is represented as a two-dimensional vector.
[0079] Let m be the number of latent variable data points (the number of time-series data points 41 that are normal data), and let Xi be the two-dimensional vector representing the i-th latent variable data point. Then the mean vector μ can be calculated using equation (1), and the variance-covariance matrix Σ can be calculated using equation (2). In equation (2), T represents the transpose of the vector.
[0080] Assuming that the mean vector μ and variance-covariance matrix Σ of multiple latent variable data are obtained as described above, if we let Xa be the vector based on the latent variable data 43 obtained in step S40, the Mahalanobis distance D between the mean vector μ and vector Xa can be calculated using the following equation (3). Note that in equation (3), Σ -1 This is the inverse matrix of Σ.
[0081] After the abnormal score (Mahalanobis distance D) is calculated as described above, the determination unit 330 determines whether the abnormal score is greater than a predetermined threshold (step S60). As a result, if the abnormal score is greater than the threshold, the determination unit 330 determines that the data is abnormal (i.e., there is an abnormality in the operation of the substrate processing unit 130) (step S70). If the abnormal score is less than or equal to the threshold, the determination unit 330 determines that the data is normal (step S75).
[0082] In the example above, the Mahalanobis distance D is calculated as the anomaly score, but the present invention is not limited to this. For example, the Euclidean distance from the centroid position of multiple latent variable data corresponding to normal data to the position of the latent variable data (latent variable data acquired in step S40) 43 corresponding to the data to be inspected 42 can also be calculated as the anomaly score.
[0083] Incidentally, in the processing from step S40 onward, only the encoder 31 included in the first autoencoder 30(1) of the machine learning model 3 (i.e., only the part labeled 33 in Figure 8) is used. Therefore, if only the processing from step S40 onward is to be performed on this board processing system 1, it is also possible to equip this board processing system 1 with only the encoder 31 included in the first autoencoder 30(1) of the trained machine learning model 3, which is constructed on equipment outside of this board processing system 1.
[0084] Furthermore, the processing in steps S20 and S30 is realized by the CPU 211 of the computer 200, which functions as the control unit 110, executing the anomaly detection model construction program 26, and the processing in steps S40, S50, S60, S70, and S75 is realized by the CPU 211 of the computer 200, which functions as the control unit 110, executing the anomaly detection program 27. In this embodiment, the time series data extraction step and the time series data reading step are realized in step S20, the learning step is realized in step S30, the inference step is realized in step S40, and the determination step is realized in steps S50, S60, S70, and S75.
[0085] <4. Verification Results> Here, the applicant will explain the results of their verification of whether the performance of anomaly detection has improved compared to conventional methods using the method of the present invention. For the verification, 71 time-series data obtained when a predetermined recipe was executed in a certain cleaning device were used. Each time-series data is flow rate data, and as shown in Figure 7, consists of 120 sensor values measured at 0.1-second intervals by the flow rate sensor 141 during the 12 seconds when the flow rate of the processing liquid (cleaning liquid) rises. The above 71 time-series data were divided as follows: Normal data for learning: 34 Normal data for verification: 18 Anomaly data for verification: 19
[0086] Figure 16 is a graph showing one normal data point and one abnormal data point. The solid line represents normal data, and the thick dotted line represents abnormal data. Note that 52 (34 + 18) normal data points change in a nearly identical manner, and 19 abnormal data points change in a nearly identical manner. Therefore, Figure 16 shows only one of each normal and abnormal data point. Figure 17 is an enlarged view of the part labeled 56 in Figure 16. Normal data points are labeled 57, and abnormal data points are labeled 58. The slope when the flow rate rises differs between the normal and abnormal data points (see the part indicated by the arrow labeled 61 in Figure 17). Also, the flow rate values in the initial state before the flow rate rises differ slightly between the normal and abnormal data points (see the part indicated by the arrow labeled 62 in Figure 17). As described above, flow rate data that shows a slight difference between normal and abnormal data points when rising was used for verification.
[0087] Figure 18 shows a latent variable map obtained using a conventional method that uses only one autoencoder as shown in Figure 4. Since an autoencoder with 2 units in the hidden layer is used, the latent variable data corresponding to each time series data is represented on a two-dimensional plane as shown in Figure 18. In Figure 18, triangles represent normal data for training, squares represent normal data for validation, and circles represent abnormal data (the same applies to Figure 19). From the distribution of normal and abnormal data, the range of the normal cluster to which the normal data belongs can be represented by a dotted line labeled 63, and the range of the abnormal cluster to which the abnormal data belongs can be represented by a dotted line labeled 64. In this case, if the position of the latent variable data corresponding to the data to be inspected on the two-dimensional plane is included in the shaded area labeled 65 in Figure 18, it is difficult to determine whether the data to be inspected is normal or abnormal. In other words, it is difficult to detect abnormalities.
[0088] Figure 19 shows a latent variable map obtained by the method of the present invention. From the distribution of normal data and abnormal data, the range of the normal cluster to which normal data belongs can be represented by a dotted line denoted by reference numeral 66, and the range of the abnormal cluster to which abnormal data belongs can be represented by a dotted line denoted by reference numeral 67. Unlike Figure 18, in Figure 19 there is no region where the range of the normal cluster and the range of the abnormal cluster overlap. In other words, the method of the present invention significantly improves separation performance (the ability to distinguish between normal data and abnormal data) compared to conventional methods. Therefore, abnormalities can be detected with higher accuracy than before.
[0089] Next, we will explain the results of calculating AUC (area under the ROC curve), which is one of the indicators for evaluating separation performance. Regarding the methods of the present invention, we verified the following: the first proposed method, in which the machine learning model 3 is composed of two autoencoders 30; the second proposed method, in which the machine learning model 3 is composed of three autoencoders 30; and the third proposed method, in which the machine learning model 3 is composed of four autoencoders 30.
[0090] After splitting multiple time-series data into training data and validation data, a series of processes consisting of training (step S30 in Figure 14), inference (step S40 in Figure 14), and calculation of anomaly scores (step S50 in Figure 14) were repeated 300 times for each of the conventional method and the first to third proposed methods, while changing the random number seed value. In all of the first to third proposed methods, the parameters were updated only for the first autoencoder 30(1) during training. Figure 20 shows the results obtained (300 AUCs for each of the conventional method and the first to third proposed methods) as a box plot. The dotted line labeled 68 indicates the average AUC for each method. For all of the first to third proposed methods, the average AUC is higher than that of the conventional method. Furthermore, focusing on outliers, all of the first to third proposed methods tend to have higher outliers than the conventional method.
[0091] Furthermore, for the 300 AUCs obtained for each of the conventional method and the first to third proposed methods, the difference between the value in the conventional method and the value in each of the first to third proposed methods was calculated, and the results were graphed. Here, the difference is defined as the value obtained by subtracting the value in the conventional method from the value in each of the first to third proposed methods. Figure 21 is a graph showing the difference between the value in the first proposed method and the value in the conventional method. Figure 22 is a graph showing the difference between the value in the second proposed method and the value in the conventional method. Figure 23 is a graph showing the difference between the value in the third proposed method and the value in the conventional method. In Figures 21 to 23, the data to the right of the thick dotted line labeled 69 indicates improved separation performance, while the data to the left of the thick dotted line indicates deterioration in separation performance.
[0092] Figures 20 to 23 show that the separation performance is significantly improved by the method of the present invention compared to the conventional method. In other words, the anomaly detection performance is improved by the method of the present invention compared to the conventional method.
[0093] Next, with reference to Figure 24, we will explain the results of verifying whether the separation performance can be improved by providing an autoencoder 30 whose parameters are not updated during training, with respect to a machine learning model 3 consisting of multiple autoencoders 30. The parts denoted by reference numeral 71 show the results for a machine learning model 3 consisting of two autoencoders 30, and the parts denoted by reference numeral 72 show the results for a machine learning model 3 consisting of three autoencoders 30. The parts denoted by reference numeral 73 indicate whether or not the parameters of each autoencoder 30 were updated during training. In this regard, "1" indicates that the parameters were updated, and "0" indicates that the parameters were not updated. In Figure 24, for example, the dotted line part denoted by reference numeral 74 indicates that "the AUC in the case where only the parameters of the third autoencoder 30(3) were updated during training using a machine learning model 3 consisting of three autoencoders 30(1) to 30(3) is 0.68."
[0094] According to Figure 24, for both the machine learning model 3 consisting of two autoencoders 30 and the machine learning model 3 consisting of three autoencoders 30, the AUC is highest when only the parameters of the first autoencoder 30(1) are updated. Focusing on the case where only the parameters of the first autoencoder 30(1) are updated and the case where the parameters of all autoencoders 30 are updated, for the machine learning model 3 consisting of two autoencoders 30, the AUC is 0.03 higher when only the parameters of the first autoencoder 30(1) are updated than when the parameters of all autoencoders 30 are updated. For the machine learning model 3 consisting of three autoencoders 30, the AUC is 0.11 higher when only the parameters of the first autoencoder 30(1) are updated than when the parameters of all autoencoders 30 are updated. From the above, it can be seen that separation performance is improved by suitably providing an autoencoder 30 whose parameters are not updated. The reason why the AUC in the case where the parameters of all autoencoders 30 are updated is lower than the AUC in the case where only the parameters of the first autoencoder 30 (1) are updated is likely due to overfitting.
[0095] <5. Effects> According to this embodiment, in the substrate processing apparatus 10, unsupervised learning of the machine learning model 3 is performed using only normal data from the flow rate data, which is time-series data acquired by the flow rate sensor 141. In this regard, the machine learning model 3 is composed of multiple autoencoders 30. Therefore, the number of parameters is significantly larger than that of a machine learning model composed of a single autoencoder 30. Consequently, the machine learning model 3 has high expressive power. In addition, the second and subsequent autoencoders 30 are given the difference between the input data and output data of the immediately preceding autoencoder 30. Therefore, the ability to distinguish minute differences is enhanced. Furthermore, during the learning of the machine learning model 3, the parameters are updated only for the first autoencoder 30(1). This suppresses the increase in computational cost required for learning the machine learning model 3, and also suppresses the occurrence of the phenomenon in which error information is not correctly transmitted from the last autoencoder 30(3) to the first autoencoder 30(1) due to the machine learning model 3 being composed of multiple autoencoders 30.
[0096] Based on the above, this embodiment provides a machine learning model 3 with improved separation performance (ability to distinguish between normal and abnormal data) compared to conventional models. As a result, the substrate processing apparatus 10 can detect even minor abnormalities while suppressing the occurrence of false alarms. Furthermore, by enabling the detection of minor abnormalities in the substrate processing apparatus 10, unnecessary consumption of processing liquid used for cleaning substrates can be reduced, for example. In this way, it can contribute to achieving the SDGs (Sustainable Development Goals).
[0097] <6. Modifications> Modifications of the above embodiment will be described below.
[0098] <6.1 First Modification> Figure 25 is a block diagram showing the configuration of the substrate processing system 1 in the first modification of the above embodiment. In this modification, the substrate processing system 1 is composed of a substrate processing device 10 and an anomaly detection device 50. The anomaly detection device 50 is typically a personal computer. The substrate processing device 10 and the anomaly detection device 50 are connected by a communication line 28 such as a LAN. Unlike the above embodiment, the anomaly detection device 50 is provided with an anomaly detection processing unit 300.
[0099] In the configuration described above, time-series data acquired by the sensors included in the sensor group 140 within the substrate processing apparatus 10 is stored in the control unit 110 within the substrate processing apparatus 10. The time-series data 41 used for detecting abnormalities in the operation of the substrate processing unit 130 from the time-series data stored in the control unit 110 is sent to the abnormality detection device 50 via the communication line 28. As a result, the abnormality detection processing unit 300 within the abnormality detection device 50 performs processing to detect abnormalities in the operation of the substrate processing unit 130 in the same manner as in the above embodiment.
[0100] <6.2 Second Modification> Figure 26 is a block diagram showing the configuration of the substrate processing system 1 in a second modification of the above embodiment. In this modification, the substrate processing system 1 is composed of a plurality of substrate processing devices 10 and one anomaly detection device 50. Similar to the first modification, the anomaly detection device 50 is provided with an anomaly detection processing unit 300. Each substrate processing device 10 and the anomaly detection device 50 are connected by a communication line 28.
[0101] In the configuration described above, each substrate processing device 10 stores time-series data acquired by sensors included in the sensor group 140 in the control unit 110. The time-series data 41 used for detecting abnormalities in the operation of the substrate processing unit 130 from the time-series data stored in the control unit 110 of each substrate processing device 10 is sent to the abnormality detection device 50 via the communication line 28. In other words, in this modified example, the abnormality detection device 50 receives time-series data 41 from multiple substrate processing devices 10. The abnormality detection processing unit 300 in the abnormality detection device 50 then uses the time-series data 41 sent from the multiple substrate processing devices 10 to perform processing to detect abnormalities in the operation of the substrate processing unit 130 of each substrate processing device 10, in the same manner as in the above embodiment.
[0102] According to this modified example, it becomes possible to detect abnormalities in each of the multiple substrate processing devices 10 using a single abnormality detection device 50.
[0103] <6.3 Third Modification> Figure 27 is a block diagram showing the configuration of the substrate processing system 1 in a third modification of the above embodiment. In this modification, the substrate processing system 1 is composed of a plurality of substrate processing devices 10. These plurality of substrate processing devices 10 are connected to each other by a communication line 28. In this modification, one of the plurality of substrate processing devices 10 is designated as the master device. In Figure 27, the substrate processing device designated as the master device is denoted by reference numeral 10M.
[0104] In the configuration described above, each substrate processing device 10 stores time-series data acquired by sensors included in the sensor group 140 in its control unit 110. Time-series data 41 used for detecting abnormalities in the operation of the substrate processing unit 130 from the time-series data stored in the control unit 110 of substrate processing devices 10 other than the substrate processing device 10M designated as the master device is sent to the substrate processing device 10M designated as the master device via the communication line 28. As a result, the control unit 110 of the substrate processing device 10M designated as the master device stores not only the time-series data 41 acquired by sensors within the substrate processing device 10M, but also the time-series data 41 acquired by sensors in substrate processing devices 10 other than the substrate processing device 10M. Then, the abnormality detection processing unit 300 in the control unit 110 of the substrate processing device 10M uses the time-series data 41 acquired by sensors included in each of the multiple substrate processing devices 10 to perform processing to detect abnormalities in the operation of the substrate processing unit 130 of each substrate processing device 10, in the same manner as in the above embodiment.
[0105] According to this modified example, when the substrate processing system 1 is composed of multiple substrate processing devices 10, one of the multiple substrate processing devices 10M can detect abnormalities in each of the multiple substrate processing devices 10.
[0106] <6.4 Fourth Modification> In the above embodiment, with respect to a machine learning model 3 composed of multiple autoencoders 30, during training, the parameters were updated only for the first autoencoder 30(1). However, the present invention is not limited thereto. With respect to a machine learning model 3 composed of N autoencoders 30(1) to 30(N) as shown in Figure 11, where N is an integer of 2 or more, the parameters of the autoencoders 30 other than the first autoencoder 30(1) may also be updated during training. However, in order to obtain sufficient separation performance for the trained machine learning model 3, it is preferable that at least one of the (N-1) autoencoders 30(2) to 30(N) other than the first autoencoder 30(1) is not updated. For example, with respect to a machine learning model 3 composed of three autoencoders 30(1) to 30(3) (see Figure 8), the parameters of the first autoencoder 30(1) and the third autoencoder 30(3) may be updated while the parameters of the second autoencoder 30(2) are not updated.
[0107] <6.5 Fifth Modification> According to the fourth modification described above, with respect to a machine learning model 3 composed of multiple autoencoders 30, parameters are updated for two or more autoencoders 30 during training. In this regard, the parameters of the two or more autoencoders 30 may be updated at different training timings. For example, with respect to a machine learning model 3 composed of three autoencoders 30(1) to 30(3) (see Figure 8), if the parameters of the first autoencoder 30(1) and the third autoencoder 30(3) are to be updated, the training process (the process in step S30 of Figure 14) may be performed according to the procedure described below.
[0108] First, unsupervised learning is performed by feeding multiple time-series data 41, which are normal data, to the machine learning model 3. At this time, the parameters are updated only for the first autoencoder 30(1). Subsequently, unsupervised learning is performed again by feeding the above multiple time-series data to the machine learning model 3. At this time, the parameters are updated only for the third autoencoder 30(3).
[0109] According to this modified example, the computational cost required to train the machine learning model 3 is higher than in the above embodiment. However, since the parameters are updated for each autoencoder 30, the phenomenon in which error information is not correctly transmitted from the last autoencoder 30 (3) to the first autoencoder 30 (1) due to the machine learning model 3 being composed of multiple autoencoders 30 is suppressed.
[0110] <6.6 Sixth Modification> In the above embodiment, the abnormality score was calculated as a distance (e.g., Mahalanobis distance, Euclidean distance) calculated based on a plurality of latent variable data corresponding to normal data and latent variable data 43 corresponding to the data to be inspected 42 (latent variable data acquired in step S40 of Figure 14). However, the present invention is not limited thereto. In this modification, the abnormality score is a value obtained by transforming the distance calculated in the same manner as in the above embodiment, taking into account the distance distribution for normal data. This will be explained in more detail below.
[0111] Let us assume that the distribution of distances calculated in the latent variable space for normal and abnormal data is as shown in Figure 28. Here, we focus on the distance distribution for normal data and calculate the mean and standard deviation σ. Generally, when the data distribution follows a normal distribution, the range of plus or minus 2σ around the mean of the data is considered the "95% confidence interval". In the example shown in Figure 28, the range indicated by the arrow labeled 76 is the 95% confidence interval. In this modified example, if the distance calculated for the data to be tested 42 does not fall within the above 95% confidence interval, it is determined that the data to be tested 42 is abnormal. To achieve this, the value obtained by dividing the distance calculated for the data to be tested 42 by the above standard deviation σ is taken as the abnormality score. That is, the abnormality score is a value that represents how many standard deviations away the distance calculated in the latent variable space is from the mean of the normal data. In this modified example, such an abnormality score is calculated in step S50 of Figure 14. Then, in step S60 of Figure 14, it is determined whether the abnormality score is greater than or equal to a threshold. In this regard, the threshold is set to "2" in order to determine that the data to be inspected 42 is abnormal when the distance calculated for the data to be inspected 42 is not included in the 95% confidence interval.
[0112] <6.7 Seventh Modification> In the above embodiment, each autoencoder 30 constituting the machine learning model 3 had the structure shown in Figure 4. In contrast, in this modification, the first autoencoder 30 (1) constituting the machine learning model 3 has the structure shown in Figure 29. The second and subsequent autoencoders 30 may have the structure shown in Figure 4 or the structure shown in Figure 29.
[0113] The autoencoder 30(1) in this modified example differs from the autoencoder 30(1) in the above embodiment in the configuration of its input layer. In the above embodiment, the input layer of the autoencoder 30(1) was provided with time-series data 41 consisting of multiple sensor values acquired by the sensor as input data. In other words, in the above embodiment, only measured data was provided as input data to the input layer of the autoencoder 30(1). In contrast, in this modified example, as shown in Figure 29, the input layer of the autoencoder 30(1) is provided with multiple additional value data in addition to multiple measured value data (however, the number of additional values may be one). A detailed explanation of the additional values will be given later. If the second and subsequent autoencoders 30 also adopt the structure shown in Figure 29, the input layer of the second and subsequent autoencoders 30 will be provided with the difference between the input data and output data of the previous autoencoder 30 instead of measured value data. For the sake of explanation, the sensor values obtained by the target sensor will be referred to as "target measured values," and the period during which multiple measured values (multiple sensor values) included in the time-series data 41 above were obtained will be referred to as the "target period."
[0114] Examples of additional values provided to the input layer of the autoencoder 30(1) include the target measured value acquired during a period other than the target period, measured values that correlate with the target measured value and are acquired by sensors other than the target sensor (for example, the supply pressure to the nozzle (a nozzle that discharges the processing liquid) when the target measured value is a flow rate value acquired by the flow rate sensor 141), an instruction value given to the substrate processing unit 130 so that the target measured value can be obtained (for example, an instruction value for the flow rate when the target measured value is a flow rate value acquired by the flow rate sensor 141), a value obtained by calculation based on multiple measured values acquired by multiple sensors, a value obtained by calculation based on the measured value acquired by the sensor and the instruction value, and an abstracted value obtained by dividing the sensor value and the instruction value into predetermined delimiters.
[0115] Next, we will explain the temporal relationship between the multiple measured values and the multiple additional values provided as input data to the autoencoder 30(1). Here, we assume that the target period is 5 seconds, from the 5th second to the 10th second, based on the start time of recipe execution.
[0116] If you intend to use target measured values obtained during a period other than the target period as additional values, you can use target measured values obtained during a period prior to the target period as additional values. In this regard, the length of the period during which multiple measured values were obtained and the length of the period during which multiple additional values were obtained may be the same or different. For example, using the start time of recipe execution as a reference, you can use target measured values obtained during the 5 seconds from 0 seconds to 5 seconds as additional values, or you can use target measured values obtained during the 2 seconds from 1 second to 3 seconds as additional values.
[0117] When adopting additional values that are correlated with the target measured value and are obtained by a sensor other than the target sensor (hereinafter referred to as "other sensor values" for convenience), it is possible to adopt other sensor values obtained in a period prior to the target period as additional values, or to adopt other sensor values obtained in the same period as the target period as additional values. In this regard, the length of the period in which multiple measured values were obtained and the length of the period in which multiple additional values were obtained may be the same or different. For example, using the start time of recipe execution as a reference, it is possible to adopt other sensor values obtained in the 5 seconds from 0 seconds to 5 seconds as additional values, or to adopt other sensor values obtained in the 2 seconds from 1 second to 3 seconds, or to adopt other sensor values obtained in the 5 seconds from 5 seconds to 10 seconds, or to adopt other sensor values obtained in the 4 seconds from 3 seconds to 7 seconds, or to adopt other sensor values obtained in the 7 seconds from 3 seconds to 10 seconds as additional values.
[0118] When attempting to use an indicative value given to the substrate processing unit 130 as an additional value in order to obtain the target measured value, it is possible to use an indicative value from a period prior to the target period, an indicative value from the same period as the target period, or an indicative value from a period after the target period. This will be explained with reference to Figures 30 to 32. In Figures 30 to 32, the change in the indicative value is represented by a thick dotted line denoted by reference numeral 81, and the change in the sensor value (target measured value) is represented by a solid line denoted by reference numeral 82. Generally, the relationship between the indicative value and the sensor value is as shown in Figure 30. In this case, it is preferable to use an indicative value from the same period as the target period as an additional value. When the sensor value changes with a delay in the change of the indicative value, the relationship between the indicative value and the sensor value is as shown in Figure 31, for example. In this case, it is preferable to use an indicative value from a period prior to the target period as an additional value. In Figure 31, the delay time between the change in the sensor value and the change in the indicative value is represented by an arrow denoted by reference numeral 83. When the sensor value changes prior to the change in the indicated value, the relationship between the indicated value and the sensor value will be as shown in Figure 32, for example. In this case, it is preferable to use the indicated value for the period after the target period as the additional value. In Figure 32, the time during which the change in the sensor value precedes the change in the indicated value is indicated by an arrow labeled 84. Regarding the case in which the indicated value for the period after the target period is used as the additional value, for example, the indicated value for the 5 seconds from 10 seconds to 15 seconds from the start of recipe execution can be used as the additional value, or the indicated value for the 3 seconds from 13 seconds to 16 seconds can be used as the additional value. Furthermore, in any case in which the indicated value for the period is used as the additional value, the indicated value for the period of the same length as the period during which multiple measured values were acquired can be used as the additional value, or the indicated value for a period of a different length than the period during which multiple measured values were acquired can be used as the additional value.
[0119] When adopting as additional values a value obtained by calculation based on multiple measured values acquired by multiple sensors, or a value obtained by calculation based on measured values acquired by sensors and the above-mentioned indicated value, or an abstracted value obtained by dividing the sensor value and the above-mentioned indicated value into predetermined intervals, it is possible to adopt as additional values values obtained in periods prior to the target period, values obtained in the same period as the target period, or values obtained in periods after the target period.
[0120] Furthermore, the time intervals for the data values may differ between the measured values and the additional values. For example, values at 0.1-second intervals may be used for the measured values, while values at 0.5-second intervals may be used for the additional values. Additionally, the additional values may consist of values from only one or more predetermined time points (e.g., discrete values, values that are not evenly spaced in time). Moreover, the additional feature data from the eighth modification described later can also be used as the additional values in this modification.
[0121] According to this modified version, the machine learning model 3 is trained while also considering the relationship between the additional values and the measured values. This makes it possible to detect minor anomalies in the substrate processing device 10 with greater accuracy.
[0122] <6.8 Eighth Modification> In the above embodiment, each autoencoder 30 constituting the machine learning model 3 had the structure shown in Figure 4. In contrast, in this modification, the first autoencoder 30 (1) constituting the machine learning model 3 has the structure shown in Figure 33. The second and subsequent autoencoders 30 may have the structure shown in Figure 4 or the structure shown in Figure 33.
[0123] The autoencoder 30(1) in this modified example differs from the autoencoder 30(1) in the above embodiment in the configuration of the intermediate layer. Specifically, the intermediate layer of the autoencoder 30(1) in this modified example is provided with a unit for inputting additional feature data (the unit within the thick border labeled 86 in Figure 33), in addition to the same unit as in the above embodiment. Because of this configuration, the decoder 32 decodes data that combines the latent variable data and the additional feature data.
[0124] Additional feature data can be broadly categorized into data related to recipe events and various other information besides recipe configuration information. Recipe event data includes the number of round trip scans by the nozzle dispensing the processing liquid, the number of step switches during a series of processes, a value indicating whether or not the tank liquid was replaced during processing, a value indicating whether or not parallel processing with other chambers occurred, and a value indicating whether or not specified alerts or warnings occurred. Various other information besides recipe configuration information includes a value indicating the number of the chamber on which the target sensor is installed, a setting value for a soft parameter such as the discharge delay time, and a value indicating whether or not processing was performed within a certain period from the time of a specific event (such as the startup of the substrate processing device 10, periodic maintenance, or idle stop for a certain period of time).
[0125] According to this modified example, when there are multiple patterns of time-series data 41 with different characteristics, it becomes possible to perform anomaly detection processing based on each of these multiple patterns of time-series data 41 using a single machine learning model 3. For example, suppose there are two models (model A and model B), and the setting values of the parameters related to the sensor value of a certain sensor are different for model A and model B. In such a case, according to the above embodiment, it is necessary to prepare a machine learning model 3 for model A and a machine learning model 3 for model B. In contrast, according to this modified example, by adopting a value that identifies the model as additional feature data, it becomes possible to use the same machine learning model 3 for both model A and model B.
[0126] <6.9 Ninth Modification> In the above embodiment, flow rate data was used as the time-series data 41 provided to the machine learning model 3. However, the present invention is not limited thereto. As the time-series data 41 provided to the machine learning model 3, for example, one-dimensional sensor data such as temperature data or pressure data, two-dimensional data obtained by combining multiple sensor data, two-dimensional or three-dimensional sensor data subjected to spectral transformation, two-dimensional image data obtained by capturing the discharge state of the processing liquid with a surveillance camera, one-dimensional audio waveform data, two-dimensional audio waveform data subjected to spectral transformation, three-dimensional video data obtained by capturing the discharge state of the processing liquid with a surveillance camera, etc., can also be used.
[0127] <7. Others> The present invention is not limited to the above embodiments (including modifications), and can be implemented in various modified forms without departing from the spirit of the invention. For example, although the above embodiments describe a cleaning device as an example, the present invention can also be applied to substrate processing devices other than cleaning devices (for example, heat processing devices). Furthermore, configurations that appropriately combine the embodiments and modifications described above without causing contradictions are also included in the scope of the present invention, as long as they do not contradict the spirit of the invention. For example, a configuration that combines the seventh modification and the eighth modification is also included in the scope of the present invention. Figure 34 shows an example of the structure of the first autoencoder 30(1) when the seventh modification and the eighth modification are combined.
[0128] <8. Addendum> Based on the above disclosure, the following substrate processing system and substrate processing apparatus configurations are also conceivable.
[0129] A substrate processing system comprising one or more substrate processing apparatuses having a substrate processing section for processing substrates, the system comprising: a sensor for measuring a physical quantity indicating the operating state of the substrate processing section; a processor; and a memory for storing a program, wherein the processor executes the program stored in the memory and performs unsupervised learning as machine learning by providing a set of time-series data consisting of a plurality of sensor values acquired by the sensor, obtained when the substrate processing section is operating normally, to a machine learning model composed of N autoencoders (where N is an integer of 2 or more), each of the N autoencoders includes: an encoder that generates latent variable data by encoding input data; and a decoder that decodes the latent variable data, wherein during the unsupervised learning, the processor provides the plurality of sensor values as input data to the first autoencoder, provides the difference between the input data of the (K-1)th autoencoder and the output data of the (K-1)th autoencoder as input data, with K being an integer of 2 or more and less than or equal to N, and updates the parameters of the first autoencoder to minimize the loss function based on the difference between the input data of the Nth autoencoder and the output data of the Nth autoencoder.
[0130] A substrate processing device comprising: a substrate processing unit for processing a substrate; a sensor for measuring a physical quantity indicating the operating state of the substrate processing unit; a processor; and a memory for storing a program, wherein the processor executes the program stored in the memory and performs unsupervised learning as machine learning by providing a set of time-series data consisting of a plurality of sensor values acquired by the sensor, obtained when the substrate processing unit is operating normally, to a machine learning model composed of N autoencoders (where N is an integer of 2 or more), each of the N autoencoders includes: an encoder that generates latent variable data by encoding input data; and a decoder that decodes the latent variable data, wherein during the unsupervised learning, the processor provides the plurality of sensor values as input data to the first autoencoder, provides the difference between the input data of the (K-1)th autoencoder and the output data of the (K-1)th autoencoder as input data, with K being an integer of 2 or more and less than or equal to N, and updates the parameters of the first autoencoder to minimize the loss function based on the difference between the input data of the Nth autoencoder and the output data of the Nth autoencoder.
[0131] 1... PCB processing system 3... Machine learning model 10... PCB processing device 26... Anomaly detection model construction program 28... Communication line 30... Autoencoder 31... Encoder 32... Decoder 41... Time series data 42... Data to be inspected 43... Latent variable data 50... Anomaly detection device (PC) 110... Control unit 120... Indexer unit 130... PCB processing unit 140... Sensor group 141... Flow sensor 300... Anomaly detection processing unit 310... Learning unit 320... Inference unit 330... Judgment unit
Claims
1. A substrate processing system comprising one or more substrate processing apparatuses having a substrate processing section for processing substrates, wherein the system includes a sensor for measuring a physical quantity indicating the operating state of the substrate processing section, and a learning section which performs unsupervised learning as machine learning by providing a set of time-series data consisting of a plurality of sensor values acquired by the sensor, where N is an integer of 2 or more, to a machine learning model composed of N autoencoders, where each of the N autoencoders includes an encoder that generates latent variable data by encoding input data, and a decoder that decodes the latent variable data, wherein the learning section provides the plurality of sensor values as input data to the first autoencoder, provides the difference between the input data of the (K-1)th autoencoder and the output data of the (K-1)th autoencoder as input data, where K is an integer of 2 or more and N or less, to the Kth autoencoder, and updates the parameters of the first autoencoder to minimize a loss function based on the difference between the input data of the Nth autoencoder and the output data of the Nth autoencoder.
2. The substrate processing system according to claim 1, wherein the learning unit updates only the parameters of the first autoencoder without updating the parameters of the second and subsequent autoencoders.
3. The substrate processing system according to claim 1, wherein, when unsupervised learning is performed by the learning unit, the parameters of at least one of the N autoencoders are not updated.
4. The substrate processing system according to claim 1 or 3, wherein Z is an integer between 2 and N, and Z autoencoders, including the first autoencoder among the N autoencoders, are designated as targets for parameter updates, and the learning unit updates the parameters for the Z autoencoders in Z unsupervised learning sessions performed by providing the plurality of time-series data to the machine learning model, with each unsupervised learning session being performed at a different time.
5. The substrate processing system according to any one of claims 1 to 4, wherein the number of layers constituting the encoder, the number of layers constituting the decoder, and the number of units in each layer are the same for all N autoencoders.
6. The substrate processing system according to any one of claims 1 to 5, wherein the learning unit further provides the first autoencoder with one or more additional values as input data, the encoder included in the first autoencoder generates the latent variable data by encoding data combining the plurality of sensor values and the one or more additional values, and the first autoencoder outputs the same number of values as the number of the plurality of sensor values as output data.
7. The substrate processing system according to claim 6, wherein each of the plurality of time-series data is data acquired by the sensor from the start to the end of processing performed on a single substrate by the substrate processing unit, and the one or more additional values are a plurality of instruction values given to the substrate processing unit so that the plurality of sensor values can be obtained during processing on the substrate.
8. The substrate processing system according to claim 6, comprising a second sensor different from the sensor for measuring a physical quantity indicating the operating state of the substrate processing unit, wherein each of the plurality of time-series data is data acquired by the sensor from the start to the end of processing performed on a single substrate by the substrate processing unit, and the one or more additional values are one or more sensor values that are correlated with the plurality of sensor values given to the first autoencoder, and were acquired by the second sensor during the same period as the period during which the plurality of sensor values given to the first autoencoder were acquired by the sensor, or during a period earlier than the period during which the plurality of sensor values given to the first autoencoder were acquired by the sensor.
9. The substrate processing system according to claim 6, wherein each of the plurality of time-series data is data acquired by the sensor from the start to the end of processing performed on a single substrate by the substrate processing unit, and the one or more additional values are one or more sensor values acquired by the sensor during a period prior to the period in which the plurality of sensor values given to the first autoencoder were acquired by the sensor.
10. The substrate processing system according to any one of claims 1 to 9, wherein the decoder included in the first autoencoder decodes data combining the latent variable data and predetermined additional feature data.
11. The substrate processing system according to any one of claims 1 to 10, further comprising: an inference unit that provides the data to be inspected as time-series data as input data to the first autoencoder which constitutes a trained machine learning model that has been trained by the learning unit through unsupervised learning, and acquires the latent variable data generated by the encoder included in the first autoencoder; and a determination unit that determines whether or not there is an abnormality in the operation of the substrate processing unit based on the latent variable data acquired by the inference unit.
12. A substrate processing system according to any one of claims 1 to 11, comprising: a plurality of substrate processing devices as one or more substrate processing devices; a plurality of sensors provided in each of the plurality of substrate processing devices for measuring a physical quantity indicating the operating state of a substrate processing unit included in the corresponding substrate processing device; and an anomaly detection device having the learning unit, wherein the learning unit performs unsupervised learning by providing time-series data acquired by each of the plurality of sensors to the machine learning model.
13. A substrate processing system according to any one of claims 1 to 11, comprising: a plurality of substrate processing devices as one or more substrate processing devices; a plurality of sensors provided in each of the plurality of substrate processing devices for measuring a physical quantity indicating the operating state of a substrate processing unit included in the corresponding substrate processing device, wherein one of the plurality of substrate processing devices includes the learning unit, and the learning unit performs unsupervised learning by providing time-series data acquired by each of the plurality of sensors to the machine learning model.
14. A substrate processing device comprising: a substrate processing unit for processing a substrate; a sensor for measuring a physical quantity indicating the operating state of the substrate processing unit; and a learning unit which performs unsupervised learning as machine learning by providing a set of time-series data consisting of a set of multiple sensor values acquired by the sensor, where N is an integer of 2 or more, to a machine learning model composed of N autoencoders, wherein each of the N autoencoders includes an encoder that generates latent variable data by encoding input data, and a decoder that decodes the latent variable data, and the learning unit provides the first autoencoder with the multiple sensor values as input data, provides the K-th autoencoder with the difference between the input data of the (K-1)-th autoencoder and the output data of the (K-1)-th autoencoder as input data, where K is an integer of 2 or more and N or less, and updates the parameters of the first autoencoder to minimize the loss function based on the difference between the input data of the N-th autoencoder and the output data of the N-th autoencoder.
15. An anomaly detection method for detecting an anomaly in the operation of a substrate processing unit in a substrate processing system comprising a substrate processing unit and a sensor for measuring a physical quantity indicating the operating state of the substrate processing unit, comprising: a time-series data extraction step of extracting a plurality of time-series data obtained when the substrate processing unit is operating normally from a set of time-series data consisting of a plurality of sensor values obtained by the sensor; a learning step of performing unsupervised learning as machine learning by providing the plurality of time-series data to a machine learning model composed of N autoencoders, each including an encoder that generates latent variable data by encoding input data and a decoder that decodes the latent variable data, where N is an integer of 2 or more; an inference step of providing the data to be inspected as time-series data as input data to the first autoencoder that constitutes the trained machine learning model in which unsupervised learning has been performed by the learning step, and obtaining the latent variable data generated by the encoder included in the first autoencoder; and a determination step of determining whether or not there is an anomaly in the operation of the substrate processing unit based on the latent variable data obtained in the inference step, wherein in the learning step, the plurality of sensor values are provided to the first autoencoder as input data, An anomaly detection method in which, with K being an integer between 2 and N, the K-th autoencoder is given the difference between the input data of the (K-1)-th autoencoder and the output data of the (K-1)-th autoencoder as input data, and the parameters of the first autoencoder are updated to minimize the loss function based on the difference between the input data of the N-th autoencoder and the output data of the N-th autoencoder.
16. The anomaly detection method according to claim 15, wherein in the learning step, only the parameters of the first autoencoder are updated, and the parameters of the second and subsequent autoencoders are not updated.
17. The anomaly detection method according to claim 15, wherein in the learning step, the parameters of at least one of the N autoencoders are not updated.
18. The anomaly detection method according to any one of claims 15 to 17, wherein in the learning step, one or more additional values are further provided to the first autoencoder as input data, the encoder included in the first autoencoder generates the latent variable data by encoding data that combines the plurality of sensor values and the one or more additional values, and the first autoencoder outputs the same number of values as the number of sensor values as output data.
19. The anomaly detection method according to any one of claims 15 to 18, wherein in the learning step, the decoder included in the first autoencoder decodes data combining the latent variable data and predetermined additional feature data.
20. An anomaly detection model construction program for constructing an anomaly detection model, which is a machine learning model for detecting an anomaly in the operation of the board processing unit, in a board processing system comprising a board processing unit for processing a board and a sensor for measuring a physical quantity indicating the operating state of the board processing unit, wherein the program causes a computer to execute a time-series data reading step of reading a plurality of time-series data obtained when the board processing unit is operating normally from a set of time-series data consisting of a plurality of sensor values obtained by the sensor, and a learning step of performing unsupervised learning as machine learning by providing the plurality of time-series data to the machine learning model, which is composed of N autoencoders, where N is an integer of 2 or more, and each of the N autoencoders includes an encoder that generates latent variable data by encoding input data and a decoder that decodes the latent variable data, and in the learning step, the plurality of sensor values are given to the first autoencoder as input data, and the difference between the input data of the (K-1)th autoencoder and the output data of the (K-1)th autoencoder is given to the Kth autoencoder as input data, where K is an integer of 2 or more and N or less An anomaly detection model building program that updates the parameters of the first autoencoder to minimize a loss function based on the difference between the input data of the Nth autoencoder and the output data of the Nth autoencoder.