ConceptioArchiveGoogle Patents
Google Patentsopen access

Method and Apparatus for Determining Neural Network — Huawei Technologies Co., Ltd. (US20220261659A1)

Huawei Technologies Co., Ltd. · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
huaweitechnologiesco.ltd.
patent, google patents, intellectual property, US20220261659A1, Huawei Technologies Co., Ltd., Hang Xu, en, 2022

ABSTRACT

Abstract

This application provides a method and related apparatus for determining a neural network in the field of artificial intelligence. The method includes: obtaining a plurality of initial search spaces; determining M candidate neural networks based on the plurality of initial search spaces, where the candidate neural network includes a plurality of candidate subnetworks, the plurality of candidate subnetworks belong to the plurality of initial search spaces, and any two of the plurality of candidate subnetworks belong to different initial search spaces; evaluating the M candidate neural networks to obtain M evaluation results; and determining N candidate neural networks from the M candidate neural networks based on the M evaluation results, and determining N first target neural networks based on the N candidate neural networks. According to the method and the related apparatus provided in this application, a combined neural network with relatively high performance can be obtained.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

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

TECHNICAL FIELD

This application relates to the field of artificial intelligence, and more specifically, to a method and an apparatus for determining a neural network.

BACKGROUND

A neural network is a type of mathematical computing model that simulates structures and functions of a biological neural network (a central nervous system of an animal). One neural network may include a plurality of layers of neural networks with different functions, and each layer includes parameters and calculation formulas. Different layers in the neural network have different names based on different calculation formulas or different functions. For example, a layer for convolution calculation is referred to as a convolutional layer. The convolutional layer is commonly used to perform feature extraction on an input signal (for example, an image).

A neural network used in some application scenarios may be a combination of a plurality of neural networks. For example, a neural network used to execute an object detection task may be a combination of a residual network (residual networks, ResNet), a multi-level feature extraction model, and a region proposal network (RPN).

Therefore, how to obtain a neural network formed by a combination of a plurality of neural networks is a technical problem to be resolved urgently.

SUMMARY

This application provides a method and related apparatus for determining a neural network, to obtain a combined neural network with relatively high performance.

According to a first aspect, this application provides a method for determining a neural network, including: obtaining a plurality of initial search spaces, where the initial search space includes one or more neural networks, neural networks in any two of the initial search spaces have different functions, and any two neural networks in a same initial search space have a same function but different network structures; determining M candidate neural networks based on the plurality of initial search spaces, where the candidate neural network includes a plurality of candidate subnetworks, the plurality of candidate subnetworks belong to the plurality of initial search spaces, any two of the plurality of candidate subnetworks belong to different initial search spaces, and M is a positive integer; evaluating the M candidate neural networks to obtain M evaluation results; and determining N candidate neural networks from the M candidate neural networks based on the M evaluation results, and determining N first target neural networks based on the N candidate neural networks. Each of the N first target neural networks includes a plurality of target subnetworks, each of the N candidate neural networks includes a plurality of candidate subnetworks, the N first target neural networks are in a one-to-one correspondence with the N candidate neural networks, the plurality of target subnetworks included in each first target neural network are in a one-to-one correspondence with a plurality of candidate subnetworks included in a corresponding candidate neural network, a block included in each target subnetwork in each first target neural network is the same as a block included in a corresponding candidate subnetwork, and N is a positive integer less than or equal to M.

In this method, after obtaining the candidate neural network from the plurality of initial search spaces through sampling, the entire candidate neural network is evaluated, and then the first target neural network is determined based on an evaluation result and the candidate neural network. Compared with a manner of determining the first target neural network based on evaluation results of candidate subnetworks after the candidate subnetworks are evaluated separately, in the manner of determining the first target neural network based on the evaluation result of the entire candidate neural network after the candidate neural network is obtained through sampling, a combination mode between the candidate subnetworks is fully considered, and the first target neural network with better performance may be obtained.

In some possible implementations, the evaluation result of the candidate neural network includes one or more of the following: an operating speed, accuracy, a quantity of parameters, or floating-point operations.

In some possible implementations, the determining N candidate neural networks from the M candidate neural networks based on the M evaluation results includes: determining, based on the M evaluation results, N candidate neural networks whose evaluation results meet a task requirement from the M candidate neural networks as the N candidate neural networks.

For example, N candidate neural networks whose operating speeds and/or accuracy meet/meets a preset task requirement in the M candidate neural networks are determined as the N candidate neural networks.

In some possible implementations, the evaluation result of the candidate neural network includes the operating speed and accuracy. The determining N candidate neural networks from the M candidate neural networks based on the M evaluation results includes: determining Pareto optimal solutions of the M candidate neural networks as the N candidate neural networks based on the M evaluation results and by using the operating speed and accuracy as an objective.

Because the N candidate neural networks obtained in this implementation are the Pareto optimal solutions of the M candidate neural networks, performance of the N candidate neural networks is better than performance of other candidate neural networks, and performance of the N first target neural networks determined based on the N candidate neural networks is also better.

In some possible implementations, the determining N first target neural networks based on the N candidate neural networks includes: determining the N candidate neural networks as the N first target neural networks.

In some possible implementations, the determining N first target neural networks based on the N candidate neural networks includes: determining a plurality of target search spaces based on a plurality of candidate subnetworks in an i th candidate neural network in the N candidate neural networks, where the plurality of target search spaces are in a one-to-one correspondence with the plurality of candidate subnetworks in the i th candidate neural network, each of the plurality of target search spaces includes one or more neural networks, and a block included in each neural network in each target search space is the same as a block included in a candidate subnetwork corresponding to each target search space; and determining an i th first target neural network in the N first target neural networks based on the plurality of target search spaces, where a plurality of target subnetworks in the i th first target neural network belong to the plurality of target search spaces, any two of the plurality of target subnetworks in the i th first target neural network belong to different target search spaces, and i is a positive integer less than or equal to N.

In other words, the first target neural network with better performance is obtained by searching again without changing the block.

In some possible implementations, the method further includes: determining N second target neural networks based on the N first target neural networks, where an i th second target neural network in the N second target neural networks is obtained by performing one or more of the following processing on the i th first target neural network: adding a group normalization layer after a convolutional layer in the target subnetwork in the i th first target neural network; adding a group normalization layer after a fully connected layer in the target subnetwork in the i th first target neural network; and performing normalization processing on a weight of the convolutional layer in the target subnetwork in the i th first target neural network, where i is a positive integer less than or equal to N.

This implementation can improve performance of the second target neural network and increase a training speed of the second target neural network.

In some possible implementations, the method further includes: evaluating the N second target neural networks to obtain evaluation results of the N second target neural networks. The N evaluation results may be used to select a more appropriate second target neural network from the N second target neural networks based on the task requirement, to improve task completion quality.

In some possible implementations, the evaluating the N second target neural networks to obtain evaluation results of the N second target neural networks includes: randomly initializing a network parameter in the i th second target neural network; training the i th second target neural network based on training data; and testing the i th trained second target neural network based on test data, to obtain an evaluation result of the i th trained second target neural network.

In some possible implementations, the first target neural network is used for object detection; the plurality of initial search spaces include a first initial search space, a second initial search space, a third initial search space, and a fourth initial search space; the first initial search space includes residual networks of different depths, next-dimension residual networks (ResNext) of different depths, and/or mobile networks (MobileNet) of different depths; the second initial search space includes a connection path of features at different levels; the third initial search space includes a common region proposal network (region proposal net, RPN) and/or a guided anchoring region proposal network (region proposal by guided anchoring, GA-RPN); and the fourth initial search space includes a one-stage detection head network (Retina-head), a fully connected detection head network, a fully convolutional detection head network, and/or a cascade detection head network (Cascade-head).

In some possible implementations, the first target neural network is used for image classification; the plurality of initial search spaces include a first initial search space and a second initial search space; the first initial search space includes residual networks of different depths, ResNexts of different depths, and/or densely connected networks (DenseNet) of different widths; and a neural network in the second initial search space includes a fully connected layer.

