Predictive modeling of manufacturing processes using a set of inverted models

Inverted machine learning models predict manufacturing inputs efficiently, addressing complexity in manufacturing processes by reducing experiments and resource consumption, enabling faster optimization and better outcomes.

JP2026123087APending Publication Date: 2026-07-29APPLIED MATERIALS INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
APPLIED MATERIALS INC
Filing Date
2026-04-17
Publication Date
2026-07-29

AI Technical Summary

Technical Problem

Manufacturing processes become increasingly complex with multiple steps and inputs, making it inefficient to identify optimal input settings through manual experimentation or simulation, especially as the number of inputs increases.

Method used

A set of inverted machine learning models is used to predict manufacturing inputs based on expected outputs, combining outputs of multiple models to identify a range of input values that satisfy desired product attributes, reducing the need for physical experimentation and improving efficiency.

Benefits of technology

This approach significantly reduces the number of experiments and resource consumption, enabling faster process development and optimization, and provides insights into input-output relationships, leading to better manufacturing outcomes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026123087000001_ABST
    Figure 2026123087000001_ABST
Patent Text Reader

Abstract

Predictive modeling is performed to predict the optimal input parameters for the manufacturing process. [Solution] The method includes receiving expected output data for a manufacturing process that defines the attributes of the output of the manufacturing process; accessing multiple machine learning models that model the manufacturing process; using a 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 expected output data for the manufacturing process; and combining 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, including candidate values ​​for a first input and candidate values ​​for a second input.
Need to check novelty before this filing date? Find Prior Art

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 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] The following briefly presents an overview of the present disclosure in order to provide a basic understanding of some aspects of the present disclosure. This overview is not intended to provide 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 in detail any scope in particular implementations of the present disclosure or any scope in the claims. Rather, its purpose is simply 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: a processing device receiving expected output data for a manufacturing process that defines the attributes of the 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 expected 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 a first input and a plurality of candidate values ​​for a second input; and the processing device storing the set of inputs for the manufacturing process in a storage device.

[0005] In another aspect of the present disclosure, the system includes memory and a processing device coupled to the memory. The processing device receives expected output data for a manufacturing process that defines the attributes of the 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, uses 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 expected 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-temporary machine-readable storage medium stores instructions, and when executed, the instructions cause the processing device to perform operations including: accessing output data of a manufacturing process associated with input data used by the manufacturing process; training a first machine learning model based on the input and output data; receiving expected output data for a manufacturing process that defines output attributes 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 a manufacturing process, including a first value for a first input attribute and a first value for a second input attribute, based on the expected output data for the manufacturing process; and 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 a manufacturing process, including a plurality of values ​​for a first input attribute and a plurality of values ​​for a second input attribute.

[0007] This disclosure is illustrated, not as an limitation, in the drawings of the attached drawings. [Brief explanation of the drawing]

[0008] [Figure 1] This block diagram shows an exemplary system architecture according to a specific embodiment. [Figure 2] This figure shows an example computing device according to a specific embodiment. [Figure 3] This block diagram shows an example system for training a machine learning model according to a specific embodiment. [Figure 4] This flowchart illustrates an example method for predicting input values ​​to a manufacturing process using a set of machine learning models, according to a specific embodiment. [Figure 5] This is a block diagram showing a computer system according to a specific embodiment. [Modes for carrying out the invention]

[0009] Manufacturing processes are constantly increasing in complexity and often involve a large number of steps. Each step may have a different configuration and be associated with different process engineers with expertise in different domains. Different steps may be correlated and modeled using computer-generated models. Computer-generated models are often causal models that represent the causal relationship between manufacturing inputs and their corresponding manufacturing outputs. A model may take one or more manufacturing input settings as inputs and provide predictions of their impact on the manufacturing output. A process engineer may manually select different inputs and use the model to simulate their impact on the manufacturing output. A process engineer often has an intended output that they are trying to create and may hypothesize which inputs to modify. The process engineer may then initiate computer simulations or physical experiments 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 only one process engineer and a small number of inputs involved in the manufacturing process. As the number of inputs increases, the variability of the inputs increases, and the efficiency of the selection and experimentation process decreases.

