WO2021190379A1 - Method and device for realizing automatic machine learning - Google Patents

Method and device for realizing automatic machine learning Download PDF

Info

Publication number
WO2021190379A1
WO2021190379A1 PCT/CN2021/081329 CN2021081329W WO2021190379A1 WO 2021190379 A1 WO2021190379 A1 WO 2021190379A1 CN 2021081329 W CN2021081329 W CN 2021081329W WO 2021190379 A1 WO2021190379 A1 WO 2021190379A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration information
machine learning
user
learning modeling
modeling process
Prior art date
Application number
PCT/CN2021/081329
Other languages
French (fr)
Chinese (zh)
Inventor
罗远飞
焦英翔
涂威威
Original Assignee
第四范式(北京)技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 第四范式(北京)技术有限公司 filed Critical 第四范式(北京)技术有限公司
Publication of WO2021190379A1 publication Critical patent/WO2021190379A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present disclosure generally relates to the field of artificial intelligence, and more specifically, to a method and device for realizing automatic machine learning.
  • Machine learning is an inevitable product of the development of artificial intelligence research to a certain stage. It is committed to improving the performance of the system itself through computational means and using experience.
  • experience usually exists in the form of "data”.
  • a "model” can be generated from data. That is to say, by providing empirical data to the machine learning algorithm, it can be generated based on these empirical data The model, when faced with a new situation, the model will provide the corresponding judgment, that is, the prediction result.
  • a machine learning model usually solves a problem in a specific scenario, and the development of a machine learning model requires a lot of labor costs and requires specialized talent investment. Aiming at the shortcomings of traditional machine learning modeling solutions, automatic machine learning (AutoML) was created. The purpose of automatic machine learning is to use automated data-driven methods to determine machine learning solutions.
  • the exemplary embodiments of the present disclosure aim to provide a solution for realizing automatic machine learning in which a machine learning model is online, so as to reduce the cost for users to develop automatic machine learning.
  • a method for realizing automatic machine learning includes: obtaining process configuration information set by a user for characterizing at least part of the machine learning modeling process, and the process configuration information includes one or more Operation steps; obtain parameter configuration information set by the user for at least part of the machine learning modeling process, the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation step; at least part of the value determined based on the process configuration information and the parameter configuration information Performing at least part of the machine learning modeling process to obtain multiple execution results for different value combinations of the operating parameters; and outputting the preferred values of at least part of the operating parameters according to the multiple execution results.
  • an apparatus for realizing automatic machine learning which includes: a first acquisition module configured to acquire process configuration information set by a user for characterizing at least part of the machine learning modeling process, and the process
  • the configuration information includes one or more operation steps;
  • the second obtaining module is used to obtain the parameter configuration information set by the user for at least part of the machine learning modeling process, and the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation steps
  • the execution module is used to execute at least part of the machine learning modeling process based on the different value combinations of the process configuration information and the at least part of the operating parameters determined based on the parameter configuration information to obtain multiple execution results; and the output module is used to obtain multiple execution results
  • the execution result outputs the preferred values of at least part of the operating parameters.
  • a system including at least one computing device and at least one storage device storing instructions is proposed, wherein when the instructions are executed by at least one computing device, at least one computing device is The method mentioned in the first aspect.
  • a computer-readable storage medium storing instructions, wherein, when the instructions are executed by at least one computing device, at least one computing device is caused to execute as described in the first aspect of the present disclosure. method.
  • a computing device including a processor and a memory, and a set of computer-executable instructions is stored in the memory.
  • the processor is caused to perform the following steps: obtain process configuration information set by the user for characterizing at least part of the machine learning modeling process, where the process configuration information includes one or more operation steps;
  • the parameter configuration information set by the learning modeling process the parameter configuration information including the value space of at least part of the operating parameters involved in the operation step; the at least determined based on the process configuration information and the parameter configuration information
  • a combination of different values of part of the operating parameters is executed to execute the at least part of the machine learning modeling process to obtain multiple execution results; and the preferred values of the at least part of the operating parameters are output according to the multiple execution results.
  • Fig. 1 shows a flowchart of a method for realizing automatic machine learning according to an exemplary embodiment of the present disclosure
  • Figure 2 shows a calculation diagram used to characterize the machine learning feature selection process
  • Fig. 3 shows a structural block diagram of an apparatus for realizing automatic machine learning according to an exemplary embodiment of the present disclosure.
  • Fig. 1 shows a flowchart of a method for realizing automatic machine learning according to an exemplary embodiment of the present disclosure.
  • the method shown in FIG. 1 can be completely implemented in software through a computer program, and the method shown in FIG. 1 can also be executed by a specially configured computing device.
  • step S110 process configuration information set by the user for representing at least a part of the machine learning modeling process is obtained, and the process configuration information includes one or more operation steps. Among them, different operation steps may have a predetermined execution sequence.
  • At least part of the machine learning modeling process can be a complete machine learning modeling process, or a part of the process in the machine learning modeling process.
  • at least part of the machine learning modeling process may include but not limited to data splicing process, data splitting process, feature generation process, model building process, model training process, model testing process, model evaluation process, model application process, etc. One or more of.
  • the present disclosure can obtain the process configuration information set by the user in a variety of ways.
  • the present disclosure can provide users with multiple ways of setting process configuration information, so as to obtain process configuration information set by users in multiple ways. Therefore, the present disclosure supports the user to set process configuration information in a variety of ways, that is, the process configuration information can be set by the user in a variety of ways.
  • the process configuration information set by different setting methods may be different forms of information, that is, the process configuration information mentioned in the present disclosure may refer to information corresponding to multiple forms set by the user in multiple ways.
  • the process configuration information can be written by the user based on a language based on specific rules.
  • the user can write the process configuration information by writing program code.
  • users can be provided with a data upload interface to obtain files uploaded by users through the data upload interface, and process configuration information can be determined by parsing the files.
  • the files can be written by the user in a language based on specific rules.
  • the file can refer to the user Program code written for the at least part of the machine learning modeling process, where the program code defines one or more operation steps and the execution sequence between different operation steps.
  • the process configuration information may also be set by the user through a visual operation method (such as drag and drop).
  • a visual operation method such as drag and drop
  • an interactive interface for setting the at least part of the machine learning modeling process can be shown to the user, and process configuration information set by the user through the interactive interface can be obtained.
  • the user can set the process configuration information by constructing a flowchart representing at least part of the machine information modeling process in the interactive interface, that is, the process configuration information can be a flowchart constructed by the user in the interactive interface.
  • multiple nodes (operation nodes and data nodes) that can be selected by the user can be displayed in the interactive interface. The user can configure the attribute information of the node by selecting the node, and connect the node by way of connection.
  • the execution logic in between is configured to set the process configuration information.
  • the content that can be displayed in the interactive interface and the specific implementation process of the configuration information of the user setting process through the interactive interface it is not the focus of the present disclosure, and therefore will not be described in detail.
  • step S120 the parameter configuration information set by the user for at least part of the machine learning modeling process is obtained, and the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation step.
  • step S110 may be executed first, and then step S120; or step S120 may be executed first, and then step S110 may be executed; or step S110 and step S120 may also be executed at the same time in no particular order.
  • the parameter configuration information may be set by the user when setting the process configuration information, or may be set by the user after setting the process configuration information.
  • the user may configure the value space of at least part of the operation parameters involved in the operation steps in the process configuration information in the process of setting the process configuration information to set the parameter configuration information.
  • the parameter configuration information set by the user can be obtained in various ways.
  • the present disclosure can provide users with multiple ways of setting parameter configuration information, so as to obtain parameter configuration information set by users in multiple ways. Therefore, the present disclosure supports the user to set the parameter configuration information in a variety of ways, that is, the parameter configuration information can be set by the user in a variety of ways.
  • the parameter configuration information set by different setting methods may be different forms of information, that is, the parameter configuration information mentioned in the present disclosure may refer to information corresponding to multiple forms set by the user in a variety of ways.
  • the parameter configuration information can be written by the user based on a language based on specific rules.
  • the user can write the parameter configuration information by writing program code.
  • users can be provided with a data upload interface to obtain files uploaded by users through the data upload interface, and parameter configuration information can be determined by parsing the files.
  • the files can be written by the user based on a language based on specific rules.
  • the file can refer to the user Program code written for process configuration information, where the program code defines the value space of at least part of the operating parameters involved in one or more operating steps.
  • the file mentioned here and the file mentioned in step S110 above may refer to the same file, that is, the user can upload a file that includes both process configuration information and parameter configuration information through the data upload interface.
  • process configuration information and parameter configuration information can be obtained by analyzing files uploaded by users. For example, the user can define the value space of at least part of the operating parameters involved in the operation steps while compiling the process configuration information used to characterize at least part of the machine learning modeling process based on a language of specific rules.
  • the parameter configuration information may also be set by the user through a visual operation.
  • the user may be shown an interactive interface for setting the value space of the operation parameter involved in the operation step in the process configuration information, and the parameter configuration information set by the user through the interactive interface may be obtained.
  • the user can define the value space of at least part of the operating parameters involved in the operation steps in the process configuration information while setting the process configuration information through the interactive interface to set the parameter configuration information.
  • the operation steps in the process configuration information may include operation nodes and data nodes, the input and output of the operation nodes are all data nodes, and the parameter configuration information includes the value space of at least part of the operation parameters related to the operation node.
  • the process configuration information can be a calculation graph composed of data nodes and operation nodes.
  • the calculation graph can be regarded as a directed acyclic graph composed of data nodes and operation nodes.
  • the calculation graph can clearly define the execution logic of at least part of the machine learning modeling process. Users can package their original code into data nodes and operation nodes through the base classes or methods provided by the framework, and connect them into calculation graphs.
  • users can also define operation nodes and data nodes in the form of drag and drop on the graphical interface to construct a calculation graph.
  • the user can also define a value space for the operation parameters involved in the operation node, so as to change some or all of the operation parameters in the operation node from a certain item with a certain value to a value with an undetermined value. Undefined items, the value of the operating parameter needs to be selected from the value space.
  • the value space of all operating parameters in the calculation graph is the total value space corresponding to the current calculation graph. Generally speaking, the product of all the value spaces constitutes the total search space.
  • step S130 based on the different value combinations of the process configuration information and at least part of the operating parameters determined based on the parameter configuration information, at least part of the machine learning modeling process is executed, and multiple execution results are obtained.
  • At least part of the machine learning modeling process represented by the process configuration information has parameters whose values are to be determined. Based on the parameter configuration information, different combinations of values of some of the parameters to be determined can be determined.
  • the process configuration information and each combination of values can constitute at least part of the machine learning modeling process for performing logical determination. Therefore, for each value combination, the machine learning modeling process represented by the process configuration information can be executed to obtain multiple execution results corresponding to different value combinations.
  • the process configuration information also defines at least one target node, and the target node is a data node.
  • the target node is used as the evaluation index of the value combination, that is, the optimization target.
  • the target node may refer to the execution result of at least part of the operation logic of the machine learning modeling process represented by the process configuration information.
  • the execution result corresponding to the target node can be transformed into an evaluable scalar, such as maximum or minimum.
  • the goal of the present disclosure is to hope that the result of the target node is optimal.
  • one or more value combinations of at least part of the operating parameters can be determined according to the parameter configuration information; then, according to the process configuration information and the determined value combination, at least part of the machine learning model can be executed.
  • Model process to get the execution result of the target node. According to the execution result of the target node, the pros and cons of the currently adopted value combination can be evaluated.
  • the present disclosure can calculate the value combination that needs to be performed for the next group or array according to the value combination determined in history, and in this process, certain pruning optimization can be done according to the existing algorithm to reduce the size of the search space and speed up the operation.
  • the preferred value of the parameter refers to a collection of all possible value combinations, and the search space can be determined according to the value space represented by the parameter configuration information and the historical value combination.
  • the present disclosure may add the value combination and execution result determined in the current round to the historical information during each iteration, and then use a predetermined search strategy to determine the location of the current round according to the parameter configuration information and historical information.
  • a predetermined search strategy may include but is not limited to at least one of the following: random search strategy, enumerated search strategy, Bayesian optimization search strategy, and grid search strategy.
  • the execution result obtained by executing the at least part of the machine learning modeling process based on the historical value combination may also be referred to. That is, the next set or multiple sets of value combinations can be determined according to the historical value combinations and execution results, and in this process, certain pruning optimizations can be made according to the existing algorithms to reduce the size of the search space and speed up Get the optimal solution.
  • the present disclosure can also obtain the filter condition configuration information set by the user to filter the values of at least part of the operating parameters, and the filter condition configuration information can include one or more filters for the values of at least part of the operating parameters. Filter criteria. After the value combination of the at least part of the operating parameters is determined based on the parameter configuration information, the value combination may be filtered according to the filter condition configuration information to eliminate the value combination that does not meet the preset standard. Among them, the eliminated value combination can be regarded as an infeasible solution and discarded, that is, the eliminated value combination no longer participates in the execution of at least part of the machine learning modeling process.
  • the filtering condition configuration information may include filtering conditions for filtering parameter values that cause high resource consumption, and the filtering conditions may limit at least one of the range of time-consuming operation and memory occupation of the operation steps. For example, limit the running time to be lower than the first threshold, or limit the memory usage to be lower than the second threshold, or limit the running time to be lower than the first threshold and limit the memory usage to be lower than the second threshold.
  • the running time of one or several operation steps under a certain combination of values is too long (for example, greater than the first threshold) or the memory footprint is too large (for example, greater than the second threshold), it exceeds the limit of the filter condition, Then the set of value combinations can be discarded as an infeasible solution and no longer executed, that is, the final scoring result is not required. Therefore, when the total value space of the at least part of the operating parameters is large and the search uncertainty is high, the configuration information according to the filtering conditions set by the user can make the search process more controllable to a certain extent, In turn, the optimal value finally obtained is more in line with actual requirements.
  • step S140 the preferred values of at least part of the operating parameters are output according to the multiple execution results.
  • the execution result can be used as an evaluation index to reflect the pros and cons of the adopted value combination. According to the performance of the execution result, a combination of values corresponding to the best or better execution result may be selected from a plurality of execution results as the preferred values of the at least part of the operation parameters.
  • the machine learning modeling process represented by the process configuration information can be regarded as composed of multiple operation steps. For different value combinations, during the process of performing machine learning modeling, there may be operating steps with unchanged values of operating parameters. For these operating steps, the execution results are generally fixed. Therefore, from the perspective of saving computing resources, the present disclosure can also save the execution result of the operation step with the same value of the operating parameter. In the process of performing the at least part of the machine learning modeling, the at least part of the machine learning can be ignored. During the modeling process, execute the operation step with the unchanged value of the operation parameter, and call to save the execution result of the operation step in advance.
  • the present disclosure may also estimate the resource usage of the computing resources allocated for the operation steps according to the execution result of the at least part of the machine learning modeling process; adjust the computing resources allocated for the operation steps according to the estimated result. For example, if it is found that the utilization rate of the computing resources allocated for the operation step is not high after multiple executions of a certain operation step, the computing resources allocated for the operation step can be lowered.
  • the method for realizing automatic machine learning of the present disclosure can be implemented as a general parameter search framework, which can be applied to scenarios requiring a large number of parameters such as AuotML to solve the multi-parameter search and optimization problem.
  • the process configuration information mentioned above is a calculation graph as an example.
  • the parameter search framework of the present disclosure can be divided into four functional modules, including a calculation graph module, a parameter space module, a search strategy module, and an execution engine.
  • the calculation graph module is used to obtain user-defined calculation graphs.
  • the computational graph is a directed acyclic graph composed of data nodes and operation nodes.
  • the input and output of the operation nodes are data nodes, and the data nodes are used as the input and output of other operation nodes.
  • the calculation graph can clearly characterize the execution logic of at least part of the machine learning modeling process.
  • the calculation graph corresponds to the process configuration information mentioned above, that is, the process configuration information can be a calculation graph composed of data nodes and operation nodes. Users can simply use the base classes or methods provided by the framework to package their original code into data nodes and operation nodes, and connect them into a calculation graph. The connected calculation graph can automatically generate its relationship graph.
  • the user when defining a calculation graph, can use code to simply encapsulate the logic of each operation node using the function (or class) provided by the framework, and the multiple operation nodes obtained can be based on the upstream and downstream and input and output correspondences. The relationship is connected to the edge, and a calculation graph is obtained, and its content is stored in the calculation graph module.
  • the process of generating calculation graphs can use a graphical interface, that is, users can define nodes (operation nodes and data nodes) in the calculation graph in the form of drag and drop on the graphical interface. These nodes can be existing logic provided by the framework or You can support users to write a piece of custom code inside the node.
  • the parameter space module is used to obtain the parameter space configured by the user for the operation node in the calculation graph (corresponding to the value space of the operation parameter mentioned above).
  • the user defines the operation node in the calculation graph, he can add a sub-parameter space for it, and change the value of an operation parameter in the current operation node from a certain item to an undetermined item, and the value of the operation parameter is running You can select one from this sub-parameter space.
  • the sub-parameter spaces on all operation nodes in the calculation graph are combined, that is, the parameter space corresponding to the current calculation graph.
  • the product of all sub-parameter space options constitutes the total parameter space.
  • the user can use a special identifier to characterize the sub-parameter space (for example, the Choice class provided by the framework), fill the special identifier in the position of the operating parameter involved in the operating node, and then generate the calculation
  • the special mark can be automatically identified when the picture is displayed and added to the parameter space module for management.
  • the definition of the sub-parameter space can also be done in the graphical interface.
  • the user can also use a special option to define a parameter as a sub-parameter space.
  • the present disclosure can also provide a default sub-parameter space to reduce the threshold for users to use, that is, for some operating parameters, the value space can be specified by the system without user definition.
  • Figure 2 shows a computational graph used to characterize the machine learning feature selection process.
  • the circle represents the operation node, and the square represents the data node.
  • the operation node read_1 in Figure 2 is the operation of reading data, which is used to read data from the hard disk into the memory; the data node variable_1 is used to characterize the original data in the memory; the operation node make_dataset_1 is used to select k columns from the original data , And divided into training set and test set by row, which contains a sub-parameter space (corresponding to the value space mentioned above), that is, k randomly selected from the n columns of data in variable_1; the data node variable_2 is used for characterization The training data set containing only k columns; the data node variable_3 is used to characterize the test data set containing only k columns; the operation node lgb_train_1 is used to use LigthGBM to obtain the model on the training data set, and calculate the auc (accurate) of the current model according to the test set Degree), lgb_train_1 contains two sub-parameter spaces, one is the learning rate of LightGBM is uniformly sampled between [0.1,0.2
  • the search strategy module is used to determine multiple value combinations based on the calculation graph and the parameter space.
  • a target node that is, an optimization target.
  • the optimization target is preferably a data node with a scalar content.
  • This node is the result of the calculation logic represented by the current calculation graph.
  • the target of the parameter search is this
  • the result is optimal (maximum or minimum, usually any evaluation method can be transformed into a scalar).
  • the search strategy module can calculate the next set or sets of parameter value combinations that need to be searched based on the combination of historical parameter values and the execution results of the target node. In this process, certain cuts can be made according to the existing algorithm. Branch optimization to reduce the size of the search space and speed up the optimal solution.
  • the search strategy module provides the next group or groups of parameter value combinations that need to be searched.
  • the parameter value combination and the original calculation graph form a set of certain calculation graph logic, and then the execution framework can automatically schedule execution according to machine resource conditions.
  • These calculation graph logics calculate the execution result of the target node corresponding to the parameter value combination, and add it to the historical information for the search strategy module to determine the parameter value combination that needs to be searched for the next round.
  • the search strategy can use random search, each run in each sub-parameter space Randomly select a value, after running a total of M times (random search parameter), select the best result from it.
  • the value of M can be configured by the user.
  • the code logic in the above operation node can directly use the code logic in the user’s original machine learning application, just through simple packaging, and some original fixed parameters into sub-parameter space (that is, the value Range).
  • the search strategy module supports the generation of multiple sets of parameter value combinations, and multiple sets of calculation graphs are generated at the same time to improve the utilization of computing resources.
  • the execution engine is responsible for generating one or several calculation graphs determined by the execution logic according to the value combination determined by the search strategy module, and running to obtain the execution result (such as the value of the target node).
  • the execution engine can be used to determine which operation step or steps should be executed by each processing node in the distributed system.
  • the resource utilization efficiency in the distributed environment needs to be considered. It can also be used to perform historical execution information on a Simple prediction of resource utilization in operation steps. For example, after multiple executions of a certain operation step, it is found that only one cpu is needed to meet its needs, then it can be calculated at the same time as other intensive operation steps. Or the resource utilization rate of a calculation graph is always low, you can increase the number of calculation graphs returned by the search strategy module to increase the degree of parallelism.
  • the execution engine can identify the node that can be skipped according to the parameter set and the current executed state, and directly use the output of the node. At the same time, the execution engine can also release some resources in advance that will no longer be used by downstream nodes in the calculation graph according to the total resources configured by the user (memory, cpu consumption, etc.).
  • a machine learning model (such as a neural network model) corresponding to at least part of the machine learning modeling process can be used to predict image categories, text categories, voice emotions, fraudulent transactions, advertising click-through rates, and the like.
  • the machine learning model aims to predict problems related to objects or events in related scenes. For example, it can be used to predict image categories, predict text in images, predict text categories, predict voice emotion categories, predict fraudulent transactions, predict advertising click-through rates, predict commodity prices, etc., so that the prediction results can be directly used as a basis for decision-making or further combined with other rules And become the basis for decision-making.
  • the machine learning model can be used in any of the following scenarios: online content (such as news, advertisements, music, etc.) recommendation; credit card fraud detection; abnormal behavior detection; intelligent marketing; intelligent investment advisors; network traffic analysis .
  • the applicable scenarios of the machine learning model in the embodiments of the present disclosure include but are not limited to the following scenarios:
  • Image processing scenarios including: optical character recognition OCR, face recognition, object recognition, and image classification; more specifically, for example, OCR can be applied to bill (such as invoice) recognition, handwriting recognition, etc., face recognition can be applied to security
  • OCR optical character recognition
  • face recognition can be applied to security
  • object recognition can be applied to traffic sign recognition in autonomous driving scenes
  • image classification can be applied to “purchase photos” and “find the same money” on e-commerce platforms.
  • Voice recognition scenarios including products that can perform human-computer interaction through voice, such as mobile phone voice assistants (such as Apple mobile phone Siri), smart speakers, etc.;
  • Natural language processing scenarios including: review text (such as contracts, legal documents, customer service records, etc.), spam identification (such as spam SMS identification), and text classification (emotions, intentions, and topics, etc.);
  • Automatic control scenarios including: mine group adjustment operation prediction, wind turbine adjustment operation prediction, and air conditioning system adjustment operation prediction; specifically, a group of adjustment operations that can predict a high mining rate for mine groups, and predict high power generation efficiency for wind turbines
  • a set of adjustment operations can be predicted to meet demand while saving energy consumption;
  • Intelligent Q&A scenarios including: chat robots and intelligent customer service;
  • Business decision-making scenarios include: scenarios in the financial technology, medical, and municipal fields, including:
  • the field of financial technology includes: marketing (such as coupon usage prediction, advertising click behavior prediction, user portrait mining, etc.) and customer acquisition, anti-fraud, anti-money laundering, underwriting and credit scoring, and commodity price prediction;
  • the medical field includes: disease screening and prevention, personalized health management and auxiliary diagnosis;
  • Municipal areas include: social governance and supervision and law enforcement, resource environment and facility management, industrial development and economic analysis, public services and people's death protection, smart cities (the deployment and management of various urban resources such as public transportation, online car-hailing, shared bicycles, etc.);
  • Search scenarios including: web search, image search, text search, video search, etc.;
  • Abnormal behavior detection scenarios including: abnormal behavior detection of electricity consumption by State Grid customers, network malicious traffic detection, abnormal behavior detection in operation logs, etc.
  • the method for realizing automatic machine learning of the present disclosure can also be realized as a device for realizing automatic machine learning.
  • Fig. 3 shows a structural block diagram of an apparatus for realizing automatic machine learning according to an exemplary embodiment of the present disclosure.
  • the functional unit of the device for realizing automatic machine learning can be realized by hardware, software, or a combination of hardware and software that realizes the principles of the present disclosure.
  • the functional units described in FIG. 3 can be combined or divided into sub-units to realize the principles of the present disclosure. Therefore, the description herein may support any possible combination, or division, or more specific limitation of the functional units described herein.
  • the device 300 for implementing automatic machine learning includes a first acquisition module 310, a second acquisition module 320, an execution module 330 and an output module 340.
  • the first obtaining module 310 is configured to obtain process configuration information set by a user for representing at least a part of the machine learning modeling process, the process configuration information including one or more operation steps.
  • the second obtaining module 320 is configured to obtain parameter configuration information set by the user for the at least part of the machine learning modeling process, the parameter configuration information including the value space of at least part of the operation parameters involved in the operation step.
  • the operation step may include an operation node and a data node, the input and output of the operation node are both data nodes, and the parameter configuration information may include the value space of at least part of the operation parameters related to the operation node.
  • the process configuration information can be a calculation graph composed of data nodes and operation nodes.
  • the apparatus 300 for implementing automatic machine learning may further include a providing module and a receiving module.
  • the providing module is configured to provide a data upload interface to the user
  • the receiving module is configured to receive a file uploaded by the user through the data upload interface, where the file may be a language of the user based on specific rules for the at least part of the machine learning modeling process Prepared.
  • the first obtaining module 310 may parse the file to determine process configuration information.
  • the file may also define the value space of at least part of the operation parameters involved in the operation step, and the second acquisition module 320 may parse the file to determine the parameter configuration information.
  • the apparatus 300 for implementing automatic machine learning may further include a first display module.
  • the first display module is configured to display an interactive interface for setting the at least part of the machine learning modeling process to the user, wherein the first obtaining module 310 can obtain the process configuration set by the user through the interactive interface information.
  • the device 300 for implementing automatic machine learning may further include a second display module.
  • the second display module is configured to display to the user an interactive interface for setting the value space of the operation parameter involved in the operation step, wherein the second obtaining module 320 can obtain the user setting through the interactive interface Parameter configuration information.
  • the execution module 330 is configured to execute the at least part of the machine learning modeling process based on the process configuration information and different value combinations of the at least part of the operating parameters determined based on the parameter configuration information to obtain multiple execution results.
  • the process configuration information further defines at least one target node, and the target node is a data node.
  • the apparatus 300 for implementing automatic machine learning may further include a determining module. In each iteration process: the determining module may determine one or more value combinations of the at least part of the operating parameters according to the parameter configuration information; the execution module 330 may determine according to the process configuration information and the The value combination determined by the determining module executes the at least part of the machine learning modeling process to obtain the execution result of the target node.
  • the apparatus 300 for implementing automatic machine learning may further include an add module.
  • the adding module adds the value combination determined in the current round and the execution result to the historical information; the determining module uses a predetermined search strategy to determine according to the parameter configuration information and the historical information One or more value combinations of at least part of the operating parameters in the current round.
  • the predetermined search strategy may include but is not limited to at least one of the following: random search strategy, enumerated search strategy, Bayesian optimization search strategy, and grid search strategy.
  • the device 300 for realizing automatic machine learning may further include a saving module configured to save the execution result of the operation step in which the value of the operation parameter is unchanged.
  • a saving module configured to save the execution result of the operation step in which the value of the operation parameter is unchanged.
  • the device 300 for implementing automatic machine learning may also include an estimation module and an adjustment module.
  • the estimation module is configured to estimate the resource usage of the computing resources allocated for the operation step according to the execution result of the at least part of the machine learning modeling process; the adjustment module is configured to adjust the resource usage according to the estimation result.
  • the computing resources allocated by the operation steps may also include an estimation module and an adjustment module.
  • the estimation module is configured to estimate the resource usage of the computing resources allocated for the operation step according to the execution result of the at least part of the machine learning modeling process; the adjustment module is configured to adjust the resource usage according to the estimation result.
  • the computing resources allocated by the operation steps may also include an estimation module and an adjustment module.
  • the output module 340 is configured to output the preferred values of the at least part of the operating parameters according to the multiple execution results.
  • the device 300 for implementing automatic machine learning may further include a third acquisition module and a screening module.
  • the third acquiring module is configured to acquire the filter condition configuration information set by the user and used to filter the values of at least part of the operating parameters.
  • the screening module is used to screen different value combinations of at least part of the operating parameters determined based on the parameter configuration information according to the screening condition configuration information.
  • the execution module can execute at least part of the machine learning modeling process based on the process configuration information and the filtered value combination.
  • One or more filter conditions can be included in the filter condition configuration information.
  • the filter module may filter the value combination according to the filter condition configuration information to eliminate the value combination that does not meet the preset standard. Among them, the eliminated value combination can be regarded as an infeasible solution and discarded, that is, the eliminated value combination no longer participates in the execution of at least part of the machine learning modeling process.
  • FIGS. 1 to 3 The method and apparatus for implementing automatic machine learning according to exemplary embodiments of the present disclosure are described above with reference to FIGS. 1 to 3. It should be understood that the above method can be implemented by a program recorded on a computer-readable medium.
  • a computer-readable storage medium storing instructions can be provided, wherein the computer can be A computer program for executing the method for realizing automatic machine learning of the present disclosure (for example, as shown in FIG. 1) is recorded on the read storage medium.
  • the computer program in the above-mentioned computer-readable storage medium can be run in an environment deployed in computer equipment such as a client, a host, a proxy device, a server, etc. It should be noted that the computer program can be used to perform steps other than those shown in FIG. 1 In addition, it can also be used to perform additional steps in addition to the above steps or perform more specific processing when performing the above steps. The content of these additional steps and more specific processing has been described with reference to FIG. 1, here in order to avoid repetition It will not be repeated here.
  • the device for realizing automatic machine learning can completely rely on the operation of the computer program to realize the corresponding function, that is, the functional architecture of each device and the computer program corresponds to each step, so that the entire device It is called by a special software package (for example, lib library) to realize the corresponding function.
  • a special software package for example, lib library
  • each device shown in FIG. 3 can also be implemented by hardware, software, firmware, middleware, microcode, or any combination thereof.
  • the program code or code segment used to perform the corresponding operation can be stored in a computer-readable storage medium such as a storage medium, so that the processor can read and run the corresponding Program code or code segment to perform the corresponding operation.
  • the exemplary embodiments of the present disclosure may also be implemented as a computing device including a storage component and a processor.
  • the storage component stores a set of computer-executable instructions.
  • the processor is made to execute the method for realizing automatic machine learning mentioned above.
  • the storage component is also the memory.
  • the step of obtaining process configuration information set by the user to characterize at least part of the machine learning modeling process may include: providing a data upload interface to the user; receiving a file uploaded by the user through the data upload interface, where the file is based on a specific rule by the user The language is written for at least part of the machine learning modeling process; the file is parsed to determine the process configuration information.
  • the file may also define the value space of at least part of the operation parameters involved in the operation step, and the step of obtaining parameter configuration information set by the user for at least part of the machine learning modeling process may include: parsing the file to determine the parameter configuration information.
  • the step of obtaining process configuration information set by the user for characterizing at least part of the machine learning modeling process may include: presenting to the user an interactive interface for setting at least part of the machine learning modeling process; obtaining user settings through the interactive interface Process configuration information.
  • the step of obtaining the parameter configuration information set by the user for at least part of the machine learning modeling process may include: showing the user an interactive interface for setting the value space of the operation parameter involved in the operation step; obtaining the user setting through the interactive interface Parameter configuration information.
  • the process configuration information may also define at least one target node, the target node is a data node, where at least part of the machine learning modeling process is executed based on the process configuration information and different value combinations of at least part of the operating parameters determined based on the parameter configuration information
  • the steps of may include iteratively performing the following operations: determining one or more value combinations of at least part of the operating parameters according to the parameter configuration information; performing at least part of the machine learning modeling process according to the process configuration information and the determined value combination, to obtain The execution result of the target node.
  • each iteration process it also includes the following steps: adding the value combination determined in the current round and the execution result to the historical information, and determining one or more value combinations of at least part of the operating parameters according to the parameter configuration information includes : According to parameter configuration information and historical information, use a predetermined search strategy to determine one or more value combinations of at least part of the operating parameters of the current round.
  • the search strategy may include at least one of the following: random search strategy; enumerated search strategy; Bayesian optimization search strategy; grid search strategy.
  • the steps executed by the processor may further include: saving the execution result of the operation step in which the value of the operating parameter is unchanged; during the execution of at least part of the machine learning modeling process, ignoring the value of the operating parameter in the process of at least part of the machine learning modeling process. Change the execution of the operation step, and call to save the execution result of the operation step in advance.
  • the steps executed by the processor may further include: estimating the resource usage of the computing resources allocated for the operation steps according to the execution result of at least part of the machine learning modeling process; and adjusting the computing resources allocated for the operation steps according to the estimation result.
  • the steps executed by the processor may further include: obtaining filter condition configuration information set by the user for screening at least part of the values of the operating parameters, and the step of executing at least part of the machine learning modeling process may include: configuring the information according to the filter conditions Filtering different value combinations of at least part of the operating parameters determined based on the parameter configuration information; performing at least part of the machine learning modeling process based on the process configuration information and the filtered value combination.
  • the computing device can be deployed in a server or a client, and can also be deployed on a node device in a distributed network environment.
  • the computing device may be a PC computer, a tablet device, a personal digital assistant, a smart phone, a web application, or other devices capable of executing the above set of instructions.
  • the computing device does not have to be a single computing device, and may also be any device or a collection of circuits that can execute the above-mentioned instructions (or instruction sets) individually or jointly.
  • the computing device may also be a part of an integrated control system or a system manager, or may be configured as a portable electronic device interconnected with a local or remote (e.g., via wireless transmission) interface.
  • the processor may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor.
  • the processor may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, and the like.
  • Some operations described in the method for realizing automatic machine learning according to exemplary embodiments of the present disclosure can be realized by software, some operations can be realized by hardware, and in addition, it can also be realized by a combination of software and hardware. These operations.
  • the processor can run instructions or codes stored in one of the storage components, where the storage component can also store data. Instructions and data can also be sent and received via a network via a network interface device, wherein the network interface device can use any known transmission protocol.
  • the storage component can be integrated with the processor, for example, RAM or flash memory is arranged in an integrated circuit microprocessor or the like.
  • the storage component may include an independent device, such as an external disk drive, a storage array, or any other storage device that can be used by a database system.
  • the storage component and the processor may be operatively coupled, or may communicate with each other, for example, through an I/O port, a network connection, or the like, so that the processor can read files stored in the storage component.
  • the computing device may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, a mouse, a touch input device, etc.). All components of the computing device can be connected to each other via at least one of a bus and a network.
  • a video display such as a liquid crystal display
  • a user interaction interface such as a keyboard, a mouse, a touch input device, etc.
  • an apparatus for implementing automatic machine learning may include a storage component and a processor, wherein the storage component stores a set of computer-executable instructions, and when the set of computer-executable instructions is When the processor executes, it executes the above-mentioned method for realizing automatic machine learning.
  • Exemplary embodiments of the present disclosure may also be implemented as a system including at least one computing device and at least one storage device storing instructions, wherein when the instructions are executed by the at least one computing device, the at least one The computing device executes the method for realizing automatic machine learning as described above in this disclosure.