In some possible implementations, the first target neural network is used for image segmentation; the plurality of initial search spaces include a first initial search space, a second initial search space, and a third initial search space; the first initial search space includes residual networks of different depths, ResNexts of different depths, and/or high-resolution networks of different widths; the second initial search space includes an atrous spatial pyramid pooling network, a pyramid pooling network, and/or a network including a dense prediction unit; and the third initial search space includes a U-Net model and/or a fully convolutional network.

According to a second aspect, this application provides an apparatus for determining a neural network. The apparatus includes: an obtaining module, configured to obtain a plurality of initial search spaces, where the initial search space includes one or more neural networks, neural networks in any two of the initial search spaces have different functions, and any two neural networks in a same initial search space have a same function but different network structures; a determining module, configured to determine M candidate neural networks based on the plurality of initial search spaces, where the candidate neural network includes a plurality of candidate subnetworks, the plurality of candidate subnetworks belong to the plurality of initial search spaces, any two of the plurality of candidate subnetworks belong to different initial search spaces; and an evaluation module, configured to evaluate the M candidate neural networks to obtain M evaluation results, where M is a positive integer. The determining module is further configured to: determine N candidate neural networks from the M candidate neural networks based on the M evaluation results, and determine N first target neural networks based on the N candidate neural networks. Each of the N candidate neural networks includes a plurality of candidate subnetworks, each of the N first target neural networks includes a plurality of target subnetworks, the N first target neural networks are in a one-to-one correspondence with the N candidate neural networks, the plurality of target subnetworks included in each first target neural network are in a one-to-one correspondence with a plurality of candidate subnetworks included in a corresponding candidate neural network, a block included in each target subnetwork in each first target neural network is the same as a block included in a corresponding candidate subnetwork, and N is a positive integer less than or equal to M.

In some possible implementations, the evaluation result of the candidate neural network includes one or more of the following: an operating speed, accuracy, a quantity of parameters, or floating-point operations.

In some possible implementations, the evaluation result of the candidate neural network includes the operating speed and accuracy. The determining module is specifically configured to: determine Pareto optimal solutions of the M candidate neural networks as the N candidate neural networks based on the M evaluation results and by using the operating speed and accuracy as an objective.

In some possible implementations, the determining module is specifically configured to: determine a plurality of target search spaces based on a plurality of candidate subnetworks in an i th candidate neural network in the N candidate neural networks, where the plurality of target search spaces are in a one-to-one correspondence with the plurality of candidate subnetworks in the i th candidate neural network, each of the plurality of target search spaces includes one or more neural networks, and a block included in each neural network in each target search space is the same as a block included in a candidate subnetwork corresponding to each target search space; and determine an i th first target neural network in the N first target neural networks based on the plurality of target search spaces, where a plurality of target subnetworks in the i th first target neural network belong to the plurality of target search spaces, any two of the plurality of target subnetworks in the i th first target neural network belong to different target search spaces, and i is a positive integer less than or equal to N.

<div id="p-0029" num="0028" class="des

CROSS-REFERENCE TO RELATED APPLICATIONS

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

TECHNICAL FIELD

This application relates to the field of artificial intelligence, and more specifically, to a method and an apparatus for determining a neural network.

BACKGROUND

A neural network is a type of mathematical computing model that simulates structures and functions of a biological neural network (a central nervous system of an animal). One neural network may include a plurality of layers of neural networks with different functions, and each layer includes parameters and calculation formulas. Different layers in the neural network have different names based on different calculation formulas or different functions. For example, a layer for convolution calculation is referred to as a convolutional layer. The convolutional layer is commonly used to perform feature extraction on an input signal (for example, an image).

A neural network used in some application scenarios may be a combination of a plurality of neural networks. For example, a neural network used to execute an object detection task may be a combination of a residual network (residual networks, ResNet), a multi-level feature extraction model, and a region proposal network (RPN).

Therefore, how to obtain a neural network formed by a combination of a plurality of neural networks is a technical problem to be resolved urgently.

SUMMARY

This application provides a method and related apparatus for determining a neural network, to obtain a combined neural network with relatively high performance.

According to a first aspect, this application provides a method for determining a neural network, including: obtaining a plurality of initial search spaces, where the initial search space includes one or more neural networks, neural networks in any two of the initial search spaces have different functions, and any two neural networks in a same initial search space have a same function but different network structures; determining M candidate neural networks based on the plurality of initial search spaces, where the candidate neural network includes a plurality of candidate subnetworks, the plurality of candidate subnetworks belong to the plurality of initial search spaces, any two of the plurality of candidate subnetworks belong to different initial search spaces, and M is a positive integer; evaluating the M candidate neural networks to obtain M evaluation results; and determining N candidate neural networks from the M candidate neural networks based on the M evaluation results, and determining N first target neural networks based on the N candidate neural networks. Each of the N first target neural networks includes a plurality of target subnetworks, each of the N candidate neural networks includes a plurality of candidate subnetworks, the N first target neural networks are in a one-to-one correspondence with the N candidate neural networks, the plurality of target subnetworks included in each first target neural network are in a one-to-one correspondence with a plurality of candidate subnetworks included in a corresponding candidate neural network, a block included in each target subnetwork in each first target neural network is the same as a block included in a corresponding candidate subnetwork, and N is a positive integer less than or equal to M.

In this method, after obtaining the candidate neural network from the plurality of initial search spaces through sampling, the entire candidate neural network is evaluated, and then the first target neural network is determined based on an evaluation result and the candidate neural network. Compared with a manner of determining the first target neural network based on evaluation results of candidate subnetworks after the candidate subnetworks are evaluated separately, in the manner of determining the first target neural network based on the evaluation result of the entire candidate neural network after the candidate neural network is obtained through sampling, a combination mode between the candidate subnetworks is fully considered, and the first target neural network with better performance may be obtained.

In some possible implementations, the evaluation result of the candidate neural network includes one or more of the following: an operating speed, accuracy, a quantity of parameters, or floating-point operations.

In some possible implementations, the determining N candidate neural networks from the M candidate neural networks based on the M evaluation results includes: determining, based on the M evaluation results, N candidate neural networks whose evaluation results meet a task requirement from the M candidate neural networks as the N candidate neural networks.

For example, N candidate neural networks whose operating speeds and/or accuracy meet/meets a preset task requirement in the M candidate neural networks are determined as the N candidate neural networks.

In some possible implementations, the evaluation result of the candidate neural network includes the operating speed and accuracy. The determining N candidate neural networks from the M candidate neural networks based on the M evaluation results includes: determining Pareto optimal solutions of the M candidate neural networks as the N candidate neural networks based on the M evaluation results and by using the operating speed and accuracy as an objective.

Because the N candidate neural networks obtained in this implementation are the Pareto optimal solutions of the M candidate neural networks, performance of the N candidate neural networks is better than performance of other candidate neural networks, and performance of the N first target neural networks determined based on the N candidate neural networks is also better.

In some possible implementations, the determining N first target neural networks based on the N candidate neural networks includes: determining the N candidate neural networks as the N first target neural networks.

In some possible implementations, the determining N first target neural networks based on the N candidate neural networks includes: determining a plurality of target search spaces based on a plurality of candidate subnetworks in an i th candidate neural network in the N candidate neural networks, where the plurality of target search spaces are in a one-to-one correspondence with the plurality of candidate subnetworks in the i th candidate neural network, each of the plurality of target search spaces includes one or more neural networks, and a block included in each neural network in each target search space is the same as a block included in a candidate subnetwork corresponding to each target search space; and determining an i th first target neural network in the N first target neural networks based on the plurality of target search spaces, where a plurality of target subnetworks in the i th first target neural network belong to the plurality of target search spaces, any two of the plurality of target subnetworks in the i th first target neural network belong to different target search spaces, and i is a positive integer less than or equal to N.

In other words, the first target neural network with better performance is obtained by searching again without changing the block.