[0010] The techniques disclosed herein can address the aforementioned and other shortcomings by providing a technique for generating a set of models that can be used to predict manufacturing inputs based on expected manufacturing outputs (e.g., target attributes, intended results, end goals). The set of models includes one or more inverted models that provide output / input modeling (the opposite of 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 that are based on a common model architecture but are trained differently to create different versions of the model. Training may be based on variability in training data, hyperparameters, initialization values, other differences, or combinations thereof.

[0011] Each trained machine learning model in the set receives the same manufacturing output data as model input and predicts a different set of inputs to the manufacturing process. Each set of inputs is selected to produce a product that satisfies the expected output data (e.g., target attributes of the manufactured product). Inputs derived using different models may be combined to identify a range of values ​​for each manufacturing input that is predicted to satisfy or conform to the expected manufacturing output (e.g., obtaining target attributes or intended results). In one example, the set of models is a feedforward neural network (FFNN) and together functions as an ensemble learning technique. The outputs of the set of feedforward neural networks may be clustered into different groups, each group sharing similarities in corresponding sets of manufacturing inputs (e.g., the first group may focus on variability for a first manufacturing input, and the second group may focus on variability for a second manufacturing input).

[0012] The systems and methods described herein include techniques for improving the identification of manufacturing input data (e.g., configuration parameters) that result in a product with default attributes. In particular, aspects of this disclosure can reduce the amount of physical experimentation or computer simulation performed to identify the 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 input and simulate the output of the manufacturing process. To identify the optimal manufacturing inputs, a process engineer may select different combinations of inputs and run them as different simulations. By using an inverted model, the model may take the final result as input to the model and output a predicted set of manufacturing inputs that arrive at the final result. This can result in fewer experiments or better results using the same amount of experiments. 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 allows the technique to use machine learning in a way that provides a certain level of interpretability and explainability to the predictive model. The technology may provide insights into how changes to input data affect manufacturing output and may reduce the number of computer simulations or physical experiments performed to identify a particular solution. Aspects of this disclosure can also result in significant reductions in process engineering time, resource consumption, and processor overhead. In one example, predictive manufacturing input can result in faster process development and optimization (e.g., with respect to semiconductor manufacturing). In another example, predictive manufacturing input can enable faster production of products and optimize them (e.g., better fit within specifications) than conventional policies.

[0013] Various aspects of the technology referenced above are described in detail herein not as limitations but as examples. The examples provided below consider a computing device that integrates 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 generate data that can later be used by the computing device or the user to configure the manufacturing process.

[0014] Figure 1 is a block diagram showing an exemplary system architecture 100 according to a particular embodiment. The system architecture 100 includes a manufacturing process 110, an input 112, an output 114, and one or more computing devices 120A to Z.

[0015] The manufacturing process 110 may be any manufacturing process that can provide or produce one or more products 116. Products 116 may be intended for use or sale and may be tangible or intangible objects, articles, services, other products, or combinations thereof. Tangible products may be touched by humans and may include physical products, objects, elements, articles, or other objects (e.g., etched wafers, microchips, electronic devices). Intangible products may be perceived directly or indirectly by humans without touching them and may include circuit designs, device layouts, manufacturing recipes, tool configurations, computer programs, services, other intangible elements, or combinations thereof.

[0016] The manufacturing process 110 may also involve performing an operation based on the input 112 to provide an output 114. The input 112 may include any inputs that the manufacturing process 110 uses to provide a product 116. The input 112 may include one or more input products that are modified, assembled, or combined during the manufacturing process 110. The output 114 may be anything that the manufacturing process 110 outputs and may include the product 116 and any by-products of the manufacturing process 110. Both the input 112 and the output 114 may be associated with data; for example, the input 112 may be associated with input data 122 (e.g., configuration data), and the output 114 may be associated with output data 124 (e.g., product attribute data).

[0017] The input data 122 may be any data that defines one or more inputs to the manufacturing process 110. The input data 122 may represent one or more attributes of the input product, configuration, setting, or other data. The input data 122 may be the same as or similar to parameter data, setting data, configuration data, other data, or a combination of the foregoing. The input data 122 may include one or more values ​​(e.g., parameter values, setting values, configuration values) that indicate how the manufacturing process is carried out. For example, the input data 122 may include one or more values ​​corresponding to time (e.g., deposition time, etching time, oxidation time, embedding 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, width, height, depth of feature), pressure (e.g., Pascals, Bars), input material (e.g., precursor, reactant, diluent), other attributes or properties, or a combination of the foregoing.

[0018] The output data 124 may be any data describing one or more outputs of the manufacturing process 110. The output data 124 may describe one or more attributes of the product 116, by-products, other outputs, or a combination thereof. The output data 124 may include values ​​indicating the actual attributes of the product 116 after it has been created, or the intended attributes of the product 116 before it has been created. The attributes may correspond to one or more measurements of the product 116. The measurements may relate to dimensions (e.g., length, width, height, depth, thickness, radius, diameter, area, volume, size), material properties (e.g., reflectance, emissivity, absorptiveness, conductivity, density, texture), uniformity (e.g., uniformity of film thickness), location (e.g., relative or absolute position), other attributes, or a combination thereof. In one example, the output data 124 may show the attributes of the product 116 in the form of N-point metrology, where N represents the number of reference measurements for the product (e.g., 49 measurements). N-point measurement may provide important dimensions (e.g., dimensions of a transistor or via) for one or more electronic components of a semiconductor product.

[0019] Computing devices 120A-Z may include one or more computing devices associated with the manufacturing process 110. Computing devices 120A-Z may include embedded systems, servers, workstations, personal computers, laptop computers, tablet computers, mobile phones, palm-sized computing devices, personal digital assistants (PDAs), etc. For example, computing devices 120A-Z may include computing devices implementing x86 hardware (e.g., Intel® or AMD®). For another example, computing devices 120A-Z may include computing devices implementing PowerPC®, SPARC®, or other hardware.

[0020] One or more of the computing devices 120A to Z may function as a manufacturing control device, a sensor device, a user device, another device, or a combination thereof. 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 thereof. A sensor device (e.g., a sensor) may be able to perceive one aspect of the manufacturing process 110 or one aspect of the product 116 and may be accompanied by measuring components that can measure attributes of the manufacturing process 110 or the product 116. In one example, a sensor device may include an image acquisition module or an acoustic acquisition module. A 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 information to the user (e.g., display and / or announce) and may include one or more control elements that collect user input. One or more of the computing devices 120A to Z may use a set of machine learning models 121A to Z to determine the input data 122A to Z for the manufacturing process 110.

[0021] 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 in 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 and an uninvestigated portion. The investigated portion may correspond to a point or region in the process space that corresponds to a previous physical experiment, a computer simulation experiment, or a combination thereof. The uninvestigated portion of the process space may correspond to a latent or theoretical experiment. The process space may include any number of dimensions, the number of dimensions may relate to the number of manufacturing inputs, manufacturing outputs, or attributes of the combination thereof. Machine learning models 121A-Z may be used to approximate the process space and identify latent solutions in the process space. A latent solution may be a set of one or more manufacturing inputs and may correspond to a point, line, surface, area, volume, or other region in the process space.

[0022] Each of the machine learning models 121A-Z may be an artifact of the machine learning process, analyzing training data and creating a model that represents the patterns and inferences derived from the training data. The machine learning models may be the same as or similar to mathematical models, statistical models, neural networks, other mathematical representations, or combinations thereof. 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.

[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 combinations 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 Figure 2.

[0024] Machine learning models may be neural networks that are trained and used as part of a deep learning process. Neural networks may be referred to by the network, artificial neural network (ANN), or other terms. In one example, machine learning models 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 proceeds from the input layer to the output layer). In other examples, machine learning models 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 combinations 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 a different transformation on the input to the layer. The data may be transmitted from the first layer to the last layer, or may not cross the layer more than once (usually once in the case of 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, having no, or not having any mathematical non-linearity).

[0026] The linear activation function may be the same or similar to the transfer function, and given an input or set of inputs, may define the output of the element. In one example, the activation function may be a rectified function defined as f(x)=x += max(0,x), may receive both negative and positive inputs, and may output a value that is zero or greater and has no negative values. The rectified function may be implemented by a rectified linear unit (ReLU), may be the same 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 a combination of the foregoing.

[0027] Machine learning models 121A to Z may each function as a non-inverted model, an inverted model, or a combination of the above. A non-inverted model may model a manufacturing process, taking the input data of the manufacturing process as model inputs and providing the output data of the manufacturing process as model outputs (e.g., mapping manufacturing inputs to outputs). This allows the model to simulate the execution of the manufacturing process. In contrast, an inverted model may model the manufacturing process in reverse order, using manufacturing output data 124 as model input 112 and providing manufacturing input data 122 as model outputs 114 (e.g., mapping manufacturing outputs to inputs). The use of an inverted model can be advantageous because the model can take the final result as input to the model and can provide a predictive set of inputs that lead to the final result. A set of one or more inverted models may be used to identify the input data for the manufacturing process 110, as shown by the set of models 127.

[0028] Model set 127 may be a homogeneous set of machine learning models, a heterogeneous set of machine learning models, or a combination of the aforementioned. 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 at least one model is based on a different model architecture. The model architecture may correspond to a type of neural network, and each of the example neural networks described above may have a different model architecture (e.g., FFNN, CNN, RNN). As shown in Figure 1, model set 127 may be a homogeneous set of machine learning models, sometimes called a model cluster, where 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 a combination of the above. Different training techniques may involve using different training parameters, different model initialization values, other differences, or a combination of the above. Training parameters are sometimes called hyperparameters and may be set before the training process begins to update or create the machine learning model. The training process will be discussed in more detail in relation to Figures 2 and 3.

[0030] Each machine learning model 121A to Z may generate its own model output, or the collective output of the model set 127 may be combined. Each machine learning model 121A to Z may have access to the same model input 112, but may generate different model outputs 114. This is shown in Figure 1, where the same output data 124 is provided to each machine learning model 121A to Z, and each machine learning model 121A to Z outputs its own data for the manufacturing process (e.g., input data 122A to 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 represent regions within the process space of the manufacturing process 110, as will be described in more detail in relation to Figure 2.

[0031] Figure 2 shows a block diagram illustrating an exemplary computing device 120 that includes a technique for performing predictive modeling for a manufacturing process using a set of inverted models, according to one or more embodiments of the present disclosure. Computing device 120 may be the same as or similar to one or more of computing devices 120A to Z in Figure 1. The components and modules considered 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 on a first computing device and inference on another computing device). Without loss of generality, more or fewer components or modules may be included. For example, two or more components may be combined to form a single component, or the features of a component may be split into two or more components. In the example shown in Figure 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 from the manufacturing process and create one or more machine learning models. For 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 that 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 thereof. 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 structural width, other important dimensions, or a combination thereof. The data access module 212 may perform one or more processing operations on the data before, during, or after storing the data in the data store 240 as training data 242. Processing may be called preprocessing or postprocessing, and may involve one or more operations such as aggregation, correlation, normalization, addition, removal, filtering, sterilization, 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 thereof. Historical data may be derived from one or more physical runs of a manufacturing process, which may be for commercial, test, experimental, research and development, other applications, or a combination thereof. Simulation data may be derived from one or more computer simulations of a manufacturing process, or may be the output of one or more machine learning models (e.g., input / output models). Augmented data may be based on historical or simulation data that has been manipulated to include variability that may or may not be present in the data being manipulated. The variability may be modified using one or more mathematical transformations (e.g., rigid body transformation, noise addition, noise removal). Augmented data may be the same as or similar to the synthetic data, or may be a modified form of the input data, output data, or a combination thereof.

[0035] The training data 242 may include labeled data, unlabeled data, or a combination of the above. Labeled data may include primary data (e.g., samples) supplemented with auxiliary data (e.g., labels). Auxiliary data may be tags, annotations, links, labels, or other data. Unlabeled data may be data without labels (e.g., missing labels, no labels, no labels). Unlabeled data may be stored without labels and may remain unlabeled or not before being used to train a machine learning model. In one example, the training data 242 may be labeled data including manufacturing output data annotated to link with corresponding manufacturing input data. In another example, manufacturing output data may be annotated to correspond to manufacturing input data. In yet another example, there may be a combination of the above.

[0036] The model creation module 214 may enable the computing device 120 to analyze training data 242 and create a machine learning model 121. The model creation module 214 may use standardized, proprietary, open-source, or other training frameworks to train the machine learning model. The model creation module 214 may configure the training framework to access training data 242 derived from previous runs of the manufacturing process (e.g., physical or simulated runs). For example, the training framework may be the same as or similar to Tensorflow®, Keras®, PyTorch®, Open Neural Network Exchange (Onnx®), Cognitive Toolkit (CNTK), Azure Machine Learning Service, Create ML, other machine learning frameworks, or a combination of the foregoing.

[0037] The model creation module 214 may use a training framework to create one or more sets of models. 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. Each different version of the machine learning model may be trained using different training data, different hyperparameters, different initialization values, other differences, or a combination thereof. In one example, each machine learning model may be a feedforward neural network that models a manufacturing process (e.g., output / input). Each feedforward neural network may include multiple hidden layers and an output layer. The number of layers may differ between different versions of the machine learning model, 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 simulation may estimate a portion of an n-dimensional process space that has been investigated using physical or computer-generated experiments. To better extrapolate outside the investigated space, the machine learning model may be constructed to model an output / input relationship (e.g., an inverted model).

[0038] The storage module 216 may enable the computing device 120 to store the training results 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 a combination thereof. The data store 240 may be memory (e.g., random access memory), drives (e.g., hard drives, flash drives), a database system, or another type of component or device capable of storing data. The data store 240 may include multiple storage components (e.g., multiple drives or multiple databases) that span multiple computing devices (e.g., multiple server computers). 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 the inference engine, and may receive data of the machine learning model 121 and its instances as input, and may perform inference. The inference may be the same as or similar to the prediction 248, and may correspond to one or more values. As discussed herein, the inference component 220 may receive manufacturing forecast output data (e.g., target attribute values) and output forecast 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 allow the computing device 120 to access one or more sets of 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 one or more sets of machine learning models from a local location (e.g., 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 one or more sets of machine learning models from a server on the same network or a different network (e.g., the Internet) via the computer network 130. This may allow the customer to receive models or updates to models from a third party (e.g., a manufacturing tool creator or distributor). In either example, the machine learning models may include mathematical data for analyzing model inputs from the input receiving module 224.

[0041] The input receiving module 224 may enable the computing device 120 to receive input data that can be used as 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., by a process engineer inputting into the 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 initiate one or more physical experiments or computer simulation experiments. In either example, 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 from the perspective of the machine learning model 121 to determine the model output. The model output may include one or more predictions 248, each containing one or more sets of values. As described above, the sets of values ​​may be manufacturing input values ​​(e.g., parameter values) used to constitute the manufacturing process. The prediction module 248 may function as an inference engine or 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 expected 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 unexplored areas of the process space.

[0043] Predicting model output values ​​may involve interpolation, extrapolation, or a combination thereof, using a machine learning model. Interpolation may involve determining points in process space between points investigated using experiments. Extrapolation may involve determining points in process space beyond points investigated using experiments. Interpolation or extrapolation may be performed using one or more tangents. A tangent may touch the curve at one or more curve endpoints and may include one or more points of tangency, tangent lines, tangent planes, tangent spaces, other n-dimensional tangents, or a combination thereof. For example, a straight line may be a tangent to the curve y=f(x) at a point x=c on the curve, where the line passes through a point (c,f(c)) on the curve and has a slope f'(c) (where f' is the derivative of f). A similar definition may apply to space curves and curves in n-dimensional Euclidean space. A 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. Extrapolating regression models beyond the limits of the training set can be problematic, particularly if the model function is nonlinear or if the chosen regression algorithm imposes constraints on extrapolation (e.g., Gaussian process regression). However, using an inverted model, the prediction module 248 may project tangently and linearly onto the model input space boundary while preserving potential nonlinear relationships derived from the investigated portion of the process space. In one example, the machine learning model may be a neural network with nonlinear activations in the hidden layer and a linear activation function in the output layer. A linear activation function may allow for more efficient and accurate linear extrapolation. This is advantageous because it may allow the implementer of the manufacturing process to leverage existing experiments to more efficiently identify uninvestigated portions of the process space, including solutions (e.g., a set of configurations that yield a product satisfying target attributes).

[0045] The combination module 228 may combine the outputs of multiple different machine learning models to identify a region in process space where one or more solutions may exist. The output of each machine learning model may represent a specific point in an n-dimensional process space. One or more of the n dimensions may correspond to input parameters, and a specific point may correspond to a value in each dimension and therefore 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, each axis corresponding to a different manufacturing input. The combination module 228 may combine the outputs of multiple machine learning models to identify a region in process space, which may be called a solution space. The region in process space may include multiple predicted points (e.g., a distribution of points) rather than point estimates, and may correspond to an unexplored region in space where solutions may exist. Generally, a point in process space may be a specific predicted solution, and a region in process space may include multiple predicted solutions. The combination module 228 may combine multiple predicted solutions to form a combination set (e.g., combination data 126). A 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., 22nm, 14nm, 10nm, 7nm, 5nm), a reference value with a variance (e.g., a start, middle, or end value with a size value), other values, or a combination of the above.

