Conceptio › Archive › Google Patents
Google Patents open access

Neural Network Search Method, Apparatus, And Device — Huawei Technologies Co., Ltd. (US20220292357A1)

Huawei Technologies Co., Ltd. · Google Patents
Google Patents · Patents
Open Source ↗
engoogle-patentshang-xuhuawei-technologies-cointellectual-propertypatent
, wherein the neural network obtained through the (i−1) th evolution is a deep residual network, and the mutation unit is specifically configured to perform at least one of the following steps: swapping locations of two residual units in one or more neural networks of the neural network obtained … Neural Network Search Method, Apparatus, And Device — Huawei Technologies Co., Ltd. (US20220292357A1)
Conceptio Open Archive

Analyze & explore related research in Conceptio

Connect this record directly into your research workflow or AI agent. Explore citations across open repositories, query full text, and export structured proof bundles.

ABSTRACT

Abstract

A neural network search method, apparatus, and device are provided, and relate to the field of artificial intelligence technologies, and specifically, to the field of automatic machine learning technologies. The method includes: A computing device obtains a dataset and N neural networks (S602), where N is a positive integer; and performs K evolutions on the N neural networks to obtain neural network obtained through the Kth evolution, where K is a positive integer (S604). In a process of each evolution, a network structure of a neural network obtained in previous evolution is mutated; and a candidate neural network is selected, based on a partially ordered hypothesis, from networks obtained through mutation.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No. PCT/CN2020/126795, filed on Nov. 5, 2020, which claims priority to Chinese Patent Application No. 201911209275.5, filed on Nov. 30, 2019. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

The present invention relates to the field of machine leaning technologies, and in particular, to a neural network search method, apparatus, and device.

BACKGROUND

Machine learning is widely applied to various fields. However, building of a machine learning model poses high requirements on a machine learning expert. The machine learning expert needs to manually perform troublesome design and debugging for the model, resulting in high human resource and time costs and prolonging a product iteration period. To facilitate easier application of machine learning, reduce required professional knowledge, and improve model performance, automatic machine learning emerges.

Automatic machine learning (automatic machine learning, AutoML) provides a full set of automatic solutions and methods for all processes of machine learning such as data cleaning, feature engineering, model building, and model training and evaluation, to save human resources and time by using computing power and reduce dependency on machine learning engineers.

Currently, in AutoML, a model search method is usually used in a process of model building and model training and evaluation, to implement automatic optimization of a model structure and a model parameter. In an existing search method, some models are selected from a search space for training, and the trained models are evaluated. Then, structures and parameters of the models are adjusted based on an evaluation result. However, in this method, all the selected models need to be trained and evaluated. This takes a long time, resulting in low efficiency in automatic machine learning.

SUMMARY

Embodiments of the present invention provide a neural network search method, apparatus, and device, to resolve the technical problem of low efficiency in automatic machine learning.

According to a first aspect, an embodiment of the present invention provides a neural network search method. The method includes: A computing device obtains a dataset and N neural networks, where N is a positive integer; and performs K evolutions on the N neural networks to obtain a neural network obtained through the K th evolution, where K is a positive integer. The i th evolution includes: The computing device mutates a network structure of a neural network obtained through the (i−1) th evolution, to obtain a mutated neural network; selects, from the mutated neural network; a neural network whose network structure is superior to that of the neural network obtained through the (i−1) th evolution, to obtain a candidate neural network; and selects, from a set of the neural network obtained through the (i−1) th evolution and the candidate neural network and based on P evaluation parameters corresponding to each neural network in the set, a neural network obtained through the i th evolution. The P evaluation parameters are for evaluating performance of a neural network obtained after each neural network in the set is trained and tested by using the dataset, i and P are positive integers, and 1≤i≤K.

In the foregoing method, in a process of each evolution, a network search space is pruned by using a partially ordered hypothesis. This excludes a neural network with a poor network structure and reduces models that need to be trained and evaluated, to prevent poor networks from occupying computing resources and consuming time. This improves efficiency in automatic machine learning.

With reference to the first aspect, in a possible implementation, the neural network obtained through the (i−1) th evolution is a CNN, and that the computing device mutates a network structure of a neural network obtained through the (i−1) th evolution may include at least one of the following steps:

swapping locations of two convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a channel quantity of one or more convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a step size of a convolution kernel of one or more convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more convolutional layers into one or more neural networks of the neural network obtained through the (i−1) th evolution;

deleting one or more convolutional layers from one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more pooling layers into one or more neural networks of the neural network obtained through the (i−1) th evolution; or

deleting one or more pooling layers from one or more neural networks of the neural network obtained through the (i−1) th evolution.

By using the foregoing imitation manner, a network structure of a neural network obtained by mutating a neural network has a similar topology structure as a network structure of the neural network before the mutation, so that the partially ordered hypothesis is met. This avoids pruning of a network with a good network structure, improving pruning accuracy.

With reference to the first aspect, in a possible implementation, the neural network obtained through the (i−1) th if evolution is a ResNet, and that the computing device mutates a neural network obtained through the (i−1) th evolution may include at least one of the following steps:

swapping locations of two residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a channel quantity of one or more residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a step size of a convolution kernel of one or more residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more residual units into one or more neural networks of the neural network obtained through the (i−1) th evolution; or

deleting one or more residual units from one or more neural networks of the neural network obtained through the (i−1) th evolution.

By using the foregoing network mutation manner, a network structure of a neural network obtained by mutating a neural network has a similar topology structure as a network structure of the neural network before the mutation, so that the partially ordered hypothesis is met. This avoids pruning of a network with a good network structure, improving pruning accuracy.

With reference to the first aspect, in a possible implementation, an implementation in which the computing device selects, from the mutated neural network, a candidate neural network whose network structure is superior to that of the neural network obtained through the) th evolution may be as follows: The computing device selects, from a neural network obtained by mutating a first neural network, a neural network whose network structure is superior to that of the first neural network. The candidate neural network includes the neural network that is of the neural network obtained by mutating the first neural network and whose network structure is superior to that of the first neural network, and the first neural network is any neural network of the neural network obtained through the (i−1) th evolution.

Optionally, when at least one of the following conditions is met, a network structure of the neural network obtained by mutating the first neural network is superior to the network structure of the first neural network:

a channel quantity of the neural network obtained by mutating the first neural network is greater than a channel quantity of the first neural network; or

a quantity of convolutional layers in the neural network obtained by mutating the first neural network is greater than a quantity of convolutional layers in the first neural network.

In the foregoing method, in the manner of pruning a mutated neural network based on a channel quantity and a quantity of convolutional layers in the neural network, only statistics about the channel quantity and the layer quantity of the neural network need to be collected. In this way, pruning efficiency is high, further improving efficiency in automatic machine learning.

With reference to the first aspect, in a possible implementation, an implementation in which the computing device selects, from a set of the neural network obtained through the (i−1) th evolution and the candidate neural network and based on P evaluation parameters corresponding to each neural network in the set, a neural network obtained through the (i−1) th evolution may be as follows: The computing device performs non-dominated sorting on the neural networks in the set based on the P evaluation parameters corresponding to each neural network in the set; and then determines that the neural network obtained through the i th evolution is a neural network that is not dominated in the set. A second neural network and a third neural network are two neural networks in the set. If the second neural network is not inferior to the third neural network in terms of each of the P evaluation parameters, and the second neural network is superior to the third neural network in terms of at least one of the P evaluation parameters, the second neural network dominates the third neural network.