In some possible implementations, the method further includes: determining N second target neural networks based on the N first target neural networks, where an i th second target neural network in the N second target neural networks is obtained by performing one or more of the following processing on the i th first target neural network: adding a group normalization layer after a convolutional layer in the target subnetwork in the i th first target neural network; adding a group normalization layer after a fully connected layer in the target subnetwork in the i th first target neural network; and performing normalization processing on a weight of the convolutional layer in the target subnetwork in the i th first target neural network, where i is a positive integer less than or equal to N.

This implementation can improve performance of the second target neural network and increase a training speed of the second target neural network.

In some possible implementations, the method further includes: evaluating the N second target neural networks to obtain evaluation results of the N second target neural networks. The N evaluation results may be used to select a more appropriate second target neural network from the N second target neural networks based on the task requirement, to improve task completion quality.

In some possible implementations, the evaluating the N second target neural networks to obtain evaluation results of the N second target neural networks includes: randomly initializing a network parameter in the i th second target neural network; training the i th second target neural network based on training data; and testing the i th trained second target neural network based on test data, to obtain an evaluation result of the i th trained second target neural network.

In some possible implementations, the first target neural network is used for object detection; the plurality of initial search spaces include a first initial search space, a second initial search space, a third initial search space, and a fourth initial search space; the first initial search space includes residual networks of different depths, next-dimension residual networks (ResNext) of different depths, and/or mobile networks (MobileNet) of different depths; the second initial search space includes a connection path of features at different levels; the third initial search space includes a common region proposal network (region proposal net, RPN) and/or a guided anchoring region proposal network (region proposal by guided anchoring, GA-RPN); and the fourth initial search space includes a one-stage detection head network (Retina-head), a fully connected detection head network, a fully convolutional detection head network, and/or a cascade detection head network (Cascade-head).

In some possible implementations, the first target neural network is used for image classification; the plurality of initial search spaces include a first initial search space and a second initial search space; the first initial search space includes residual networks of different depths, ResNexts of different depths, and/or densely connected networks (DenseNet) of different widths; and a neural network in the second initial search space includes a fully connected layer.

In some possible implementations, the first target neural network is used for image segmentation; the plurality of initial search spaces include a first initial search space, a second initial search space, and a third initial search space; the first initial search space includes residual networks of different depths, ResNexts of different depths, and/or high-resolution networks of different widths; the second initial search space includes an atrous spatial pyramid pooling network, a pyramid pooling network, and/or a network including a dense prediction unit; and the third initial search space includes a U-Net model and/or a fully convolutional network.

According to a second aspect, this application provides an apparatus for determining a neural network. The apparatus includes: an obtaining module, configured to obtain a plurality of initial search spaces, where the initial search space includes one or more neural networks, neural networks in any two of the initial search spaces have different functions, and any two neural networks in a same initial search space have a same function but different network structures; a determining module, configured to determine M candidate neural networks based on the plurality of initial search spaces, where the candidate neural network includes a plurality of candidate subnetworks, the plurality of candidate subnetworks belong to the plurality of initial search spaces, any two of the plurality of candidate subnetworks belong to different initial search spaces; and an evaluation module, configured to evaluate the M candidate neural networks to obtain M evaluation results, where M is a positive integer. The determining module is further configured to: determine N candidate neural networks from the M candidate neural networks based on the M evaluation results, and determine N first target neural networks based on the N candidate neural networks. Each of the N candidate neural networks includes a plurality of candidate subnetworks, each of the N first target neural networks includes a plurality of target subnetworks, the N first target neural networks are in a one-to-one correspondence with the N candidate neural networks, the plurality of target subnetworks included in each first target neural network are in a one-to-one correspondence with a plurality of candidate subnetworks included in a corresponding candidate neural network, a block included in each target subnetwork in each first target neural network is the same as a block included in a corresponding candidate subnetwork, and N is a positive integer less than or equal to M.

In some possible implementations, the evaluation result of the candidate neural network includes one or more of the following: an operating speed, accuracy, a quantity of parameters, or floating-point operations.

In some possible implementations, the evaluation result of the candidate neural network includes the operating speed and accuracy. The determining module is specifically configured to: determine Pareto optimal solutions of the M candidate neural networks as the N candidate neural networks based on the M evaluation results and by using the operating speed and accuracy as an objective.

In some possible implementations, the determining module is specifically configured to: determine a plurality of target search spaces based on a plurality of candidate subnetworks in an i th candidate neural network in the N candidate neural networks, where the plurality of target search spaces are in a one-to-one correspondence with the plurality of candidate subnetworks in the i th candidate neural network, each of the plurality of target search spaces includes one or more neural networks, and a block included in each neural network in each target search space is the same as a block included in a candidate subnetwork corresponding to each target search space; and determine an i th first target neural network in the N first target neural networks based on the plurality of target search spaces, where a plurality of target subnetworks in the i th first target neural network belong to the plurality of target search spaces, any two of the plurality of target subnetworks in the i th first target neural network belong to different target search spaces, and i is a positive integer less than or equal to N.

In some possible implementations, the determining module is further configured to: determine N second target neural networks based on the N first target neural networks, where an i th second target neural network in the N second target neural networks is obtained by performing one or more of the following processing on the i th first target neural network: adding a group normalization layer after a convolutional layer in the target subnetwork in the i th first target neural network; adding a group normalization layer after a fully connected layer in the target subnetwork in the i th first target neural network; and performing normalization processing on a weight of the convolutional layer in the target subnetwork in the i th first target neural network, where i is a positive integer less than or equal to N.

In some possible implementations, the evaluation module is further configured to evaluate the N second target neural networks to obtain evaluation results of the N second target neural networks.

In some possible implementations, the evaluation module is specifically configured to: randomly initialize a network parameter in the i th second target neural network; train the i th second target neural network based on training data; and test the i th trained second target neural network based on test data, to obtain an evaluation result of the i th trained second target neural network.

In some possible implementations, the first target neural network is used for object detection; the plurality of initial search spaces include a first initial search space, a second initial search space, a third initial search space, and a fourth initial search space; the first initial search space includes residual networks of different depths, next-dimension residual networks of different depths, and/or mobile networks of different depths; the second initial search space includes a connection path of features at different levels; the third initial search space includes a common region proposal network and/or a guided anchoring region proposal network; and the fourth initial search space includes a one-stage detection head network, a fully connected detection head network, a fully convolutional detection head network, and/or a cascade detection head network.

In some possible implementations, the first target neural network is used for image classification; the plurality of initial search spaces include a first initial search space and a second initial search space; the first initial search space includes residual networks of different depths, next-dimension residual networks of different depths, and/or densely connected networks of different widths; and a neural network in the second initial search space includes a fully connected layer.

In some possible implementations, the first target neural network is used for image segmentation; the plurality of initial search spaces include a first initial search space, a second initial search space, and a third initial search space; the first initial search space includes residual networks of different depths, next-dimension residual networks of different depths, and/or high-resolution networks of different widths; the second initial search space includes an atrous spatial pyramid pooling network, a pyramid pooling network, and/or a network including a dense prediction unit; and the third initial search space includes a U-Net model and/or a fully convolutional network.

The apparatus includes: a memory, configured to store a program; and a processor, configured to execute the program stored in the memory. When the program stored in the memory is executed, the processor is configured to perform the method in the second aspect.

According to a fourth aspect, a computer-readable medium is provided. The computer-readable medium stores instructions executable by a device, and the instructions are used to implement the method in the first aspect.

According to a fifth aspect, a computer program product including instructions is provided. When the computer program product is run on a computer, the computer is enabled to perform the method in the first aspect.

According to a sixth aspect, a chip is provided, where the chip includes a processor and a data interface, and the processor reads, by using the data interface, instructions stored in a memory, to perform the method in the first aspect.

Optionally, in an implementation, the chip may further include the memory, the memory stores the instructions, the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the processor is configured to perform the method in the first aspect.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an example flowchart of a method for determining a neural network according to this application;