[0046] The combination module 228 may identify regions in process space by analyzing the model outputs of a set of machine learning models to identify regions. The number of dimensions of a region may depend on the number of dimensions of process space and may correspond to lines, areas, volumes, or other multidimensional regions. In a simple example, the model outputs of a set of machine learning models may be represented as a point cloud in an unexplored region of an n-dimensional process space (e.g., 3D space). The combination module 228 may analyze the point cloud to identify regions that may have arbitrary shapes (e.g., spheres, cubes, pyramids, rings). The identified regions may represent solution spaces and may contain some or all of the model output points. The region (e.g., solution space) may correspond to a finite or infinite number of points, each of which 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 in unexplored space, explored space, or a combination of the above. In one example, the combination module 228 may identify regions in process space by using an ensemble technique.

[0047] An ensemble technique may be the same as or similar to ensemble learning or an ensemble method, and may use a set of machine learning models to obtain better predictive performance than any individual machine learning model in the set. An ensemble technique may combine the outputs of multiple machine learning models. Machine learning models may be called weak learners if they are based on fewer features, trained on less data, have lower accuracy, have greater variability, or in other manner, or a combination of the foregoing. Each weak learner may approximate the output without overfitting the training data.

[0048] The techniques disclosed herein may use one or more different types of ensemble techniques, such as bagging, boosting, stacking, other techniques, or combinations thereof. Bagging may involve treating each model output of a set with equal weight. To promote model variance, bagging may involve training each model in the set using a randomly selected subset of the training dataset. In one example, the set of models may be a homogeneous set of models trained in parallel so as to be different from one another, and the model outputs may be combined using an averaging process (e.g., deterministic averaging). Boosting may involve incrementally building up a combined input (e.g., a specific region) by training each new model instance to highlight training instances that previous models misclassified. Boosting produces better accuracy than bagging but is more likely to overfit the training data. In one example, boosting may involve a homogeneous set of models trained sequentially, and one or more models may depend on one or more previous models (e.g., a base model and intermediate models). Stacking may involve training a learning technique to combine predictions from several other learning techniques. All other algorithms are trained using available data, and then a combiner algorithm is trained to make a final prediction using all the predictions from the other algorithms as additional input. In one example, stacking may involve a heterogeneous set of models, which may be trained in parallel, and the model outputs may be combined using another model (e.g., a metamodel, an aggregate model, a combination model) that outputs predictions based on different constituent predictions. In another example, the ensemble technique may involve Bayesian Model Combination (BMC), Bayesian Model Averaging (BMA), other techniques, or a combination of the aforementioned.