In the foregoing method, in a process of each evolution, a Pareto-optimal network is selected from a set including a neural network obtained through the previous evolution and a candidate neural network obtained by mutating the neural network obtained through the previous evolution, to reduce a quantity of neural networks entering a next evolution. This greatly reduces an amount of computation in the process of each evolution, further improving efficiency in automatic machine learning.

With reference to the first aspect, in a possible implementation, an implementation in which the computing device obtains N neural networks may be as follows: The computing device randomly generates M neural networks, where M is a positive integer; trains and tests each of the M neural networks by using the dataset, to obtain P evaluation parameters corresponding to each of the M neural networks; and then selects N neural networks from the M neural networks based on the P evaluation parameters corresponding to each of the M neural networks, where N is not greater than M.

With reference to the first aspect, in a possible implementation, the P evaluation parameters include at least one of a running time, accuracy, and a parameter quantity.

By using the foregoing method, a case in which one evaluation parameter is good but other evaluation parameters are poor in the neural network obtained through the K th evolution can be avoided. In this way, multi-objective optimization is achieved, and a neural network in which P evaluation parameters are balanced is obtained.

According to a second aspect, an embodiment of this application further provides an object recognition method, including: User equipment or a client device obtains a to-be-recognized image, and inputs the to-be-recognized image to an object recognition neural network, to obtain an object type corresponding to the to-be-recognized image.

The object recognition neural network is a network determined from a search space by using the neural network search method according to any one of the first aspect or the implementations of the first aspect, and the search space is built by using a basic unit and a parameter of the basic unit.

Optionally, the to-be-recognized image is an image of an ambient environment of a vehicle and is for recognizing an object in the ambient environment of the vehicle.

Optionally, the parameter of the basic unit includes at least one of a type, a channel quantity parameter, and a size parameter of the basic unit.

Optionally, the basic unit is configured to perform a first operation and a second operation on a feature map input to the basic unit. The feature map is a feature map of the to-be-recognized image, the first operation is for doubling or maintaining a quantity of feature maps input to the basic unit, the second operation is for changing a size of the feature map input to the basic unit from an original first size to a second size or maintain the first size, and the first size is greater than the second size.

Optionally, a neural network in the search space is a ResNet. The basic unit includes a residual module. The residual module is configured to add up the feature map input to the basic unit and a feature map obtained by the basic unit by processing the feature map input to the basic unit.

Optionally, a neural network in the search space is a CNN, and a type of the basic unit includes a convolutional layer and a pooling layer.

In this case, the dataset in the first aspect includes a plurality of samples. Each sample in the dataset includes a sample image and an object type corresponding to the sample image.

According to a third aspect, an embodiment of this application further provides a gesture recognition method, including: User equipment or a client device obtains a to-be-recognized image, and inputs the to-be-recognized image to a gesture recognition neural network, to obtain a gesture type corresponding to th

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No. PCT/CN2020/126795, filed on Nov. 5, 2020, which claims priority to Chinese Patent Application No. 201911209275.5, filed on Nov. 30, 2019. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

The present invention relates to the field of machine leaning technologies, and in particular, to a neural network search method, apparatus, and device.

BACKGROUND

Machine learning is widely applied to various fields. However, building of a machine learning model poses high requirements on a machine learning expert. The machine learning expert needs to manually perform troublesome design and debugging for the model, resulting in high human resource and time costs and prolonging a product iteration period. To facilitate easier application of machine learning, reduce required professional knowledge, and improve model performance, automatic machine learning emerges.

Automatic machine learning (automatic machine learning, AutoML) provides a full set of automatic solutions and methods for all processes of machine learning such as data cleaning, feature engineering, model building, and model training and evaluation, to save human resources and time by using computing power and reduce dependency on machine learning engineers.

Currently, in AutoML, a model search method is usually used in a process of model building and model training and evaluation, to implement automatic optimization of a model structure and a model parameter. In an existing search method, some models are selected from a search space for training, and the trained models are evaluated. Then, structures and parameters of the models are adjusted based on an evaluation result. However, in this method, all the selected models need to be trained and evaluated. This takes a long time, resulting in low efficiency in automatic machine learning.

SUMMARY

Embodiments of the present invention provide a neural network search method, apparatus, and device, to resolve the technical problem of low efficiency in automatic machine learning.

According to a first aspect, an embodiment of the present invention provides a neural network search method. The method includes: A computing device obtains a dataset and N neural networks, where N is a positive integer; and performs K evolutions on the N neural networks to obtain a neural network obtained through the K th evolution, where K is a positive integer. The i th evolution includes: The computing device mutates a network structure of a neural network obtained through the (i−1) th evolution, to obtain a mutated neural network; selects, from the mutated neural network; a neural network whose network structure is superior to that of the neural network obtained through the (i−1) th evolution, to obtain a candidate neural network; and selects, from a set of the neural network obtained through the (i−1) th evolution and the candidate neural network and based on P evaluation parameters corresponding to each neural network in the set, a neural network obtained through the i th evolution. The P evaluation parameters are for evaluating performance of a neural network obtained after each neural network in the set is trained and tested by using the dataset, i and P are positive integers, and 1≤i≤K.

In the foregoing method, in a process of each evolution, a network search space is pruned by using a partially ordered hypothesis. This excludes a neural network with a poor network structure and reduces models that need to be trained and evaluated, to prevent poor networks from occupying computing resources and consuming time. This improves efficiency in automatic machine learning.

With reference to the first aspect, in a possible implementation, the neural network obtained through the (i−1) th evolution is a CNN, and that the computing device mutates a network structure of a neural network obtained through the (i−1) th evolution may include at least one of the following steps:

swapping locations of two convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a channel quantity of one or more convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a step size of a convolution kernel of one or more convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more convolutional layers into one or more neural networks of the neural network obtained through the (i−1) th evolution;

deleting one or more convolutional layers from one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more pooling layers into one or more neural networks of the neural network obtained through the (i−1) th evolution; or

deleting one or more pooling layers from one or more neural networks of the neural network obtained through the (i−1) th evolution.

By using the foregoing imitation manner, a network structure of a neural network obtained by mutating a neural network has a similar topology structure as a network structure of the neural network before the mutation, so that the partially ordered hypothesis is met. This avoids pruning of a network with a good network structure, improving pruning accuracy.

With reference to the first aspect, in a possible implementation, the neural network obtained through the (i−1) th if evolution is a ResNet, and that the computing device mutates a neural network obtained through the (i−1) th evolution may include at least one of the following steps:

swapping locations of two residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a channel quantity of one or more residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a step size of a convolution kernel of one or more residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more residual units into one or more neural networks of the neural network obtained through the (i−1) th evolution; or

deleting one or more residual units from one or more neural networks of the neural network obtained through the (i−1) th evolution.

By using the foregoing network mutation manner, a network structure of a neural network obtained by mutating a neural network has a similar topology structure as a network structure of the neural network before the mutation, so that the partially ordered hypothesis is met. This avoids pruning of a network with a good network structure, improving pruning accuracy.

With reference to the first aspect, in a possible implementation, an implementation in which the computing device selects, from the mutated neural network, a candidate neural network whose network structure is superior to that of the neural network obtained through the) th evolution may be as follows: The computing device selects, from a neural network obtained by mutating a first neural network, a neural network whose network structure is superior to that of the first neural network. The candidate neural network includes the neural network that is of the neural network obtained by mutating the first neural network and whose network structure is superior to that of the first neural network, and the first neural network is any neural network of the neural network obtained through the (i−1) th evolution.

Optionally, when at least one of the following conditions is met, a network structure of the neural network obtained by mutating the first neural network is superior to the network structure of the first neural network:

a channel quantity of the neural network obtained by mutating the first neural network is greater than a channel quantity of the first neural network; or

