Predictive modeling of manufacturing process using set of inverted models
The use of machine learning models to predict manufacturing inputs from outputs enhances manufacturing process optimization by minimizing physical experiments and simulations, improving efficiency and reducing resource consumption.
Patent Information
- Application Number
- JP2025043386
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-05-21
- Filing Date
- 2025-03-18
- Publication Date
- 2025-07-15
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Conventional manufacturing process optimization relies heavily on manual experimentation and simulation, which becomes inefficient as the number of inputs increases, leading to increased resource consumption and reduced efficiency in identifying optimal input settings.
A system utilizing a set of machine learning models, including inversion models, to predict optimal manufacturing inputs based on predicted outputs, reducing the need for physical experimentation and computer simulations by using machine learning to identify candidate solutions and provide insights into input-output relationships.
This approach significantly reduces the time and resources required for process engineering, enabling faster and more efficient development and optimization of manufacturing processes by providing interpretable and explainable predictive modeling.
Smart Images

Figure 2025106293000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to predictive modeling, and more particularly, to predicting optimal input parameters for a manufacturing process using a set of models.
Background Art
[0002] Manufacturing involves the production of products using multiple steps in which human labor, machines, or combinations thereof are involved. The manufacturing steps may be associated with settings that determine when, where, and how the steps are performed and that result in the product being manufactured. Process engineers generally select and customize the settings based on their expertise in the area. The selection of settings often involves performing many experiments with different settings to identify one or more optimal settings for the manufacturing process.
Summary of the Invention
[0003] A summary of the present disclosure is briefly presented below in order to provide a basic understanding of some aspects of the present disclosure. This summary is not an extensive overview of the present disclosure. It is not intended to identify key or critical elements of the present disclosure, nor is it intended to delineate any scope of particular implementations of the present disclosure or any scope in the claims. Its sole purpose is to present some concepts of the present disclosure in a simple form as a prelude to the more detailed description presented below.
[0004] In one aspect of the present disclosure, the method includes receiving, by a processing device, predicted output data for a manufacturing process that defines attributes of an output of the manufacturing process; accessing a plurality of machine learning models including a first machine learning model and a second machine learning model that model the manufacturing process; determining, using the first machine learning model, input data for the manufacturing process including a value for a first input and a value for a second input based on the predicted output data for the manufacturing process; combining the input data determined using the first machine learning model and the input data determined using the second machine learning model to generate a set of inputs for the manufacturing process including a plurality of candidate values for the first input and a plurality of candidate values for the second input; and storing, by the processing device, the set of inputs for the manufacturing process in a storage device.
[0005] In another aspect of the present disclosure, the system includes a memory and a processing device coupled to the memory. The processing device receives predicted output data for a manufacturing process that defines attributes of an output of the manufacturing process, accesses a plurality of machine learning models including a first machine learning model and a second machine learning model that model the manufacturing process, determines, using the first machine learning model, input data for the manufacturing process including a value for a first input and a value for a second input based on the predicted output data for the manufacturing process, combines the input data determined using the first machine learning model and the input data determined using the second machine learning model to generate a set of inputs for the manufacturing process including a plurality of candidate values for the first input and a plurality of candidate values for the second input, and stores the set of inputs for the manufacturing process in a storage device.
[0006] In one aspect of the present disclosure, a non-transitory machine-readable storage medium stores instructions that, when executed, access output data of a manufacturing process associated with input data used by the manufacturing process, train a first machine learning model based on the input data and the output data, receive, by a processing device, predicted output data for the manufacturing process that defines output attributes of the manufacturing process, access a plurality of machine learning models including the first machine learning model and a second machine learning model that model the manufacturing process, use the first machine learning model to determine input data for the manufacturing process including a first value for a first input attribute and a first value for a second input attribute based on the predicted output data for the manufacturing process, and generate a set of inputs for the manufacturing process including a plurality of values for the first input attribute and a plurality of values for the second input attribute by combining the input data determined using the first machine learning model and the input data determined using the second machine learning model, and cause the processing device to perform operations including these.
[0007] The present disclosure is illustrated by way of example and not limitation in the figures of the accompanying drawings.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Modes for Carrying Out the Invention
[0009] Manufacturing processes are continuing to increase in complexity and often involve a large number of steps. Each step may be associated with different process engineers having different configurations and different areas of expertise. Different steps may be correlated and may be modeled using computer-generated models. The computer-generated models are often causal models that represent the causal relationships between manufacturing inputs and their corresponding manufacturing outputs. The model may take one or more manufacturing input settings as input and provide a prediction of the impact on the manufacturing output. Process engineers may manually select different inputs and use the model to simulate the impact on the manufacturing output. Process engineers often have an intended output they are trying to create and may form hypotheses about which inputs to change. The process engineer may then initiate a computer simulation or physical experiment to identify the inputs that need to be modified to produce the intended output. This type of input / output modeling can be efficient when there is one process engineer and a small number of inputs involved in the manufacturing process. As the number of inputs increases, the variation in the inputs increases and the efficiency of the selection and experimentation process decreases.
[0010] The technology disclosed in this specification addresses the above and other drawbacks by providing a technique for generating a set of models that can be used to predict manufacturing inputs based on predicted manufacturing outputs (e.g., target attributes, intended results, end goals). The set of models includes one or more inversion models that provide output / input modeling (opposite to input / output). The set of models may use manufacturing output data as model inputs and provide manufacturing input data as model outputs. The models are trained using manufacturing input data (e.g., configuration values) and manufacturing output data (e.g., product attribute values). In one example, the set of models may be a homogeneous set that includes machine learning models based on a common model architecture but trained differently to create different model versions. The training may be based on variations in training data, hyperparameters, initialization values, other differences, or combinations of the foregoing.
[0011] Each of the trained machine learning models in the set receives the same manufacturing output data as model inputs and each predicts a different set of inputs to the manufacturing process. Each set of inputs is selected to result in a product that satisfies the predicted output data (e.g., target attributes of the manufactured product). The ranges of values for each manufacturing input may be identified where inputs derived using different models are combined and it is predicted that they satisfy or conform to the predicted manufacturing output (e.g., obtain the target attribute or intended result). In one example, the set of models is a feedforward neural network (FFNN) that also functions as an ensemble learning technique. The outputs of the set of feedforward neural networks may be clustered into different groups, where each group shares similarity in a corresponding set of manufacturing inputs (e.g., the first group may focus on variations for the first manufacturing input and the second group may focus on variations for the second manufacturing input).
[0012] The systems and methods described herein include techniques that improve the identification of manufacturing input data (e.g., configuration parameters) that result in products having predefined attributes. In particular, aspects of the present disclosure can reduce the amount of physical experimentation or computer simulation that is performed to identify an optimal set of inputs to a manufacturing process. Conventional process modeling may simulate a manufacturing process by having a model take manufacturing input data as model inputs and simulate the output of the manufacturing process. To identify optimal manufacturing inputs, a process engineer may select different combinations of inputs and run them as different simulations. By using an inversion model, the model can take the final result as an input to the model and output a predicted set of manufacturing inputs that reach the final result. This can result in fewer experiments or better results using the same amount of experimentation. The use of multiple models may result in multiple predicted sets of manufacturing inputs, each of which may function as a candidate solution. The candidate solutions may be combined or clustered and presented to a user so that the user can detect patterns among the different candidate solutions. This can enable the technology to use machine learning in a way that provides a level of interpretability and explainability to the predictive modeling. The technology may also provide insights into how manufacturing output is affected by changes to the input data and may reduce the number of computer simulations or physical experiments performed to identify a particular solution. Aspects of the present disclosure can also result in significant reductions in process engineering time, resource consumption, processor overhead, etc. In one example, the predicted manufacturing inputs can result in faster process development and optimization (e.g., with respect to semiconductor manufacturing). In another example, the predicted manufacturing inputs can manufacture products more quickly and optimize the products (e.g., to be more suitable within specifications) than conventional approaches.
[0013] Various aspects of the technologies referenced above are described in detail below in this specification by way of example and not limitation. The examples provided below consider computing devices that integrate a manufacturing process. In other examples, the computing device may be separate from the manufacturing process, may access data associated with the manufacturing process from a data store, and may later generate data that can be used by the computing device or a user to configure the manufacturing process.
[0014] FIG. 1 is a block diagram showing an exemplary system architecture 100 according to a particular embodiment. System architecture 100 includes a manufacturing process 110, an input 112, an output 114, and one or more computing devices 120A - Z.
[0015] Manufacturing process 110 may be any manufacturing process that can provide or produce one or more products 116. Products 116 may be for use or sale purposes and may be tangible or intangible objects, articles, services, other products, or combinations of the foregoing. Tangible products may be those that can be touched by a human and may include physical products, objects, components, articles, or other objects (e.g., an etched wafer, a microchip, an electronic device). Intangible products may be those that can be perceived directly or indirectly by a human without touching and may include circuit designs, device layouts, manufacturing recipes, tool configurations, computer programs, services, other intangible elements, or combinations of the foregoing.
[0016] Manufacturing process 110 may involve performing operations based on input 112 to provide output 114. Input 112 may include any input used by manufacturing process 110 to provide product 116. Input 112 may include one or more input products that are modified, assembled, or combined during manufacturing process 110. Output 114 may be anything output by manufacturing process 110 and may include product 116 as well as any by-products of manufacturing process 110. Both input 112 and output 114 may be associated with data. For example, input 112 may be associated with input data 122 (e.g., configuration data), and output 114 may be associated with output data 124 (e.g., product attribute data).
[0017] Input data 122 may be any data that defines one or more inputs to manufacturing process 110. Input data 122 may indicate one or more attributes of input products, configurations, settings, or other data. Input data 122 may be the same as or similar to parameter data, setting data, configuration data, other data, or combinations thereof. Input data 122 may include one or more values (e.g., parameter values, setting values, configuration values) that indicate how the manufacturing process is to be performed. In one example, input data 122 may include one or more values corresponding to time (e.g., deposition time, etching time, oxidation time, implantation time, cleaning time), energy (e.g., temperature, current, voltage, electromagnetic frequency), input rate (e.g., gas flow rate, wafer spin speed), distance (e.g., space between substrate and tool, feature width, height, depth), pressure (e.g., Pascal, bar), input substances (e.g., precursors, reactants, diluents), other attributes or properties, or combinations thereof.
[0018] Output data 124 may be any data that describes one or more outputs of manufacturing process 110. Output data 124 may describe one or more attributes of product 116, a byproduct, other outputs, or a combination of the foregoing. Output data 124 may include values indicative of actual attributes of product 116 after it is created, or intended attributes of product 116 before it is created. An attribute may correspond to one or more measurements of product 116. Measurements may relate to dimensions (e.g., length, width, height, depth, thickness, radius, diameter, area, volume, size), material properties (e.g., reflectivity, emissivity, absorptivity, conductivity, density, texture), uniformity (e.g., uniformity of film thickness), location (e.g., relative or absolute position), other attributes, or a combination of the foregoing. In one example, output data 124 may indicate attributes of product 116 in the form of N-point metrology, where N indicates the number of reference measurements for the product (e.g., 49-point metrology). N-point metrology may provide critical dimensions (e.g., dimensions of transistors or vias) for one or more electronic components of a semiconductor product.
[0019] Computing devices 120A-Z may include one or more computing devices associated with manufacturing process 110. Computing devices 120A-Z may include embedded systems, servers, workstations, personal computers, laptop computers, tablet computers, cellular telephones, palm-sized computing devices, personal digital assistants (PDAs), and the like. In one example, computing devices 120A-Z may include computing devices implementing x86 hardware (e.g., Intel® or AMD®). In another example, computing devices 120A-Z may include computing devices implementing PowerPC®, SPARC®, or other hardware.
[0020] One or more of computing devices 120A - Z may function as a manufacturing control device, a sensor device, a user device, another device, or a combination of the foregoing. A manufacturing control device (e.g., a controller) may control a portion of the manufacturing process and may access, generate, or transmit input data 122, output data 124, or a combination of the foregoing. A sensor device (e.g., a sensor) may be able to sense an aspect of the manufacturing process 110 or an aspect of the product 116 and may include measurement components capable of measuring an attribute of the manufacturing process 110 or the product 116. In one example, the sensor device may include an image capture module or an acoustic capture module. The user device may be the same as or similar to a client device and may provide a user interface to a user (e.g., a process engineer). The user interface may present (e.g., display and / or announce) information to the user and may include one or more control elements for collecting user input. One or more of computing devices 120A - Z may use a set of machine learning models 121A - Z to determine input data 122A - Z for the manufacturing process 110.
[0021] The machine learning models 121A - Z may mathematically model the manufacturing process 110 and the relationship between the input 112 and the output 114. Each of the machine learning models 121A - Z may be a regression model that can be used to identify one or more points within the process space of the manufacturing process. The process space may represent the relationship between manufacturing inputs and outputs in a finite space. The process space may include an investigated portion of the process space and an uninvestigated portion of the process space. The investigated portion may correspond to points or regions within the process space corresponding to previous physical experiments, computer simulation experiments, or combinations thereof as described above. The uninvestigated portion of the process space may correspond to potential or theoretical experiments. The process space may include any number of dimensions, and the number of dimensions may be related to the number of attributes of the manufacturing input, manufacturing output, or combinations thereof as described above. The machine learning models 121A - Z may be used to approximate the process space and identify potential solutions within the process space. The potential solutions may be a set of one or more manufacturing inputs and may correspond to points, lines, surfaces, areas, volumes, or other regions within the process space.
[0022] Each of the machine learning models 121A - Z may be an artifact of a machine learning process that analyzes training data and creates a model representing patterns and inferences derived from the training data. The machine learning model may be the same as or similar to a mathematical model, a statistical model, a neural network, other mathematical representations, or combinations thereof as described above. Each of the machine learning models 121A - Z may include one or more mathematical functions, equations, expressions, operators, operands, coefficients, variables, weights, biases, links, other data, or mathematical data for combinations thereof as described above.
[0023] Mathematical data may represent the relationship between model input 112 and model output 114. The relationship may be modeled using a linear function, a non-linear function, other mathematical functions, or a combination of the foregoing. A linear function may indicate a linear relationship between the model input and the model output, and may be represented as a mathematical function whose graph is a straight line. A non-linear function may indicate a non-linear relationship between the model input and the model output, and may be represented as a polynomial function (e.g., a quadratic equation) that includes one or more curves instead of a straight line when graphed. Mapping the relationship between input and output using a linear function can be advantageous because it is easier to perform extrapolation than in the case of a non-linear function, which will be considered in more detail in connection with FIG. 2.
[0024] Machine learning models 121A-Z may be neural networks that are trained and used as part of a deep learning process. Neural networks may be referred to as networks, artificial neural networks (ANNs), or other terms. In one example, machine learning models 121A-Z may include one or more feedforward neural networks (FFNNs). Each FFNN may include multiple layers, and the data provided as the model input may move "forward" in one direction between the multiple layers without any feedback loop (e.g., during inference, the data moves from the input layer to the output layer). In other examples, machine learning models 121A-Z may include convolutional neural networks (CNNs), multi-layer perceptron neural networks (MLPs), fully connected neural networks, radial basis function neural networks (RBFs), recurrent neural networks (RNNs), modular neural networks, Kohonen's self-organizing neural networks, other networks, or one or more layers or features of a combination of the foregoing. In any example, the neural network may organize the mathematical data into one or more layers.
[0025] Each layer of the neural network may perform different transformations on the input to the layer. Data may be transmitted from the first layer to the last layer, or may not cross the layer more than once (typically once in the case of a FFNN). The plurality of layers may include an input layer (e.g., the first layer), an output layer (e.g., the last layer), and one or more intermediate layers (e.g., hidden layers). In one example, the neural network may include an intermediate layer that includes a non-linear function, and the output layer may include one or more linear functions. For example, the output layer may include a linear activation function and may not include a non-linear activation function (e.g., lacking, not having, or without any mathematical non-linearity).
[0026] The linear activation function may be the same as or similar to the transfer function, and given an input or set of inputs, may define an output of an element. In one example, the activation function may be a rectifier function defined as f(x) = x+ = max(0, x), may receive negative and positive inputs, and may output a value that is zero or greater and has no negative values. The rectifier function may be implemented by a rectified linear unit (ReLU), may be the same as or similar to a ramp function, and may be similar to half-wave rectification in electrical engineering. In other examples, the activation function may be a logistic sigmoid function, a hyperbolic tangent function, a threshold function, other functions, or combinations of the foregoing.
[0027] Machine learning models 121A - Z may each function as non - inversion models, inversion models, or a combination of the foregoing. A non - inversion model may model a manufacturing process, take the input data of the manufacturing process as model inputs, and provide the output data of the manufacturing process as model outputs (e.g., map manufacturing inputs to outputs). Thereby, the execution of manufacturing processes can be simulated by the model. In contrast, an inversion model may model the manufacturing process in reverse, use the manufacturing output data 124 as model inputs 112, and provide the manufacturing input data 122 as model outputs 114 (e.g., map manufacturing outputs to inputs). The use of an inversion model can be advantageous because the model can take the final result as an input to the model and provide a set of predicted inputs that lead to the final result. A set of one or more inversion models may be used to identify the input data for the manufacturing process 110, as indicated by the model set 127.
[0028] The model set 127 may be a homogeneous set of machine learning models, a heterogeneous set of machine learning models, or a combination of the foregoing. A homogeneous set of machine learning models may be a set in which all machine learning models share a model architecture. In contrast, a heterogeneous set of machine learning models may be a set in which there is at least one model based on a different model architecture. The model architecture may correspond to a type of neural network, and each of the exemplary neural networks described above may have a different model architecture (e.g., FFNN, CNN, RNN). As shown in FIG. 1, the model set 127 may be a homogeneous set of machine learning models, sometimes called a model cluster, and the machine learning models 121A - Z may each be different versions of the same machine learning model.
[0029] Different versions of a machine learning model may be created by using a common model architecture and training the model differently. Training the model differently may involve using different training techniques, different training data, other training differences, or combinations of the foregoing. Different training techniques may involve using different training parameters, different model initialization values, other differences, or combinations of the foregoing. Training parameters may sometimes be referred to as hyperparameters and may be set before the training process begins to update or create a machine learning model. The training process will be considered in more detail in connection with FIGS. 2 and 3.
[0030] Machine learning models 121A - Z may each generate their own model output, and the collective output of model set 127 may be combined. Machine learning models 121A - Z may each have access to the same model input 112, but may generate different model outputs 114. This is shown in FIG. 1, where the same output data 124 is provided to each of machine learning models 121A - Z, and each of machine learning models 121A - Z outputs its respective data for the manufacturing process (e.g., input data 122A - Z). The combination of model outputs 114 may result in combined data 126. The combined data 126 may correspond to one or more candidate solutions and may indicate a region within the process space of manufacturing process 110, as will be described in more detail hereinafter in connection with FIG. 2.
[0031] FIG. 2 shows a block diagram of an exemplary computing device 120 that includes techniques for performing predictive modeling on a manufacturing process using a set of inversion models according to one or more aspects of the present disclosure. Computing device 120 may be the same as or similar to one or more of computing devices 120A-Z of FIG. 1. The components and modules discussed herein may be implemented on the same computing device or on different computing devices. In one implementation, one or more of the components may reside on different computing devices (e.g., training may reside on a first computing device and inference may reside on another computing device). Without loss of generality, more or fewer components or modules may be included. For example, two or more of the components may be combined into a single component, or the features of a component may be divided into two or more components. In the example shown in FIG. 2, computing device 120 may include a training component 210, an inference component 220, and a presentation component 230.
[0032] The training component 210 may enable the computing device 120 to analyze data of a manufacturing process and create one or more machine learning models. In one example, the training component 210 may include a data access module 212, a model creation module 214, and a storage module 216.
[0033] The data access module 212 may access data associated with the manufacturing process and store the data as training data 242. The training data 242 may be any data related to the manufacturing process and can be used to train one or more machine learning models. The training data 242 may include, or be derived from, input data for the manufacturing process (e.g., input data 122), output data for the manufacturing process (e.g., output data 124), other data, or a combination of the foregoing. The input data for the manufacturing process may be the same as described above with respect to input data 122 and may include a set of values where one or more values are for time, temperature, pressure, voltage, gas flow, or other values. The output data for the manufacturing process may be the same as described above with respect to output data 124 and may include one or more values indicating layer thickness, layer uniformity, or structure width, other critical dimensions, or a combination of the foregoing values. The data access module 212 may perform one or more processing operations on the data before, during, or after storing the data as training data 242 in the data store 240. The processing may sometimes be referred to as preprocessing or postprocessing and may involve one or more operations that perform aggregation, correlation, normalization, addition, removal, filtering, sanitization, anonymization, or other operations.
[0034] The training data 242 may include, or be based on, historical data, simulation data, augmented data, other data, or a combination of the foregoing. The historical data may be derived from one or more physical executions of a manufacturing process, which may be for commercial, test, experimental, research and development, other uses, or a combination of the foregoing. The simulation data may be derived from one or more computer simulations of a manufacturing process and may be the output of one or more machine learning models (e.g., input / output models). The augmented data may be based on historical or simulation data that is manipulated to include variations that may or may not be present in the data being operated on. The variations may modify the data using one or more mathematical transformations (e.g., rigid body transformation, noise addition, noise removal). The augmented data may be the same as or similar to synthetic data and may be a modified form of the input data, output data, or a combination of the foregoing.
[0035] The training data 242 may include labeled data, unlabeled data, or a combination of the foregoing. The labeled data may include primary data (e.g., samples) supplemented with auxiliary data (e.g., labels). The auxiliary data may be tags, annotations, links, labels, or other data. The unlabeled data may be data without labels (e.g., missing labels, no labels, having no labels). The unlabeled data may be stored without labels and may or may not remain unlabeled before being used to train a machine learning model. In one example, the training data 242 may be labeled data that includes manufacturing output data annotated to link to corresponding manufacturing input data. In another example, the manufacturing output data corresponding to the manufacturing input data may be annotated. In yet another example, there may be a combination of the foregoing.
[0036] The model creation module 214 may enable the computing device 120 to analyze the training data 242 and create a machine learning model 121. The model creation module 214 may use a standard, proprietary, open source, or other training framework to train the machine learning model. The model creation module 214 may configure the training framework to access training data 242 derived from previous executions of the manufacturing process (e.g., physical or simulated executions). In one example, the training framework may be the same as or similar to TensorFlow (trademark), Keras (trademark), PyTorch (trademark), Open Neural network Exchange (Onnx (trademark)), Cognitive Toolkit (CNTK), Azure Machine Learning Service, Create ML, other machine learning frameworks, or combinations of the foregoing.
[0037] The model creation module 214 may create a set of one or more models using a training framework. The set of machine learning models may be a homogeneous set of machine learning models that share a model architecture and have different versions of the model architecture. The different versions of the machine learning models may each be trained using different training data, different hyperparameters, different initialization values, other differences, or combinations of the foregoing. In one example, the machine learning models may each be feedforward neural networks that model a manufacturing process (e.g., output / input). Each feedforward neural network may include a plurality of hidden layers and an output layer. The number of layers may differ between different versions of the machine learning models, the hidden layers may include polynomial functions representing the manufacturing process, and the output layer may include a linear activation function. In one example, the model creation module 214 may train the machine learning models using one or more Monte Carlo simulations. The Monte Carlo simulations may estimate a portion of an n-dimensional process space that is investigated using physical experiments or computer-generated experiments. To better extrapolate outside of the investigated space, the machine learning models may be created to model an output / input relationship (e.g., an inverse model).
[0038] The storage module 216 may enable the computing device 120 to store the results of training as a machine learning model 121 in the data store 240. The machine learning model 121 may be stored as one or more file objects (e.g., files, directories, links), database objects (e.g., records, tuples), other storage objects, or combinations thereof. The data store 240 may be memory (e.g., random access memory), a drive (e.g., hard drive, flash drive), a database system, or another type of component or device capable of storing data. The data store 240 may span multiple computing devices (e.g., multiple server computers) and may include multiple storage components (e.g., multiple drives or multiple databases). The machine learning model 121 may be sent to one or more other data stores or computing devices and made accessible to the inference component 220.
[0039] The inference component 220 may enable the computing device 120 to generate predictions 248 using the machine learning model 121. The inference component 220 may be the same as or similar to an inference engine, may receive the machine learning model 121 and instance data as input, and may perform inferences. The inferences may be the same as or similar to the predictions 248 and may correspond to one or more values. As discussed herein, the inference component 220 may receive manufacturing output data (e.g., target attribute values) and may output predicted manufacturing input data (e.g., process configuration values) from the perspective of the machine learning model 121. In one example, the inference component 220 may include a model access module 222, an input receiving module 224, a prediction module 248, and a combination module 228.
[0040] The model access module 222 may enable the computing device 120 to access a set of one or more machine learning models. The set may include a single machine learning model or multiple machine learning models that may or may not share a common model architecture. In one example, the model access module 222 may receive a set of one or more machine learning models from a local location (e.g., the data store 240). This may occur when the computing device 120 creates a machine learning model or when a machine learning model is created by another computing device and installed, packaged, downloaded, uploaded, or transmitted to the computing device 120. In another example, the model access module 222 may access a set of one or more machine learning models from a server on the same network or a different network (e.g., the Internet) through the computer network 130. This may enable a customer to receive a model or an update to the model from a third party (e.g., a manufacturing tool creator or distributor). In any example, the machine learning model may include mathematical data for analyzing model inputs from the input receiving module 224.
[0041] The input reception module 224 may be configured to receive input data that the computing device 120 can use as a model input 112 for the machine learning model 121. In one example, the input data may be based on user input provided by a user to the computing device (e.g., input by a process technician into a user device). In another example, the input data may be based on device input provided by a management device to the computing device 120. The management device may identify the model input 112 and may initiate one or more physical experiments or computer simulation experiments. In any of the examples, the input data may be used as the model input 112 or may be used to transform, identify, select, or derive the model input 112. The model input 112 may then be used by the prediction module 248.
[0042] The prediction module 248 may analyze the model input 112 in view of the machine learning model 121 to determine a model output. The model output may include one or more predictions 248, each including a set of one or more values. As described above, the set of values may be manufacturing input values (e.g., parameter values) used to configure the manufacturing process. The prediction module 248 may function as an inference engine or may be integrated with a standardized, proprietary, or open source inference engine. In one example, the prediction module 248 may use a machine learning model to determine input data for the manufacturing process based on predicted output data for the manufacturing process. The model output may include values for a first input (e.g., time) and values for a second input (e.g., energy). Determining the values for the first and second inputs may involve using a machine learning model that can predict model output values in an uninvestigated area of the process space.
[0043] The prediction of model output values may involve interpolation, extrapolation, or a combination of the foregoing using a machine learning model. Interpolation may involve determining points within the process space that are between points investigated using experiments. Extrapolation may involve determining points within the process space that are beyond points investigated using experiments. Interpolation or extrapolation may be performed using one or more tangents. The tangent may touch the curve at one or more curve endpoints and may include one or more tangent points, tangents, tangent planes, tangent spaces, other n-dimensional tangents, or a combination of the foregoing. In one example, a straight line may be a tangent to the curve y = f(x) at the point x = c on the curve if the line passes through the point (c, f(c)) on the curve and has a slope f’(c) (where f’ is the derivative of f). Similar definitions may apply to space curves and curves in n-dimensional Euclidean space. The tangent may include one or more curve endpoints where the tangent passes through or touches the curve (e.g., simply touches the curve).
[0044] Extrapolation may be linear extrapolation based on the mathematical function of the machine learning model. Extrapolation of a regression model outside the limits of the training set can be problematic, particularly when there is non-linearity in the model function or when the selected regression algorithm imposes constraints on extrapolation (e.g., Gaussian process regression). However, using an inverse model, the prediction module 248 may linearly project onto the model input space boundary with a tangent while preserving potential non-linear relationships derived from the investigated portion of the process space. In one example, the machine learning model may be a neural network that includes a non-linear activation in the hidden layer and a linear activation function in the output layer. The linear activation function may enable more efficient and accurate linear extrapolation. This is advantageous as it may allow an implementer of the manufacturing process to more efficiently identify a portion of the uninvestigated part of the process space that includes solutions (e.g., a set of configurations that result in a product that satisfies the target attributes) by leveraging existing experiments.
[0045] The combination module 228 may combine the outputs of a plurality of different machine learning models to identify regions of a process space where one or more solutions may exist. The output of each machine learning model may represent a particular point in an n-dimensional process space. One or more of the n dimensions may correspond to input parameters, and the particular point corresponds to the values in each dimension and thus may correspond to a set of input values (e.g., n values for n input dimensions). For example, a point in a three-dimensional process space may include values for each of the x, y, and z axes, with each axis corresponding to a different manufacturing input. The combination module 228 may combine the outputs of the plurality of machine learning models to identify a region within the process space, which may be referred to as a solution space. The region of the process space may include a plurality of predicted points (e.g., a distribution of points) rather than a point estimate and may correspond to a region of the unexplored space where a solution may exist. Generally, a point in the process space may be a particular predicted solution, and a region within the process space may include a plurality of predicted solutions. The combination module 228 may combine the plurality of predicted solutions into a combination set (e.g., combination data 126). The combination set may include combination values for each input. The combination values may be a range of values (e.g., values 1.04x to 2.03x), a set of values (e.g., 22 nm, 14 nm, 10 nm, 7 nm, 5 nm), a reference value with a variance value (e.g., a start, middle, or end value with a size value), other values, or a combination of the foregoing.
[0046] The combination module 228 may identify regions within the process space by analyzing the model outputs of a set of machine learning models to identify regions. The dimensionality of the regions may depend on the dimensionality of the process space and may correspond to lines, areas, volumes, or other multi-dimensional regions. In a simple example, the model outputs of a set of machine learning models may be represented as a point cloud within an uninvestigated region of an n-dimensional process space (e.g., a 3D space). The combination module 228 may analyze the point cloud and identify regions that may have any shape (e.g., spheres, cubes, pyramids, toroids). The identified regions may represent the solution space and may include some or all of the model output points. The regions (e.g., solution space) may correspond to a finite or infinite number of points, and each point may be a candidate solution. An advantage of the combination module 228 is that the identified regions may be significantly smaller than the process space and may be within the uninvestigated space, the investigated space, or a combination of the foregoing. In one example, the combination module 228 may identify regions within the process space by using ensemble techniques.
[0047] Ensemble techniques may be the same as or similar to ensemble learning or ensemble methods and may use a set of machine learning models to obtain prediction performance that is better than any individual machine learning model in the set. Ensemble techniques may combine the outputs of multiple machine learning models. Machine learning models may be based on fewer features, trained on less data, have lower accuracy, have greater variance, other aspects, or a combination of the foregoing and may be referred to as weak learners. Each weak learner may approximate the output without overfitting the training data.
[0048] The techniques disclosed in this specification may use one or more different types of ensemble techniques such as bagging, boosting, stacking, other techniques, or combinations of the foregoing. Bagging may involve treating each model output in a set with equal weight. To promote model diversity, bagging may involve training each model in a set using randomly selected subsets of the training dataset. In one example, the set of models may be a homogeneous set of models trained in parallel to be different from each other, and the model outputs may be combined using an averaging process (e.g., deterministic averaging). Boosting may involve incrementally building a combined input (e.g., a specified area) by training each new model instance to emphasize the training instances misclassified by previous models. Boosting may produce better accuracy than bagging, but may be more likely to overfit the training data. In one example, boosting may involve a homogeneous set of models trained sequentially, where one or more models may be determined based on one or more previous models (e.g., a base model and intermediate models). Stacking may involve training a learning technique to combine the predictions of several other learning techniques. All other algorithms are trained using the available data, and then a combiner algorithm is trained to make a final prediction using all the predictions of the other algorithms as additional input. In one example, stacking may involve a heterogeneous set of models, the models may be trained in parallel, and the model outputs may be combined using another model (e.g., a meta-model, an aggregation model, a combination model) that outputs a prediction based on different constituent predictions. In other examples, the ensemble technique may involve Bayesian Model Combination (BMC), Bayesian Model Averaging (BMA), other techniques, or combinations of the foregoing.
[0049] The combination module 228 may, in addition to or instead of, perform an unsupervised machine learning task to group model outputs into a plurality of regions (e.g., a plurality of solution spaces). The unsupervised machine learning task may be the same as or similar to clustering, which may group points based on features (e.g., corresponding input values), and may select both the number of groups and group boundaries based on feature patterns. Each group may correspond to a specified region (e.g., a solution space) and may be referred to as a cluster, set, classification, set, subset, other term, or a combination of the foregoing. Each group may have a centroid and centroid dispersion that define the group and indicate a region within the process space. Clustering may be performed based on a clustering technique that is the same as or similar to K-means, K-medoids, fuzzy C-means, hierarchical, Gaussian mixture, hidden Markov model, other techniques, or a combination of the foregoing. The combination module 228 may then store one or more points, regions, or other data in the data store 240 as the region 249.
[0050] The presentation component 230 may access the data of the inference component 220 and present the data to the user. In one example, the presentation component 230 may include a solution space presentation module 232, a selection module 234, and a start module 236.
[0051] The solution space hint module 232 may enable the computing device 120 to provide a user interface for displaying one or more solution spaces. The user interface may be a graphical user interface including one or more graphs, and each graph may include one or more dimensions (e.g., x, y, and z dimensions). Each dimension may respectively correspond to a manufacturing input, and the position of a point or region with respect to the dimension may indicate a value for the manufacturing input. The graph may display experimental points, predicted points, or a combination of the foregoing. For example, the graph may represent a process space (e.g., available manufacturing input values), and display points corresponding to each physical experiment (e.g., experimental points) and points based on model output (e.g., predicted points). The predicted points may be between the experimental points when based on interpolation, or beyond the experimental points when based on extrapolation. The graph may use one or more of lines (e.g., dividing lines, boundary lines, contours), colors (e.g., red points, red regions), formatting (e.g., thick lines, underlines, italics), other emphasis, or a combination of the foregoing to emphasize points or regions.
[0052] When points in the solution space correspond to four or more dimensions (e.g., vectors having four or more values), it may be difficult to visualize the corresponding set of input values using a single graph. In such cases, the user interface may provide multiple graphs, each representing the same point or region and displayed along different dimensions. For example, a single point may correspond to a value along the x dimension (e.g., a temperature value), a value along the y dimension (e.g., a pressure value), a value along the z dimension (e.g., a distance value), and a value along the t dimension (e.g., a time value). A first graph may visually represent the point along the x and y dimensions (e.g., a graph having an x-axis and a y-axis), and a second graph may visually represent the point along the z and t dimensions (e.g., a graph having a z-axis and a t-axis).
[0053] The selection module 234 may enable the computing device 120 to select one or more points or regions within the solution space. The selection may be based on user input, device input, other input, or a combination of the foregoing. In one example, the selection module 234 may receive user input from a user (e.g., a process engineer) that identifies one or more points or regions within the solution space. In another example, the selection module 234 may receive device input from an administrative device (e.g., a manufacturing controller) that identifies one or more points or regions within the solution space. The selection module 234 may then present one or more details regarding the selection (e.g., predicted input values), store the selection, or otherwise enable the start module 236 to make the selection available.
[0054] The start module 236 may enable the computing device 120 to start an experiment in terms of a solution (e.g., a point in the solution space). The experiment may be a physical experiment that causes one or more manufacturing devices to modify a physical product, or a computer simulation experiment that models the effect of a manufacturing process on one or more products. The start module 236 may analyze the selection, determine input data for the manufacturing process, and provide that data to one or more computing devices that perform the experiment.
[0055] FIG. 3 is a block diagram showing a system 300 for training and selecting a machine learning model. The system 300 may perform data partitioning 310 of the input data 122 and output data 124 of the manufacturing process 110 to generate a training set 302, a validation set 304, and a test set 306. For example, the training set 302 may be 60% of a superset of the available data from the manufacturing process, the validation set 304 may be 20% of the superset, and the test set may be 20% of the superset. The system 300 may generate a plurality of feature sets for each of the training set, the validation set, and the test set. For example, the input data 122 and output data 124 of the manufacturing process may represent 100 data points using 20 manufacturing inputs (e.g., process parameters, hardware parameters, etc.). Both the first data set and the second data set may include all 20 manufacturing inputs, but the first data set may include data points 1 to 50, and the second data set may include data points 51 to 100.
[0056] In block 312, system 300 may perform model training using training set 302 in relation to the training component 210 of FIG. 2. System 300 may train multiple models using multiple feature sets of the training set 302 (e.g., the first feature set of the training set 302, the second feature set of the training set 302, etc.). For example, system 300 may train a machine learning model using the first feature set of the training set (e.g., annotated manufacturing output data), and generate a second trained machine learning model using the second feature set of the training set. In some embodiments, the first trained machine learning model and the second trained machine learning model may be used to generate a third trained machine learning model (which may be a better predictor than the first or second trained machine learning model itself). In some embodiments, the feature sets used to compare the models may overlap. In some embodiments, hundreds of models, including models based on the same training set or different training sets, may be generated.
[0057] In block 314, system 300 performs model verification using verification set 304. System 300 may verify each of the trained models using the corresponding feature set of the verification set 304. For example, system 300 may verify the first trained machine learning model using the first feature set of the verification set, and verify the second trained machine learning model using the second feature set of the verification set. In some embodiments, system 300 may verify hundreds of models generated in block 312 (e.g., models including various substitutions of features, combinations of models, etc.).
[0058] At block 314, system 300 may additionally or alternatively determine the accuracy of each of one or more trained models, and may determine whether one or more of the trained models have an accuracy that meets a threshold accuracy. In response to a determination that none of the trained models have an accuracy that meets the threshold accuracy, the flow returns to block 312 and system 300 performs model training using a different feature set of the training set. In response to a determination that one or more of the trained models have an accuracy that meets the threshold accuracy, the flow proceeds to block 316. System 300 may discard a trained machine learning model that has an accuracy lower than the threshold accuracy (e.g., based on a validation set).
[0059] At block 316, system 300 may perform model selection to determine which of one or more trained models that meet the threshold accuracy (e.g., selected model 308 based on the validation of block 314) has the highest accuracy. In response to a determination that two or more of the trained models that meet the threshold accuracy have the same accuracy, the flow may return to block 312 and system 300 performs model training using a more refined training set corresponding to a more refined feature set to determine the trained model with the highest accuracy.
[0060] At block 318, system 300 performs a model test using test set 306 to test the selected model 308. System 300 may test a first trained machine learning model using a first feature set of the test set to determine that the first trained machine learning model meets a threshold accuracy (e.g., based on the first feature set of test set 306). In response to the accuracy of the selected model 308 not meeting the threshold accuracy (e.g., the selected model 308 is overfitted to the training set 302 and / or validation set 304 and is not applicable to other data sets such as test set 306), the flow proceeds to block 312 where system 300 performs model training (e.g., retraining) using different training corresponding to different feature sets. In response to the determination that the selected model 308 has an accuracy that meets the threshold accuracy based on test set 306, the flow proceeds to block 320. At least at block 312, the model may learn patterns of input data 122 and output data 124 to make predictions, and at block 318, system 300 may apply the model to the remaining data (e.g., test set 306) to test the predictions.
[0061] At block 320, system 300 uses the trained machine learning model (e.g., the selected model 308) to analyze the predicted output data 124 and provide predicted input data for the manufacturing process. In some embodiments, the flow may proceed to block 312 (e.g., via a feedback loop not shown), the model output is used to execute the manufacturing process, and the resulting model output, manufacturing output, or combination thereof described above may be used to update the trained model via model training (e.g., model retraining). In some embodiments, in response to receiving additional training data (e.g., ground truth feedback or corresponding manufacturing process attributes), the flow may proceed to block 310 to retrain the trained machine learning model based on the additional data and the original data.
[0062] In some embodiments, one or more of the operations of blocks 310-320 may be performed in various orders and / or may be accompanied by other operations not presented or described herein. In some embodiments, one or more of the operations of blocks 310-320 may be absent. For example, in some embodiments, one or more of the data partitioning of block 310, the model verification of block 314, the model selection of block 316, or the model testing of block 318 may not be performed.
[0063] FIG. 4 shows a flow diagram of one example of a method 400 for performing predictive modeling to identify inputs to a manufacturing process, according to one or more aspects of the present disclosure. Each of method 400 and its individual functions, routines, subroutines, or operations may be performed by one or more processors of a computer device executing the method. In a particular implementation, method 400 may be performed by a single computing device. Alternatively, method 400 may be performed by two or more computing devices, each computing device executing one or more of the individual functions, routines, subroutines, or operations of the method.
[0064] For simplicity of explanation, the methods of the present disclosure are illustrated and described as a series of acts. However, the acts according to the present disclosure can be performed in various orders and / or simultaneously, and with other acts not presented or described herein. Further, not all acts illustrated are required to implement the methods according to the disclosed subject matter. Additionally, one of ordinary skill in the art will understand and recognize that the methods can alternatively be represented as a series of correlated states, either in a state diagram or by events. Further, it should be recognized that the methods disclosed herein can be stored on a manufacture's product to facilitate transmission and migration of such methods to a computing device. As used herein, the term "manufacture's product" shall include any computer program accessible from any computer readable device or storage medium. In one implementation, method 400 may be implemented by inference component 220 as shown in FIG. 2.
[0065] Method 400 may be implemented by a processing device of a server device or a client device, and may begin at block 402. At block 402, the processing device may receive predicted output data for a manufacturing process. The predicted output data may define the attributes of the output in a future execution of the manufacturing process. In one example, the predicted output data for a manufacturing process may include one or more values indicative of layer thickness, layer uniformity, or product structural width, output by the manufacturing process.
[0066] At block 404, the processing device may access a plurality of machine learning models that model the manufacturing process. The plurality of machine learning models may include a plurality of inverse machine learning models, each of which receives a predicted output of the manufacturing process as a model input and generates different input data for the manufacturing process as a model output. In one example, the plurality of machine learning models may be a homogeneous set of machine learning models that share a model architecture and are trained using different hyperparameters, different initialization values, or different training data. The machine learning models may be trained using data from a plurality of previous executions of the manufacturing process. The training process may involve accessing input data and output data of the manufacturing process from the same or different data sources. The output data may be annotated with labels indicating the corresponding input data used by the manufacturing process. The annotated output data may sometimes be referred to as training data, and each machine learning model may be trained based on the same or different training data.
[0067] In one example, the plurality of machine learning models may be feed-forward neural networks (FFNNs). Each feed-forward neural network may model the manufacturing process and may output a set of inputs to constitute the manufacturing process. Each feed-forward neural network may include an input layer, an output layer, and a plurality of hidden layers that collectively function to mathematically model the manufacturing process. The plurality of hidden layers may include polynomial functions, and the output layer may include one or more linear activation functions that have no polynomial functions and enable more efficient and accurate extrapolation.
[0068] At block 406, the processing device may determine input data for the manufacturing process based on predicted output data for the manufacturing process using a first machine learning model. The determination may involve executing an inference engine that linearly extrapolates the predicted output data for the manufacturing process to identify the input data for the manufacturing process. In one example, the input data for the manufacturing process may include a set of configuration values for the manufacturing process that includes values for at least one of time, temperature, pressure, voltage, or gas flow.
[0069] At block 408, the processing device may combine the input data determined using the first machine learning model and the input data determined using the second machine learning model to create a set of inputs for the manufacturing process. The set of inputs may include a plurality of candidate values for a first input of the manufacturing process and a plurality of candidate values for a second input of the manufacturing process. Each machine learning model of the plurality of machine learning models may create values for the first input and values for the second input, and the combination may create a range of values for the first input and a range of values for the second input. In one example, the combination may involve using an ensemble technique to combine the outputs of the plurality of machine learning models. The combination may additionally or alternatively involve clustering different inputs for the manufacturing process into a plurality of groups, where the first group includes the model outputs of a first set of machine learning models and the second group includes the model outputs of a second set of machine learning models.
[0070] In block 410, the processing device may store a set of inputs for the manufacturing process in a storage device. The stored data may be sent to one or more computing devices that present the stored data to the user using a user interface. The stored data may include multiple candidate input sets, and each candidate input set may include input values for the manufacturing process that correspond to expected output data for the manufacturing process. The user interface may receive a user selection of one of the multiple candidate input sets, and the selected input values may be used to initiate execution of the manufacturing process. In response to completion of the operations described above herein with reference to block 410, the method may end.
[0071] FIG. 5 is a block diagram showing a computer system 500 according to a particular embodiment. In some embodiments, computer system 500 may be connected to other computer systems (e.g., via a network such as a local area network (LAN), intranet, extranet, or the Internet). Computer system 500 may operate within the capacity of a server or client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. Computer system 500 may be provided by a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, web appliance, server, network router, switch or bridge, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the device. Further, the term "computer" shall be taken to include any collection of computers that individually or jointly execute a set of instructions (or multiple sets) to perform one or more of the methods described herein.
[0072] In a further aspect, computer system 500 may include a processing device 502, a volatile memory 504 (e.g., random access memory (RAM)), a non-volatile memory 506 (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device 516, which may communicate with each other via bus 508.
[0073] The processing device 502 may be provided by one or more processors such as a general-purpose processor (e.g., a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor implementing other types of instruction sets, or a microprocessor implementing a combination of types of instruction sets), or a dedicated processor (e.g., an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), or a network processor, etc.).
[0074] The computer system 500 may further include a network interface device 522. The computer system 500 may also include a video display unit 510 (e.g., an LCD), an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), and a signal generation device 520.
[0075] In some implementations, the data storage device 516 may include a non-transitory computer-readable storage medium 524 storing instructions 526 encoding any one or more of the methods or functions described herein, such as instructions encoding the training component 210, the inference component 220, or the presentation component 230 of FIG. 2.
[0076] Command 526 may also reside, wholly or partially, in volatile memory 504 and / or in processing device 502 during execution by computer system 500, and thus, volatile memory 504 and processing device 502 may also constitute a machine-readable storage medium.
[0077] Although computer-readable storage medium 524 is shown as a single medium in the exemplary example, the term "computer-readable storage medium" shall include a single medium or multiple media (e.g., centralized or distributed databases, and / or associated caches and servers) that store one or more sets of executable instructions. Also, the term "computer-readable storage medium" shall include any tangible medium that can store or encode instructions executable by a computer to cause the computer to perform any one or more of the methods described herein. The term "computer-readable storage medium" shall include, but not be limited to, solid-state memory, optical media, and magnetic media.
[0078] The methods, components, and features described herein may be implemented by discrete hardware components or integrated into the functionality of other hardware components such as ASICs, FPGAs, DSPs, or similar devices. Additionally, the methods, components, and features may be implemented by firmware modules or functional circuits within a hardware device. Further, the methods, components, and features may be implemented in any combination of hardware devices and computer program components or by a computer program.
[0079] Unless otherwise specifically instructed, terms such as "receive", "determine", "select", "preprocess", "measure", "report", "update", "input", "train", "create", "add", "fail", "cause to perform", "perform", "generate", "use", "compare", "invert", "shift", "rotate", "zoom", etc. refer to actions and processes that are carried out or realized by a computer system, which manipulate data represented as physical (electronic) quantities in the registers and memories of the computer system and convert them into other data similarly represented as physical quantities in the memory or registers of the computer system, or in other such information storage, transmission, or display devices. Also, terms such as "first", "second", "third", "fourth", etc., when used in this specification, mean labels for distinguishing different elements and may not have the meaning of ordinal numbers according to their numerical designations.
[0080] The examples described in this specification also relate to an apparatus for performing the operations described in this specification. This apparatus may be specially constructed to perform the methods described in this specification, or may include a general-purpose computer system selectively programmed by a computer program stored in the computer system. Such a computer program may be stored in any computer-readable tangible storage medium.
[0081] The methods and examples described in this specification are not inherently related to any particular computer or other device. According to the teachings described in this specification, various general-purpose systems may be used, or it may prove convenient to construct more specialized devices to perform the methods described in this specification and / or their individual functions, routines, subroutines, or operations respectively. Examples of structures for various of these systems are explained in the above description.
[0082] The foregoing description is for the purposes of illustration and not limitation. Although the present disclosure has been described with reference to specific examples and implementations, it will be recognized that the present disclosure is not limited to the examples and implementations described. The scope of the present disclosure should be determined with reference to the appended claims, together with the full scope of equivalents to which the claims are entitled.
Claims
**Claim 1** Receiving, by a processing device, predicted output data for the manufacturing process that defines an attribute of an output of the manufacturing process; Accessing, by the processing device, a plurality of machine learning models including a first machine learning model and a second machine learning model that model the manufacturing process; Determining, by the first machine learning model, input data for the manufacturing process including a value for a first input and a value for a second input based on the predicted output data for the manufacturing process; Generating, by the processing device, a set of inputs for the manufacturing process including a plurality of candidate values for the first input and a plurality of candidate values for the second input by combining the input data determined using the first machine learning model with input data determined using the predicted output data and the second machine learning model; Storing, by the processing device, the set of inputs for the manufacturing process in a storage device. **Claim 2** The method of claim 1, wherein the plurality of machine learning models include a plurality of inverse machine learning models, each of the plurality of inverse machine learning models receiving the predicted output of the manufacturing process as a model input and generating different input data for the manufacturing process as a model output. **Claim 3** The method of claim 2, further comprising clustering the different inputs for the manufacturing process into a plurality of groups, wherein a first group includes a set of inputs including the value for the first input and the value for the second input. **Claim 4** The method of claim 1, wherein the input data for the manufacturing process includes a set of configuration values including values for at least one of time, temperature, pressure, voltage, or gas flow. **Claim 5** The method of claim 1, wherein the predicted output data for the manufacturing process includes one or more values indicating layer thickness, layer uniformity, or product structural width output by the manufacturing process. **Claim 6** The method of claim 1, wherein each machine learning model of the plurality of machine learning models creates a value for the first input and a value for the second input, and the combining creates a range of values for the first input and a range of values for the second input. **Claim 7** The method according to claim 1, wherein the plurality of machine learning models includes a set of homogeneous machine learning models, and the machine learning models in the set of homogeneous models share a model architecture and are trained using different hyperparameters, different initialization values, or different training data.
8. The method according to claim 1, wherein combining comprises using an ensemble technique to combine the outputs of the plurality of machine learning models.
9. The method according to claim 1, wherein the plurality of machine learning models includes a plurality of feedforward neural networks (FFNNs), and each of the plurality of feedforward neural networks models the manufacturing process and determines a set of inputs to configure the manufacturing process.
10. The method according to claim 1, wherein the first machine learning model includes a feedforward neural network, the feedforward neural network includes an output layer and a plurality of hidden layers for modeling the manufacturing process, the plurality of hidden layers includes a polynomial function, and the output layer includes a linear activation function.
11. The method according to claim 1, wherein determining the input data for the manufacturing process using the first machine learning model includes executing an inference engine that linearly extrapolates the predicted output data of the manufacturing process to identify the input data for the manufacturing process.
12. providing, for display, a plurality of candidate input sets, each including input values for the manufacturing process corresponding to the predicted output data for the manufacturing process; receiving a user selection of one of the input sets from the plurality of candidate input sets; and further including starting execution of the manufacturing process using the input values. The method according to claim 1.
13. a memory; a processing device communicatively coupled to the memory, the processing device receiving predicted output data for the manufacturing process that defines attributes of an output of the manufacturing process; accessing a plurality of machine learning models including a first machine learning model and a second machine learning model that model the manufacturing process; using the first machine learning model to determine input data for the manufacturing process including values for a first input and values for a second input based on the predicted output data for the manufacturing process; Combine the input data determined using the first machine learning model with the predicted output data and the input data determined using the second machine learning model to generate a set of inputs for the manufacturing process, including a plurality of candidate values for the first input and a plurality of candidate values for the second input. A system that stores the set of inputs for the manufacturing process in a storage device. **Claim 14** The system according to claim 13, wherein the plurality of machine learning models include a plurality of feedforward neural networks (FFNNs), and each of the plurality of feedforward neural networks models the manufacturing process and determines a set of inputs to configure the manufacturing process. **Claim 15** The system according to claim 13, wherein each machine learning model of the plurality of machine learning models creates values for the first input and values for the second input, and the combining creates a range of values for the first input and a range of values for the second input. **Claim 16** The system according to claim 13, wherein the plurality of machine learning models include a homogeneous set of machine learning models, and the machine learning models in the homogeneous set share a model architecture and are trained using different hyperparameters, different initialization values, or different training data. **Claim 17** A non-transitory machine-readable storage medium storing instructions that, when executed, cause a processing device to access output data of the manufacturing process associated with input data used by the manufacturing process, train a homogeneous set of machine learning models based on the output data and the input data, the homogeneous set including a first inverse machine learning model trained using a first hyperparameter and a second inverse machine learning model trained using a second hyperparameter, and train a homogeneous set of machine learning models, select output data and input data for the manufacturing process by the processing device, the selected output data defining output attributes of the manufacturing process, and select output data and input data for the manufacturing process. Using the first inverse machine learning model, based on the selected output data for the manufacturing process, to determine a set of inputs for the manufacturing process, including a configuration value for a first input and a configuration value for a second input; comparing, by the processing device, the selected input data for the manufacturing process with the set of inputs determined using the first inverse machine learning model; A non-transitory machine-readable storage medium that causes an operation including this. **Claim 18** The non-transitory machine-readable storage medium according to claim 17, wherein the set of the same type of machine learning models includes a plurality of inverse machine learning models, and the plurality of inverse machine learning models share a model architecture and are trained using different initialization values, different training data, and different hyperparameters. **Claim 19** The non-transitory machine-readable storage medium according to claim 17, wherein the first inverse machine learning model and the second inverse machine learning model each include a feed-forward neural network (FFNN), and the feed-forward neural network models the manufacturing process and determines a set of inputs to configure the manufacturing process. **Claim 20** The non-transitory machine-readable storage medium according to claim 19, wherein the feed-forward neural network includes an output layer and a plurality of hidden layers for modeling the manufacturing process, the plurality of hidden layers include polynomial functions, and the output layer includes a linear activation function.
Citation Information
Patent Citations
Method and apparatus for control of feedback of process using neural network
JP1995175876A
Optimum manufacture, control, and indication condition generating device
JP1996006605A
Quantity-of-state estimating method for production process
JP1999202903A
Ophthalmologic apparatus and IOL diopter determination program
JP2018051223A
System and method for inverse inference for manufacturing process chain
JP2020068038A