Abstract

A method and device for realizing automatic machine learning, comprising: obtaining process configuration information set by a user and used for representing at least part of a machine learning modeling process, the process configuration information comprising one or more operation steps (S110); obtaining parameter configuration information set by the user for the at least part of the machine learning modeling process, the parameter configuration information comprising a value space of at least part of operation parameters involved in the operation steps (S120); on the basis of the process configuration information and different value combinations of the at least part of the operation parameters determined on the basis of the parameter configuration information, executing the at least part of the machine learning modeling process to obtain a plurality of execution results (S130); and outputting preferred values of the at least part of the operation parameters according to the plurality of execution results (S140). Therefore, the automatic machine learning can be realized by obtaining the process configuration information and the parameter configuration information set by the user, thereby reducing the development cost of the automatic machine learning.

Description

实现自动机器学习的方法及装置Method and device for realizing automatic machine learning
本公开要求申请日为2020年3月25日、申请号为202010219796.5、发明名称为“实现自动机器学习的方法及装置”的中国专利申请的优先权。This disclosure claims the priority of a Chinese patent application whose application date is March 25, 2020, the application number is 202010219796.5, and the invention title is "Method and Device for Realizing Automatic Machine Learning".
技术领域Technical field
本公开总体说来涉及人工智能领域,更具体地说,涉及一种实现自动机器学习的方法及装置。The present disclosure generally relates to the field of artificial intelligence, and more specifically, to a method and device for realizing automatic machine learning.
背景技术Background technique
机器学习是人工智能研究发展到一定阶段的必然产物,其致力于通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,通过机器学习算法,可从数据中产生“模型”,也就是说,将经验数据提供给机器学习算法,就能基于这些经验数据产生模型,在面对新的情况时,模型会提供相应的判断,即,预测结果。Machine learning is an inevitable product of the development of artificial intelligence research to a certain stage. It is committed to improving the performance of the system itself through computational means and using experience. In a computer system, "experience" usually exists in the form of "data". Through machine learning algorithms, a "model" can be generated from data. That is to say, by providing empirical data to the machine learning algorithm, it can be generated based on these empirical data The model, when faced with a new situation, the model will provide the corresponding judgment, that is, the prediction result.
一个机器学习模型通常解决的是特定场景下的问题,而开发机器学习模型需要投入较多的人力成本,并且需要专门的人才投入。针对传统机器学习建模方案存在的不足,产生了自动机器学习(AutoML),自动机器学习的目的是使用自动化的数据驱动方式来确定机器学习解决方案。A machine learning model usually solves a problem in a specific scenario, and the development of a machine learning model requires a lot of labor costs and requires specialized talent investment. Aiming at the shortcomings of traditional machine learning modeling solutions, automatic machine learning (AutoML) was created. The purpose of automatic machine learning is to use automated data-driven methods to determine machine learning solutions.
但是目前自动机器学习的开发成本较高,如何使得用户通过简单操作就可以实现自动机器学习,以降低自动机器学习的开发成本,是目前亟需解决的一个问题。However, the current development cost of automatic machine learning is relatively high. How to enable users to realize automatic machine learning through simple operations so as to reduce the development cost of automatic machine learning is a problem that needs to be solved urgently.
发明内容Summary of the invention
本公开的示例性实施例旨在提供一种机器学习模型上线的实现自动机器学习的方案,以降低用户开发自动机器学习的成本。The exemplary embodiments of the present disclosure aim to provide a solution for realizing automatic machine learning in which a machine learning model is online, so as to reduce the cost for users to develop automatic machine learning.
根据本公开的第一个方面,提出了一种实现自动机器学习的方法,包括:获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,过程配置信息包括一个或多个操作步骤;获取用户针对至少部分机器学习建模过程设定的参数配置信息,参数配置信息包括操作步骤涉及的至少部分操作参数的取值空间;基于过程配置信息和基于参数配置信息确定的至少部分操作参数的不同取值组合,执行至少部分机器学习建模过程,得到多个执行结果;以及根据多个执行结果输出至少部分操作参数的优选取值。According to the first aspect of the present disclosure, a method for realizing automatic machine learning is proposed, which includes: obtaining process configuration information set by a user for characterizing at least part of the machine learning modeling process, and the process configuration information includes one or more Operation steps; obtain parameter configuration information set by the user for at least part of the machine learning modeling process, the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation step; at least part of the value determined based on the process configuration information and the parameter configuration information Performing at least part of the machine learning modeling process to obtain multiple execution results for different value combinations of the operating parameters; and outputting the preferred values of at least part of the operating parameters according to the multiple execution results.
根据本公开的第二个方面,提出了一种实现自动机器学习的装置,包括:第一获取模块,用于获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,过程配置信息包括一个或多个操作步骤;第二获取模块,用于获取用户针对至少部分机器学习建模过程设定的参数配置信息,参数配置信息包括操作步骤涉及的至少部分操作参数的取值空间;执行模块,用于基于过程配置信息和基于参数配置信息确定的至少部分操作参数的不同取值组合,执行至少部分机器学习建模过程,得到多个执行结果;以及输出模块,用于根据多个执行结果输出至少部分操作参数的优选取值。According to a second aspect of the present disclosure, an apparatus for realizing automatic machine learning is proposed, which includes: a first acquisition module configured to acquire process configuration information set by a user for characterizing at least part of the machine learning modeling process, and the process The configuration information includes one or more operation steps; the second obtaining module is used to obtain the parameter configuration information set by the user for at least part of the machine learning modeling process, and the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation steps The execution module is used to execute at least part of the machine learning modeling process based on the different value combinations of the process configuration information and the at least part of the operating parameters determined based on the parameter configuration information to obtain multiple execution results; and the output module is used to obtain multiple execution results The execution result outputs the preferred values of at least part of the operating parameters.
根据本公开的第三个方面,提出了一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,指令在被至少一个计算装置运行时,促使至少一个计算装置执行如本公开第一个方面述及的方法。According to a third aspect of the present disclosure, a system including at least one computing device and at least one storage device storing instructions is proposed, wherein when the instructions are executed by at least one computing device, at least one computing device is The method mentioned in the first aspect.
根据本公开的第四个方面,提出了一种存储指令的计算机可读存储介质,其中,当指令被至少一个计算装置运行时,促使至少一个计算装置执行如本公开第一个方面述及的方法。According to a fourth aspect of the present disclosure, a computer-readable storage medium storing instructions is proposed, wherein, when the instructions are executed by at least one computing device, at least one computing device is caused to execute as described in the first aspect of the present disclosure. method.
根据本公开的第五个方面,提出了一种计算装置,包括处理器和存储器,所述存储器中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,使所述处理器执行如下步骤:获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,所述过程配置信息包括一个或多个操作步骤;获取用户针对所述至少部分机器学习建模过程设定的参数配置信息,所述参数配置信息包括所述操作步骤涉及的至少部分操作参数的取值空间;基于所述过程配置信息和基于所述参数配置信息确定的所述至少部分操作参数的不同取值组合,执行所述至少部分机器学习建模过程,得到多个执行结果;以及根据所述多个执行结果输出所述至少部分操作参数的优选取值。According to a fifth aspect of the present disclosure, a computing device is provided, including a processor and a memory, and a set of computer-executable instructions is stored in the memory. When the set of computer-executable instructions is executed by the processor, The processor is caused to perform the following steps: obtain process configuration information set by the user for characterizing at least part of the machine learning modeling process, where the process configuration information includes one or more operation steps; The parameter configuration information set by the learning modeling process, the parameter configuration information including the value space of at least part of the operating parameters involved in the operation step; the at least determined based on the process configuration information and the parameter configuration information A combination of different values of part of the operating parameters is executed to execute the at least part of the machine learning modeling process to obtain multiple execution results; and the preferred values of the at least part of the operating parameters are output according to the multiple execution results.
根据本公开示例性实施例的实现自动机器学习的方法及装置,通过获取用户设定的过程配置信息和参数配置信息,就可以实现自动机器学习,从而可以降低自动机器学习的开发成本。According to the method and device for realizing automatic machine learning according to exemplary embodiments of the present disclosure, by acquiring process configuration information and parameter configuration information set by a user, automatic machine learning can be realized, thereby reducing the development cost of automatic machine learning.
附图说明Description of the drawings
从下面结合附图对本公开实施例的详细描述中,本公开的这些方面和优点、其他方面和优点中的至少一个将变得更加清楚并更容易理解,其中:From the following detailed description of the embodiments of the present disclosure in conjunction with the accompanying drawings, at least one of these aspects and advantages, and other aspects and advantages of the present disclosure will become clearer and easier to understand, in which:
图1示出了根据本公开示例性实施例的实现自动机器学习的方法的流程图;Fig. 1 shows a flowchart of a method for realizing automatic machine learning according to an exemplary embodiment of the present disclosure;
图2示出了一种用于表征机器学习特征选择过程的计算图;Figure 2 shows a calculation diagram used to characterize the machine learning feature selection process;
图3示出了根据本公开示例性实施例的实现自动机器学习的装置的结构框图。Fig. 3 shows a structural block diagram of an apparatus for realizing automatic machine learning according to an exemplary embodiment of the present disclosure.
具体实施方式Detailed ways
为了使本领域技术人员更好地理解本公开,下面结合附图和具体实施方式对本公开的示例性实施例进行详细说明。In order to enable those skilled in the art to better understand the present disclosure, exemplary embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings and specific implementations.
图1示出了根据本公开示例性实施例的实现自动机器学习的方法的流程图。图1所示的方法可完全通过计算机程序以软件方式实现,还可通过特定配置的计算装置来执行图1所示的方法。Fig. 1 shows a flowchart of a method for realizing automatic machine learning according to an exemplary embodiment of the present disclosure. The method shown in FIG. 1 can be completely implemented in software through a computer program, and the method shown in FIG. 1 can also be executed by a specially configured computing device.
参见图1,在步骤S110,获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,过程配置信息包括一个或多个操作步骤。其中,不同操作步骤之间可以具有预定的执行顺序。Referring to FIG. 1, in step S110, process configuration information set by the user for representing at least a part of the machine learning modeling process is obtained, and the process configuration information includes one or more operation steps. Among them, different operation steps may have a predetermined execution sequence.
至少部分机器学习建模过程可以是完整的机器学习建模过程,也可以是机器学习建模过程中的部分流程。作为示例,至少部分机器学习建模过程可以包括但不限于数据拼接过程、数据拆分过程、特征生成过程、模型建立过程、模型训练过程、模型测试过程、模型评估过程、模型应用过程等诸多过程中的一项或多项。At least part of the machine learning modeling process can be a complete machine learning modeling process, or a part of the process in the machine learning modeling process. As an example, at least part of the machine learning modeling process may include but not limited to data splicing process, data splitting process, feature generation process, model building process, model training process, model testing process, model evaluation process, model application process, etc. One or more of.
本公开可以通过多种方式获取用户设定的过程配置信息。如本公开可以向用户提供多种设定过程配置信息的方式,以获取用户通过多种方式设定的过程配置信息。由此,本公开支持用户通过多种方式设定过程配置信息,即过程配置信息可以是用户通过多种方式设定的。其中,不同设定方式设置的过程配置信息可以是不同形式的信息,即本公开述及的过程配置信息可以是指用户通过多种方式设定的对应多种形式的信息。The present disclosure can obtain the process configuration information set by the user in a variety of ways. For example, the present disclosure can provide users with multiple ways of setting process configuration information, so as to obtain process configuration information set by users in multiple ways. Therefore, the present disclosure supports the user to set process configuration information in a variety of ways, that is, the process configuration information can be set by the user in a variety of ways. Among them, the process configuration information set by different setting methods may be different forms of information, that is, the process configuration information mentioned in the present disclosure may refer to information corresponding to multiple forms set by the user in multiple ways.
例如,过程配置信息可以是用户基于特定规则的语言编写的,如用户可以通过编写程序代码的方式编写过程配置信息。作为示例,可以向用户提供数据上传接口,获取用户通过数据上传接口上传的文件,通过对文件进行解析确定过程配置信息,其中文件可以是用户基于特定规则的语言编写的,如文件可以是指用户针对所述至少部分机器学习建模过程编写的程序代码,其中,程序代码定义了一个或多个操作步骤以及不同操作步骤间的执行顺序。For example, the process configuration information can be written by the user based on a language based on specific rules. For example, the user can write the process configuration information by writing program code. As an example, users can be provided with a data upload interface to obtain files uploaded by users through the data upload interface, and process configuration information can be determined by parsing the files. The files can be written by the user in a language based on specific rules. For example, the file can refer to the user Program code written for the at least part of the machine learning modeling process, where the program code defines one or more operation steps and the execution sequence between different operation steps.
再例如,过程配置信息也可以是用户通过可视化操作方式(如拖拽)设定的。作为示例,可以向用户展示用于对所述至少部分机器学习建模过程进行设置的交互界面,获取用户通过交互界面设定的过程配置信息。例如,用户可以通过在交互界面中搭建用于表征至 少部分机器信息建模过程的流程图的方式,来设定过程配置信息,也即过程配置信息可以是用户在交互界面中搭建的流程图。在一实施方式中,可以在交互界面中展示多个可供用户选择的节点(操作节点和数据节点),用户可以通过选择节点,对节点的属性信息进行配置,并通过连线的方式对节点之间的执行逻辑进行配置,以设定过程配置信息。关于交互界面中可以展示的内容以及用户通过交互界面设定过程配置信息的具体实现过程,不是本公开的侧重点,因此不再详述。For another example, the process configuration information may also be set by the user through a visual operation method (such as drag and drop). As an example, an interactive interface for setting the at least part of the machine learning modeling process can be shown to the user, and process configuration information set by the user through the interactive interface can be obtained. For example, the user can set the process configuration information by constructing a flowchart representing at least part of the machine information modeling process in the interactive interface, that is, the process configuration information can be a flowchart constructed by the user in the interactive interface. In one embodiment, multiple nodes (operation nodes and data nodes) that can be selected by the user can be displayed in the interactive interface. The user can configure the attribute information of the node by selecting the node, and connect the node by way of connection. The execution logic in between is configured to set the process configuration information. Regarding the content that can be displayed in the interactive interface and the specific implementation process of the configuration information of the user setting process through the interactive interface, it is not the focus of the present disclosure, and therefore will not be described in detail.
在步骤S120,获取用户针对至少部分机器学习建模过程设定的参数配置信息,参数配置信息包括操作步骤涉及的至少部分操作参数的取值空间。In step S120, the parameter configuration information set by the user for at least part of the machine learning modeling process is obtained, and the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation step.
本公开对步骤S110和步骤S120之间的先后执行顺序不做限定。即,可以先执行步骤S110,再执行步骤S120;也可以先执行步骤S120,再执行步骤S110;或者步骤S110和步骤S120也可以不分先后同时执行。The present disclosure does not limit the execution sequence between step S110 and step S120. That is, step S110 may be executed first, and then step S120; or step S120 may be executed first, and then step S110 may be executed; or step S110 and step S120 may also be executed at the same time in no particular order.
参数配置信息可以是用户在设定过程配置信息时设定的,也可以是用户在设定过程配置信息之后设定的。在一实施方式中,用户可以在设定过程配置信息的过程中,对过程配置信息中操作步骤涉及的至少部分操作参数的取值空间进行配置,以设定参数配置信息。The parameter configuration information may be set by the user when setting the process configuration information, or may be set by the user after setting the process configuration information. In one embodiment, the user may configure the value space of at least part of the operation parameters involved in the operation steps in the process configuration information in the process of setting the process configuration information to set the parameter configuration information.
本公开可以通过多种方式获取用户设定的参数配置信息。如本公开可以向用户提供多种设定参数配置信息的方式,以获取用户通过多种方式设定的参数配置信息。由此,本公开支持用户通过多种方式设定参数配置信息,即参数配置信息可以是用户通过多种方式设定的。其中,不同设定方式设置的参数配置信息可以是不同形式的信息,即本公开述及的参数配置信息可以是指用户通过多种方式设定的对应多种形式的信息。In the present disclosure, the parameter configuration information set by the user can be obtained in various ways. For example, the present disclosure can provide users with multiple ways of setting parameter configuration information, so as to obtain parameter configuration information set by users in multiple ways. Therefore, the present disclosure supports the user to set the parameter configuration information in a variety of ways, that is, the parameter configuration information can be set by the user in a variety of ways. Among them, the parameter configuration information set by different setting methods may be different forms of information, that is, the parameter configuration information mentioned in the present disclosure may refer to information corresponding to multiple forms set by the user in a variety of ways.
例如,参数配置信息可以是用户基于特定规则的语言编写的,如用户可以通过编写程序代码的方式编写参数配置信息。作为示例,可以向用户提供数据上传接口,获取用户通过数据上传接口上传的文件,通过对文件进行解析确定参数配置信息,其中文件可以是用户基于特定规则的语言编写的,如文件可以是指用户针对过程配置信息编写的程序代码,其中,程序代码定义了一个或多个操作步骤涉及的至少部分操作参数的取值空间。For example, the parameter configuration information can be written by the user based on a language based on specific rules. For example, the user can write the parameter configuration information by writing program code. As an example, users can be provided with a data upload interface to obtain files uploaded by users through the data upload interface, and parameter configuration information can be determined by parsing the files. The files can be written by the user based on a language based on specific rules. For example, the file can refer to the user Program code written for process configuration information, where the program code defines the value space of at least part of the operating parameters involved in one or more operating steps.
在一实施方式中,此处述及的文件与上文结合步骤S110述及的文件可以是指同一文件,即用户可以通过数据上传接口上传同时包括过程配置信息和参数配置信息的文件,由此,本公开可以通过对用户上传的文件进行解析,获取过程配置信息和参数配置信息。例如,用户可以在基于特定规则的语言编写用于表征至少部分机器学习建模过程的过程配置信息的同时,定义操作步骤涉及的至少部分操作参数的取值空间。In one embodiment, the file mentioned here and the file mentioned in step S110 above may refer to the same file, that is, the user can upload a file that includes both process configuration information and parameter configuration information through the data upload interface. In the present disclosure, process configuration information and parameter configuration information can be obtained by analyzing files uploaded by users. For example, the user can define the value space of at least part of the operating parameters involved in the operation steps while compiling the process configuration information used to characterize at least part of the machine learning modeling process based on a language of specific rules.
再例如,参数配置信息也可以是用户通过可视化操作的方式设定的。作为示例,可以向用户展示用于对过程配置信息中的操作步骤涉及的操作参数的取值空间进行设置的交互界面,获取用户通过交互界面设定的参数配置信息。在一实施方式中,用户可以在通过交互界面设定过程配置信息的同时,对过程配置信息中的操作步骤涉及的至少部分操作参数的取值空间进行定义,以设定参数配置信息。For another example, the parameter configuration information may also be set by the user through a visual operation. As an example, the user may be shown an interactive interface for setting the value space of the operation parameter involved in the operation step in the process configuration information, and the parameter configuration information set by the user through the interactive interface may be obtained. In one embodiment, the user can define the value space of at least part of the operating parameters involved in the operation steps in the process configuration information while setting the process configuration information through the interactive interface to set the parameter configuration information.
作为示例,过程配置信息中的操作步骤可以包括操作节点和数据节点,操作节点的输入和输出均为数据节点,参数配置信息包括操作节点涉及的至少部分操作参数的取值空间。由此,过程配置信息可以是由数据节点和操作节点组成的计算图。其中,计算图可以视为由数据节点和操作节点组成的有向无环图。计算图可以清晰地定义至少部分机器学习建模过程的执行逻辑。用户可以通过框架提供的基类或方法,将自己原有的代码包装成数据节点以及操作节点,并将其连接成计算图。另外用户也可以在图形界面上以拖拽的形式定义操作节点和数据节点,以构建计算图。用户在定义计算图中的操作节点时,还可以针对操作节点涉及的操作参数定义一个取值空间,以将操作节点中的部分或全部操作参数从取值确定的确定项变成取值未定的未定项,操作参数的取值需要从取值空间中选取。计算图中所有操作参数的取值空间,即是当前计算图对应的总取值空间,通常来说所有取值空间的乘积构成了总的搜索空间。As an example, the operation steps in the process configuration information may include operation nodes and data nodes, the input and output of the operation nodes are all data nodes, and the parameter configuration information includes the value space of at least part of the operation parameters related to the operation node. Thus, the process configuration information can be a calculation graph composed of data nodes and operation nodes. Among them, the calculation graph can be regarded as a directed acyclic graph composed of data nodes and operation nodes. The calculation graph can clearly define the execution logic of at least part of the machine learning modeling process. Users can package their original code into data nodes and operation nodes through the base classes or methods provided by the framework, and connect them into calculation graphs. In addition, users can also define operation nodes and data nodes in the form of drag and drop on the graphical interface to construct a calculation graph. When defining the operation node in the calculation graph, the user can also define a value space for the operation parameters involved in the operation node, so as to change some or all of the operation parameters in the operation node from a certain item with a certain value to a value with an undetermined value. Undefined items, the value of the operating parameter needs to be selected from the value space. The value space of all operating parameters in the calculation graph is the total value space corresponding to the current calculation graph. Generally speaking, the product of all the value spaces constitutes the total search space.
在步骤S130,基于过程配置信息和基于参数配置信息确定的至少部分操作参数的不 同取值组合,执行至少部分机器学习建模过程,得到多个执行结果。In step S130, based on the different value combinations of the process configuration information and at least part of the operating parameters determined based on the parameter configuration information, at least part of the machine learning modeling process is executed, and multiple execution results are obtained.
过程配置信息表征的至少部分机器学习建模过程中存在取值待定的参数。基于参数配置信息可以确定待定部分参数的不同取值组合。过程配置信息和每种取值组合可以构成执行逻辑确定的至少部分机器学习建模过程。由此可以针对每种取值组合,执行过程配置信息所表征的机器学习建模过程,以得到多个对应不同取值组合的执行结果。At least part of the machine learning modeling process represented by the process configuration information has parameters whose values are to be determined. Based on the parameter configuration information, different combinations of values of some of the parameters to be determined can be determined. The process configuration information and each combination of values can constitute at least part of the machine learning modeling process for performing logical determination. Therefore, for each value combination, the machine learning modeling process represented by the process configuration information can be executed to obtain multiple execution results corresponding to different value combinations.
作为示例,过程配置信息还定义了至少一个目标节点,目标节点为数据节点。目标节点用于作为取值组合的评价指标,也即优化目标。例如,目标节点可以是指过程配置信息所表征的至少部分机器学习建模过程的运算逻辑的执行结果。通常来说,目标节点对应的执行结果可以转化成一个可评价的标量,如最大或最小,本公开的目标是希望目标节点的结果最优。由此,在执行步骤S130的过程中,可以根据参数配置信息确定至少部分操作参数的一组或多组取值组合;然后根据过程配置信息和所确定的取值组合,执行至少部分机器学习建模过程,得到目标节点的执行结果。根据目标节点的执行结果可以评价当前采用的取值组合的优劣。As an example, the process configuration information also defines at least one target node, and the target node is a data node. The target node is used as the evaluation index of the value combination, that is, the optimization target. For example, the target node may refer to the execution result of at least part of the operation logic of the machine learning modeling process represented by the process configuration information. Generally speaking, the execution result corresponding to the target node can be transformed into an evaluable scalar, such as maximum or minimum. The goal of the present disclosure is to hope that the result of the target node is optimal. Therefore, in the process of performing step S130, one or more value combinations of at least part of the operating parameters can be determined according to the parameter configuration information; then, according to the process configuration information and the determined value combination, at least part of the machine learning model can be executed. Model process to get the execution result of the target node. According to the execution result of the target node, the pros and cons of the currently adopted value combination can be evaluated.
本公开可以根据历史确定的取值组合计算下一组或数组需要执行的取值组合,并且在这个过程中可以根据现有算法做一定的剪枝优化,以减少搜索空间的大小,加速得到操作参数的优选取值。其中,搜索空间是指所有可能的取值组合的集合,搜索空间可以根据参数配置信息所表征的取值空间以及历史取值组合确定。The present disclosure can calculate the value combination that needs to be performed for the next group or array according to the value combination determined in history, and in this process, certain pruning optimization can be done according to the existing algorithm to reduce the size of the search space and speed up the operation. The preferred value of the parameter. Among them, the search space refers to a collection of all possible value combinations, and the search space can be determined according to the value space represented by the parameter configuration information and the historical value combination.
作为示例,本公开可以在每轮迭代过程中,可以将当前轮次确定的取值组合及执行结果添加到历史信息,然后根据参数配置信息、历史信息,使用预定的搜索策略确定当前轮次所述至少部分操作参数的一组或多组取值组合。其中,搜索策略可以包括但不限于如下至少一项:随机搜索策略、枚举搜索策略、贝叶斯优化搜索策略、网格搜索策略。关于各搜索策略的实现原理可以参见现有理论知识,本公开不再赘述。在一实施方式中,在确定当前轮次的取值组合时,还可以参考基于历史取值组合执行所述至少部分机器学习建模过程得到的执行结果。即,可以根据历史的取值组合和执行结果,确定下一组或多组取值组合,并且在这个过程中还可以根据现有算法做一定的剪枝优化,来减少搜索空间的大小,加速得到最优解。As an example, the present disclosure may add the value combination and execution result determined in the current round to the historical information during each iteration, and then use a predetermined search strategy to determine the location of the current round according to the parameter configuration information and historical information. One or more value combinations of at least part of the operating parameters. The search strategy may include but is not limited to at least one of the following: random search strategy, enumerated search strategy, Bayesian optimization search strategy, and grid search strategy. For the implementation principle of each search strategy, reference can be made to the existing theoretical knowledge, which will not be repeated in this disclosure. In one embodiment, when determining the value combination of the current round, the execution result obtained by executing the at least part of the machine learning modeling process based on the historical value combination may also be referred to. That is, the next set or multiple sets of value combinations can be determined according to the historical value combinations and execution results, and in this process, certain pruning optimizations can be made according to the existing algorithms to reduce the size of the search space and speed up Get the optimal solution.
本公开还可以获取用户设定的用于对至少部分操作参数的取值进行筛选的筛选条件配置信息,筛选条件配置信息中可以包括一个或多个用于对至少部分操作参数的取值进行筛选的筛选条件。在基于参数配置信息确定所述至少部分操作参数的取值组合后,可以根据筛选条件配置信息对取值组合进行筛选,以剔除不符合预设标准的取值组合。其中对于剔除的取值组合,可以将其视为不可行解抛弃,即剔除的取值组合不再参与至少部分机器学习建模过程的执行。举例来说,筛选条件配置信息可以包括用于对造成资源消耗较大的参数取值进行筛选的筛选条件,该筛选条件可以对操作步骤的运行耗时、内存占用的范围中的至少一个进行限制,如将运行耗时限制为低于第一阈值,或者将内存占用限制为低于第二阈值,或者将运行耗时限制为低于第一阈值并且将内存占用限制为低于第二阈值。若某组取值组合下某个或某几个操作步骤的运行耗时过长(如大于第一阈值)或内存占用过大(如大于第二阈值),超过了该筛选条件限制的范围,则该组取值组合可以作为不可行解抛弃,不再执行,即不用得到最终的评分结果。由此,在所述至少部分操作参数的总取值空间较大使得搜索不确定较高的情况下,根据用户设定的筛选条件配置信息可以使得搜索过程在一定程度内变得更加可控,进而使得最终得到的优选取值也更加符合实际要求。The present disclosure can also obtain the filter condition configuration information set by the user to filter the values of at least part of the operating parameters, and the filter condition configuration information can include one or more filters for the values of at least part of the operating parameters. Filter criteria. After the value combination of the at least part of the operating parameters is determined based on the parameter configuration information, the value combination may be filtered according to the filter condition configuration information to eliminate the value combination that does not meet the preset standard. Among them, the eliminated value combination can be regarded as an infeasible solution and discarded, that is, the eliminated value combination no longer participates in the execution of at least part of the machine learning modeling process. For example, the filtering condition configuration information may include filtering conditions for filtering parameter values that cause high resource consumption, and the filtering conditions may limit at least one of the range of time-consuming operation and memory occupation of the operation steps. For example, limit the running time to be lower than the first threshold, or limit the memory usage to be lower than the second threshold, or limit the running time to be lower than the first threshold and limit the memory usage to be lower than the second threshold. If the running time of one or several operation steps under a certain combination of values is too long (for example, greater than the first threshold) or the memory footprint is too large (for example, greater than the second threshold), it exceeds the limit of the filter condition, Then the set of value combinations can be discarded as an infeasible solution and no longer executed, that is, the final scoring result is not required. Therefore, when the total value space of the at least part of the operating parameters is large and the search uncertainty is high, the configuration information according to the filtering conditions set by the user can make the search process more controllable to a certain extent, In turn, the optimal value finally obtained is more in line with actual requirements.
在步骤S140,根据多个执行结果输出至少部分操作参数的优选取值。In step S140, the preferred values of at least part of the operating parameters are output according to the multiple execution results.
执行结果可以作为用于反映所采用的取值组合的优劣程度的评价指标。可以根据执行结果的表现好坏,从多个执行结果中选取表现最好或较好的执行结果所对应的取值组合作为所述至少部分操作参数的优选取值。The execution result can be used as an evaluation index to reflect the pros and cons of the adopted value combination. According to the performance of the execution result, a combination of values corresponding to the best or better execution result may be selected from a plurality of execution results as the preferred values of the at least part of the operation parameters.
过程配置信息表征的机器学习建模过程可以视为由多个操作步骤组成。对于不同取值组合,在执行机器学习建模过程中,可能存在操作参数取值不变的操作步骤,对于这些 操作步骤,其执行结果一般来说是固定不变的。因此出于节省计算资源的角度考虑,本公开还可以保存操作参数的取值不变的操作步骤的执行结果,在执行所述至少部分机器学习建模过程中,可以忽略所述至少部分机器学习建模过程中操作参数的取值不变的操作步骤的执行,并调用预先保存该操作步骤的执行结果。The machine learning modeling process represented by the process configuration information can be regarded as composed of multiple operation steps. For different value combinations, during the process of performing machine learning modeling, there may be operating steps with unchanged values of operating parameters. For these operating steps, the execution results are generally fixed. Therefore, from the perspective of saving computing resources, the present disclosure can also save the execution result of the operation step with the same value of the operating parameter. In the process of performing the at least part of the machine learning modeling, the at least part of the machine learning can be ignored. During the modeling process, execute the operation step with the unchanged value of the operation parameter, and call to save the execution result of the operation step in advance.
作为示例,本公开还可以根据所述至少部分机器学习建模过程的执行结果,对为操作步骤分配的计算资源的资源使用情况进行预估;根据预估结果调整为操作步骤分配的计算资源。例如,在某个操作步骤的多次执行后发现为该操作步骤分配的计算资源的利用率不高的情况下,可以调低为该操作步骤分配的计算资源。As an example, the present disclosure may also estimate the resource usage of the computing resources allocated for the operation steps according to the execution result of the at least part of the machine learning modeling process; adjust the computing resources allocated for the operation steps according to the estimated result. For example, if it is found that the utilization rate of the computing resources allocated for the operation step is not high after multiple executions of a certain operation step, the computing resources allocated for the operation step can be lowered.
至此结合图1就本公开的实现自动机器学习的方法的实现流程做简要说明。本公开的实现自动机器学习的方法可以实现为一种通用的参数搜索框架,该参数搜索框架可以适用于AuotML等需要大量调参的场景,以解决多参数的搜索调优问题。So far, the implementation process of the method for realizing automatic machine learning of the present disclosure will be briefly described with reference to FIG. 1. The method for realizing automatic machine learning of the present disclosure can be implemented as a general parameter search framework, which can be applied to scenarios requiring a large number of parameters such as AuotML to solve the multi-parameter search and optimization problem.
以上文述及的过程配置信息为计算图为例,本公开的参数搜索框架可以分为四个功能模块,包括计算图模块、参数空间模块、搜索策略模块以及执行引擎。The process configuration information mentioned above is a calculation graph as an example. The parameter search framework of the present disclosure can be divided into four functional modules, including a calculation graph module, a parameter space module, a search strategy module, and an execution engine.
计算图模块用于获取用户定义的计算图。计算图是一个由数据节点和操作节点组成的有向无环图,操作节点的输入和输出为数据节点,数据节点被用作其他操作节点的输入和输出。计算图可以清晰地表征至少部分机器学习建模过程的执行逻辑。计算图对应于上文述及的过程配置信息,即过程配置信息可以是由数据节点和操作节点组成的计算图。用户可以简单地通过框架提供的基类或方法,将自己原有的代码包装成数据节点以及操作节点,并将其连接成计算图,连接好的计算图可以自动生成其关系图。例如,用户在定义计算图时,可以使用代码,对每一个操作节点的逻辑,使用框架提供的函数(或者类)进行简单的封装,得到的多个操作节点可以根据上下游以及输入输出的对应关系连边,得到一张计算图,其内容存储在计算图模块中。另外,生成计算图的过程可以借助图形界面,即用户可以在图形界面上以拖拽的形式定义计算图中的节点(操作节点和数据节点),这些节点可以是框架提供的现有逻辑,也可以在节点内部支持用户写一段自定义代码。The calculation graph module is used to obtain user-defined calculation graphs. The computational graph is a directed acyclic graph composed of data nodes and operation nodes. The input and output of the operation nodes are data nodes, and the data nodes are used as the input and output of other operation nodes. The calculation graph can clearly characterize the execution logic of at least part of the machine learning modeling process. The calculation graph corresponds to the process configuration information mentioned above, that is, the process configuration information can be a calculation graph composed of data nodes and operation nodes. Users can simply use the base classes or methods provided by the framework to package their original code into data nodes and operation nodes, and connect them into a calculation graph. The connected calculation graph can automatically generate its relationship graph. For example, when defining a calculation graph, the user can use code to simply encapsulate the logic of each operation node using the function (or class) provided by the framework, and the multiple operation nodes obtained can be based on the upstream and downstream and input and output correspondences. The relationship is connected to the edge, and a calculation graph is obtained, and its content is stored in the calculation graph module. In addition, the process of generating calculation graphs can use a graphical interface, that is, users can define nodes (operation nodes and data nodes) in the calculation graph in the form of drag and drop on the graphical interface. These nodes can be existing logic provided by the framework or You can support users to write a piece of custom code inside the node.
参数空间模块用于获取用户针对计算图中的操作节点配置的参数空间(对应于上文述及的操作参数的取值空间)。用户在定义计算图中的操作节点时,可以为其添加一个子参数空间,将当前操作节点中的某个操作参数的取值从确定项变成了未定项,该操作参数的取值在运行时可以从该子参数空间中选择一个。计算图中所有操作节点上的子参数空间组合起来,即是当前计算图对应的参数空间,通常来说所有子参数空间选项的乘积构成了总参数空间。以用户使用代码定义计算图为例,用户可以使用用于表征子参数空间的特殊标识(如可以是框架提供的Choice类),将特殊标识填充在操作节点涉及的操作参数的位置,在生成计算图时可以通自动识别出该特殊标识,并将其添加到参数空间模块进行管理。另外,定义子参数空间也可以在图形界面中完成,如用户也可以使用特殊的选项将某个参数定义为子参数空间。另外针对通常具有固定取值空间的操作参数,本公开还可以提供默认的子参数空间,以降低用户使用的门槛,即对于某些操作参数可以由系统指定其取值空间而无需用户定义。The parameter space module is used to obtain the parameter space configured by the user for the operation node in the calculation graph (corresponding to the value space of the operation parameter mentioned above). When the user defines the operation node in the calculation graph, he can add a sub-parameter space for it, and change the value of an operation parameter in the current operation node from a certain item to an undetermined item, and the value of the operation parameter is running You can select one from this sub-parameter space. The sub-parameter spaces on all operation nodes in the calculation graph are combined, that is, the parameter space corresponding to the current calculation graph. Generally speaking, the product of all sub-parameter space options constitutes the total parameter space. Taking the user’s code to define a calculation graph as an example, the user can use a special identifier to characterize the sub-parameter space (for example, the Choice class provided by the framework), fill the special identifier in the position of the operating parameter involved in the operating node, and then generate the calculation The special mark can be automatically identified when the picture is displayed and added to the parameter space module for management. In addition, the definition of the sub-parameter space can also be done in the graphical interface. For example, the user can also use a special option to define a parameter as a sub-parameter space. In addition, for operating parameters that usually have a fixed value space, the present disclosure can also provide a default sub-parameter space to reduce the threshold for users to use, that is, for some operating parameters, the value space can be specified by the system without user definition.
图2示出了一种用于表征机器学习特征选择过程的计算图。其中圆表示操作节点,方框表示数据节点。Figure 2 shows a computational graph used to characterize the machine learning feature selection process. The circle represents the operation node, and the square represents the data node.
图2中的操作节点read_1为读取数据的操作,用于从硬盘将数据读入到内存中;数据节点variable_1用于表征内存中的原始数据;操作节点make_dataset_1用于从原始数据中选择k列,并按行切分成训练集和测试集,其中包含一个子参数空间(对应于上文述及的取值空间),即从variable_1的n列数据中随机选择k个;数据节点variable_2用于表征仅包含k列的训练数据集;数据节点variable_3用于表征仅包含k列的测试数据集;操作节点lgb_train_1用于使用LigthGBM在训练数据集上得到模型,并根据测试集算出当前模型的auc(准确度),lgb_train_1内部包含两个子参数空间,一个是LightGBM的学习率在[0.1,0.2]间均匀采样,一个是LightGBM训练的树的棵树在[7,13,19,23]中选择。其 中,LightGBM是Light Gradient Boosting Machine的缩写,是一个实现GBDT算法的框架。The operation node read_1 in Figure 2 is the operation of reading data, which is used to read data from the hard disk into the memory; the data node variable_1 is used to characterize the original data in the memory; the operation node make_dataset_1 is used to select k columns from the original data , And divided into training set and test set by row, which contains a sub-parameter space (corresponding to the value space mentioned above), that is, k randomly selected from the n columns of data in variable_1; the data node variable_2 is used for characterization The training data set containing only k columns; the data node variable_3 is used to characterize the test data set containing only k columns; the operation node lgb_train_1 is used to use LigthGBM to obtain the model on the training data set, and calculate the auc (accurate) of the current model according to the test set Degree), lgb_train_1 contains two sub-parameter spaces, one is the learning rate of LightGBM is uniformly sampled between [0.1,0.2], and the other is the tree of LightGBM training tree selected in [7,13,19,23]. Among them, LightGBM is the abbreviation of Light Gradient Boosting Machine, and is a framework for implementing the GBDT algorithm.
搜索策略模块用于根据计算图和参数空间,确定多组取值组合。其中,用户在定义计算图时,可以定义一个目标节点,即优化目标,优化目标优选是一个内容为标量的数据节点,这个节点就是当前计算图表示的运算逻辑的结果,参数搜索的目标是该结果最优(最大或者最小,通常来说任何评价方法都可以转化为一个标量)。搜索策略模块可以根据历史上的参数取值组合和目标节点的执行结果的组合,计算出下一组或几组需要搜索的参数取值组合,在这个过程中可以根据现有算法做一定的剪枝优化,来减少搜索空间的大小,加速得到最优解。The search strategy module is used to determine multiple value combinations based on the calculation graph and the parameter space. Among them, when the user defines a calculation graph, he can define a target node, that is, an optimization target. The optimization target is preferably a data node with a scalar content. This node is the result of the calculation logic represented by the current calculation graph. The target of the parameter search is this The result is optimal (maximum or minimum, usually any evaluation method can be transformed into a scalar). The search strategy module can calculate the next set or sets of parameter value combinations that need to be searched based on the combination of historical parameter values and the execution results of the target node. In this process, certain cuts can be made according to the existing algorithm. Branch optimization to reduce the size of the search space and speed up the optimal solution.
搜索策略模块提供了下一组或几组需要搜索的参数取值组合后,参数取值组合和原计算图就构成了一组确定的计算图逻辑,然后执行框架可以根据机器资源情况自动调度执行这些计算图逻辑,计算出该参数取值组合对应的目标节点的执行结果,并将其添加到历史信息当中,用于搜索策略模块确定下一轮次的需要搜索的参数取值组合。The search strategy module provides the next group or groups of parameter value combinations that need to be searched. The parameter value combination and the original calculation graph form a set of certain calculation graph logic, and then the execution framework can automatically schedule execution according to machine resource conditions. These calculation graph logics calculate the execution result of the target node corresponding to the parameter value combination, and add it to the historical information for the search strategy module to determine the parameter value combination that needs to be searched for the next round.
执行引擎和搜索策略模块进行多次迭代后,当搜索策略模块不再产生下一组参数取值组合时,表示整个搜索过程运行结束了,那么历史数据中最好的执行结果对应的参数取值组合,就是本次搜索任务得到的结果。After multiple iterations of the execution engine and the search strategy module, when the search strategy module no longer produces the next set of parameter value combinations, it means that the entire search process is over. Then the parameter value corresponding to the best execution result in the historical data The combination is the result of this search task.
以图2为例,由于学习率是在一个连续空间中取随机值,所以总体的参数空间是无穷大的,此处搜索策略可以采用随机搜索(random search),每一次运行在每个子参数空间中随机选择一个值,总共运行M次(random search参数)之后,从中选出最好的结果。其中,M的数值大小可以由用户配置。Take Figure 2 as an example. Since the learning rate takes random values in a continuous space, the overall parameter space is infinite. Here, the search strategy can use random search, each run in each sub-parameter space Randomly select a value, after running a total of M times (random search parameter), select the best result from it. Among them, the value of M can be configured by the user.
上述操作节点中的代码逻辑都可以直接使用用户原始的机器学习应用中的代码逻辑,只需要通过简单的包装,并在需要的位置将某些原本的固定参数变成子参数空间(即取值范围)即可。The code logic in the above operation node can directly use the code logic in the user’s original machine learning application, just through simple packaging, and some original fixed parameters into sub-parameter space (that is, the value Range).
可以看出用户只需要做很小的改动或者学习很少的东西,就可以实现一个AutoML应用,大幅降低了开发成本,并且本公开不依赖操作节点内的具体逻辑是什么,用户可以任意使用第三方包,实现任意逻辑,即使是非机器学习任务同样可以运行。It can be seen that users only need to make small changes or learn very few things to implement an AutoML application, which greatly reduces the development cost, and this disclosure does not depend on the specific logic in the operation node, and the user can use the first The three-party package implements arbitrary logic, even non-machine learning tasks can be run.
另外从执行效率的角度考虑,搜索策略模块支持产生多组参数取值组合,生成多组计算图同时执行,以提高计算资源的利用率。In addition, from the perspective of execution efficiency, the search strategy module supports the generation of multiple sets of parameter value combinations, and multiple sets of calculation graphs are generated at the same time to improve the utilization of computing resources.
执行引擎负责根据搜索策略模块确定的取值组合生成一张或几张执行逻辑确定的计算图,并运行,以得到执行结果(如目标节点的取值)。在执行过程中,执行引擎可以用于决定分布式系统中的每个处理节点应当执行哪个或哪几个操作步骤,需要考虑分布式环境下的资源利用效率,还可以通过历史执行信息,对一个操作步骤的资源利用情况进行简单预测。比如某个操作步骤的多次执行后发现只需要一个cpu就可以满足它的需求,那么可以将它和其他的密集操作步骤同时计算。或者一个计算图的资源利用率始终不高,则可以提高搜索策略模块返回的计算图数量,来增加并行度。The execution engine is responsible for generating one or several calculation graphs determined by the execution logic according to the value combination determined by the search strategy module, and running to obtain the execution result (such as the value of the target node). In the execution process, the execution engine can be used to determine which operation step or steps should be executed by each processing node in the distributed system. The resource utilization efficiency in the distributed environment needs to be considered. It can also be used to perform historical execution information on a Simple prediction of resource utilization in operation steps. For example, after multiple executions of a certain operation step, it is found that only one cpu is needed to meet its needs, then it can be calculated at the same time as other intensive operation steps. Or the resource utilization rate of a calculation graph is always low, you can increase the number of calculation graphs returned by the search strategy module to increase the degree of parallelism.
搜索策略模块返回的不同取值组合之间可能有交集,比如图2所示计算图中,只改变计算节点lgb_train_1中的参数
Figure PCTCN2021081329-appb-000001
时,前面计算节点的输出是可以重复使用不需要计算的,执行引擎可以根据参数集合和当前已经执行的状态,识别可以跳过的节点,直接使用该节点的输出。同时执行引擎也可以根据用户配置的总资源情况(内存、cpu消耗等),提前释放一些不会再被计算图中的下游节点使用的资源。
There may be intersections between the different value combinations returned by the search strategy module. For example, in the calculation graph shown in Figure 2, only the parameters in the calculation node lgb_train_1 are changed
Figure PCTCN2021081329-appb-000001
When the output of the previous calculation node can be reused without calculation, the execution engine can identify the node that can be skipped according to the parameter set and the current executed state, and directly use the output of the node. At the same time, the execution engine can also release some resources in advance that will no longer be used by downstream nodes in the calculation graph according to the total resources configured by the user (memory, cpu consumption, etc.).
在本公开的一个实施例中,至少部分机器学习建模过程对应的机器学习模型(如神经网络模型)可被用于预测图像类别、文本类别、语音情感、欺诈交易、广告点击率等。所述机器学习模型旨在针对相关场景中的对象或事件有关的问题进行预测。例如,可用于预测图像类别、预测图像中文字、预测文本类别、预测语音情感类别、预测欺诈交易、预测广告点击率、预测商品价格等等,使得预测结果可直接作为决策依据或进一步结合其他规则而成为决策依据。例如,所述机器学习模型可以用于如下场景中的任一场景:在线内容(诸如,新闻、广告、音乐等)推荐;信用卡欺诈检测;异常行为检测;智能营销;智能 投资顾问;网络流量分析。In an embodiment of the present disclosure, a machine learning model (such as a neural network model) corresponding to at least part of the machine learning modeling process can be used to predict image categories, text categories, voice emotions, fraudulent transactions, advertising click-through rates, and the like. The machine learning model aims to predict problems related to objects or events in related scenes. For example, it can be used to predict image categories, predict text in images, predict text categories, predict voice emotion categories, predict fraudulent transactions, predict advertising click-through rates, predict commodity prices, etc., so that the prediction results can be directly used as a basis for decision-making or further combined with other rules And become the basis for decision-making. For example, the machine learning model can be used in any of the following scenarios: online content (such as news, advertisements, music, etc.) recommendation; credit card fraud detection; abnormal behavior detection; intelligent marketing; intelligent investment advisors; network traffic analysis .
在一实施方式中,本公开实施例中的机器学习模型可应用于的场景包括但不限于以下场景:In one embodiment, the applicable scenarios of the machine learning model in the embodiments of the present disclosure include but are not limited to the following scenarios:
图像处理场景,包括:光学字符识别OCR、人脸识别、物体识别和图片分类;更具体地举例来说,OCR可应用于票据(如发票)识别、手写字识别等,人脸识别可应用安防等领域,物体识别可应用于自动驾驶场景中的交通标志识别,图片分类可应用于电商平台的“拍照购”、“找同款”等。Image processing scenarios, including: optical character recognition OCR, face recognition, object recognition, and image classification; more specifically, for example, OCR can be applied to bill (such as invoice) recognition, handwriting recognition, etc., face recognition can be applied to security In other fields, object recognition can be applied to traffic sign recognition in autonomous driving scenes, and image classification can be applied to “purchase photos” and “find the same money” on e-commerce platforms.
语音识别场景,包括可通过语音进行人机交互的产品,如手机的语音助手(如苹果手机的Siri)、智能音箱等;Voice recognition scenarios, including products that can perform human-computer interaction through voice, such as mobile phone voice assistants (such as Apple mobile phone Siri), smart speakers, etc.;
自然语言处理场景,包括:审查文本(如合同、法律文书和客服记录等)、垃圾内容识别(如垃圾短信识别)和文本分类(情感、意图和主题等);Natural language processing scenarios, including: review text (such as contracts, legal documents, customer service records, etc.), spam identification (such as spam SMS identification), and text classification (emotions, intentions, and topics, etc.);
自动控制场景,包括:矿井组调节操作预测、风力发电机组调节操作预测和空调系统调节操作预测;具体的对于矿井组可预测开采率高的一组调节操作,对于风力发电机组可预测发电效率高的一组调节操作,对于空调系统,可以预测满足需求的同时节省能耗的一组调节操作;Automatic control scenarios, including: mine group adjustment operation prediction, wind turbine adjustment operation prediction, and air conditioning system adjustment operation prediction; specifically, a group of adjustment operations that can predict a high mining rate for mine groups, and predict high power generation efficiency for wind turbines For the air conditioning system, a set of adjustment operations can be predicted to meet demand while saving energy consumption;
智能问答场景,包括:聊天机器人和智能客服;Intelligent Q&A scenarios, including: chat robots and intelligent customer service;
业务决策场景,包括:金融科技领域、医疗领域和市政领域的场景,其中:Business decision-making scenarios include: scenarios in the financial technology, medical, and municipal fields, including:
金融科技领域包括:营销(如优惠券使用预测、广告点击行为预测、用户画像挖掘等)与获客、反欺诈、反洗钱、承保和信用评分、商品价格预测;The field of financial technology includes: marketing (such as coupon usage prediction, advertising click behavior prediction, user portrait mining, etc.) and customer acquisition, anti-fraud, anti-money laundering, underwriting and credit scoring, and commodity price prediction;
医疗领域包括:疾病筛查和预防、个性化健康管理和辅助诊断;The medical field includes: disease screening and prevention, personalized health management and auxiliary diagnosis;
市政领域包括:社会治理与监管执法、资源环境和设施管理、产业发展和经济分析、公众服务和民生保障、智慧城市(公交、网约车、共享单车等各类城市资源的调配和管理);Municipal areas include: social governance and supervision and law enforcement, resource environment and facility management, industrial development and economic analysis, public services and people's livelihood protection, smart cities (the deployment and management of various urban resources such as public transportation, online car-hailing, shared bicycles, etc.);
推荐业务场景,包括:新闻、广告、音乐、咨询、视频和金融产品(如理财、保险等)的推荐;Recommended business scenarios, including: news, advertising, music, consulting, video and financial products (such as financial management, insurance, etc.) recommendation;
搜索场景,包括:网页搜索、图像搜索、文本搜索、视频搜索等;Search scenarios, including: web search, image search, text search, video search, etc.;
异常行为检测场景,包括:国家电网客户用电异常行为检测、网络恶意流量检测、操作日志中的异常行为检测等。Abnormal behavior detection scenarios, including: abnormal behavior detection of electricity consumption by State Grid customers, network malicious traffic detection, abnormal behavior detection in operation logs, etc.
本公开的实现自动机器学习的方法,还可以实现为一种实现自动机器学习的装置。图3示出了根据本公开示例性实施例的实现自动机器学习的装置的结构框图。其中,实现自动机器学习的装置的功能单元可以由实现本公开原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图3所描述的功能单元可以组合起来或者划分成子单元,从而实现本公开的原理。因此,本文的描述可以支持对本文描述的功能单元的任何可能的组合、或者划分、或者更具体的限定。The method for realizing automatic machine learning of the present disclosure can also be realized as a device for realizing automatic machine learning. Fig. 3 shows a structural block diagram of an apparatus for realizing automatic machine learning according to an exemplary embodiment of the present disclosure. Among them, the functional unit of the device for realizing automatic machine learning can be realized by hardware, software, or a combination of hardware and software that realizes the principles of the present disclosure. Those skilled in the art can understand that the functional units described in FIG. 3 can be combined or divided into sub-units to realize the principles of the present disclosure. Therefore, the description herein may support any possible combination, or division, or more specific limitation of the functional units described herein.
下面就实现自动机器学习的装置可以具有的功能单元以及各功能单元可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关描述,这里不再赘述。The following is a brief description of the functional units that the device for realizing automatic machine learning can have and the operations that can be performed by each functional unit. For the details involved, please refer to the relevant description above, which will not be repeated here.
参见图3,实现自动机器学习的装置300包括第一获取模块310、第二获取模块320、执行模块330以及输出模块340。Referring to FIG. 3, the device 300 for implementing automatic machine learning includes a first acquisition module 310, a second acquisition module 320, an execution module 330 and an output module 340.
第一获取模块310被配置为获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,所述过程配置信息包括一个或多个操作步骤。第二获取模块320被配置为获取用户针对所述至少部分机器学习建模过程设定的参数配置信息,所述参数配置信息包括所述操作步骤涉及的至少部分操作参数的取值空间。操作步骤可以包括操作节点和数据节点,操作节点的输入和输出均为数据节点,参数配置信息可以包括操作节点涉及的至少部分操作参数的取值空间。过程配置信息可以为由数据节点和操作节点组成的计算图。关于第一获取模块310获取过程配置信息、第二获取模块320获取参数配置信息的具体实现过程可以参见上文结合图1步骤S110、步骤S120的描述。The first obtaining module 310 is configured to obtain process configuration information set by a user for representing at least a part of the machine learning modeling process, the process configuration information including one or more operation steps. The second obtaining module 320 is configured to obtain parameter configuration information set by the user for the at least part of the machine learning modeling process, the parameter configuration information including the value space of at least part of the operation parameters involved in the operation step. The operation step may include an operation node and a data node, the input and output of the operation node are both data nodes, and the parameter configuration information may include the value space of at least part of the operation parameters related to the operation node. The process configuration information can be a calculation graph composed of data nodes and operation nodes. For the specific implementation process of the first obtaining module 310 obtaining the process configuration information and the second obtaining module 320 obtaining the parameter configuration information, please refer to the above description of step S110 and step S120 in conjunction with FIG. 1.
作为示例,实现自动机器学习的装置300还可以包括提供模块和接收模块。提供模块被配置为向用户提供数据上传接口,接收模块被配置为接收用户通过数据上传接口上传的文件,其中,所述文件可以是用户基于特定规则的语言针对所述至少部分机器学习建模过程编写的。第一获取模块310可以对文件进行解析,确定过程配置信息。在一实施方式中,文件还可以定义了操作步骤涉及的至少部分操作参数的取值空间,第二获取模块320可以对所述文件进行解析,确定所述参数配置信息。As an example, the apparatus 300 for implementing automatic machine learning may further include a providing module and a receiving module. The providing module is configured to provide a data upload interface to the user, and the receiving module is configured to receive a file uploaded by the user through the data upload interface, where the file may be a language of the user based on specific rules for the at least part of the machine learning modeling process Prepared. The first obtaining module 310 may parse the file to determine process configuration information. In an embodiment, the file may also define the value space of at least part of the operation parameters involved in the operation step, and the second acquisition module 320 may parse the file to determine the parameter configuration information.
作为示例,实现自动机器学习的装置300还可以包括第一展示模块。第一展示模块被配置为向用户展示用于对所述至少部分机器学习建模过程进行设置的交互界面,其中,所述第一获取模块310可以获取用户通过所述交互界面设定的过程配置信息。实现自动机器学习的装置300还可以包括第二展示模块。第二展示模块被配置为向用户展示用于对所述操作步骤涉及的操作参数的取值空间进行设置的交互界面,其中,所述第二获取模块320可以获取用户通过所述交互界面设定的参数配置信息。As an example, the apparatus 300 for implementing automatic machine learning may further include a first display module. The first display module is configured to display an interactive interface for setting the at least part of the machine learning modeling process to the user, wherein the first obtaining module 310 can obtain the process configuration set by the user through the interactive interface information. The device 300 for implementing automatic machine learning may further include a second display module. The second display module is configured to display to the user an interactive interface for setting the value space of the operation parameter involved in the operation step, wherein the second obtaining module 320 can obtain the user setting through the interactive interface Parameter configuration information.
执行模块330被配置为基于所述过程配置信息和基于所述参数配置信息确定的所述至少部分操作参数的不同取值组合,执行所述至少部分机器学习建模过程,得到多个执行结果。The execution module 330 is configured to execute the at least part of the machine learning modeling process based on the process configuration information and different value combinations of the at least part of the operating parameters determined based on the parameter configuration information to obtain multiple execution results.
作为示例,过程配置信息还定义了至少一个目标节点,所述目标节点为数据节点,实现自动机器学习的装置300还可以包括确定模块。在每轮迭代过程中:所述确定模块可以根据所述参数配置信息确定所述至少部分操作参数的一组或多组取值组合;所述执行模块330可以根据所述过程配置信息和所述确定模块确定的取值组合,执行所述至少部分机器学习建模过程,得到所述目标节点的执行结果。在一实施方式中,实现自动机器学习的装置300还可以包括添加模块。在每轮迭代过程中:所述添加模块将当前轮次确定的取值组合及执行结果添加到历史信息;所述确定模块根据所述参数配置信息、所述历史信息,使用预定的搜索策略确定当前轮次所述至少部分操作参数的一组或多组取值组合。其中,预定的搜索策略可以包括但不限于以下至少一项:随机搜索策略、枚举搜索策略、贝叶斯优化搜索策略、网格搜索策略。As an example, the process configuration information further defines at least one target node, and the target node is a data node. The apparatus 300 for implementing automatic machine learning may further include a determining module. In each iteration process: the determining module may determine one or more value combinations of the at least part of the operating parameters according to the parameter configuration information; the execution module 330 may determine according to the process configuration information and the The value combination determined by the determining module executes the at least part of the machine learning modeling process to obtain the execution result of the target node. In an embodiment, the apparatus 300 for implementing automatic machine learning may further include an add module. In each iteration process: the adding module adds the value combination determined in the current round and the execution result to the historical information; the determining module uses a predetermined search strategy to determine according to the parameter configuration information and the historical information One or more value combinations of at least part of the operating parameters in the current round. The predetermined search strategy may include but is not limited to at least one of the following: random search strategy, enumerated search strategy, Bayesian optimization search strategy, and grid search strategy.
实现自动机器学习的装置300还可以包括保存模块,保存模块被配置为保存操作参数的取值不变的操作步骤的执行结果。所述执行模块330在执行所述至少部分机器学习建模过程中,可以忽略所述至少部分机器学习建模过程中操作参数的取值不变的操作步骤的执行,并调用保存模块预先保存的该操作步骤的执行结果。The device 300 for realizing automatic machine learning may further include a saving module configured to save the execution result of the operation step in which the value of the operation parameter is unchanged. When the execution module 330 executes the at least part of the machine learning modeling process, it may ignore the execution of the operation steps in which the value of the operating parameter does not change during the at least part of the machine learning modeling process, and call the pre-stored by the saving module The execution result of this operation step.
实现自动机器学习的装置300还可以包括预估模块和调整模块。预估模块被配置为根据所述至少部分机器学习建模过程的执行结果,对为所述操作步骤分配的计算资源的资源使用情况进行预估;调整模块被配置为根据预估结果调整为所述操作步骤分配的计算资源。The device 300 for implementing automatic machine learning may also include an estimation module and an adjustment module. The estimation module is configured to estimate the resource usage of the computing resources allocated for the operation step according to the execution result of the at least part of the machine learning modeling process; the adjustment module is configured to adjust the resource usage according to the estimation result. The computing resources allocated by the operation steps.
输出模块340被配置为根据所述多个执行结果输出所述至少部分操作参数的优选取值。The output module 340 is configured to output the preferred values of the at least part of the operating parameters according to the multiple execution results.
实现自动机器学习的装置300还可以包括第三获取模块和筛选模块。第三获取模块被配置为获取用户设定的用于对至少部分操作参数的取值进行筛选的筛选条件配置信息。筛选模块用于根据筛选条件配置信息对基于参数配置信息确定的至少部分操作参数的不同取值组合进行筛选。执行模块可以基于过程配置信息和筛选后的取值组合,执行至少部分机器学习建模过程。筛选条件配置信息中可以包括一个或多个筛选条件。在基于参数配置信息确定所述至少部分操作参数的取值组合后,可以由筛选模块根据筛选条件配置信息对取值组合进行筛选,以剔除不符合预设标准的取值组合。其中对于剔除的取值组合,可以将其视为不可行解抛弃,即剔除的取值组合不再参与至少部分机器学习建模过程的执行。The device 300 for implementing automatic machine learning may further include a third acquisition module and a screening module. The third acquiring module is configured to acquire the filter condition configuration information set by the user and used to filter the values of at least part of the operating parameters. The screening module is used to screen different value combinations of at least part of the operating parameters determined based on the parameter configuration information according to the screening condition configuration information. The execution module can execute at least part of the machine learning modeling process based on the process configuration information and the filtered value combination. One or more filter conditions can be included in the filter condition configuration information. After the value combination of the at least part of the operating parameters is determined based on the parameter configuration information, the filter module may filter the value combination according to the filter condition configuration information to eliminate the value combination that does not meet the preset standard. Among them, the eliminated value combination can be regarded as an infeasible solution and discarded, that is, the eliminated value combination no longer participates in the execution of at least part of the machine learning modeling process.
应该理解,根据本公开示例性实施例的实现自动机器学习的装置300的具体实现方式可参照上文结合图1针对实现自动机器学习的方法的相关描述来实现,在此不再赘述。It should be understood that the specific implementation of the apparatus 300 for implementing automatic machine learning according to an exemplary embodiment of the present disclosure can be implemented with reference to the relevant description of the method for implementing automatic machine learning in conjunction with FIG. 1, and will not be repeated here.
以上参照图1到图3描述了根据本公开示例性实施例的实现自动机器学习的方法及 装置。应理解,上述方法可通过记录在计算可读介质上的程序来实现,例如,根据本公开的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,在所述计算机可读存储介质上记录有用于执行本公开的实现自动机器学习的方法(例如图1所示)的计算机程序。The method and apparatus for implementing automatic machine learning according to exemplary embodiments of the present disclosure are described above with reference to FIGS. 1 to 3. It should be understood that the above method can be implemented by a program recorded on a computer-readable medium. For example, according to an exemplary embodiment of the present disclosure, a computer-readable storage medium storing instructions can be provided, wherein the computer can be A computer program for executing the method for realizing automatic machine learning of the present disclosure (for example, as shown in FIG. 1) is recorded on the read storage medium.
上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述计算机程序除了可用于执行除了图1示出的步骤之外,还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和更为具体的处理的内容已经参照图1进行了描述,这里为了避免重复将不再进行赘述。The computer program in the above-mentioned computer-readable storage medium can be run in an environment deployed in computer equipment such as a client, a host, a proxy device, a server, etc. It should be noted that the computer program can be used to perform steps other than those shown in FIG. 1 In addition, it can also be used to perform additional steps in addition to the above steps or perform more specific processing when performing the above steps. The content of these additional steps and more specific processing has been described with reference to FIG. 1, here in order to avoid repetition It will not be repeated here.
应注意,根据本公开示例性实施例的实现自动机器学习的装置,可完全依赖计算机程序的运行来实现相应的功能,即,各个装置与计算机程序的功能架构中与各步骤相应,使得整个装置通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。It should be noted that the device for realizing automatic machine learning according to the exemplary embodiment of the present disclosure can completely rely on the operation of the computer program to realize the corresponding function, that is, the functional architecture of each device and the computer program corresponds to each step, so that the entire device It is called by a special software package (for example, lib library) to realize the corresponding function.
另一方面,图3所示的各个装置也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读存储介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。On the other hand, each device shown in FIG. 3 can also be implemented by hardware, software, firmware, middleware, microcode, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segment used to perform the corresponding operation can be stored in a computer-readable storage medium such as a storage medium, so that the processor can read and run the corresponding Program code or code segment to perform the corresponding operation.
例如,本公开的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,使处理器执行上文述及的实现自动机器学习的方法。For example, the exemplary embodiments of the present disclosure may also be implemented as a computing device including a storage component and a processor. The storage component stores a set of computer-executable instructions. When the set of computer-executable instructions is used by the processor During execution, the processor is made to execute the method for realizing automatic machine learning mentioned above.
存储部件也即存储器。使处理器执行上文述及的实现自动机器学习的方法,也即使处理器执行如下步骤:获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,过程配置信息包括一个或多个操作步骤;获取用户针对至少部分机器学习建模过程设定的参数配置信息,参数配置信息包括操作步骤涉及的至少部分操作参数的取值空间;基于过程配置信息和基于参数配置信息确定的至少部分操作参数的不同取值组合,执行至少部分机器学习建模过程,得到多个执行结果;以及根据多个执行结果输出至少部分操作参数的优选取值。The storage component is also the memory. Make the processor execute the method for realizing automatic machine learning mentioned above, even if the processor executes the following steps: obtain the process configuration information set by the user to represent at least part of the machine learning modeling process, and the process configuration information includes one or Multiple operation steps; obtain the parameter configuration information set by the user for at least part of the machine learning modeling process, the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation steps; determined based on the process configuration information and the parameter configuration information Perform at least part of the machine learning modeling process with different value combinations of at least part of the operating parameters to obtain multiple execution results; and output preferred values of at least part of the operating parameters according to the multiple execution results.
获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息的步骤可以包括:向用户提供数据上传接口;接收用户通过数据上传接口上传的文件,其中,文件是用户基于特定规则的语言针对至少部分机器学习建模过程编写的;对文件进行解析,确定过程配置信息。The step of obtaining process configuration information set by the user to characterize at least part of the machine learning modeling process may include: providing a data upload interface to the user; receiving a file uploaded by the user through the data upload interface, where the file is based on a specific rule by the user The language is written for at least part of the machine learning modeling process; the file is parsed to determine the process configuration information.
文件还可以定义了操作步骤涉及的至少部分操作参数的取值空间,获取用户针对至少部分机器学习建模过程设定的参数配置信息的步骤可以包括:对文件进行解析,确定参数配置信息。The file may also define the value space of at least part of the operation parameters involved in the operation step, and the step of obtaining parameter configuration information set by the user for at least part of the machine learning modeling process may include: parsing the file to determine the parameter configuration information.
获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息的步骤可以包括:向用户展示用于对至少部分机器学习建模过程进行设置的交互界面;获取用户通过交互界面设定的过程配置信息。The step of obtaining process configuration information set by the user for characterizing at least part of the machine learning modeling process may include: presenting to the user an interactive interface for setting at least part of the machine learning modeling process; obtaining user settings through the interactive interface Process configuration information.
获取用户针对至少部分机器学习建模过程设定的参数配置信息的步骤可以包括:向用户展示用于对操作步骤涉及的操作参数的取值空间进行设置的交互界面;获取用户通过交互界面设定的参数配置信息。The step of obtaining the parameter configuration information set by the user for at least part of the machine learning modeling process may include: showing the user an interactive interface for setting the value space of the operation parameter involved in the operation step; obtaining the user setting through the interactive interface Parameter configuration information.
过程配置信息还可以定义了至少一个目标节点,目标节点为数据节点,其中,基于过程配置信息和基于参数配置信息所确定的至少部分操作参数的不同取值组合,执行至少部分机器学习建模过程的步骤可以包括迭代执行如下操作:根据参数配置信息确定至少部分操作参数的一组或多组取值组合;根据过程配置信息和所确定的取值组合,执行至少部分机器学习建模过程,得到目标节点的执行结果。The process configuration information may also define at least one target node, the target node is a data node, where at least part of the machine learning modeling process is executed based on the process configuration information and different value combinations of at least part of the operating parameters determined based on the parameter configuration information The steps of may include iteratively performing the following operations: determining one or more value combinations of at least part of the operating parameters according to the parameter configuration information; performing at least part of the machine learning modeling process according to the process configuration information and the determined value combination, to obtain The execution result of the target node.
在每轮迭代过程中,还包括如下步骤:将当前轮次确定的取值组合及执行结果添加到历史信息,根据参数配置信息确定至少部分操作参数的一组或多组取值组合的步骤包括: 根据参数配置信息、历史信息,使用预定的搜索策略确定当前轮次至少部分操作参数的一组或多组取值组合。In each iteration process, it also includes the following steps: adding the value combination determined in the current round and the execution result to the historical information, and determining one or more value combinations of at least part of the operating parameters according to the parameter configuration information includes : According to parameter configuration information and historical information, use a predetermined search strategy to determine one or more value combinations of at least part of the operating parameters of the current round.
搜索策略可以包括以下至少一项:随机搜索策略;枚举搜索策略;贝叶斯优化搜索策略;网格搜索策略。The search strategy may include at least one of the following: random search strategy; enumerated search strategy; Bayesian optimization search strategy; grid search strategy.
处理器执行的步骤还可以包括:保存操作参数的取值不变的操作步骤的执行结果;在执行至少部分机器学习建模过程中,忽略至少部分机器学习建模过程中操作参数的取值不变的操作步骤的执行,并调用预先保存该操作步骤的执行结果。The steps executed by the processor may further include: saving the execution result of the operation step in which the value of the operating parameter is unchanged; during the execution of at least part of the machine learning modeling process, ignoring the value of the operating parameter in the process of at least part of the machine learning modeling process. Change the execution of the operation step, and call to save the execution result of the operation step in advance.
处理器执行的步骤还可以包括:根据至少部分机器学习建模过程的执行结果,对为操作步骤分配的计算资源的资源使用情况进行预估;根据预估结果调整为操作步骤分配的计算资源。The steps executed by the processor may further include: estimating the resource usage of the computing resources allocated for the operation steps according to the execution result of at least part of the machine learning modeling process; and adjusting the computing resources allocated for the operation steps according to the estimation result.
处理器执行的步骤还可以包括:获取用户设定的用于对至少部分操作参数的取值进行筛选的筛选条件配置信息,执行至少部分机器学习建模过程的步骤可以包括:根据筛选条件配置信息对基于参数配置信息确定的至少部分操作参数的不同取值组合进行筛选;基于过程配置信息和筛选后的取值组合,执行至少部分机器学习建模过程。The steps executed by the processor may further include: obtaining filter condition configuration information set by the user for screening at least part of the values of the operating parameters, and the step of executing at least part of the machine learning modeling process may include: configuring the information according to the filter conditions Filtering different value combinations of at least part of the operating parameters determined based on the parameter configuration information; performing at least part of the machine learning modeling process based on the process configuration information and the filtered value combination.
具体说来,所述计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,所述计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。Specifically, the computing device can be deployed in a server or a client, and can also be deployed on a node device in a distributed network environment. In addition, the computing device may be a PC computer, a tablet device, a personal digital assistant, a smart phone, a web application, or other devices capable of executing the above set of instructions.
这里,所述计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。Here, the computing device does not have to be a single computing device, and may also be any device or a collection of circuits that can execute the above-mentioned instructions (or instruction sets) individually or jointly. The computing device may also be a part of an integrated control system or a system manager, or may be configured as a portable electronic device interconnected with a local or remote (e.g., via wireless transmission) interface.
在所述计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。In the computing device, the processor may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, the processor may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, and the like.
根据本公开示例性实施例的实现自动机器学习的方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。Some operations described in the method for realizing automatic machine learning according to exemplary embodiments of the present disclosure can be realized by software, some operations can be realized by hardware, and in addition, it can also be realized by a combination of software and hardware. These operations.
处理器可运行存储在存储部件之一中的指令或代码,其中,所述存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。The processor can run instructions or codes stored in one of the storage components, where the storage component can also store data. Instructions and data can also be sent and received via a network via a network interface device, wherein the network interface device can use any known transmission protocol.
存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。The storage component can be integrated with the processor, for example, RAM or flash memory is arranged in an integrated circuit microprocessor or the like. In addition, the storage component may include an independent device, such as an external disk drive, a storage array, or any other storage device that can be used by a database system. The storage component and the processor may be operatively coupled, or may communicate with each other, for example, through an I/O port, a network connection, or the like, so that the processor can read files stored in the storage component.
此外,所述计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线、网络中的至少一个而彼此连接。In addition, the computing device may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, a mouse, a touch input device, etc.). All components of the computing device can be connected to each other via at least one of a bus and a network.
根据本公开示例性实施例的实现自动机器学习的方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。The operations involved in the method for implementing automatic machine learning according to exemplary embodiments of the present disclosure may be described as various interconnected or coupled functional blocks or functional diagrams. However, these functional blocks or functional diagrams may be equally integrated into a single logic device or operated according to imprecise boundaries.
例如,如上所述,根据本公开示例性实施例的实现自动机器学习的装置可包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行上文述及的实现自动机器学习的方法。For example, as described above, an apparatus for implementing automatic machine learning according to an exemplary embodiment of the present disclosure may include a storage component and a processor, wherein the storage component stores a set of computer-executable instructions, and when the set of computer-executable instructions is When the processor executes, it executes the above-mentioned method for realizing automatic machine learning.
本公开的示例性实施例还可以实现为一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如本公开上文述及的实现自动机器学习的方法。Exemplary embodiments of the present disclosure may also be implemented as a system including at least one computing device and at least one storage device storing instructions, wherein when the instructions are executed by the at least one computing device, the at least one The computing device executes the method for realizing automatic machine learning as described above in this disclosure.
以上描述了本公开的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本公开不限于所披露的各示例性实施例。在不偏离本公开的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本公开的保护范围应该以权利要求的范围为准。The exemplary embodiments of the present disclosure are described above. It should be understood that the foregoing description is only exemplary and not exhaustive, and the present disclosure is not limited to the disclosed exemplary embodiments. Without departing from the scope and spirit of the present disclosure, many modifications and alterations are obvious to those of ordinary skill in the art. Therefore, the protection scope of the present disclosure should be subject to the scope of the claims.