a quantity of convolutional layers in the neural network obtained by mutating the first neural network is greater than a quantity of convolutional layers in the first neural network.

In the foregoing method, in the manner of pruning a mutated neural network based on a channel quantity and a quantity of convolutional layers in the neural network, only statistics about the channel quantity and the layer quantity of the neural network need to be collected. In this way, pruning efficiency is high, further improving efficiency in automatic machine learning.

With reference to the first aspect, in a possible implementation, an implementation in which the computing device selects, from a set of the neural network obtained through the (i−1) th evolution and the candidate neural network and based on P evaluation parameters corresponding to each neural network in the set, a neural network obtained through the (i−1) th evolution may be as follows: The computing device performs non-dominated sorting on the neural networks in the set based on the P evaluation parameters corresponding to each neural network in the set; and then determines that the neural network obtained through the i th evolution is a neural network that is not dominated in the set. A second neural network and a third neural network are two neural networks in the set. If the second neural network is not inferior to the third neural network in terms of each of the P evaluation parameters, and the second neural network is superior to the third neural network in terms of at least one of the P evaluation parameters, the second neural network dominates the third neural network.

In the foregoing method, in a process of each evolution, a Pareto-optimal network is selected from a set including a neural network obtained through the previous evolution and a candidate neural network obtained by mutating the neural network obtained through the previous evolution, to reduce a quantity of neural networks entering a next evolution. This greatly reduces an amount of computation in the process of each evolution, further improving efficiency in automatic machine learning.

With reference to the first aspect, in a possible implementation, an implementation in which the computing device obtains N neural networks may be as follows: The computing device randomly generates M neural networks, where M is a positive integer; trains and tests each of the M neural networks by using the dataset, to obtain P evaluation parameters corresponding to each of the M neural networks; and then selects N neural networks from the M neural networks based on the P evaluation parameters corresponding to each of the M neural networks, where N is not greater than M.

With reference to the first aspect, in a possible implementation, the P evaluation parameters include at least one of a running time, accuracy, and a parameter quantity.

By using the foregoing method, a case in which one evaluation parameter is good but other evaluation parameters are poor in the neural network obtained through the K th evolution can be avoided. In this way, multi-objective optimization is achieved, and a neural network in which P evaluation parameters are balanced is obtained.

According to a second aspect, an embodiment of this application further provides an object recognition method, including: User equipment or a client device obtains a to-be-recognized image, and inputs the to-be-recognized image to an object recognition neural network, to obtain an object type corresponding to the to-be-recognized image.

The object recognition neural network is a network determined from a search space by using the neural network search method according to any one of the first aspect or the implementations of the first aspect, and the search space is built by using a basic unit and a parameter of the basic unit.

Optionally, the to-be-recognized image is an image of an ambient environment of a vehicle and is for recognizing an object in the ambient environment of the vehicle.

Optionally, the parameter of the basic unit includes at least one of a type, a channel quantity parameter, and a size parameter of the basic unit.

Optionally, the basic unit is configured to perform a first operation and a second operation on a feature map input to the basic unit. The feature map is a feature map of the to-be-recognized image, the first operation is for doubling or maintaining a quantity of feature maps input to the basic unit, the second operation is for changing a size of the feature map input to the basic unit from an original first size to a second size or maintain the first size, and the first size is greater than the second size.

Optionally, a neural network in the search space is a ResNet. The basic unit includes a residual module. The residual module is configured to add up the feature map input to the basic unit and a feature map obtained by the basic unit by processing the feature map input to the basic unit.

Optionally, a neural network in the search space is a CNN, and a type of the basic unit includes a convolutional layer and a pooling layer.

In this case, the dataset in the first aspect includes a plurality of samples. Each sample in the dataset includes a sample image and an object type corresponding to the sample image.

According to a third aspect, an embodiment of this application further provides a gesture recognition method, including: User equipment or a client device obtains a to-be-recognized image, and inputs the to-be-recognized image to a gesture recognition neural network, to obtain a gesture type corresponding to the to-be-recognized image.

The gesture recognition neural network is a network determined from a search space by using the neural network search method according to any one of the first aspect or the implementations of the first aspect, and the search space is built by using a basic unit and a parameter of the basic unit.

Optionally, the parameter of the basic unit includes at least one of a type, a channel quantity parameter, and a size parameter of the basic unit.

Optionally, the basic unit is configured to perform a first operation and a second operation on a feature map input to the basic unit. The feature map is a feature map of the to-be-recognized image, the first operation is for doubling or maintaining a quantity of feature maps input to the basic unit, the second operation is for changing a size of the feature map input to the basic unit from an original first size to a second size or maintain the first size, and the first size is greater than the second size.

Optionally, a neural network in the search space is a ResNet. The basic unit includes a residual module. The residual module is configured to add up the feature map input to the basic unit and a feature map obtained by the basic unit by processing the feature map input to the basic unit.

Optionally, a neural network in the search space is a CNN, and a type of the basic unit includes a convolutional layer and a pooling layer.

In this case, the dataset in the first aspect includes a plurality of samples. Each sample in the dataset includes a sample image and a gesture type corresponding to the sample image.

According to a fourth aspect, an embodiment of this application further provides a data prediction method. The method may include: User equipment or a user client obtains to-be-predicted data, and inputs the to-be-predicted data to a target neural network model, to obtain a prediction result corresponding to the to-be-predicted data.

A target neural network may be the neural network obtained through the K th evolution in the first aspect or a neural network of the neural network obtained through the K th evolution, or may be a machine learning model obtained by combining the neural network obtained through the K th evolution and data cleaning and feature engineering algorithms.

Same as that in the second aspect or the third aspect, the target neural network is a network determined from a search space by using the neural network search method according to any one of the first aspect or the implementations of the first aspect, and the search space is built by using a basic unit and a parameter of the basic unit.

According to a fifth aspect, an embodiment of this application further provides a neural network search apparatus, including:

an obtaining module, configured to obtain a dataset and N neural networks, where N is a positive integer; and

an evolution module, configured to perform K evolutions on the N neural networks to obtain a neural network obtained through the K th evolution, where K is a positive integer; and

the evolution module includes a mutation unit, a first selection unit, and a second selection unit, where the mutation unit is configured to: in a process of the evolution, mutate a network structure of a neural network obtained through the (i−1) th evolution, to obtain a mutated neural network, where a neural network obtained through the 0 th evolution is the N neural networks;

the first selection unit is configured to: in the process of the evolution, select, from the mutated neural network, a candidate neural network whose network structure is superior to that of the neural network obtained through the (i−1) th evolution, where the candidate neural network is a selected neural network; and the second selection unit is configured to: in the process of the i th evolution, select, from a set of the neural network obtained through the (i−1) th evolution and the candidate neural network and based on P evaluation parameters corresponding to each neural network in the set, a neural network obtained through the i th evolution, where the P evaluation parameters are for evaluating performance of a neural network obtained after each neural network in the set is trained and tested by using the dataset, i is a positive integer not greater than K. and P is a positive integer.

For specific implementation of each unit, refer to the method according to any one of the first aspect or the implementations of the first aspect.

According to a sixth aspect, an embodiment of this application further provides an object recognition apparatus, including functional units for implementing the object recognition method according to the second aspect.

For the units included in the object recognition apparatus and specific implementation of each unit, refer to the method according to any one of the second aspect or the implementations of the second aspect.

According to a seventh aspect, an embodiment of this application further provides a gesture recognition apparatus, including functional units for implementing the gesture recognition method according to the third aspect.

For the units included in the gesture recognition apparatus and specific implementation of each unit, refer to the method according to any one of the third aspect or the implementations of the third aspect.