FIG. 2 is an example diagram of an initial search space of a neural network used to execute an object detection task according to this application;

FIG. 3 is an example diagram of an initial search space of a neural network used to execute an image classification task according to this application;

FIG. 4 is an example diagram of an initial search space of a neural network used to execute an image segmentation task according to this application;

FIG. 5 is another example flowchart of a method for determining a neural network according to this application;

FIG. 6 is an example diagram of a Pareto front of a candidate neural network according to this application;

FIG. 7 is another example flowchart of a method for determining a neural network according to this application;

FIG. 8 is another example flowchart of a method for determining a neural network according to this application;

FIG. 9 is an example diagram of a structure of an apparatus for determining a neural network according to an embodiment of this application;

FIG. 10 is an example diagram of a structure of an apparatus for determining a neural network according to an embodiment of this application; and

FIG. 11 is another example diagram of a Pareto front of a candidate neural network according to this application.

DESCRIPTION OF EMBODIMENTS

For ease of understanding, the following describes concepts related to this application.

(1) 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 )=ƒ( W T x )=ƒ(Σ s=1 n W s x s +b )  (1-1)

Herein, s=1, 2, . . . , n, n is a natural number greater than 1, W s represents a weight of x s , b represents a bias of the neuron, and f represents an activation function (activation functions) of the neuron, where the activation function is used to introduce a non-linear characteristic 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 input of a next convolutional layer, and the activation function may be a sigmoid function. The neural network is a network constituted by connecting a plurality of single neurons together. To be specific, output of a neuron may be input of another neuron. Input of 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.

(2) Deep Neural Network

The deep neural network (deep neural network, DNN) is also referred to as a multi-layer neural network, and may be understood as a neural network having a plurality of hidden layers. The DNN is divided based on positions of different layers. Neural networks inside the DNN may be classified 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 an i th layer is necessarily connected to any neuron in an (i+1) th layer.

Although the DNN seems complex, the DNN is actually not complex in terms of work at each layer, and is simply represented as the following linear relationship expression: {right arrow over (y)}=α(W{right arrow over (x)}+{right arrow over (b)}), where {right arrow over (x)} is an input vector, {right arrow over (y)} is an output vector, {right arrow over (b)} is a bias vector, W is a weight matrix (which is also referred to as a coefficient), and α( ) is an activation function. At each layer, the output vector {right arrow over (x)} is obtained by performing such a simple operation on the input vector ŷ. Due to a large quantity of DNN layers, quantities of coefficients W and bias vectors {right arrow over (b)} are also large. Definitions of the parameters in the DNN are as follows: The coefficient W is used as an example. It is assumed that in a DNN with 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 . A superscript 3 represents a number of a layer in which the coefficient W is located, and a subscript corresponds to an index 2 of the third layer for output and an index 4 of the second layer for input.

In conclusion, a coefficient from a k th neuron at an (L−1) th layer to a j th neuron at an L th layer is defined as W jk L .

It should be noted that the input layer has no parameter W. 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”. It indicates that the model can complete a more complex learning task. Training of the deep neural network is a process of learning a weight matrix, and a final objective of the training is to obtain a weight matrix of all layers of a trained deep neural network (a weight matrix formed by vectors W of many layers).

(3) Convolutional Neural Network

The convolutional neural network (convolutional neuron network, CNN) is a deep neural network with a convolutional structure. The convolutional neural network includes a feature extractor including a convolutional layer and a sub-sampling layer. The feature extractor may be considered as a filter. The convolutional layer is a neuron layer that performs convolution processing on an input signal that is in the convolutional neural network. In the convolutional layer of the convolutional neural network, one neuron may be connected to only a part of neurons in a neighboring layer. A convolutional layer generally includes several feature planes, and each feature plane may include some neurons arranged in a rectangle. Neurons of a same feature plane share a weight, and the shared weight herein is a convolution kernel. Sharing the weight may be understood as that a manner of extracting image information is unrelated to a position. The convolution kernel may be initialized in a form of a matrix of a random size. In a training process of the convolutional neural network, an appropriate weight may be obtained for the convolution kernel through learning. In addition, sharing the weight is advantageous because connections between layers of the convolutional neural network are reduced, and a risk of overfitting is reduced.

(4) Loss Function

In a process of training a deep neural network, because it is expected that an output of the deep neural network is as close as possible to a value that is actually expected to be predicted, a predicted value of a current network and a target value that is actually expected may be compared, and then, a weight vector of each layer of neural network is updated based on a difference between the two (certainly, there is usually an initialization process before the first update, that is, a parameter is preconfigured for each layer in the deep neural network). For example, if the predicted value of the network is higher, the weight vector is adjusted to obtain a lower predicted value. The weight vector is continuously adjusted until the deep neural network can predict the target value that is actually expected or a value that is very close to the target value that is actually expected. Therefore, “how to obtain, through comparison, a difference between the prediction value and the target value” needs to be predefined. This is a loss function (loss function) or an objective function (objective function). The loss function and the objective function are important equations used to measure the difference between the prediction value and the target value. The loss function is used as an example. A higher output value (loss) of the loss function indicates a larger difference. Therefore, training of the deep neural network becomes a process of reducing the loss as much as possible.

(5) Back Propagation Algorithm

In a training process, a neural network may correct values of parameters in an initial neural network model by using an error back propagation (back propagation, BP) algorithm, so that a reconstruction error loss of the neural network model becomes increasingly smaller. Specifically, an input signal is forward transferred until an error loss occurs in output, and the parameters in the initial neural network model are updated based on back propagation error loss information, so that the error loss is reduced. The back propagation algorithm is a back propagation motion mainly dependent on the error loss, and aims to obtain parameters of an optimal neural network model, for example, a weight matrix.

(6) Pareto Solution

A Pareto (Pareto) solution is also referred to as a nondominated solution (nondominated solutions). For a multi-objective case, because objectives are conflicting and equally good, a solution that is best for a specific objective may be the worst for another objective. The solution is referred to as a nondominated solution or Pareto solution, if none of the objectives can be improved without degrading at least one other objective.

Pareto optimality (Pareto Optimality) is a situation of resource allocation in which no objective can be better off without making another objective worse off. Pareto optimality is also referred to as Pareto efficiency or Pareto improvement.

A set of objective optimal solutions is referred to as a Pareto optimal set. A surface formed by the optimal set on a space is referred to as a Pareto front surface.

For example, when an operating speed and accuracy of a neural network are used as an objective, when an operating speed of one neural network is better than an operating speed of another neural network, accuracy of the neural network may be poor; and when accuracy of the neural network is better than accuracy of another neural network, the operating speed of the neural network may be poor. If prediction accuracy of a neural network cannot be improved without degrading operating accuracy of the neural network, the neural network may be referred to as a Pareto optimal solution with the operating accuracy and prediction accuracy as the objective.

(7) Backbone (Backbone) Network

A backbone network is used to extract features of an input image to obtain a multi-level (multi-scale) feature of the image. Common backbone networks include ResNet, ResNext, MobileNet, or DenseNet of different depths. A main difference between the backbone networks of different series lies in that basic units of the component networks are different. For example, the ResNet series includes ResNet-50, ResNet-101, and ResNet-152, a basic unit of which is a bottleneck network block. ResNet-50 includes 16 bottleneck network blocks, ResNet-101 includes 33 bottleneck network blocks, and ResNet-152 includes 50 bottleneck network blocks. A difference between the ResNext series and the ResNet series lies in that a basic unit of the ResNet series is a group-convolutional bottleneck network block rather than the bottleneck network block. A basic unit of the MobileNet series is depthwise separable convolution. A basic unit of the DenseNet series is a dense unit module and a transition network module.

(8) Multi-Level Feature Extraction Network (Neck)

A multi-level feature extraction network is used to filter and fuse a multi-scale feature to generate more compact and expressive feature vectors. The multi-level feature extraction network may include a fully convolutional pyramid network connected with different scales, an atrous spatial pyramid pooling (atrous spatial pyramid pooling, ASPP) network, a pyramid pooling network, or a network including a dense prediction unit.

