A method, device, medium and equipment for training a spectral value calculation model
By constructing and training the spectral value calculation model, the problem of excessively long spectral value calculation in the existing technology is solved, the database construction and migration efficiency is improved, and storage resources are saved.
Patent Information
- Application Number
- CN202411954794.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2044-12-26
AI Technical Summary
In the prior art, when building a native database of grating structures, the calculation of spectral values is too long, making it difficult to meet the accuracy requirements for optical critical dimension measurement of semiconductor chips.
A spectral value calculation model training method is adopted to determine the number of target dimensions, build the spectral value calculation model to be trained, and optimize the model parameters through training samples to reduce the time to calculate the spectral value.
It improves the efficiency of building native databases, reduces the difficulty and time of database migration, and saves the storage resources of the device.
Smart Images

Figure CN119377682B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computers, and particularly to a method, apparatus, medium, and device for training a spectral value calculation model. Background Art
[0002] Currently, when performing optical critical dimension (OCD) measurement on a grating structure to be measured, it is usually to match the measured spectrum of the grating structure to be measured with each spectrum stored in a pre-constructed native database, and use the structure data corresponding to the matched spectrum as the structure data of the grating structure to be measured. That is, before performing OCD on the grating to be measured, usually a grating model corresponding to the grating structure to be measured is first constructed, then the values of various structure parameters of the grating model are determined, and several structure points are constructed according to the values of various structure parameters. Among them, each structure point includes at least two structure parameters, and then according to the values of the structure parameters included in each structure point, the spectral values corresponding to each structure point are calculated, so as to determine the spectra corresponding to each structure point according to the spectral values corresponding to each structure point, and construct the native database of the grating structure to be measured. During the OCD process, by matching the measured spectrum of the grating structure to be measured with the theoretical spectra stored in the native database, the measurement result of the semiconductor to be measured is determined according to the matched grating structure. Therefore, the construction of the native database determines the accuracy of the OCD result.
[0003] In the prior art, when constructing a native database, usually numerical solution methods such as the finite element method (FEM) and the boundary element method (BEM) are used to calculate the spectral values corresponding to different structure points, and then the spectra corresponding to the determined spectral values are determined. Finally, the native database can be constructed according to the determined spectra and the structure points corresponding to each spectrum. However, as the grating structure of semiconductor integrated chips becomes more and more complex, the amount of spectral value calculation becomes larger and larger, and the calculation time becomes longer and longer, which is difficult to meet the needs of users. Therefore, this specification provides a method, apparatus, medium, and device for training a spectral value calculation model. Summary of the Invention
[0004] This specification provides a method, apparatus, medium, and device for training a spectral value calculation model to partially solve the above problems existing in the prior art.
[0005] This specification adopts the following technical solutions:
[0006] A method for training a spectral value calculation model includes:
[0007] Determine the number of target dimensions, obtain the first set of structural parameters of the grating model as training samples, and the spectral values corresponding to the first set of structural parameters under the number of target dimensions as labels, where the grating model is established based on the structure of the grating to be measured;
[0008] Construct a spectral value calculation model to be trained according to the number of target dimensions;
[0009] Input the training samples into the spectral value calculation model, determine the output of the spectral value calculation model as the training spectral values, and train the spectral value calculation model with the minimum difference between the training spectral values and the labels as the optimization goal, where the trained spectral value calculation model is used to determine the corresponding first theoretical spectral values according to the input structural parameters.
[0010] Optionally, the step of determining the number of target dimensions specifically includes:
[0011] Obtain the second set of structural parameters of the grating model and the second theoretical spectral values corresponding to the grating model, and determine the original data set;
[0012] Determine the number of target dimensions according to the restoration accuracy of the original data set under each reduced dimension number.
[0013] Optionally, the step of determining the restoration accuracy specifically includes:
[0014] Determine the restored data set of the original data set according to the second theoretical spectral values;
[0015] Determine the restoration accuracy of the restored data set according to the original data set and the restored data set.
[0016] Optionally, the step of determining the restored data set of the original data set according to the second theoretical spectral values specifically includes:
[0017] Determine the number of reduced dimensions, reduce the second theoretical spectral values to the number of reduced dimensions and then restore them, determine the restored spectral values, and construct the restored data set.
[0018] Optionally, the step of reducing the second theoretical spectral values to the number of reduced dimensions specifically includes:
[0019] Determine each spectral dimension included in the second theoretical spectral values;
[0020] For each spectral dimension, determine the comprehensive correlation degree between this spectral dimension and other spectral dimensions according to the second theoretical spectral values;
[0021] Determine each target dimension corresponding to the number of dimensions to be reduced from each spectral dimension according to the determined comprehensive relevance;
[0022] Reduce the second theoretical spectral value according to each target dimension.
[0023] Optionally, the step of determining the restoration accuracy of the restored data set according to the original data set and the restored data set specifically includes:
[0024] Match the spectral values in the restored data set with those in the original data set;
[0025] Determine the restoration accuracy according to the matching result, and the matching result is positively correlated with the restoration accuracy.
[0026] Optionally, the step of determining the number of target dimensions according to the restoration accuracy of the original data set under each number of dimensions to be reduced specifically includes:
[0027] According to the restoration accuracy, with the restoration accuracy not less than the preset accuracy and the minimum number of dimensions to be reduced as the adjustment target, adjust the number of dimensions to be reduced until the target number of dimensions that meets the adjustment target is determined.
[0028] Optionally, adjust the number of dimensions to be reduced in the adjustment direction of gradually decreasing the number of dimensions to be reduced;
[0029] The step of adjusting the number of dimensions to be reduced according to the restoration accuracy, with the restoration accuracy not less than the preset accuracy and the minimum number of dimensions to be reduced as the adjustment target, until the target number of dimensions that meets the adjustment target is determined specifically includes:
[0030] When the restoration accuracy is not less than the preset accuracy, reduce the number of dimensions to be reduced according to the preset number of dimensions in a single iteration, reconstruct the restored data set according to the reduced number of dimensions to be reduced, and re-determine the restoration accuracy of the reduced number of dimensions to be reduced until the restoration accuracy of the reduced number of dimensions to be reduced is less than the preset accuracy. Take the number of dimensions to be reduced before the last reduction of the number of dimensions to be reduced as the target number of dimensions.
[0031] Optionally, the step of taking the number of dimensions to be reduced before the last adjustment of the number of dimensions to be reduced as the target number of dimensions specifically includes:
[0032] When the number of dimensions in a single iteration in the last time is greater than one dimension number, reduce the number of dimensions in a single iteration, and starting from the number of dimensions to be reduced before the last reduction of the number of dimensions to be reduced, continue to reduce the number of dimensions to be reduced with the reduced number of dimensions in a single iteration until the adjustment target is met;
[0033] When the number of dimensions in the most recent single iteration is equal to a dimension number, use the number of dimensions before reducing the number of dimensions to be reduced in the most recent reduction as the target number of dimensions.
[0034] Optionally, adjust the number of dimensions to be reduced in the adjustment direction of gradually increasing according to the number of dimensions to be reduced.
[0035] The step of adjusting the number of dimensions to be reduced with the restoration accuracy not less than a preset accuracy and the minimum number of dimensions to be reduced as the adjustment target until the target number of dimensions that meets the adjustment target is determined specifically includes:
[0036] When the restoration accuracy is less than the preset accuracy, increase the number of dimensions to be reduced, reconstruct the restoration data set according to the increased number of dimensions to be reduced, and re-determine the restoration accuracy of the increased number of dimensions to be reduced until the restoration accuracy of the increased number of dimensions to be reduced is not less than the preset accuracy. Then, use the most recent increased number of dimensions to be reduced as the target number of dimensions.
[0037] Optionally, the step of using the number of dimensions to be reduced after the most recent adjustment as the target number of dimensions specifically includes:
[0038] When the number of dimensions in the most recent single iteration is equal to a dimension number, use the number of dimensions to be reduced after the most recent adjustment of the number of dimensions to be reduced as the target number of dimensions.
[0039] When the number of dimensions in the most recent single iteration is greater than a dimension number, reduce the number of dimensions in the single iteration, and starting from the number of dimensions to be reduced before the most recent adjustment of the number of dimensions to be reduced, continue to increase the number of dimensions to be reduced with the reduced number of dimensions in the single iteration until the adjustment target is met.
[0040] Optionally, the step of adjusting the number of dimensions to be reduced with the restoration accuracy not less than a preset accuracy and the minimum number of dimensions to be reduced as the adjustment target until the target number of dimensions that meets the adjustment target is determined specifically includes:
[0041] Determine the number of dimensions to be reduced by the dichotomy method according to the spectral dimension number of the second theoretical spectral value, and determine the restoration accuracy corresponding to the number of dimensions to be reduced.
[0042] Based on the magnitude relationship between the restoration accuracy corresponding to the number of dimensions to be reduced and the preset accuracy, determine the range of the number of dimensions to be reduced by the dichotomy method, re-determine the number of dimensions to be reduced, and re-determine the restoration accuracy until the number of dimensions to be reduced with the restoration accuracy not less than the preset accuracy and the minimum is determined as the target number of dimensions.
[0043] Optionally, the step of determining the target dimensionality according to the restoration accuracy at each dimensionality reduction dimensionality number of the original data set specifically includes:
[0044] Determine a dimensionality reduction score, input the dimensionality reduction score into a preset dimensionality reduction function, determine the dimensionality reduction dimensionality number corresponding to the dimensionality reduction score and each spectral dimension after dimensionality reduction, and determine the restoration accuracy of the dimensionality reduction dimensionality number;
[0045] Taking the restoration accuracy not less than a preset accuracy and the minimum dimensionality reduction dimensionality number as the adjustment target, adjust the dimensionality reduction score, and re-pass the dimensionality reduction function to determine the dimensionality reduction dimensionality number corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction, and re-calculate the restoration accuracy corresponding to the adjusted dimensionality reduction dimensionality number until the target dimensionality number that meets the adjustment target and each spectral dimension corresponding to the target dimensionality number are determined.
[0046] Optionally, adjust the dimensionality reduction score in the adjustment direction of gradually decreasing according to the number of dimensionality reduction scores;
[0047] The step of adjusting the dimensionality reduction dimensionality number, adjusting the dimensionality reduction score, and re-passing the dimensionality reduction function to determine the dimensionality reduction dimensionality number corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction, and re-calculating the restoration accuracy corresponding to the adjusted dimensionality reduction dimensionality number until the target dimensionality number that meets the adjustment target and each spectral dimension corresponding to the target dimensionality number are determined specifically includes:
[0048] When the restoration accuracy is not less than the preset accuracy, reduce the dimensionality reduction score, and re-pass the dimensionality reduction function to determine the dimensionality reduction dimensionality number after reducing the dimensionality reduction score and the corresponding restoration accuracy until the determined restoration accuracy is less than the preset accuracy. Take the dimensionality reduction dimensionality number before the last reduction of the dimensionality reduction score as the target dimensionality number, and determine each spectral dimension corresponding to the target dimensionality number.
[0049] Optionally, adjust the dimensionality reduction score in the adjustment direction of gradually increasing according to the dimensionality reduction score;
[0050] The step of adjusting the dimensionality reduction score, and re-passing the dimensionality reduction function to determine the dimensionality reduction dimensionality number corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction, and re-calculating the restoration accuracy corresponding to the adjusted dimensionality reduction dimensionality number until the target dimensionality number that meets the adjustment target and each spectral dimension corresponding to the target dimensionality number are determined specifically includes:
[0051] When the restoration accuracy is less than the preset accuracy, increase the dimensionality reduction score, and re-determine the dimensionality reduction dimension number and the corresponding restoration accuracy after reducing the dimensionality reduction score through the dimensionality reduction function until the determined restoration accuracy is not less than the preset accuracy. Then, take the dimensionality reduction dimension number after the last increase in the dimensionality reduction score as the target dimension number, and determine each spectral dimension corresponding to the target dimension number.
[0052] Optionally, the step of adjusting the dimensionality reduction score, re-determining the dimensionality reduction dimension number corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction through the dimensionality reduction function, and re-calculating the restoration accuracy corresponding to the adjusted dimensionality reduction dimension number until the target dimension number that meets the adjustment target and each spectral dimension corresponding to the target dimension number are determined specifically includes:
[0053] Based on the magnitude relationship between the restoration accuracy corresponding to the dimensionality reduction dimension number of the dimensionality reduction score and the preset accuracy, adjust the dimensionality reduction score by the dichotomy method.
[0054] Through the dimensionality reduction function, re-determine the dimensionality reduction dimension number and the corresponding restoration accuracy after reducing the dimensionality reduction score through the dimensionality reduction function until the target dimension number that meets the adjustment target and each spectral dimension corresponding to the target dimension number are determined.
[0055] Optionally, the step of constructing the spectral value calculation model to be trained according to the target dimension number specifically includes:
[0056] According to the target dimension number, determine the number of neurons in each network layer of the spectral value calculation model to be trained except for the input layer, and the target dimension number is positively correlated with the number of neurons in each network layer.
[0057] Optionally, the structural parameters of the grating model include at least two of the sidewall angle, height, depth, top width, and bottom width of the grating structure to be measured, and the first theoretical spectral value, the second theoretical spectral value, and the training spectral value are determined based on at least two structural parameters and incident light with a preset wavelength.
[0058] Optionally, the step of training the spectral value calculation model specifically includes:
[0059] According to the magnitude of the difference, adjust each model parameter in the spectral value calculation model at a preset step size.
[0060] When the number of adjustment times reaches the preset value, reduce the preset step size, and then adjust each model parameter again according to the reduced preset step size.
[0061] Optionally, the spectral value calculation model is trained through a multi-round iteration process. The first set of structural parameters contains several structural points, where:
[0062] Determine the number of structural points in the training samples for each round of the iteration process in an increasing manner;
[0063] Sample the first set of structural parameters according to the number of structural points in this round of the iteration process, and use each sampled structural point as the training sample for this round of the iteration process.
[0064] Optionally, the spectral value calculation model is trained through a multi-round iteration process. The first set of structural parameters contains several structural points, where:
[0065] Sample the first set of structural parameters at least twice to determine at least two training sets with different numbers of included structural points;
[0066] For each round of the iteration process, determine a training set different from the training set used in the previous round of the iteration process for this round of training.
[0067] Optionally, the step of training the spectral value calculation model specifically includes:
[0068] Record the differences determined in each round of training of the spectral value calculation model during the training process and the model parameters of the spectral value calculation model before adjusting the parameters in this round of training;
[0069] When the condition for stopping training is reached, determine the target difference according to the recorded differences;
[0070] Use the model parameters corresponding to the target difference as the model parameters of the spectral value calculation model.
[0071] Optionally, after the step of training the spectral value calculation model, it further includes:
[0072] Establish a theoretical spectral value database through multiple first theoretical spectral values;
[0073] Match the spectral value of the grating model to be measured with each first theoretical spectral value in the theoretical spectral database;
[0074] Use the structural parameters corresponding to the successfully matched spectral value as the structural parameters of the grating model to be measured.
[0075] This specification provides a spectral value calculation model training device, including:
[0076] An acquisition module, configured to determine a target dimension number, acquire a first set of structural parameters of a grating model as a training sample, and acquire spectral values corresponding to the first set of structural parameters under the target dimension number as labels, where the grating model is established based on the structure of a grating to be measured;
[0077] A construction module, configured to construct a spectral value calculation model to be trained according to the target dimension number;
[0078] A training module, configured to input the training sample into the spectral value calculation model, determine the output of the spectral value calculation model as training spectral values, and train the spectral value calculation model with the optimization objective of minimizing the difference between the training spectral values and the labels.
[0079] This specification provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, it implements a method for training a spectral value calculation model.
[0080] This specification provides an electronic device, which includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, it implements a method for training a spectral value calculation model.
[0081] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:
[0082] In a method for training a spectral value calculation model provided in this specification, a target spectral dimension for the spectral values output by the trained spectral value calculation model is determined, and a first set of structural parameters of a grating model is acquired as a training sample, and the spectral values corresponding to the first set of structural parameters under the target spectral dimension are used as labels. Then, a spectral value calculation model to be trained is constructed according to the determined target spectral dimension, and the determined training sample is input into the spectral value calculation model. With the optimization objective of minimizing the difference between the training spectral values output by the spectral value calculation model and the determined labels, the spectral value calculation model is trained.
[0083] As can be seen from the above method, a spectral value calculation model to be trained is constructed according to the determined target dimension number, so that the trained spectral value calculation model can output spectral values of the target dimension number. By using the trained spectral value calculation model to calculate spectral values instead of the traditional numerical solution method, the efficiency of constructing a native database is improved. Moreover, the size of the trained spectral value calculation model is much smaller than the size of the native database, so that when performing optical critical dimension measurement on different devices, the trained spectral value calculation model can be directly migrated in different devices to replace the migration of the native database, improving the migration speed and saving the storage resources of the devices. Description of the Drawings
[0084] The accompanying drawings described herein are used to provide a further understanding of the present specification, and constitute a part of the present specification. The schematic embodiments and descriptions thereof in the present specification are used to explain the present specification, and do not constitute an improper limitation of the present specification. In the drawings:
[0085] Figure 1 It is a schematic diagram of a grating structure provided by the present specification;
[0086] Figure 2 It is a schematic diagram of a grating structure provided by the present specification;
[0087] Figure 3 It is a schematic diagram of a spectrum provided by the present specification;
[0088] Figure 4 It is a schematic diagram of a method for training a spectrum value calculation model provided by the present specification;
[0089] Figure 5 It is a schematic diagram of a training process of a spectrum value calculation model provided by the present specification;
[0090] Figure 6 It is a schematic diagram of a spectrum value calculation model training device provided by the present specification;
[0091] Figure 7 Corresponding to the one provided by the present specification Figure 4 schematic diagram of an electronic device. Specific embodiments
[0092] To make the purpose, technical solutions and advantages of the present specification clearer, the technical solutions of the present specification will be clearly and completely described below in conjunction with specific embodiments of the present specification and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present specification, rather than all the embodiments. Based on the embodiments in the present specification, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present invention.
[0093] With the development of semiconductor technology, the manufacturing process of integrated circuits has become increasingly refined. The feature size of semiconductor chips has become smaller and smaller, and the accuracy requirements for semiconductor chips have become higher and higher. Even a tiny change in feature size will affect the performance and reliability of semiconductor chips. Therefore, it is necessary to accurately measure the feature size of semiconductor devices. However, traditional contact measurement methods are difficult to meet the current measurement accuracy requirements, and the contact measurement method may also cause physical damage or contamination to the surface of semiconductor chip samples, resulting in a decline or even failure of the performance of semiconductor chips. Furthermore, currently, a non-contact measurement method is often used to measure the feature size of semiconductor chips, that is, optical critical dimension measurement (Optical Critical Dimension, OCD).
[0094] When performing OCD, it is usually to measure the size of the grating structure of the grating on the semiconductor chip. As Figure 1 shown Figure 1 is a schematic diagram of a grating structure provided in this specification. Among them, the grating structure is composed of a plurality of periodically arranged raised structures. In one or more embodiments of this specification, the grating structure of the grating refers to the cross-sectional shape of the periodically arranged raised structures that make up the grating, that is Figure 1 the cross-section of each raised structure in is trapezoidal. Of course, in addition, the cross-section of the raised structure can also be composed of a plurality of trapezoids, as Figure 2 shown Figure 2 is a schematic diagram of a grating structure provided in this specification. Figure 1 Some parameters for describing the characteristics of the cross-section of the raised structure in the grating are marked, such as the top width, bottom width, sidewall angle, height, depth, etc. These are all structural parameters for describing the raised structures that make up the periodic arrangement of the grating. Each raised structure requires at least two structural parameters to be determined. These structural parameters are the optical critical dimensions to be measured during the OCD process. Of course, specifically which types of structural parameters to measure, and the number of types of measured structural parameters, depend on the types of structural parameters included in the structure points stored in the native database used, and can be selected according to actual needs.
[0095] When performing OCD, currently, it is usually to first irradiate the grating to be measured with light of a preset wavelength at a preset angle, and measure the spectrum of the grating to be measured. Then, match the measured spectrum with the spectra stored in the native database, and determine the spectrum with the highest similarity to the measured spectrum from the spectra stored in the native database, and use the structural parameters corresponding to the spectrum with the highest similarity as the structural parameters of the grating to be measured.
[0096] Therefore, the construction quality of the native database determines the accuracy of OCD. Currently, when constructing a native database, a grating model is usually pre-constructed, and then the values of several sets of structural parameters are determined according to the constructed grating model. Several structural points are constructed through permutation and combination. Each structural point is composed of at least two structural parameters. For example, a grating structure contains three structural parameters, namely the top width, height, and sidewall angle. If the top width is 3nm, the height is 4nm, and the sidewall angle is 53°, then a structural point is [3nm, 4nm, 53°]. Then, according to the determined structural points, the spectral values corresponding to each structural point are calculated, and then the corresponding spectrum is determined according to the determined spectral values. Among them, the spectral value is a multi-dimensional eigenvalue used to characterize the corresponding spectral characteristics, that is, the number of spectral dimensions of the spectral value is often very high. For example, [0.1533 0.1236 0.1766…… 0.4650 0.5579 0.4802], this multi-dimensional numerical value as a whole represents a spectral value, and this spectral value contains 100 spectral dimensions. Each numerical value represents a spectral dimension. The spectrum corresponding to the structural point can be determined according to the multi-dimensional numerical value, such as Figure 3 shown Figure 3 is a schematic diagram of a spectrum provided in this specification. Finally, a native database is constructed according to each structural point and the corresponding spectrum.
[0097] Currently, the commonly used methods for calculating spectral values include the finite element method, the boundary element method, etc. However, as the grating structure of semiconductor chips becomes more and more complex, the types of structural parameters included in each structural point are also increasing, resulting in an increasing amount of calculation and a longer calculation time when calculating spectral values. In order to meet the increasing accuracy requirements of OCD, when constructing a native database, the change step of the same type of structural parameters between each structural point becomes smaller and smaller, and the number of structural points is also increasing, resulting in a longer time-consuming for constructing the native database and a larger memory resource occupied by the native database.
[0098] In addition, when performing OCD through different devices, it is necessary to migrate the native database between different devices. At present, the native database is getting larger and larger, and the migration time is also getting longer, which is difficult to meet the needs of users. Based on this, this specification provides a method for training a spectral value calculation model, that is, using the trained spectral value calculation model to replace the traditional method of calculating spectral values by numerical solution method, so as to construct a native database, in order to reduce the migration difficulty and construction time-consuming of the native database.
[0099] The following will combine the accompanying drawings to detail the technical solutions provided by each embodiment of this specification.
[0100] As Figure 4 shown Figure 4Schematic diagram of the process of a spectral value calculation model training method provided in this specification, including the following steps:
[0101] S300: Determine the number of target dimensions, obtain the first set of structural parameters of the grating model as training samples, and the spectral values corresponding to the first set of structural parameters under the number of target dimensions as labels, where the grating model is established based on the structure of the grating to be measured.
[0102] In one or more embodiments of this specification, there is no limitation on which specific device executes the spectral value calculation model training method. For example, mobile terminals and servers, etc. However, since subsequent steps involve model training and the like, these steps are usually performed by the server. Therefore, in the following of this specification, the server executing the spectral value calculation model training method is taken as an example for description. Among them, the server can be a single device or composed of multiple devices. For example, a distributed server, and this specification does not limit this.
[0103] Since the selection of the model parameters of the spectral value calculation model determines the efficiency of model training, in order to improve the training efficiency of the spectral value calculation model, the server can first determine the number of spectral dimensions of the spectral values output by the spectral value model to be trained as the target spectral dimension before constructing the spectral value calculation model, so as to determine the training samples and labels of the spectral value calculation model to be trained according to the target spectral dimension.
[0104] Specifically, the server can first determine the number of target dimensions, and then obtain the first set of structural parameters of the grating model as the training samples for training the spectral value calculation model. The training samples contain several structural points. Then calculate the spectral values corresponding to each structural point in the training samples under the number of target dimensions as the labels of the training samples.
[0105] It should be noted that the above grating model refers to a grating model constructed according to the structure of the grating to be measured and is used to determine the specific structure of the grating. In one or more embodiments of this specification, there is no limitation on the specific method adopted by the server to determine the number of target dimensions. It can first determine the number of spectral dimensions of the spectral values of the grating to be measured, and then use the number of spectral dimensions of the spectral values of the grating to be measured as the number of target dimensions. Of course, it can also determine the number of dimensions not exceeding the number of spectral dimensions of the spectral values of the grating to be measured as the number of target dimensions. Since there are many methods that can be adopted, in one or more embodiments of this specification, this is not limited, and the specific methods that can be adopted will be described in the subsequent content of this specification and will not be elaborated here.
[0106] Further, in one or more embodiments of this specification, there is no limitation on the specific method for the server to obtain the first set of structural parameters of the grating model. It can be a floating value range of several structural parameters set artificially, and then several values are randomly sampled from each floating value range, and then several structural points are determined by permutation and combination to determine the first set of structural parameters. It is also possible to determine the boundary values of each structural parameter, and then adjust each boundary value according to a preset step size to determine each value corresponding to each structural parameter. Then, the values of each structural parameter are permuted and combined to determine several structural points. Of course, other methods can also be used. Since there are many methods that can be adopted, this specification does not limit this and can be set according to actual needs.
[0107] In addition, in the above-mentioned first set of structural parameters, the types and quantities of the structural parameters included in each structural point are the same, only the values of the structural parameters are different. And, in one or more embodiments of this specification, there is no limitation on the specific method for the server to determine the spectral values corresponding to each structural point. It can be calculated by numerical solution methods such as the Finite Element Method (FEM) and the Boundary Element Method (BEM), or it can be calculated by the Rigorous Coupled Wave Analysis (RCWA). The server can be set according to actual needs. In the following description of this specification, the calculation of the first theoretical spectral value by RCWA is taken as an example first. If the number of spectral dimensions of the calculated spectral value is greater than the target number of dimensions, the calculated spectral value can be reduced to the target number of dimensions.
[0108] S302: Construct a spectral value calculation model to be trained according to the target number of dimensions.
[0109] After determining the target number of dimensions, the server can construct a spectral value calculation model to be trained according to the determined target number of dimensions.
[0110] Specifically, the server determines the number of neurons in each network layer of the spectral value calculation model to be trained except for the input layer according to the determined target number of dimensions, where the target number of dimensions is positively correlated with the number of neurons in each network layer.
[0111] For example, if the determined target number of dimensions is 10, the number of neurons in each network layer can be determined to be 10. If the determined target number of dimensions is 12, the number of neurons in each network layer can be determined to be 14. That is, the larger the determined target number of dimensions, the more the number of neurons in each network layer. The specific number can be set according to actual needs. This specification does not limit this.
[0112] It should be noted that in one or more embodiments of this specification, there is no limitation on the specific model by which the spectral value calculation model to be trained is obtained. It can be a convolutional model, a neural network model, etc. This specification does not limit this and can be set according to actual needs. When obtaining the spectral value calculation model through a neural network model, there is also no limitation on the connection method of each neuron in the spectral value calculation model to be trained. It can be fully connected or non-fully connected, and can be set according to actual needs.
[0113] S304: Input the training sample into the spectral value calculation model, determine the output of the spectral value calculation model as the training spectral value, and train the spectral value calculation model with the minimum difference between the training spectral value and the annotation as the optimization goal. Among them, the trained spectral value calculation model is used to determine the corresponding first theoretical spectral value according to the input structural parameters.
[0114] After completing the construction of the spectral value calculation model to be trained, the spectral value calculation model can be trained according to the training sample and the annotation. Taking the trained spectral value calculation model as the native database, it is convenient for the subsequent OCD process. Compared with the traditional native database, the trained spectral value calculation model has a small memory footprint and is easy to migrate.
[0115] Specifically, input the training sample into the spectral value calculation model, determine the output of the spectral value calculation model as the training spectral value, and train the spectral value calculation model with the minimum difference between the training spectral value and the annotation as the optimization goal.
[0116] After determining the trained spectral value calculation model, several sets of structural points can be input into the trained spectral value calculation model to determine the corresponding first theoretical spectral values of each structural point output by the trained spectral value calculation model. A native database is constructed based on the first theoretical spectral values generated by the spectral value calculation model and the corresponding structural points. Then, determine the spectral value of the measured spectrum, match the spectral value of the measured spectrum with each first theoretical spectral value in the native database, and determine the structural point corresponding to the first theoretical spectral value with the minimum difference as the structural point of the spectral structure of the measured spectrum. Of course, it is also possible to determine several first theoretical spectral values with the minimum difference, and then select the corresponding first theoretical spectral value according to the requirements from the determined first theoretical spectral values with the minimum difference, and use the structural point corresponding to the corresponding first theoretical spectral value as the structural point of the spectral structure of the measured spectrum. This specification does not limit this.
[0117] It should be noted that in one or more embodiments of this specification, it is not limited whether the native database constructed by the server stores the first theoretical spectral values or the spectra corresponding to the first theoretical spectral values. After determining the first theoretical spectral values output by the trained spectral value calculation model, the native database can be directly constructed according to the structural points input to the trained spectral value calculation model and the first theoretical spectral values output by the trained spectral value calculation model. Then, during OCD, the server can convert the measured spectrum into the corresponding measured spectral value, match the measured spectral value with the first theoretical spectral values stored in the native database, determine the first theoretical spectral value with the highest similarity to the measured spectral value, and use the structural point corresponding to the first theoretical spectral value with the highest similarity as the structural point of the spectral structure of the measured spectrum.
[0118] Of course, the server can also, after determining the first theoretical spectral values, determine the spectra corresponding to the first theoretical spectral values according to the first theoretical spectral values, then construct the native database based on the spectra corresponding to the first theoretical spectral values and the corresponding structural points. During OCD, match the measured spectrum with the spectra in the native database, determine the spectrum with the highest similarity to the measured spectrum, and use the structural point corresponding to the spectrum with the highest similarity as the structural point of the spectral structure of the measured spectrum. This specification does not limit this and can be set according to actual needs.
[0119] In addition, since the spectral dimension number of the first theoretical spectral value is equal to the target dimension number, and the target dimension number often differs from the dimension number of the spectral value corresponding to the grating structure to be measured. To subsequently match the measured spectrum with the spectra in the native database, the server can restore the first theoretical spectral values, that is, through a preset algorithm, restore the first theoretical spectral values from the target spectral dimension number to the dimension number of the spectral value corresponding to the grating to be measured. To construct the native database based on the first theoretical spectral values generated by the spectral value calculation model and the corresponding structural points.
[0120] It should be noted that in one or more embodiments of this specification, it is not limited to the specific method adopted by the server to restore the first theoretical spectral values. For example, inverse principal component analysis, inverse kernel principal component analysis, inverse autoencoder, etc. The corresponding restoration method can be determined according to the adopted dimensionality reduction method. This specification does not limit this.
[0121] Of course, it is also possible to reduce the dimension of the measured spectral value obtained by measurement to the target dimension number, and then match the dimension-reduced measured spectral value with the first theoretical spectral values in the native database. This specification does not limit this.
[0122] Based on Figure 3Determine the target spectral dimension of the spectral values output by the trained spectral value calculation model, and obtain the first set of structural parameters of the grating model as training samples. The spectral values under the target spectral dimension corresponding to the first set of structural parameters are used as labels. Then, construct a spectral value calculation model to be trained according to the determined target spectral dimension, input the determined training samples into the spectral value calculation model, and use the difference between the training spectral values output by the spectral value calculation model and the determined labels to be minimized as the optimization goal to train the spectral value calculation model.
[0123] As can be seen from the above method, according to the determined number of target dimensions, construct a spectral value calculation model to be trained, so that the trained spectral value calculation model can output spectral values with the number of target dimensions. Use the trained spectral value calculation model to calculate spectral values instead of the traditional numerical solution method, which improves the efficiency of constructing the native database. Moreover, the size of the trained spectral value calculation model is much smaller than the size of the native database, so that when performing optical critical dimension measurement on different devices, the trained spectral value calculation model can be directly migrated in different devices to replace the migration of the native database, improving the migration speed and saving the storage resources of the device.
[0124] In step S300, since the higher the number of spectral dimensions of the spectral values, the longer the model calculation time, and the longer the training time required for the spectral value calculation model to be trained to reach fitting. To reduce the training time of the spectral value calculation model, the number of spectral dimensions of the spectral values required by the native database can be reduced to determine the target number of dimensions. However, the smaller the target number of dimensions, the greater the difference between the spectral values output by the spectral value calculation model and the spectral values of the grating to be measured, which affects the accuracy of OCD. Therefore, the server can also first restore the reduced spectral values through a preset restoration algorithm, and after determining the restored spectral values, determine the target number of dimensions according to the restoration accuracy between the restored spectral values and the spectral values before reduction.
[0125] Specifically, the server obtains the second set of structural parameters of the grating model and the second theoretical spectral values corresponding to each structural point in the second set of structural parameters, and constructs an original data set. The number of spectral dimensions of the second theoretical spectral values is the number of dimensions of the spectral values of the grating to be measured. Then, reduce the dimensions of each second theoretical spectral value in the original data set, determine the restoration accuracy of the original data set under each reduced number of dimensions, and determine the reduced number of dimensions corresponding to the target restoration accuracy as the target number of dimensions. The reduced number of dimensions refers to the number of remaining dimensions after each second theoretical spectral value is reduced in dimension, which is used as the reduced number of dimensions.
[0126] It should be noted that the method for obtaining the above second set of structural parameters may be the same as the method for obtaining the above first set of structural parameters, or a different method may be adopted. This specification does not limit this and can be set according to actual requirements. To improve the training efficiency of the model and reduce the time required to obtain the second set of structural parameters and the computing resources consumed, the server may also use the first set of structural parameters as the second set of structural parameters.
[0127] Among them, when determining the restoration accuracy corresponding to each dimensionality reduction dimension number, for each dimensionality reduction dimension number, the second theoretical spectral value can be first reduced to that dimensionality reduction dimension number, and then through a preset reduction algorithm, the reduced second theoretical spectral value is restored to determine the restored data set. Then, the restored data set is matched with each spectral value in the original data set to determine the difference between the corresponding second theoretical spectral values in the restored data set and the original data set, so as to determine the restoration accuracy corresponding to that dimensionality reduction dimension number.
[0128] It should be noted that in one or more embodiments of this specification, there is no limitation on the specific method adopted by the server to reduce the second theoretical spectral value. It may be to delete the spectral values of some dimensions to achieve spectral value dimensionality reduction. In addition, the server can also achieve spectral value dimensionality reduction through methods such as relevant quantity merging, such as Principal Component Analysis (PCA), Linear Discriminant Analysis (LDA), Kernel Principal Component Analysis (KPCA), etc.
[0129] For example, the server can first determine each spectral dimension included in the second theoretical spectral value, and then for each spectral dimension, determine the comprehensive correlation degree between this spectral dimension and other spectral dimensions according to the second theoretical spectral value. Then, according to the determined comprehensive correlation degree, determine each target dimension corresponding to the dimensionality reduction dimension number from each spectral dimension, and then map each spectral dimension to the determined target dimensions respectively to determine the spectral value after merging the dimensions as the spectral value after dimensionality reduction.
[0130] After determining the restoration accuracy under each dimensionality reduction dimension number, to improve the training efficiency of the spectral value calculation model, the dimensionality reduction dimension number can be adjusted with the restoration accuracy not less than the preset accuracy and the minimum dimensionality reduction dimension number as the adjustment target until the target dimension number that meets the adjustment target is determined.
[0131] According to the above, the steps of calculating the restoration accuracy are relatively complex. To save computing resources and reduce the time taken to determine the number of target dimensions, the server can successively determine the restoration accuracy corresponding to each dimension reduction quantity instead of determining the restoration accuracy corresponding to each dimension reduction quantity at once.
[0132] Specifically, the server can adjust the dimension reduction quantity with the minimum dimension reduction quantity as the adjustment target until the target dimension quantity that meets the adjustment target is determined. That is, according to the spectral dimension quantity of the second theoretical spectral value, a dimension reduction quantity is determined, and the restoration accuracy corresponding to this dimension reduction quantity is calculated. When the restoration accuracy is not less than the preset accuracy, the dimension reduction quantity is reduced according to the preset single - iteration dimension quantity. The restored dataset is reconstructed according to the reduced dimension reduction quantity, and the restoration accuracy of the reduced dimension reduction quantity is re - determined until the restoration accuracy of the reduced dimension reduction quantity is less than the preset accuracy. The dimension reduction quantity before the last reduction of the dimension reduction quantity is used as the target dimension quantity.
[0133] For example, if the spectral dimension quantity of the second theoretical spectral value is 16 dimensions, the second theoretical spectral value can be dimension - reduced. After dimension - reducing the second theoretical spectral value to 15 dimensions, the spectral value after restoring the 15 - dimensional spectral value to 16 dimensions is determined and compared with the second theoretical spectral value to calculate the restoration accuracy. If the restoration accuracy is still greater than the preset accuracy, then when the dimension reduction quantity is determined to be 13 dimensions, the corresponding restoration accuracy is calculated and it is judged whether it is less than the preset accuracy. If so, 15 dimensions are used as the target dimension quantity. If not, the adjustment continues until the restoration accuracy is less than the preset accuracy. The dimension reduction quantity before the last reduction of the dimension reduction quantity is used as the target dimension quantity.
[0134] In addition, when the single - iteration dimension quantity of the dimension reduction quantity is large, the server may miss the optimal target dimension quantity. Therefore, the server can also judge whether the single - iteration dimension quantity is a dimension quantity. When the last single - iteration dimension quantity is greater than a dimension quantity, the single - iteration dimension quantity is reduced, and starting from the dimension reduction quantity before the last reduction of the dimension reduction quantity, with the reduced single - iteration dimension quantity, the dimension reduction quantity is continuously reduced until the adjustment target is met. When the last single - iteration dimension quantity is equal to a dimension quantity, the dimension reduction quantity before the last reduction of the dimension reduction quantity is used as the target dimension quantity.
[0135] For example, as in the above embodiment, since the number of dimensions in the last single iteration is 2 dimensions, that is, directly adjusted from 15 dimensions to 13 dimensions, the server can reduce the number of dimensions in a single iteration, that is, set the number of dimensions in a single iteration to 1 dimension, so as to determine that 14 dimensions is the dimension reduction number of dimensions. Then determine the restoration accuracy corresponding to 14 dimensions. If the restoration accuracy corresponding to 14 dimensions is greater than or equal to the preset accuracy, the target number of dimensions is 14 dimensions. If the restoration accuracy corresponding to 14 dimensions is less than the preset accuracy, the target number of dimensions is 15 dimensions.
[0136] Of course, the server can also adopt the adjustment direction of gradually increasing the number of dimensions in the dimension reduction, and adjust the number of dimensions in the dimension reduction until the target number of dimensions that meets the adjustment target is determined. That is, determine the restoration accuracy corresponding to the smallest number of dimensions in the dimension reduction. When the restoration accuracy is less than the preset accuracy, increase the number of dimensions in the dimension reduction, reconstruct the restored data set according to the increased number of dimensions in the dimension reduction, and re-determine the restoration accuracy of the increased number of dimensions in the dimension reduction until the restoration accuracy of the increased number of dimensions in the dimension reduction is not less than the preset accuracy. Take the last increased number of dimensions in the dimension reduction as the target number of dimensions.
[0137] For example, if the smallest number of dimensions in the dimension reduction is 1 dimension, the second theoretical spectral value can be reduced to 1 dimension, then determine the spectral value after restoring the 1-dimensional spectral value to 16 dimensions, and then compare the restored spectral value with the second theoretical spectral value to calculate the restoration accuracy. If the restoration accuracy is less than the preset accuracy, then determine the restoration accuracy corresponding to the number of dimensions in the dimension reduction of 3 dimensions, and judge whether it is not less than the preset accuracy. If so, take 3 dimensions as the target number of dimensions. If not, continue to adjust until the restoration accuracy is not less than the preset accuracy. Take the number of dimensions in the dimension reduction after the last increase in the number of dimensions in the dimension reduction as the target number of dimensions.
[0138] In addition, when the number of dimensions in a single iteration of the number of dimensions in the dimension reduction is large, the server may miss the optimal target number of dimensions. Therefore, the server can also judge whether the number of dimensions in a single iteration is 1 dimension. When the number of dimensions in the last single iteration is equal to 1 dimension, take the number of dimensions in the dimension reduction after the last adjustment of the number of dimensions in the dimension reduction as the target number of dimensions. When the number of dimensions in the last single iteration is greater than 1 dimension, reduce the number of dimensions in a single iteration, and start from the number of dimensions in the dimension reduction before the last adjustment of the number of dimensions in the dimension reduction, and continue to increase the number of dimensions in the dimension reduction with the reduced number of dimensions in a single iteration until the adjustment target is met.
[0139] For example, as in the above embodiments, since the number of dimensions in the last single iteration is two dimensions, that is, directly adjusted from 1D to 3D, the server can reduce the number of dimensions in a single iteration, that is, set the number of dimensions in a single iteration to 1 dimension, so as to determine that the number of dimensions for dimensionality reduction is 2D. Then, determine the restoration accuracy corresponding to 2D. If the restoration accuracy corresponding to 2D is greater than or equal to the preset accuracy, the target number of dimensions is 2D. If the restoration accuracy corresponding to 2D is less than the preset accuracy, the target number of dimensions is 3D.
[0140] In addition, in order to further improve the efficiency of determining the target number of dimensions and reduce the number of times of determining the restoration accuracy, the server can also use the dichotomy method to determine the target number of dimensions, that is, according to the number of spectral dimensions of the second theoretical spectral value, determine the number of dimensions for dimensionality reduction by the dichotomy method, and determine the restoration accuracy corresponding to the number of dimensions for dimensionality reduction. Based on the magnitude relationship between the restoration accuracy corresponding to the number of dimensions for dimensionality reduction and the preset accuracy, determine the range of the number of dimensions for dimensionality reduction according to the dichotomy method, and re-determine the number of dimensions for dimensionality reduction and re-determine the restoration accuracy until the number of dimensions for dimensionality reduction with the restoration accuracy not less than the preset accuracy and the smallest is determined as the target number of dimensions.
[0141] For example, if the number of spectral dimensions of the second theoretical spectral value is 16D, 8D can be first determined as the number of dimensions for dimensionality reduction, and when the number of dimensions for dimensionality reduction is 8D, determine the corresponding restoration accuracy. If the restoration accuracy is greater than or equal to the preset accuracy, determine 4D as the number of dimensions for dimensionality reduction in this round between 1D and 8D. If the restoration accuracy is less than the preset accuracy, determine 12D as the number of dimensions for dimensionality reduction in this round between 8D and 16D. Based on this idea, until the number of dimensions for dimensionality reduction with the restoration accuracy not less than the preset accuracy and the smallest is determined as the target number of dimensions.
[0142] Furthermore, since the number of spectral dimensions of the spectral value is often very high, whether determining the number of dimensions for dimensionality reduction round by round or by the dichotomy method, it is necessary to calculate the restoration accuracy corresponding to each number of dimensions for dimensionality reduction multiple times, and the computational complexity of the restoration accuracy is large. This will result in a long time-consuming for determining the target number of dimensions and a high demand for computing resources. At the same time, although the relationship between the number of dimensions for dimensionality reduction and the restoration accuracy is positively correlated, it is not a linear relationship. Therefore, in order to further reduce the number of calculations of the restoration accuracy and improve the efficiency of determining the target number of dimensions, when determining the target number of dimensions, the server can also pre-rate each number of dimensions for dimensionality reduction. After determining the scores of each number of dimensions for dimensionality reduction, use the scores instead of the number of dimensions for dimensionality reduction to determine the target number of dimensions.
[0143] Specifically, the server randomly determines a dimensionality reduction score from the scores corresponding to each dimensionality reduction dimension quantity. Then, the server inputs the dimensionality reduction score into a preset dimensionality reduction function to determine the dimensionality reduction dimension quantity corresponding to the dimensionality reduction score, each spectral dimension after dimensionality reduction, and the restoration accuracy of the dimensionality reduction dimension quantity. Next, with the goal of the restoration accuracy being not less than the preset accuracy and the dimensionality reduction dimension quantity being minimized, the server adjusts the dimensionality reduction score, and then re - passes it through the dimensionality reduction function to determine the dimensionality reduction dimension quantity corresponding to the adjusted dimensionality reduction score, each spectral dimension after dimensionality reduction, and recalculate the restoration accuracy corresponding to the adjusted dimensionality reduction dimension quantity until the target dimension quantity that meets the adjustment goal and each spectral dimension corresponding to the target dimension quantity are determined. Among them, the score of the dimensionality reduction dimension quantity is positively correlated with the dimensionality reduction dimension quantity and also positively correlated with the restoration accuracy corresponding to each dimensionality reduction dimension quantity. The scores corresponding to each dimensionality reduction dimension quantity are between 0 and 1.
[0144] For example, after determining the scores corresponding to each dimensionality reduction dimension quantity, the server can first randomly determine a score from the scores corresponding to each dimensionality reduction dimension quantity as the dimensionality reduction score, such as 0.99. Then, the server inputs 0.99 into the preset dimensionality reduction function, so that the dimensionality reduction function outputs the dimensionality reduction dimension quantity corresponding to this score and the corresponding spectral dimension according to the input 0.99. Then, the server determines the restoration accuracy corresponding to this dimensionality reduction dimension quantity and judges whether this restoration accuracy is greater than or equal to the preset accuracy. If so, the server reduces the dimensionality reduction score; if not, the server increases the score. Since the relationship between the dimensionality reduction score and the dimensionality reduction dimension quantity is non - linear, when adjusting the score, the adjustment step of the dimensionality reduction dimension quantity is often large. However, since the dimensionality reduction score is also positively correlated with the restoration accuracy of the corresponding dimensionality reduction dimension quantity, the server can quickly approach the target dimension quantity by adjusting the dimensionality reduction score, thereby improving the efficiency of determining the target dimension quantity.
[0145] It should be noted that in one or more embodiments of this specification, there is no limitation on the specific method used by the server to determine the scores corresponding to each dimensionality reduction dimension quantity. It can calculate the scores corresponding to each dimensionality reduction dimension quantity through a preset formula according to the mapping relationship between each dimensionality reduction dimension quantity and the corresponding restoration accuracy. Other methods can also be used, and this specification does not limit this. When determining the dimensionality reduction score input into the dimensionality reduction function, in addition to randomly determining it by itself from the scores corresponding to each dimensionality reduction dimension quantity, the server can also obtain a manually input score and input the manually input score into the dimensionality reduction function.
[0146] In addition, in one or more embodiments of this specification, there is no limitation on the specific method used by the server to determine the dimensionality reduction function. The dimensionality reduction function is used to determine the dimensionality reduction dimension quantity corresponding to the input dimensionality reduction score and the remaining spectral dimensions when reducing the second theoretical spectral value to the dimensionality reduction dimension quantity. Since there are many existing dimensionality reduction functions, they can be set according to actual needs, and this specification does not limit this.
[0147] Of course, when adjusting the dimensionality reduction score, it can be adjusted in the direction of gradually decreasing according to the number of dimensionality reduction scores, and the dimensionality reduction score input to the dimensionality reduction function is adjusted. Specifically, a relatively large score can be determined from the scores corresponding to the number of each dimensionality reduction dimension as the dimensionality reduction score, and this dimensionality reduction score is input into the preset dimensionality reduction function to determine the number of dimensionality reduction dimensions corresponding to this dimensionality reduction score and the corresponding spectral dimensions. Then, the restoration accuracy corresponding to this number of dimensionality reduction dimensions is calculated. If this restoration accuracy is not less than the preset accuracy, the dimensionality reduction score is reduced, and the number of dimensionality reduction dimensions and the corresponding restoration accuracy of the reduced dimensionality reduction score are determined again through the dimensionality reduction function until the determined restoration accuracy is less than the preset accuracy. The number of dimensionality reduction dimensions before the last reduction of the dimensionality reduction score is used as the target number of dimensions, and the corresponding spectral dimensions of the target number of dimensions are determined.
[0148] For example, assuming that the determined dimensionality reduction score is 0.9999, then on the basis of 0.9999, this dimensionality reduction score can be reduced, such as 0.999. Then, 0.999 is input into the dimensionality reduction function to determine the number of dimensionality reduction dimensions output by the dimensionality reduction function and the corresponding spectral dimensions. Then, the restoration accuracy corresponding to this number of dimensionality reduction dimensions is determined. If this restoration accuracy is not less than the preset accuracy, the input dimensionality reduction score can be reduced, such as 0.99. If the restoration accuracy is less than the preset accuracy, the number of dimensionality reduction dimensions corresponding to 0.999 can be used as the target number of dimensions.
[0149] In addition, when adjusting the dimensionality reduction score, the server can also adjust the dimensionality reduction score in the direction of gradually increasing according to the dimensionality reduction score. Specifically, a relatively small score can be determined from the scores corresponding to the number of each dimensionality reduction dimension as the dimensionality reduction score, and this dimensionality reduction score is input into the preset dimensionality reduction function to determine the number of dimensionality reduction dimensions corresponding to this dimensionality reduction score and the corresponding spectral dimensions. Then, the restoration accuracy corresponding to this number of dimensionality reduction dimensions is calculated. When the restoration accuracy is less than the preset accuracy, the dimensionality reduction score is increased, and the number of dimensionality reduction dimensions and the corresponding restoration accuracy after increasing the dimensionality reduction score are determined again through the dimensionality reduction function until the determined restoration accuracy is not less than the preset accuracy. The number of dimensionality reduction dimensions after the last increase of the dimensionality reduction score is used as the target number of dimensions, and the corresponding spectral dimensions of the target number of dimensions are determined.
[0150] For example, assuming that the determined dimensionality reduction score is 0.9, then on the basis of 0.9, the dimensionality reduction score can be increased, such as 0.99. Then, 0.99 is input into the dimensionality reduction function to determine the number of dimensionality reduction dimensions output by the dimensionality reduction function and the corresponding spectral dimensions. Then, the restoration accuracy corresponding to this number of dimensionality reduction dimensions is determined. If this restoration accuracy is less than the preset accuracy, the input dimensionality reduction score can be increased, such as 0.999. If the restoration accuracy is not less than the preset accuracy, the number of dimensionality reduction dimensions corresponding to 0.99 can be used as the target number of dimensions.
[0151] Furthermore, the server can also adjust the dimensionality reduction score using the dichotomy method to further reduce the number of adjustments to the dimensionality reduction dimension quantity when determining the target dimension quantity, and improve the determination efficiency of the target dimension quantity. Specifically, the median of the scores corresponding to each dimensionality reduction dimension quantity can be first determined as the dimensionality reduction score, and this dimensionality reduction score is input into a preset dimensionality reduction function to determine the dimensionality reduction dimension quantity corresponding to this dimensionality reduction score and the corresponding spectral dimensions, and then the restoration accuracy corresponding to this dimensionality reduction dimension quantity is calculated. Based on the size relationship between the restoration accuracy of the dimensionality reduction dimension quantity corresponding to the dimensionality reduction score and the preset accuracy, the dimensionality reduction score is adjusted by the dichotomy method. Then, through the dimensionality reduction function, the dimensionality reduction dimension quantity and the corresponding restoration accuracy after reducing the dimensionality reduction score are determined again through the dimensionality reduction function until the target dimension quantity that meets the adjustment target and the corresponding spectral dimensions of the target dimension quantity are determined.
[0152] For example, if the median of the scores corresponding to each dimensionality reduction dimension quantity is determined to be 0.8, then 0.8 can be input into the dimensionality reduction function to determine the dimensionality reduction dimension quantity output by the dimensionality reduction function and the spectral dimensions. Then, when the dimensionality reduction score is 0.8, the restoration accuracy corresponding to the dimensionality reduction dimension quantity output by the dimensionality reduction function is determined. If the restoration accuracy is less than the preset accuracy, then 0.9 is determined as the adjusted dimensionality reduction score from 0.8 to 1. If the restoration accuracy is greater than the preset accuracy, then 0.4 is determined as the adjusted dimensionality reduction score from 0 to 0.8. Then, through the dimensionality reduction function, the dimensionality reduction dimension quantity and the corresponding restoration accuracy after reducing the dimensionality reduction score are determined again through the dimensionality reduction function until the target dimension quantity that meets the adjustment target and the corresponding spectral dimensions of the target dimension quantity are determined. If the restoration accuracy is equal to the preset accuracy, then the dimensionality reduction dimension quantity corresponding to this dimensionality reduction score can be used as the target dimension quantity.
[0153] In addition, in step S300, when determining the annotation for training the spectral value calculation model, the spectral values corresponding to each first structure parameter set with the same spectral dimension quantity as that of the spectral value of the grating to be measured can also be directly determined as the annotation. Then, in step S304, when training the spectral value calculation model to be trained, since the spectral value output by the constructed spectral value calculation model is of the target dimension quantity, it is also necessary to restore the spectral value output by the spectral value calculation model to the training spectral value with the same spectral dimension quantity as the annotation, and then use the minimum difference between the training spectral value and the annotation as the optimization target to train the spectral value calculation model.
[0154] Furthermore, in order to improve the model accuracy of the spectral value calculation model to be trained and enhance the generalization ability of the spectral value calculation model, the server can also train the spectral value calculation model through multiple rounds of iteration, that is, as Figure 5 shown, Figure 5Schematic diagram of the training process of a spectral value calculation model provided in this specification.
[0155] S500: Obtain the first set of structural parameters of the grating model.
[0156] S502: Determine the number of training samples to be used in this round of iteration, sample the first set of structural parameters to obtain a structural point sampling set.
[0157] S504: Use the structural point sampling set as training samples, and determine the output of the spectral value calculation model as the training spectral value.
[0158] S506: Use the minimum difference between the training spectral value corresponding to the structural point sampling set and the annotation corresponding to the structural point sampling set as the optimization goal to train the spectral value calculation model.
[0159] S508: Determine whether the training effect of the spectral value calculation model meets the expectation. If not, execute step S510; if so, end the training.
[0160] S510: Determine the number of training samples to be used in the next round of iteration according to the number of training samples used in the current round of iteration process.
[0161] It should be noted that before the training ends, it is also possible to first determine whether the spectral value training model meets the training end condition, and then determine whether to end the training. In addition, in one or more embodiments of this specification, there is no limitation on the specific method used by the server to sample the set of structural parameters in each round of training, such as the random scatter method, Gaussian distribution sampling, etc. That is, when sampling the set of structural parameters to determine training samples in each round of training, the sampling methods used can be the same or different, and can be set according to actual needs.
[0162] When determining the number of training samples to be used in the next round of iteration according to the number of training samples used in the current round of iteration process, the server can use the same number of training samples in each round of training. To improve the training efficiency of the model, the server can also use different numbers of training samples in each round of training to train the spectral value calculation model to be trained. For example, the server can use an increasing method to determine the number of training samples in each round, so that in the initial stage of model training, the spectral value calculation model to be trained is trained with fewer training samples to accelerate the convergence of the model and avoid overfitting to a small amount of data. Then, with the gradually increasing training samples, the spectral value calculation model can be exposed to more diverse data to improve the generalization ability of the model.
[0163] Specifically, the server determines the number of structural points in the training samples for each iteration process in an increasing manner. According to the number of structural points in the current iteration process, it samples the set of structural parameters by the random point scattering method, and uses each sampled structural point as the training sample for the current iteration process. Of course, after several iteration processes, the number of structural points used in the subsequent iteration processes can also be increased. Or when the duration of training the spectral value calculation model reaches a threshold, the number of structural points used can be increased.
[0164] It should be noted that in one or more embodiments of this specification, there is no limitation on the specific method used by the server to sample the set of structural parameters. The server can resample the set of structural parameters according to the number of structural points required in the current round of training determined in each round, and use the sampling result as the training sample for the current round of training. Or before each round of training, it can resample each structural point from the first set of structural parameters. The sampling quantity is not limited. Then, the structural points obtained from this sampling and the training samples used in the previous round of training are used together as the training samples for this round of training. Or a combination of the above two methods can be used to alternately determine the training samples required for each round of training. There are many available methods, which can be set according to actual needs.
[0165] When the server determines the number of structural points used in the first iteration training, it can use a preset number as the number of structural points used in the first iteration training, or it can be calculated by the multi-dimensional central limit theorem according to the required accuracy and confidence level of the model, or it can be calculated by other methods. This specification does not limit this.
[0166] In addition, in addition to determining the number of structural points in the training samples for each iteration process in an increasing manner, the server can also train the spectral value calculation model by alternating the sample quantity, that is, by using a small number of sample rounds to accelerate the convergence of the spectral value calculation model and avoid overfitting, and by using a large number of sample rounds to globally optimize the spectral value calculation model and improve the generalization ability.
[0167] Specifically, the server can determine the number of structural points to be used in the next round based on the number of structural points in the training samples used in the current round and the number of structural points in the training samples used in the previous round. That is, if the number of structural points used in the previous round is greater than the number of structural points used in the current round, the number of structural points used in the next round is also greater than the number of structural points used in the current round. If the number of structural points used in the previous round is less than the number of structural points used in the current round, the number of structural points used in the next round is also less than the number of structural points used in the current round. This realizes the alternating training of large and small samples for the spectral value calculation model. Of course, it is also possible to change the number of structural points used in the subsequent iterative process after several iterative processes. Or when the training duration of the spectral value calculation model reaches a threshold, change the number of structural points used.
[0168] Furthermore, the server can also preset several sampling quantities, and then, before each round of iterative training, select the corresponding sampling quantity from the preset sampling quantities according to the requirements as the number of structural points to be used in this round of iterative training. Since there are many available methods, this specification does not limit it and can be set according to actual requirements.
[0169] Moreover, when determining the number of structural points in the training samples of each round of iterative process, the server can, as described above, perform a sampling respectively before each round of iterative process. Of course, it is also possible to perform several samplings on the first set of structural parameters before the start of training, and then determine the training samples used in each round of iterative process according to the number of structural points contained in each structural point sampling set obtained from the sampling.
[0170] That is, after sampling the first set of structural parameters and determining the structural point sampling set, the server can determine at least two training sets containing different numbers of structural points according to the structural points obtained from the sampling. Then, when training the spectral value calculation model, ensure that the training set used in each round of training is different from the training set used in the previous round of training to achieve alternating sample quantity training, or the training set used in every few rounds of training is different from the training sets used in the previous few rounds.
[0171] For example, the server divides the structural points obtained from the sampling into two training sets with different numbers of structural points. Among them, the training set with a larger number of structural points is used as the large sample, and the training set with a smaller number of structural points is used as the small sample. Then, the large sample is used as the training sample for odd-numbered training, and the small sample is used as the training sample for even-numbered training. Of course, it is also possible to use the large sample as the training sample for even-numbered training and the small sample as the training sample for odd-numbered training.
[0172] In addition, to further accelerate the training efficiency of the spectral value calculation model, when the server adjusts the parameters of the model, it can also reduce the training step size of the parameters as the number of training times increases, that is, reduce the learning rate of the spectral value calculation model, to prevent missing the optimal solution due to too long a training step size.
[0173] Specifically, the server can first adjust the parameters of the spectral value calculation model according to a preset training step size to reduce the difference between the training spectral values and the corresponding first theoretical spectral values. When the model training reaches a preset value, the training duration reaches a preset duration, or the magnitude of the difference reaches a preset threshold, the preset training step size is reduced, and then the model parameters of the spectral value calculation model are adjusted again according to the reduced preset training step size.
[0174] Furthermore, since the change in the difference during the training process of the spectral value calculation model often shows an oscillating state, in order to determine the optimal solution during the training process of the spectral value calculation model, the server can also record the differences determined in each round of training of the spectral value calculation model and the model parameters of the spectral value calculation model before adjusting the parameters in this round of training during the training process. When the condition for stopping training is reached, the target difference is determined according to the minimum value among the recorded differences, and the model parameters corresponding to the target difference are used as the model parameters of the spectral value calculation model.
[0175] In addition, it should be noted that in one or more embodiments of this specification, the trained spectral value calculation model is trained only for one type of structural point, that is, the types and quantities of structural parameters included in each input structural point are fixed. When calculating the first theoretical spectral value, the types and quantities of structural parameters input into the model should be the same as those of the structural parameters included in the structural point used when training the spectral value calculation model. If they are different, a new spectral value calculation model needs to be trained. That is, the spectral value calculation model trained through the Figure 1 shown grating model cannot be used for Figure 2 constructing the native database of the
[0176] This specification also provides a corresponding spectral value calculation model training device, as Figure 6 shown, Figure 5 is a schematic diagram of a spectral value calculation model training device provided by this specification.
[0177] An acquisition module 600, configured to determine the number of target dimensions, and acquire the first set of structural parameters of the grating model as a training sample, and the spectral values corresponding to the first set of structural parameters under the number of target dimensions as labels, where the grating model is established based on the structure of the grating to be measured;
[0178] A construction module 601 for constructing a spectral value calculation model to be trained according to the number of target dimensions;
[0179] A training module 602 for inputting the training samples into the spectral value calculation model, determining the output of the spectral value calculation model as the training spectral values, and training the spectral value calculation model with the optimization objective of minimizing the difference between the training spectral values and the annotations.
[0180] Optionally, an acquisition module 600 for acquiring the second set of structural parameters of the grating model and the corresponding second theoretical spectral values of the grating model, determining the original data set; and determining the number of target dimensions according to the restoration accuracy of the original data set at each dimensionality reduction dimension number.
[0181] Optionally, an acquisition module 600 for determining the restored data set of the original data set according to the second theoretical spectral values; and determining the restoration accuracy of the restored data set according to the original data set and the restored data set.
[0182] Optionally, an acquisition module 600 for determining the number of dimensionality reduction dimensions, reducing the second theoretical spectral values to the number of dimensionality reduction dimensions and then restoring them, determining the restored spectral values, and constructing a restored data set.
[0183] Optionally, an acquisition module 600 for determining each spectral dimension included in the second theoretical spectral values; for each spectral dimension, determining the comprehensive correlation degree between this spectral dimension and other spectral dimensions according to the second theoretical spectral values; according to the determined comprehensive correlation degree, determining each target dimension corresponding to the number of dimensionality reduction dimensions from each spectral dimension; and reducing the second theoretical spectral values according to each target dimension.
[0184] Optionally, an acquisition module 600 for matching the spectral values in the restored data set and the original data set; and determining the restoration accuracy according to the matching result, where the matching result is positively correlated with the restoration accuracy.
[0185] Optionally, an acquisition module 600 for adjusting the number of dimensionality reduction dimensions with the adjustment objective that the restoration accuracy is not less than the preset accuracy and the number of dimensionality reduction dimensions is the smallest until the number of target dimensions that meets the adjustment objective is determined.
[0186] Optionally, adjust the dimensionality reduction dimension number according to the adjustment direction of gradually decreasing by the number of dimensionality reduction dimensions, and obtain module 600, which is used to, when the restoration accuracy is not less than the preset accuracy, reduce the dimensionality reduction dimension number according to the preset single-iteration dimension number, reconstruct the restored dataset according to the reduced dimensionality reduction dimension number, and re-determine the restoration accuracy of the reduced dimensionality reduction dimension number until the restoration accuracy of the reduced dimensionality reduction dimension number is less than the preset accuracy, and use the dimensionality reduction dimension number before the last reduction of the dimensionality reduction dimension number as the target dimension number.
[0187] Optionally, obtain module 600, which is used to, when the number of single-iteration dimensions in the last time is greater than one dimension number, reduce the number of single-iteration dimensions, and starting from the dimensionality reduction dimension number before the last reduction of the dimensionality reduction dimension number, continue to reduce the dimensionality reduction dimension number with the reduced number of single-iteration dimensions until the adjustment target is met; when the number of single-iteration dimensions in the last time is equal to one dimension number, use the dimensionality reduction dimension number before the last reduction of the dimensionality reduction dimension number as the target dimension number.
[0188] Optionally, adjust the dimensionality reduction dimension number according to the adjustment direction of gradually increasing by the number of dimensionality reduction dimensions, and obtain module 600, which is used to, when the restoration accuracy is less than the preset accuracy, increase the dimensionality reduction dimension number, reconstruct the restored dataset according to the increased dimensionality reduction dimension number, and re-determine the restoration accuracy of the increased dimensionality reduction dimension number until the restoration accuracy of the increased dimensionality reduction dimension number is not less than the preset accuracy, and use the dimensionality reduction dimension number after the last increase as the target dimension number.
[0189] Optionally, obtain module 600, which is used to, when the number of single-iteration dimensions in the last time is equal to one dimension number, use the dimensionality reduction dimension number after the last adjustment of the dimensionality reduction dimension number as the target dimension number; when the number of single-iteration dimensions in the last time is greater than one dimension number, reduce the number of single-iteration dimensions, and starting from the dimensionality reduction dimension number before the last adjustment of the dimensionality reduction dimension number, continue to increase the dimensionality reduction dimension number with the reduced number of single-iteration dimensions until the adjustment target is met.
[0190] Optionally, obtain module 600, which is used to determine the dimensionality reduction dimension number by the dichotomy method according to the spectral dimension number of the second theoretical spectral value, and determine the restoration accuracy corresponding to the dimensionality reduction dimension number; based on the magnitude relationship between the restoration accuracy corresponding to the dimensionality reduction dimension number and the preset accuracy, determine the range of the dimensionality reduction dimension number by the dichotomy method, and re-determine the dimensionality reduction dimension number and re-determine the restoration accuracy until the dimensionality reduction dimension number that is not less than the preset accuracy and is the smallest is determined as the target dimension number.
[0191] Optionally, an acquisition module 600 is configured to determine a dimensionality reduction score, input the dimensionality reduction score into a preset dimensionality reduction function, determine the number of dimensionality reduction dimensions corresponding to the dimensionality reduction score and each spectral dimension after dimensionality reduction, and determine the restoration accuracy of the number of dimensionality reduction dimensions; with the restoration accuracy not less than a preset accuracy and the minimum number of dimensionality reduction dimensions as an adjustment target, adjust the dimensionality reduction score, and re-determine the number of dimensionality reduction dimensions corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction through the dimensionality reduction function, and re-calculate the restoration accuracy corresponding to the adjusted number of dimensionality reduction dimensions until the target number of dimensions satisfying the adjustment target and each spectral dimension corresponding to the target number of dimensions are determined.
[0192] Optionally, the acquisition module 600 is configured to adjust the dimensionality reduction score in an adjustment direction of gradually decreasing according to the number of dimensionality reduction scores; when the restoration accuracy is not less than the preset accuracy, reduce the dimensionality reduction score, and re-determine the number of dimensionality reduction dimensions and the corresponding restoration accuracy after reducing the dimensionality reduction score through the dimensionality reduction function until the determined restoration accuracy is less than the preset accuracy, take the number of dimensionality reduction dimensions before the last reduction of the dimensionality reduction score as the target number of dimensions, and determine each spectral dimension corresponding to the target number of dimensions.
[0193] Optionally, the acquisition module 600 is configured to adjust the dimensionality reduction score in an adjustment direction of gradually increasing according to the dimensionality reduction score; when the restoration accuracy is less than the preset accuracy, increase the dimensionality reduction score, and re-determine the number of dimensionality reduction dimensions and the corresponding restoration accuracy after increasing the dimensionality reduction score through the dimensionality reduction function until the determined restoration accuracy is not less than the preset accuracy, take the number of dimensionality reduction dimensions after the last increase of the dimensionality reduction score as the target number of dimensions, and determine each spectral dimension corresponding to the target number of dimensions.
[0194] Optionally, the acquisition module 600 is configured to adjust the dimensionality reduction score by the dichotomy method based on the magnitude relationship between the restoration accuracy of the number of dimensionality reduction dimensions corresponding to the dimensionality reduction score and the preset accuracy; re-determine the number of dimensionality reduction dimensions and the corresponding restoration accuracy after reducing the dimensionality reduction score through the dimensionality reduction function until the target number of dimensions satisfying the adjustment target and each spectral dimension corresponding to the target number of dimensions are determined.
[0195] Optionally, a construction module 601 is configured to determine the number of neurons in each network layer of the spectral value calculation model to be trained except for the input layer according to the target number of dimensions, and the target number of dimensions is positively correlated with the number of neurons in each network layer.
[0196] Optionally, the training module 602 is configured to adjust each model parameter in the spectral value calculation model according to the magnitude of the difference by a preset step size; when the number of adjustments reaches a preset value, reduce the preset step size, and then adjust each model parameter again according to the reduced preset step size.
[0197] Optionally, the training module 602 is configured to train the spectral value calculation model through a multi-round iterative process. The first set of structural parameters contains several structural points, where: in an increasing manner, determine the number of structural points in the training samples for each round of the iterative process; according to the number of structural points in the current round of the iterative process, sample the first set of structural parameters, and use each sampled structural point as the training sample for the current round of the iterative process.
[0198] Optionally, the training module 602 is configured to train the spectral value calculation model through a multi-round iterative process. The first set of structural parameters contains several structural points, where: sample the first set of structural parameters at least twice to determine at least two training sets with different numbers of included structural points; for each round of the iterative process, determine a training set different from the training set used in the previous round of the iterative process for the current round of training.
[0199] Optionally, the training module 602 is configured to record the differences determined in each round of training of the spectral value calculation model and the model parameters of the spectral value calculation model before parameter adjustment in this round of training during the training process; when the condition for stopping training is reached, determine the target difference according to the recorded differences; use the model parameters corresponding to the target difference as the model parameters of the spectral value calculation model.
[0200] Optionally, the training module 602 is configured to establish a theoretical spectral value database through multiple first theoretical spectral values; match the spectral value of the grating model to be measured with each first theoretical spectral value in the theoretical spectral database; use the structural parameters corresponding to the successfully matched spectral value as the structural parameters of the grating model to be measured.
[0201] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or elements inherent to such process, method, commodity or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of another identical element in the process, method, commodity or device including the element.
[0202] Each embodiment in this specification is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For the relevant parts, reference can be made to the partial description of the method embodiment.
[0203] This specification also provides a computer-readable storage medium storing a computer program that can be used to execute the Figure 4 spectral value calculation model training method provided above.
[0204] This specification also provides Figure 7 the schematic structural diagram of the electronic device shown. As shown in 7, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory. Of course, it may also include other hardware required for other services. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to implement the Figure 4 spectral value calculation model training described above. Of course, in addition to the software implementation, this specification does not exclude other implementation manners, such as logical devices or a combination of software and hardware, etc. That is to say, the execution subject of the following processing flow is not limited to each logical unit, and can also be hardware or logical devices.
[0205] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structures of diodes, transistors, switches, etc.) or software improvements (improvements to method flows). However, with the development of technology, many method flow improvements today can be regarded as direct improvements to hardware circuit structures. Almost all designers obtain the corresponding hardware circuit structures by programming the improved method flows into the hardware circuits. Therefore, it cannot be said that an improvement to a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program themselves to "integrate" a digital system onto a single PLD, without having to ask a chip manufacturer to design and fabricate a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly implemented using "logic compiler" software, which is similar to the software compilers used in program development and writing. The original code before compilation also has to be written in a specific programming language, which is called a hardware description language (HDL), and there is not just one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones currently are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also be aware that by simply performing a little logical programming on the method flow using the above-mentioned several hardware description languages and programming it into an integrated circuit, it is easy to obtain the hardware circuit that implements the logical method flow.
[0206] The controller can be implemented in any suitable manner. For example, the controller can take the form of, for example, a microprocessor or a processor and a computer-readable medium storing computer-readable program code (such as software or firmware) executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of the controller include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that, in addition to implementing the controller in the form of pure computer-readable program code, it is entirely possible to implement the same function by logically programming method steps so that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, and embedded microcontrollers, etc. Therefore, such a controller can be considered a hardware component, and the devices included therein for implementing various functions can also be regarded as the structures within the hardware component. Or even, the devices for implementing various functions can be regarded as either software modules for implementing the method or the structures within the hardware component.
[0207] The systems, devices, modules, or units illustrated in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0208] For the convenience of description, when describing the above devices, they are described separately as various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0209] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program code.
[0210] The present invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each flow and / or block in the flowchart illustrations and / or block diagrams, and combinations of flows and / or blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart Figure 1 one flow or multiple flows and / or blocks Figure 1 or means for implementing the functions specified in one block or multiple blocks.
[0211] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement the functions specified in the flowchart Figure 1 one flow or multiple flows and / or blocks Figure 1 or means for implementing the functions specified in one block or multiple blocks.
[0212] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, so that the instructions executed on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart Figure 1 one flow or multiple flows and / or blocks Figure 1 or means for implementing the functions specified in one block or multiple blocks.
[0213] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.
[0214] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM), and / or non-volatile memory such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
[0215] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0216] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0217] It should be understood by those skilled in the art that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0218] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0219] The various embodiments in this specification are described in a progressive manner. For the parts that are the same or similar among the various embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the system embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For the relevant parts, reference can be made to the partial description of the method embodiments.
[0220] The above description is only for the embodiments of this specification and is not intended to limit this specification. For those skilled in the art, various modifications and changes can be made to this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of this specification shall be included within the scope of the claims of this application.
Claims
1. A spectral value calculation model training method, characterized in that: include: Determine the number of target dimensions, and obtain a first set of structural parameters of a grating model as a training sample, and a spectral value corresponding to the first set of structural parameters at the target number of dimensions as a label, wherein the grating model is established based on the structure of the grating to be measured; the determination of the number of target dimensions includes: obtaining a second set of structural parameters of the grating model and a second theoretical spectral value corresponding to the grating model, and determining an original data set; determining the number of target dimensions according to the restoration accuracy of the original data set at each number of reduced dimensions; determining the number of target dimensions according to the restoration accuracy of the original data set at each number of reduced dimensions includes : Determine a dimensionality reduction score, input the dimensionality reduction score into a preset dimensionality reduction function, determine the number of dimensionality reduction dimensions corresponding to the dimensionality reduction score and each spectral dimension after dimensionality reduction; determine the restoration accuracy of the number of dimensionality reduction dimensions; take the restoration accuracy not less than the preset accuracy and the number of dimensionality reduction dimensions as the adjustment target, adjust the dimensionality reduction score, and re-pass the dimensionality reduction function to determine the number of dimensionality reduction dimensions corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction, and recalculate the restoration accuracy corresponding to the adjusted number of dimensionality reduction dimensions, until the target number of dimensions that meet the adjustment target and each spectral dimension corresponding to the target number of dimensions are determined; According to the target dimension number, construct a spectral value calculation model to be trained; The training sample is input into the spectral value calculation model, and the output of the spectral value calculation model is determined to be the training spectral value. The spectral value calculation model is trained with the minimum difference between the training spectral value and the annotation as the optimization goal, wherein the trained spectral value calculation model is used to determine the corresponding first theoretical spectral value according to the input structural parameters, and to construct a native database according to the input structural parameters and the first theoretical spectral value.
2. The method according to claim 1, characterized in that The steps to determine the restoration accuracy include: determining a restored data set of the original data set according to the second theoretical spectrum value; The restoration accuracy of the restored data set is determined according to the original data set and the restored data set.
3. The method according to claim 2, characterized in that The step of determining the restored data set of the original data set according to the second theoretical spectrum value specifically includes: The number of reduced dimensions is determined, the second theoretical spectrum value is reduced to the number of reduced dimensions and then restored, the restored spectrum value is determined, and a restored data set is constructed.
4. The method according to claim 3, characterized in that The step of reducing the dimension of the second theoretical spectrum value to the number of reduced dimensions specifically includes: Determining each spectral dimension included in the second theoretical spectral value; For each spectral dimension, determining the comprehensive correlation between the spectral dimension and other spectral dimensions according to the second theoretical spectral value; According to the determined comprehensive correlation, determining each target dimension corresponding to the number of dimension reduction dimensions from each spectral dimension; The second theoretical spectrum value is reduced in dimension according to each target dimension.
5. The method according to claim 2, characterized in that The step of determining the restoration accuracy of the restored data set according to the original data set and the restored data set specifically includes: matching the restored data set with spectral values in the original data set; The restoration accuracy is determined according to the matching result, and the matching result is positively correlated with the restoration accuracy.
6. The method according to claim 1, characterized in that The step of determining the target number of dimensions according to the restoration accuracy of the original data set at each number of reduced dimensions specifically includes: According to the restoration accuracy, with the restoration accuracy not less than the preset accuracy and the minimum number of reduced dimensions as the adjustment target, the number of reduced dimensions is adjusted until a target number of dimensions that meets the adjustment target is determined.
7. The method according to claim 6, characterized in that Adjusting the number of reduced dimensions according to the adjustment direction of decreasing the number of reduced dimensions round by round; The step of adjusting the number of reduced dimensions according to the restoration accuracy, taking the restoration accuracy not less than the preset accuracy and the number of reduced dimensions as the adjustment target, until determining the target number of dimensions that meets the adjustment target, specifically includes: When the restoration accuracy is not less than the preset accuracy, the number of reduced dimensions is reduced according to the preset number of single iteration dimensions, the restored data set is reconstructed according to the reduced number of reduced dimensions, and the restoration accuracy of the reduced number of reduced dimensions is re-determined until the restoration accuracy of the reduced number of reduced dimensions is less than the preset accuracy. The number of reduced dimensions before the most recent reduction in the number of reduced dimensions is used as the target number of dimensions.
8. The method according to claim 7, characterized in that The step of taking the number of dimension reduction dimensions before the last adjustment of the number of dimension reduction dimensions as the target number of dimensions specifically includes: When the number of dimensions in the most recent single iteration is greater than the number of dimensions, the number of dimensions in the single iteration is reduced, and starting from the number of dimensions before the most recent reduction of the number of dimensions, the number of dimensions in the single iteration is continued to be reduced with the number of dimensions in the single iteration after the reduction until the adjustment target is met; When the number of dimensions in the most recent single iteration is equal to one number of dimensions, the number of dimensions reduced before the most recent reduction of the number of dimensions reduced is used as the target number of dimensions.
9. The method according to claim 6, characterized in that Adjusting the number of reduced dimensions according to the adjustment direction of increasing the number of reduced dimensions round by round; The step of adjusting the number of reduced dimensions according to the restoration accuracy, taking the restoration accuracy not less than the preset accuracy and the number of reduced dimensions as the adjustment target, until determining the target number of dimensions that meets the adjustment target, specifically includes: When the restoration accuracy is less than the preset accuracy, the number of reduced dimensions is increased, the restored data set is reconstructed according to the increased number of reduced dimensions, and the restoration accuracy of the increased number of reduced dimensions is re-determined until the restoration accuracy of the increased number of reduced dimensions is not less than the preset accuracy, and the number of reduced dimensions after the most recent increase is used as the target number of dimensions.
10. The method according to claim 9, characterized in that The step of taking the number of dimension reduction dimensions after the most recent adjustment as the target number of dimensions specifically includes: When the number of dimensions in the most recent single iteration is equal to the number of one dimension, the number of dimensions reduced after the most recent adjustment of the number of dimensions reduced is used as the target number of dimensions; When the number of dimensions in the most recent single iteration is greater than the number of dimensions, the number of dimensions in the single iteration is reduced, and the number of dimensions reduced is continued to be increased from the number of dimensions reduced before the most recent adjustment of the number of dimensions reduced, with the number of dimensions reduced after the reduction, until the adjustment target is met.
11. The method according to claim 6, characterized in that The step of adjusting the number of reduced dimensions according to the restoration accuracy, taking the restoration accuracy not less than the preset accuracy and the number of reduced dimensions as the adjustment target, until determining the target number of dimensions that meets the adjustment target, specifically includes: According to the number of spectral dimensions of the second theoretical spectral value, determining the number of reduced dimensions by a dichotomy method, and determining the restoration accuracy corresponding to the number of reduced dimensions; Based on the relationship between the restoration accuracy corresponding to the number of reduced dimensions and the preset accuracy, the range of the number of reduced dimensions is determined according to the bisection method, and the number of reduced dimensions is redetermined, as well as the restoration accuracy, until the minimum number of reduced dimensions with a restoration accuracy not less than the preset accuracy is determined as the target number of dimensions.
12. The method according to claim 1, characterized in that Adjusting the dimensionality reduction score according to the adjustment direction of decreasing the number of dimensionality reduction scores round by round; The step of adjusting the number of dimension reduction dimensions, adjusting the dimension reduction score, and re-using the dimension reduction function to determine the number of dimension reduction dimensions corresponding to the adjusted dimension reduction score and each spectral dimension after dimension reduction, and recalculating the restoration accuracy corresponding to the adjusted number of dimension reduction dimensions until determining the target number of dimensions that meet the adjustment target and each spectral dimension corresponding to the target number of dimensions, specifically includes: When the restoration accuracy is not less than the preset accuracy, the dimensionality reduction score is lowered, and the dimensionality reduction function is used to re-determine the number of reduced dimensions and the corresponding restoration accuracy after reducing the dimensionality reduction score, until the determined restoration accuracy is less than the preset accuracy. The number of reduced dimensions before the most recent reduction of the dimensionality reduction score is taken as the target dimension number, and the spectral dimensions corresponding to the target dimension number are determined.
13. The method according to claim 1, characterized in that Adjusting the dimensionality reduction score according to the adjustment direction of the dimensionality reduction score increasing round by round; The step of adjusting the dimensionality reduction score, re-passing the dimensionality reduction function, determining the number of dimensionality reduction dimensions corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction, and recalculating the restoration accuracy corresponding to the adjusted number of dimensionality reduction dimensions until determining the target number of dimensions that meet the adjustment target and each spectral dimension corresponding to the target number of dimensions, specifically includes: When the restoration accuracy is less than the preset accuracy, the dimensionality reduction score is increased, and the dimensionality reduction function is used to re-determine the number of reduced dimensions and the corresponding restoration accuracy after increasing the dimensionality reduction score, until the determined restoration accuracy is not less than the preset accuracy. The number of reduced dimensions after the most recent increase in the dimensionality reduction score is used as the target dimension number, and the spectral dimensions corresponding to the target dimension number are determined.
14. The method according to claim 1, wherein: The step of adjusting the dimensionality reduction score, re-passing the dimensionality reduction function, determining the number of dimensionality reduction dimensions corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction, and recalculating the restoration accuracy corresponding to the adjusted number of dimensionality reduction dimensions until determining the target number of dimensions that meet the adjustment target and each spectral dimension corresponding to the target number of dimensions, specifically includes: Based on the relationship between the restoration accuracy of the number of reduced dimensions corresponding to the reduced dimension score and the preset accuracy, the reduced dimension score is adjusted by a dichotomy method; The dimension reduction function is used to determine the number of reduced dimensions and the corresponding restoration accuracy after reducing the dimension reduction score, until the target number of dimensions that meet the adjustment target and the spectral dimensions corresponding to the target number of dimensions are determined.
15. The method according to claim 1, wherein: The step of constructing a spectral value calculation model to be trained according to the target dimension quantity specifically includes: According to the target number of dimensions, the number of neurons in each network layer except the input layer of the spectral value calculation model to be trained is determined, and the target number of dimensions is positively correlated with the number of neurons in each network layer.
16. The method according to claim 1, wherein: The structural parameters of the grating model include at least two of the side wall angle, height, depth, top width and bottom width of the grating structure to be measured, and the first theoretical spectrum value, the second theoretical spectrum value and the training spectrum value are determined based on at least two structural parameters and incident light of a preset wavelength.
17. The method according to claim 1, wherein: The step of training the spectral value calculation model specifically includes: According to the size of the difference, adjusting each model parameter in the spectral value calculation model according to a preset step size; When the number of adjustments reaches a preset value, the preset step size is reduced, and the model parameters are adjusted again according to the reduced preset step size.
18. The method of claim 1, wherein: The spectrum value calculation model is trained through multiple rounds of iterations, wherein the first structure parameter set includes a plurality of structure points, wherein: The number of structural points in the training samples of each round of iteration is determined in an incremental manner; The first set of structural parameters is sampled according to the number of structural points in this round of iterative process, and each structural point obtained by sampling is used as a training sample for this round of iterative process.
19. The method of claim 1, wherein: The spectrum value calculation model is trained through multiple rounds of iterations, wherein the first structure parameter set includes a plurality of structure points, wherein: Sampling the first set of structural parameters at least twice to determine at least two training sets containing different numbers of structural points; For each round of iteration, a training set different from the training set used in the previous round of iteration is determined for use in the training of the current round of iteration.
20. The method of claim 1, wherein: The step of training the spectral value calculation model specifically includes: During the training process, recording the differences determined in each round of training of the spectral value calculation model and the model parameters of the spectral value calculation model before the parameters are adjusted in the round of training; When the condition for stopping training is reached, the target difference is determined based on each recorded difference; The model parameters corresponding to the target difference are used as the model parameters of the spectral value calculation model.
21. The method of claim 1, wherein: After the step of training the spectral value calculation model, the method further includes: Establishing a theoretical spectrum value database through a plurality of said first theoretical spectrum values; Matching the spectrum value of the grating model to be measured with each first theoretical spectrum value in the theoretical spectrum database; The structural parameters corresponding to the successfully matched spectral values are used as the structural parameters of the grating model to be measured.
22. A spectral value calculation model training device, characterized in that: include: An acquisition module is used to determine the number of target dimensions, and acquire a first structural parameter set of a grating model as a training sample, and a spectral value corresponding to the first structural parameter set at the target number of dimensions as a label, wherein the grating model is established based on the structure of the grating to be measured; the determination of the number of target dimensions includes: acquiring a second structural parameter set of the grating model and a second theoretical spectral value corresponding to the grating model to determine the original data set; determining the number of target dimensions according to the restoration accuracy of the original data set at each number of reduced dimensions; determining the number of target dimensions according to the restoration accuracy of the original data set at each number of reduced dimensions , including: determining a dimensionality reduction score, inputting the dimensionality reduction score into a preset dimensionality reduction function, determining the number of dimensionality reduction dimensions corresponding to the dimensionality reduction score and each spectral dimension after dimensionality reduction; determining the restoration accuracy of the number of dimensionality reduction dimensions; taking the restoration accuracy not less than the preset accuracy and the number of dimensionality reduction dimensions as the adjustment target, adjusting the dimensionality reduction score, and re-passing the dimensionality reduction function to determine the number of dimensionality reduction dimensions corresponding to the adjusted dimensionality reduction score and each spectral dimension after dimensionality reduction, and recalculating the restoration accuracy corresponding to the adjusted number of dimensionality reduction dimensions, until the target number of dimensions that meet the adjustment target and each spectral dimension corresponding to the target number of dimensions are determined; A construction module, used to construct a spectral value calculation model to be trained according to the target dimension number; A training module is used to input the training samples into the spectral value calculation model, determine the output of the spectral value calculation model as the training spectral value, and train the spectral value calculation model with the minimum difference between the training spectral value and the annotation as the optimization goal, wherein the trained spectral value calculation model is used to determine the corresponding first theoretical spectral value according to the input structural parameters, and to construct a native database according to the input structural parameters and the first theoretical spectral value.
23. A computer-readable storage medium, characterized in that: The storage medium contains a computer program, and when the computer program is executed by a processor, the method described in any one of claims 1 to 21 is implemented.
24. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 21 when executing the computer program.
Citation Information
Patent Citations
Vibration spectrum dimension reduction method and system
CN112001410A
Grating optical filter structure optimization method based on neural network
CN112926157A
High-dimensional data dimension reduction method and system based on machine learning
CN117763316A
Structural parameter determination method
CN118999351A
Theoretical spectrum library building method, measurement method and electronic equipment, medium and program product thereof
CN119026191A