Antenna design method and device
Through the iterative optimization process of Bayesian optimization method and proxy model, the problem of random input perturbation in antenna design is solved, and it is suitable for perturbation of any distribution type, improving optimization efficiency and stability of the result.
Patent Information
- Application Number
- CN202310940699.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-28
- Publication Date
- 2025-02-14
AI Technical Summary
When the prior art deals with complex optimization problems, especially in antenna design, it is difficult to effectively deal with the randomness of input perturbations, resulting in fluctuations in optimization results. The established proxy model is only suitable for disturbances of Gaussian distribution type, and the calculation complexity is high. Inefficient reasoning.
Through multiple iterations, using Bayesian optimization method, the covariance between vectors is calculated based on the sampling of the input distribution, and the proxy model is constructed, and the acquisition function is used to determine optimization decisions, which is suitable for input perturbations of any distribution type.
Under input perturbation of any distribution type, the design parameters that optimize the antenna performance parameters are found, which reduces the computational complexity and improves the proxy model inference efficiency in the design parameter optimization process.
Smart Images

Figure CN119442824A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence (AI) technology in big data, and in particular to an antenna design method and device. Background Art
[0002] Bayesian Optimization (BO) is a sample-efficient global optimization algorithm that is often used in various black-box optimization problems with expensive verification. Each iteration of BO mainly includes two important steps: 1) Based on the existing observation data, a probability-based surrogate model is constructed to describe the relationship between the input x and output y of the objective function to be optimized. 2) The acquisition function is designed to utilize the modeling results of the surrogate model to guide the optimization decision and select the next query point. Repeat the iteration until the optimal value is found or the maximum number of iterations is reached. At present, BO has been successfully applied to many optimization tasks, such as antenna design, neural network structure search, algorithm hyperparameter optimization, wireless network performance optimization, and robot control.
[0003] When optimizing some complex problems, some randomness will inevitably occur in the optimization process. For example, manufacturing tolerances and process limitations in the production process of products such as antennas, or environmental fluctuations and execution errors in the control optimization process, will introduce random noise into the design parameter x during the verification process, thereby changing it to x', causing fluctuations in the optimization results. In order to solve the uncertainty introduced in the optimization process, the existing technology directly models the uncertain input, that is, constructs a proxy model between the uncertain input and the input of the objective function to solve the above-mentioned uncertainty problem.
[0004] However, the proxy model constructed in the above-mentioned prior art is only applicable to the case where the disturbance type is a quasi-Gaussian distribution, and the calculation process of the optimization process is highly complex and the reasoning efficiency is low. Summary of the invention
[0005] The embodiments of the present application provide an antenna design method and device, which can find design parameters that optimize the average performance parameters of the antenna under any distribution type of input disturbance. It has a wide range of applications and can effectively reduce the computational complexity through accelerated processing, greatly improving the reasoning efficiency of the proxy model during the design parameter optimization process.
[0006] In a first aspect, the present application provides an antenna design method, the method comprising: determining the design parameters of the antenna through multiple iterations; wherein the i-th iteration process is: obtaining multiple vectors based on an optimization space, each of the multiple vectors containing M elements, the M elements being used to characterize M design parameters of the antenna, respectively, the optimization space being used to describe the value range of each of the M design parameters, M and i being positive integers; obtaining the input distribution of the M design parameters, and inputting the input distribution of the M design parameters and the multiple vectors into a proxy model of a Bayesian optimization BO, to obtain multiple groups of predicted values of the performance parameters of the antenna and multiple degrees of certainty corresponding to the multiple groups of predicted values; wherein the multiple groups of predicted values and the multiple vectors are Correspondingly, the multiple degrees of certainty are respectively used to describe the credibility of the multiple groups of prediction values, the processing process of the proxy model includes calculating the covariance of any two vectors among the multiple vectors, and the covariance between the any two vectors is calculated by sampling the input distribution; the multiple groups of prediction values and the multiple degrees of certainty are processed based on the acquisition function of the BO to determine a first vector from the multiple vectors, and the output of the acquisition function corresponding to the first vector is the largest; and the first vector is input into the objective function to obtain a set of performance parameters of the antenna; when a set of performance parameters of the antenna meets the preset conditions or i is equal to the preset number of times, the M types of design parameters contained in the first vector are determined as the design parameters of the antenna.
[0007] The objective function is used to describe the relationship between the design parameters and the performance parameters of the antenna.
[0008] From the technical effect point of view, when the present application uses Bayesian optimization BO to design the antenna, since it is calculated by sampling the sample set obtained by sampling the input distribution of the antenna design parameters, the method of the present application does not require the input distribution of the design parameters to have a definite distribution law, and can be applied to any type of input distribution, with better adaptability.
[0009] In a feasible implementation, the preset condition includes a set of reference performance parameters of the antenna. When the difference between the set of performance parameters of the antenna and the set of reference performance parameters is less than a preset threshold, the set of performance parameters of the antenna meets the preset condition.
[0010] From a technical effect perspective, the set of predicted values with the smallest difference is the set of predicted values that best meets the preset conditions. Using the M design parameters contained in the first vector corresponding to this set of predicted values as antenna design parameters can maximize the pass rate of antennas manufactured on the production line.
[0011] In a feasible implementation, the method further includes: when a set of performance parameters of the antenna do not meet the preset conditions and i is not equal to the preset number of times, adding the first vector and a set of performance parameters of the antenna as a training data to the data set used to train the proxy model, and starting the next iteration.
[0012] From the technical effect point of view, when the i-th iteration does not meet the iteration termination condition, a new training data can be generated for subsequent updating of the parameters of the proxy model to improve the prediction accuracy of the proxy model, thereby improving the optimization results of the design parameters, that is, quickly iterating the design parameters that meet the preset conditions.
[0013] In a feasible implementation, the multiple vectors include a second vector and a third vector, and the covariance between the second vector and the third vector is obtained by inputting the first sample set and the second sample set into the maximum mean difference MMD kernel function for processing; wherein the m vectors included in the first sample set are obtained based on the second vector and the input distribution sampling, and the m vectors included in the second sample set are obtained based on the third vector and the input distribution sampling, and each vector in the first sample set and the second sample set contains M elements, and the M elements respectively represent the M design parameters.
[0014] From the technical effect point of view, the covariance between the second vector and the third vector is obtained by processing the sample set obtained by sampling the two vectors and the input distribution through the MMD kernel function. This calculation method does not require the input distribution to have a certain distribution law, and can be applied to any distribution law or irregular input distribution, with good adaptability.
[0015] In a feasible implementation, the processing process of the MMD kernel function on the first sample set and the second sample set includes adding the first matrix to the second matrix and subtracting twice the third matrix; the first matrix is obtained by multiplying the fourth matrix, the transposed matrix of the fourth matrix, and the pseudo-inverse matrix of the fourth matrix, and the fourth matrix is obtained by processing h vectors in the first sample set by the MMD kernel function, where h is a positive integer less than m; the second matrix is obtained by multiplying the fifth matrix, the transposed matrix of the fifth matrix, and the pseudo-inverse matrix of the fifth matrix, and the fifth matrix is obtained by processing the h vectors in the second sample set by the MMD kernel function; the third matrix is obtained by multiplying the sixth matrix, the transposed matrix of the sixth matrix, and the pseudo-inverse matrix of the sixth matrix, and the sixth matrix is obtained by processing the h vectors in the first sample set and the h vectors in the second sample set by the MMD kernel function.
[0016] From the technical effect point of view, this method only needs to calculate the fourth matrix, the fifth matrix and the sixth matrix to obtain the first matrix, the second matrix and the third matrix accordingly. There is no need to calculate all the elements of the first matrix at one time, only a part of the elements need to be calculated. This can greatly reduce the spatial complexity of the calculation, improve the model reasoning speed, and thus improve the optimization speed of the antenna design process.
[0017] In a feasible implementation manner, the method further includes: before acquiring the multiple vectors from the optimization space, training the proxy model using the data set of the proxy model.
[0018] From a technical perspective, before the proxy model performs inference in each iteration, training the proxy model with an updated data set can improve the prediction accuracy of the proxy model and thereby improve the optimization results of the design parameters, that is, quickly iterating the design parameters that meet the preset conditions.
[0019] In a feasible implementation manner, the input distribution is obtained by statistically analyzing production data, and the input distribution of each design parameter is characterized by probability distribution or Gaussian distribution.
[0020] From the perspective of technical effects, this application has no requirements for the input distribution of design parameters and can be applied to any type of input distribution, with good adaptability.
[0021] In a feasible implementation, the M design parameters include one or more of the thickness, material dielectric constant and shape parameters of the antenna; the performance parameters include one or more of the scattering parameters, radiation pattern, and side lobe width of the antenna.
[0022] In a second aspect, the present application provides an antenna design device, which determines the design parameters of the antenna through multiple iterations, and the device includes: an acquisition unit, which is used to acquire multiple vectors based on the optimization space during the i-th iteration, each of the multiple vectors contains M elements, and the M elements are respectively used to characterize M design parameters of the antenna, and the optimization space is used to describe the value range of each of the M design parameters, M and i are positive integers; and obtain the input distribution of the M design parameters; a processing unit, which is used to obtain the input distribution of the M design parameters, and input the input distribution of the M design parameters and the multiple vectors into the proxy model of the Bayesian optimization BO to obtain multiple groups of predicted values of the performance parameters of the antenna and multiple degrees of certainty corresponding to the multiple groups of predicted values; wherein, The multiple groups of prediction values correspond to the multiple vectors respectively, and the multiple degrees of certainty are used to describe the credibility of the multiple groups of prediction values respectively. The processing process of the proxy model includes calculating the covariance of any two vectors among the multiple vectors, and the covariance between the any two vectors is calculated by sampling the input distribution; and processing the multiple groups of prediction values and the multiple degrees of certainty based on the acquisition function of the BO to determine a first vector from the multiple vectors, and the output of the acquisition function corresponding to the first vector is the largest; the first vector is input into the objective function to obtain a set of performance parameters of the antenna; a determination unit is used to determine the M design parameters contained in the first vector as the design parameters of the antenna when a set of performance parameters of the antenna meets a preset condition or i is equal to a preset number of times.
[0023] In a feasible implementation, the preset condition includes a set of reference performance parameters of the antenna. When the difference between the set of performance parameters of the antenna and the set of reference performance parameters is less than a preset threshold, the set of performance parameters of the antenna meets the preset condition.
[0024] In a feasible implementation, the processing unit is also used to: when a set of performance parameters of the antenna do not meet the preset conditions and i is not equal to the preset number of times, add the first vector and a set of performance parameters of the antenna as a training data to the data set used to train the proxy model, and start the next iteration.
[0025] In a feasible implementation, the multiple vectors include a second vector and a third vector, and the covariance between the second vector and the third vector is obtained by inputting the first sample set and the second sample set into the maximum mean difference MMD kernel function for processing; wherein the m vectors included in the first sample set are obtained based on the second vector and the input distribution sampling, and the m vectors included in the second sample set are obtained based on the third vector and the input distribution sampling, and each vector in the first sample set and the second sample set contains M elements, and the M elements respectively represent the M design parameters.
[0026] In a feasible implementation, the processing process of the MMD kernel function on the first sample set and the second sample set includes adding the first matrix to the second matrix and subtracting twice the third matrix; the first matrix is obtained by multiplying the fourth matrix, the transposed matrix of the fourth matrix, and the pseudo-inverse matrix of the fourth matrix, and the fourth matrix is obtained by processing h vectors in the first sample set by the MMD kernel function, where h is a positive integer less than m; the second matrix is obtained by multiplying the fifth matrix, the transposed matrix of the fifth matrix, and the pseudo-inverse matrix of the fifth matrix, and the fifth matrix is obtained by processing the h vectors in the second sample set by the MMD kernel function; the third matrix is obtained by multiplying the sixth matrix, the transposed matrix of the sixth matrix, and the pseudo-inverse matrix of the sixth matrix, and the sixth matrix is obtained by processing the h vectors in the first sample set and the h vectors in the second sample set by the MMD kernel function.
[0027] In a feasible implementation manner, the processing unit is further used for: before acquiring the multiple vectors from the optimization space, training the proxy model using the data set of the proxy model.
[0028] In a feasible implementation manner, the input distribution is obtained by statistically analyzing production data, and the input distribution of each design parameter is characterized by probability distribution or Gaussian distribution.
[0029] In a feasible implementation, the M design parameters include one or more of the thickness, material dielectric constant and shape parameters of the antenna; the performance parameters include one or more of the scattering parameters, radiation pattern, and side lobe width of the antenna.
[0030] In a third aspect, the present application provides a computer device, comprising at least one processor, a memory and an interface circuit, wherein the memory, the interface circuit and the at least one processor are interconnected via lines, and instructions are stored in the at least one memory; when the instructions are executed by the processor, any method described in the first aspect above is implemented.
[0031] In a fourth aspect, the present application provides a chip system, which includes at least one processor, a memory and an interface circuit, wherein the memory, the interface circuit and the at least one processor are interconnected through lines, and instructions are stored in the at least one memory; when the instructions are executed by the processor, any method described in the first aspect above is implemented.
[0032] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program. When the computer program is executed, the method described in any one of the above-mentioned first aspects is implemented.
[0033] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes instructions. When the instructions are executed, the method described in any one of the first aspects above is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The following is an introduction to the drawings used in the embodiments of the present application.
[0035] Figure 1 A schematic diagram of a system architecture provided for an embodiment of the present application;
[0036] Figure 2 Another schematic diagram of a system architecture provided for an embodiment of the present application;
[0037] Figure 3 A schematic diagram of the structure of a convolutional neural network provided in an embodiment of the present application;
[0038] Figure 4 A schematic diagram of the structure of another convolutional neural network provided in an embodiment of the present application;
[0039] Figure 5 A schematic diagram of a chip hardware structure provided in an embodiment of the present application;
[0040] Figure 6 A schematic diagram of a flow chart of an antenna design method provided in an embodiment of the present application;
[0041] Figure 7 A schematic diagram of a process of processing a first sample set and a second sample set by an MMD kernel function provided in an embodiment of the present application;
[0042] Figure 8 A schematic diagram of another MMD kernel function processing process of a first sample set and a second sample set provided in an embodiment of the present application;
[0043] Fig. 9 A schematic diagram of an execution process of an antenna design method provided in an embodiment of the present application;
[0044] Fig.10 A code example of BO in an antenna design method provided in an embodiment of the present application;
[0045] Fig.11 A code example for accelerating the reasoning speed of a proxy model provided in an embodiment of the present application;
[0046] Fig.12 A schematic diagram of the structure of an antenna design device provided in an embodiment of the present application;
[0047] Fig.13 A schematic diagram of the structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0048] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is only a description of the association relationship of the associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0049] The terms "first", "second", "third" and "fourth" in the specification and claims of the present application and the drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices. Mentioning "embodiment" in this article means that the specific features, structures or characteristics described in conjunction with the embodiment may be included in at least one embodiment of the present application. The appearance of this phrase at various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0050] The following are the professional terms involved in this application:
[0051] (1) Bayesian Optimization (BO): It is an iterative parameter adjustment method that can find (approximately) minimize the parameter value of the loss function in a multi-dimensional domain with fewer steps, so that the function value of the objective function output is optimal. Bayesian optimization includes a proxy model and an acquisition function. The proxy model is used to model the relationship between the input and the output value of the objective function. The acquisition function obtains the next query point based on the output value of the proxy model, so that the query point can be verified by the objective function later, and a new observation point (i.e., a piece of training data for training the proxy model) is generated.
[0052] (2) Kernel function: A function that takes a vector in the original space as input and returns the dot product of a vector in the feature space (the transformed data space, which may be high-dimensional) is called a kernel function.
[0053] (3) Covariance: It is used to represent the overall error of two variables, which is different from the variance that represents the error of only one variable. If the change trends of the two variables are consistent, that is, if one is greater than its expected value and the other is also greater than its expected value, then the covariance between the two variables is positive. If the change trends of the two variables are opposite, that is, one is greater than its expected value and the other is less than its expected value, then the covariance between the two variables is negative.
[0054] See also Figure 1 , Figure 1 A system architecture diagram provided in an embodiment of the present application is used to describe the system architecture of a computer device 100 that executes the antenna design method in the present application. Figure 1 As shown, the system architecture of the computer device may include an application layer 110 , an operating system 120 , and a device layer 130 .
[0055] Optionally, the computer device 100 may be a personal computer, a tablet, a mobile phone or other intelligent terminal device or a server, etc., which is not limited in the present application.
[0056] Optionally, the application layer 110 may include a machine learning framework 112 and a Bayesian optimization module 111 constructed based on the machine learning framework, wherein the module includes a proxy model and an acquisition function. The Bayesian optimization module 111 is used to execute the iterative optimization process in the antenna design method of the present application.
[0057] Optionally, the operating system 120 may include a file system 121, a block layer 122, and a device driver 123. The file system 121 is used to manage and schedule the storage space of the file, and provide the logical structure, physical structure, and storage method of the file. The block layer 122 is an interface for the file system 121 to access the device layer 130, and is used to connect the file system 121 and the device driver 123. The block layer 122 is used to encapsulate / decapsulate related requests. The device driver 123 may include a display driver, a camera driver, an audio driver, and a sensor driver.
[0058] Optionally, the device layer 130 may include a memory 131 , a network card 132 , and a processor 133 .
[0059] In some feasible implementations, the operation of the program can be divided into user state and kernel state. When the program runs in user state, the processor can only access data in part of the memory and is not allowed to access peripheral devices, such as hard disks, network cards, etc. When the program runs in kernel state, the processor can access all data in the memory, including peripheral devices, such as hard disks, network cards, etc. At the same time, the processor can also switch itself from one program to another. Usually, the application program in the application layer 110 runs in user state, and the operating system 120 runs in kernel state.
[0060] During the process of the computer device 100 running the above-mentioned Bayesian optimization module 111, the application layer 110 first initiates a read / write request; the file system 121 determines the logical address of the data corresponding to the read / write request in the memory 131; the block layer 122 is used to distribute the read / write request to the device driver 123; the device driver 123 is used to encapsulate the read / write request, and send the encapsulated read / write request and the logical address corresponding to the read / write request to the memory 131; the memory 131 unpacks the encapsulated read / write request, and converts the logical address corresponding to the read / write request into the corresponding physical address in the memory 131; and then writes data to the physical address or reads data from the physical address based on the read / write request.
[0061] The memory 131 stores a data set for training the above-mentioned proxy model.
[0062] Optionally, the memory 131 can be any one of random access memory (RAM), read-only memory (ROM) or flash memory; wherein RAM includes static random access memory (SRAM) and dynamic random access memory (DRAM), etc., and ROM includes erasable programmable ROM (EPROM) and electrically erasable programmable read-only memory (EEPROM), etc.
[0063] See also Figure 2 , Figure 2 Another system architecture diagram provided in the embodiment of the present application. Figure 2 As shown, the data collection device 260 is used to collect historical data of various design parameters in the antenna production process and store them in the database 230. The training device 220 trains the agent model in this application based on the historical data of each set of design parameters maintained in the database 230 and the antenna performance corresponding to each set of historical data.
[0064] Each set of design parameters includes values of different types of design parameters (i.e., M different design parameters in the following embodiment), and each set of design parameters and its corresponding antenna performance is a piece of training data. Each set of design parameters includes uncertainty (caused by the influence of manufacturing process, etc.), that is, each set of design parameters can be directly measured from the actual produced products.
[0065] The above-mentioned design parameters include one or more of the thickness, material dielectric constant and shape parameters of the antenna.
[0066] The above antenna performance includes one or more of scattering parameters, radiation patterns, and side lobe widths.
[0067] The antenna design method in the present application is mainly implemented by Bayesian BO optimization, which requires the use of a proxy model 201 and an acquisition function 202. Further, the proxy model 201 may be a machine learning model, specifically, a mathematical model or a deep learning model.
[0068] Figure 2 In the example given, the proxy model 201 and the acquisition function 202 are deployed on the same execution device 210, but they can also be deployed on different execution devices, that is, the antenna design in this application can be executed by multiple devices in cooperation, and this application does not limit this.
[0069] Specifically, in the antenna design method, the proxy model 201 and the acquisition function 202 are used to perform the iterative process in Bayesian optimization. The proxy model 201 is used to output the predicted value of the objective function and the credibility of the predicted value according to a set of input design parameters (i.e., M types of design parameters in the following embodiment). The acquisition function 202 determines a set of design parameters for the next iteration based on the output of the proxy model 201. Until a set of design parameters that meet the iteration termination condition is found, the set of design parameters is output as the optimization result and sent to the user equipment 240.
[0070] The user request sent by the user equipment 240 is an optimization request for antenna design parameters, and these requests may include one or more of voice or text.
[0071] Figure 2 It can also be a functional module diagram in the antenna design process. Among them, the execution device 210 and the data storage system 250 can be integrated in the user device 240 when the data processing capability of the user device 240 is relatively strong. In some embodiments, the execution device 210 can be a device independent of the user device 240. The data storage system 250, the database 230, the training device 220, and the data acquisition device 260 can be integrated on the execution device 210, or set on other servers on the cloud or the network, which is not limited in this application.
[0072] The data collection device 260 may be a terminal device or an input / output interface of a server or cloud, and is an interactive layer (interface) for obtaining query statements and returning reply statements.
[0073] In the present application, the proxy model 201 may be a deep learning model, so the training and reasoning principles of the deep learning model will be briefly introduced below.
[0074] The architecture of a deep learning model can be a deep neural network. The work of each layer in a deep neural network can be expressed mathematically as To describe: From a physical level, the work of each layer in a deep neural network can be understood as completing the transformation from input space to output space (i.e., from row space to column space of a matrix) through operations on five input spaces (a collection of input vectors). These five operations include: 1. Dimension increase / decrease; 2. Enlargement / reduction; 3. Rotation; 4. Translation; 5. "Bending". Operations 1, 2, and 3 are represented by Completed, operation 4 is completed by +b, and operation 5 is implemented by a(). The word "space" is used here because the classified object is not a single thing, but a class of things, and space refers to the set of all individuals of this class of things. Among them, W is a weight vector, and each value in the vector represents the weight value of a neuron in this layer of the neural network. The vector W determines the spatial transformation from the input space to the output space described above, that is, the weight W of each layer controls how to transform the space. The purpose of training a deep neural network is to eventually obtain the weight matrix of all layers of the trained neural network (the weight matrix formed by many layers of vectors W). Therefore, the training process of a neural network is essentially to learn how to control spatial transformation, and more specifically to learn the weight matrix.
[0075] Because we want the output of the deep neural network to be as close as possible to the value we really want to predict, we can compare the current network's predicted value with the target value we really want, and then update the weight vector of each layer of the neural network based on the difference between the two (of course, there is usually an initialization process before the first update, that is, pre-configuring parameters for each layer in the deep neural network). For example, if the network's predicted value is high, adjust the weight vector to make it predict a lower value, and keep adjusting until the neural network can predict the target value we really want. Therefore, it is necessary to predefine "how to compare the difference between the predicted value and the target value", which is the loss function or objective function, which are important equations used to measure the difference between the predicted value and the target value. Among them, taking the loss function as an example, the higher the output value (loss) of the loss function, the greater the difference, so the training of the deep neural network becomes a process of minimizing this loss as much as possible.
[0076] exist Figure 2 In the example, the agent model 201 trained by the training device 220 can be applied to different systems or devices. The execution device 210 is configured with an I / O interface 212 to interact with external devices. The "user" can input data to the I / O interface 212 through the user device 240, that is, the user request.
[0077] The execution device 210 can call data, codes, etc. in the data storage system 250 , and can also store data, instructions, etc. in the data storage system 250 .
[0078] The calculation module 211 can identify the user request input by the user. After identifying the optimization request of the antenna design parameters, the proxy model 201 and the acquisition function 202 are used to process the input data (corresponding to the M design parameters in the following embodiments) during each iteration, and a set of design parameters (i.e., M design parameters) that meet the iteration termination conditions are returned to the user. The M design parameters are the optimization results.
[0079] Finally, the I / O interface 212 returns the obtained M design parameters to the user device 240 and presents them to the user on the user device 240 .
[0080] On a deeper level, the training device 220 can train models related to specific scenarios based on different data according to different scenario requirements to provide users with better results.
[0081] exist Figure 2 In the case shown in , when performing the first iteration, the user can manually specify a set of design parameters input into the execution device 210, for example, by operating in the interface provided by the I / O interface 212. In another case, the user device 240 can automatically input a set of design parameters for the first iteration into the I / O interface 212. If the user device 240 automatically generates a set of design parameters used in the first iteration and needs to obtain the user's authorization, the user can set the corresponding permissions in the user device 240. The user can view the optimization results output by the execution device 210 on the user device 240, and the specific presentation form can be text or the like. The user device 240 can also serve as a data acquisition terminal to store the corresponding relationship between the collected design parameters and the antenna performance in the database 230 for use in the training process.
[0082] It is worth noting that Figure 2 It is only a schematic diagram of a system architecture provided by an embodiment of the present invention. Figure 2 The positional relationship between the devices, components, modules, etc. shown in the figure does not constitute any limitation. Figure 2 In the embodiment, the data storage system 250 is an external memory relative to the execution device 210. In other cases, the data storage system 250 can also be placed in the execution device 210.
[0083] See also Figure 3 , Figure 3 A structural schematic diagram of a convolutional neural network provided in an embodiment of the present application, which can be used to characterize its internal structure when the proxy model in the present application is a deep learning model.
[0084] Convolutional Neural Network (CNN) is a deep neural network with a convolutional structure and a deep learning architecture. A deep learning architecture refers to multiple levels of learning at different levels of abstraction through machine learning algorithms. As a deep learning architecture, CNN is a feed-forward artificial neural network in which each neuron responds to overlapping areas in the image input to it.
[0085] like Figure 3 As shown, the convolutional neural network (CNN) 100 may include an input layer 110 , a convolutional layer / pooling layer 120 , wherein the pooling layer is optional, and a neural network layer 130 .
[0086] Convolutional Layer:
[0087] like Figure 3 As shown, the convolution layer / pooling layer 120 may include layers 121-126 as shown in the example. In one implementation, layer 121 is a convolution layer, layer 122 is a pooling layer, layer 123 is a convolution layer, layer 124 is a pooling layer, layer 125 is a convolution layer, and layer 126 is a pooling layer; in another implementation, layers 121 and 122 are convolution layers, layer 123 is a pooling layer, layers 124 and 125 are convolution layers, and layer 126 is a pooling layer. That is, the output of a convolution layer can be used as the input of a subsequent pooling layer, or as the input of another convolution layer to continue the convolution operation.
[0088] Taking the convolution layer 121 as an example, the convolution layer 121 may include a plurality of convolution operators, which are also called kernels. Their role in the present application is equivalent to a filter that extracts specific information from the input speech or semantic information. The convolution operator may essentially be a weight matrix, which is usually predefined.
[0089] The weight values in these weight matrices need to be obtained through a lot of training in practical applications. The weight matrices formed by the weight values obtained through training can extract information from the input data (i.e., multiple vectors in each iteration process and the input distribution of each design parameter), thereby helping the convolutional neural network 100 to make correct predictions.
[0090] When the convolutional neural network 100 has multiple convolutional layers, the initial convolutional layer (for example, 121) often extracts more general features, which can also be called low-level features. As the depth of the convolutional neural network 100 increases, the features extracted by the later convolutional layers (for example, 125) become more and more complex, such as high-level semantic features. Features with higher semantics are more suitable for the problem to be solved.
[0091] Pooling layer:
[0092] Since it is often necessary to reduce the number of training parameters, it is often necessary to periodically introduce a pooling layer after the convolution layer, such as Figure 3 The layers 121-126 shown in 120 may be a convolution layer followed by a pooling layer, or multiple convolution layers may be followed by one or more pooling layers.
[0093] Neural Network Layer 130:
[0094] After being processed by the convolution layer / pooling layer 120, the convolution neural network 100 is not sufficient to output the required output information. As mentioned above, the convolution layer / pooling layer 120 only extracts features and reduces the parameters brought by the input data. However, in order to generate the final output information (the required class information or other related information), the convolution neural network 100 needs to use the neural network layer 130 to generate one or a group of outputs of the required number of classes. Therefore, the neural network layer 130 may include multiple hidden layers (such as Figure 3 131, 132 to 13n) and the output layer 140 shown, the parameters contained in the multi-layer hidden layers can be pre-trained according to relevant training data of a specific task type.
[0095] After the multiple hidden layers in the neural network layer 130, that is, the last layer of the entire convolutional neural network 100 is the output layer 140, which has a loss function similar to the classification cross entropy, specifically used to calculate the prediction error. Once the forward propagation of the entire convolutional neural network 100 (such as Figure 3 The propagation from 110 to 140 is forward propagation), and the reverse propagation (such as Figure 3 The propagation from 140 to 110 is called back propagation) and then the weight values and biases of the aforementioned layers will begin to be updated to reduce the loss of the convolutional neural network 100 and the error between the result output by the convolutional neural network 100 through the output layer and the ideal result.
[0096] It should be noted that if Figure 3 The convolutional neural network 100 shown is only an example of a convolutional neural network. In specific applications, the convolutional neural network can also exist in the form of other network models, for example, Figure 4 The multiple convolutional layers / pooling layers shown are operated in parallel, and the features extracted respectively are input to the neural network layer 130 for processing.
[0097] In this scheme, there are Figure 3 and Figure 4 The deep learning model of the structure shown can be the agent model 201 in BO optimization, which is used to generate the predicted value of the objective function and the certainty of the predicted value.
[0098] See also Figure 5 , Figure 5 A schematic diagram of a chip hardware structure provided in an embodiment of the present application. Figure 5 As shown, the neural network processor (Neural-Networks Processing Unit, NPU) 50 is mounted on the host CPU (Host CPU) as a coprocessor, and the host CPU assigns tasks. The core part of the NPU is the operation circuit 503, and the controller 504 controls the operation circuit 503 to extract data from the memory (weight memory or input memory) and perform operations.
[0099] In some implementations, the operation circuit 503 includes a plurality of processing units (Process Engine, PE) therein. In some implementations, the operation circuit 503 is a two-dimensional systolic array. The operation circuit 503 can also be a one-dimensional systolic array or other electronic circuits capable of performing mathematical operations such as multiplication and addition. In some implementations, the operation circuit 503 is a general-purpose matrix processor.
[0100] For example, assume there is an input matrix A, a weight matrix B, and an output matrix C. The operation circuit takes the corresponding data of matrix B from the weight memory 502 and caches it on each PE in the operation circuit. The operation circuit takes the matrix A data from the input memory 501 and performs matrix operation with matrix B, and the partial result or final result of the matrix is stored in the accumulator 508.
[0101] The vector calculation unit 507 can further process the output of the operation circuit, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. For example, the vector calculation unit 507 can be used for network calculations of non-convolutional / non-FC layers in a neural network, such as pooling, batch normalization, local response normalization, etc.
[0102] In some implementations, the vector calculation unit 507 can store the processed output vector to the unified memory 506. For example, the vector calculation unit 507 can apply a nonlinear function to the output of the operation circuit 503, such as a vector of accumulated values, to generate an activation value. In some implementations, the vector calculation unit 507 generates a normalized value, a merged value, or both. In some implementations, the processed output vector can be used as an activation input to the operation circuit 503, such as for use in a subsequent layer in a neural network.
[0103] The unified memory 506 is used to store input data and output data.
[0104] The storage unit access controller 505 (Direct Memory Access Controller, DMAC) moves the input data in the external memory to the input memory 501 and / or the unified memory 506, stores the weight data in the external memory into the weight memory 502, and stores the data in the unified memory 506 into the external memory.
[0105] The bus interface unit (BIU) 510 is used to implement the interaction between the main CPU, DMAC and instruction fetch memory 509 through the bus.
[0106] An instruction fetch buffer 509 connected to the controller 504 is used to store instructions used by the controller 504 .
[0107] The controller 504 is used to call the instructions cached in the instruction fetch memory 509 to control the working process of the computing accelerator.
[0108] Generally, the unified memory 506, the input memory 501, the weight memory 502 and the instruction fetch memory 509 are all on-chip memories, and the external memory is a memory outside the NPU, which can be a double data rate synchronous dynamic random access memory (Double Data Rate Synchronous Dynamic Random Access Memory, abbreviated as DDR SDRAM), a high bandwidth memory (High Bandwidth Memory, HBM) or other readable and writable memory.
[0109] See also Figure 6 , Figure 6 A flowchart of an antenna design method provided in an embodiment of the present application. The antenna design method iterates through Bayesian optimization BO to select design parameters that enable product performance to reach a preset target. The BO process selects the design parameters of the antenna through multiple iterations, wherein the process of the i-th iteration includes the following steps:
[0110] Step S610: Obtain multiple vectors based on the optimization space, each of the multiple vectors contains M elements, and the M elements are respectively used to characterize M design parameters of the antenna, and the optimization space is used to describe the value range of each of the M design parameters, and M and i are positive integers.
[0111] The shape parameters may further include one or more parameters such as the length and width of each branch on the antenna and the angle between any two branches.
[0112] Each of the M design parameters corresponds to a value range, and the optimization space includes the value range of each design parameter. The values of the M design parameters included in each vector of the multiple vectors are all within the corresponding value range.
[0113] In any two iterations of the multiple iterations, the number of the multiple vectors obtained from the optimization space may be the same or different.
[0114] If the number of the above-mentioned multiple vectors is i, then the i vectors can be equivalent to a matrix with M rows and i columns.
[0115] In the following embodiments, the number of the multiple vectors is described by taking i as an example.
[0116] Step S620: Obtain the input distribution of the M design parameters, and input the input distribution of the M design parameters and the multiple vectors into the proxy model of the Bayesian optimization BO to obtain multiple groups of predicted values of the performance parameters of the antenna and multiple degrees of certainty corresponding to the multiple groups of predicted values; wherein the multiple groups of predicted values correspond to the multiple vectors, respectively, and the multiple degrees of certainty are respectively used to describe the credibility of the multiple groups of predicted values, and the processing process of the proxy model includes calculating the covariance of any two vectors among the multiple vectors, and the covariance between the any two vectors is calculated by sampling the input distribution. The sample set obtained.
[0117] Specifically, the above-mentioned multiple groups of prediction values are calculated by inputting the covariance matrix (when the number of multiple vectors is i, the dimension of the covariance matrix is i*i) into a Gaussian Process (GP) regression model, and the elements in the covariance matrix are the covariances between two vectors among the i vectors.
[0118] The input distribution of the above-mentioned M design parameters can be obtained by statistically analyzing historical production data. Specifically, the specific values corresponding to the above-mentioned various design parameters after actual production are statistically analyzed through the antenna products produced on the production line.
[0119] Furthermore, the input distribution of the above-mentioned various design parameters can be characterized by a form that does not have a definite distribution law, such as probability distribution, or a form that has a definite distribution law, such as Gaussian distribution.
[0120] The probability distribution can be further characterized by a probability density function (as shown in formula (1)) or a probability model (as shown in formula (2)).
[0121]
[0122]
[0123] Where x represents the design parameter; and GMM represent the distribution range of the design parameters.
[0124] In this application, the above-mentioned proxy model is used to model the relationship between the design parameters (i.e., the input i vectors) and the predicted values of the output of the objective function (i.e., the performance parameters). That is, the output of the proxy model includes the predicted values of the performance parameters, and also includes the degree of certainty of the predicted values.
[0125] The objective function is used to characterize the relationship between the design parameters and the performance parameters of the antenna. The input of the objective function is the design parameters of the antenna, and the output is the performance parameters of the antenna.
[0126] The above performance parameters include one or more of the scattering parameters, radiation pattern, and side lobe width of the antenna.
[0127] The above-mentioned certainty is used to describe the credibility of the predicted value output by the proxy model. For example, the range of certainty for each performance parameter may be [0, 1]. The closer the certainty is to 1, the higher the credibility of the performance parameter output by the proxy model. The closer the certainty is to 0, the lower the credibility of the performance parameter output by the proxy model.
[0128] The calculation process of the predicted values of the above performance parameters will be described in detail below:
[0129] After the proxy model receives the input i vectors and the input distribution of the design parameters, the covariance matrix i*i is first calculated. The covariance matrix i*i is then input into the GP regression model to calculate the predicted values of the above performance parameters. The process of calculating the predicted values using the GP regression model is not specifically expanded in this application.
[0130] The specific process of calculating the covariance matrix i*i using the input data is as follows:
[0131] Each element in the covariance matrix i*i is the covariance of two vectors in the i vectors, including the covariance of the same vector itself. Specifically, taking the fourth vector in the i vectors (any one of the i vectors) as an example, the covariance matrix i*i contains the i covariances calculated by the fourth vector and the i vectors respectively.
[0132] The specific calculation process of the covariance matrix i*i is shown in formula (3):
[0133]
[0134] Among them, c(i) represents the i-th vector among the above i vectors, and * represents the covariance of two vectors.
[0135] The covariance of any two vectors in the above formula (3) is calculated by sampling the two vectors and the input distribution of the design parameters to obtain a sample set. By calculating the above vector covariance on the sample set obtained by sampling, the Bayesian optimization method of the present application can be applied to the optimization of design parameters of any input distribution type, that is, it is not restricted by the input distribution type of the design parameters and has good adaptability.
[0136] The following describes the calculation process of the covariance by taking the second vector and the third vector among the above i vectors as an example, wherein the second vector and the third vector are any two vectors among the i vectors.
[0137] First, sampling is performed based on the second vector and the input distribution of the M design parameters to obtain a first sample set containing m vectors, and sampling is performed based on the third vector and the input distribution of the M design parameters to obtain a second sample set containing m vectors. Each vector in the first sample set and the second sample set contains M elements, and the M elements respectively represent the aforementioned M design parameters.
[0138] Specifically, the process of sampling to obtain the first sample set is described by taking the second vector as an example: the second vector contains M elements, each of which represents a design parameter. Taking the first design parameter (for example, with coordinates (0.3, 0.4)) among the M elements as an example, the m first design parameters respectively contained in the m vectors in the first sample set are obtained by sampling in the range represented by the distribution center ((0.3, 0.4)) and the input distribution of the first design parameter.
[0139] Similarly, the second sample set can be obtained by sampling in the same way.
[0140] Based on the above sampling process, the covariance between the second vector and the third vector is obtained by inputting the first sample set and the second sample set into the maximum mean difference MMD kernel function for processing.
[0141] The above process of obtaining the covariance between the second vector and the third vector by processing the first sample set and the second sample set can be Figure 7 The flowchart is shown in the figure. Figure 7 As shown, sampling is performed based on the input distribution of the second vector and M design parameters to obtain a first sample set containing m vectors, and sampling is performed based on the input distribution of the third vector and M design parameters to obtain a second sample set containing m vectors. Then the first sample set and the second sample set are input into the MMD kernel function to obtain the covariance between the second vector and the third vector.
[0142] The following will be combined Figure 8 The specific process of obtaining the covariance between the second vector and the third vector by processing the first sample set and the second sample set through the MMD kernel function is described. The Nystrom acceleration method used in this process can effectively reduce the spatial complexity of the calculation, accelerate the reasoning process of the proxy model, and thus improve the speed of the antenna optimization process.
[0143] The processing process of the MMD kernel function on the first sample set and the second sample set includes adding the first matrix to the second matrix and subtracting twice the third matrix.
[0144] Wherein, the first matrix is obtained by multiplying the fourth matrix, the transposed matrix of the fourth matrix, and the pseudo-inverse matrix of the fourth matrix, and the fourth matrix is obtained by processing the h vectors in the first sample set through the MMD kernel function. The second matrix is obtained by multiplying the fifth matrix, the transposed matrix of the fifth matrix, and the pseudo-inverse matrix of the fifth matrix, and the fifth matrix is obtained by processing the h vectors in the second sample set through the MMD kernel function. The third matrix is obtained by multiplying the sixth matrix, the transposed matrix of the sixth matrix, and the pseudo-inverse matrix of the sixth matrix, and the sixth matrix is obtained by processing the h samples in the first sample set and the h vectors in the second sample set through the MMD kernel function. Wherein, h is a positive integer less than m.
[0145] Specifically, Figure 8 As shown, first, h vectors are selected from the first sample set as the first sample subset, and h vectors are selected from the second sample set as the second sample subset. Then, the h vectors in the first sample subset are processed by the MMD kernel function to obtain a fourth matrix, and then the transposed matrix of the fourth matrix and the pseudo-inverse matrix of the fourth matrix are calculated based on the fourth matrix, and then the first matrix is obtained by multiplying the fourth matrix, the transposed matrix of the fourth matrix and the pseudo-inverse matrix of the fourth matrix.
[0146] Similarly, the second sample subset is processed using the MMD kernel function through the same calculation process to obtain a fifth matrix, a transposed matrix of the fifth matrix, a pseudo-inverse matrix of the fifth matrix, and the second matrix.
[0147] The first sample subset and the second sample subset are processed simultaneously by the MMD kernel function to obtain a sixth matrix, a transposed matrix of the sixth matrix, a pseudo-inverse matrix of the sixth matrix, and a third matrix. Finally, the first matrix and the second matrix are added, and 2 times the third matrix is subtracted to obtain the covariance between the second vector and the third vector.
[0148] The specific calculation processes of the fourth matrix, the fifth matrix and the sixth matrix can be expressed by formulas (4), (5) and (6) respectively:
[0149]
[0150]
[0151]
[0152] Among them, the number of vectors in the first sample set and the second sample set is m; x is a vector in the first sample set, y is a vector in the second sample set; MMD kernel is the MMD kernel function; subscripts 1, h, and m represent the number of each vector in the sample set or sample subset.
[0153] Optionally, the first matrix can be calculated by the following formula (7):
[0154] O=UU + U T (7)
[0155] Among them, O is the first matrix, U is the fourth matrix, and U T is the transposed matrix of the fourth matrix, U + is the pseudo-inverse matrix of the fourth matrix.
[0156] Similarly, the second matrix and the third matrix can also be calculated based on similar calculation rules, which will not be described in detail here.
[0157] Optionally, the process of calculating the covariance between the second vector and the third vector using the first matrix, the second matrix and the third matrix can be expressed by formula (8):
[0158]
[0159] Among them, Cov(x,y) is the covariance between the second vector and the third vector, U, V, and W represent the fourth matrix, the fifth matrix, and the sixth matrix respectively. For XX, 1 n XX, where x and y are vectors in the first sample set and the second sample set respectively.
[0160] Optionally, formulas (9), (10) and (11) are examples of three characteristic kernel functions provided in the embodiments of the present application, which do not constitute a limitation on the kernel function used in the technical solution of the present application. The output of the three characteristic kernel functions is an element in the covariance matrix i*i, that is, the covariance of any two vectors, and the input is the vectors in the first sample set and the second sample set.
[0161]
[0162]
[0163]
[0164] Here, K is the covariance between the two vectors. It is the output result of MMD kernel function calculation. are the input distributions of the two design parameters in the two vectors of the first sample set and the second sample set respectively. l is the length scale, which is a parameter of the GP regression model and is used to control the adaptability of the GP regression model to the data. α i is the signal variance, which is also a parameter of the GP regression model, and determines the average distance between the model's predicted value and its mean value. x and y are vectors in the first sample set and the second sample set, respectively. are the MMD kernel functions contained in the three formulas, respectively, and are used to calculate the covariance between any two vectors in the first sample set and the second sample set.
[0165] After the predicted value and the degree of certainty of the predicted value are obtained through the i-th iteration process, the following step S630 is performed.
[0166] Step S630: Process the multiple groups of prediction values and the multiple degrees of certainty based on the acquisition function of the BO to determine a first vector from the multiple vectors, wherein the output of the acquisition function corresponding to the first vector is the largest; and input the first vector into the objective function to obtain a set of performance parameters of the antenna.
[0167] Specifically, first, the multiple groups of prediction values and the multiple degrees of certainty are respectively input into the acquisition function of the BO to obtain multiple acquisition values; the multiple acquisition values correspond to the multiple groups of prediction values respectively, and the multiple acquisition values include a first acquisition value with the largest value, and a group of prediction values corresponding to the first acquisition value corresponds to the first vector among the multiple vectors.
[0168] Among them, the acquisition function in BO is a function defined on the basis of the inference result of the proxy model, which is used to balance the random exploration and the utilization of the proxy model when selecting the next query point. That is, the acquisition function can choose to believe in the uncertainty of the proxy model or conduct random exploration to determine the next query point (that is, the first vector mentioned above). In the above process, an optimizer is usually used to find the input value that maximizes the acquisition function, and this is used as the next query point. This application does not expand on the specific processing process of the acquisition function.
[0169] Then, the first vector is input into the objective function to obtain a set of performance parameters of the antenna.
[0170] The objective function is used to characterize the relationship between the design parameters and performance parameters of the antenna. The input of the objective function is the design parameters of the antenna, and the output is the performance parameters of the antenna.
[0171] Step S640: When a set of performance parameters of the antenna meets a preset condition or i is equal to a preset number, the M types of design parameters included in the first vector are determined as design parameters of the antenna.
[0172] The preset condition includes a set of reference performance parameters of the antenna. When the difference between the set of performance parameters of the antenna and the set of reference performance parameters is less than a preset threshold, the set of performance parameters of the antenna meets the preset condition. The above iteration process ends at this time.
[0173] Specifically, the set of performance parameters of the antenna includes one or more performance parameters. The difference between the set of performance parameters of the antenna and a set of reference performance parameters can be: subtract the values of the same type of performance parameters in the set of performance parameters of the antenna and the reference performance parameters and take the absolute value, and then take the average or sum of the differences of various performance parameters as the difference between the set of performance parameters of the antenna and a set of reference performance parameters. The present application may also use other methods to calculate the above differences, which are not limited here.
[0174] Optionally, the above method also includes: when a set of performance parameters of the antenna does not meet the preset conditions and i is not equal to the preset number of times, adding the first vector and a set of performance parameters of the antenna as a training data to the data set used to train the proxy model, and starting the next iteration.
[0175] Specifically, when a set of predicted values output by the proxy model does not meet the above preset conditions and i is not equal to the preset number of times, a new training data is generated and the next iteration process is performed according to the above steps.
[0176] Optionally, the method further includes: before acquiring the multiple vectors from the optimization space, training the proxy model using the data set of the proxy model.
[0177] Since each iteration process generates new training data and updates the dataset for training the proxy model, training the proxy model with the updated dataset before each inference can train a more accurate proxy model, improve the accuracy of the proxy model, and then select design parameters that better meet the requirements, thereby improving the qualification rate of manufactured antenna products.
[0178] The M design parameters include one or more of the thickness, material dielectric constant and shape parameters of the antenna.
[0179] The above performance parameters include one or more of the scattering parameters, radiation pattern, and side lobe width of the antenna.
[0180] See also Fig. 9 , Fig. 9 A flow chart of an antenna design method provided in an embodiment of the present application.
[0181] like Fig. 9 As shown, in each iteration process, one or more vectors containing design parameters and the input distribution of each design parameter are input into the proxy model of the BO module, and the proxy model performs inference to obtain multiple groups of predicted values of the antenna's performance parameters and multiple degrees of certainty corresponding to the multiple groups of predicted values. Then, by obtaining the result of the function based on the proxy model, the first vector with the largest value is determined from the one or more vectors. The first vector is input into the objective function to obtain a corresponding set of performance parameters for the antenna. Next, it is determined whether the iteration termination condition is met: that is, whether the set of performance parameters of the antenna meets the preset conditions or whether the number of iterations meets the preset number. If the judgment result is yes, the M design parameters contained in the first vector are used as the design parameters of the antenna; otherwise, the first vector and the set of performance parameters of the antenna are used as a training data (i.e. Fig. 9 The new observation points in the dataset are added to the dataset for training the proxy model, and the next iteration process is started.
[0182] Specifically, Fig. 9 The specific execution process of each step can be found in the corresponding description in the above embodiment, which will not be repeated here.
[0183] in, Fig. 9 The BO module in can be deployed in Figure 1 The application layer 110 in the architecture.
[0184] See also Fig.10 , Fig.10 A code example of BO in an antenna design method provided in an embodiment of the present application.
[0185] like Fig.10 As shown, Algorithm 1 is a robust Bayesian optimization RobustBO algorithm provided in an embodiment of the present application, which can adapt to any input distribution.
[0186] The input of the algorithm includes: the number of initial design parameters Initial Sample Number, query budget, input distribution of design parameters Input Uncertainty Model, standard deviation of measurement error Measurement Noise Std, sample size Sampling Size, and sample subset size Sub-SamplingSize.
[0187] The output of the algorithm includes: optimization results, that is, determined design parameters.
[0188] Among them, the first line of code indicates the selection of antenna design parameters that need to be optimized and their evaluation (i.e., the function value of the objective function). The second line of code indicates that by randomly selecting multiple design vectors, calling the objective function, and querying the corresponding objective function value, it is used to initialize the training data set. Lines 3-9 of code indicate the iterative process: sampling the input distribution of each design parameter, establishing a proxy model, training the proxy model and accelerating model reasoning, optimizing the design parameters based on the output of the proxy model, obtaining new observation points and updating them to the data set. The tenth line of code indicates the end of the iterative process. The eleventh line of code indicates the output of the above optimization results.
[0189] Specifically, the specific process of each step in Algorithm 1 can refer to the corresponding description in the aforementioned embodiment, which will not be repeated here.
[0190] See also Fig.11 , Fig.11 A code example for accelerating the reasoning speed of a proxy model provided in an embodiment of the present application.
[0191] like Fig.11 As shown, the algorithm (i.e. Fig.11 Algorithm 3).
[0192] The input of the algorithm is: Input Uncertainty Model of the design parameters, Data X, the data set used to train the proxy model, Sampling Size, and Sub-Sampling Size.
[0193] The output of this algorithm is: covariance matrix ACovariance Matrix (that is, the aforementioned covariance matrix i*i).
[0194] The first 4 lines of code represent sampling from the output distribution of each design parameter to obtain a sample set and a sample subset. The fifth 5th 8th lines of code represent calculating each element in the covariance matrix in turn.
[0195] Specifically, the specific calculation process of Algorithm 3 can be found in the corresponding description in the aforementioned method embodiment, which will not be repeated here.
[0196] Please refer to Table 1, which shows the comparison of the model reasoning speed between the BO method and the empirical method in the embodiment of the present application.
[0197] As shown in Table 1, when the sample set size is 100, the reasoning time of the proxy model in the empirical method is about 8.117 seconds, while the reasoning speed of the proxy model in the BO method of this application is only about 0.780 seconds. When the sample set size is 1000, the reasoning time of the proxy model in the empirical method is about 840.715 seconds, while the reasoning speed of the proxy model in the BO method of this application is only about 21.473 seconds. It can be seen that the method of this application can greatly improve the speed of the reasoning model, and thus quickly obtain the optimization results of the antenna design parameters.
[0198] Table 1: Comparison of model inference speed between the Bo method in this application and traditional optimization methods
[0199]
[0200] In addition to being applied in the aforementioned antenna design parameter optimization embodiments, the BO method in this application can also be applied in other scenarios:
[0201] For example: Network parameter optimization scenario
[0202] The process of determining network parameters using the BO method in this scenario is similar to the antenna design method in the aforementioned embodiment, that is, it needs to be obtained through multiple iterations, but the input and output of the proxy model are different. In this scenario, the parameters to be optimized include the antenna transmission power, electronic downtilt angle, azimuth angle, beam model, and base station parameters such as the same / different frequency switching parameters of the base station, that is, in this scenario, multiple vectors are input in the i-th iteration process, and each vector of these multiple vectors contains G base station parameters, and these G network parameters include one or more of the aforementioned base station parameters, and G is a positive integer.
[0203] During the i-th iteration, the above-mentioned multiple vectors and the input distribution of each network parameter are input into the proxy model of BO to obtain multiple groups of predicted values of network performance and multiple degrees of certainty corresponding to the multiple groups of predicted values. Then, by obtaining the result of the function based on the output of the proxy model, a vector with the largest value is determined from the above-mentioned multiple vectors, and the vector is input into the objective function to obtain a corresponding set of objective function values. Next, it is determined whether the iteration termination condition is met: that is, whether the above-mentioned set of objective function values meets the preset conditions or whether the number of iterations meets the preset number. If the judgment result is yes, the G base station parameters contained in the vector are determined as the network parameters to be configured, otherwise, the vector and a set of objective function values are added as a training data to the data set used to train the proxy model, and the next iteration process is started.
[0204] The input distribution of base station parameters can be obtained through business knowledge analysis or based on historical data statistics.
[0205] Among them, network performance parameters include user downlink peak / average rate, signal interference intensity, user balance degree, network resource utilization, etc.
[0206] Specifically, the specific iterative calculation process of the BO method in this scenario can be found in the aforementioned Figure 3-Figure 11 The description in the method embodiment will not be repeated here.
[0207] See also Fig.12 , Fig.12 This is a schematic diagram of the structure of an antenna design device provided in an embodiment of the present application. Fig.11 As shown, the device includes an acquisition unit 1210, a processing unit 1220 and a determination unit 1230. The device determines the design parameters of the antenna through multiple iterations.
[0208] The acquisition unit 1210 is used to obtain multiple vectors based on the optimization space during the i-th iteration process, each of the multiple vectors contains M elements, and the M elements are respectively used to characterize M design parameters of the antenna, and the optimization space is used to describe the value range of each of the M design parameters, M and i are positive integers; and to obtain the input distribution of the M design parameters. The processing unit 1220 is used to obtain the input distribution of the M design parameters, and input the input distribution of the M design parameters and the multiple vectors into the proxy model of the Bayesian optimization BO to obtain multiple groups of predicted values of the performance parameters of the antenna and multiple degrees of certainty corresponding to the multiple groups of predicted values; wherein the multiple groups of predicted values correspond to the multiple vectors respectively, and the multiple degrees of certainty are used to describe the credibility of the multiple groups of predicted values respectively, and the processing process of the proxy model includes calculating the covariance of any two vectors in the multiple vectors, and the covariance between the any two vectors is calculated by the sample set obtained by sampling the input distribution; and based on the acquisition function of the BO, the multiple groups of predicted values and the multiple degrees of certainty are processed to determine a first vector from the multiple vectors, and the output of the acquisition function corresponding to the first vector is the largest; the first vector is input into the objective function to obtain a set of performance parameters of the antenna. The determination unit 1230 is used to determine the M design parameters contained in the first vector as the design parameters of the antenna when a set of performance parameters of the antenna meets the preset conditions or i is equal to the preset number of times.
[0209] In a feasible implementation, the preset condition includes a set of reference performance parameters of the antenna. When the difference between the set of performance parameters of the antenna and the set of reference performance parameters is less than a preset threshold, the set of performance parameters of the antenna meets the preset condition.
[0210] In a feasible implementation, the processing unit is also used to: when a set of performance parameters of the antenna do not meet the preset conditions and i is not equal to the preset number of times, add the first vector and a set of performance parameters of the antenna as a training data to the data set used to train the proxy model, and start the next iteration.
[0211] In a feasible implementation, the multiple vectors include a second vector and a third vector, and the covariance between the second vector and the third vector is obtained by inputting the first sample set and the second sample set into the maximum mean difference MMD kernel function for processing; wherein the m vectors included in the first sample set are obtained based on the second vector and the input distribution sampling, and the m vectors included in the second sample set are obtained based on the third vector and the input distribution sampling, and each vector in the first sample set and the second sample set contains M elements, and the M elements respectively represent the M design parameters.
[0212] In a feasible implementation, the processing process of the MMD kernel function on the first sample set and the second sample set includes adding the first matrix to the second matrix and subtracting twice the third matrix; the first matrix is obtained by multiplying the fourth matrix, the transposed matrix of the fourth matrix, and the pseudo-inverse matrix of the fourth matrix, and the fourth matrix is obtained by processing h vectors in the first sample set by the MMD kernel function, where h is a positive integer less than m; the second matrix is obtained by multiplying the fifth matrix, the transposed matrix of the fifth matrix, and the pseudo-inverse matrix of the fifth matrix, and the fifth matrix is obtained by processing the h vectors in the second sample set by the MMD kernel function; the third matrix is obtained by multiplying the sixth matrix, the transposed matrix of the sixth matrix, and the pseudo-inverse matrix of the sixth matrix, and the sixth matrix is obtained by processing the h vectors in the first sample set and the h vectors in the second sample set by the MMD kernel function.
[0213] In a feasible implementation manner, the processing unit is further used for: before acquiring the multiple vectors from the optimization space, training the proxy model using the data set of the proxy model.
[0214] In a feasible implementation manner, the input distribution is obtained by statistically analyzing production data, and the input distribution of each design parameter is characterized by probability distribution or Gaussian distribution.
[0215] In a feasible implementation, the M design parameters include one or more of the thickness, material dielectric constant and shape parameters of the antenna; the performance parameters include one or more of the scattering parameters, radiation pattern, and side lobe width of the antenna.
[0216] Specifically, the specific execution process of each unit in the above-mentioned antenna design device can be found in the description of the above-mentioned method embodiment, which will not be repeated here.
[0217] See also Fig.13 , Fig.13A schematic diagram of a computer device provided in an embodiment of the present application can be used as Fig.12 Specific implementation of the antenna design device or Figure 1 Examples of hardware structures in computer equipment. Fig.13 As shown, the computer device includes a processor 1301, a memory 1302 and an interface circuit 1303, which communicate with each other through a bus 1304. The computer device can be used to execute the above antenna design method. In the i-th iteration process of the above method:
[0218] Processor 1301 is used to obtain multiple vectors based on the optimization space during the i-th iteration process, each of the multiple vectors contains M elements, and the M elements are respectively used to characterize M design parameters of the antenna, and the optimization space is used to describe the value range of each of the M design parameters, M and i are positive integers; and obtain the input distribution of the M design parameters. The processor 1301 is also used to obtain the input distribution of the M design parameters, and input the input distribution of the M design parameters and the multiple vectors into the proxy model of the Bayesian optimization BO to obtain multiple groups of predicted values of the performance parameters of the antenna and multiple degrees of certainty corresponding to the multiple groups of predicted values; wherein the multiple groups of predicted values correspond to the multiple vectors respectively, and the multiple degrees of certainty are used to describe the credibility of the multiple groups of predicted values respectively, and the processing process of the proxy model includes calculating the covariance of any two vectors in the multiple vectors, and the covariance between the any two vectors is calculated by the sample set obtained by sampling the input distribution; and based on the acquisition function of the BO, the multiple groups of predicted values and the multiple degrees of certainty are processed to determine a first vector from the multiple vectors, and the output of the acquisition function corresponding to the first vector is the largest; the first vector is input into the objective function to obtain a set of performance parameters of the antenna. The processor 1301 is also used to determine the M design parameters contained in the first vector as the design parameters of the antenna when a set of performance parameters of the antenna meets the preset conditions or i is equal to the preset number of times.
[0219] The memory 1302 is also used to store the above-mentioned multiple vectors, antenna design parameters, input distribution of design parameters and data sets for training agent models. When the above-mentioned data sets exceed a certain size, they can be stored on other computer devices. At this time, the computer device communicates with other computer devices storing the data sets through the interface circuit 1303.
[0220] Specifically, the specific process of the above-mentioned computer device executing the antenna design method can be found in the description of the above-mentioned embodiment, which will not be repeated here.
[0221] An embodiment of the present application provides a chip system, which includes at least one processor, a memory and an interface circuit, wherein the memory, the interface circuit and the at least one processor are interconnected via lines, and instructions are stored in the at least one memory; when the instructions are executed by the processor, part or all of the steps of any one of the above-mentioned antenna design method embodiments are implemented.
[0222] An embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed, part or all of the steps of any one of the above antenna design method embodiments are implemented.
[0223] An embodiment of the present application provides a computer program product, which includes instructions. When the instructions are executed by a processor, some or all of the steps of any one of the above antenna design method embodiments are implemented.
[0224] In the above embodiments, the description of each embodiment has its own emphasis. For the parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments. It should be noted that for the aforementioned method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited to the described order of actions, because according to this application, some steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.
[0225] In the several embodiments provided in the present application, it should be understood that the disclosed device can be implemented in other ways. For example, the device embodiments described above are only schematic, such as the division of the above-mentioned units, which is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.
[0226] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0227] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. An antenna design method, characterized in that: The method comprises: The design parameters of the antenna are determined through multiple iterations; wherein the i-th iteration process is: Based on obtaining multiple vectors in the optimization space, each of the multiple vectors includes M elements, and the M elements are respectively used to characterize M design parameters of the antenna, and the optimization space is used to describe the value range of each design parameter in the M design parameters, and M and i are positive integers; Obtain the input distribution of the M design parameters, and input the input distribution of the M design parameters and the multiple vectors into the proxy model of the Bayesian optimization BO, to obtain multiple groups of predicted values of the performance parameters of the antenna and multiple degrees of certainty corresponding to the multiple groups of predicted values; wherein the multiple groups of predicted values correspond to the multiple vectors respectively, and the multiple degrees of certainty are respectively used to describe the credibility of the multiple groups of predicted values, and the processing process of the proxy model includes calculating the covariance of any two vectors in the multiple vectors, and the covariance between the any two vectors is calculated by sampling the input distribution. Processing the multiple groups of predicted values and the multiple degrees of certainty based on the acquisition function of the BO to determine a first vector from the multiple vectors, the output of the acquisition function corresponding to the first vector being the largest; and inputting the first vector into an objective function to obtain a set of performance parameters of the antenna; When a set of performance parameters of the antenna meets a preset condition or i is equal to a preset number, the M types of design parameters included in the first vector are determined as the design parameters of the antenna.
2. The method according to claim 1, characterized in that The preset condition includes a set of reference performance parameters of the antenna. When the difference between the set of performance parameters of the antenna and the set of reference performance parameters is less than a preset threshold, the set of performance parameters of the antenna meets the preset condition.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: When a set of performance parameters of the antenna does not meet the preset condition and i is not equal to the preset number of times, the first vector and a set of performance parameters of the antenna are added as a training data to the data set used to train the proxy model, and the next iteration is started.
4. The method according to any one of claims 1 to 3, characterized in that The multiple vectors include a second vector and a third vector, and the covariance between the second vector and the third vector is obtained by inputting the first sample set and the second sample set into a maximum mean difference (MMD) kernel function for processing; Among them, the m vectors contained in the first sample set are obtained based on the second vector and the input distribution sampling, the m vectors contained in the second sample set are obtained based on the third vector and the input distribution sampling, and each vector in the first sample set and the second sample set contains M elements, and the M elements respectively represent the M design parameters.
5. The method according to claim 4, characterized in that The processing process of the MMD kernel function on the first sample set and the second sample set includes adding the first matrix to the second matrix and subtracting 2 times of the third matrix; The first matrix is obtained by multiplying a fourth matrix, a transposed matrix of the fourth matrix, and a pseudo-inverse matrix of the fourth matrix, and the fourth matrix is obtained by processing h vectors in the first sample set by the MMD kernel function, where h is a positive integer less than m; The second matrix is obtained by multiplying a fifth matrix, a transposed matrix of the fifth matrix, and a pseudo-inverse matrix of the fifth matrix, and the fifth matrix is obtained by processing h vectors in the second sample set by the MMD kernel function; The third matrix is obtained by multiplying the sixth matrix, the transposed matrix of the sixth matrix, and the pseudo-inverse matrix of the sixth matrix, and the sixth matrix is obtained by processing the h vectors in the first sample set and the h vectors in the second sample set by the MMD kernel function.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: Before acquiring a plurality of vectors from the optimization space, the proxy model is trained using the data set of the proxy model.
7. The method according to any one of claims 1 to 6, characterized in that The input distribution is obtained by statistics of production data, and the input distribution of each design parameter is characterized by probability distribution or Gaussian distribution.
8. The method according to any one of claims 1 to 7, characterized in that The M design parameters include one or more of the thickness, material dielectric constant and shape parameter of the antenna; The performance parameters include one or more of the scattering parameters, radiation pattern, and side lobe width of the antenna.
9. An antenna design device, characterized in that: The device determines the design parameters of the antenna through multiple iterations, and the device includes: An acquisition unit is used to acquire multiple vectors based on the optimization space in the i-th iteration process, each of the multiple vectors includes M elements, and the M elements are respectively used to characterize M design parameters of the antenna, and the optimization space is used to describe the value range of each design parameter in the M design parameters, and M and i are positive integers; and obtain the input distribution of the M design parameters; A processing unit, used for obtaining the input distribution of the M design parameters, and inputting the input distribution of the M design parameters and the multiple vectors into a proxy model of a Bayesian optimization BO, to obtain multiple groups of predicted values of the performance parameters of the antenna and multiple degrees of certainty corresponding to the multiple groups of predicted values; wherein the multiple groups of predicted values correspond to the multiple vectors respectively, and the multiple degrees of certainty are respectively used to describe the credibility of the multiple groups of predicted values, and the processing process of the proxy model includes calculating the covariance of any two vectors among the multiple vectors, and the covariance between the any two vectors is calculated by a sample set obtained by sampling the input distribution; and processing the multiple groups of predicted values and the multiple degrees of certainty based on an acquisition function of the BO to determine a first vector from the multiple vectors, and the output of the acquisition function corresponding to the first vector is the largest; inputting the first vector into an objective function to obtain a set of performance parameters of the antenna; A determination unit is used to determine the M design parameters included in the first vector as the design parameters of the antenna when a set of performance parameters of the antenna meets a preset condition or i is equal to a preset number of times.
10. The device according to claim 9, characterized in that The preset condition includes a set of reference performance parameters of the antenna. When the difference between the set of performance parameters of the antenna and the set of reference performance parameters is less than a preset threshold, the set of performance parameters of the antenna meets the preset condition.
11. The device according to claim 9 or 10, characterized in that The processing unit is also used for: When a set of performance parameters of the antenna does not meet the preset condition and i is not equal to the preset number of times, the first vector and a set of performance parameters of the antenna are added as a training data to the data set used to train the proxy model, and the next iteration is started.
12. The device according to any one of claims 9 to 11, characterized in that The multiple vectors include a second vector and a third vector, and the covariance between the second vector and the third vector is obtained by inputting the first sample set and the second sample set into a maximum mean difference (MMD) kernel function for processing; Among them, the m vectors contained in the first sample set are obtained based on the second vector and the input distribution sampling, the m vectors contained in the second sample set are obtained based on the third vector and the input distribution sampling, and each vector in the first sample set and the second sample set contains M elements, and the M elements respectively represent the M design parameters.
13. The device according to claim 12, characterized in that The processing process of the MMD kernel function on the first sample set and the second sample set includes adding the first matrix to the second matrix and subtracting 2 times of the third matrix; The first matrix is obtained by multiplying a fourth matrix, a transposed matrix of the fourth matrix, and a pseudo-inverse matrix of the fourth matrix, and the fourth matrix is obtained by processing h vectors in the first sample set by the MMD kernel function, where h is a positive integer less than m; The second matrix is obtained by multiplying a fifth matrix, a transposed matrix of the fifth matrix, and a pseudo-inverse matrix of the fifth matrix, and the fifth matrix is obtained by processing h vectors in the second sample set by the MMD kernel function; The third matrix is obtained by multiplying the sixth matrix, the transposed matrix of the sixth matrix, and the pseudo-inverse matrix of the sixth matrix, and the sixth matrix is obtained by processing the h vectors in the first sample set and the h vectors in the second sample set by the MMD kernel function.
14. The device according to any one of claims 9 to 13, characterized in that The processing unit is also used for: Before acquiring a plurality of vectors from the optimization space, the proxy model is trained using the data set of the proxy model.
15. The device according to claim 14, characterized in that The input distribution is obtained by statistics of production data, and the input distribution of each design parameter is characterized by probability distribution or Gaussian distribution.
16. The device according to any one of claims 9 to 15, characterized in that The M design parameters include one or more of the thickness, material dielectric constant and shape parameter of the antenna; The performance parameters include one or more of the scattering parameters, radiation pattern, and side lobe width of the antenna.
17. A computer device, characterized in that: The computer device includes at least one processor, a memory and an interface circuit, the memory, the interface circuit and the at least one processor are interconnected via lines, and instructions are stored in the at least one memory; when the instructions are executed by the processor, any method described in claims 1-8 is implemented.
18. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed, the method according to any one of claims 1 to 8 is implemented.
19. A computer program product, characterized in that The computer program product comprises instructions, and when the instructions are executed, the method according to any one of claims 1 to 8 is implemented.
Citation Information
Cited By
Antenna design method and apparatus
EP4738179A1
Antenna design method and apparatus
WO2025025659A1