According to an eighth aspect, an embodiment of this application further provides a data prediction apparatus, including functional units for implementing the gesture recognition method according to the fourth aspect.

For the units included in the data prediction apparatus and specific implementation of each unit, refer to the method according to any one of the fourth aspect or the implementations of the fourth aspect.

According to a ninth aspect, an embodiment of this application further provides a neural network search apparatus, including a processor and a memory. The memory is configured to store a program, the processor executes the program stored in the memory, and when the program stored in the memory is executed, the neural network search apparatus is enabled to implement the method according to any one of the first aspect or the implementations of the first aspect.

According to a tenth aspect, an embodiment of this application further provides an object recognition apparatus, including a processor and a memory. The memory is configured to store a program, the processor executes the program stored in the memory, and when the program stored in the memory is executed, the object recognition apparatus is enabled to implement the method according to any one of the second aspect or the implementations of the second aspect.

According to an eleventh aspect, an embodiment of this application further provides a gesture recognition apparatus, including a processor and a memory. The memory is configured to store a program, the processor executes the program stored in the memory, and when the program stored in the memory is executed, the gesture recognition apparatus is enabled to implement the method according to any one of the third aspect or the implementations of the third aspect.

According to a twelfth aspect, an embodiment of this application further provides a data prediction apparatus, including a processor and a memory. The memory is configured to store a program, the processor executes the program stored in the memory, and when the program stored in the memory is executed, the data prediction apparatus is enabled to implement the method according to any one of the fourth aspect or the implementations of the fourth aspect.

According to a thirteenth aspect, an embodiment of this application further provides a computer program product including instructions. When the computer program product runs on a computer, the computer is enabled to implement the method according to any one of the first aspect or the implementations of the first aspect.

According to a fourteenth aspect, an embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions. When being invoked by a computer, the computer-executable instructions are used to enable the computer to implement the method according to any one of the first aspect or the implementations of the first aspect.

According to a fifteenth aspect, an embodiment of this application further provides a computer program product including instructions. When the computer program product runs on a computer, the computer is enabled to implement the method according to any one of the second aspect or the implementations of the second aspect.

According to a sixteenth aspect, an embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions. When being invoked by a computer, the computer-executable instructions are used to enable the computer to implement the method according to any one of the second aspect or the implementations of the second aspect.

According to a seventeenth aspect, an embodiment of this application further provides a computer program product including instructions. When the computer program product runs on a computer, the computer is enabled to implement the method according to any one of the third aspect or the implementations of the third aspect.

According to an eighteenth aspect, an embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions. When being invoked by a computer, the computer-executable instructions are used to enable the computer to implement the method according to any one of the third aspect or the implementations of the third aspect.

According to a nineteenth aspect, an embodiment of this application further provides a computer program product including instructions. When the computer program product runs on a computer, the computer is enabled to implement the method according to any one of the fourth aspect or the implementations of the fourth aspect.

According to a twentieth aspect, an embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions. When being invoked by a computer, the computer-executable instructions are used to enable the computer to implement the method according to any one of the fourth aspect or the implementations of the fourth aspect.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in embodiments of the present invention more clearly, the following briefly describes the accompanying drawings required for describing embodiments. It is clear that the accompanying drawings in the following descriptions show merely some embodiments of the present invention, and a person of ordinary skill in the art may derive other drawings from these accompanying drawings without creative efforts.

FIG. 1 is an architectural diagram of AutoML according to an embodiment of this application;

FIG. 2A is a schematic diagram of an application scenario according to an embodiment of this application;

FIG. 2B is a schematic diagram of another application scenario according to an embodiment of this application;

FIG. 3 is a schematic diagram of an architecture of a system according to an embodiment of this application;

FIG. 4 is a schematic structural diagram of a convolutional neural network according to an embodiment of this application;

FIG. 5 is a schematic diagram of a hardware structure of a chip according to an embodiment of this application;

FIG. 6A is a schematic flowchart of a neural network search method according to an embodiment of this application;

FIG. 6B is a schematic flowchart of an implementation in which a computing device selects, from a set, a neural network obtained through the i th evolution according to an embodiment of this application;

FIG. 7( a ) to FIG. 7( f ) are schematic diagrams of structures of a ResNet before and after mutation according to an embodiment of this application;

FIG. 8( a ) to FIG. 8( f ) are schematic diagrams of structures of a CNN before and after mutation according to an embodiment of this application;

FIG. 9A is a schematic flowchart of an object recognition method according to an embodiment of this application;

FIG. 9B is a schematic flowchart of a gesture recognition method according to an embodiment of this application;

FIG. 10A is a schematic illustration of a running time and top-1 accuracy of an obtained model according to an embodiment of this application;

FIG. 10B is a schematic illustration of a parameter quantity and top-1 accuracy of an obtained model according to an embodiment of this application;

FIG. 11 is a schematic diagram of a structure of a neural network search apparatus according to an embodiment of this application;

FIG. 12A is a schematic diagram of a structure of an object recognition apparatus according to an embodiment of this application;

FIG. 12B is a schematic diagram of a structure of a gesture identification apparatus according to an embodiment of this application;

FIG. 13 is a schematic diagram of a structure of another neural network search apparatus according to an embodiment of this application; and

FIG. 14 is a schematic diagram of a structure of an electronic device according to an embodiment of this application.

DESCRIPTION OF EMBODIMENTS

First, an automatic machine teaming (automatic machine learning, AutoML) architecture in this application is briefly described.

FIG. 1 is a diagram of a system architecture of AutoML according to an embodiment of this application. A main process of AutoML may include the following procedures:

(a) Data Preparation (Data Preparation)

Data preparation may include data collection (data collection) and data cleaning (data cleaning). Data collection includes receiving of raw data sent by user equipment, and may also include collection of data from an existing database, for example, imageNet or Labelme, or obtaining of data in another manner. Data cleaning mainly includes missing value processing, data type determining, abnormal value detection, text encoding, data segmentation, and the like on raw data, to obtain data that can be computed by a machine learning model. The raw data may be an image, voice, text, a video, or a combination thereof, or the like.

(b) Feature Engineering (Feature Engineering)

Feature engineering is a process of using related knowledge in the data field to create a feature that can enable a machine learning algorithm to achieve optimal performance, and is a process of converting raw data into a feature. A purpose of feature engineering is to extract a feature from the raw data to a maximum degree, for use by an algorithm and a model. The process may include feature building, feature extraction, feature selection, and the like. Feature building is to manually build a new feature from the raw data. Feature extraction is to automatically build a new feature and convert a raw feature into a group of features that have obvious physical significance or statistical significance or a core. For example, feature value transformation is performed, to reduce a quantity of values of a feature in the raw data, or the like. Feature selection is to select, from a feature set, a feature subset that has most statistical significance, and delete an irrelevant feature. This achieves a dimension reduction effect. In actual application, feature engineering is an iterative process, in which feature building, feature extraction, feature selection, model selection, model training, and model evaluation need to be performed repeatedly; and then, a final machine learning model can be obtained.

After the raw data undergoes the foregoing feature engineering, a dataset that can be input to a machine learning model can be obtained. It should be understood that the dataset may be classified into a training dataset and a testing dataset. The training dataset is for training a built machine learning model, to obtain a trained machine learning model. The testing dataset is for testing the trained machine learning model, to evaluate performance, for example, accuracy or a running time, of the trained machine learning model.

In some embodiments, feature engineering is not a mandatory process of AutoML. In this case, a dataset can be obtained after the raw data undergoes data cleaning.

(c) Model Building (Model Generation)