Claims (41)

  1. 一种实现自动机器学习的方法,包括:A method for implementing automatic machine learning, including:
    获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,所述过程配置信息包括一个或多个操作步骤;Acquiring process configuration information set by the user for representing at least part of the machine learning modeling process, where the process configuration information includes one or more operation steps;
    获取用户针对所述至少部分机器学习建模过程设定的参数配置信息,所述参数配置信息包括所述操作步骤涉及的至少部分操作参数的取值空间;Acquiring parameter configuration information set by the user for the at least part of the machine learning modeling process, where the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation step;
    基于所述过程配置信息和基于所述参数配置信息确定的所述至少部分操作参数的不同取值组合,执行所述至少部分机器学习建模过程,得到多个执行结果;以及Execute the at least part of the machine learning modeling process based on the process configuration information and the different value combinations of the at least part of the operating parameters determined based on the parameter configuration information to obtain multiple execution results; and
    根据所述多个执行结果输出所述至少部分操作参数的优选取值。The preferred values of the at least part of the operating parameters are output according to the multiple execution results.
  2. 根据权利要求1所述的方法,其中,获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息的步骤包括:The method according to claim 1, wherein the step of obtaining process configuration information set by the user for characterizing at least part of the machine learning modeling process comprises:
    向用户提供数据上传接口;Provide users with a data upload interface;
    接收用户通过所述数据上传接口上传的文件,其中,所述文件是用户基于特定规则的语言针对所述至少部分机器学习建模过程编写的;Receiving a file uploaded by a user through the data upload interface, where the file is written by the user in a language based on specific rules for the at least part of the machine learning modeling process;
    对所述文件进行解析,确定所述过程配置信息。Analyze the file to determine the process configuration information.
  3. 根据权利要求2所述的方法,其中,所述文件还定义了所述操作步骤涉及的至少部分操作参数的取值空间,获取用户针对所述至少部分机器学习建模过程设定的参数配置信息的步骤包括:The method according to claim 2, wherein the file further defines the value space of at least part of the operating parameters involved in the operation step, and obtains parameter configuration information set by the user for the at least part of the machine learning modeling process The steps include:
    对所述文件进行解析,确定所述参数配置信息。Analyze the file to determine the parameter configuration information.
  4. 根据权利要求1所述的方法,其中,获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息的步骤包括:The method according to claim 1, wherein the step of obtaining process configuration information set by the user for characterizing at least part of the machine learning modeling process comprises:
    向用户展示用于对所述至少部分机器学习建模过程进行设置的交互界面;Showing the user an interactive interface for setting the at least part of the machine learning modeling process;
    获取用户通过所述交互界面设定的过程配置信息。Obtain process configuration information set by the user through the interactive interface.
  5. 根据权利要求1所述的方法,其中,获取用户针对所述至少部分机器学习建模过程设定的参数配置信息的步骤包括:The method according to claim 1, wherein the step of obtaining the parameter configuration information set by the user for the at least part of the machine learning modeling process comprises:
    向用户展示用于对所述操作步骤涉及的操作参数的取值空间进行设置的交互界面;Show the user an interactive interface for setting the value space of the operation parameter involved in the operation step;
    获取用户通过所述交互界面设定的参数配置信息。Acquire parameter configuration information set by the user through the interactive interface.
  6. 根据权利要求1所述的方法,其中,所述过程配置信息还定义了至少一个目标节点,所述目标节点为数据节点,其中,基于所述过程配置信息和基于所述参数配置信息所确定的所述至少部分操作参数的不同取值组合,执行所述至少部分机器学习建模过程的步骤包括迭代执行如下操作:The method according to claim 1, wherein the process configuration information further defines at least one target node, and the target node is a data node, wherein the process configuration information is determined based on the process configuration information and the parameter configuration information. For different value combinations of the at least part of the operating parameters, the steps of executing the at least part of the machine learning modeling process include iteratively executing the following operations:
    根据所述参数配置信息确定所述至少部分操作参数的一组或多组取值组合;Determining one or more value combinations of the at least part of the operating parameters according to the parameter configuration information;
    根据所述过程配置信息和所确定的取值组合,执行所述至少部分机器学习建模过程,得到所述目标节点的执行结果。According to the process configuration information and the determined value combination, execute the at least part of the machine learning modeling process to obtain the execution result of the target node.
  7. 根据权利要求6所述的方法,其中,在每轮迭代过程中,该方法还包括:将当前轮次确定的取值组合及执行结果添加到历史信息,The method according to claim 6, wherein, in each iteration process, the method further comprises: adding the combination of values determined in the current round and the execution result to the historical information,
    根据所述参数配置信息确定所述至少部分操作参数的一组或多组取值组合的步骤包括:根据所述参数配置信息、所述历史信息,使用预定的搜索策略确定当前轮次所述至少部分操作参数的一组或多组取值组合。The step of determining one or more value combinations of the at least part of the operating parameters according to the parameter configuration information includes: using a predetermined search strategy to determine the at least one value combination of the at least part of the operating parameters in the current round according to the parameter configuration information and the historical information. One or more value combinations of some operating parameters.
  8. 根据权利要求7所述的方法,其中,所述搜索策略包括以下至少一项:The method according to claim 7, wherein the search strategy includes at least one of the following:
    随机搜索策略;Random search strategy;
    枚举搜索策略;Enumeration search strategy;
    贝叶斯优化搜索策略;Bayesian optimization search strategy;
    网格搜索策略。Grid search strategy.
  9. 根据权利要求1所述的方法,还包括:The method according to claim 1, further comprising:
    保存操作参数的取值不变的操作步骤的执行结果;Save the execution result of the operation step in which the value of the operation parameter is unchanged;
    在执行所述至少部分机器学习建模过程中,忽略所述至少部分机器学习建模过程中操作参数的取值不变的操作步骤的执行,并调用预先保存该操作步骤的执行结果。During the execution of the at least part of the machine learning modeling process, the execution of the operation step in which the value of the operating parameter does not change in the at least part of the machine learning modeling process is ignored, and the execution result of the operation step is saved in advance.
  10. 根据权利要求1所述的方法,还包括:The method according to claim 1, further comprising:
    根据所述至少部分机器学习建模过程的执行结果,对为所述操作步骤分配的计算资源的资源使用情况进行预估;Estimate the resource usage of the computing resources allocated for the operation steps according to the execution result of the at least part of the machine learning modeling process;
    根据预估结果调整为所述操作步骤分配的计算资源。Adjust the computing resources allocated for the operation step according to the estimation result.
  11. 根据权利要求1所述的方法,还包括:获取用户设定的用于对所述至少部分操作参数的取值进行筛选的筛选条件配置信息,其中,The method according to claim 1, further comprising: obtaining filter condition configuration information set by a user for filtering the values of the at least part of the operating parameters, wherein:
    执行所述至少部分机器学习建模过程的步骤包括:根据所述筛选条件配置信息对基于所述参数配置信息确定的所述至少部分操作参数的不同取值组合进行筛选;基于所述过程配置信息和筛选后的取值组合,执行所述至少部分机器学习建模过程。The step of performing the at least part of the machine learning modeling process includes: filtering different value combinations of the at least part of the operating parameters determined based on the parameter configuration information according to the filtering condition configuration information; and based on the process configuration information In combination with the filtered value, the at least part of the machine learning modeling process is executed.
  12. 根据权利要求1所述的方法,其中,The method of claim 1, wherein:
    所述操作步骤包括操作节点和数据节点,所述操作节点的输入和输出均为数据节点,所述参数配置信息包括所述操作节点涉及的至少部分操作参数的取值空间。The operation step includes an operation node and a data node, the input and output of the operation node are both data nodes, and the parameter configuration information includes the value space of at least part of the operation parameters related to the operation node.
  13. 根据权利要求12所述的方法,其中,所述过程配置信息为由数据节点和操作节点组成的计算图。The method according to claim 12, wherein the process configuration information is a calculation graph composed of data nodes and operation nodes.
  14. 一种实现自动机器学习的装置,包括:A device for realizing automatic machine learning, including:
    第一获取模块,被配置为获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,所述过程配置信息包括一个或多个操作步骤;The first obtaining module is configured to obtain process configuration information set by a user for representing at least part of the machine learning modeling process, the process configuration information including one or more operation steps;
    第二获取模块,被配置为获取用户针对所述至少部分机器学习建模过程设定的参数配置信息,所述参数配置信息包括所述操作步骤涉及的至少部分操作参数的取值空间;The second acquiring module is configured to acquire parameter configuration information set by the user for the at least part of the machine learning modeling process, where the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation step;
    执行模块,被配置为基于所述过程配置信息和基于所述参数配置信息确定的所述至少部分操作参数的不同取值组合,执行所述至少部分机器学习建模过程,得到多个执行结果;以及An execution module configured to execute the at least part of the machine learning modeling process based on the process configuration information and different value combinations of the at least part of the operating parameters determined based on the parameter configuration information to obtain multiple execution results; as well as
    输出模块,被配置为根据所述多个执行结果输出所述至少部分操作参数的优选取值。The output module is configured to output the preferred values of the at least part of the operating parameters according to the multiple execution results.
  15. 根据权利要求14所述的装置,还包括:The device according to claim 14, further comprising:
    提供模块,被配置为向用户提供数据上传接口;Provide a module, which is configured to provide users with a data upload interface;
    接收模块,被配置为接收用户通过所述数据上传接口上传的文件,其中,所述文件是用户基于特定规则的语言针对所述至少部分机器学习建模过程编写的,其中,所述第一获取模块对所述文件进行解析,确定所述过程配置信息。The receiving module is configured to receive a file uploaded by a user through the data upload interface, where the file is written by the user for the at least part of the machine learning modeling process based on a language of specific rules, wherein the first acquisition The module parses the file and determines the process configuration information.
  16. 根据权利要求15所述的装置,其中,所述文件还定义了所述操作步骤涉及的至少部分操作参数的取值空间,所述第二获取模块对所述文件进行解析,确定所述参数配置信息。The device according to claim 15, wherein the file further defines the value space of at least part of the operation parameters involved in the operation step, and the second acquisition module parses the file to determine the parameter configuration information.
  17. 根据权利要求14所述的装置,还包括:The device according to claim 14, further comprising:
    第一展示模块,被配置为向用户展示用于对所述至少部分机器学习建模过程进行设置的交互界面,其中,所述第一获取模块获取用户通过所述交互界面设定的过程配置信息。The first display module is configured to display an interactive interface for setting the at least part of the machine learning modeling process to the user, wherein the first obtaining module obtains the process configuration information set by the user through the interactive interface .
  18. 根据权利要求14所述的装置,还包括:The device according to claim 14, further comprising:
    第二展示模块,被配置为向用户展示用于对所述操作步骤涉及的操作参数的取值空间进行设置的交互界面,其中,所述第二获取模块获取用户通过所述交互界面设定的参数配置信息。The second display module is configured to display to the user an interactive interface for setting the value space of the operation parameter involved in the operation step, wherein the second obtaining module obtains the user setting through the interactive interface Parameter configuration information.
  19. 根据权利要求14所述的装置,其中,所述过程配置信息还定义了至少一个目标节点,所述目标节点为数据节点,所述装置还包括确定模块,The apparatus according to claim 14, wherein the process configuration information further defines at least one target node, the target node is a data node, and the apparatus further comprises a determining module,
    在每轮迭代过程中:所述确定模块根据所述参数配置信息确定所述至少部分操作参数的一组或多组取值组合;所述执行模块根据所述过程配置信息和所述确定模块确定的取值组合,执行所述至少部分机器学习建模过程,得到所述目标节点的执行结果。In each iteration process: the determining module determines one or more value combinations of the at least part of the operating parameters according to the parameter configuration information; the execution module determines according to the process configuration information and the determining module And execute the at least part of the machine learning modeling process to obtain the execution result of the target node.
  20. 根据权利要求19所述的装置,还包括:添加模块,The device according to claim 19, further comprising: an adding module,
    在每轮迭代过程中:所述添加模块将当前轮次确定的取值组合及执行结果添加到历 史信息;所述确定模块根据所述参数配置信息、所述历史信息,使用预定的搜索策略确定当前轮次所述至少部分操作参数的一组或多组取值组合。In each iteration process: the adding module adds the value combination determined in the current round and the execution result to the historical information; the determining module uses a predetermined search strategy to determine according to the parameter configuration information and the historical information One or more value combinations of at least part of the operating parameters in the current round.
  21. 根据权利要求20所述的装置,其中,所述搜索策略包括以下至少一项:The device according to claim 20, wherein the search strategy comprises at least one of the following:
    随机搜索策略;Random search strategy;
    枚举搜索策略;Enumeration search strategy;
    贝叶斯优化搜索策略;Bayesian optimization search strategy;
    网格搜索策略。Grid search strategy.
  22. 根据权利要求14所述的装置,还包括:The device according to claim 14, further comprising:
    保存模块,被配置为保存操作参数的取值不变的操作步骤的执行结果,The saving module is configured to save the execution result of the operation step whose value of the operation parameter is unchanged,
    所述执行模块在执行所述至少部分机器学习建模过程中,忽略所述至少部分机器学习建模过程中操作参数的取值不变的操作步骤的执行,并调用预先保存该操作步骤的执行结果。In the execution of the at least part of the machine learning modeling process, the execution module ignores the execution of the operation steps in which the values of the operating parameters are unchanged during the at least part of the machine learning modeling process, and calls the execution of the operation steps saved in advance result.
  23. 根据权利要求14所述的装置,还包括:The device according to claim 14, further comprising:
    预估模块,被配置为根据所述至少部分机器学习建模过程的执行结果,对为所述操作步骤分配的计算资源的资源使用情况进行预估;The estimation module is configured to estimate the resource usage of the computing resources allocated for the operation step according to the execution result of the at least part of the machine learning modeling process;
    调整模块,被配置为根据预估结果调整为所述操作步骤分配的计算资源。The adjustment module is configured to adjust the computing resources allocated for the operation step according to the estimation result.
  24. 根据权利要求14所述的装置,还包括:The device according to claim 14, further comprising:
    第三获取模块,被配置为获取用户设定的用于对所述至少部分操作参数的取值进行筛选的筛选条件配置信息;The third acquiring module is configured to acquire the filter condition configuration information set by the user and used to filter the values of the at least part of the operating parameters;
    筛选模块,被配置为根据所述筛选条件配置信息对基于所述参数配置信息确定的所述至少部分操作参数的不同取值组合进行筛选;A screening module configured to screen different value combinations of the at least part of the operating parameters determined based on the parameter configuration information according to the screening condition configuration information;
    所述执行模块基于所述过程配置信息和筛选后的取值组合,执行所述至少部分机器学习建模过程。The execution module executes the at least part of the machine learning modeling process based on the process configuration information and the filtered value combination.
  25. 根据权利要求14所述的装置,其中,The device according to claim 14, wherein:
    所述操作步骤包括操作节点和数据节点,所述操作节点的输入和输出均为数据节点,所述参数配置信息包括所述操作节点涉及的至少部分操作参数的取值空间。The operation step includes an operation node and a data node, the input and output of the operation node are both data nodes, and the parameter configuration information includes the value space of at least part of the operation parameters related to the operation node.
  26. 根据权利要求25所述的装置,其中,所述过程配置信息为由数据节点和操作节点组成的计算图。The apparatus according to claim 25, wherein the process configuration information is a calculation graph composed of data nodes and operation nodes.
  27. 一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到13中的任一权利要求所述的方法。A system comprising at least one computing device and at least one storage device storing instructions, wherein when the instructions are executed by the at least one computing device, the at least one computing device causes the at least one computing device to execute the The method of any claim.
  28. 一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到13中的任一权利要求所述的方法。A computer-readable storage medium storing instructions, wherein when the instructions are executed by at least one computing device, the at least one computing device is prompted to execute the method according to any one of claims 1 to 13.
  29. 一种计算装置,包括处理器和存储器,所述存储器中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,使所述处理器执行如下步骤:A computing device includes a processor and a memory. The memory stores a set of computer-executable instructions. When the set of computer-executable instructions is executed by the processor, the processor is caused to perform the following steps:
    获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息,所述过程配置信息包括一个或多个操作步骤;Acquiring process configuration information set by the user for representing at least part of the machine learning modeling process, where the process configuration information includes one or more operation steps;
    获取用户针对所述至少部分机器学习建模过程设定的参数配置信息,所述参数配置信息包括所述操作步骤涉及的至少部分操作参数的取值空间;Acquiring parameter configuration information set by the user for the at least part of the machine learning modeling process, where the parameter configuration information includes the value space of at least part of the operation parameters involved in the operation step;
    基于所述过程配置信息和基于所述参数配置信息确定的所述至少部分操作参数的不同取值组合,执行所述至少部分机器学习建模过程,得到多个执行结果;以及Execute the at least part of the machine learning modeling process based on the process configuration information and the different value combinations of the at least part of the operating parameters determined based on the parameter configuration information to obtain multiple execution results; and
    根据所述多个执行结果输出所述至少部分操作参数的优选取值。The preferred values of the at least part of the operating parameters are output according to the multiple execution results.
  30. 根据权利要求29所述的计算装置,其中,获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息的步骤包括:The computing device according to claim 29, wherein the step of obtaining process configuration information set by the user for characterizing at least part of the machine learning modeling process comprises:
    向用户提供数据上传接口;Provide users with a data upload interface;
    接收用户通过所述数据上传接口上传的文件,其中,所述文件是用户基于特定规则的语言针对所述至少部分机器学习建模过程编写的;Receiving a file uploaded by a user through the data upload interface, where the file is written by the user in a language based on specific rules for the at least part of the machine learning modeling process;
    对所述文件进行解析,确定所述过程配置信息。Analyze the file to determine the process configuration information.
  31. 根据权利要求30所述的计算装置,其中,所述文件还定义了所述操作步骤涉及的至少部分操作参数的取值空间,获取用户针对所述至少部分机器学习建模过程设定的参数配置信息的步骤包括:The computing device according to claim 30, wherein the file further defines the value space of at least part of the operation parameters involved in the operation step, and obtains the parameter configuration set by the user for the at least part of the machine learning modeling process The information steps include:
    对所述文件进行解析,确定所述参数配置信息。Analyze the file to determine the parameter configuration information.
  32. 根据权利要求29所述的计算装置,其中,获取用户设定的用于表征至少部分机器学习建模过程的过程配置信息的步骤包括:The computing device according to claim 29, wherein the step of obtaining process configuration information set by the user for characterizing at least part of the machine learning modeling process comprises:
    向用户展示用于对所述至少部分机器学习建模过程进行设置的交互界面;Showing the user an interactive interface for setting the at least part of the machine learning modeling process;
    获取用户通过所述交互界面设定的过程配置信息。Obtain process configuration information set by the user through the interactive interface.
  33. 根据权利要求29所述的计算装置,其中,获取用户针对所述至少部分机器学习建模过程设定的参数配置信息的步骤包括:The computing device according to claim 29, wherein the step of obtaining the parameter configuration information set by the user for the at least part of the machine learning modeling process comprises:
    向用户展示用于对所述操作步骤涉及的操作参数的取值空间进行设置的交互界面;Show the user an interactive interface for setting the value space of the operation parameter involved in the operation step;
    获取用户通过所述交互界面设定的参数配置信息。Acquire parameter configuration information set by the user through the interactive interface.
  34. 根据权利要求29所述的计算装置,其中,所述过程配置信息还定义了至少一个目标节点,所述目标节点为数据节点,其中,基于所述过程配置信息和基于所述参数配置 信息所确定的所述至少部分操作参数的不同取值组合,执行所述至少部分机器学习建模过程的步骤包括迭代执行如下操作:The computing device according to claim 29, wherein the process configuration information further defines at least one target node, and the target node is a data node, wherein the process configuration information is determined based on the process configuration information and the parameter configuration information. The steps of performing the at least part of the machine learning modeling process include different value combinations of the at least part of the operating parameters, including iteratively performing the following operations:
    根据所述参数配置信息确定所述至少部分操作参数的一组或多组取值组合;Determining one or more value combinations of the at least part of the operating parameters according to the parameter configuration information;
    根据所述过程配置信息和所确定的取值组合,执行所述至少部分机器学习建模过程,得到所述目标节点的执行结果。According to the process configuration information and the determined value combination, execute the at least part of the machine learning modeling process to obtain the execution result of the target node.
  35. 根据权利要求34所述的计算装置,其中,在每轮迭代过程中,还包括如下步骤:将当前轮次确定的取值组合及执行结果添加到历史信息,The computing device according to claim 34, wherein, in each iteration process, it further comprises the following step: adding the value combination determined in the current round and the execution result to the historical information,
    根据所述参数配置信息确定所述至少部分操作参数的一组或多组取值组合的步骤包括:根据所述参数配置信息、所述历史信息,使用预定的搜索策略确定当前轮次所述至少部分操作参数的一组或多组取值组合。The step of determining one or more value combinations of the at least part of the operating parameters according to the parameter configuration information includes: using a predetermined search strategy to determine the at least one value combination of the at least part of the operating parameters in the current round according to the parameter configuration information and the historical information. One or more value combinations of some operating parameters.
  36. 根据权利要求35所述的计算装置,其中,所述搜索策略包括以下至少一项:The computing device according to claim 35, wherein the search strategy comprises at least one of the following:
    随机搜索策略;Random search strategy;
    枚举搜索策略;Enumeration search strategy;
    贝叶斯优化搜索策略;Bayesian optimization search strategy;
    网格搜索策略。Grid search strategy.
  37. 根据权利要求29所述的计算装置,其中,还包括以下步骤:The computing device according to claim 29, further comprising the following steps:
    保存操作参数的取值不变的操作步骤的执行结果;Save the execution result of the operation step in which the value of the operation parameter is unchanged;
    在执行所述至少部分机器学习建模过程中,忽略所述至少部分机器学习建模过程中操作参数的取值不变的操作步骤的执行,并调用预先保存该操作步骤的执行结果。During the execution of the at least part of the machine learning modeling process, the execution of the operation step in which the value of the operating parameter does not change in the at least part of the machine learning modeling process is ignored, and the execution result of the operation step is saved in advance.
  38. 根据权利要求29所述的计算装置,其中,还包括以下步骤:The computing device according to claim 29, further comprising the following steps:
    根据所述至少部分机器学习建模过程的执行结果,对为所述操作步骤分配的计算资源的资源使用情况进行预估;According to the execution result of the at least part of the machine learning modeling process, estimate the resource usage of the computing resources allocated for the operation step;
    根据预估结果调整为所述操作步骤分配的计算资源。Adjust the computing resources allocated for the operation step according to the estimation result.
  39. 根据权利要求29所述的计算装置,其中,还包括以下步骤:获取用户设定的用于对所述至少部分操作参数的取值进行筛选的筛选条件配置信息,The computing device according to claim 29, further comprising the following step: obtaining filter condition configuration information set by the user for filtering the values of the at least part of the operating parameters,
    执行所述至少部分机器学习建模过程的步骤包括:根据所述筛选条件配置信息对基于所述参数配置信息确定的所述至少部分操作参数的不同取值组合进行筛选;基于所述过程配置信息和筛选后的取值组合,执行所述至少部分机器学习建模过程。The step of performing the at least part of the machine learning modeling process includes: filtering different value combinations of the at least part of the operating parameters determined based on the parameter configuration information according to the filtering condition configuration information; and based on the process configuration information In combination with the filtered value, the at least part of the machine learning modeling process is executed.
  40. 根据权利要求29所述的计算装置,其中,The computing device of claim 29, wherein:
    所述操作步骤包括操作节点和数据节点,所述操作节点的输入和输出均为数据节点,所述参数配置信息包括所述操作节点涉及的至少部分操作参数的取值空间。The operation step includes an operation node and a data node, the input and output of the operation node are both data nodes, and the parameter configuration information includes the value space of at least part of the operation parameters related to the operation node.
  41. 根据权利要求40所述的计算装置,其中,所述过程配置信息为由数据节点和操作节点组成的计算图。The computing device according to claim 40, wherein the process configuration information is a computing graph composed of data nodes and operation nodes.
