Parameter optimization and service method, device and storage medium thereof

By combining the dynamic change information of resources in the resource pool, an improved population evolution method is used to adapt and iterate the parameter combination of the algorithm module, which solves the problem of excessive resource occupation and improves the efficiency of algorithm parameter optimization and the flexibility of resource scheduling.

CN114970859BActive Publication Date: 2025-10-03TAOBAO CHINA SOFTWARE
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110214035.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-25
Publication Date
2025-10-03
Estimated Expiration
2041-02-25

AI Technical Summary

Technical Problem

Existing parameter optimization methods based on population evolution occupy too many resources in resource pooling scenarios, affecting the flexibility of resource scheduling.

Method used

Combined with the dynamic change information of resources in the resource pool, an improved population evolution method is used to perform population iteration on the parameter combination of the algorithm module to adapt to the resources, including population initialization, iteration, model evaluation and new population generation to adapt to the dynamic changes of resources.

Benefits of technology

It achieves automated optimization of algorithm parameters, improves R&D efficiency, and allows resources to be dynamically and flexibly scheduled in resource pooling scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114970859B_ABST
    Figure CN114970859B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a parameter optimization and its service method, device and storage medium. In the embodiment of the present application, the parameter optimization method based on population evolution is improved. During the optimization process, combined with the dynamic change information of the resources used for parameter optimization service, the parameter combination of the algorithm module is iterated in a population adapted to the resources. On the one hand, based on the population iteration, the optimization of the algorithm parameters can be automatically completed, which is conducive to greatly improving the R&D efficiency of the algorithm. On the other hand, the population iteration adapted to the resources allows the resources used for parameter optimization to change dynamically, which facilitates the dynamic and flexible scheduling of resources in the resource pooling scenario.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence technology, and in particular to a parameter optimization and service method, device, and storage medium thereof. Background Art

[0002] An algorithm is an accurate and complete description of a solution to a problem, a series of clear instructions for solving it. It represents a systematic approach to describing a problem-solving strategy. An algorithm is able to produce a desired output within a finite timeframe given a certain set of inputs. Most algorithms involve parameters, which must be set in advance. The choice of these parameters directly impacts their performance, making their optimization crucial.

[0003] From the perspective of algorithm development, manually adjusting algorithm parameters is extremely time-consuming and labor-intensive, especially when the algorithm is iterating rapidly online. Manually adjusting algorithm parameters can still encounter numerous issues when applied online. Furthermore, with the trend toward increasingly sophisticated scenarios, manual adjustment of algorithm parameters is limited in scope and requires weighing various factors in online application, such as algorithm performance and computing resources. Therefore, parameter optimization methods based on population evolution have emerged. These methods can automatically optimize algorithm parameters, significantly improving algorithm development efficiency.

[0004] However, in resource pooling scenarios, existing parameter optimization methods based on population evolution require a large amount of resources in the resource pool, which is not conducive to the flexible scheduling of resources in the resource pool. Summary of the Invention

[0005] Various aspects of the present application provide a parameter optimization service method, device, and storage medium for automatically optimizing algorithm parameters, reducing the impact on resource scheduling, and improving the flexibility of resource scheduling.

[0006] An embodiment of the present application provides a parameter optimization service method, including: receiving a parameter tuning request sent by a client, the parameter tuning request including an identifier of an algorithm module; performing population iteration on a parameter combination of the algorithm module adapted to the resources in combination with dynamic change information of resources used for the parameter optimization service; and providing a target parameter combination to the client based on the parameter combination generated by the population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0007] An embodiment of the present application also provides a parameter optimization service method, including: receiving a parameter tuning request sent by a client, the parameter tuning request including an identifier of an algorithm module; performing population iteration on the parameter combination of the algorithm module in combination with a population variation method and a Bayesian optimization method; and providing a target parameter combination to the client based on the parameter combination generated by the population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0008] An embodiment of the present application also provides a server-side device, comprising: a memory and a processor; the memory is used to store a computer program; the processor is coupled to the memory, and is used to execute the computer program, so as to: receive a parameter tuning request sent by a client, the parameter tuning request including an identifier of an algorithm module; in combination with dynamic change information of resources used for parameter optimization services, perform population iteration on the parameter combination of the algorithm module to adapt to the resources; and provide a target parameter combination to the client based on the parameter combination generated by the population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0009] An embodiment of the present application also provides a server device, comprising: a memory and a processor; the memory is used to store a computer program; the processor is coupled to the memory, and is used to execute the computer program, so as to: receive a parameter tuning request sent by a client, the parameter tuning request including an identifier of an algorithm module; perform population iteration on the parameter combination of the algorithm module in combination with a population variation method and a Bayesian optimization method; provide a target parameter combination to the client based on the parameter combination generated by the population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0010] An embodiment of the present application further provides a computer storage medium storing a computer program, which, when executed by a processor, causes the processor to implement the steps of any method provided in the embodiment of the present application.

[0011] An embodiment of the present application also provides a computer program product, including a computer program / instruction. When the computer program / instruction is executed by a processor, the processor is caused to implement the steps of any method provided in the embodiment of the present application.

[0012] In an embodiment of the present application, an improvement is made to a parameter optimization method based on population evolution. During the optimization process, the parameter combination of the algorithm module is subjected to population iteration adapted to the resources in combination with the dynamic change information of the resources used for the parameter optimization service. On the one hand, the optimization of the algorithm parameters can be automatically completed based on the population iteration, which is conducive to greatly improving the R&D efficiency of the algorithm. On the other hand, the population iteration adapted to the resources allows the resources used for parameter optimization to change dynamically, which facilitates dynamic and flexible scheduling of resources in resource pooling scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0014] Figure 1 A schematic diagram of the structure of a parameter optimization service system provided by an exemplary embodiment of the present application;

[0015] Figure 2 A flow chart of a parameter optimization service method provided by an exemplary embodiment of the present application;

[0016] Figure 3 A flow chart of another parameter optimization service method provided by an exemplary embodiment of the present application;

[0017] Figure 4 A flowchart of another parameter optimization service method provided by an exemplary embodiment of the present application;

[0018] Figure 5 A schematic diagram of the structure of a parameter service optimization device provided by an exemplary embodiment of the present application;

[0019] Figure 6 A schematic diagram of the structure of a server device provided in an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0020] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0021] In response to the technical problems faced by the existing parameter optimization based on population evolution, in an embodiment of the present application, the parameter optimization method based on population evolution is improved. During the optimization process, the parameter combination of the algorithm module is subjected to population iteration adapted to the resources in combination with the dynamic change information of the resources used for parameter optimization services. On the one hand, the optimization of the algorithm parameters can be automatically completed based on the population iteration, which is conducive to greatly improving the R&D efficiency of the algorithm. On the other hand, the population iteration adapted to the resources allows the resources used for parameter optimization to change dynamically, which facilitates dynamic and flexible scheduling of resources in resource pooling scenarios.

[0022] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.

[0023] Figure 1 This is a schematic diagram of the structure of a parameter optimization service system provided by an exemplary embodiment of this application. Figure 1 As shown, the system 100 includes: a client device 101 and a server device 102. The client device 101 and the server device 102 are connected to each other in a wired or wireless manner.

[0024] In this embodiment, the client device 101 can be any device that needs to run the algorithm module, for example, it can be a terminal device used by algorithm developers during the research and development process, such as a laptop computer, desktop computer or test terminal, etc.; or, it can also be a terminal device that runs the system or application to which the algorithm module ultimately belongs, such as a mobile phone, laptop computer, desktop computer, tablet computer, home gateway or smart home device, etc.

