WO2023214541A1 - モデル生成方法、コンピュータプログラム及び情報処理装置 - Google Patents

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

Info

Publication number
WO2023214541A1
WO2023214541A1 PCT/JP2023/016791 JP2023016791W WO2023214541A1 WO 2023214541 A1 WO2023214541 A1 WO 2023214541A1 JP 2023016791 W JP2023016791 W JP 2023016791W WO 2023214541 A1 WO2023214541 A1 WO 2023214541A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
processed
model
target
data indicating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/016791
Other languages
English (en)
French (fr)
Inventor
隆央 中村
裕亮 小川
隆彦 加藤
弘典 茂木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Electron Ltd
Original Assignee
Tokyo Electron Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Electron Ltd filed Critical Tokyo Electron Ltd
Priority to JP2024519208A priority Critical patent/JPWO2023214541A1/ja
Priority to KR1020247039931A priority patent/KR20250005440A/ko
Priority to CN202380038791.4A priority patent/CN119156688A/zh
Publication of WO2023214541A1 publication Critical patent/WO2023214541A1/ja
Priority to US18/938,566 priority patent/US20250061254A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/337Design optimisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10PGENERIC PROCESSES OR APPARATUS FOR THE MANUFACTURE OR TREATMENT OF DEVICES COVERED BY CLASS H10
    • H10P95/00Generic processes or apparatus for manufacture or treatments not covered by the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to a model generation method, a computer program, and an information processing device.
  • a process recipe is created by describing control values for various control components that make up the semiconductor processing equipment step by step, and various processes are performed according to each step of the created process recipe.
  • Patent Document 1 describes a prediction model that shows the relationship between input parameter values and output values that are actually measured values of processing results in order to search for input parameter values to be set in a semiconductor processing device for processing into a target processing shape. A method for generating this is disclosed.
  • the present disclosure aims to provide a model generation method, a computer program, and an information processing device that can present a group of variables recommended for a process recipe according to the current shape of an object to be processed.
  • the model generation method of the present disclosure includes a plurality of variable groups for constructing a process recipe, state data indicating the state of the object to be processed before a specific step of the process recipe is executed, and of the object to be processed obtained by acquiring target data indicating a target state, selecting one variable group from the plurality of variable groups, and executing one step characterized by the selected one variable group.
  • a computer performs a process of evaluating the state and generating a model for constructing a process recipe by reinforcement learning using acquired state data and target data, and a reward determined according to the evaluated state of the object to be processed. Execute by.
  • a group of variables recommended for a process recipe can be presented according to the current shape of the object to be processed.
  • FIG. 1 is an explanatory diagram illustrating an overview of an information processing system according to an embodiment.
  • FIG. 2 is an explanatory diagram illustrating the structure of data obtained in a manufacturing process.
  • FIG. 2 is an explanatory diagram illustrating the configuration of proxel.
  • FIG. 2 is a block diagram showing the internal configuration of an information processing device.
  • FIG. 2 is a conceptual diagram showing an example of a proxel database. It is a schematic diagram of a reinforcement learning algorithm.
  • FIG. 2 is a schematic diagram showing a configuration example of a learning model.
  • 3 is a flowchart illustrating a learning model generation procedure. It is a flowchart explaining the recipe construction procedure using a learning model.
  • 7 is a schematic diagram showing a configuration example of a learning model in Embodiment 2.
  • FIG. 3 is a flowchart illustrating a fine tuning processing procedure.
  • 3 is a flowchart illustrating a process recipe evaluation procedure.
  • FIG. 1 is an explanatory diagram illustrating an overview of an information processing system according to an embodiment.
  • the information processing system according to the embodiment includes an information processing device 100 and a semiconductor manufacturing device 200.
  • the information processing device 100 and the semiconductor manufacturing device 200 are, for example, communicably connected.
  • the semiconductor manufacturing device 200 may include any device that performs a semiconductor manufacturing process, such as an exposure device, an etching device, a film forming device, an ion implantation device, an ashing device, a sputtering device, or the like.
  • the information processing apparatus 100 constructs a recommended process recipe for a manufacturing process executed in the semiconductor manufacturing apparatus 200, and presents the constructed process recipe to a manufacturer or the like (user).
  • step refers to the smallest processing unit that changes the state (attributes of the processing object or the state of the semiconductor manufacturing equipment) in the semiconductor manufacturing process. Therefore, in the case where the state changes over time, in this embodiment, the steps before and after the elapse of time are treated as separate steps.
  • the information processing device 100 selects one variable group to be used in each step from among a plurality of variable groups prepared in advance, and determines the processing content to be executed in each step, thereby creating a process recommended to the user. Build a recipe.
  • variable group a series of variables (setting values, control values, etc.) that achieve the same effect in each step.
  • variable group will also be referred to as proxel.
  • a proxel is the smallest unit of data for determining the processing content in each step, and is called a pixel in the same way that the smallest unit of an image (picture element) is called a pixel, and the smallest unit of a three-dimensional object (volume element) is called a voxel.
  • one proxel is shown by one regular hexagon. Details of proxel will be specifically explained using FIGS. 2 and 3.
  • a learning model MD1 (see FIG. 7) using reinforcement learning is used to search for a proxel for constructing a process recipe. For example, when state data indicating the current state of the processing object (processed object) and target data indicating the target state of the processing object set by the user are input, the learning model MD1 makes recommendations in the next step. The proxel is learned to output information about the proxel. The information processing device 100 executes calculations using the learning model MD1 at each step, and determines proxels to be selected at each step based on the calculation results, thereby constructing a process recipe recommended to the user.
  • the configuration of the learning model MD1 and the method for generating the learning model MD1 will be described in detail later.
  • FIG. 2 is an explanatory diagram illustrating the structure of data obtained in the manufacturing process.
  • a semiconductor manufacturing process is performed step-by-step in accordance with a plurality of steps that constitute a process recipe.
  • six items including initial data (I), setting data (R), output data (E), measurement data (Pl), experimental data (Pr), and target data (Pf) data is obtained.
  • the initial data (I) is data regarding the object to be processed.
  • the initial data (I) is set by the user, for example.
  • the initial data (I) includes, for example, data such as initial critical dimension (Initial CD), material, thickness, aspect ratio, and mask coverage.
  • the setting data (R) is data set for the semiconductor manufacturing equipment.
  • the setting data (R) is set by the user according to the attributes of the processing object and the final target object, the characteristics of the semiconductor manufacturing equipment to be used, and the like.
  • the setting data (R) includes data such as the pressure in the chamber (Pressure), the power of the high frequency power source (Power), the gas flow rate (Gas), the temperature in the chamber, and the surface temperature of the object to be processed (Temperature). .
  • the output data (E) is data output from the semiconductor manufacturing equipment.
  • the output data (E) includes, for example, data such as the peak-to-peak voltage (Vpp) of the RF signal, the DC self-bias voltage (Vdc), the emission intensity (OES) by optical emission spectrometry, and the reflected wave power (Reflect).
  • the measurement data (Pl) is data related to the implementation environment of the manufacturing process.
  • the measurement data (Pl) is measured using various sensors and measurement devices.
  • the measurement data (Pl) includes, for example, data such as plasma density, ion energy, and ion flux.
  • the experimental data (Pr) is data regarding the results obtained in each step.
  • the experimental data (Pr) is measured using various sensors and measuring devices.
  • the experimental data (Pr) includes, for example, etching rate, deposition rate, XY position, film type, vertical/lateral classification. Contains data such as.
  • the target data (Pf) is data regarding the final target.
  • the target data (Pf) is set by the user according to the attributes that the final target should reach.
  • the target data (Pf) includes data such as critical dimension (CD), depth, taper angle, tilt angle, and bowing.
  • the items shown in FIG. 2 are just examples, and the types of items included in each step are not limited to those shown. For example, some items may not be included depending on the manufacturing process or step, or different items may be included depending on the manufacturing process or step.
  • the data of each item shown in FIG. 2 is an example, and the type of data included in each item is not limited to what is shown in the figure. Data for each item can be set as appropriate depending on the manufacturing process and steps.
  • a series of variables (group of variables) that can achieve similar effects in the same manufacturing process and the same step is defined as proxel.
  • the effect in a predetermined step of the manufacturing process is an amount derived as the difference between the state of the object to be processed before executing the step and the state of the object to be processed after executing the step.
  • FIG. 3 is an explanatory diagram illustrating the configuration of proxel.
  • the configuration of proxel will be described using as an example a two-dimensional feature space in which the horizontal axis is a first variable and the vertical axis is a second variable.
  • the first and second variables can be used to obtain the same effect at each step. You can find the range of a variable.
  • Each region shown with reference numerals R1 to R10 in FIG. 3 is a region defined by defining the ranges of the first variable and the second variable. It is assumed that when the same step in the same manufacturing process is executed using the variables in each of the regions R1, R2, and R3 among these regions R1 to R10, the same effect called "effect 1" is obtained. .
  • a plurality of variables included in the regions R1, R2, and R3 are grouped as one variable group, and these variable groups are defined as one proxel (referred to as proxel1).
  • proxel4 proxel4
  • proxel4 another proxel
  • each step includes K variables (K is an integer greater than or equal to 1), K-dimensional features Using quantity space, the range (spatial region) of each variable that provides the same effect can be found, the variables can be grouped for each effect, and proxels can be defined.
  • FIG. 4 is a block diagram showing the internal configuration of the information processing device 100.
  • the information processing device 100 is, for example, a dedicated or general-purpose computer that includes a control section 101, a storage section 102, a communication section 103, an operation section 104, and a display section 105.
  • the control unit 101 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like.
  • the ROM included in the control unit 101 stores control programs and the like that control the operations of each hardware unit included in the information processing device 100.
  • the CPU in the control unit 101 reads and executes the control program stored in the ROM and various computer programs stored in the storage unit 102, and controls the operation of each hardware part, thereby controlling the entire apparatus according to the present disclosure. function as an information processing device.
  • the RAM included in the control unit 101 temporarily stores data used during execution of calculations.
  • control unit 101 is configured to include a CPU, a ROM, and a RAM, but the configuration of the control unit 101 is not limited to the above.
  • the control unit 101 includes one or more control circuits or arithmetic operations including, for example, a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), a quantum processor, a volatile or nonvolatile memory, etc. It may also be a circuit.
  • the control unit 101 may also include functions such as a clock that outputs date and time information, a timer that measures the elapsed time from when a measurement start instruction is given until a measurement end instruction is given, and a counter that counts the number of measurements.
  • the storage unit 102 includes storage devices such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), and an EEPROM (Electronically Erasable Programmable Read Only Memory).
  • the storage unit 102 stores various computer programs executed by the control unit 101 and various data used by the control unit 101.
  • the computer programs (program products) stored in the storage unit 102 include a learning program PG1 for generating a learning model MD1, a recipe construction program PG2 for constructing a recipe, a simulator SIM for virtually performing a manufacturing process according to a process recipe, etc. including.
  • Each of these computer programs may be a single computer program, or may be composed of multiple computer programs. Furthermore, these computer programs may partially use existing libraries.
  • Computer programs such as the learning program PG1 and the recipe construction program PG2 stored in the storage unit 102 are provided by a non-temporary recording medium RM that readably records the computer programs.
  • the recording medium RM is a portable memory such as a CD-ROM, a USB memory, an SD (Secure Digital) card, a micro SD card, or a Compact Flash (registered trademark).
  • the control unit 101 reads various computer programs from the recording medium RM using a reading device (not shown), and stores the read various computer programs in the storage unit 102. Further, the computer program stored in the storage unit 102 may be provided through communication. In this case, the control unit 101 may acquire a computer program through communication via the communication unit 103 and store the acquired computer program in the storage unit 102.
  • the learning model MD1 is stored in the storage unit 102.
  • the learning model MD1 is a learning model generated by reinforcement learning, which will be described later.
  • the storage unit 102 stores configuration information on the layers that make up the learning model MD1, information on the nodes that make up each layer, and model parameters such as weighting and bias between nodes.
  • the storage unit 102 includes a proxel database DB.
  • FIG. 5 is a conceptual diagram showing an example of the proxel database DB.
  • the proxel database DB stores each proxel defined as described above in association with a process ID, a data range of each data, an effect, a process ID, and a step number. That is, the proxel database DB stores a large number of process conditions summarized for each manufacturing process, each step, and each effect.
  • one semiconductor process condition (variable group) that provides the same effect is determined.
  • the configuration is such that the proxel database DB is provided inside the information processing device 100, but the proxel database DB is provided outside the information processing device 100, and is accessed via the communication unit 103 to obtain necessary data. It is also possible to have a configuration in which
  • the communication unit 103 includes a communication interface for transmitting and receiving various data to and from external devices.
  • a communication interface compliant with communication standards such as LAN (Local Area Network) can be used.
  • the external devices may include the semiconductor manufacturing device 200 and a server device (not shown). If the data to be transmitted is input from the control unit 101, the communication unit 103 transmits the data to the destination external device, and if the data transmitted from the external device is received, the communication unit 103 outputs the received data to the control unit 101. do.
  • the operation unit 104 includes operation devices such as a touch panel, a keyboard, and switches, and accepts various operations and settings by a user or the like.
  • the control unit 101 performs appropriate control based on various types of operation information given from the operation unit 104, and stores setting information in the storage unit 102 as necessary.
  • the display unit 105 includes a display device such as a liquid crystal monitor or an organic EL (Electro-Luminescence), and displays information to be notified to the user etc. in accordance with instructions from the control unit 101.
  • a display device such as a liquid crystal monitor or an organic EL (Electro-Luminescence), and displays information to be notified to the user etc. in accordance with instructions from the control unit 101.
  • the information processing device 100 in this embodiment may be a single computer, or may be a computer system configured with multiple computers, peripheral devices, and the like. Furthermore, the information processing apparatus 100 may be a virtual machine or may be a cloud. Further, in this embodiment, the information processing apparatus 100 and the semiconductor manufacturing apparatus 200 are described as separate bodies, but the information processing apparatus 100 may be provided inside the semiconductor manufacturing apparatus 200.
  • a reinforcement learning algorithm is used to construct a process recipe to be presented to the user.
  • FIG. 6 is a schematic diagram of the reinforcement learning algorithm.
  • a reinforcement learning algorithm is an algorithm that deals with the problem of an agent placed in a certain environment observing the current state of an observation target and deciding what action to take.
  • DQN Deep Q-Network
  • the learning model in reinforcement learning calculates the value of the action value function (Q value) for each of the possible actions a1, a2, ..., an (n is an integer of 2 or more) when the current state s t of the observation target is input. is learned to output.
  • DQN is a method that approximates an action value function using a neural network and performs reinforcement learning.
  • the learning model MD1 is expressed using a neural network that approximates the action value function, and the learning model MD1 is enhanced to output information regarding the value when each proxel is selected according to the current state of the object to be processed.
  • the state s t input to the learning model MD1 is, for example, difference data between state data indicating the current state of the object to be processed and target data indicating the target state of the object to be processed. More specifically, difference data between image data indicating the current shape of the object to be processed and image data indicating the target shape of the object to be processed can be used.
  • the learning model MD1 calculates the values of action value functions Q(s t , a1), Q for each of possible actions a1, a2, ..., an (n is an integer of 2 or more) for the input of the current state s t . (s t , a2), ..., Q(s t , an) are output.
  • the value of the action value function represents the expected value of profits obtained in the future when action a is selected in state s t and is also called the Q value. That is, the value of the action value function (Q value) does not represent a short-term reward, but represents value in a long-term sense.
  • action a corresponds to executing one step that configures a process according to the conditions defined by the selected proxel.
  • the agent refers to the Q value output for each action from the learning model MD1, and selects the action a t that has the highest Q value from among the actions a1, a2, . . . , an that can be taken in the state st .
  • the environment is updated by the selected action a t and the next state s t+1 is determined.
  • the agent is the control unit 101 of the information processing apparatus 100, and the environment is a simulator that virtually executes a manufacturing process according to a process recipe.
  • the agent obtains a reward r t+ 1 from the environment according to the next state s t+1 generated by selecting the action a t . If the manufacturing process to be performed is an etching process, the reward r t+1 is determined depending on, for example, the amount of the object to be processed removed, the loss of uncut parts, the loss of over-cutting, the validity of the selected proxel, etc. be done.
  • agents learn behaviors that maximize future rewards (profits). Specifically, the agent sequentially updates the learning model MD1 based on the following formula (1) using the state s t , the state s t+1 , and the reward r t+1 for the previous action a t .
  • is a learning coefficient
  • is a discount rate
  • r t+1 is a reward obtained as a result of action a t .
  • the learning coefficient ⁇ is a parameter that determines the speed of learning, and satisfies the relationship 0 ⁇ 1.
  • the discount rate ⁇ is a parameter indicating how much to discount the evaluation of the future state, and satisfies the relationship 0 ⁇ 1.
  • the model parameters of the learning model MD1 are learned using error backpropagation or the like so that the second term on the right side of Equation (1) becomes zero. This means that when state s t transitions to state s t+1 due to action a t , the Q value of that action a t is changed to the value when the next state s t+1 is the state with the highest Q value. It means to get closer.
  • the agent repeatedly updates the learning model MD1 until a predetermined termination condition is met. By repeating the update, the learning model MD1 is trained to maximize the reward r t+1 .
  • the termination conditions are appropriately set, for example, when updating is performed a predetermined number of times, when the shape of the object to be processed approaches the target shape, when the object to be processed can no longer be cut.
  • FIG. 7 is a schematic diagram showing a configuration example of the learning model MD1.
  • the learning model MD1 includes, for example, six layers from the first layer L1 to the sixth layer L6 shown in FIG. 7.
  • the first layer L1 includes a slice layer. Difference data between image data indicating the current shape of the object to be processed and image data indicating the target shape is input to the first layer L1.
  • the first layer L1 cuts out a part of the input difference data and outputs it to the subsequent second layer.
  • the second layer L2 includes a CNN (Convolutional Neural Network) block, a maximum pooling layer, a batch normalization layer, and a ReLU (Rectified Linear Unit) layer.
  • the second layer L2 extracts feature amounts from the difference data input from the first layer L1, and outputs the extracted data to the subsequent third layer.
  • the third layer L3 like the second layer L2, includes a CNN block, a maximum pooling layer, a batch normalization layer, and a ReLU layer.
  • the second layer L2 extracts feature amounts from the data input from the second layer L2, and outputs the extracted data to the subsequent third layer.
  • the fourth layer L4 includes a smoothing (Flatten) layer
  • the fifth layer L5 includes a linear layer and a ReLU layer
  • the sixth layer includes a linear layer.
  • the final linear layer included in the sixth layer L6 includes the same number of nodes as the number of possible actions a1, a2, ..., an, and an action value function for each of the corresponding actions a1, a2, ..., an from each node. Output the value of .
  • an appropriate proxel is selected when the shape is close to the target shape. It has the advantage of being easy to use.
  • the operation of the information processing device 100 will be described below.
  • the information processing device 100 performs a process of generating a learning model MD1 in a learning phase before the start of actual operation, and a recipe construction process using the learning model MD1 in an operation phase after the learning model MD1 is generated. Execute.
  • FIG. 8 is a flowchart illustrating the procedure for generating the learning model MD1.
  • the control unit 101 of the information processing device 100 executes the learning program PG1 stored in the storage unit 102, and executes the following procedure to generate the learning model MD1. It is assumed that, before starting learning, initial values are given to the model parameters describing the learning model MD1.
  • the control unit 101 acquires image data indicating the target shape of the object to be processed (step S101).
  • the target shape is a target cross-sectional shape set by the user regarding the object to be processed.
  • the control unit 101 can be acquired, for example, from a user terminal (not shown) through the communication unit 103.
  • the control unit 101 acquires image data indicating the current shape of the object to be processed (step S102).
  • the image data indicating the current shape of the object to be processed is, for example, image data of the cross-sectional shape of the object to be processed, which is obtained by calculation using the simulator SIM.
  • the control unit 101 inputs the difference data between the image data indicating the current shape of the object to be processed and the image data indicating the target shape to the learning model MD1, and executes the calculation by the learning model MD1 (step S103).
  • a value (Q value) of an action value function is obtained for each possible action.
  • the control unit 101 selects proxel based on the calculation result by the learning model MD1 (step S104).
  • the control unit 101 selects proxel by selecting action a such that the Q value is the highest among the Q values of each action calculated according to the current state s t .
  • the control unit 101 causes the storage unit 102 to store information on the selected proxel.
  • the control unit 101 refers to the proxel database DB and reads out the process conditions stored in association with the selected proxel (step S105).
  • the control unit 101 may read data ranges of setting data, output data, measurement data, and experimental data as process conditions.
  • the control unit 101 executes a simulation using the simulator SIM based on the process conditions read from the proxel database DB, and calculates the shape of the object to be processed (step S106).
  • the control unit 101 calculates a reward based on the calculated shape of the object to be processed (step S107). For example, the control unit 101 calculates the shaved amount by comparing the current shape of the processed object acquired in step S102 with the shape of the processed object calculated by the simulator SIM in step S106, and calculates the shaved amount. For example, a reward of -0.1 to 0.1 is given depending on the amount. Furthermore, the control unit 101 calculates the uncut loss or over-cutting loss by comparing the target shape acquired in step S101 and the shape of the object to be processed calculated in step S106, and calculates the uncut loss or overcutting loss.
  • a reward of -0.1 to 0.1 may be given for the loss due to excessive cutting, and a reward of -0.1 to 0 may be given for the loss due to excessive cutting. Further, the control unit 101 gives a reward of -1 if the proxel input in step S103 is not valid.
  • the control unit 101 determines whether to end the learning (step S108). For example, if the number of steps in the manufacturing process exceeds a threshold value, if the loss due to overcutting exceeds a threshold value, or if the difference between the current shape and the target shape becomes less than a threshold value, the control unit 101 controls the If a proxel that is not a proxel is selected a set number of times or more, it is determined that learning is finished.
  • the control unit 101 updates the model parameters including the weights and biases between the nodes forming the learning model MD1 (step S109), and returns the process to step S103. After returning the process to step S103, the control unit 101 regards the shape calculated by the simulator SIM as the current shape and executes calculations using the learning model MD1. In Q learning, the model parameters of the learning model MD1 are learned so that the second term of the above equation (1) approaches zero by repeatedly performing the calculations in steps S103 to S109 described above.
  • control unit 101 ends the processing according to this flowchart.
  • the storage unit 102 stores model parameters for the trained learning model MD1.
  • the control unit 101 may generate the learning model MD1 by executing the procedure shown in the flowchart of FIG. 8 multiple times for the same process. In this case, the control unit 101 may proceed with reinforcement learning by providing rewards after each process ends. For example, the control unit 101 may give a reward of -1 to 1 for the final uncut loss, and a reward of 0 to 1 depending on the number of steps. Further, the control unit 101 may give a reward of -1 to 0 for the loss due to over-shaving.
  • a learning algorithm using Q-learning has been described as an example, but the method for generating the learning model MD1 is not limited to Q-learning, and includes, for example, TD learning (Temporal Difference Learning), policy gradients method, Any reinforcement learning algorithm can be used, such as SARSA (State-Action-Reward-State-Action) and Actor-critic.
  • FIG. 9 is a flowchart illustrating the recipe construction procedure using the learning model MD1.
  • the control unit 101 of the information processing device 100 executes the recipe construction program PG2 stored in the storage unit 102, and executes the following procedure for constructing a process recipe. Execute. It is assumed that learned model parameters are stored in the storage unit 102 before starting operation.
  • the control unit 101 acquires image data indicating the initial shape and target shape of the object to be processed (step S122).
  • the initial shape is the cross-sectional shape of the object to be processed before the start of the process, which is set by the user
  • the target shape is the target cross-sectional shape of the object to be processed, which is set by the user.
  • the control unit 101 can be acquired, for example, from a user terminal (not shown) through the communication unit 103.
  • the control unit 101 inputs the difference data between the image data indicating the current shape of the object to be processed and the image data indicating the target shape to the learning model MD1, and executes the calculation by the learning model MD1 (step S123).
  • the calculation result by the learning model MD1 includes information on the recommended proxel.
  • information on the action with the highest Q value corresponds to information on the recommended proxel.
  • the control unit 101 selects proxel based on the calculation result by the learning model MD1 (step S124).
  • the control unit 101 causes the storage unit 102 to store the selected proxel as the proxel with index i.
  • the control unit 101 refers to the proxel database DB, reads out the process conditions stored in association with the selected proxel (step S125), and executes a simulation using the simulator SIM to determine the shape of the object to be processed. Calculate (step S126).
  • the control unit 101 determines whether to end the process (step S127). For example, if the difference between the shape of the object to be processed (current shape) calculated in step S126 and the target shape is less than the threshold value, the control unit 101 determines to end the process.
  • control unit 101 If it is determined that the process is not to end (S127: NO), the control unit 101 increases the index i of proxel by +1 (step S128), and returns the process to step S123.
  • the control unit 101 regards the shape calculated in step S126 as the current shape, and repeats the calculation using the learning model MD1.
  • n is the index of proxel at the time the process ends.
  • the control unit 101 may transmit information on the constructed process recipe to the user terminal from the communication unit 103, or may display the information on the display unit 105.
  • the learning model MD1 for recipe construction can be generated using reinforcement learning. Since the trained learning model MD1 can be stored in the storage unit 102, during operation, calculations can be made by reading the model parameters of the learning model MD1 from the storage unit 102, and a process recipe recommended to the user can be constructed. can do.
  • the difference between the image data representing the current shape and the image data representing the target shape is used as input to the learning model MD1, so when the current shape becomes close to the target shape, This makes it easier to select an appropriate proxel, and it is possible to construct a more appropriate process recipe.
  • difference data between the initial shape and the target shape is input to the trained learning model MD1, and a process recipe for the entire manufacturing process is constructed.
  • the control unit 101 inputs difference data between shape data at a first point in time in the manufacturing process and shape data at a second time point later than the first time point into the learning model MD1. , a partial process recipe from the first point in time to the second point in time may be generated.
  • control unit 101 may display the information on the proxel selected in each step together with the value of the action value function calculated for the proxel.
  • the control unit 101 may display the information on the proxel selected in each step together with the value of the action value function calculated for the proxel.
  • control unit 101 may use Gradient-weighted Calss Activation Mapping (Gradient-weighted Cals Activation Mapping) technology to display the location of interest in proxel selection in a heat map.
  • the control unit 101 extracts the results of the second layer L2, third layer L3, and fourth layer L4 that constitute the learning model MD1, performs error backpropagation using the classification results of the fourth layer L4, and transfers the results to the third layer L4.
  • a heat map indicating the point of interest may be generated by calculating the gradient of the convolutional layer in L3 and the second layer L2.
  • Embodiment 2 In Embodiment 2, a modification of the learning model will be described.
  • FIG. 10 is a schematic diagram showing a configuration example of the learning model MD2 in the second embodiment.
  • the configuration of the learning model MD2 in the second embodiment is similar to the learning model MD1 in the first embodiment, and includes the first layer L1 to the sixth layer L6.
  • the learning model MD2 in the second embodiment includes image data indicating the shape of the object to be processed before the i-th step (i is an integer of 2 or more) in the process recipe is executed, and image data indicating the target shape.
  • the difference data between the two and the information of the proxel selected when the i-1th step is executed are input.
  • the tensor smoothed in the fourth layer L4 may be combined with the index of the previously selected proxel as a one-hot expression. That is, it is sufficient to combine vectors in which the element corresponding to the selected proxel is set to 1 and the remaining elements are set to 0.
  • reinforcement learning is performed taking into consideration the information of the proxel selected last time. For example, if the same proxel as last time is selected, the reward may be set to zero, and if a different proxel is selected from the previous time, reinforcement learning may be performed with the reward set to a negative value (for example, -0.5).
  • the processing procedure of reinforcement learning and the recipe construction procedure after learning are the same as those in Embodiment 1, so a detailed explanation thereof will be omitted.
  • reinforcement learning is performed taking into consideration the information of the previously selected proxel, so it is expected that a more natural process recipe with less proxel switching, for example, can be constructed.
  • Embodiment 3 fine tuning of a learning model will be described.
  • the information processing device 100 updates the fine learning model MD1 when the initial shape of the object to be processed changes, when the proxel data stored in the proxel database DB changes, etc. Perform tuning.
  • the initial shape of the object to be processed is changed and the learning model MD1 is fine-tuned.
  • FIG. 11 is a flowchart illustrating the fine tuning processing procedure.
  • the control unit 101 reads model parameters of the learning model MD1 from the storage unit 102 (step S301).
  • the control unit 101 obtains image data indicating the target shape of the object to be processed (step S302), and obtains image data indicating the initial shape of the object to be processed after the change (step S303).
  • the control unit 101 inputs the difference data between the image data indicating the current shape of the object to be processed and the image data indicating the target shape to the learning model MD1, and executes the calculation by the learning model MD1 (step S304). That is, the calculation may be performed based on the model parameters read in step S301. By calculation using the learning model MD1, a value (Q value) of an action value function is obtained for each possible action.
  • the control unit 101 selects a proxel based on the calculation result by the learning model MD1 (step S305), and reads out the process conditions stored in association with the selected proxel (step S306).
  • the control unit 101 executes a simulation using the simulator SIM based on the process conditions read from the proxel database DB, calculates the shape of the object to be processed (step S307), and calculates a reward based on the calculated shape of the object to be processed. (Step S308).
  • the control unit 101 determines whether or not to end the learning (step S309), and if it is determined not to end the learning (S309: NO), the control unit 101 sets the model parameters including the weights and biases between the nodes constituting the learning model MD1. is updated (step S310), and the predetermined value is returned to step S304.
  • control unit 101 stores the finally obtained model parameters in the storage unit 102 as model parameters of a new learning model (Step S311).
  • a new learning model can be generated by fine tuning using the trained learning model MD1, so that it is possible to generate a new learning model for a new object to be processed.
  • the time required for learning can be shortened.
  • the flowchart in Figure 11 describes fine tuning when the initial shape is different, but even when the proxel data stored in the proxel database DB changes, fine tuning allows you to create a new shape without spending time.
  • a learning model can be generated.
  • Embodiment 4 a configuration for evaluating user-set recipes using learning model MD1 will be described.
  • FIG. 12 is a flowchart illustrating the process recipe evaluation procedure.
  • the control unit 101 acquires the process recipe set by the user (step S401).
  • the control unit 101 can obtain a process recipe from a user terminal (not shown) through the communication unit 103, for example.
  • the control unit 101 reads the model parameters of the learning model MD1 from the storage unit 102 (step S402).
  • the model parameters of the learning model MD1 which is generated for a target object that is the same as or similar to the target object assumed in the process recipe set by the user, are read.
  • the control unit 101 acquires the initial shape and the target shape (step S403), and inputs their difference data to the learning model MD1, thereby executing calculations using the learning model MD1 (step S404).
  • the control unit 101 calculates the evaluation value of the proxel selected in the user-set process recipe (step S405). For example, the control unit 101 calculates, as an evaluation value, the probability that the proxel selected by the user is selected by the learning model MD1, based on the calculation result in step S404.
  • control unit 101 Based on the information of the proxel selected by the user, the control unit 101 reads the process conditions from the proxel database DB (step S406), and calculates the shape using the simulator (step S407).
  • the control unit 101 determines whether the process has ended (step S409), and when determining that the process has not ended (S409: NO), returns the process to step S404, and in the next step, the proxel selected by the user carry out evaluations.
  • control unit 101 If it is determined that the process has ended (S409: YES), the control unit 101 outputs the evaluation result of the process recipe including the evaluation value of each proxel (Step S410).
  • the control unit 101 may transmit the calculated evaluation result of the process recipe to the user terminal from the communication unit 103, or may display it on the display unit 105.
  • the trained learning model MD1 by using the trained learning model MD1, it is possible to quantitatively evaluate the process recipe set by the user.
  • Control unit 102 Storage unit 103 Communication unit 104 Operation unit 115
  • Display unit PG1 Learning program PG2 Recipe construction program SIM Simulator MD1, MD2 Learning model DB proxel database

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Stored Programmes (AREA)