(9) Prediction Module

A prediction module is configured to output a prediction result related to an application task.

The prediction module may include a head prediction network for converting features into a prediction result that finally meets a task requirement. For example, a prediction result finally output in an image classification task is a vector including a probability that an input image belongs to each category. A prediction result in an object detection task is coordinates, of an input image, of all candidate target boxes existing in the input image and a probability that the candidate target boxes belong to each category. The prediction module in an image segmentation task needs to output a pixel-level classification probability graph of an image.

The head prediction network may include a Retina-head, a fully connected detection head network, a Cascade-head, a U-Net model, or a fully convolutional detection head network.

When the prediction module is used for an object detection task in a computer vision task, the prediction module may include a region proposal network (region proposal network, RPN) and the head prediction network.

The RPN is a component module in a two-stage detection network, and is used to generate a fast regression classifier of a rough target location and classmark information. The RPN mainly includes two branches, where the first branch classifies the foreground and the background of each anchor point, and the second branch calculates an offset of a bounding box relative to the anchor point.

Usually, a two-layer simple network including a binary classifier and bounding box regression is used to implement the RPN. Bounding box regression is a regression model used for object detection. A regression window that has a smaller value of a loss function and that is closer to a real window is searched for near a target location obtained by a sliding window.

In this case, the head prediction network is used to further optimize a classification detection result obtained by the RPN, and is usually implemented by a multi-layer network that is more complex than the RPN. A combination of the RPN and the head prediction network enables an object detection system to quickly remove a large quantity of invalid image regions and to focus on meticulous detection of more potential image regions, thereby achieving a fast and good effect.

The method and the apparatus of this application may be applied to many fields of artificial intelligence, for example, fields such as smart manufacturing, smart transportation, smart home, smart health care, smart security protection, autonomous driving, and a safe city.

Specifically, a method and an apparatus in this application may be specifically applied to fields requiring a (deep) neural network, such as autonomous driving, image classification, image segmentation, object detection, image retrieval, image semantic segmentation, image quality enhancement, image super-resolution, and natural language processing.

For example, a neural network applicable to album classification obtained by using the method in this application, that is, a neural network for album classification, may be used to classify pictures, to label the pictures of different categories, so as to facilitate viewing and searching by a user. In addition, classification labels of the images may also be provided for an album management system to perform classification management. This saves management time of the user, improves album management efficiency, and improves user experience.

For another example, the method in this application is used to obtain a neural network that can detect an object such as a pedestrian, a vehicle, a traffic sign, or a lane line, so that an autonomous vehicle can travel on a road more safely.

For another example, a neural network that can be used for image object segmentation is obtained by using the method in this application, to understand content of a currently photographed image based on a segmentation result, and provide a decision basis for rendering a photographing effect, thereby providing an optimal image rendering effect for the user.

The following describes technical solutions in this application with reference to the accompanying drawings.

FIG. 1 is an example flowchart of a method for determining a neural network according to this application. The method includes S 110 to S 140 .

S 110 : Obtain a plurality of initial search spaces, where each of the plurality of initial search spaces includes one or more neural networks, neural networks in any two of the initial search spaces have different functions, and any two neural networks in a same initial search space have a same function but different network structures.

At least one of the plurality of initial search spaces includes a plurality of neural networks.

In this embodiment of this application, a network structure of the neural network may include one or more stages (stage), and each stage may include at least one block (block). The block may include basic atoms in a convolutional neural network. The basic atoms include: a convolutional layer, a pooling layer, a fully connected layer, a nonlinear activation layer, or the like. The block may also be referred to as a basic unit or a basic module.

In a convolutional neural network, features usually exist in a three-dimensional form (length, width, and depth). One feature may be considered as a superposition of a plurality of two-dimensional features, where each two-dimensional feature of the feature may be referred to as a feature map. Alternatively, a feature map (a two-dimensional feature) of the feature may be referred to as a channel of the feature. The length and width of the feature map may also be referred to as resolution of the feature map.

When the neural network includes a plurality of stages, quantities of blocks in different stages may be different. Similarly, resolution of input feature maps and resolution of output feature maps processed at different stages may also be different.

When one stage in the neural network includes a plurality of blocks, quantities of channels of different blocks may be different. It should be understood that the quantity of channels of the block may also be referred to as the width of the block. Similarly, resolution of input feature maps and resolution of output feature maps processed by different blocks may also be different.

That any two neural networks have different network structures may include: quantities of stages included in the any two neural networks, quantities of blocks in the stages, quantities of channels of the blocks, resolution of input feature maps of the stages, resolution of output feature maps of the stages, resolution of input feature maps of the blocks, and/or resolution of output feature maps of the blocks are different.

Usually, the initial search space is determined based on a target task. In other words, the target task needs to be determined first; then, it is determined, based on the target task, neural networks having specific functions that can be combined to form a target neural network required to implement the target task; and an initial search space including the neural networks having the functions is constructed.

The following describes an implementation of determining the initial search space by using an example in which the target task is a high-level (high-level) computer vision task.

A target neural network for completing the high-level computer vision task may be a convolutional neural network with a uniform design paradigm. The high-level computer vision task includes object detection, image segmentation, image classification, and the like.

A target neural network for executing an object detection task may include a backbone network, a multi-level feature extraction network, and a prediction network, and the prediction network includes a region proposal network and a head prediction network. Therefore, an initial search space of the backbone network, an initial search space of the multi-level feature extraction network, an initial search space of the region proposal network, and an initial search space of the head prediction network can be constructed. In addition, an initial search space of resolution of an input image in the backbone network can be constructed.

As shown in FIG. 2 , the initial search space of resolution of the input image may include 512×512, 800×600, 1333×800, and the like. The initial search space of the backbone network may include ResNets of depths of 18, 34 (that is, d=18, 34 . . . ) or higher, ResNexts of depths of 18, 34, or higher, and MobileNets. The initial search space of the multi-level feature extraction network may include fusion paths of different scales in the backbone network, for example, include fusing feature pyramid networks FPN 1,2,3,4 in which corresponding features whose resolution scales are reduced by 1, 2, 3, and 4 folds compared with those of an original image in the backbone network, and feature pyramid networks FPN 2,4,5 in which corresponding features whose resolution scales are reduced by 2, 4, and 5 folds. The initial search space of the region proposal network may include a common region proposal network and a guided anchoring region proposal network (region proposal by guided anchoring, GA-RPN). The initial search space of the head prediction network may include a fully connected detection head (an FC detection head), a detection head of a one-stage detector, a detection head of a two-stage detector, and a cascade detection head whose quantity of concatenations, that is the number of cascade stages, is 2, 3, or the like, where n represents a quantity of concatenations.

Because a target neural network for executing an image classification task may include the backbone network and the head prediction network, the initial search space of the backbone network and the initial search space of the head prediction network may be constructed.

As shown in FIG. 3 , the initial search space of the backbone network may include backbone networks used for classification, for example, ResNet, ResNext, and DenseNet; and the initial search space of the head prediction network may include an FC layer.

Because the target neural network for executing an image-related task may include the backbone network, the multi-level feature extraction network, and the head prediction network, the initial search space of the backbone network, the initial search space of the multi-level feature extraction network, and the initial search space of the head prediction network may be constructed.

As shown in FIG. 4 , the initial search space of the backbone network may include ResNet, ResNext, and a VGG network proposed by the visual geometry group (visual geometry group) from the university of Oxford. The initial search space of the multi-level feature extraction network may include an ASPP network, a pyramid pooling (pyramid pooling) network, and an upsampling+concate (upsampling+concate) network in which multi-scale features after upsampling are concatenated. The initial search space of the head prediction network may include a U-Net model, a fully convolutional network (fully convolutional networks, FCN), and a dense prediction cell (DPC) network.

In FIG. 2 to FIG. 4 , “+” represents a connection relationship after sampling is performed for a neural network in the search space.