[0049] The combination module 228 may, in addition or alternatively, perform an unsupervised machine learning task to group the model outputs into multiple regions (e.g., multiple solution spaces). The unsupervised machine learning task may be the same as or similar to clustering, where points are grouped based on features (e.g., corresponding input values), and both the number of groups and the group boundaries may be selected based on a feature pattern. Each group may correspond to a specific region (e.g., a solution space) and may be referred to as a cluster, set, classification, set, subset, other terms, or a combination of the foregoing. Each group may have a centroid and centroidal variance that define the group and indicate a region in the process space. Clustering may be performed based on a clustering technique, such as the same as or similar to K-means, K-medoid, fuzzy C-means, hierarchy, 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 regions 249.

[0050] The presentation component 230 may access the data of the inference component 220 and present the data to the user. For 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 presentation 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, each graph including one or more dimensions (e.g., x, y, and z dimensions). Each dimension may correspond to a manufacturing input, and the position of a point or region relative to a dimension may indicate a value relative to the manufacturing input. The graph may display experimental points, predicted points, or a combination thereof. 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 outputs (e.g., predicted points). Predicted points may be between experimental points if based on interpolation, or beyond experimental points if based on extrapolation. The graph may highlight points or regions using one or more of the following: lines (e.g., dividing lines, boundaries, contours), colors (e.g., red points, red regions), formatting (e.g., bold lines, underlines, italics), other highlighting, or a combination thereof.