Abstract

モデル生成方法、コンピュータプログラム及び情報処理装置の提供。 プロセスレシピを構築するための複数の変数群と、プロセスレシピの特定のステップが実行される前の被処理体の状態を示す状態データと、被処理体の目標状態を示す目標データとを取得し、複数の変数群から一の変数群を選択し、選択した一の変数群により特徴付けられる一のステップを実行することによって得られる前記被処理体の状態を評価し、取得した状態データ及び目標データ、並びに、評価した前記被処理体の状態に応じて決定される報酬を用いた強化学習によって、プロセスレシピ構築のためのモデルを生成する処理をコンピュータにより実行する。

Description

モデル生成方法、コンピュータプログラム及び情報処理装置
 本発明は、モデル生成方法、コンピュータプログラム及び情報処理装置に関する。
 従来の半導体処理装置では、半導体処理装置を構成する様々な制御部品に対する制御値をステップ毎に記述してプロセスレシピを作成し、作成したプロセスレシピの各ステップに従って、各種プロセスを実施している。
 特許文献1には、目標加工形状に加工するために半導体処理装置に設定する入力パラメータ値を探索するため、入力パラメータ値と、加工結果に実測値である出力値との関係を示す予測モデルを生成する手法が開示されている。
特開2019-165123号公報
 本開示は、被処理体の現在の形状に応じて、プロセスレシピに推奨される変数群を提示できるモデルの生成方法、コンピュータプログラム及び情報処理装置の提供を目的とする。
 本開示のモデル生成方法は、プロセスレシピを構築するための複数の変数群と、前記プロセスレシピの特定のステップが実行される前の被処理体の状態を示す状態データと、前記被処理体の目標状態を示す目標データとを取得し、前記複数の変数群から一の変数群を選択し、選択した一の変数群により特徴付けられる一のステップを実行することによって得られる前記被処理体の状態を評価し、取得した状態データ及び目標データ、並びに、評価した前記被処理体の状態に応じて決定される報酬を用いた強化学習によって、プロセスレシピ構築のためのモデルを生成する処理をコンピュータにより実行する。
 本開示によれば、被処理体の現在の形状に応じて、プロセスレシピに推奨される変数群を提示できる。