S 120 : Determine M candidate neural networks based on the plurality of initial search spaces, where the candidate neural network includes a plurality of candidate subnetworks, the plurality of candidate subnetworks belong to the plurality of initial search spaces, any two of the plurality of candidate subnetworks belong to different initial search spaces, and M is a positive integer.

For example, sampling may be performed for one random neural network in each initial search space, and all neural networks obtained through sampling form a complete neural network. The complete neural network is referred to as a candidate neural network.

For another example, sampling may be performed for one random neural network in each initial search space, and all neural networks obtained through sampling form a complete neural network, and then floating-point operations per second (floating-point operations per second, FLOPS) of the complete neural network are calculated. If the FLOPS of the complete neural network meets a task requirement, the complete neural network is determined as a candidate neural network. If the FLOPS of the complete neural network does not meet the task requirement, the complete neural network is discarded and sampling is performed again.

For example, when a finally determined target neural network is used on a terminal device with relatively low computing capability, the FLOPS of the complete neural network generally cannot exceed the computing capability of the terminal device. Otherwise, it is meaningless to use the neural network to execute a task on the terminal device.

If a network structure of a complete neural network obtained through sampling each time is the same as a network structure of the complete neural network obtained through previous sampling, the complete neural network obtained through current sampling may be discarded, and sampling is performed again.

Optionally, sampling may be performed on some search spaces to obtain a candidate neural network model. The candidate neural network obtained through sampling in this manner may include only neural networks in the some search spaces.

Sampling is performed on the plurality of initial search spaces for a plurality of times, for example, sampling is performed for at least M times, to obtain the M candidate neural networks.

S 130 : Evaluate the M candidate neural networks to obtain M evaluation results of the M candidate neural networks.

For example, a network parameter in each of the M candidate neural networks is initialized; training data is input into each candidate neural network, to train each candida

CLAIMS

Claims ( 22 )

What is claimed is:

1 . A method for determining a neural network, comprising:

obtaining a plurality of initial search spaces, wherein the initial search space comprises one or more neural networks, neural networks in any two of the initial search spaces have different functions, and any two neural networks in a same initial search space have a same function but different network structures; determining M candidate neural networks based on the plurality of initial search spaces, wherein the candidate neural network comprises a plurality of candidate subnetworks, the plurality of candidate subnetworks belong to the plurality of initial search spaces, any two of the plurality of candidate subnetworks belong to different initial search spaces, and M is a positive integer; evaluating the M candidate neural networks to obtain M evaluation results; and determining N candidate neural networks from the M candidate neural networks based on the M evaluation results, and determining N first target neural networks based on the N candidate neural networks, wherein each of the N candidate neural networks comprises a plurality of candidate subnetworks, each of the N first target neural networks comprises a plurality of target subnetworks, the N first target neural networks are in a one-to-one correspondence with the N candidate neural networks, the plurality of target subnetworks comprised in each first target neural network are in a one-to-one correspondence with a plurality of candidate subnetworks comprised in a corresponding candidate neural network, a block comprised in each target subnetwork in each first target neural network is the same as a block comprised in a corresponding candidate subnetwork, and N is a positive integer less than or equal to M.

2 . The method according to claim 1 , wherein the evaluation result of the candidate neural network comprises one or more of the following: an operating speed, accuracy, a quantity of parameters, or floating-point operations per second.

3 . The method according to claim 2 , wherein the evaluation result of the candidate neural network comprises the operating speed and accuracy; and

the determining N candidate neural networks from the M candidate neural networks based on the M evaluation results comprises: determining Pareto optimal solutions of the M candidate neural networks as the N candidate neural networks based on the M evaluation results and by using the operating speed and accuracy as an objective.

4 . The method according to claim 3 , wherein the determining N first target neural networks based on the N candidate neural networks comprises:

determining a plurality of target search spaces based on a plurality of candidate subnetworks in an i th candidate neural network in the N candidate neural networks, wherein the plurality of target search spaces are in a one-to-one correspondence with the plurality of candidate subnetworks in the i th candidate neural network, each of the plurality of target search spaces comprises one or more neural networks, and a block comprised in each neural network in each target search space is the same as a block comprised in a candidate subnetwork corresponding to each target search space; and determining an i th first target neural network in the N first target neural networks based on the plurality of target search spaces, wherein a plurality of target subnetworks in the i th first target neural network belong to the plurality of target search spaces, any two of the plurality of target subnetworks in the i th first target neural network belong to different target search spaces, and i is a positive integer less than or equal to N.

5 . The method according to claim 1 , wherein the method further comprises:

determining N second target neural networks based on the N first target neural networks, wherein an i th second target neural network in the N second target neural networks is obtained by performing one or more of the following processing on the i th first target neural network: adding a group normalization layer after a convolutional layer in the target subnetwork in the i th first target neural network; adding a group normalization layer after a fully connected layer in the target subnetwork in the i th first target neural network; and performing normalization processing on a weight of the convolutional layer in the target subnetwork in the i th first target neural network, wherein i is a positive integer less than or equal to N.

6 . The method according to claim 5 , wherein the method further comprises:

evaluating the N second target neural networks to obtain evaluation results of the N second target neural networks.

7 . The method according to claim 6 , wherein the evaluating the N second target neural networks to obtain evaluation results of the N second target neural networks comprises:

randomly initializing a network parameter in the i th second target neural network; training the i th second target neural network based on training data; and testing the i th trained second target neural network based on test data, to obtain an evaluation result of the i th trained second target neural network.

8 . The method according to claim 1 , wherein the first target neural network is used for object detection; the plurality of initial search spaces comprise a first initial search space, a second initial search space, a third initial search space, and a fourth initial search space; the first initial search space comprises at least one of residual networks of different depths, next-dimension residual networks of different depths, and mobile networks of different depths; the second initial search space comprises a connection path of features at different levels; the third initial search space comprises at least one of a common region proposal network and a guided anchoring region proposal network; and the fourth initial search space comprises at least one of a one-stage detection head network, a fully connected detection head network, a fully convolutional detection head network, and a cascade detection head network.

9 . The method according to claim 1 , wherein the first target neural network is used for image classification; the plurality of initial search spaces comprise a first initial search space and a second initial search space, the first initial search space comprises at least one of residual networks of different depths, next-dimension residual networks of different depths, and densely connected networks of different widths; and a neural network in the second initial search space comprises a fully connected layer.

10 . The method according to claim 1 , wherein the first target neural network is used for image segmentation; the plurality of initial search spaces comprise a first initial search space, a second initial search space, and a third initial search space; the first initial search space comprises at least one of residual networks of different depths, next-dimension residual networks of different depths, and high-resolution networks of different widths; the second initial search space comprises at least one of an atrous spatial pyramid pooling network, a pyramid pooling network, and a network comprising a dense prediction unit; and the third initial search space comprises at least one of a U-Net model and a fully convolutional network.

11 . An apparatus for determining a neural network, comprising:

an obtaining module, configured to obtain a plurality of initial search spaces, wherein the initial search space comprises one or more neural networks, neural networks in any two of the initial search spaces have different functions, and any two neural networks in a same initial search space have a same function but different network structures; a determining module, configured to determine M candidate neural networks based on the plurality of initial search spaces, wherein the candidate neural network comprises a plurality of candidate subnetworks, the plurality of candidate subnetworks belong to the plurality of initial search spaces, any two of the plurality of candidate subnetworks belong to different initial search spaces, and M is a positive integer; and an evaluation module, configured to evaluate the M candidate neural networks to obtain M evaluation results, wherein the determining module is further configured to: determine N candidate neural networks from the M candidate neural networks based on the M evaluation results, and determine N first target neural networks based on the N candidate neural networks, wherein each of the N candidate neural networks comprises a plurality of candidate subnetworks, each of the N first target neural networks comprises a plurality of target subnetworks, the N first target neural networks are in a one-to-one correspondence with the N candidate neural networks in the M candidate neural networks, the plurality of target subnetworks comprised in each first target neural network are in a one-to-one correspondence with a plurality of candidate subnetworks comprised in a corresponding candidate neural network, a block comprised in each target subnetwork in each first target neural network is the same as a block comprised in a corresponding candidate subnetwork, and N is a positive integer less than or equal to M.