[0052] When points in the solution space correspond to four or more dimensions (e.g., vectors with four or more values), it can be difficult to visualize the corresponding sets of input values ​​using a single graph. In such cases, the user interface may provide multiple graphs, each representing the same point or region but displayed along different dimensions. For example, a single point may correspond to values ​​along the x-dimensional (e.g., temperature), along the y-dimensional (e.g., pressure), along the z-dimensional (e.g., distance), and along the t-dimensional (e.g., time). The first graph may visually represent the points along the x and y dimensions (e.g., a graph with x and y axes), and the second graph may visually represent the points along the z and t dimensions (e.g., a graph with z and t axes).

[0053] The selection module 234 may enable the computing device 120 to select one or more points or regions in the solution space. The selection may be based on user input, device input, other input, or a combination thereof. 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 in the solution space. In another example, the selection module 234 may receive device input from a management device (e.g., a manufacturing controller) that identifies one or more points or regions in the solution space. The selection module 234 then presents one or more details about the selection (e.g., predicted input values) and stores the selection, or in some other way, the start module 236 may make an available selection.

[0054] The start module 236 may enable the computing device 120 to initiate an experiment in terms of a solution (e.g., a point in the solution space). The experiment may be a physical experiment in which one or more manufacturing devices modify a physical product, or it may be 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 the input data for the manufacturing process, and provide that data to one or more computing devices that conduct the experiment.