[0025] Among them, an algorithm module refers to a software module that can implement a certain algorithm logic. In terms of product form, the algorithm module can be an application, program module, plug-in, patch or SDK, etc. Among them, according to whether the algorithm module requires sample data for training, the algorithm module is divided into an algorithm module based on machine learning (Learning-Based Algorithm) and an algorithm module that does not require machine learning. In this embodiment, the algorithm module that does not require machine learning is referred to as a traditional algorithm module (Traditional Algorithm), for example, it can be a rule-based algorithm module. For an algorithm module based on machine learning, it is necessary to repeatedly learn through training data until the algorithm converges before the output result can be obtained. For a traditional algorithm module, the output result can be directly obtained after inputting data. Regardless of the type of algorithm module, it has algorithm parameters, which refer to some parameters that need to be set for the algorithm module in advance. For an algorithm module based on machine learning, algorithm parameters refer to the hyperparameters of the algorithm module, rather than the model parameters of the algorithm module.

[0026] Different algorithm modules may have different numbers of algorithm parameters. Some algorithm modules have one algorithm parameter, while others have multiple algorithm parameters, such as two, three, or five. In the embodiments of the present application, more attention is paid to the case of having multiple algorithm parameters. Algorithm parameters can have a variety of different value combinations. In this embodiment, the value combination of algorithm parameters is referred to as a parameter combination. The choice of which parameter combination is used directly affects the performance of the algorithm module.

[0027] In this embodiment, the server device 102 can provide parameter optimization services for the client device 101 and provide appropriate parameter combinations for the algorithm modules required by the client device 101. Figure 1 As shown in ①, when the client device 101 needs to optimize the algorithm parameters of the algorithm module, it can send a parameter tuning request to the server device 102, and carry the identifier of the algorithm module in the parameter tuning request, so that the server device 102 can know which algorithm module needs to be tuned and what the algorithm parameters of the algorithm module are. The server device 102 receives the parameter tuning request sent by the client device 101, and identifies the algorithm module that needs to be tuned according to the identifier carried in the parameter tuning request; then, as shown in FIG. Figure 1 As shown in ③, the algorithm module optimizes the algorithm parameters; further, based on the optimization results of the algorithm parameters, the target parameter combination is provided to the client device 101, such as Figure 1 As shown in ⑤; the client device 101 runs the algorithm module according to the target parameter combination, such as Figure 1 As shown in ⑥.

[0028] In this embodiment, considering the wide variety and number of algorithm modules, including both machine learning-based and rule-based algorithm modules, and both algorithm modules that use manually labeled data for evaluation and those that require interaction with the environment for evaluation, the population evolution-based parameter optimization method is improved based on the type of algorithm module, resulting in an improved population evolution-based parameter optimization method that is suitable for different types of algorithm modules. The server device 102 uses the improved population evolution-based parameter optimization method to optimize algorithm parameters for different types of algorithm modules.

[0029] First, consider the algorithm modules based on machine learning. When optimizing the algorithm parameters of such algorithm modules, it is necessary to simulate the learning process of the algorithm modules with the help of verification data to evaluate the performance of the algorithm modules. Therefore, the resource requirements are relatively high. Figure 1 As shown, in the resource pooling scenario, the server device 102 can obtain resources for parameter optimization services from the resource pool. The resources here mainly include computing resources and may also include storage resources. Figure 1As shown, in a resource pooling scenario, resources in the resource pool can be scheduled by the resource scheduler 103. The server device 102 can obtain resource information that can be used for parameter optimization service from the resource scheduler 103. The resource information here includes at least resource quantity and resource identifiers indicating which specific resources are.

[0030] In this embodiment, the resource scheduler 103 can flexibly schedule the resources in the resource pool according to a certain resource scheduling strategy, such as Figure 1 As shown, the resource pool includes multiple resource nodes, which can provide computing resources as well as storage resources. For example, when there are more idle resources, the resource scheduler 103 can temporarily allocate more resources to the server device 102 for parameter optimization; or, when there are fewer idle resources, it can temporarily reclaim the resources allocated to the server device 102. That is, when the server device 102 provides parameter optimization services to the client device 101, the resources used for parameter optimization services may change dynamically. In order to adapt to the dynamic changes of resources, such as Figure 1 As shown in ③, when the server device 102 uses the population evolution-based method to optimize the parameters of the algorithm module, it specifically combines the dynamic change information of the resources used for parameter optimization services and performs population iteration on the parameter combination of the algorithm module to adapt to the resources. This improved population evolution-based parameter optimization method can be called a resource-adapted population evolution-based parameter optimization method. Figure 1 As shown in step ⑤, the server device 102 provides the target parameter combination to the client device 101 based on the parameter combination generated by the population iteration, so that the client device 101 runs the algorithm module based on the target parameter combination. The target parameter combination is a parameter combination generated during the population iteration process that is more suitable for the algorithm module.

[0031] The process of performing population iteration on the parameter combination of the algorithm module to adapt to the resource based on the dynamic change information of the resource used for the parameter optimization service includes the following stages:

[0032] Population initialization: Initialize the algorithm parameters of the algorithm module to obtain an initial population. Optionally, a small number of parameter combinations can be set for the algorithm parameters of the algorithm module. Then, based on these small number of parameter combinations, the algorithm parameters of the algorithm module are initialized using a random sampling method to obtain an initial population. The initial population contains a certain number of parameter combinations.

[0033] Population iteration:Starting from the initial population, the population is continuously iterated based on the performance parameters of the algorithm module under various parameter combinations in the current population and the dynamic changes in the resources used for parameter optimization services. Simply put, the population iteration process is the process of generating the population for the next iteration during the previous iteration and continuing the next iteration based on the generated population.

[0034] In this embodiment, each population iteration operation involves three operations: population size control, model evaluation, and new population generation:

[0035] Population size control: During each iteration, the changes in the resources allocated to the parameter optimization service are tracked in real time. Based on the dynamic changes in the resources available for the parameter optimization service, the number of parameter combinations in the first population is adjusted to obtain the second population. The first population is the population generated by the previous iteration and is used for the next iteration; however, for the first iteration, the first population is the initial population.

[0036] Among them, according to the dynamic changes of resources, it may be necessary to reduce the number of parameter combinations in the first group, or it may be necessary to increase the number of parameter combinations in the first group; in other words, the number of parameter combinations in the second group may be greater than the number of parameter combinations in the first group, or it may be less than the number of parameter combinations in the first group.

[0037] Optionally, if, during the resource optimization service process, the resource scheduler 103 temporarily reclaims a portion of the resources allocated to the server device 102 for the parameter optimization service for some reason, the resources available for the parameter optimization service will be reduced. Based on the remaining resources, at least one parameter combination can be eliminated from the first population in combination with the generation numbers of the various parameter combinations in the first population to obtain a second population. The remaining resources are sufficient to evaluate the performance of the algorithm module under each parameter combination in the second population. The generation number of a parameter combination refers to the number of iterations the parameter combination has participated in. In this embodiment, the method for eliminating at least one parameter combination based on the generation number of each parameter combination in the first population is not limited. For example, based on the generation number of each parameter combination in the first population, at least one parameter combination with the oldest generation number can be eliminated; alternatively, parameter combinations of a specific generation can be eliminated, or parameter combinations with generation numbers within a set generation number range can be eliminated.