After feature engineering, a machine learning model needs to be selected from a machine learning model search space, and a hyperparameter is set for the selected machine learning model. The machine learning model search space includes all possible machine learning models. A machine learning model in the search space may be built in advance or may be built in a search process, which is not limited herein.

(d) Model Training (Model Training) and Model Evaluation (Model Evaluation)

After the machine learning model is selected and the hyperparameter is set for the machine learning model, the initialized machine learning model may be trained by using the training dataset, and a trained machine learning model is evaluated by using the testing dataset. Then, guidance on building, selection, hyperparameter setting, and the like of the machine learning model is provided based on an evaluation result feedback, to finally obtain one or more optimal machine learning models.

(e) Neural Network Search (Neural Architecture Search, NAS)

In embodiments of this application, a machine learning model is a neural network, which may be a deep neural network, for example, a neural network such as a convolutional neural network (convolutional neural network, CNN), a residual neural network (deep residual network, ResNet), or a recurrent neural network. Model search and selection are implemented by using NAS. NAS is an algorithm for searching for an optimal neural network system structure. The method mainly includes automatic optimization of a model structure and a model parameter. In embodiments of this application, when neural network model search and selection are performed by using NAS, an evolution algorithm is used. To be specific, one or more neural networks are built; random mutation is performed on the one or more neural networks, for example, one layer structure is randomly added or deleted, or a channel quantity of one or more layer structures in a neural network is randomly changed; a neural network whose network structure is superior to that of a neural network before the mutation, that is, a candidate neural network, is selected from a mutated neural network based on a partially ordered hypothesis; each of the candidate neural network is trained and tested, to obtain P evaluation parameters corresponding to each neural network; and a neural network with a relatively good evaluation parameter is selected from the candidate neural network based on the P evaluation parameters corresponding to each neural network. Then, processes such as mutation, selection from a mutated neural network, training and testing of a candidate neural network, and selection from the candidate neural network are iteratively performed on the selected neural network, so that a finally selected neural network becomes increasingly better.

It should be noted that in a process of building a machine learning model for a specific task, the foregoing processes usually depend on each other. For example, model selection affects feature transformation used by some features, that is, model selection affects a result of feature transformation.

In embodiments of this application, mainly a neural network search method is described. It should be understood that the method may be combined with other steps or processes, for example, feature engineering and hyperparameter optimization, to obtain an optimal model. For combination with the other steps or processes, refer to related content in an existing technology. Embodiments of this application set no limitation thereto.

The following describes some key terms in embodiments of this application.

(1) Pareto Optimality (Pareto Optimality)

Pareto optimality is an ideal state of resources in which, with a given fixed group of people and given fixed allocatable resources, no individual can be made better off without making at least one worse off during a change from an allocation state to another state. Pareto optimality is also referred to as Pareto improvement. A Pareto optimality state is a state in which no more Pareto improvement can be possibly made. In other words, no one can be made better off without compromising a situation with other people.

For example, evaluation parameters (accuracy, running time (s)) of a given group of models are respectively (0.8, 2), (0.7, 3), (0.9, 2.5), and (0.7, 1). A model with higher accuracy and a lower running time is better. Therefore, it can be seen that a model whose evaluation parameters are (0.8, 2) is superior to a model whose evaluation parameters are (0.7, 3). However, superiority between models whose evaluation parameters are (0.8, 2), (0.9, 2.5), (0.7, 1), and (0.8, 2) cannot be obtained through comparison. In this case, the models whose evaluation parameters are (0.8, 2), (0.9, 2.5), (0.7, 1), and (0.8, 2) are Pareto-optimal models.

(2) Pareto Front

In embodiments of this application, a plurality of evaluation parameters such as accuracy, a running time, and a parameter quantity of models may conflict with each other and cannot be compared in a model optimization process. For example, a model with best accuracy may have a poorest parameter quantity or running time. In a process of improving a model by using NAS, when an evaluation parameter is improved, other evaluation parameters are deteriorated. A set of models with optimal evaluation parameters is a Pareto front. In other words, the Pareto front is a set of Pareto-optimal models.

(3) Non-Dominated Sorting

Non-dominated sorting is a common multi-objective sorting method. It is assumed that an optimization objective is (A, B, C). A point 1 (A 1 , B 1 , C 1 ) dominates a point 2 (A 2 , B 2 , C 2 ) when and only when A 1 ≥A 2 , B 1 ≥B 2 , C 1 ≥C 2 and at least one equal sign is false. The point 1 dominating the point 2 means that the point 1 is superior to the point 2. A point that is not dominated by any point is a point on the Pareto front, that is, a non-dominated point.

In embodiments of this application, an optimization objective is P evaluation parameters of models. A model 1 dominates a model 2 when and only when none of P evaluation parameters of the model 1 are inferior to those of the model 2 and at least one of the P evaluation parameters of the model 1 is superior to that of the model 2,

(4) Partially Ordered Hypothesis

The partially ordered hypothesis means that for networks with similar topology structures, a narrower and shallower network is inferior to a deeper and wider network. In other words, a deeper and wider network is superior to a narrower and shallower network. Herein, “wide” and “narrow” both describe a channel quantify of a network, and “deep” and “shallow” both describe a layer quantity of a network.

(5) Partial Order Pruning Algorithm

The partial order pruning algorithm is an algorithm for reducing a model search space by using a principle of the partially ordered hypothesis. In some embodiments of this application, the model search space is reduced by using the principle of the partially ordered hypothesis, to improve model search efficiency.

(6) Dilated Convolution

Dilated convolution is to insert 0s into a center of a common convolution kernel to obtain a larger convolution kernel while maintaining a parameter quantity unchanged, to obtain information in a larger scope.

(7) Depthwise Separable Convolution

In a common convolution process, M feature maps P 1 may be converted into N P 2 s by convoluting the M feature maps by using a common convolution kernel, for example, a high dimensional matrix whose size is (D k , D k , M, N). However, in depthwise separable convolution, M feature maps P 1 are first convoluted by using a matrix whose size is (D k , D k , M, 1), to convert the M feature maps P 1 into M feature maps P 3 ; and then the M feature maps P 3 are convoluted by using a convolution kernel whose size is (1, 1, M, N), to obtain N feature maps P 4 . The method can greatly reduce a parameter quantity and achieve a good effect.

(8) Neural Network

The neural network may include a neuron. The neuron may be an operation unit that uses x s and an intercept of 1 as input. Output of the operation unit may be as follows:

h W,b ( x )= f ( W T x )= f (Σ s=1 n W s x s +b )

Herein, s=1, 2, . . . , or n, n is a natural number greater than 1, W s is a weight of x s , and b is a bias of the neuron. f is an activation function (activation functions) of the neuron, and the activation function is used to introduce a non-linear feature into the neural network, to convert an input signal in the neuron into an output signal. The output signal of the activation function may be used as an input for a next convolutional layer. The activation function may be a sigmoid function. The neural network is a network obtained by joining many single neurons together. To be specific, an output of a neuron may be an input for another neuron. Input for each neuron may be connected to a local receptive field of a previous layer to extract a feature of the local receptive field. The local receptive field may be a region including several neurons.

(9) Deep Neural Network