[0055] Figure 3 is a block diagram showing a system 300 for training and selecting a machine learning model. The system 300 may perform data segmentation 310 on the input data 122 and output data 124 of a 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 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 multiple feature sets for each of the training set, validation set, and test set. For example, the input data 122 and output data 124 of the manufacturing process may represent 100 sets of data using 20 manufacturing inputs (e.g., process parameters, hardware parameters, etc.). Both the first and second datasets may contain all 20 manufacturing inputs, but the first dataset may contain data from the 1st to the 50th time, and the second dataset may contain data from the 51st to the 100th time.

[0056] In block 312, system 300 may perform model training using training set 302 in relation to the training component 210 in Figure 2. System 300 may train multiple models using multiple feature sets of training set 302 (e.g., a first feature set of training set 302, a second feature set of training set 302, etc.). For example, system 300 may train a machine learning model using a first feature set of the training set (e.g., annotated manufacturing output data) and generate a second trained machine learning model using a second feature set of the training set. In some embodiments, the first and second trained machine learning models may be used to generate a third trained machine learning model (e.g., a better predictor than the first or second trained machine learning model itself). In some embodiments, the feature sets used to compare models may overlap. In some embodiments, hundreds of models may be generated, including models based on the same or different training sets.

[0057] In block 314, system 300 performs model validation using validation set 304. System 300 may validate each trained model using the corresponding feature set of validation set 304. For example, system 300 may validate a first trained machine learning model using a first feature set from the validation set, and a second trained machine learning model using a second feature set from the validation set. In some embodiments, system 300 may validate hundreds of models generated in block 312 (e.g., models with various feature substitutions, combinations of models, etc.).

[0058] In block 314, system 300 may, in addition or alternatively, determine the accuracy of one or more trained models, and determine whether one or more of the trained models have an accuracy that meets a threshold accuracy. In response to a decision that none of the trained models have an accuracy that meets a threshold accuracy, the flow returns to block 312, where system 300 performs model training using different feature sets of the training set. In response to a decision that one or more of the trained models have an accuracy that meets a threshold accuracy, the flow proceeds to block 316. System 300 may discard trained machine learning models that have an accuracy below a threshold accuracy (for example, based on the validation set).

[0059] In block 316, system 300 may perform model selection to determine which of the one or more trained models that satisfy the threshold precision (e.g., the selected model 308 based on the validation in block 314) has the highest precision. In response to the determination that two or more of the trained models that satisfy the threshold precision have the same precision, the flow may return to block 312, where 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 precision.

[0060] In block 318, system 300 tests the selected model 308 by performing a model test using the test set 306. System 300 may also test a first trained machine learning model using a first feature set of the test set and determine that the first trained machine learning model meets a threshold precision (e.g., based on the first feature set of the test set 306). In response that the precision of the selected model 308 does not meet the threshold precision (e.g., the selected model 308 is overfitted to the training set 302 and / or validation set 304 and is not applicable to other datasets such as the 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 precision that meets the threshold precision based on the test set 306, the flow proceeds to block 320. In at least block 312, the model may learn patterns from the input data 122 and output data 124 to make predictions, and in block 318, the system 300 may apply the model to the remaining data (e.g., test set 306) to test the predictions.

[0061] In block 320, system 300 uses a trained machine learning model (e.g., selected model 308) to analyze the expected 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) where the model output is used to execute the manufacturing process, and the resulting model output, manufacturing output, or combination thereof may be used to update the trained model via model training (e.g., model retraining). In some embodiments, in response to the receipt of 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 actions of blocks 310-320 may be performed in various orders and / or may be accompanied by other actions not disclosed or described herein. In some embodiments, one or more of the actions of blocks 310-320 may be omitted. For example, in some embodiments, one or more of the data segmentation of block 310, model validation of block 314, model selection of block 316, or model testing of block 318 may be omitted.

[0063] Figure 4 shows a flowchart of one example of Method 400, which performs predictive modeling to identify inputs to a manufacturing process, according to one or more embodiments of the present disclosure. Method 400, and each of its individual functions, routines, subroutines, or operations, may be implemented by one or more processors of a computer device that performs the Method. In a particular implementation, Method 400 may be implemented by a single computing device. Alternatively, Method 400 may be implemented by two or more computing devices, each computing device performing one or more individual functions, routines, subroutines, or operations of the Method.

[0064] For the sake of simplicity, the methods of this disclosure are illustrated and described as a series of actions. However, the actions of this disclosure can be performed in various orders and / or simultaneously, and in conjunction with other actions not presented or described herein. Furthermore, not all of the illustrated actions are necessary to implement the methods of the subject matter disclosed. In addition, those skilled in the art will understand and recognize that the methods can be represented as a series of correlated states, either by a state diagram or by events. Furthermore, it should be recognized that the methods disclosed herein can be stored in a product to facilitate the transmission and transfer of such methods to a computing device. The term "product" as used herein encompasses a computer program accessible from any computer-readable device or storage medium. In one implementation, method 400 may be carried out by an inference component 220 as shown in Figure 2.