[0038] Optionally, if, during the resource optimization service process, the resource scheduler 103 temporarily allocates additional resources to the server device 102 for some reason, the resources available for the parameter optimization service will increase. Based on the increased resources, new parameter combinations can be generated based on some of the parameter combinations in the first population to obtain a second population. The total amount of increased resources is sufficient to evaluate the performance of the algorithm module under each parameter combination in the second population. In this embodiment, the method of generating new parameter combinations based on some of the parameter combinations in the first population is not limited. For example, based on the performance parameters of the algorithm module under each parameter combination in the first population, M parameter combinations with optimal performance parameters and no descendants can be selected. A parameter combination with no descendants means a parameter combination with a generation number of 0. Alternatively, M parameter combinations with optimal performance parameters can be selected. With the goal of not exceeding the number that can be supported by the increased resources, each of the M parameter combinations is mutated to obtain a new parameter combination. The new parameter combinations obtained by mutating the M parameter combinations are added to the first population to obtain a second population. Where M is an integer greater than or equal to 1.

[0039] In this embodiment, the method for mutating the M parameter combinations to obtain a new parameter combination is not limited. The following uses any one of the M parameter combinations as an example to exemplify the mutation method. For ease of description and distinction, the any one parameter combination is referred to as a first parameter combination.

[0040] Mutation method 1: obtain the original search space of the first parameter combination, and sample a parameter combination that is different from any parameter combination in the first population in the original search space as a new parameter combination.

[0041] Mutation method 2: Generate an upper limit value of the fluctuation ratio of the search space based on the number of generations of the first parameter combination and the number of algorithm parameters; generate a new search space based on the upper limit value of the fluctuation ratio and the original search space of the first parameter combination; perform at least one random sampling in the new search space to obtain at least one new parameter combination.

[0042] Mutation mode 3: determining a parameter deviation according to the generation number of the first parameter combination; adjusting the first parameter combination according to the parameter deviation, and using the adjusted parameter combination as a new parameter combination.

[0043] Model Evaluation: After obtaining the second population, the validation dataset is used to evaluate the performance parameters of the algorithm modules under various parameter combinations in the second population. Specifically, each parameter combination in the second population can be assigned to an algorithm module, and the algorithm modules with different parameter combinations can be run simultaneously using the reduced or increased resources. The performance parameters of each algorithm module under its corresponding parameter combination can be obtained based on the output results of each algorithm module.

[0044] Generation of new populations: After obtaining the performance parameters of the algorithm module under each parameter combination in the second population, a population mutation method can be used to generate a first population for participating in the next iterative operation based on the performance parameters of the algorithm module under each parameter combination in the second population, thereby completing a population iterative operation.

[0045] In this embodiment, the method of generating the first population for the next iteration by population mutation is not limited. For example, based on the performance parameters of each parameter combination in the second population determined by the algorithm module, N parameter combinations with optimal performance parameters can be selected from the second population, or N parameter combinations with optimal performance and no offspring can be selected from the second population. With the goal of achieving a number no greater than that supported by the resources currently used for parameter optimization, the N parameter combinations are mutated to obtain new parameter combinations. Based on the N parameter combinations and the new parameter combinations obtained by mutating the N parameter combinations, the first population for the next iteration is generated. Where N is an integer greater than or equal to 1. For another example, based on the performance parameters of the algorithm module under each parameter combination in the second population, K1 parameter combinations with optimal performance parameters are selected from the second population; further, K2 parameter combinations are selected from the K1 parameter combinations; with the goal of not exceeding the number that can be carried by the resources currently used for parameter optimization services, the K2 parameter combinations are mutated to obtain new parameter combinations; based on the K1 parameter combinations and the new parameter combinations obtained by mutating the K2 parameter combinations, a first population is generated for participating in the next iterative operation. Wherein, K1 is an integer greater than or equal to 2, K2 is an integer greater than or equal to 1, and K1 ≥ K2.

[0046] The above population iteration operation continues until the iteration termination condition is satisfied. In this embodiment, the iteration termination condition is not limited. For example, an iteration termination time can be set, and the iteration operation ends when the iteration termination time is reached; or a maximum number of iterations can be set, and the iteration operation ends when the maximum number of iterations is reached; or an iteration loss function can be set, and the iteration operation ends when the mean square error of the iteration loss function is less than a set error threshold.

[0047] In an embodiment of the present application, in the parameter optimization process based on population evolution, a population size control process based on dynamic resource change information is added. According to the dynamic changes of resources, combined with the use of early-stop strategy, the population in each iteration process can be controlled to the scale adapted to the current resources. For example, when computing resources are abundant, a part of parameter combinations with better performance can be allowed to give priority to generate offspring to participate in the iteration. Optionally, the offspring participating in the iteration shall not exceed one generation; when computing resources are tight, the training of parameter combinations with older generations can be terminated, and computing resources can be released to give priority to parameter combinations with newer generations to continue to participate in training. This can adapt to the dynamic changes of resources and reduce the requirements for the number of resources. Especially in resource pooling scenarios, it is beneficial for the resource scheduler to flexibly schedule resources and is suitable for dynamic resource allocation scenarios.

[0048] Furthermore, in the above-mentioned process of parameter optimization for the algorithm module based on machine learning, parameter optimization is performed based on the population evolution method. In each iterative operation, each parameter combination in the population is trained or evaluated separately as an individual. Therefore, the algorithm module can be evaluated for each parameter combination in a parallel manner, which is conducive to improving the efficiency of parameter optimization.

[0049] Furthermore, in this embodiment, in addition to providing parameter optimization services for machine learning-based algorithm modules, the server-side device 102 can also provide parameter optimization services for traditional algorithm modules. In this embodiment, the server-side device 102 also uses an improved population evolution-based method to optimize parameters for traditional algorithm modules. It should be noted that the improved population evolution-based parameter optimization method used for parameter optimization of traditional algorithm modules is different from the improved population evolution-based parameter optimization method used for parameter optimization of machine learning-based algorithm modules. The following describes the process of the server-side device 102 using the improved population evolution-based method to optimize parameters for traditional algorithm modules.

[0050] When the client device 101 needs to optimize the algorithm parameters of the traditional algorithm module, it can send a parameter tuning request to the server device 102. Figure 1 As shown in ①, at this time, the identifier of the algorithm module carried in the parameter tuning request is used to identify the traditional algorithm module.

[0051] like Figure 1 As shown in ④, after receiving the parameter tuning request, the server device 102 uses the population evolution method to optimize the parameters of the traditional algorithm module, specifically combining the population mutation method and the Bayesian optimization method to perform population iteration on the parameter combination of the traditional algorithm module. Figure 1As shown in ⑤, the server device 102 provides the target parameter combination to the client device 101 according to the parameter combination generated by population iteration, so that the client device 101 runs the traditional algorithm module based on the target parameter combination.

[0052] Among them, the process of performing population iteration on the parameter combination of the traditional algorithm module by combining the population variation method and the Bayesian optimization method includes: initializing the algorithm parameters of the traditional algorithm module using the Bayesian optimization method to obtain the initial population, and performing population iteration on the parameter combination of the traditional algorithm module starting from the initial population.

[0053] Further optionally, a random sampling method can be used to generate a small number of parameter combinations for the traditional algorithm module, Gaussian process regression can be performed on these parameter combinations, and a confidence upper limit can be used to select new parameter combinations. This cycle can be repeated until the required number of initial populations is reached to obtain the initial population.

[0054] In this embodiment, during the population iteration of the parameter combinations of the traditional algorithm module, a new population is generated by combining population mutation and Bayesian optimization. Specifically, during each iteration, a first set of new parameter combinations is generated using population mutation based on the performance parameters of the traditional algorithm module under each parameter combination in the current population. Furthermore, a second set of new parameter combinations is generated using Bayesian optimization using all parameter combinations in the current population as samples. The first and second sets of new parameter combinations are then used to generate a population for the next iteration.

[0055] Further optionally, an implementation method of using all parameter combinations in the current population as samples to generate new parameter combinations in the second part using Bayesian optimization includes: using all parameter combinations in the current population as samples to perform Gaussian process regression, and using a confidence upper limit to select new parameter combinations.