実施の形態に係る情報処理システムの概要を説明する説明図である。 製造プロセスで得られるデータの構成について説明する説明図である。 proxelの構成を説明する説明図である。 情報処理装置の内部構成を示すブロック図である。 proxelデータベースの一例を示す概念図である。 強化学習アルゴリズムの概要図である。 学習モデルの構成例を示す模式図である。 学習モデルの生成手順を説明するフローチャートである。 学習モデルを用いたレシピ構築手順を説明するフローチャートである。 実施の形態2における学習モデルの構成例を示す模式図である。 ファインチューニングの処理手順を説明するフローチャートである。 プロセスレシピの評価手順を説明するフローチャートである。
 以下、図面を参照して一実施形態について説明する。
(実施の形態1)
 図1は実施の形態に係る情報処理システムの概要を説明する説明図である。実施の形態に係る情報処理システムは、情報処理装置100及び半導体製造装置200を備える。情報処理装置100及び半導体製造装置200は、例えば通信可能に接続される。半導体製造装置200は、露光装置、エッチング装置、成膜装置、イオン注入装置、アッシング装置、スパッタリング装置など、半導体の製造プロセスを実施する任意の装置を含み得る。情報処理装置100は、半導体製造装置200において実行される製造プロセスに関して、推奨するプロセスレシピを構築し、構築したプロセスレシピを製造者等(ユーザ)に提示する。
 製造プロセスにおいて用いられるプロセスレシピは、複数のステップにより構成される。ここで、ステップとは、半導体の製造プロセスにおいて、状態(処理対象物の属性や半導体製造装置の状態)を変化させる最小の処理単位を表すものとする。したがって、時間の経過とともに状態が変化するような場合、本実施の形態では、時間経過前及び時間経過後をそれぞれ別のステップとして捉えるものとする。
 情報処理装置100は、予め用意されている複数の変数群の中から、各ステップで用いる一の変数群を選択し、各ステップで実行する処理内容を定めていくことによって、ユーザに推奨するプロセスレシピを構築する。
 本実施の形態では、各ステップにおいて同一の効果が得られる一連の変数(設定値や制御値など)を変数群と記載する。以下の説明では、変数群をproxelとも記載する。proxelは、各ステップにおける処理内容を定めるためのデータの最小単位であり、画像の最小単位(Picture Element)をpixel、立体の最小単位(Volume Element)をvoxelと称するのと同様の呼称である。図1の例では、1つのproxelを1つの正六角形により示している。proxelの詳細については図2~図3を用いて具体的に説明する。
 本実施の形態では、プロセスレシピを構築するproxelを探索するために強化学習による学習モデルMD1(図7を参照)を用いる。学習モデルMD1は、例えば、処理対象物(被処理体)の現在の状態を示す状態データ、及びユーザにより設定される処理対象物の目標状態を示す目標データを入力した場合、次のステップで推奨するproxelの情報を出力するよう学習される。情報処理装置100は、学習モデルMD1による演算を各ステップで実行し、演算結果に基づいて各ステップで選択すべきproxelを決定していくことにより、ユーザに推奨するプロセスレシピを構築する。学習モデルMD1の構成や学習モデルMD1の生成方法については後に詳述する。
 図2は製造プロセスで得られるデータの構成について説明する説明図である。半導体の製造プロセスは、プロセスレシピを構成する複数のステップに従って、ステップ順次に実施される。これら複数のステップの夫々において、例えば、初期データ(I)、設定データ(R)、出力データ(E)、測定データ(Pl)、実験データ(Pr)、目標データ(Pf)を含む6つの項目のデータが得られる。
 初期データ(I)は、処理対象物に関するデータである。初期データ(I)は例えばユーザによって設定される。初期データ(I)は、例えば、初期限界寸法(Initial CD)、材料(Material)、厚さ(Thickness)、アスペクト比(Aspect ratio)、マスク被覆性(Mask coverage)などのデータを含む。
 設定データ(R)は、半導体製造装置に対して設定されるデータである。設定データ(R)は、処理対象物や最終目標物の属性、使用する半導体製造装置の特性などに応じて、ユーザにより設定される。設定データ(R)は、例えば、チャンバ内の圧力(Pressure)、高周波電源の電力(Power)、ガス流量(Gas)、チャンバ内の温度や処理対象物の表面温度(Temperature)等のデータを含む。
 出力データ(E)は、半導体製造装置から出力されるデータである。出力データ(E)は、例えば、RF信号のピーク間電圧(Vpp)、直流自己バイアス電圧(Vdc)、発光分光分析による発光強度(OES)、反射波電力(Reflect)などのデータを含む。
 測定データ(Pl)は、製造プロセスの実施環境に関するデータである。測定データ(Pl)は、各種のセンサや測定装置を用いて測定される。測定データ(Pl)は、例えば、プラズマ密度(Plasma density)、イオンエネルギ(Ion energy)、イオン流量(Ion flux)などのデータを含む。
 実験データ(Pr)は、各ステップで得られる結果物に関するデータである。実験データ(Pr)は、各種のセンサや測定装置を用いて測定される。実験データ(Pr)は、例えば、エッチング速度(Etching rate)、成膜速度(Deposition rate)、XY座標(XY position)、薄膜の種類(Film type)、縦型/横型の区分(Vertical/Lateral)などのデータを含む。
 目標データ(Pf)は、最終目標物に関するデータである。目標データ(Pf)は、最終目標物が到達すべき属性に応じて、ユーザにより設定される。目標データは(Pf)は、限界寸法(CD)、深さ(Depth)、テーパ角(Taper)、チルト角(Tilting)、ボーイング(Bowing)などのデータを含む。
 なお、図2に示した項目は一例であり、各ステップに含まれる項目の種類は図示したものに限定されない。例えば、製造プロセスやステップに応じて含まれない項目があってもよく、製造プロセスやステップに応じて異なる項目が含まれてもよい。また、図2に示した各項目のデータは一例であり、各項目に含まれるデータの種類は図示したものに限定されない。各項目のデータは、製造プロセスやステップに応じて適宜設定され得る。
 本実施の形態では、同一の製造プロセス、同一のステップにおいて、同様の効果が得られる一連の変数(変数群)をproxelとして定義する。ここで、製造プロセスの所定のステップにおける効果は、当該ステップを実行する前の被処理体の状態と、当該ステップを実行した後の被処理体の状態との差分として導出される量である。
 図3はproxelの構成を説明する説明図である。簡略化のために、横軸を第1変数、縦軸を第2変数とした二次元の特徴量空間を例に挙げて、proxelの構成を説明する。プロセスレシピ内の第1変数及び第2変数を様々に変化させて同一の製造プロセスを複数回実行し、実行結果を解析することにより、各ステップにおいて同様の効果が得られる第1変数及び第2変数の範囲を見出すことができる。
 図3にR1~R10の符号を付して示す各領域は、第1変数及び第2変数の範囲を定めることによって画定される領域である。これらの領域R1~R10のうち、領域R1,R2,R3の各領域内の変数を用いて同一の製造プロセスにおける同一のステップを実行した場合、「効果1」という同一の効果が得られたとする。この場合、領域R1,R2,R3内に含まれる複数の変数の組は1つの変数群としてグルーピングされ、これらの変数群は、1つのproxel(proxel1とする)として定義される。
 同様に、領域R4,R5,R6,R7の各領域内の変数を用いて同一の製造プロセスにおける同一のステップを実行した場合、「効果1」とは異なる「効果2」という同一の効果が得られたとする。この場合、領域R4,R5,R6,R7内に含まれる複数の変数の組は1つの変数群としてグルーピングされ、これらの変数群は、先のproxel1とは異なる別のproxel(proxel2とする)として定義される。
 同様に、領域R8,R9の各領域内の変数を用いて同一の製造プロセスにおける同一のステップを実行した場合、「効果1」及び「効果2」とは異なる「効果3」という同一の効果が得られたとする。この場合、領域R8,R9内に含まれる複数の変数の組は1つの変数群としてグルーピングされ、これらの変数群は、先のproxel1及びproxel2とは異なる別のproxel(proxel3とする)として定義される。
 更に、領域R10内の変数を用いて同一の製造プロセスにおける同一のステップを実行した場合、「効果1」~「効果3」とは異なる「効果4」という単独の効果が得られたとする。この場合、領域R10に含まれる複数の変数の組は1つの変数群としてグルーピングされ、これらの変数群は、先のproxel1~proxel3とは異なる別のproxel(proxel4とする)として定義される。
 図3では、簡略化のために二次元の特徴量空間を用いて、proxelの構成を説明したが、各ステップがK個(Kは1以上の整数)の変数を含む場合、K次元の特徴量空間を用いて、同一の効果が得られる各変数の範囲(空間領域)を見出し、効果毎に変数をグルーピングしてproxelを定義すればよい。
 以下、proxelを用いてレシピ構築を行う情報処理装置100の構成について説明する。図4は情報処理装置100の内部構成を示すブロック図である。情報処理装置100は、例えば、制御部101、記憶部102、通信部103、操作部104、及び表示部105を備える専用又は汎用のコンピュータである。
 制御部101は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを備える。制御部101が備えるROMには、情報処理装置100が備えるハードウェア各部の動作を制御する制御プログラム等が記憶される。制御部101内のCPUは、ROMに記憶されている制御プログラムや記憶部102に記憶されている各種コンピュータプログラムを読み込んで実行し、ハードウェア各部の動作を制御することによって、装置全体を本開示の情報処理装置として機能させる。制御部101が備えるRAMには、演算の実行中に利用されるデータが一時的に記憶される。
 実施の形態では、制御部101がCPU、ROM、及びRAMを備える構成としたが、制御部101の構成は上記のものに限定されない。制御部101は、例えば、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、量子プロセッサ、揮発性又は不揮発性のメモリ等を備える1又は複数の制御回路又は演算回路であってもよい。また、制御部101は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えてもよい。
 記憶部102は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EEPROM(Electronically Erasable Programmable Read Only Memory)などの記憶装置を備える。記憶部102には、制御部101によって実行される各種のコンピュータプログラムや制御部101によって利用される各種のデータが記憶される。
 記憶部102に記憶されるコンピュータプログラム(プログラム製品)は、学習モデルMD1を生成するための学習プログラムPG1、レシピ構築のためのレシピ構築プログラムPG2、プロセスレシピに従って製造プロセスを仮想的に行うシミュレータSIMなどを含む。これらのコンピュータプログラムは、それぞれ単一のコンピュータプログラムであってもよく、複数のコンピュータプログラムにより構成されるものであってもよい。また、これらのコンピュータプログラムは、既存のライブラリを部分的に用いるものであってもよい。
 記憶部102に記憶される学習プログラムPG1やレシピ構築プログラムPG2などのコンピュータプログラムは、当該コンピュータプログラムを読み取り可能に記録した非一時的な記録媒体RMにより提供される。記録媒体RMは、CD-ROM、USBメモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。制御部101は、図に示していない読取装置を用いて、記録媒体RMから各種コンピュータプログラムを読み取り、読み取った各種コンピュータプログラムを記憶部102に記憶させる。また、記憶部102に記憶されるコンピュータプログラムは、通信により提供されてもよい。この場合、制御部101は、通信部103を介した通信によりコンピュータプログラムを取得し、取得したコンピュータプログラムを記憶部102に記憶させればよい。
 また、記憶部102には、学習モデルMD1が記憶される。学習モデルMD1は、後述の強化学習によって生成される学習モデルである。記憶部102には、学習モデルMD1を構成する層の構成情報、各層を構成するノードの情報、ノード間の重み付けやバイアス等のモデルパラメータが記憶される。
 また、記憶部102は、proxelデータベースDBを備える。図5はproxelデータベースDBの一例を示す概念図である。proxelデータベースDBは、前述のように定められる個々のproxelを、プロセスID、各データのデータ範囲、効果、プロセスID、及びステップ番号に関連付けて記憶する。すなわち、proxelデータベースDBには、製造プロセス毎、ステップ毎、効果毎にまとめたプロセス条件が多数記憶される。proxelデータベースDBにおいて、1つのproxelのIDを指定した場合、同じ効果が得られる半導体のプロセス条件(変数群)が1つ定まる。
 本実施の形態では、情報処理装置100の内部にproxelデータベースDBを備える構成としたが、情報処理装置100の外部にproxelデータベースDBを設け、通信部103を介してアクセスし、必要なデータを取得する構成としてもよい。
 通信部103は、外部装置との間で各種のデータを送受信するための通信インタフェースを備える。通信部103の通信インタフェースとして、LAN(Local Area Network)などの通信規格に準拠した通信インタフェースを用いることができる。外部装置は、半導体製造装置200及び図に示していないサーバ装置を含み得る。通信部103は、送信すべきデータが制御部101から入力された場合、宛先の外部装置へデータを送信し、外部装置から送信されたデータを受信した場合、受信したデータを制御部101へ出力する。
 操作部104は、タッチパネル、キーボード、スイッチなどの操作デバイスを備え、ユーザ等による各種の操作及び設定を受付ける。制御部101は、操作部104より与えられる各種の操作情報に基づき適宜の制御を行い、必要に応じて設定情報を記憶部102に記憶させる。
 表示部105は、液晶モニタや有機EL(Electro-Luminescence)などの表示デバイスを備え、制御部101からの指示に応じてユーザ等に報知すべき情報を表示する。
 なお、本実施の形態における情報処理装置100は、単一のコンピュータであってもよく、複数のコンピュータや周辺機器などにより構成されるコンピュータシステムであってもよい。また、情報処理装置100は、実体が仮想化された仮想マシンであってもよく、クラウドであってもよい。更に、本実施の形態では、情報処理装置100と半導体製造装置200とを別体として記載したが、情報処理装置100は半導体製造装置200の内部に設けられるものであってもよい。
 本実施の形態では、ユーザに提示するプロセスレシピを構築するために、強化学習アルゴリズムを用いる。図6は強化学習アルゴリズムの概要図である。強化学習アルゴリズムは、ある環境下におかれたエージェントが観測対象の現在の状態を観測し、取るべき行動を決定する問題を扱うアルゴリズムである。以下では、強化学習の一手法であるDQN(Deep Q-Network)について説明する。
 強化学習における学習モデルは、観測対象の現在の状態st を入力した場合、取り得る行動a1,a2,…,an(nは2以上の整数)の夫々について行動価値関数の値(Q値)を出力するよう学習される。行動価値関数をニューラルネットワークで近似し、強化学習を行う手法がDQNである。
 本実施の形態では、行動価値関数を近似するニューラルネットワークを用いて学習モデルMD1を表現し、被処理体の現在の状態に応じて、各proxelを選択したときの価値に関する情報を出力するよう強化学習を行う。学習モデルMD1に入力する状態st は、例えば、被処理体の現在の状態を示す状態データと、被処理体の目標状態を示す目標データとの間の差分データである。より具体的には、被処理体の現在の形状を示す画像データと、被処理体の目標形状を示す画像データとの間の差分データを用いることができる。
 学習モデルMD1は、現在の状態st の入力に対し、取り得る行動a1,a2,…,an(nは2以上の整数)のそれぞれについて行動価値関数の値Q(st ,a1),Q(st ,a2),…,Q(st ,an)を出力する。行動価値関数の値は、状態st において行動aを選択した場合における、将来にわたって得られる収益の期待値を表しており、Q値とも呼ばれる。すなわち、行動価値関数の値(Q値)は、短期的な報酬を表すのではなく、長期的な意味での価値を表している。本実施の形態において、行動aは、選択したproxelにより規定される条件に従ってプロセスを構成する一のステップを実行することに相当する。
 エージェントは、学習モデルMD1より各行動について出力されるQ値を参照し、状態st において取り得る行動a1,a2,…,anのうち、最もQ値が高くなる行動at を選択する。環境は選択された行動at によって更新され、次の状態st+1 が定まる。本実施の形態において、エージェントは情報処理装置100の制御部101であり、環境はプロセスレシピに従って製造プロセスを仮想的に実行するシミュレータである。
 エージェントは、行動at の選択により生成される次の状態st+1 に応じて、環境より報酬rt+1 を獲得する。実施する製造プロセスがエッチング処理であった場合、報酬rt+1 は、例えば、被処理体を削れた量、削り残しのロス、削り過ぎのロス、選択したproxelの正当性等に応じて決定される。
 エージェントは、試行錯誤を重ねながら、将来にわたって得られる報酬(収益)を最大化するような行動を学習する。具体的には、エージェントは、状態st 、状態st+1 、及び前回の行動at に対する報酬rt+1 を使用して、以下の数式(1)に基づき学習モデルMD1を順次更新する。