The deep neural network (deep neural network, DNN), also referred to as a multi-layer neural network, may be understood as a neural network having many hidden layers. The “many” herein does not have a special measurement criterion. Based on locations of different layers in the DNN, a neural network in the DNN may be divided into three types: an input layer, a hidden layer, and an output layer. Generally, the first layer is the input layer, the last layer is the output layer, and the middle layer is the hidden layer. Layers are fully connected. To be specific, any neuron in the layer is necessarily connected to any neuron in the (i+1) th layer. Although the DNN looks very complex, work at each layer is actually not complex. In short, the following linear relationship expression applies: y=α(Wx+b), where x is an input vector, y is an output vector, b is an offset vector, W is a weight matrix (also referred to as a coefficient), and α( ) is an activation function. At each layer, the output vector y is obtained only by performing such a simple operation on the input vector x. Because there are many layers in the DNN, there are also many coefficients W and bias vectors b. Definitions of these parameters in the DNN are as follows: The coefficient W is used as an example. It is assumed that in a DNN having three layers, a linear coefficient from the fourth neuron at the second layer to the second neuron at the third layer is defined as W 24 3 . The superscript 3 represents a layer at which the coefficient W is located, and the subscript corresponds to an output third- layer index 2 and an input second-layer index 4 . In conclusion, a coefficient from the k th neuron at the (L−1) th layer to the i th neuron at the L th layer is defined as W jk L . It should be noted that there is no parameter W at the input layer. In the deep neural network, more hidden layers make the network more capable of describing a complex case in the real world. Theoretically, a model with more parameters has higher complexity and a larger “capacity”. I

CLAIMS

Claims ( 22 )

What is claimed is:

1 . A neural network search method, comprising:

obtaining, by a computing device, a dataset and N neural networks, wherein N is a positive integer; and performing, by the computing device, K evolutions on the N neural networks to obtain a neural network obtained through the K th evolution, wherein K is a positive integer; and the i th evolution comprises: mutating, by the computing device, a network structure of a neural network obtained through the (i−1) th evolution, to obtain a mutated neural network; selecting, by the computing device from the mutated neural network, a neural network whose network structure is superior to that of the neural network obtained through the (i−1) th evolution, to obtain a candidate neural network; and selecting, by the computing device from a se of the neural network obtained through the (i−1) th evolution and the candidate neural network and based on P evaluation parameters corresponding to each neural network in the set, a neural network obtained through the i th evolution, wherein the P evaluation parameters are for evaluating performance of a neural network obtained after each neural network in the set is trained and tested by using the dataset, i and P are positive integers, and 1≤i≤K.

2 . The method according to claim 1 , wherein the mutating, by the computing device, a network structure of a neural network obtained through the (i−1) th evolution comprises at least one of the following steps:

swapping locations of two convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a channel quantity of one or more convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a step size of a convolution kernel of one or more convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more convolutional layers into one or more neural networks of the neural network obtained through the (i−1) th evolution;

deleting one or more convolutional layers from one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more pooling layers into one or more neural networks of the neural network obtained through the (i−1) th evolution; or

deleting one or more pooling layers from one or more neural networks of the neural network obtained through the (i−1) th evolution.

3 . The method according to claim 1 , wherein the neural network obtained through the (i−1) th evolution is a deep residual network, and the mutating, by the computing device, a network structure of a neural network obtained through the (i−1) th evolution comprises at least one of the following steps:

swapping locations of two residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a channel quantity of one or more residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a step size of a convolution kernel of one or more residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more residual units into one or more neural networks of the neural network obtained through the (i−1) th evolution; or

deleting one or more residual units from one or more neural networks of the neural network obtained through the (i−1) th evolution.

4 . The method according to claim 1 , wherein the selecting, by the computing device from the mutated neural network, a neural network whose network structure is superior to that of the neural network obtained through the (i−1) th evolution, to obtain a candidate neural network comprises:

selecting, by the computing device from a neural network obtained by mutating a first neural network, a neural network whose network structure is superior to that of the first neural network, wherein the candidate neural network comprises the neural network that is of the neural network obtained by mutating the first neural network and whose network structure is superior to that of the first neural network, and the first neural network is any neural network of the neural network obtained through the (i−1) th evolution.

5 . The method according to claim 4 , wherein when at least one of the following conditions is met, a network structure of the neural network obtained by mutating the first neural network is superior to the network structure of the first neural network:

a channel quantity of the neural network obtained by mutating the first neural network is greater than a channel quantity of the first neural network; or a quantity of convolutional layers in the neural network obtained by mutating the first neural network is greater than a quantity of convolutional layers in the first neural network.

6 . The method according to claim 1 , wherein the selecting, by the computing device from a set of the neural network obtained through the (i−1) th evolution and the candidate neural network and based on P evaluation parameters corresponding to each neural network in the set, a neural network obtained through the i th evolution specifically comprises:

performing, by the computing device, non-dominated sorting on the neural networks in the set based on the P evaluation parameters corresponding to each neural network in the set; and

determining, by the computing device, that the neural network obtained through the in evolution is a neural network that is not dominated in the set, wherein

a second neural network and a third neural network are two neural networks in the set, and if the second neural network is not inferior to the third neural network in terms of each of the P evaluation parameters, and the second neural network is superior to the third neural network in terms of at least one of the P evaluation parameters, the second neural network dominates the third neural network.

7 . The method according to claim 1 , wherein the obtaining, by a computing device, N neural networks specifically comprises:

randomly generating, by the computing device, neural networks, wherein M is a positive integer; training and testing, by the computing device, each of the M neural networks by using the dataset, to obtain P evaluation parameters corresponding to each of the M neural networks; and selecting, by the computing device, N neural networks from the M neural networks based on the P evaluation parameters corresponding to each of the M neural networks, wherein N is not greater than M.

8 . The method according to claim 1 , wherein the P evaluation parameters comprise at least one of a running time, accuracy, and a parameter quantity.

9 . A neural network search apparatus, comprising:

an obtaining module, configured to obtain a dataset and N neural networks, wherein N is a positive integer; and an evolution module, configured to perform K evolutions on the N neural networks to obtain a neural network obtained through the K th evolution, wherein K is a positive integer; and the evolution module comprises a mutation unit, a first selection unit, and a second selection unit, wherein the mutation unit is configured to: in a process of the evolution, mutate a network structure of a neural network obtained through the (i−1) th evolution, to obtain a mutated neural network, wherein a neural network obtained through the 0 th evolution is the N neural networks; the first selection unit is configured to: in the process of the i th evolution, select, from the mutated neural network, a neural network whose network structure is superior to that of the neural network obtained through the (i−1) th evolution, to obtain a candidate neural network; and the second selection unit is configured to: in the process of the evolution, select, from a set of the neural network obtained through the (i−1) th evolution and the candidate neural network and based on P evaluation parameters corresponding to each neural network in the set, a neural network obtained through the i th evolution, wherein the P evaluation parameters are for evaluating performance of a neural network obtained after each neural network in the set is trained and tested by using the dataset, i and P are positive integers, and 1≤i≤K.

10 . The apparatus according to claim 9 , wherein the mutation unit is specifically configured to perform at least one of the following steps:

swapping locations of two convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution; doubling a channel quantity of one or more convolutional layers in one or more neural networks of the neural network obtained through the) th evolution; doubling a step size of a convolution kernel of one or more convolutional layers in one or more neural networks of the neural network obtained through the (i−1) th evolution; inserting one or more convolutional layers into one or more neural networks of the neural network obtained through the (i−1) th evolution; deleting one or more convolutional layers from one or more neural networks of the neural network obtained through the (i−1) th evolution; inserting one or more pooling layers into one or more neural networks of the neural network obtained through the (i−1) th evolution; or deleting one or more pooling layers from one or more neural networks of the neural network obtained through the (i−1) th evolution.

11 . The apparatus according to claim 9 , wherein the neural network obtained through the (i−1) th evolution is a deep residual network, and the mutation unit is specifically configured to perform at least one of the following steps:

swapping locations of two residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a channel quantity of one or more residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

doubling a step size of a convolution kernel of one or more residual units in one or more neural networks of the neural network obtained through the (i−1) th evolution;