[0056] In this embodiment, Bayesian optimization is used during the population initialization phase to introduce global information into the traditional algorithm module, making the initial population more dispersed and reducing dependence on the initial population. Furthermore, during population iteration, population mutation is used to inherit the optimal population, improving iteration efficiency. Bayesian optimization, which considers global information for exploration, can also overcome local optimality. Optionally, the ratio of new parameter combinations generated using the two methods can be controlled, using probability to balance the proportion of exploration and utilization.

[0057] It is hereby explained that the server device 102 in the embodiment of the present application can provide parameter optimization services for the algorithm module based on machine learning to the client device 101 alone, and can also provide parameter optimization services for the traditional algorithm module to the client device 101 alone, and can also provide parameter optimization services for both the algorithm module based on machine learning and the traditional algorithm module to the client device 101. Furthermore, in the case where the server device 102 provides parameter optimization services for both the algorithm module based on machine learning and the traditional algorithm module to the client device 101, the parameter tuning request initiated by the client device 101 may be for the algorithm module based on machine learning or for the traditional algorithm module, and can be specifically distinguished by the identifier of the algorithm module carried in the parameter tuning request. Based on this, if Figure 1 As shown in ②, after receiving the parameter tuning request sent by the client device 101, the server device 102 can determine whether the algorithm module is a machine learning-based algorithm module based on the identifier of the algorithm module carried in the parameter tuning request; if so, it enters Figure 1 If not, then enter Figure 1 The branch shown in ④.

[0058] Furthermore, when the server device 102 provides parameter optimization services for both machine learning-based algorithm modules and traditional algorithm modules to the client device 101, it is equivalent to providing a universal parameter optimization solution that can be adapted to different algorithm modules to improve the parameter optimization efficiency of the algorithm modules, thereby improving the calculation effect produced by the algorithm modules. The parameter optimization solution provided in the embodiment of the present application can be applied to any production environment involving algorithm modules, and is particularly suitable for large-scale production environments with a rich variety of algorithm modules. For example, in an autonomous driving environment, various different algorithm modules are usually involved; among them, algorithm modules based on machine learning include but are not limited to: algorithm modules for image detection, algorithm modules for image segmentation, algorithm modules for point cloud segmentation, etc.; among them, traditional algorithm modules include but are not limited to: algorithm modules for fusion tracking, algorithm modules for trajectory prediction, etc. Of course, these algorithm modules will also be different depending on the type of autonomous driving vehicle. For example, different algorithm modules will be involved for logistics vehicles, public service vehicles, medical service vehicles, and terminal service vehicles. The following examples illustrate the algorithm modules for these four types of autonomous driving vehicles:

[0059] Logistics vehicles refer to vehicles used in logistics scenarios, such as those with automatic sorting functions, refrigeration and insulation functions, and measurement functions. These logistics vehicles involve different algorithm modules.

[0060] For example, logistics vehicles can be equipped with automated sorting devices that automatically retrieve, transport, sort, and store goods upon arrival. This involves an algorithm module for cargo sorting, which primarily implements logical control over cargo retrieval, transportation, sorting, and storage.

[0061] For another example, for cold chain logistics scenarios, logistics vehicles can also be equipped with refrigeration and insulation devices, which can refrigerate or insulate the transported fruits, vegetables, aquatic products, frozen foods, and other perishable foods, so that they are in a suitable temperature environment, solving the problem of long-distance transportation of perishable foods. This involves an algorithm module for refrigeration and insulation control, which is mainly used to dynamically and adaptively calculate the appropriate temperature for cold meals or insulation based on information such as the nature of the food (or item), perishability, transportation time, current season, and climate, and automatically adjust the refrigeration and insulation device according to the appropriate temperature. In this way, when the vehicle transports different foods or items, the transportation personnel do not need to manually adjust the temperature, freeing the transportation personnel from the tedious temperature control and improving the efficiency of refrigerated and insulated transportation.

[0062] For example, in most logistics scenarios, charges are based on the volume and / or weight of the package. However, the number of logistics packages is very large. Simply relying on couriers to measure the volume and / or weight of the packages is very inefficient and has high labor costs. Therefore, in some logistics vehicles, measuring devices are added to automatically measure the volume and / or weight of logistics packages and calculate the fees for logistics packages. This involves an algorithm module for logistics package measurement, which is mainly used to identify the type of logistics package and determine the measurement method of the logistics package, such as volume measurement or weight measurement or a combination of volume and weight measurement. It can also complete the volume and / or weight measurement according to the determined measurement method, and complete the fee calculation based on the measurement results.

[0063] Public service vehicles refer to vehicles that provide certain public services, such as fire trucks, de-icing trucks, sprinkler trucks, snowplows, garbage disposal vehicles, traffic control vehicles, etc. These public service vehicles involve different algorithm modules.

[0064] For example, for an autonomous fire truck, its main task is to carry out reasonable fire-fighting tasks at the fire scene. This involves an algorithm module for fire-fighting tasks. The algorithm module must at least implement logic such as fire condition identification, fire-fighting plan planning, and automatic control of fire-fighting equipment.

[0065] For example, the main task of a de-icing vehicle is to clear ice and snow from the road surface, which involves a de-icing algorithm module. This algorithm module must at least be able to identify the ice and snow conditions on the road surface, formulate a de-icing plan based on the ice and snow conditions, such as which sections of the road require de-icing and which sections do not, whether to use salting and the amount of salt to spread, etc., as well as the logic for automatic control of the de-icing device when the de-icing plan is determined.

[0066] Among them, medical service vehicles refer to self-driving vehicles that can provide one or more medical services. Such vehicles can provide medical services such as disinfection, temperature measurement, medication, and isolation. This involves algorithm modules that provide various self-service medical services. These algorithm modules mainly realize the identification of disinfection needs and the control of disinfection devices so that the disinfection devices can disinfect patients, or identify the patient's position and control the temperature measuring device to automatically approach the patient's forehead and other positions to measure the patient's temperature, or are used to realize the judgment of the disease, give a prescription based on the judgment result, and need to realize the identification of drugs / drug containers, as well as the control of the drug-taking robot so that it can grab drugs for patients according to the prescription, etc.

[0067] Among them, terminal service vehicles refer to self-service autonomous driving vehicles that can replace some terminal devices to provide certain convenient services to users. For example, these vehicles can provide users with printing, attendance, scanning, unlocking, payment, retail and other services.

[0068] For example, in some application scenarios, users often need to go to a specific location to print or scan documents, which is time-consuming and labor-intensive. Therefore, a terminal service vehicle that can provide users with printing / scanning services has emerged. These service vehicles can be interconnected with the user's terminal device. The user issues a print instruction through the terminal device, and the service vehicle responds to the print instruction, automatically prints the document required by the user, and can automatically deliver the printed document to the user's location. The user does not need to queue at the printer, which can greatly improve printing efficiency. Alternatively, it can respond to the scanning instruction issued by the user through the terminal device and move to the user's location. The user places the document to be scanned on the scanning tool of the service vehicle to complete the scanning, without having to queue at the printer / scanner, saving time and effort. This involves an algorithm module that provides printing / scanning services. The algorithm module at least needs to identify the connection with the user's terminal device, the response to the print / scan instruction, the positioning of the user's location, and the travel control.