Q(st ,at )←Q(st ,at )
           +α{rt+1 +γ・maxQ(st+1 ,at+1 )-Q(st ,at )}
                                                       ‥‥‥(1)
 ここで、αは学習係数、γは割引率、rt+1 は行動at の結果として得られる報酬である。学習係数αは、学習の速度を決定するパラメータであり、0<α<1の関係を満たす。割引率γは、未来の状態に対する評価をどの程度割り引いて評価するかを示すパラメータであり、0<γ<1の関係を満たす。
 Q学習では、数式(1)の右辺第2項がゼロになるように、誤差逆伝播法等を用いて学習モデルMD1のモデルパラメータを学習する。これは、行動at により状態st が状態st+1 に遷移した場合に、その行動at のQ値を次の状態st+1 において最もQ値が高い状態である場合の値に近づけることを意味する。
 エージェントは、所定の終了条件を満たすまで学習モデルMD1の更新を繰り返す。更新を繰り返すことによって、学習モデルMD1は報酬rt+1 が最大化するよう学習される。終了条件は、例えば、所定回数の更新を行った場合、被処理体の形状が目標形状に近づいた場合、被処理体が削れなくなった場合など適宜設定される。
 以上の強化学習により生成される学習モデルMD1の構成について説明する。図7は学習モデルMD1の構成例を示す模式図である。学習モデルMD1は、例えば図7に示す第1レイヤL1から第6レイヤL6の6つのレイヤを含む。第1レイヤL1は、スライス(Slice)層を備える。第1レイヤL1には、被処理体の現在の形状を示す画像データと目標形状を示す画像データとの差分データが入力される。第1レイヤL1は、入力された差分データの一部を切り取り、後段の第2レイヤに出力する。
 第2レイヤL2は、CNN(Convolutional Neural Network)ブロック、最大プーリング(MaxPooling)層、バッチ正規化(BatchNormalization)層、ReLU(Rectified Linear Unit)層を備える。第2レイヤL2は、第1レイヤL1から入力される差分データより特徴量を抽出し、抽出したデータを後段の第3レイヤへ出力する。
 第3レイヤL3は、第2レイヤL2と同様に、CNNブロック、最大プーリング層、バッチ正規化層、ReLU層を備える。第2レイヤL2は、第2レイヤL2から入力されるデータより特徴量を抽出し、抽出したデータを後段の第3レイヤへ出力する。
 第4レイヤL4は、平滑化(Flatten)層、第5レイヤL5は、線形(Linear)層及びReLU層、第6レイヤは、線形層を備える。第6レイヤL6が備える最終の線形層は、取り得る行動a1,a2,…,anの数と同数のノードを備え、各ノードから対応する行動a1,a2,…,anのそれぞれについて行動価値関数の値を出力する。
 本実施の形態では、被処理体の現在の形状を示す画像データと、目標形状を示す画像データとの差分を学習モデルMD1に入力するので、目標形状に近くなったときに適切なproxelを選択しやすいという利点を有する。
 以下、情報処理装置100の動作について説明する。
 情報処理装置100は、実運用が開始される前の学習フェーズにて学習モデルMD1の生成処理を行い、学習モデルMD1が生成された後の運用フェーズにて学習モデルMD1を用いたレシピ構築処理を実行する。
 図8は学習モデルMD1の生成手順を説明するフローチャートである。情報処理装置100の制御部101は、学習フェーズにおいて、記憶部102に記憶されている学習プログラムPG1を実行し、学習モデルMD1を生成するために以下の手順を実行する。なお、学習を開始する前の段階では、学習モデルMD1を記述するモデルパラメータには、初期値が与えられているものとする。
 制御部101は、被処理体の目標形状を示す画像データを取得する(ステップS101)。目標形状は、被処理体に関してユーザにより設定される目標の断面形状である。制御部101は、例えばユーザ端末(不図示)から通信部103を通じて取得することが可能である。
 制御部101は、被処理体の現在の形状を示す画像データを取得する(ステップS102)。ここで、被処理体の現在の形状を示す画像データは、例えば、シミュレータSIMを用いた計算により得られる被処理体の断面形状の画像データである。
 制御部101は、被処理体の現在の形状を示す画像データと、目標形状を示す画像データとの差分データを学習モデルMD1に入力し、学習モデルMD1による演算を実行する(ステップS103)。学習モデルMD1による演算により、取り得る行動のそれぞれについて行動価値関数の値(Q値)が得られる。
 制御部101は、学習モデルMD1による演算結果に基づき、proxelを選択する(ステップS104)。制御部101は、現在の状態st に応じて算出される各行動のQ値のうち、Q値が最も高くなるように行動aを選択することで、proxelを選択する。制御部101は、選択したproxelの情報を記憶部102に記憶させる。
 制御部101は、proxelデータベースDBを参照し、選択したproxelに対応付けられて記憶されているプロセス条件を読み出す(ステップS105)。制御部101は、プロセス条件として、設定データ、出力データ、測定データ及び実験データのデータ範囲を読み出せばよい。
 制御部101は、proxelデータベースDBから読み出したプロセス条件に基づき、シミュレータSIMによるシミュレーションを実行し、被処理体の形状を計算する(ステップS106)。
 制御部101は、計算した被処理体の形状に基づき報酬を算出する(ステップS107)。例えば、制御部101は、ステップS102で取得した被処理体の現在の形状と、ステップS106でシミュレータSIMにより計算した被処理体の形状とを比較することにより、削れた量を算出し、削れた量に応じて例えば-0.1~0.1の報酬を付与する。また、制御部101は、ステップS101で取得した目標形状と、ステップS106で計算した被処理体の形状とを比較することにより、削り残しのロス若しくは削り過ぎのロスを算出し、削り残しのロスに対して例えば-0.1~0.1の報酬を付与し、削り過ぎのロスに対して例えば-0.1~0の報酬を付与してもよい。更に、制御部101は、ステップS103で入力したproxelが正当なものでない場合に-1の報酬を付与する。
 制御部101は、学習を終了するか否かを判断する(ステップS108)。例えば、制御部101は、製造プロセスのステップ数が閾値以上となった場合、削り過ぎのロスが閾値以上となった場合、現在の形状と目標形状との差分が閾値未満となった場合、正当でないproxelが設定回数以上選択された場合等において、学習を終了すると判断する。
 学習を終了しないと判断した場合(S108:NO)、制御部101は、学習モデルMD1を構成するノード間の重みやバイアスを含むモデルパラメータを更新し(ステップS109)、処理をステップS103へ戻す。ステップS103へ処理を戻した後、制御部101は、シミュレータSIMで計算した形状を現在の形状とみなして学習モデルMD1により演算を実行する。Q学習では、上述したステップS103~S109の演算を繰り返し行うことにより、上述した数式(1)の第2項がゼロに近づくように学習モデルMD1のモデルパラメータが学習される。
 学習を終了すると判断した場合(S108:YES)、制御部101は、本フローチャートによる処理を終了する。このとき、記憶部102には、学習済みの学習モデルMD1におけるモデルパラメータが記憶される。
 制御部101は、図8のフローチャートに示す手順を同一のプロセスについて複数回実行することにより、学習モデルMD1を生成してもよい。この場合、制御部101は、各プロセスの終了後に報酬を付与することにより強化学習を進めればよい。例えば、制御部101は、最終の削り残しのロスに対して-1~1の報酬、ステップ数に応じて0~1の報酬を付与すればよい。また、制御部101は、削りすぎのロスに対して-1~0の報酬を付与してもよい。
 本実施の形態では、一例としてQ学習による学習アルゴリズムについて説明したが、学習モデルMD1の生成方法は、Q学習に限らず、例えば、TD学習(Temporal Difference Learning)、方策勾配法(Policy gradients)、SARSA(State-Action-Reward-State-Action)、Actor-critic等、任意の強化学習アルゴリズムを使用できる。
 図9は学習モデルMD1を用いたレシピ構築手順を説明するフローチャートである。情報処理装置100の制御部101は、学習モデルMD1が生成された後の運用フェーズにおいて、記憶部102に記憶されているレシピ構築プログラムPG2を実行し、プロセスレシピを構築するための以下の手順を実行する。なお、運用を開始する前の段階では、記憶部102には学習済みのモデルパラメータが記憶されているものとする。
 制御部101は、プロセスレシピに用いるproxelのインデックスをi=1に初期化する(ステップS121)。
 制御部101は、被処理体の初期形状及び目標形状を示す画像データを取得する(ステップS122)。初期形状は、被処理体に関してユーザにより設定されるプロセス開始前の断面形状であり、目標形状は、被処理体に関してユーザにより設定される目標の断面形状である。制御部101は、例えばユーザ端末(不図示)から通信部103を通じて取得することが可能である。
 制御部101は、被処理体の現在の形状を示す画像データと、目標形状を示す画像データとの差分データを学習モデルMD1に入力し、学習モデルMD1による演算を実行する(ステップS123)。学習モデルMD1による演算結果は、推奨するproxelの情報を含む。本実施の形態において、取り得る行動のそれぞれについて算出されるQ値のうち、最もQ値が高い行動の情報は、推奨するproxelの情報に相当する。
 制御部101は、学習モデルMD1による演算結果に基づきproxelを選択する(ステップS124)。制御部101は、選択したproxelをインデックスiのproxelとして記憶部102に記憶させる。
 制御部101は、proxelデータベースDBを参照して、選択したproxelに対応付けられて記憶されているプロセス条件を読み出し(ステップS125)、シミュレータSIMによるシミュレーションを実行することにより、被処理体の形状を計算する(ステップS126)。
 制御部101は、プロセスを終了するか否かを判断する(ステップS127)。例えば、制御部101は、ステップS126で計算した被処理体の形状(現在の形状)と目標形状との差分が閾値未満であった場合、プロセスを終了すると判断する。
 プロセスを終了しないと判断した場合(S127:NO)、制御部101は、proxelのインデックスiを+1だけ増加させ(ステップS128)、処理をステップS123へ戻す。制御部101は、ステップS126で計算した形状を現在の形状とみなし、学習モデルMD1による演算を繰り返す。
 一方、プロセスを終了すると判断した場合(S127:YES)、制御部101は、インデックスi=1~nのproxelを結合することによってプロセスレシピを構築し(ステップS129)、構築したプロセスレシピの情報を出力する(ステップS130)。ここで、nはプロセス終了時のproxelのインデックスである。制御部101は、構築したプロセスレシピの情報を通信部103よりユーザ端末へ送信してもよく、表示部105に表示させてもよい。
 以上のように、実施の形態1では、強化学習を用いてレシピ構築のための学習モデルMD1を生成することができる。学習済みの学習モデルMD1を記憶部102に記憶させておくことができるので、運用時には、記憶部102から学習モデルMD1のモデルパラメータを読み込むことにより演算が可能となり、ユーザに推奨するプロセスレシピを構築することができる。
 本実施の形態では、学習モデルMD1への入力として、現在の形状を示す画像データと、目標形状を示す画像データとの差分を採用しているので、現在の形状が目標形状に近くなった場合に適切なproxelが選択されやすくなり、より適切なプロセスレシピを構築することができる。
 本実施の形態では、学習済みの学習モデルMD1に対して、初期形状及び目標形状の差分データを入力し、製造プロセス全体のプロセスレシピを構築する構成とした。代替的に、制御部101は、製造プロセスの第1の時点における形状のデータと、第1の時点よりも遅い第2の時点における形状のデータとの間の差分データを学習モデルMD1に入力し、第1の時点から第2の時点に至るまでの部分的なプロセスレシピを生成してもよい。
 また、制御部101は、各ステップにおいて選択したproxelの情報と共に、そのproxelについて算出される行動価値関数の値を併せて表示してもよい。本実施の形態では、行動価値関数の値を基にproxelを選択するので、行動価値関数の値を併せてユーザに提示することにより、proxel選択結果の信頼度を併せてユーザに提示できる。
 更に、制御部101は、Grad-CAM(Gradient-weighted Calss Activation Mapping)技術を利用し、proxel選択において注目した箇所をヒートマップにより表示してもよい。例えば、制御部101は、学習モデルMD1を構成する第2レイヤL2、第3レイヤL3、第4レイヤL4の結果を取り出し、第4レイヤL4による分類結果を使って誤差逆伝搬し、第3レイヤL3及び第2レイヤL2における畳み込み層の勾配を計算することにより、注目箇所を示すヒートマップを生成すればよい。