12 . The apparatus according to claim 11 , wherein the evaluation result of the candidate neural network comprises one or more of the following: an operating speed, accuracy, a quantity of parameters, or floating-point operations per second.

13 . The apparatus according to claim 12 , wherein the evaluation result of the candidate neural network comprises the operating speed and accuracy; and

the determining module is specifically configured to: determine Pareto optimal solutions of the M candidate neural networks as the N candidate neural networks based on the M evaluation results and by using the operating speed and accuracy as an objective.

14 . The apparatus according to claim 13 , wherein the determining module is specifically configured to:

determine a plurality of target search spaces based on a plurality of candidate subnetworks in an i th candidate neural network in the N candidate neural networks, wherein the plurality of target search spaces are in a one-to-one correspondence with the plurality of candidate subnetworks in the i th candidate neural network, each of the plurality of target search spaces comprises one or more neural networks, and a block comprised in each neural network in each target search space is the same as a block comprised in a candidate subnetwork corresponding to each target search space; and determine an i th first target neural network in the N first target neural networks based on the plurality of target search spaces, wherein a plurality of target subnetworks in the i th first target neural network belong to the plurality of target search spaces, any two of the plurality of target subnetworks in the i th first target neural network belong to different target search spaces, and i is a positive integer less than or equal to N.

15 . The apparatus according to claim 11 , wherein the determining module is further configured to:

determine N second target neural networks based on the N first target neural networks, wherein an i th second target neural network in the N second target neural networks is obtained by performing one or more of the following processing on the i th first target neural network: adding a group normalization layer after a convolutional layer in the target subnetwork in the i th first target neural network; adding a group normalization layer after a fully connected layer in the target subnetwork in the i th first target neural network; and performing normalization processing on a weight of the convolutional layer in the target subnetwork in the i th first target neural network, wherein i is a positive integer less than or equal to N.

16 . The apparatus according to claim 15 , wherein the evaluation module is further configured to:

evaluate the N second target neural networks to obtain evaluation results of the N second target neural networks.

17 . The apparatus according to claim 16 , wherein the evaluation module is specifically configured to:

randomly initialize a network parameter in the i th second target neural network; train the i th second target neural network based on training data; and test the i th trained second target neural network based on test data, to obtain an evaluation result of the i th trained second target neural network.

18 . The apparatus according to claim 11 , wherein the first target neural network is used for object detection; the plurality of initial search spaces comprise a first initial search space, a second initial search space, a third initial search space, and a fourth initial search space; the first initial search space comprises at least one of residual networks of different depths, next-dimension residual networks of different depths, and mobile networks of different depths; the second initial search space comprises a connection path of features at different levels; the third initial search space comprises at least one of a common region proposal network and a guided anchoring region proposal network; and the fourth initial search space comprises at least one of a one-stage detection head network, a fully connected detection head network, a fully convolutional detection head network, and a cascade detection head network.

19 . The apparatus according to claim 11 , wherein the first target neural network is used for image classification; the plurality of initial search spaces comprise a first initial search space and a second initial search space, the first initial search space comprises at least one of residual networks of different depths, next-dimension residual networks of different depths, and densely connected networks of different widths; and a neural network in the second initial search space comprises a fully connected layer.

20 . The apparatus according to claim 11 , wherein the first target neural network is used for image segmentation; the plurality of initial search spaces comprise a first initial search space, a second initial search space, and a third initial search space; the first initial search space comprises at least one of residual networks of different depths, next-dimension residual networks of different depths, and high-resolution networks of different widths; the second initial search space comprises at least one of an atrous spatial pyramid pooling network, a pyramid pooling network, and a network comprising a dense prediction unit; and the third initial search space comprises at least one of a U-Net model and a fully convolutional network.

21 . An apparatus for determining a neural network, comprising:

a memory, configured to store a program; and a processor, configured to execute the program stored in the memory, wherein when the program stored in the memory is executed, the method according to claim 1 is implemented.

22 . A computer-readable storage medium, wherein the computer-readable medium stores instructions executable by a computing device, and when the computing device executes the instructions, the method according to claim 1 is implemented.

US17/738,685

2019-11-08

2022-05-06

Method and Apparatus for Determining Neural Network

Pending

US20220261659A1

( en )

Applications Claiming Priority (3)

Application Number

Priority Date

Filing Date

Title

CN201911090334.1

2019-11-08

CN201911090334.1A

CN112784954B

( en )

2019-11-08

2019-11-08

Method and device for determining neural network

PCT/CN2020/095409

WO2021088365A1

( en )

2019-11-08

2020-06-10

Method and apparatus for determining neural network

Related Parent Applications (1)

Application Number

Title

Priority Date

Filing Date

PCT/CN2020/095409

Continuation

WO2021088365A1

( en )

2019-11-08

2020-06-10

Method and apparatus for determining neural network

Publications (1)

Publication Number

Publication Date

US20220261659A1

true

US20220261659A1 ( en )

2022-08-18

Family

ID=75748498

Family Applications (1)

Application Number

Title

Priority Date

Filing Date

US17/738,685

Pending

US20220261659A1

( en )

2019-11-08

2022-05-06

Method and Apparatus for Determining Neural Network

Country Status (3)

Country

Link

US

( 1 )

US20220261659A1

( en )

CN

( 1 )

CN112784954B

( en )

WO

( 1 )

WO2021088365A1

( en )

Cited By (4)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20220189612A1

( en )

*

2020-12-14

2022-06-16

Google Llc

Transfer learning between different computer vision tasks

US11651216B2

( en )

*

2021-06-09

2023-05-16

UMNAI Limited

Automatic XAI (autoXAI) with evolutionary NAS techniques and model discovery and refinement

CN116468095A

( en )

*

2023-03-31

2023-07-21

哲库科技(上海)有限公司

Neural network architecture search method and device, device, chip, storage medium

CN117689865A

( en )

*

2022-08-25

2024-03-12

中国科学院计算技术研究所

A target detection method and system based on feature and fusion pattern search

Families Citing this family (14)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

CN113408634B

( en )

*

2021-06-29

2022-07-05

深圳市商汤科技有限公司

Model recommendation method and device, equipment and computer storage medium

CN115714920A

( en )

*

2021-08-20

2023-02-24

哲库科技(上海)有限公司

Method, chip and device for image processing and electronic equipment

US20230064692A1

( en )

*

2021-08-20

2023-03-02

Mediatek Inc.

Network Space Search for Pareto-Efficient Spaces

CN116168277B

( en )

*

2021-11-23

2026-04-21

Oppo广东移动通信有限公司

Image processing methods, apparatus, electronic devices and storage media

CN114332944A

( en )

*

2021-12-31

2022-04-12

泉州装备制造研究所

A pedestrian detection method based on an improved multi-scale residual network

CN116560731A

( en )

*

2022-01-29

2023-08-08

华为技术有限公司

A data processing method and related device

CN114612774A

( en )

*

2022-02-25

2022-06-10

共达地创新技术(深圳)有限公司

Target detection and model construction method thereof, electronic device and storage medium

CN114675975B

( en )

*

2022-05-24

2022-09-30

新华三人工智能科技有限公司

Job scheduling method, device and equipment based on reinforcement learning

CN115099393B

( en )

*

2022-08-22

2023-04-07

荣耀终端有限公司

Neural network structure searching method and related device

CN115937099A

( en )

*

2022-11-08

2023-04-07

温州大学智能锁具研究院

A BGA Solder Joint Segmentation Method Based on UNet Depth Separable Residual Network

CN116168249A

( en )

*

2023-02-28

2023-05-26

哲库科技(上海)有限公司

Search method and device, chip and computer readable storage medium

CN116778279A

( en )

*

2023-07-26