[0069] For example, with the development of new retail businesses, more and more e-commerce companies are using self-service vending machines to deliver goods to office buildings and public areas. However, these vending machines are stationary and immovable, requiring users to visit them to purchase their desired items, making them relatively inconvenient. Consequently, self-driving vehicles have emerged to provide retail services. These vehicles can carry goods and move autonomously, offering a corresponding self-service shopping app or portal. Users can use their mobile phones or other devices to place orders with the self-driving vehicles through the app or portal. The order includes the product name, quantity, and user location. After receiving the order, the vehicle can determine whether the requested item is available and whether the quantity is sufficient. If the requested item is available and sufficient, it can automatically move to the user's location with the item and deliver it to the user, further improving shopping convenience and saving time, allowing users to focus on more important tasks. This involves the algorithm modules that provide retail services, which primarily implement logic for responding to user order requests, processing orders, maintaining product information, locating the user, and managing payments.

[0070] Regardless of the algorithm modules involved in the aforementioned autonomous driving vehicles, the service system provided by the above embodiments of this application can optimize the parameters of various algorithm modules in the autonomous driving environment, improve the parameter optimization efficiency of the algorithm modules, and thus improve the calculation effect produced by the algorithm modules. Figure 1 As shown, after obtaining the target parameter combination of the algorithm module, researchers and developers in the field of autonomous driving can further develop vehicle-mounted software based on the algorithm module using the target parameter combination, deploy the vehicle-mounted software on the autonomous driving vehicle, and provide related services for the autonomous driving vehicle.

[0071] Figure 2 This is a flow chart of a parameter optimization service method provided by an exemplary embodiment of the present application. Figure 2 As shown, the method includes:

[0072] 201. Receive a parameter tuning request sent by a client, where the parameter tuning request includes an identifier of an algorithm module.

[0073] 202. In combination with the dynamic change information of the resources used for the parameter optimization service, the parameter combination of the algorithm module is iterated in a population adapted to the resources.

[0074] 203. Provide a target parameter combination to the client according to the parameter combination generated by population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0075] In an optional embodiment, the above-mentioned step 202, i.e., performing population iteration on the parameter combination of the algorithm module adapted to the resources in combination with the dynamic change information of the resources used for the parameter optimization service, includes: initializing the algorithm parameters of the algorithm module using a random sampling method to obtain an initial population; starting from the initial population, performing population iteration based on the performance parameters of the algorithm module under each parameter combination in the current population and the dynamic change information of the resources used for the parameter optimization service.

[0076] Further optionally, the above-mentioned population iteration is performed based on the performance parameters of the algorithm module under each parameter combination in the current population and the dynamic change information of the resources used for the parameter optimization service, including: in each iterative operation, according to the dynamic change information of the resources, adjusting the number of parameter combinations in the first population to obtain the second population, and using the verification data set to evaluate the performance parameters of the algorithm module under each parameter combination in the second population; and according to the performance parameters of the algorithm module under each parameter combination in the second population, using the population mutation method to generate the first population for participating in the next iterative operation until the iteration termination condition is met; wherein, the first population is the population generated by the previous iterative operation for participating in the next iterative operation.

[0077] Furthermore, according to the dynamic change information of resources, the number of parameter combinations in the first population is adjusted to obtain the second population, including: if the resources are reduced, based on the remaining amount of resources and the number of generations of various parameter combinations in the first population, at least one parameter combination is eliminated to obtain the second population.

[0078] Furthermore, according to the dynamic change information of resources, the number of parameter combinations in the first group is adjusted to obtain the second group, and it also includes: if the resources increase, new parameter combinations are generated based on some parameter combinations in the first group according to the increased amount of resources to obtain the second group.

[0079] Optionally, according to the increased amount of resources, new parameter combinations are generated based on some parameter combinations in the first population to obtain a second population, including: according to the performance parameters of the algorithm module under each parameter combination in the first population, M parameter combinations with optimal performance parameters and no offspring are selected; with the goal of not more than the number that can be carried by the increased amount of resources, the M parameter combinations are mutated separately to obtain new parameter combinations; the new parameter combinations obtained by mutating the M parameter combinations are added to the first population to obtain a second population; M is an integer greater than or equal to 1.

[0080] Optionally, with the goal of not exceeding the amount that the increased amount of resources can carry, M parameter combinations are mutated separately to obtain new parameter combinations, including: for the first parameter combination, generating an upper limit value of the fluctuation ratio of the search space based on the number of generations of the first parameter combination and the number of algorithm parameters; generating a new search space based on the upper limit value of the fluctuation ratio and the original search space of the first parameter combination; performing at least one random sampling in the new search space to obtain at least one new parameter combination; wherein the first parameter combination is any parameter combination among the M parameter combinations.

[0081] In an optional embodiment, the above-mentioned first population for participating in the next iterative operation is generated by a population mutation method based on the performance parameters of the algorithm module under each parameter combination in the second population, including: selecting N parameter combinations with optimal performance parameters and no offspring based on the performance parameters of the algorithm module under each parameter combination in the second population; mutating the N parameter combinations to obtain new parameter combinations with the goal of not more than the number that can be carried by the current amount of resources used for parameter optimization service; generating the first population for participating in the next iterative operation based on the N parameter combinations and the new parameter combinations obtained by mutating the N parameter combinations; N is an integer greater than or equal to 1.

[0082] In an optional embodiment, providing a target parameter combination to the client according to the parameter combination generated by population iteration includes:

[0083] Obtaining K parameter combinations generated by the last population iteration, and returning the K parameter combinations and performance parameters of the algorithm module under the K parameter combinations to the client, so that the client can select a target parameter combination from them;

[0084] or

[0085] K parameter combinations generated by the last population iteration are obtained, a target parameter combination is selected from the K parameter combinations according to performance parameters of the algorithm module under the K parameter combinations, and the target parameter combination is returned to the client.

[0086] In this embodiment, the parameter optimization method based on population evolution is improved. During the optimization process, the parameter combination of the algorithm module is iterated in a population adapted to the resources in combination with the dynamic change information of the resources used for the parameter optimization service. On the one hand, the optimization of the algorithm parameters can be automatically completed based on the population iteration, which is conducive to greatly improving the R&D efficiency of the algorithm. On the other hand, the population iteration adapted to the resources allows the resources used for parameter optimization to change dynamically, which facilitates dynamic and flexible scheduling of resources in resource pooling scenarios.

[0087] Figure 3This is a flow chart of another parameter optimization service method provided by an exemplary embodiment of the present application. Figure 3 As shown, the method includes:

[0088] 301. Receive a parameter tuning request sent by a client, where the parameter tuning request includes an identifier of an algorithm module.

[0089] 302. Combining the population variation method and the Bayesian optimization method, the parameter combination of the algorithm module is iterated in the population.

[0090] 303. Provide a target parameter combination to the client according to the parameter combination generated by population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0091] In an optional embodiment, a population variation method and a Bayesian optimization method are combined to perform population iteration on the parameter combination of the algorithm module, including:

[0092] Initialize the algorithm parameters of the algorithm module using the Bayesian optimization method to obtain the initial population, and then perform population iteration on the parameter combination of the algorithm module starting from the initial population;

[0093] Among them, in each iterative operation, according to the performance parameters of the algorithm module under each parameter combination in the current population, the population variation method is used to generate the first part of new parameter combinations, and the Bayesian optimization method is used with all the parameter combinations in the current population as samples to generate the second part of new parameter combinations; according to the first part of the new parameter combinations and the second part of the new parameter combinations, a population for participating in the next iterative operation is generated.

[0094] In an optional embodiment, providing a target parameter combination to the client based on the parameter combination generated by population iteration includes:

[0095] Obtain the K parameter combinations generated by the last population iteration, and return the K parameter combinations and the performance parameters of the algorithm module under the K parameter combinations to the client, so that the client can select the target parameter combination from them;

[0096] or