(実施の形態2)
 実施の形態2では、学習モデルの変形例について説明する。
 図10は実施の形態2における学習モデルMD2の構成例を示す模式図である。実施の形態2における学習モデルMD2の構成は、実施の形態1における学習モデルMD1と同様であり、第1レイヤL1~第6レイヤL6を備える。
 実施の形態2では、被処理体の現在の形状を示す画像データと目標形状を示す画像データとの差分データに加え、前回選択したproxelの情報が学習モデルMD2に入力される。すなわち、実施の形態2における学習モデルMD2は、プロセスレシピにおけるi番目(iは2以上の整数)のステップが実行される前の被処理体の形状を示す画像データと目標形状を示す画像データとの間の差分データと、i-1番目のステップが実行される際に選択されたproxelの情報とが入力される。具体的には、第4レイヤL4で平滑化した後のテンソルに、前回選択したproxelのインデックスをワンホット表現にして結合すればよい。すなわち、選択されたproxelに対応する要素を1、残りの要素を0にしたベクトルを結合すればよい。
 実施の形態2では、前回選択したproxelの情報を考慮して、強化学習を行う。例えば、前回と同じproxelが選択された場合、報酬をゼロとし、前回と異なるproxelが選択された場合、報酬を負の値(例えば-0.5)として強化学習を行えばよい。強化学習の処理手順や学習後のレシピ構築手順については、実施の形態1と同様であるため、その詳細な説明を省略する。
 実施の形態2では、前回選択したproxelの情報を考慮して強化学習を行うので、例えば、proxelの切り替えが少ない、より自然なプロセスレシピの構築が期待される。