[0065] Method 400 may be performed by a processing device in a server or client device, and may be initiated in block 402. In block 402, the processing device may receive expected output data for a manufacturing process. The expected output data may define the attributes of the output in a future run of the manufacturing process. For example, the expected output data for a manufacturing process may include one or more values ​​indicating the layer thickness, layer uniformity, or product structural width that will be output by the manufacturing process.

[0066] In block 404, the processing device may have access to multiple machine learning models that model the manufacturing process. These multiple machine learning models may include multiple inverted machine learning models, each receiving the expected output of the manufacturing process as a model input and generating different input data for the manufacturing process as model outputs. For example, the multiple 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 multiple previous runs of the manufacturing process. The training process may involve accessing input 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 be called training data, and each machine learning model may be trained on the same or different training data.

[0067] For example, multiple machine learning models may be feedforward neural networks (FFNNs). Each feedforward neural network may model a manufacturing process, or it may construct a manufacturing process by outputting a set of inputs. Each feedforward neural network may include an input layer, an output layer, and multiple hidden layers that function collectively to mathematically model a manufacturing process. The multiple hidden layers may include polynomial functions, and the output layer may not have any polynomial functions and may include one or more linear activation functions that enable more efficient and accurate extrapolation.

[0068] In block 406, the processing device may use a first machine learning model to determine input data for the manufacturing process based on expected output data for the manufacturing process. The determination may involve running an inference engine that linearly extrapolates the expected output data for the manufacturing process to identify 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, which include values ​​for at least one of time, temperature, pressure, voltage, or gas flow.

[0069] In block 408, the processing device may combine input data determined using a first machine learning model and input data determined using a second machine learning model to create a set of inputs to the manufacturing process. The set of inputs may include multiple candidate values ​​for the first input to the manufacturing process and multiple candidate values ​​for the second input to the manufacturing process. Each machine learning model of the multiple 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 combining the outputs of the multiple machine learning models using an ensemble technique. The combination may also involve, or alternatively, clustering different inputs to the manufacturing process into multiple groups, where the first group includes the model outputs of the first set of machine learning models and the second group includes the model outputs of the second set of machine learning models.

[0070] In block 410, the processing device may store a set of inputs to 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 a user using a user interface. The stored data may include multiple candidate input sets, each of which may include input values ​​to the manufacturing process corresponding 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 enable the execution of the manufacturing process to begin using the selected input values. The method may terminate in response to the completion of the operations described herein with reference to block 410.

[0071] Figure 5 is a block diagram showing a computer system 500 according to a particular embodiment. In some embodiments, the computer system 500 may be connected to other computer systems (for example, via a network such as a local area network (LAN), intranet, extranet, or the Internet). The 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. The computer system 500 may be provided by a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular telephone, web appliance, server, network router, switch or bridge, or any device capable of executing a set of instructions (sequential or otherwise) that specifies the actions that the device should take. Furthermore, the term “computer” includes any collection of computers that individually or collectively execute a set of instructions (or sets of instructions) to perform one or more of the methods described herein.

[0072] In a further embodiment, the computer system 500 may include processing devices 502, volatile memory 504 (e.g., random access memory (RAM)), 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 a bus 508.

[0073] The processing device 502 may be provided by one or more processors, such as a general-purpose processor (e.g., a composite instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor implementing another type of instruction set, or a microprocessor implementing a combination of instruction set types) 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).