[0097] Obtain the K parameter combinations generated by the last population iteration, select the target parameter combination from the K parameter combinations based on the performance parameters of the algorithm module under the K parameter combinations, and return the target parameter combination to the client.

[0098] Figure 4 A flow chart of another parameter optimization service method provided by an exemplary embodiment of the present application. Figure 4 As shown, the method includes:

[0099] 401. Receive a parameter tuning request sent by a client, where the parameter tuning request includes an identifier of an algorithm module.

[0100] 402. According to the identifier of the algorithm module, determine whether the algorithm module is an algorithm module based on machine learning; if so, execute step 403; if not, execute step 404.

[0101] 403 . In combination with the dynamic change information of the resources used for the parameter optimization service, perform population iteration on the parameter combination of the algorithm module to adapt to the resources, and proceed to step 405 .

[0102] 404 . Combining the population variation method and the Bayesian optimization method, perform population iteration on the parameter combination of the algorithm module and proceed to step 405 .

[0103] 405. Provide a target parameter combination to the client according to the parameter combination generated by population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0104] For the detailed implementation of each step in this embodiment, please refer to the description in the above embodiment and will not be repeated here.

[0105] In this embodiment, parameter optimization services are provided for both machine learning-based algorithm modules and traditional algorithm modules, which is equivalent to providing a set of general parameter optimization solutions that can be adapted to different algorithm modules to improve the parameter optimization efficiency of the algorithm modules and thereby improve the computing effect produced by the algorithm modules.

[0106] In order to illustrate the beneficial effects of the various methods provided in the embodiments of the present application, the inventors of the present application conducted simulation experiments on existing parameter optimization methods and parameter optimization methods provided in the embodiments of the present application on data sets commonly used in parameter optimization algorithms in the industry, wherein the comparison results are shown in Tables 1 and 2 below. In Tables 1 and 2, the smaller the effect value, the better the algorithm performance, and the smaller the efficiency value, the better the algorithm. Among them, Table 1 is a comparison of the optimization effects of machine learning-based algorithm modules under different algorithms, and Table 2 is a comparison of the optimization effects of traditional algorithm modules under different algorithms.

[0107] Table 1

[0108]

[0109]

[0110] Table 2

[0111]

[0112] As can be seen from Table 1 and Table 2 above, both the parameter optimization solution for the machine learning algorithm module provided by the embodiment of the present application and the parameter optimization solution for the traditional algorithm module provided by the embodiment of the present application are superior to the traditional parameter optimization algorithm in terms of effect and efficiency. Figure 2 The method implemented as shown can be referred to as a resource-based PBT optimization method. Figure 3 The method of the illustrated embodiment may be simply referred to as a population Bayesian optimization method.

[0113] It should be noted that the execution entity of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution entity of steps 201 to 203 can be device A; for another example, the execution entity of steps 201 and 202 can be device A, and the execution entity of step 203 can be device B; and so on.

[0114] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or may be executed in parallel. The serial numbers of the operations, such as 201, 202, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0115] Figure 5 This is a schematic diagram of the structure of a parameter service optimization device provided by an exemplary embodiment of the present application. Figure 5 As shown, the device includes: a receiving module 51, a first iterative optimization module 52 and a providing module 53.

[0116] Receiving module 51 is configured to receive parameter tuning requests from clients, which include the identifier of an algorithm module. First iterative optimization module 52 is configured to perform population iteration on the algorithm module's parameter combinations to adapt to the resources, taking into account dynamic changes in the resources used for the parameter optimization service. Providing module 53 is configured to provide a target parameter combination to the client based on the parameter combination generated through the population iteration, so that the client can execute the algorithm module based on the target parameter combination.

[0117] In an optional embodiment, the first iterative optimization module 52 is specifically used to: initialize the algorithm parameters of the algorithm module using a random sampling method to obtain an initial population; starting from the initial population, perform population iteration based on the performance parameters of the algorithm module under each parameter combination in the current population and the dynamic change information of the resources used for parameter optimization services.

[0118] Further optionally, when performing population iteration, the first iterative optimization module 52 is specifically used to: in each iterative operation, adjust the number of parameter combinations in the first population to obtain a second population according to the dynamic change information of the resources, and use the verification data set to evaluate the performance parameters of the algorithm module under each parameter combination in the second population; and based on the performance parameters of the algorithm module under each parameter combination in the second population, use the population mutation method to generate a first population for participating in the next iterative operation until the iteration termination condition is met; wherein the first population is the population generated by the previous iterative operation for participating in the next iterative operation.

[0119] Further optionally, when obtaining the second population, the first iterative optimization module 52 is specifically used to: if resources decrease, then based on the remaining amount of resources and the number of generations of various parameter combinations in the first population, eliminate at least one parameter combination to obtain the second population; if resources increase, then based on the increased amount of resources, generate new parameter combinations based on some parameter combinations in the first population to obtain the second population.

[0120] Further optionally, in the case of increased resources, when obtaining the second population, the first iterative optimization module 52 is specifically used to: select M parameter combinations with optimal performance parameters and no offspring based on the performance parameters of the algorithm module under each parameter combination in the first population; mutate the M parameter combinations separately to obtain new parameter combinations with the goal of not exceeding the number that can be carried by the increased amount of resources; add the new parameter combinations obtained by mutating the M parameter combinations to the first population to obtain the second population; M is an integer greater than or equal to 1.

[0121] Further optionally, when the first iterative optimization module 52 mutates the M parameter combinations respectively, it is specifically used to: generate an upper limit value of the fluctuation ratio of the search space for the first parameter combination according to the number of generations of the first parameter combination and the number of algorithm parameters; generate a new search space according to the upper limit value of the fluctuation ratio and the original search space of the first parameter combination; perform at least one random sampling in the new search space to obtain at least one new parameter combination; wherein the first parameter combination is any parameter combination among the M parameter combinations.

[0122] Further optionally, when the first iterative optimization module 52 adopts the population mutation method to generate the first population for participating in the next iterative operation, it is specifically used to: select N parameter combinations with optimal performance parameters and no offspring according to the performance parameters of each parameter combination of the algorithm module in the second population; mutate the N parameter combinations respectively to obtain new parameter combinations with the goal of not more than the number that can be carried by the current amount of resources used for parameter optimization service; generate the first population for participating in the next iterative operation according to the N parameter combinations and the new parameter combinations obtained by mutating the N parameter combinations; N is an integer greater than or equal to 1.

[0123] In an alternative embodiment, if Figure 5 As shown, the device further includes a judgment module 54. The judgment module 54 is configured to judge whether the algorithm module is a machine learning-based algorithm module based on the identification of the algorithm module; if the algorithm module is a machine learning-based algorithm module, the first iterative optimization module 52 is triggered to perform corresponding operations.

[0124] In an alternative embodiment, if Figure 5 As shown, the device further includes a second iterative optimization module 55. The second iterative optimization module 55 is configured to perform population iteration on the parameter combination of the algorithm module by combining the population variation method and the Bayesian optimization method when the judgment result of the judgment module 54 is negative.

[0125] Further optionally, the second iterative optimization module 55 is specifically used to: initialize the algorithm parameters of the algorithm module using the Bayesian optimization method to obtain an initial population, and perform population iteration on the parameter combination of the algorithm module starting from the initial population; wherein, in each iterative operation, based on the performance parameters of the algorithm module under each parameter combination in the current population, a population variation method is used to generate a first part of new parameter combinations, and all parameter combinations in the current population are used as samples to generate a second part of new parameter combinations using the Bayesian optimization method; based on the first part of the new parameter combinations and the second part of the new parameter combinations, a population for participating in the next iterative operation is generated.