(実施の形態3)
 実施の形態3では、学習モデルのファインチューニングについて説明する。
 実施の形態3に係る情報処理装置100は、被処理体の初期形状が変更となった場合、proxelデータベースDBに記憶しているproxelのデータが変更となった場合等において、学習モデルMD1のファインチューニングを行う。以下、被処理体の初期形状が変更となり、学習モデルMD1をファインチューニングする場合について説明する。
 図11はファインチューニングの処理手順を説明するフローチャートである。制御部101は、学習済みの学習モデルMD1をファインチューニングして新たな学習モデルを生成する場合、記憶部102から学習モデルMD1のモデルパラメータを読み込む(ステップS301)。
 制御部101は、被処理体の目標形状を示す画像データを取得し(ステップS302)、変更後の被処理体の初期形状を示す画像データを取得する(ステップS303)。
 制御部101は、被処理体の現在の形状を示す画像データと、目標形状を示す画像データとの差分データを学習モデルMD1に入力し、学習モデルMD1による演算を実行する(ステップS304)。すなわち、ステップS301で読み込んだモデルパラメータに基づき、演算を実行すればよい。学習モデルMD1による演算により、取り得る行動のそれぞれについて行動価値関数の値(Q値)が得られる。
 制御部101は、学習モデルMD1による演算結果に基づき、proxelを選択し(ステップS305)、選択したproxelに対応付けられて記憶されているプロセス条件を読み出す(ステップS306)。
 制御部101は、proxelデータベースDBから読み出したプロセス条件に基づき、シミュレータSIMによるシミュレーションを実行して、被処理体の形状を計算し(ステップS307)、計算した被処理体の形状に基づき報酬を算出する(ステップS308)。
 制御部101は、学習を終了するか否かを判断し(ステップS309)、学習を終了しないと判断した場合(S309:NO)、学習モデルMD1を構成するノード間の重みやバイアスを含むモデルパラメータを更新して(ステップS310)、所定をステップS304へ戻す。
 学習を終了すると判断した場合(S309:YES)、制御部101は、最終的に得られたモデルパラメータを新たな学習モデルのモデルパラメータとして記憶部102に記憶させる(ステップS311)。
 以上のように、実施の形態3では、学習済みの学習モデルMD1を活用し、ファインチューニングにより新たな学習モデルを生成することができるので、新たな被処理体について学習モデルを生成する場合であっても、学習に要する時間を短縮することができる。
 図11のフローチャートでは、初期形状が異なる場合のファインチューニングについて説明したが、proxelデータベースDBに記憶しているproxelのデータが変更となった場合等においても、ファインチューニングにより時間を掛けずに新たな学習モデルを生成することができる。