PCT/CN2021/081329 2020-03-25 2021-03-17 Method and device for realizing automatic machine learning WO2021190379A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010219796.5 2020-03-25
CN202010219796.5A CN111340240A (en) 2020-03-25 2020-03-25 Method and device for realizing automatic machine learning

Publications (1)

Publication Number Publication Date
WO2021190379A1 true WO2021190379A1 (en) 2021-09-30

Family

ID=71186282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/081329 WO2021190379A1 (en) 2020-03-25 2021-03-17 Method and device for realizing automatic machine learning

Country Status (2)

Country Link
CN (1) CN111340240A (en)
WO (1) WO2021190379A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334005A (en) * 2022-03-31 2022-11-11 北京邮电大学 Encrypted flow identification method based on pruning convolution neural network and machine learning
WO2023130837A1 (en) * 2022-01-10 2023-07-13 华南理工大学 Automatic machine learning implementation method, platform and apparatus for scientific research application

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111340240A (en) * 2020-03-25 2020-06-26 第四范式(北京)技术有限公司 Method and device for realizing automatic machine learning
CN114385256A (en) * 2020-10-22 2022-04-22 华为云计算技术有限公司 Method and device for configuring system parameters
CN112783478A (en) * 2021-02-19 2021-05-11 合肥海赛信息科技有限公司 Software design method based on automatic machine learning
CN113033816A (en) * 2021-03-08 2021-06-25 北京沃东天骏信息技术有限公司 Processing method and device of machine learning model, storage medium and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326005A (en) * 2016-01-21 2017-01-11 华南师范大学 Automatic parameter tuning method for iterative MapReduce operation
CN108446299A (en) * 2018-01-25 2018-08-24 链家网(北京)科技有限公司 The method and device of data-optimized calculating in a kind of task
CN108710949A (en) * 2018-04-26 2018-10-26 第四范式(北京)技术有限公司 The method and system of template are modeled for creating machine learning
CN110321222A (en) * 2019-07-01 2019-10-11 中国人民解放军国防科技大学 Decision tree prediction-based data parallel operation resource allocation method
CN110472747A (en) * 2019-08-16 2019-11-19 第四范式(北京)技术有限公司 For executing the distributed system and its method of multimachine device learning tasks
CN111340240A (en) * 2020-03-25 2020-06-26 第四范式(北京)技术有限公司 Method and device for realizing automatic machine learning

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632054B (en) * 2017-03-17 2022-08-05 电子科技大学 Information transmission quantity prediction method and device
CN107247973A (en) * 2017-06-29 2017-10-13 中国矿业大学 A kind of preferred Parallel Particle Swarm Optimization optimization method of SVMs parameter based on spark
EP3528435B1 (en) * 2018-02-16 2021-03-31 Juniper Networks, Inc. Automated configuration and data collection during modeling of network devices
CN108595265B (en) * 2018-04-11 2022-05-13 武汉唯信兄弟科技有限公司 Intelligent distribution method and system for computing resources
CN110598868B (en) * 2018-05-25 2023-04-18 腾讯科技(深圳)有限公司 Machine learning model building method and device and related equipment
US10560696B2 (en) * 2018-06-25 2020-02-11 Tfi Digital Media Limited Method for initial quantization parameter optimization in video coding
CN108845874B (en) * 2018-06-25 2023-03-21 腾讯科技(深圳)有限公司 Dynamic resource allocation method and server
US20210241177A1 (en) * 2018-07-10 2021-08-05 The Fourth Paradigm (Beijing) Tech Co Ltd Method and system for performing machine learning process
CN109242105B (en) * 2018-08-17 2024-03-15 第四范式(北京)技术有限公司 Code optimization method, device, equipment and medium
CN110895718A (en) * 2018-09-07 2020-03-20 第四范式(北京)技术有限公司 Method and system for training machine learning model
CN109464803B (en) * 2018-11-05 2022-03-04 腾讯科技(深圳)有限公司 Virtual object control method, virtual object control device, model training device, storage medium and equipment
CN110503208B (en) * 2019-08-26 2022-05-17 第四范式(北京)技术有限公司 Resource scheduling method and resource scheduling device in multi-model exploration
AU2019101182A4 (en) * 2019-10-02 2020-01-23 Feng, Yawen MISS Credit Risk Assessment of Lending Borrowers Based on Hybrid Supervised and Unsupervised Learning

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326005A (en) * 2016-01-21 2017-01-11 华南师范大学 Automatic parameter tuning method for iterative MapReduce operation
CN108446299A (en) * 2018-01-25 2018-08-24 链家网(北京)科技有限公司 The method and device of data-optimized calculating in a kind of task
CN108710949A (en) * 2018-04-26 2018-10-26 第四范式(北京)技术有限公司 The method and system of template are modeled for creating machine learning
CN110321222A (en) * 2019-07-01 2019-10-11 中国人民解放军国防科技大学 Decision tree prediction-based data parallel operation resource allocation method
CN110472747A (en) * 2019-08-16 2019-11-19 第四范式(北京)技术有限公司 For executing the distributed system and its method of multimachine device learning tasks
CN111340240A (en) * 2020-03-25 2020-06-26 第四范式(北京)技术有限公司 Method and device for realizing automatic machine learning

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023130837A1 (en) * 2022-01-10 2023-07-13 华南理工大学 Automatic machine learning implementation method, platform and apparatus for scientific research application
CN115334005A (en) * 2022-03-31 2022-11-11 北京邮电大学 Encrypted flow identification method based on pruning convolution neural network and machine learning
CN115334005B (en) * 2022-03-31 2024-03-22 北京邮电大学 Encryption flow identification method based on pruning convolutional neural network and machine learning