[0126] In an optional embodiment, the providing module 53 is specifically used to: obtain K parameter combinations generated by the last population iteration, return the K parameter combinations and the performance parameters of the algorithm module under the K parameter combinations to the client, so that the client can select a target parameter combination from them; or obtain K parameter combinations generated by the last population iteration, select a target parameter combination from the K parameter combinations based on the performance parameters of the algorithm module under the K parameter combinations, and return the target parameter combination to the client.

[0127] The above describes the internal functions and structure of the parameter service optimization device. Figure 6As shown, in practice, the parameter service optimization device can be implemented as a server-side device, including: a memory 61, a processor 62 and a communication component 63.

[0128] The memory 61 is used to store computer programs and can be configured to store various other data to support operations on the server device. Examples of such data include instructions, messages, images, videos, etc. for any application or method operating on the server device.

[0129] The memory 61 can be implemented by any type of volatile or non-volatile memory device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0130] The processor 62 is coupled to the memory 61 and is used to execute the computer program in the memory 61, so as to: receive a parameter tuning request sent by the client through the communication component 63, wherein the parameter tuning request includes an identifier of the algorithm module; perform population iteration on the parameter combination of the algorithm module adapted to the resources in combination with dynamic change information of resources used for parameter optimization services; and provide a target parameter combination to the client based on the parameter combination generated by the population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0131] In an optional embodiment, when executing population iteration, the processor 62 is specifically used to: initialize the algorithm parameters of the algorithm module using a random sampling method to obtain an initial population; starting from the initial population, perform population iteration based on the performance parameters of the algorithm module under each parameter combination in the current population and the dynamic change information of the resources used for parameter optimization services.

[0132] Further optionally, when performing population iteration, the processor 62 is specifically used to: in each iterative operation, adjust the number of parameter combinations in the first population to obtain a second population according to the dynamic change information of the resources, and use the verification data set to evaluate the performance parameters of the algorithm module under each parameter combination in the second population; and use the population mutation method to generate a first population for participating in the next iterative operation according to the performance parameters of the algorithm module under each parameter combination in the second population, until the iteration termination condition is met; wherein the first population is the population generated by the previous iterative operation for participating in the next iterative operation.

[0133] Further optionally, when obtaining the second population, the processor 62 is specifically used to: if resources decrease, then based on the remaining amount of resources and the number of generations of various parameter combinations in the first population, eliminate at least one parameter combination to obtain the second population; if resources increase, then based on the increased amount of resources, generate new parameter combinations based on some parameter combinations in the first population to obtain the second population.

[0134] Further optionally, in the case of increased resources, when the processor 62 obtains the second population, it is specifically used to: select M parameter combinations with optimal performance parameters and no offspring based on the performance parameters of the algorithm module under each parameter combination in the first population; mutate the M parameter combinations separately to obtain new parameter combinations with the goal of not exceeding the number that can be carried by the increased amount of resources; add the new parameter combination obtained by mutating the M parameter combinations to the first population to obtain the second population; M is an integer greater than or equal to 1.

[0135] Further optionally, when the processor 62 mutates the M parameter combinations respectively, it is specifically used to: for the first parameter combination, generate an upper limit value of the fluctuation ratio of the search space according to the generation number of the first parameter combination and the number of algorithm parameters; generate a new search space according to the upper limit value of the fluctuation ratio and the original search space of the first parameter combination; perform at least one random sampling in the new search space to obtain at least one new parameter combination; wherein the first parameter combination is any parameter combination among the M parameter combinations.

[0136] Further optionally, when the processor 62 adopts the population mutation method to generate the first population for participating in the next iterative operation, it is specifically used to: select N parameter combinations with optimal performance parameters and no offspring according to the performance parameters of the algorithm module under each parameter combination in the second population; mutate the N parameter combinations respectively to obtain new parameter combinations with the goal of not more than the number that can be carried by the current amount of resources used for parameter optimization services; generate the first population for participating in the next iterative operation according to the N parameter combinations and the new parameter combinations obtained by mutating the N parameter combinations; N is an integer greater than or equal to 1.

[0137] In an optional embodiment, the processor 62 is further used to: determine whether the algorithm module is an algorithm module based on machine learning based on the identification of the algorithm module; if the algorithm module is an algorithm module based on machine learning, execute a population iteration operation on the parameter combination of the algorithm module adapted to the resources in combination with the dynamic change information of the resources used for parameter optimization service.

[0138] In an optional embodiment, the processor 62 is further used to perform population iteration on the parameter combination of the algorithm module in combination with the population variation method and the Bayesian optimization method when the judgment result is no; and provide the target parameter combination to the client based on the parameter combination generated by the population iteration, so that the client runs the algorithm module based on the target parameter combination.

[0139] Further optionally, the processor 62 is specifically used to: initialize the algorithm parameters of the algorithm module using a Bayesian optimization method to obtain an initial population, and perform population iteration on the parameter combination of the algorithm module starting from the initial population; wherein, in each iterative operation, based on the performance parameters of the algorithm module under each parameter combination in the current population, a population variation method is used to generate a first part of new parameter combinations, and a Bayesian optimization method is used to generate a second part of new parameter combinations using all parameter combinations in the current population as samples; and a population for participating in the next iterative operation is generated based on the first part of the new parameter combinations and the second part of the new parameter combinations.

[0140] In an optional embodiment, the processor 62 is specifically used to: obtain K parameter combinations generated by the last population iteration, and return the K parameter combinations and the performance parameters of the algorithm module under the K parameter combinations to the client, so that the client can select a target parameter combination from them; or obtain K parameter combinations generated by the last population iteration, select a target parameter combination from the K parameter combinations based on the performance parameters of the algorithm module under the K parameter combinations, and return the target parameter combination to the client.

[0141] It should be noted that the processor 62 may only have the ability to perform population iteration on the parameter combination of the algorithm module adapted to the resources in combination with the dynamic change information of the resources used for parameter optimization services, or may only have the ability to perform population iteration on the parameter combination of the algorithm module in combination with the population variation method and the Bayesian optimization method, or may have the ability to perform both population iteration operations at the same time.

[0142] Further, if Figure 6 As shown, the server device also includes: a power supply component 64 and other components. Figure 6 Only some components are shown schematically, which does not mean that the server device only includes Figure 6 Components shown.

[0143] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor implements the steps in the above-mentioned method embodiments.

[0144] above Figure 6The communication component is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0145] above Figure 6 The power supply component in a device provides power to various components of the device in which the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.

[0146] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0147] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0148] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1The function specified in one or more boxes.

[0149] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0150] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0151] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0152] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0153] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0154] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A parameter optimization service method, characterized in that: include: receiving a parameter tuning request sent by a client, wherein the parameter tuning request includes an identifier of an algorithm module; In combination with dynamic change information of resources used for parameter optimization services, a population iteration is performed on the parameter combinations of the algorithm module to adapt to the resources; wherein, during the population iteration process, the population in the next population iteration is obtained by adjusting the number of parameter combinations in the population generated by the previous population iteration based on the dynamic change information of the resources; the adjustment method includes: if the resources used for the parameter optimization service increase, the number of parameter combinations is increased; if the resources used for the parameter optimization service decrease, the number of parameter combinations is reduced; A target parameter combination is provided to the client according to the parameter combination generated by population iteration, so that the client runs the algorithm module based on the target parameter combination.

2. The method according to claim 1, characterized in that In combination with the dynamic change information of the resources used for the parameter optimization service, the parameter combination of the algorithm module is subjected to population iteration adapted to the resources, including: Initializing the algorithm parameters of the algorithm module using a random sampling method to obtain an initial population; Starting from the initial population, population iteration is performed according to the performance parameters of the algorithm module under each parameter combination in the current population and the dynamic change information of the resources used for parameter optimization service.