[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-temporary computer-readable storage medium 524 that stores instructions 526 for encoding any one or more of the methods or functions described herein, including instructions for implementing the methods described herein that encode the training component 210, the inference component 220, or the presentation component 230 in Figure 2.

[0076] Instruction 526 may also reside entirely or partially in the volatile memory 504 and / or processing device 502 during execution by the computer system 500, so that the volatile memory 504 and processing device 502 may also constitute a machine-readable storage medium.

[0077] Although the computer-readable storage medium 524 is shown as a single medium in the illustrative examples, the term “computer-readable storage medium” includes a single medium or multiple mediums (e.g., a centralized or distributed database, and / or associated caches and servers) that store one or more sets of executable instructions. The term “computer-readable storage medium” also includes any tangible medium that can store or encode instructions to be executed by a computer, causing the computer to perform any one or more of the methods described herein. The term “computer-readable storage medium” includes, but is not limited to, solid 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. In addition, the methods, components, and features may be implemented by firmware modules or functional circuits within hardware devices. Furthermore, the methods, components, and features may be implemented by any combination of hardware devices and computer program components, or by computer programs.

[0079] Unless otherwise specified, terms such as “receive,” “decide,” “select,” “preprocess,” “measure,” “report,” “update,” “input,” “train,” “create,” “add,” “fail,” “perform,” “implement,” “generate,” “use,” “compare,” “invert,” “shift,” “rotate,” and “zoom” refer to actions and processes performed or realized by a computer system that manipulate data represented as physical (electronic) quantities in the registers and memory of the computer system, and convert it 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,” and “fourth,” when used herein, mean indicators that distinguish different elements from each other and may not have an ordinal meaning according to their numerical designation.

[0080] The examples described herein also relate to apparatus for performing the operations described herein. This apparatus may be specifically constructed for performing the methods described herein, or may include a general-purpose computer system that is 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 herein are not inherently related to any particular computer or other device. Various general-purpose systems may be used in accordance with the teachings described herein, or it may prove more convenient to construct more specialized devices to perform each of the methods and / or their individual functions, routines, subroutines, or operations described herein. Examples of structures for various such systems are described above.

[0082] The foregoing statements are illustrative and not restrictive. While this disclosure has been described with reference to specific examples and implementations, it should be recognized that this disclosure is not limited to the examples and implementations described. The scope of this disclosure should be determined with reference to the attached claims, together with the full scope of equivalents to which the claims are entitled.

Claims

1. The processing device receives expected output data for the manufacturing process, which defines the attributes of the output of the manufacturing process. Accessing multiple machine learning models, including a first machine learning model and a second machine learning model, which model the aforementioned manufacturing process, Using the first machine learning model, input data for the manufacturing process is determined, including values ​​for a first input and values ​​for a second input, based on the predicted output data for the manufacturing process. The input data determined using the first machine learning model is combined with the predicted output data and the input data determined using the second machine learning model to generate a set of inputs to the manufacturing process, which includes a plurality of candidate values ​​for the first input and a plurality of candidate values ​​for the second input. A method comprising the processing device storing the set of inputs to the manufacturing process in a storage device.

2. The method according to claim 1, wherein the plurality of machine learning models include a plurality of inverted machine learning models, and each of the plurality of inverted machine learning models receives the predicted output of the manufacturing process as a model input and generates different input data for the manufacturing process as a model output.

3. The method of claim 2, further comprising clustering the different inputs to the manufacturing process into a plurality of groups, wherein the first group includes a set of inputs including the value for the first input and the value for the second input.

4. The method according to claim 1, wherein the input data for the manufacturing process includes a set of configuration values, each including a value for at least one of time, temperature, pressure, voltage, or gas flow.

5. The method according to 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, which are output by the manufacturing process.

6. The method according to claim 1, wherein each of the plurality of machine learning models creates a value for the first input and a value for the second input, and the combination of these creates a range of values ​​for the first input and a range of values ​​for the second input.

7. The method according to claim 1, 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.

8. The method according to claim 1, wherein the combination includes combining the outputs of the multiple machine learning models using an ensemble technique.

9. The method according to claim 1, 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, determines a set of inputs, and constitutes 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 include 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 running an inference engine that identifies the input data for the manufacturing process by linearly extrapolating the expected output data for the manufacturing process.

12. To provide for display a plurality of candidate input sets, each containing an input value for the manufacturing process that corresponds to the expected output data for the manufacturing process, Receiving a user selection of one input set from the aforementioned multiple candidate input sets, The method according to claim 1, further comprising using the input values ​​to start the execution of the manufacturing process.

13. Memory and The system comprises a processing device that is communicatively coupled to the memory, and the processing device is Receive expected output data for the manufacturing process, which defines the attributes of the output of the manufacturing process. Access to multiple machine learning models, including a first machine learning model and a second machine learning model, which model the aforementioned manufacturing process. Using the first machine learning model, input data for the manufacturing process is determined, including values ​​for a first input and values ​​for a second input, based on the predicted output data for the manufacturing process. The input data determined using the first machine learning model is combined with the predicted output data and the input data determined using the second machine learning model to generate a set of inputs to the manufacturing process, which includes a plurality of candidate values ​​for the first input and a plurality of candidate values ​​for the second input. A system for storing the set of inputs to the manufacturing process in a storage device.

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, determines a set of inputs, and constitutes the manufacturing process.

15. The system according to claim 13, wherein each of the plurality of machine learning models creates a value for the first input and a value for the second input, and the combination of these creates a range of values ​​for the first input and a range of values ​​for the second input.

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.

17. A non-temporary machine-readable storage medium for storing instructions, wherein, when an instruction is executed, it is transmitted to a processing device. Accessing the output data of the manufacturing process, which is associated with the input data used by the manufacturing process, Training a homogeneous set of machine learning models based on the output data and the input data, wherein the homogeneous set includes a first inverted machine learning model trained using first hyperparameters and a second inverted machine learning model trained using second hyperparameters. The process device selects output data and input data for the manufacturing process, wherein the selected output data defines the output attributes of the manufacturing process. Using the first inverted machine learning model, determine a set of inputs to the manufacturing process, including a configuration value for a first input and a configuration value for a second input, based on the selected output data for the manufacturing process. The processing device compares the selected input data for the manufacturing process with the set of inputs determined using the first inverted machine learning model. A non-temporary machine-readable storage medium that enables the execution of operations including the following.

18. The non-temporary machine-readable storage medium according to claim 17, wherein the same set of machine learning models includes a plurality of inverted machine learning models, the plurality of inverted machine learning models share a model architecture and are trained using different initialization values, different training data, and different hyperparameters.

19. The non-temporary machine-readable storage medium according to claim 17, wherein the first inverted machine learning model and the second inverted machine learning model each include a feedforward neural network (FFNN), and the feedforward neural network models the manufacturing process and determines a set of inputs to constitute the manufacturing process.

20. The non-temporary machine-readable storage medium according to claim 19, wherein the feedforward neural network includes an output layer and a plurality of hidden layers for modeling the manufacturing process, the plurality of hidden layers include a polynomial function, and the output layer includes a linear activation function.