2023-09-19

上海临港绝影智能科技有限公司

Network model determination methods, image detection methods, devices, equipment and media

CN117218409B

( en )

*

2023-08-17

2025-02-07

中国科学院自动化研究所

Image classification network architecture design method, device, equipment and medium

CN117010447B

( en )

*

2023-10-07

2024-01-23

成都理工大学

End-to-end based microarchitecturable search method

Citations (7)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20160174902A1

( en )

*

2013-10-17

2016-06-23

Siemens Aktiengesellschaft

Method and System for Anatomical Object Detection Using Marginal Space Deep Neural Networks

US20190139257A1

( en )

*

2017-08-31

2019-05-09

Nec Laboratories America, Inc.

Online flow guided memory networks for object detection in video

US20190286984A1

( en )

*

2018-03-13

2019-09-19

Google Llc

Neural architecture search by proxy

US20190370648A1

( en )

*

2018-05-29

2019-12-05

Google Llc

Neural architecture search for dense image prediction tasks

US20200104687A1

( en )

*

2018-09-27

2020-04-02

Google Llc

Hybrid neural architecture search

US20200143227A1

( en )

*

2018-11-06

2020-05-07

Google Llc

Neural Architecture Search with Factorized Hierarchical Search Space

US10997503B2

( en )

*

2019-06-20

2021-05-04

Google Llc

Computationally efficient neural network architecture search

Family Cites Families (7)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

WO2018085585A1

( en )

*

2016-11-03

2018-05-11

Nextbio

Systems and methods for outlier significance assessment

JP2019164793A

( en )

*

2018-03-19

2019-09-26

エスアールアイ インターナショナル

Dynamic adaptation of deep neural networks

CN109284820A

( en )

*

2018-10-26

2019-01-29

北京图森未来科技有限公司

A kind of structure search method and device of deep neural network

CN109598290A

( en )

*

2018-11-22

2019-04-09

上海交通大学

A kind of image small target detecting method combined based on hierarchical detection

CN109919304B

( en )

*

2019-03-04

2021-07-02

腾讯科技(深圳)有限公司

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

CN110298437B

( en )

*

2019-06-28

2021-06-01

Oppo广东移动通信有限公司

Segmentation calculation method, device, storage medium and mobile terminal of neural network

GB2587032B

( en )

*

2019-09-16

2022-03-16

Samsung Electronics Co Ltd

Method for designing accelerator hardware

2019

2019-11-08

CN

CN201911090334.1A

patent/CN112784954B/en

active

Active

2020

2020-06-10

WO

PCT/CN2020/095409

patent/WO2021088365A1/en

not_active

Ceased

2022

2022-05-06

US

US17/738,685

patent/US20220261659A1/en

active

Pending

Patent Citations (7)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20160174902A1

( en )

*

2013-10-17

2016-06-23

Siemens Aktiengesellschaft

Method and System for Anatomical Object Detection Using Marginal Space Deep Neural Networks

US20190139257A1

( en )

*

2017-08-31

2019-05-09

Nec Laboratories America, Inc.

Online flow guided memory networks for object detection in video

US20190286984A1

( en )

*

2018-03-13

2019-09-19

Google Llc

Neural architecture search by proxy

US20190370648A1

( en )

*

2018-05-29

2019-12-05

Google Llc

Neural architecture search for dense image prediction tasks

US20200104687A1

( en )

*

2018-09-27

2020-04-02

Google Llc

Hybrid neural architecture search

US20200143227A1

( en )

*

2018-11-06

2020-05-07

Google Llc

Neural Architecture Search with Factorized Hierarchical Search Space

US10997503B2

( en )

*

2019-06-20

2021-05-04

Google Llc

Computationally efficient neural network architecture search

Cited By (6)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20220189612A1

( en )

*

2020-12-14

2022-06-16

Google Llc

Transfer learning between different computer vision tasks

US12272442B2

( en )

*

2020-12-14

2025-04-08

Google Llc

Transfer learning between different computer vision tasks

US11651216B2

( en )

*

2021-06-09

2023-05-16

UMNAI Limited

Automatic XAI (autoXAI) with evolutionary NAS techniques and model discovery and refinement

US12182708B2

( en )

*

2021-06-09

2024-12-31

UMNAI Limited

Automatic XAI (AutoXAI) with evolutionary NAS techniques and model discovery and refinement

CN117689865A

( en )

*

2022-08-25

2024-03-12

中国科学院计算技术研究所

A target detection method and system based on feature and fusion pattern search

CN116468095A

( en )

*

2023-03-31

2023-07-21

哲库科技(上海)有限公司

Neural network architecture search method and device, device, chip, storage medium

Also Published As

Publication number

Publication date

WO2021088365A1

( en )

2021-05-14

CN112784954A

( en )

2021-05-11

CN112784954B

( en )

2025-07-29

Similar Documents

Publication

Publication Date

Title

CN112784954B

( en )

2025-07-29

Method and device for determining neural network

US20220215227A1

( en )

2022-07-07

Neural Architecture Search Method, Image Processing Method And Apparatus, And Storage Medium

US12380687B2

( en )

2025-08-05

Object detection method and apparatus, and computer storage medium

US12406488B2

( en )

2025-09-02

Neural network model training method, image processing method, and apparatus

US20220130142A1

( en )

2022-04-28

Neural architecture search method and image processing method and apparatus

Cortinhal et al.

2020

Salsanext: Fast, uncertainty-aware semantic segmentation of lidar point clouds

US20230028237A1

( en )

2023-01-26

Method and apparatus for training image processing model

EP3732619B1

( en )

2024-07-31

Convolutional neural network-based image processing method and image processing apparatus

US12131520B2

( en )

2024-10-29

Methods, devices, and computer readable storage media for image processing

Žbontar et al.

2016

Stereo matching by training a convolutional neural network to compare image patches

US20250104397A1

( en )

2025-03-27

Image classification method and apparatus

US20220092351A1

( en )

2022-03-24

Image classification method, neural network training method, and apparatus

Fang et al.

2020

Towards good practice for CNN-based monocular depth estimation

EP4198826A1

( en )

2023-06-21

Deep learning training method and apparatus for use in computing device

Guney et al.

2015

Displets: Resolving stereo ambiguities using object knowledge

US9111375B2

( en )

2015-08-18

Evaluation of three-dimensional scenes using two-dimensional representations

EP4170548A1

( en )

2023-04-26

Method and device for constructing neural network

Zhang et al.

2017

Fundamental principles on learning new features for effective dense matching

WO2022083536A1

( en )

2022-04-28

Neural network construction method and apparatus

CN111340195A

( en )

2020-06-26

Network model training method and device, image processing method and storage medium

CN112446888B

( en )

2024-09-13

Image segmentation model processing method and processing device

CN113537249B

( en )

2025-01-07

Image determination method, device, storage medium and electronic device

CN111951154B

( en )

2023-11-21

Picture generation method and device containing background and medium

EP4270247A1

( en )

2023-11-01

Neural network model training method and apparatus, and data processing method and apparatus

CN111507369A

( en )

2020-08-07

Spatial learning method and device for autonomous vehicle, testing method and device

Legal Events

Date

Code

Title

Description

2022-06-08

STPP

Information on status: patent application and granting procedure in general

Free format text : DOCKETED NEW CASE - READY FOR EXAMINATION

2024-12-16

AS

Assignment

Owner name : HUAWEI TECHNOLOGIES CO., LTD., CHINA

Free format text : ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:XU, HANG;LI, ZHENGUO;ZHANG, WEI;AND OTHERS;SIGNING DATES FROM 20221117 TO 20241214;REEL/FRAME:069597/0387

2026-04-18

STPP

Information on status: patent application and granting procedure in general

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

2026-04-28

STPP

Information on status: patent application and granting procedure in general

Free format text : NON FINAL ACTION MAILED

Related documents

Record · ID 607341
Conceptio Open Knowledge Archive — every document is proof-bundled with source, license, and retrieval metadata.