3. The method according to claim 2, characterized in that Performing population iteration based on the performance parameters of the algorithm module under each parameter combination in the current population and dynamic change information of resources used for parameter optimization services includes: In each iteration, adjusting the number of parameter combinations in the first population according to the dynamic change information of the resource to obtain a second population, and evaluating the performance parameters of the algorithm module under each parameter combination in the second population using a validation data set; and According to the performance parameters of the algorithm module under each parameter combination in the second population, a first population for participating in the next iterative operation is generated by a population mutation method until an iteration termination condition is met; wherein, the first population is a population generated by the previous iterative operation for participating in the next iterative operation.

4. The method according to claim 3, characterized in that Adjusting the number of parameter combinations in the first population according to the dynamic change information of the resource to obtain the second population includes: If the resources are reduced, at least one parameter combination is eliminated according to the remaining resource amount and the number of generations of various parameter combinations in the first population to obtain a second population.

5. The method according to claim 4, characterized in that Also includes: If the resources increase, new parameter combinations are generated based on some parameter combinations in the first population according to the increased resource amount to obtain a second population.

6. The method according to claim 5, characterized in that According to the increased resource amount, new parameter combinations are generated based on some parameter combinations in the first group to obtain the second group, including: According to the performance parameters of the algorithm module under each parameter combination in the first population, M parameter combinations with optimal performance parameters and no offspring are selected; With the goal of not exceeding the amount that can be carried by the increased amount of resources, mutating the M parameter combinations to obtain new parameter combinations; A new parameter combination obtained by mutating the M parameter combinations is added to the first population to obtain a second population; M is an integer greater than or equal to 1.

7. The method according to claim 6, characterized in that With the goal of not exceeding the amount that can be carried by the increased amount of resources, the M parameter combinations are mutated to obtain new parameter combinations, including: For the first parameter combination, generating an upper limit value of the fluctuation ratio of the search space according to the number of generations of the first parameter combination and the number of algorithm parameters; Generate a new search space according to the original search space of the fluctuation ratio upper limit value and the first parameter combination; At least one random sampling is performed in the new search space to obtain at least one new parameter combination; wherein the first parameter combination is any one of the M parameter combinations.

8. The method according to claim 3, characterized in that According to the performance parameters of the algorithm module under each parameter combination in the second population, a first population for participating in the next iterative operation is generated by using a population mutation method, including: According to the performance parameters of the algorithm module under each parameter combination in the second population, N parameter combinations with optimal performance parameters and no offspring are selected; With the goal of not exceeding the number that can be carried by the resources currently used for parameter optimization services, mutate the N parameter combinations to obtain new parameter combinations; A first population for participating in the next iterative operation is generated according to the N parameter combinations and new parameter combinations obtained by mutating the N parameter combinations; N is an integer greater than or equal to 1.

9. The method according to any one of claims 1 to 8, characterized in that Before performing population iteration on the parameter combination of the algorithm module to adapt to the resource in combination with the dynamic change information of the resource used for the parameter optimization service, the method further includes: According to the identifier of the algorithm module, determining whether the algorithm module is an algorithm module based on machine learning; If the algorithm module is an algorithm module based on machine learning, a population iteration operation is performed on the parameter combination of the algorithm module to adapt to the resources in combination with the dynamic change information of the resources used for parameter optimization service.

10. The method according to claim 9, characterized in that Also includes: If the algorithm module is not an algorithm module based on machine learning, then performing population iteration on the parameter combination of the algorithm module by combining the population variation method and the Bayesian optimization method; A target parameter combination is provided to the client according to the parameter combination generated by population iteration, so that the client runs the algorithm module based on the target parameter combination.

11. The method according to claim 10, characterized in that Combining the population variation method and the Bayesian optimization method, the parameter combination of the algorithm module is subjected to population iteration, including: Initializing the algorithm parameters of the algorithm module using a Bayesian optimization method to obtain an initial population, and performing population iteration on the parameter combination of the algorithm module starting from the initial population; In each iterative operation, according to the performance parameters of the algorithm module under each parameter combination in the current population, a population variation method is adopted to generate a first part of new parameter combinations, and a Bayesian optimization method is adopted with all the parameter combinations in the current population as samples to generate a second part of new parameter combinations; according to the first part of new parameter combinations and the second part of new parameter combinations, a population for participating in the next iterative operation is generated.

12. The method according to any one of claims 1 to 8 and 10 to 11, characterized in that Providing a target parameter combination to the client according to the parameter combination generated by population iteration, including: Obtaining K parameter combinations generated by the last population iteration, and returning the K parameter combinations and performance parameters of the algorithm module under the K parameter combinations to the client, so that the client can select a target parameter combination from them; or Obtain K parameter combinations generated by the last population iteration, select a target parameter combination from the K parameter combinations according to the performance parameters of the algorithm module under the K parameter combinations, and return the target parameter combination to the client; K is an integer greater than or equal to 1.

13. A parameter optimization service method, characterized in that: include: receiving a parameter tuning request sent by a client, wherein the parameter tuning request includes an identifier of an algorithm module; Combining a population variation method and a Bayesian optimization method, the parameter combinations of the algorithm module are subjected to population iteration; wherein, during the population iteration process, the population in the next population iteration is obtained by adjusting the number of parameter combinations in the population generated by the previous population iteration based on the dynamic change information of the resources used for the parameter optimization service; the adjustment method includes: if the resources used for the parameter optimization service increase, the number of parameter combinations is increased; if the resources used for the parameter optimization service decrease, the number of parameter combinations is reduced; A target parameter combination is provided to the client according to the parameter combination generated by population iteration, so that the client runs the algorithm module based on the target parameter combination.

14. A server device, characterized in that: include: memory and processor; The memory is configured to store a computer program; the processor is coupled to the memory and configured to execute the computer program, so as to: receiving a parameter tuning request sent by a client, wherein the parameter tuning request includes an identifier of an algorithm module; In combination with dynamic change information of resources used for parameter optimization services, a population iteration is performed on the parameter combinations of the algorithm module to adapt to the resources; wherein, during the population iteration process, the population in the next population iteration is obtained by adjusting the number of parameter combinations in the population generated by the previous population iteration based on the dynamic change information of the resources; the adjustment method includes: if the resources used for the parameter optimization service increase, the number of parameter combinations is increased; if the resources used for the parameter optimization service decrease, the number of parameter combinations is reduced; A target parameter combination is provided to the client according to the parameter combination generated by population iteration, so that the client runs the algorithm module based on the target parameter combination.

15. A server device, characterized in that: include: memory and processor; The memory is configured to store a computer program; the processor is coupled to the memory and configured to execute the computer program, so as to: receiving a parameter tuning request sent by a client, wherein the parameter tuning request includes an identifier of an algorithm module; Combining a population variation method and a Bayesian optimization method, the parameter combinations of the algorithm module are subjected to population iteration; wherein, during the population iteration process, the population in the next population iteration is obtained by adjusting the number of parameter combinations in the population generated by the previous population iteration based on the dynamic change information of the resources used for the parameter optimization service; the adjustment method includes: if the resources used for the parameter optimization service increase, the number of parameter combinations is increased; if the resources used for the parameter optimization service decrease, the number of parameter combinations is reduced; A target parameter combination is provided to the client according to the parameter combination generated by population iteration, so that the client runs the algorithm module based on the target parameter combination.

16. A computer storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the processor is caused to implement the steps of the method according to any one of claims 1 to 13.

17. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the processor is caused to implement the steps of the method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • Hydrological model parameter optimization method and apparatus based on parallel bee colony algorithm

    CN106599585A

  • User classification model determination method, apparatus and device, and storage medium

    CN111612528A