(実施の形態4)
 実施の形態4では、学習モデルMD1を用いて、ユーザ設定のレシピを評価する構成について説明する。
 図12はプロセスレシピの評価手順を説明するフローチャートである。制御部101は、ユーザによって設定されたプロセスレシピを取得する(ステップS401)。制御部101は、例えばユーザ端末(不図示)から通信部103を通じてプロセスレシピを取得することが可能である。
 制御部101は、記憶部102から学習モデルMD1のモデルパラメータを読み込む(ステップS402)。ここでは、ユーザによって設定されたプロセスレシピにおいて想定されている被処理体と同一若しくは類似の被処理体を対象として生成された学習モデルMD1のモデルパラメータを読み込むものとする。
 制御部101は、初期形状及び目標形状を取得し(ステップS403)、それらの差分データを学習モデルMD1に入力することによって、学習モデルMD1による演算を実行する(ステップS404)。
 制御部101は、ユーザ設定のプロセスレシピにおいて選択されたproxelの評価値を算出する(ステップS405)。制御部101は、例えば、ステップS404の演算結果に基づき、ユーザにより選択されたproxelが学習モデルMD1によって選択される確率を評価値として算出する。
 制御部101は、ユーザによって選択されたproxelの情報に基づき、proxelデータベースDBよりプロセス条件を読み出し(ステップS406)、シミュレータにより形状を算出する(ステップS407)。
 制御部101は、プロセスが終了したか否かを判断し(ステップS409)、終了していないと判断した場合(S409:NO)、処理をステップS404へ戻し、次のステップにおいてユーザが選択したproxelの評価を実行する。
 プロセスが終了したと判断した場合(S409:YES)、制御部101は、各proxelの評価値を含むプロセスレシピの評価結果を出力する(ステップS410)。制御部101は、算出したプロセスレシピの評価結果を通信部103よりユーザ端末へ送信してもよく、表示部105に表示させてもよい。
 以上のように、実施の形態4では、学習済みの学習モデルMD1を用いることにより、ユーザにより設定されたプロセスレシピを定量的に評価することができる。
 各実施形態に記載した事項は相互に組み合わせることが可能である。また、請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
 今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
 100 情報処理装置
 101 制御部
 102 記憶部
 103 通信部
 104 操作部
 115 表示部
 PG1 学習プログラム
 PG2 レシピ構築プログラム
 SIM シミュレータ
 MD1,MD2 学習モデル
 DB proxelデータベース