inserting one or more residual units into one or more neural networks of the neural network obtained through the (i−1) th evolution; or

deleting one or more residual units from one or more neural networks of the neural network obtained through the (i−1) th evolution.

12 . The apparatus according to claim 9 , wherein the first selection unit is specifically configured to:

select, from a neural network obtained by mutating a first neural network, a neural network whose network structure is superior to that of the first neural network, wherein the candidate neural network comprises the neural network that is of the neural network obtained by mutating the first neural network and whose network structure is superior to that of the first neural network, and the first neural network is any neural network of the neural network obtained through the (i−1) th evolution.

13 . The apparatus according to claim 12 , wherein when at least one of the following conditions is met, a network structure of the neural network obtained by mutating the first neural network is superior to the network structure of the first neural network:

a channel quantity of the neural network obtained by mutating the first neural network is greater than a channel quantity of the first neural network; or a quantity of convolutional layers in the neural network obtained by mutating the first neural network is greater than a quantity of convolutional layers in the first neural network.

14 . The apparatus according to claim 9 , wherein the second selection unit is specifically configured to:

perform non-dominated sorting on the neural networks in the set based on the P evaluation parameters corresponding to each neural network in the se; and determine that the neural network obtained through the (i−1) th evolution is a neural network that is not dominated in the set, wherein a second neural network and a third neural network are two neural networks in the set, and if the second neural network is not inferior to the third neural network in terms of each of the P evaluation parameters, and the second neural network is superior to the third neural network in terms of at least one of the P evaluation parameters, the second neural network dominates the third neural network.

15 . The apparatus according to claim 9 , wherein the obtaining module is specifically configured to:

randomly generate M neural networks, wherein M is a positive integer; train and test each of the M neural networks by using the dataset, to obtain P evaluation parameters corresponding to each of the M neural networks; and select N neural networks from the M neural networks based on the P evaluation parameters corresponding to each of the M neural networks, wherein N is not greater than M.

16 . The apparatus according to claim 9 , wherein the P evaluation parameters comprise at least one of a running time, accuracy, and a parameter quantity.

17 . A neural network search apparatus, comprising a processor and a memory, wherein the memory is configured to store a program, the processor executes the program stored in the memory, and when the program stored in the memory is executed, the neural network search apparatus is enabled to implement the method according to claim 1 .

18 . A computer-readable storage medium, wherein the computer-readable medium is configured to store computer-executable instructions, and when being invoked by a computer, the computer-executable instructions are used to enable the computer to implement the method according to claim 1 .

19 . An object recognition method, comprising:

obtaining a to-be-recognized image; and inputting the to-be-recognized image to an object recognition neural network, to obtain an object type corresponding to the to-be-recognized image, wherein the object recognition neural network is a network determined from a search space by using the neural network search method according to claim 1 , and the search space is built by using a basic unit and a parameter of the basic unit.

20 . The method according to claim 19 , wherein the parameter of the basic unit comprises at least one of a type, a channel quantity parameter, and a size parameter of the basic unit.

21 . The method according to claim 19 , wherein the basic unit is configured to perform a first operation and a second operation on a feature map input to the basic unit; the feature map is a feature map of the to-be-recognized image, the first operation is for doubling or maintaining a quantity of feature maps input to the basic unit, the second operation is for changing a size of the feature map input to the basic unit from an original first size to a second size or maintain the first size, and the first size is greater than the second size.

22 . An object recognition apparatus, comprising a processor and a memory, wherein the memory is configured to store a program, the processor executes the program stored in the memory, and when the program stored in the memory is executed, the object recognition apparatus is enabled to implement the method according to claim 19 .

US17/826,873

2019-11-30

2022-05-27

Neural Network Search Method, Apparatus, And Device

Pending

US20220292357A1

( en )

Applications Claiming Priority (3)

Application Number

Priority Date

Filing Date

Title

CN201911209275.5

2019-11-30

CN201911209275.5A

CN112884118A

( en )

2019-11-30

2019-11-30

Neural network searching method, device and equipment

PCT/CN2020/126795

WO2021103977A1

( en )

2019-11-30

2020-11-05

Neural network searching method, apparatus, and device

Related Parent Applications (1)

Application Number

Title

Priority Date

Filing Date

PCT/CN2020/126795

Continuation

WO2021103977A1

( en )

2019-11-30

2020-11-05

Neural network searching method, apparatus, and device

Publications (1)

Publication Number

Publication Date

US20220292357A1

true

US20220292357A1 ( en )

2022-09-15

Family

ID=76039379

Family Applications (1)

Application Number

Title

Priority Date

Filing Date

US17/826,873

Pending

US20220292357A1

( en )

2019-11-30

2022-05-27

Neural Network Search Method, Apparatus, And Device

Country Status (3)

Country

Link

US

( 1 )

US20220292357A1

( en )

CN

( 1 )

CN112884118A

( en )

WO

( 1 )

WO2021103977A1

( en )

Cited By (7)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20220188627A1

( en )

*

2020-12-15

2022-06-16

International Business Machines Corporation

Reinforcement learning for testing suite generation

US20240144051A1

( en )

*

2022-11-01

2024-05-02

Microsoft Technology Licensing, Llc

Hardware-aware generation of machine learning models

US20240242060A1

( en )

*

2023-01-18

2024-07-18

Samsung Electronics Co.,Ltd.

Method and electronic device for providing a neural architecture search

WO2024154973A1

( en )

*

2023-01-18

2024-07-25

Samsung Electronics Co., Ltd.

Method and electronic device for providing a neural architecture search

TWI866598B

( en )

*

2023-11-10

2024-12-11

財團法人工業技術研究院

System and method for multi-branch network architecture search

US20250279897A1

( en )

*

2024-03-01

2025-09-04

Infineon Technologies Ag

Artificial neural network security through integration of component data

US12626141B2

( en )

2018-12-07

2026-05-12

Microsoft Technology Licensing, Llc

Automated generation of machine learning models

Families Citing this family (6)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

CN113240055B

( en )

*

2021-06-18

2022-06-14

桂林理工大学

Pigment skin damage image classification method based on macro-operation variant neural architecture search

CN115506783B

( en )

*

2021-06-21

2024-09-27

中国石油化工股份有限公司

Lithology recognition method

CN114330709A

( en )

*

2021-12-31

2022-04-12

上海商汤智能科技有限公司

Neural network generation and target detection method, device, equipment and storage medium

CN114580512B

( en )

*

2022-02-25

2025-04-25

南京大学

A deep convolutional neural network pruning method and system based on co-evolution

CN115238892B

( en )

*

2022-07-29

2026-05-01

平安科技(深圳)有限公司

Neural network compression method and device, electronic equipment and storage medium

CN117668701B

( en )

*

2024-01-30

2024-04-12

云南迅盛科技有限公司

AI artificial intelligence machine learning system and method

Citations (1)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US11995538B2

( en )

*

2018-05-10

2024-05-28

Microsoft Technology Licensing, Llc

Selecting a neural network architecture for a supervised machine learning problem

Family Cites Families (13)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

AU4950899A

( en )

*

1998-07-31

2000-02-21

Cet Technologies Pte Ltd

Automatic freeway incident detection system using artificial neural networks andgenetic algorithms

US6553357B2

( en )

*

1999-09-01

2003-04-22

Koninklijke Philips Electronics N.V.

Method for improving neural network architectures using evolutionary algorithms

EP3428856A4

( en )

*

2016-03-09

2019-04-10

Sony Corporation

INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING DEVICE

US20190057309A1

( en )

*

2016-04-28

2019-02-21

Sony Corporation

Information processing apparatus and information processing method