Also Published As

Publication number Publication date
CN111340240A (en) 2020-06-26

Similar Documents

Publication Publication Date Title
WO2021190379A1 (en) Method and device for realizing automatic machine learning
WO2020253775A1 (en) Method and system for realizing machine learning modeling process
CN107025509B (en) Decision making system and method based on business model
CN111523677B (en) Method and device for realizing interpretation of prediction result of machine learning model
WO2021208685A1 (en) Method and apparatus for executing automatic machine learning process, and device
CN108229341A (en) Sorting technique and device, electronic equipment, computer storage media, program
US10083263B2 (en) Automatic modeling farmer
CN110705719A (en) Method and apparatus for performing automatic machine learning
CN112085087B (en) Business rule generation method, device, computer equipment and storage medium
EP3462399A1 (en) Using attributes for identifying imagery for selection
WO2021244639A1 (en) Auxiliary implementation method and apparatus for online prediction using machine learning model
US20230043882A1 (en) Method for assisting launch of machine learning model
CN113282623A (en) Data processing method and device
CN113706291A (en) Fraud risk prediction method, device, equipment and storage medium
CN111768096A (en) Rating method and device based on algorithm model, electronic equipment and storage medium
US20210326761A1 (en) Method and System for Uniform Execution of Feature Extraction
CN110348669B (en) Intelligent rule generation method, intelligent rule generation device, computer equipment and storage medium
US20170300937A1 (en) System and method for inferring social influence networks from transactional data
CN116450723A (en) Data extraction method, device, computer equipment and storage medium
CN114090601B (en) Data screening method, device, equipment and storage medium
US20230351655A1 (en) Automatic design-creating artificial neural network device and method, using ux-bits
CN113051911B (en) Method, apparatus, device, medium and program product for extracting sensitive words
CN115641186A (en) Intelligent analysis method, device and equipment for preference of live broadcast product and storage medium
CN114693435A (en) Intelligent return visit method and device for collection list, electronic equipment and storage medium
CN111178535B (en) Method and apparatus for implementing automatic machine learning

Legal Events

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

Ref document number: 21774032

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21774032

Country of ref document: EP

Kind code of ref document: A1