Claims (17)

  1.  プロセスレシピを構築するための複数の変数群と、前記プロセスレシピの特定のステップが実行される前の被処理体の状態を示す状態データと、前記被処理体の目標状態を示す目標データとを取得し、
     前記複数の変数群から一の変数群を選択し、選択した一の変数群により特徴付けられる一のステップを実行することによって得られる前記被処理体の状態を評価し、
     取得した状態データ及び目標データ、並びに、評価した前記被処理体の状態に応じて決定される報酬を用いた強化学習によって、プロセスレシピ構築のためのモデルを生成する
     処理をコンピュータにより実行するモデル生成方法。
  2.  前記モデルは、被処理体の状態を示す状態データと、前記被処理体の目標状態を示す目標データとに基づくデータを入力した場合、前記プロセスレシピの各ステップで推奨する変数群の情報を出力するよう構成される
     請求項1に記載のモデル生成方法。
  3.  前記状態データは、前記特定のステップが実行される前の被処理体の形状を示す画像データであり、
     前記目標データは、前記被処理体の目標形状を示す画像データであり、
     前記被処理体の形状を示す画像データと、前記目標形状を示す画像データとの間の差分データを前記モデルに入力する
     処理を前記コンピュータにより実行する請求項2に記載のモデル生成方法。
  4.  前記一のステップをシミュレータにより実行する
     処理を前記コンピュータにより実行する請求項1に記載のモデル生成方法。
  5.  前記一のステップを実行する前後の前記被処理体の状態の変化、及び、前記一のステップを実行した後の被処理体の状態と目標状態との差を算出することにより、前記一のステップを実行することによって得られる前記被処理体の状態を評価する
     処理を前記コンピュータにより実行する請求項1に記載のモデル生成方法。
  6.  算出した状態の変化、及び算出した目標状態との差に応じて、前記報酬を決定する
     処理を前記コンピュータにより実行する請求項5に記載のモデル生成方法。
  7.  前記モデルは、構築すべきプロセスレシピにおけるi番目(iは2以上の整数)のステップが実行される前の前記被処理体の状態を示す状態データと、前記被処理体の目標状態を示す目標データとに基づくデータ、及びi-1番目のステップが実行される際に選択された変数群の情報を入力した場合、前記i番目のステップで推奨する変数群の情報を出力するよう構成される
     請求項1に記載のモデル生成方法。
  8.  前記i-1番目のステップが実行される際に選択された変数群と、前記i番目のステップが実行される際に選択された変数群とが同一であるか否かに応じて、前記報酬を決定する
     処理を前記コンピュータにより実行する請求項7に記載のモデル生成方法。
  9.  複数回のプロセスを実行し、各プロセスで最終的に得られた被処理体の状態、及び各プロセスのステップ数に応じて、前記報酬を決定する
     処理を前記コンピュータにより実行する請求項1に記載のモデル生成方法。
  10.  プロセスレシピを構築するための複数の変数群と、前記プロセスレシピの特定のステップが実行される前の被処理体の状態を示す状態データと、前記被処理体の目標状態を示す目標データとを取得し、
     前記複数の変数群から一の変数群を選択し、選択した一の変数群により特徴付けられる一のステップを実行することによって得られる前記被処理体の状態を評価し、
     取得した状態データ及び目標データ、並びに、評価した前記被処理体の状態に応じて決定される報酬を用いた強化学習によって、プロセスレシピ構築のためのモデルを生成する
     処理をコンピュータに実行させるためのコンピュータプログラム。
  11.  生成したモデルのモデルパラメータを初期値に用いて、前記被処理体とは異なる別の被処理体について新たなモデルを生成する
     処理を前記コンピュータに実行させるための請求項10に記載のコンピュータプログラム。
  12.  プロセスレシピの特定のステップが実行される前の被処理体の状態を示す状態データと、前記被処理体の目標状態を示す目標データとを取得し、
     取得した状態データ及び目標データを、請求項1から請求項9の何れか1つに記載のモデル生成方法にて生成されたモデルに入力して該モデルによる演算を実行し、
     前記モデルによる演算結果に基づき、前記ステップで採用すべき変数群を特定し、
     複数のステップの夫々で特定した変数群に基づき、前記プロセスレシピを構築する
     処理をコンピュータに実行させるためのコンピュータプログラム。
  13.  前記モデルは、複数の変数群のそれぞれについて行動価値関数の値を出力するよう構成してあり、
     各ステップで選択した変数群の行動価値関数の値を出力する
     処理を前記コンピュータに実行させるための請求項12に記載のコンピュータプログラム。
  14.  前記変数群の選択に寄与した前記状態データの部分を可視化する
     処理を前記コンピュータに実行させるための請求項12に記載のコンピュータプログラム。
  15.  ユーザにより設定されたプロセスレシピと、前記モデルにより構築されたプロセスレシピとを比較する
     処理を前記コンピュータに実行させるための請求項12に記載のコンピュータプログラム。
  16.  プロセスレシピを構築するための複数の変数群を記憶する記憶部と、
     前記プロセスレシピの特定のステップが実行される前の被処理体の状態を示す状態データと、前記被処理体の目標状態を示す目標データとを取得する取得部と、
     前記複数の変数群から1又は複数の変数群を選択し、選択した1又は複数の変数群により特徴付けられる1又は複数のステップを実行することによって得られる前記被処理体の状態を評価する評価部と、
     取得した状態データ及び目標データ、並びに、評価した前記被処理体の状態に応じて算出される報酬を用いた強化学習によって、プロセスレシピ構築のためのモデルを生成する生成部と
     を備える情報処理装置。
  17.  プロセスレシピの特定のステップが実行される前の被処理体の状態を示す状態データと、前記被処理体の目標状態を示す目標データとを取得する取得部と、
     取得した状態データ及び目標データを、請求項1から請求項9の何れか1つに記載のモデル生成方法にて生成されたモデルに入力して前記モデルによる演算を実行する演算部と、
     前記モデルによる演算結果に基づき、前記ステップで採用すべき変数群を特定する特定部と、
     複数のステップの夫々で特定した変数群に基づき、前記プロセスレシピを構築する構築部と
     を備える情報処理装置。
PCT/JP2023/016791 2022-05-06 2023-04-28 モデル生成方法、コンピュータプログラム及び情報処理装置 Ceased WO2023214541A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2024519208A JPWO2023214541A1 (ja) 2022-05-06 2023-04-28
KR1020247039931A KR20250005440A (ko) 2022-05-06 2023-04-28 모델 생성 방법, 컴퓨터 프로그램 및 정보 처리 장치
CN202380038791.4A CN119156688A (zh) 2022-05-06 2023-04-28 模型生成方法、计算机程序以及信息处理装置
US18/938,566 US20250061254A1 (en) 2022-05-06 2024-11-06 Model generation method, recording medium, and information processing apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-076699 2022-05-06
JP2022076699 2022-05-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/938,566 Continuation US20250061254A1 (en) 2022-05-06 2024-11-06 Model generation method, recording medium, and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2023214541A1 true WO2023214541A1 (ja) 2023-11-09

Family

ID=88646478

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/016791 Ceased WO2023214541A1 (ja) 2022-05-06 2023-04-28 モデル生成方法、コンピュータプログラム及び情報処理装置

Country Status (6)

Country Link
US (1) US20250061254A1 (ja)
JP (1) JPWO2023214541A1 (ja)
KR (1) KR20250005440A (ja)
CN (1) CN119156688A (ja)
TW (1) TW202407483A (ja)
WO (1) WO2023214541A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025164585A1 (ja) * 2024-02-02 2025-08-07 東京エレクトロン株式会社 コンピュータプログラム、情報処理方法及び情報処理装置
WO2025216108A1 (ja) * 2024-04-12 2025-10-16 東京エレクトロン株式会社 情報処理方法、情報処理装置及びコンピュータプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120220873A (zh) * 2025-03-12 2025-06-27 成都大帝汉克生物科技有限公司 基于人工智能的香料配方组成与优化方法、系统、设备以及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019212001A (ja) * 2018-06-05 2019-12-12 株式会社日立製作所 システム及び処理条件の決定方法
JP2020043270A (ja) * 2018-09-12 2020-03-19 東京エレクトロン株式会社 学習装置、推論装置及び学習済みモデル
WO2021081213A1 (en) * 2019-10-23 2021-04-29 Lam Research Corporation Determination of recipe for manufacturing semiconductor
JP2021182182A (ja) * 2020-05-18 2021-11-25 株式会社日立製作所 処理条件探索装置および処理条件探索方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7137943B2 (ja) 2018-03-20 2022-09-15 株式会社日立ハイテク 探索装置、探索方法及びプラズマ処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019212001A (ja) * 2018-06-05 2019-12-12 株式会社日立製作所 システム及び処理条件の決定方法
JP2020043270A (ja) * 2018-09-12 2020-03-19 東京エレクトロン株式会社 学習装置、推論装置及び学習済みモデル
WO2021081213A1 (en) * 2019-10-23 2021-04-29 Lam Research Corporation Determination of recipe for manufacturing semiconductor
JP2021182182A (ja) * 2020-05-18 2021-11-25 株式会社日立製作所 処理条件探索装置および処理条件探索方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025164585A1 (ja) * 2024-02-02 2025-08-07 東京エレクトロン株式会社 コンピュータプログラム、情報処理方法及び情報処理装置
WO2025216108A1 (ja) * 2024-04-12 2025-10-16 東京エレクトロン株式会社 情報処理方法、情報処理装置及びコンピュータプログラム

Also Published As

Publication number Publication date
KR20250005440A (ko) 2025-01-09
JPWO2023214541A1 (ja) 2023-11-09
CN119156688A (zh) 2024-12-17
TW202407483A (zh) 2024-02-16
US20250061254A1 (en) 2025-02-20

Similar Documents

Publication Publication Date Title
WO2023214541A1 (ja) モデル生成方法、コンピュータプログラム及び情報処理装置
US11907235B2 (en) Plasma processing apparatus including predictive control
KR102039394B1 (ko) 탐색 장치 및 탐색 방법
US11237544B2 (en) Information processing device, program, process treatment executing device, and information processing system
JP7735459B2 (ja) 高度に共線的なレスポンススペースにおける処方分析
US7092863B2 (en) Model predictive control (MPC) system using DOE based model
KR102206347B1 (ko) 시스템 및 처리 조건의 결정 방법
WO2021111511A1 (ja) 探索装置、探索プログラム及びプラズマ処理装置
JP7841927B2 (ja) 製造システムにおける多変量時系列データの予測方法およびシステム
US12614101B2 (en) Preprocessing for correlated topological quantum error correction
JP2020112756A (ja) 学習済モデルの生成方法、構造設計方法、コンピュータプログラム及び学習済モデル
JP2019220028A (ja) 最適化装置、最適化方法、およびプログラム
KR20260026535A (ko) 제조 시스템의 다중 레벨 rf 펄스 모니터링 및 rf 펄싱 파라미터 최적화
WO2024252995A1 (ja) 物性予測装置、物性予測方法、及び物性予測プログラム
WO2025205051A1 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
CN120604246A (zh) 计算机程序、信息处理方法、以及信息处理装置
CN120937118A (zh) 计算机程序、信息处理方法以及信息处理装置
WO2025004959A1 (ja) 情報処理方法、コンピュータプログラム及び情報処理装置
KR20250142393A (ko) 컴퓨터 프로그램, 분석 방법 및 분석 장치
TW202518626A (zh) 基板處理操作分析應用與可視圖像生成
WO2024203791A1 (ja) コンピュータプログラム、情報処理方法及び情報処理装置
Shirman et al. Strategic Monte Carlo Methods for State and Parameter Estimation in High Dimensional Nonlinear Problems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23799471

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024519208

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202380038791.4

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 20247039931

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23799471

Country of ref document: EP

Kind code of ref document: A1