WO2018081563A1

( en )

*

2016-10-28

2018-05-03

Google Llc

Neural architecture search

US10410121B2

( en )

*

2017-10-25

2019-09-10

SparkCognition, Inc.

Adjusting automated neural network generation based on evaluation of candidate neural networks

US20190138901A1

( en )

*

2017-11-06

2019-05-09

The Royal Institution For The Advancement Of Learning/Mcgill University

Techniques for designing artificial neural networks

WO2019118290A1

( en )

*

2017-12-13

2019-06-20

Sentient Technologies (Barbados) Limited

Evolutionary architectures for evolution of deep neural networks

CN108334949B

( en )

*

2018-02-11

2021-04-13

浙江工业大学

An image classifier construction method based on fast evolution of optimized deep convolutional neural network structure

CN108875904A

( en )

*

2018-04-04

2018-11-23

北京迈格威科技有限公司

Image processing method, image processing apparatus and computer readable storage medium

DE102018109835A1

( en )

*

2018-04-24

2019-10-24

Albert-Ludwigs-Universität Freiburg

Method and device for determining a network configuration of a neural network

CN108960411A

( en )

*

2018-06-27

2018-12-07

郑州云海信息技术有限公司

A kind of adjustment of convolutional neural networks and relevant apparatus

CN108985386A

( en )

*

2018-08-07

2018-12-11

北京旷视科技有限公司

Obtain method, image processing method and the corresponding intrument of image processing model

2019

2019-11-30

CN

CN201911209275.5A

patent/CN112884118A/en

active

Pending

2020

2020-11-05

WO

PCT/CN2020/126795

patent/WO2021103977A1/en

not_active

Ceased

2022

2022-05-27

US

US17/826,873

patent/US20220292357A1/en

active

Pending

Patent Citations (1)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US11995538B2

( en )

*

2018-05-10

2024-05-28

Microsoft Technology Licensing, Llc

Selecting a neural network architecture for a supervised machine learning problem

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party

Title

Bartz-Beielstein, Thomas, et al. " Evolutionary algorithms. " Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery 4.3 (2014): 178-195.

*

Bartz‐Beielstein, Thomas, et al. " Evolutionary algorithms. " Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery 4.3 (2014): 178-195.

*

Peng, Xue Bin, et al. " Variational discriminator bottleneck: Improving imitation learning, inverse rl, and gans by constraining information flow. " arXiv preprint arXiv:1810.00821 (2018).

*

Real, Esteban, et al. " Regularized evolution for image classifier architecture search. " Proceedings of the aaai conference on artificial intelligence. Vol. 33. No. 01. February 2019.

*

Cited By (8)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US12626141B2

( en )

2018-12-07

2026-05-12

Microsoft Technology Licensing, Llc

Automated generation of machine learning models

US20220188627A1

( en )

*

2020-12-15

2022-06-16

International Business Machines Corporation

Reinforcement learning for testing suite generation

US12488234B2

( en )

*

2020-12-15

2025-12-02

International Business Machines Corporation

Reinforcement learning for testing suite generation

US20240144051A1

( en )

*

2022-11-01

2024-05-02

Microsoft Technology Licensing, Llc

Hardware-aware generation of machine learning models

US20240242060A1

( en )

*

2023-01-18

2024-07-18

Samsung Electronics Co.,Ltd.

Method and electronic device for providing a neural architecture search

WO2024154973A1

( en )

*

2023-01-18

2024-07-25

Samsung Electronics Co., Ltd.

Method and electronic device for providing a neural architecture search

TWI866598B

( en )

*

2023-11-10

2024-12-11

財團法人工業技術研究院

System and method for multi-branch network architecture search

US20250279897A1

( en )

*

2024-03-01

2025-09-04

Infineon Technologies Ag

Artificial neural network security through integration of component data

Also Published As

Publication number

Publication date

WO2021103977A1

( en )

2021-06-03

CN112884118A

( en )

2021-06-01

Similar Documents

Publication

Publication Date

Title

US12254064B2

( en )

2025-03-18

Image generation method, neural network compression method, and related apparatus and device

WO2021103977A1

( en )

2021-06-03

Neural network searching method, apparatus, and device

US20220351019A1

( en )

2022-11-03

Adaptive Search Method and Apparatus for Neural Network

WO2022083536A1

( en )

2022-04-28

Neural network construction method and apparatus

CN112487217B

( en )

2025-01-17

Cross-modal retrieval method, device, equipment and computer-readable storage medium

US20210012198A1

( en )

2021-01-14

Method for training deep neural network and apparatus

WO2024041479A1

( en )

2024-02-29

Data processing method and apparatus

WO2022042713A1

( en )

2022-03-03

Deep learning training method and apparatus for use in computing device

WO2020221200A1

( en )

2020-11-05

Neural network construction method, image processing method and devices

WO2021190296A1

( en )

2021-09-30

Dynamic gesture recognition method and device

WO2021218517A1

( en )

2021-11-04

Method for acquiring neural network model, and image processing method and apparatus

WO2021218471A1

( en )

2021-11-04

Neural network for image processing and related device

CN112580720A

( en )

2021-03-30

Model training method and device

WO2023231794A1

( en )

2023-12-07

Neural network parameter quantification method and apparatus

CN110795618B

( en )

2024-05-14

Content recommendation method, device, equipment and computer readable storage medium

CN111950702A

( en )

2020-11-17

A kind of neural network structure determination method and device

CN111339818A

( en )

2020-06-26

A face multi-attribute recognition system

WO2022111387A1

( en )

2022-06-02

Data processing method and related apparatus

WO2025067211A1

( en )

2025-04-03

Data processing method and apparatus

US20240070466A1

( en )

2024-02-29

Unsupervised Labeling for Enhancing Neural Network Operations

WO2024017287A1

( en )

2024-01-25

Model training method and apparatus therefor

WO2022052647A1

( en )

2022-03-17

Data processing method, neural network training method, and related device

WO2024114659A1

( en )

2024-06-06

Summary generation method and related device

CN117995220A

( en )

2024-05-07

Speech emotion recognition method, device and medium based on multi-task learning framework

WO2024175079A1

( en )

2024-08-29

Model quantization method and related device

Legal Events

Date

Code

Title

Description

2022-06-29

STPP

Information on status: patent application and granting procedure in general

Free format text : DOCKETED NEW CASE - READY FOR EXAMINATION

2025-11-03

STPP

Information on status: patent application and granting procedure in general

Free format text : NON FINAL ACTION COUNTED, NOT YET MAILED

2025-11-05

STPP

Information on status: patent application and granting procedure in general

Free format text : NON FINAL ACTION MAILED

2025-11-06

STPP

Information on status: patent application and granting procedure in general

Free format text : NON FINAL ACTION MAILED

2026-02-02

STPP

Information on status: patent application and granting procedure in general

Free format text : RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

2026-05-07

STPP

Information on status: patent application and granting procedure in general

Free format text : FINAL REJECTION COUNTED, NOT YET MAILED

2026-05-12

STPP

Information on status: patent application and granting procedure in general

Free format text : FINAL REJECTION MAILED

2026-07-21

STPP

Information on status: patent application and granting procedure in general

Free format text : ADVISORY ACTION COUNTED, NOT YET MAILED

2026-07-24

STPP

Information on status: patent application and granting procedure in general

Free format text : ADVISORY ACTION MAILED

Related documents

Record · ID 1329528
Retrieved via Conceptio: every document is proof-bundled with source, license, and retrieval metadata.
Bring this data into your agent: Connect via MCP or API · 20 free credits to start · no card required
Read the Docs → · View CLI source on GitHub · Conceptio Open Knowledge Archive