ConceptioArchiveGoogle Patents
Google Patentsopen access

Adaptive Search Method and Apparatus for Neural Network — Huawei Technologies Co., Ltd. (US20220351019A1)

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

ABSTRACT

Abstract

An adaptive search method includes: receiving a search condition set comprising target hardware platform information, network structure information of a source neural network, and one or more evaluation metrics; performing a training process on a to-be-trained super network based on a training dataset to obtain a trained super network, by extending a network structure of the source neural network; and performing a subnet search process on the trained super network based on the one or more evaluation metrics to obtain network structure information of a target neural network, which represents the target neural network and an evaluation result of the target neural network running on a target hardware platform is better than an evaluation result of the source neural network running on the target hardware platform.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Patent Application No. PCT/CN2021/072294, filed on Jan. 15, 2021, which claims priority to Chinese Patent Application No. 202010044288.8, filed on Jan. 15, 2020. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

This disclosure relates to the field of neural networks, and in particular, to an adaptive search method and apparatus for a neural network.

BACKGROUND

In recent years, a neural network has developed rapidly in computer vision applications. As a correctness rate of the neural network gradually increases, a network structure of the neural network becomes increasingly complex, and a requirement for a computing resource of a device is increasingly high. Consequently, a running speed of the device is low, and time overheads are high.

In a neural network search method in the conventional technology, a neural network model is generally searched for based on floating-point operations per second (FLOPS). The FLOPS is usually used to estimate running efficiency (or a model overhead) of a hardware platform. When the neural network model is searched for based on the FLOPS, a same target neural network may be found for different hardware platforms. The same target neural network on the different hardware platforms has same FLOPS (for example, addition and multiplication calculation amounts of the target neural network on the different hardware platforms). However, it does not mean that lower FLOPS indicates shorter inference time of the neural network model. For example, there are three existing hardware platforms: a hardware platform 1 (central processing unit (CPU) 1 ), a hardware platform 2 (CPU 2 ), and a hardware platform 3 (graphics processing unit (GPU)). In the conventional technology, when a neural network is searched for based on the FLOPS, a same target neural network may be found. FLOPS of the target neural network on the three hardware platforms is low. However, in an actual running process, because structures of the three hardware platforms are different, the target neural network may have better running effect on the hardware platform 1 , an average running effect on the hardware platform 2 , and a poorer running effect on the hardware platform 3 .

Alternatively, when the neural network model is searched for based on the FLOPS, a target neural network may be found for a hardware platform. FLOPS of the target neural network on the hardware platform is low (for example, addition and multiplication calculation amounts of the target neural network are small). However, actually, running efficiency of the target neural network on the hardware platform is low (in other words, model overheads are high).

It can be learned that how to find, for a specific hardware platform, a target neural network that efficiently runs on the hardware platform has become an urgent problem to be resolved.

SUMMARY

According to an adaptive search method for a neural network provided in this disclosure, a target neural network adaptive to a target hardware platform can be found on a premise of high search flexibility.

To achieve the foregoing objective, the following technical solutions are used in this disclosure.

According to a first aspect, this disclosure provides an adaptive search method for a neural network. The method may include receiving a search condition set, where the search condition set includes target hardware platform information, network structure information of a source neural network, and one or more evaluation metrics, and the network structure information of the source neural network is used to represent the source neural network, performing a training process on a to-be-trained super network based on a training dataset, to obtain a trained super network, where the to-be-trained super network is obtained by extending a network structure of the source neural network, and performing a subnet search process on the trained super network based on the one or more evaluation metrics, to obtain network structure information of a target neural network, where the network structure information of the target neural network is used to represent the target neural network, and an evaluation result of the target neural network running on a target hardware platform is better than an evaluation result of the source neural network running on the target hardware platform.

There may be one or more target neural networks found in the trained super network. For example, a neural network with an optimal evaluation result is used as the target neural network based on the target hardware platform information and the one or more evaluation metrics. Alternatively, a plurality of better neural networks that are sorted first based on sorted evaluation results are used as the target neural network.

The target hardware platform includes a platform configured to carry a neural network. The obtained target hardware platform information may include, for example, attribute information (for example, a GPU, a host CPU, and a digital signal processor (DSP)), a model, and a manufacturer of the hardware platform. In this way, different hardware platforms have different implementations and optimization statuses for different operators and/or operator sets, to implement adaptive search for a neural network.

The evaluation metric may also be referred to as a search condition, a constraint, or the like. The evaluation metric is used to ensure that a finally found neural network meets a requirement. For example, precision and time overheads of the found neural network need to meet requirements.

The network structure information of the neural network may include, for example, information about operators and/or operator sets included in the neural network, an arrangement manner of the operators and/or the operator sets (for example, a neural network with a tree structure or a neural network with a mesh structure), level information, and parameters of the operators and/or the operator sets.

In this way, in comparison with an existing FLOPS-based neural network search method, in the adaptive search method for a neural network provided in this disclosure, a neural network is searched for in the trained super network based on the search condition set. The super network is obtained by extending the network structure of the source neural network. Therefore, the super network can cover or support different implementations of different hardware platforms for operators/channels. The search condition set may be flexibly set, and the search condition set includes at least the target hardware platform information. Therefore, according to the method provided in this disclosure, the target neural network for the target hardware platform can be obtained through adaptive search on the premise of high search flexibility by considering different operators/channel overheads caused by the different implementations of the different hardware platforms for the operators/channels. A running effect of the target neural network on the target hardware platform is better than a running effect of the source neural network on the target hardware platform. For example, it is assumed that an operator A in the source neural network is that a 1×1 convolution algorithm requires 10 million multiplications, and an operator B is that a 3×3 convolution algorithm requires 15 million operations. When the source neural network runs on the target hardware platform, the operator A requires 2 microseconds (μs), and the operator B requires 3 μs. When the operator A in the target neural network runs on the target hardware platform, the operator A requires 2 μs, and an operator B′ (for example, an operator obtained after the operator B is optimized) requires only 1.5 μs.

In a possible implementation, the one or more evaluation metrics include any one or more of a precision evaluation metric of a neural network model, a time overhead evaluation metric of the neural network model, a storage space evaluation metric of the neural network model, a power consumption evaluation metric of the neural network model, a utilization evaluation metric of a tensor calculation unit of the neural network model, and a memory read/write speed evaluation metric of the neural network model. The precision evaluation metric of the neural network model includes that precision of the target neural network is not less than a precision threshold. The time overhead evaluation metric of the neural network model includes that a time overhead of the target neural network is not greater than a time overhead threshold. The storage space evaluation metric of the neural network model includes that storage space occupied by the target neural network is not greater than a storage space threshold. The power consumption evaluation metric of the neural network model includes that power consumption of the target neural network is not greater than a power consumption threshold. The utilization evaluation metric of the tensor calculation unit of the neural network model includes that utilization of the tensor calculation unit of the target neural network is not less than a utilization threshold of the tensor calculation unit. The memory read/write speed evaluation metric of the neural network model includes that a memory read/write speed of the target neural network is not less than a memory read/write speed threshold.

In this way, a combination mode of the one or more evaluation metrics may be set based on factors such as different user requirements, different application scenarios, or different tasks. For example, a combination mode of evaluation metrics is determined based on a hardware metric of a hardware platform or different tasks of a neural network. For example, two evaluation metrics may be configured: the precision evaluation metric and the time overhead evaluation metric. In this case, both the precision threshold and the time overhead threshold need to be set. For example, in some scenarios, recognition results of a large quantity of images need to be obtained in a short time, but a precision requirement for image recognition is not high. In this case, a smaller precision threshold and a smaller time overhead threshold may be set, so that a recognition speed of a found target neural network is faster than that of the source neural network.

In a possible implementation, performing a subnet search process on the trained super network based on the one or more evaluation metrics, to obtain network structure information of a target neural network includes determining one or more to-be-evaluated candidate subnets in a target search range from the trained super network by using a first knowledge base, and performing the subnet search process on the one or more to-be-evaluated candidate subnets in the target search range based on the one or more evaluation metrics, to obtain the network structure information of the target neural network.

The first knowledge base may include, for example, expert a priori knowledge. The first knowledge base includes a network receptive field constraint that is of a neural network and that is determined based on expert experience, an optimization status of an operator and/or an operator set for a specific hardware platform, and the like. For example, the optimization status may include (7×7 convolution operator+pooling) input to a specific hardware platform is optimized, so that although a calculation amount of (7×7 convolution operator+pooling) is greater than a calculation amount of (3×3 convolution operator+pooling) or (5×5 convolution operator+pooling), a time overhead of (7×7 convolution operator+pooling) on a current hardware platform is less than a time overhead of (3×3 convolution operator+pooling) or (5×5 convolution operator+pooling). In this way, it may be directly determined, based on the first knowledge base, that a neural network including lower time overheads (7×7 convolution operator+pooling) is selected as a candidate subnet. This narrows the target search range and increases neural network search efficiency.

In this way, the target search range may be determined in the super network by using the first knowledge base and based on the target hardware platform information, and the subnet search process is performed in the target search range. This helps narrow a search range of search subnets, reduce a search time, and increase the neural network search efficiency.

In a possible implementation, performing a subnet search process on the trained super network based on the one or more evaluation metrics, to obtain network structure information of a target neural network includes obtaining information about a correspondence between the target hardware platform, network structures of M neural networks, N evaluation metrics, and P evaluation results, where M, N, and P are all positive integers, and the network structures of the M neural networks are included in a network structure of the trained super network, determining, based on the one or more evaluation metrics and the correspondence information, an evaluation result or evaluation results of one or more to-be-evaluated candidate subnets included in the trained super network, and performing the search process on the trained super network based on the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets, to obtain the network structure information of the target neural network.

The M neural networks are subnets extracted from the trained super network, namely, to-be-evaluated candidate subnets. It is clear that, the network structures of the M neural networks are included in the network structure of the trained super network. When one candidate subnet runs on the target hardware platform, the candidate subnet corresponds to N evaluation results based on the N evaluation metrics. When M candidate subnets run on the target hardware platform, the M candidate subnets correspond to M×N evaluation results, namely, P evaluation results, based on the N evaluation metrics. Then, the one or more candidate subnets are determined as the target neural network based on the P evaluation results.

In this way, in a search process, when any one or more of the one or more evaluation metrics are selected, an evaluation result of a candidate subnet may be determined based on a correspondence, and then the network structure information of the target neural network may be determined.

For example, on a target hardware platform 1 , an evaluation metric is precision, an evaluation result of a candidate subnet 1 is A, and an evaluation result of a candidate subnet 2 is B, where A is better than B. If there is one target neural network, the <figure-callout id="1" label="candidate subnet" filenames="US20220351019A1-20221103-D000

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Patent Application No. PCT/CN2021/072294, filed on Jan. 15, 2021, which claims priority to Chinese Patent Application No. 202010044288.8, filed on Jan. 15, 2020. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

This disclosure relates to the field of neural networks, and in particular, to an adaptive search method and apparatus for a neural network.

BACKGROUND

In recent years, a neural network has developed rapidly in computer vision applications. As a correctness rate of the neural network gradually increases, a network structure of the neural network becomes increasingly complex, and a requirement for a computing resource of a device is increasingly high. Consequently, a running speed of the device is low, and time overheads are high.

In a neural network search method in the conventional technology, a neural network model is generally searched for based on floating-point operations per second (FLOPS). The FLOPS is usually used to estimate running efficiency (or a model overhead) of a hardware platform. When the neural network model is searched for based on the FLOPS, a same target neural network may be found for different hardware platforms. The same target neural network on the different hardware platforms has same FLOPS (for example, addition and multiplication calculation amounts of the target neural network on the different hardware platforms). However, it does not mean that lower FLOPS indicates shorter inference time of the neural network model. For example, there are three existing hardware platforms: a hardware platform 1 (central processing unit (CPU) 1 ), a hardware platform 2 (CPU 2 ), and a hardware platform 3 (graphics processing unit (GPU)). In the conventional technology, when a neural network is searched for based on the FLOPS, a same target neural network may be found. FLOPS of the target neural network on the three hardware platforms is low. However, in an actual running process, because structures of the three hardware platforms are different, the target neural network may have better running effect on the hardware platform 1 , an average running effect on the hardware platform 2 , and a poorer running effect on the hardware platform 3 .

Alternatively, when the neural network model is searched for based on the FLOPS, a target neural network may be found for a hardware platform. FLOPS of the target neural network on the hardware platform is low (for example, addition and multiplication calculation amounts of the target neural network are small). However, actually, running efficiency of the target neural network on the hardware platform is low (in other words, model overheads are high).

It can be learned that how to find, for a specific hardware platform, a target neural network that efficiently runs on the hardware platform has become an urgent problem to be resolved.

SUMMARY

According to an adaptive search method for a neural network provided in this disclosure, a target neural network adaptive to a target hardware platform can be found on a premise of high search flexibility.

To achieve the foregoing objective, the following technical solutions are used in this disclosure.

According to a first aspect, this disclosure provides an adaptive search method for a neural network. The method may include receiving a search condition set, where the search condition set includes target hardware platform information, network structure information of a source neural network, and one or more evaluation metrics, and the network structure information of the source neural network is used to represent the source neural network, performing a training process on a to-be-trained super network based on a training dataset, to obtain a trained super network, where the to-be-trained super network is obtained by extending a network structure of the source neural network, and performing a subnet search process on the trained super network based on the one or more evaluation metrics, to obtain network structure information of a target neural network, where the network structure information of the target neural network is used to represent the target neural network, and an evaluation result of the target neural network running on a target hardware platform is better than an evaluation result of the source neural network running on the target hardware platform.

There may be one or more target neural networks found in the trained super network. For example, a neural network with an optimal evaluation result is used as the target neural network based on the target hardware platform information and the one or more evaluation metrics. Alternatively, a plurality of better neural networks that are sorted first based on sorted evaluation results are used as the target neural network.

The target hardware platform includes a platform configured to carry a neural network. The obtained target hardware platform information may include, for example, attribute information (for example, a GPU, a host CPU, and a digital signal processor (DSP)), a model, and a manufacturer of the hardware platform. In this way, different hardware platforms have different implementations and optimization statuses for different operators and/or operator sets, to implement adaptive search for a neural network.

The evaluation metric may also be referred to as a search condition, a constraint, or the like. The evaluation metric is used to ensure that a finally found neural network meets a requirement. For example, precision and time overheads of the found neural network need to meet requirements.

The network structure information of the neural network may include, for example, information about operators and/or operator sets included in the neural network, an arrangement manner of the operators and/or the operator sets (for example, a neural network with a tree structure or a neural network with a mesh structure), level information, and parameters of the operators and/or the operator sets.

In this way, in comparison with an existing FLOPS-based neural network search method, in the adaptive search method for a neural network provided in this disclosure, a neural network is searched for in the trained super network based on the search condition set. The super network is obtained by extending the network structure of the source neural network. Therefore, the super network can cover or support different implementations of different hardware platforms for operators/channels. The search condition set may be flexibly set, and the search condition set includes at least the target hardware platform information. Therefore, according to the method provided in this disclosure, the target neural network for the target hardware platform can be obtained through adaptive search on the premise of high search flexibility by considering different operators/channel overheads caused by the different implementations of the different hardware platforms for the operators/channels. A running effect of the target neural network on the target hardware platform is better than a running effect of the source neural network on the target hardware platform. For example, it is assumed that an operator A in the source neural network is that a 1×1 convolution algorithm requires 10 million multiplications, and an operator B is that a 3×3 convolution algorithm requires 15 million operations. When the source neural network runs on the target hardware platform, the operator A requires 2 microseconds (μs), and the operator B requires 3 μs. When the operator A in the target neural network runs on the target hardware platform, the operator A requires 2 μs, and an operator B′ (for example, an operator obtained after the operator B is optimized) requires only 1.5 μs.

In a possible implementation, the one or more evaluation metrics include any one or more of a precision evaluation metric of a neural network model, a time overhead evaluation metric of the neural network model, a storage space evaluation metric of the neural network model, a power consumption evaluation metric of the neural network model, a utilization evaluation metric of a tensor calculation unit of the neural network model, and a memory read/write speed evaluation metric of the neural network model. The precision evaluation metric of the neural network model includes that precision of the target neural network is not less than a precision threshold. The time overhead evaluation metric of the neural network model includes that a time overhead of the target neural network is not greater than a time overhead threshold. The storage space evaluation metric of the neural network model includes that storage space occupied by the target neural network is not greater than a storage space threshold. The power consumption evaluation metric of the neural network model includes that power consumption of the target neural network is not greater than a power consumption threshold. The utilization evaluation metric of the tensor calculation unit of the neural network model includes that utilization of the tensor calculation unit of the target neural network is not less than a utilization threshold of the tensor calculation unit. The memory read/write speed evaluation metric of the neural network model includes that a memory read/write speed of the target neural network is not less than a memory read/write speed threshold.

In this way, a combination mode of the one or more evaluation metrics may be set based on factors such as different user requirements, different application scenarios, or different tasks. For example, a combination mode of evaluation metrics is determined based on a hardware metric of a hardware platform or different tasks of a neural network. For example, two evaluation metrics may be configured: the precision evaluation metric and the time overhead evaluation metric. In this case, both the precision threshold and the time overhead threshold need to be set. For example, in some scenarios, recognition results of a large quantity of images need to be obtained in a short time, but a precision requirement for image recognition is not high. In this case, a smaller precision threshold and a smaller time overhead threshold may be set, so that a recognition speed of a found target neural network is faster than that of the source neural network.

In a possible implementation, performing a subnet search process on the trained super network based on the one or more evaluation metrics, to obtain network structure information of a target neural network includes determining one or more to-be-evaluated candidate subnets in a target search range from the trained super network by using a first knowledge base, and performing the subnet search process on the one or more to-be-evaluated candidate subnets in the target search range based on the one or more evaluation metrics, to obtain the network structure information of the target neural network.

The first knowledge base may include, for example, expert a priori knowledge. The first knowledge base includes a network receptive field constraint that is of a neural network and that is determined based on expert experience, an optimization status of an operator and/or an operator set for a specific hardware platform, and the like. For example, the optimization status may include (7×7 convolution operator+pooling) input to a specific hardware platform is optimized, so that although a calculation amount of (7×7 convolution operator+pooling) is greater than a calculation amount of (3×3 convolution operator+pooling) or (5×5 convolution operator+pooling), a time overhead of (7×7 convolution operator+pooling) on a current hardware platform is less than a time overhead of (3×3 convolution operator+pooling) or (5×5 convolution operator+pooling). In this way, it may be directly determined, based on the first knowledge base, that a neural network including lower time overheads (7×7 convolution operator+pooling) is selected as a candidate subnet. This narrows the target search range and increases neural network search efficiency.

In this way, the target search range may be determined in the super network by using the first knowledge base and based on the target hardware platform information, and the subnet search process is performed in the target search range. This helps narrow a search range of search subnets, reduce a search time, and increase the neural network search efficiency.

In a possible implementation, performing a subnet search process on the trained super network based on the one or more evaluation metrics, to obtain network structure information of a target neural network includes obtaining information about a correspondence between the target hardware platform, network structures of M neural networks, N evaluation metrics, and P evaluation results, where M, N, and P are all positive integers, and the network structures of the M neural networks are included in a network structure of the trained super network, determining, based on the one or more evaluation metrics and the correspondence information, an evaluation result or evaluation results of one or more to-be-evaluated candidate subnets included in the trained super network, and performing the search process on the trained super network based on the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets, to obtain the network structure information of the target neural network.

The M neural networks are subnets extracted from the trained super network, namely, to-be-evaluated candidate subnets. It is clear that, the network structures of the M neural networks are included in the network structure of the trained super network. When one candidate subnet runs on the target hardware platform, the candidate subnet corresponds to N evaluation results based on the N evaluation metrics. When M candidate subnets run on the target hardware platform, the M candidate subnets correspond to M×N evaluation results, namely, P evaluation results, based on the N evaluation metrics. Then, the one or more candidate subnets are determined as the target neural network based on the P evaluation results.

In this way, in a search process, when any one or more of the one or more evaluation metrics are selected, an evaluation result of a candidate subnet may be determined based on a correspondence, and then the network structure information of the target neural network may be determined.

For example, on a target hardware platform 1 , an evaluation metric is precision, an evaluation result of a candidate subnet 1 is A, and an evaluation result of a candidate subnet 2 is B, where A is better than B. If there is one target neural network, the candidate subnet 1 is determined as the target neural network based on one or more evaluation metrics and correspondence information.

In a possible implementation, the one or more evaluation metrics include the time overhead evaluation metric of the neural network model, and the time overhead evaluation metric of the neural network model includes that the time overhead of the target neural network is not greater than the time overhead threshold, and correspondingly, performing a subnet search process on the trained super network based on the one or more evaluation metrics includes performing, based on the time overhead evaluation metric of the neural network model, subnet evaluation on one or more candidate subnets included in the trained super network, to obtain one or more target neural networks whose time overheads of the neural network model are less than the time overhead threshold.

For example, a neural network runs on a hardware platform, the hardware platform is configured to process an image, and an original processing speed is processing 100 images per second. The image processing speed of the hardware platform needs to be increased. For example, to enable an image processing speed of an optimized neural network on the hardware platform to reach 150 images per second, a time overhead evaluation metric may be set, and a time overhead threshold is used to ensure that an image processing speed of a found target neural network can meet a requirement.

In a possible implementation, the method further includes constructing the to-be-trained super network in a horizontal extension mode and/or a vertical extension mode based on the network structure of the source neural network, an extension rule in a second knowledge base, and the target hardware platform information.

The second knowledge base may be the same as or different from the first knowledge base. The extension rule in the second knowledge base includes that operator sets (namely, first operator sets below) in the source neural network and replaceable operator sets (namely, derived second operator sets below) corresponding to the operator sets have different correspondences based on different hardware platforms. It may be understood that an operator set in the source neural network and a corresponding replaceable operator set have a same or similar function. The correspondence includes a correspondence between an operator set in the source neural network based on the target hardware platform and a replaceable operator set. In addition, the correspondence is established based on experimental data, expert a priori knowledge, and a design status of the target hardware platform. In this way, the extension rule may be used to limit a network scale of the super network. For example, if an operator set in the source neural network has a poor running effect on the target hardware platform, the operator set may be replaced (not retained) based on the second knowledge base, to reduce a network scale of a generated super network.

The horizontal extension mode includes extending, based on the network structure information of the source neural network, an operator set included at one level of the source neural network to one or more operator sets included at one level of the super network. The vertical extension mode includes vertically extending, based on the network structure information of the source neural network, one level in the source neural network to a plurality of levels, and then correspondingly obtaining, based on operator sets included in the plurality of levels obtained after vertical extension, a plurality of operator sets included in a plurality of levels of the super network.

A function of an obtained operator set included in the to-be-trained super network is the same as that of a corresponding operator set in the source neural network, so that the target neural network found in the super network can execute a task of the source neural network, for example, an image classification task in image recognition.

In a possible implementation, third operator sets in the to-be-trained super network include first operator sets and/or derived second operator sets, where the first operator sets are included in the source neural network.

Each third operator set in the super network may correspond to one level of the source neural network, and a second operator set may be derived from a first operator set at each level based on the knowledge base. In this case, the third operator set includes the first operator set and the derived second operator set. Alternatively, it is determined, based on the knowledge base, that a derived second operator set at a level may replace the first operator set, so that the corresponding third operator set includes only the derived second operator set. Certainly, it may alternatively be determined, based on the knowledge base, that no derived second operator set exists at a level, and the corresponding third operator set includes only the first operator set.

In a possible implementation, determining, based on the one or more evaluation metrics and the correspondence information, an evaluation result or evaluation results of one or more to-be-evaluated candidate subnets included in the trained super network includes determining, based on the one or more evaluation metrics and the correspondence information, evaluation results corresponding to first operator sets and/or derived second operator sets in third operator sets in the trained super network, where the first operator sets are included in the source neural network, and obtaining the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets based on a proportional relationship between the N evaluation metrics and based on the evaluation results corresponding to the first operator sets and/or the derived second operator sets in the third operator sets.

The proportional relationship may be determined based on a target task executed by the target hardware platform, an attribute of the target hardware platform, or the like. It may be understood that the proportional relationship between the N evaluation metrics reflects relative importance between the N evaluation metrics. It is clear that, an evaluation effect of a found target neural network on the target hardware platform is better based on an evaluation metric with a higher proportion. For example, evaluation metrics include precision and a time overhead. The target hardware platform is a hardware platform configured to process a suburban video surveillance image. A surveillance image collected per unit time includes a small amount of information, and high image processing precision needs to be ensured. However, a low processing speed is required. Therefore, a high precision proportion may be set in the proportional relationship. In this way, a candidate subnet with better running performance on the target hardware platform may be obtained based on the proportional relationship and an evaluation result, so that a better target neural network may be found.

In a possible implementation, obtaining the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets based on a proportional relationship between the N evaluation metrics and based on the evaluation results corresponding to the first operator sets and/or the derived second operator sets in the third operator sets includes receiving r proportional relationships between the N evaluation metrics, and performing pre-search for each proportional relationship between the N evaluation metrics, where r is a positive integer, in one pre-search process, setting weights of the evaluation results of the first operator sets and/or the derived second operator sets, and retraining the trained super network based on the N evaluation metrics and the proportional relationship between the N evaluation metrics, and in the training process, adjusting the weights corresponding to the evaluation results of the first operator sets and the derived second operator sets, determining a to-be-evaluated candidate subnet and an evaluation result of the to-be-evaluated candidate subnet based on adjusted weights corresponding to the evaluation results of the first operator sets and the derived second operator sets, and determining the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets based on r pre-search processes.

The pre-search process is to narrow a target search range. A part of candidate subnets is first determined based on different proportional relationships, and then the determined part of candidate subnets is evaluated based on the one or more evaluation metrics, to determine the network structure information of the target neural network.

In the pre-search process, a weight proportion is adjusted to determine a first operator set or a derived second operator set that is in each third operator set and that is relatively applicable to the target hardware platform. In this way, in each pre-search process, based on a current proportional relationship, a candidate subnet with optimal performance and an evaluation result of the candidate subnet may be determined. Then, a plurality of candidate subnets may be obtained based on a plurality of proportional relationships. In this way, the target neural network may be determined from the plurality of candidate subnets, to determine the network structure information of the target neural network.

In a possible implementation, the N evaluation metrics include the precision evaluation metric of the neural network model and the time overhead evaluation metric of the neural network model, and correspondingly, the proportional relationship between the N evaluation metrics includes a proportional relationship between the precision evaluation metric and the time overhead evaluation metric.

For example, a user inputs a first proportion and a second proportion between the precision evaluation metric and the time overhead evaluation metric. In this way, it can be ensured that the precision of the target neural network is not less than precision of the source neural network, or is not greatly different from precision of the source neural network. In addition, time overheads are reduced while the precision of the target neural network is ensured, in other words, a running speed of the target neural network on the target hardware platform is increased, thereby improving working efficiency.

In a possible implementation, performing the search process on the trained super network based on the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets, to obtain the network structure information of the target neural network further includes sorting the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets, to obtain K first target candidate subnets corresponding to first K evaluation results, obtaining S second target candidate subnets obtained after an n th round of hybridization and/or mutation based on the trained super network and the K first target candidate subnets, where n is a preset quantity of screening times, n≥1, K and S are positive integers, and S&gt;K, obtaining evaluation results of the S second target candidate subnets based on the one or more evaluation metrics and the correspondence information, and sorting the evaluation results, to obtain K second target candidate subnets corresponding to first K evaluation results, and obtaining network structure information of one or more target neural networks from K×(n+1) target candidate subnets.

In this disclosure, the hybridization means that a part of operator sets included at corresponding levels in a part of the K first target candidate subnets are exchanged, to obtain the second target candidate subnets. The mutation means that a part of operator sets included in a part of the K first target candidate subnets are replaced with a part of operator sets at corresponding levels in the trained super network, to obtain the second target candidate subnets.

For example, after (n+1) rounds of iterative training, to be specific, after n rounds of hybridization and/or mutation, the K×(n+1) target candidate subnets are obtained. The K×(n+1) target candidate subnets may be sorted again based on the one or more evaluation metrics, to obtain the network structure information of the one or more target neural networks.

In this way, the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets is/are first sorted to obtain a part of better candidate subnets, so that a target search range is narrowed. Then, more candidate subnets are generated based on the part of better candidate subnets by using a hybridization and/or mutation method. In an iterative process, a part of better candidate subnets in each iterative process are obtained, and one or more target subnets that meet the one or more evaluation metrics and have better performance are determined from the candidate subnets.

In a possible implementation, the source neural network is a neural network running on a source hardware platform, or the target neural network is a neural network running on the target hardware platform, and the source hardware platform is different from the target hardware platform.

The source hardware platform is a hardware platform different from the target hardware platform, and the source hardware platform and the target hardware platform include processors with different attributes, or processors with different models, or processors with a same attribute but different models. The source hardware platform is replaced with the target hardware platform. The target neural network that needs to be used for the target hardware platform is searched for based on the source neural network running on the source hardware platform.

For example, the source neural network is a neural network 1 running on the GPU, and now the GPU needs to be switched to a chip A. In this case, the target neural network needs to be searched for based on the neural network 1 and the chip A. A running effect of the target neural network on the chip A is better than a running effect of the neural network 1 on the chip A.

In a possible implementation, the source neural network and the target neural network are neural networks running on the target hardware platform in different time domains.

For example, the source neural network is a neural network 1 running on the GPU, and now an image processing speed of the GPU needs to be increased. In this case, the neural network 1 needs to be optimized, and a found target neural network is an optimized neural network 1 . The neural network 1 and the target neural network sequentially run, or are carried on the GPU (the target hardware platform).

In a possible implementation, the method further includes constructing the target neural network based on the network structure information of the target neural network, and performing a training process on the target neural network based on a second training dataset, to obtain a trained target neural network.

The second training dataset may be a training dataset that is the same as or different from the first training dataset, and is used to participate in a training process of a neural network. The network structure information of the target neural network is found by using the foregoing method, so that the target neural network can be constructed. The target neural network is trained by using the training dataset, and parameter information in the target neural network is adjusted, to obtain a neural network that can run on the target hardware platform to execute the target task.

In a possible implementation, the trained target neural network runs on the target hardware platform, to perform a target detection task and an image classification task.

In this way, the obtained trained target neural network can execute the target task on the target hardware platform. For example, a traffic light recognition task, a pedestrian and vehicle detection task, and the like can be executed. In addition, the trained target neural network has a better running effect on the target hardware platform. For example, a time overhead of executing the traffic light recognition task on the target hardware platform by the source neural network is 0.2 milliseconds (ms), and a time overhead of executing the traffic light recognition task on the target hardware platform by the trained target neural network is 0.1 ms. The time overhead is reduced by 50% while it is ensured that precision basically remains unchanged.

According to a second aspect, this disclosure provides an adaptive search apparatus for a neural network. The apparatus may include a receiving unit, a training unit, and a search unit. The receiving unit is configured to receive a search condition set, where the search condition set includes target hardware platform information, network structure information of a source neural network, and one or more evaluation metrics, and the network structure information of the source neural network is used to represent the source neural network. The training unit is configured to perform a training process on a to-be-trained super network based on a training dataset, to obtain a trained super network, where the to-be-trained super network is obtained by extending a network structure of the source neural network. The search unit is configured to perform a subnet search process on the trained super network based on the one or more evaluation metrics, to obtain network structure information of a target neural network, where the network structure information of the target neural network is used to represent the target neural network, and an evaluation result of the target neural network running on a target hardware platform is better than an evaluation result of the source neural network running on a source hardware platform.

In a possible implementation, the one or more evaluation metrics include any one or more of a precision evaluation metric of a neural network model, a time overhead evaluation metric of the neural network model, a storage space evaluation metric of the neural network model, a power consumption evaluation metric of the neural network model, a utilization evaluation metric of a tensor calculation unit of the neural network model, and a memory read/write speed evaluation metric of the neural network model. The precision evaluation metric of the neural network model includes that precision of the target neural network is not less than a precision threshold. The time overhead evaluation metric of the neural network model includes that a time overhead of the target neural network is not greater than a time overhead threshold. The storage space evaluation metric of the neural network model includes that storage space occupied by the target neural network is not greater than a storage space threshold. The power consumption evaluation metric of the neural network model includes that power consumption of the target neural network is not greater than a power consumption threshold. The utilization evaluation metric of the tensor calculation unit of the neural network model includes that utilization of the tensor calculation unit of the target neural network is not less than a utilization threshold of the tensor calculation unit. The memory read/write speed evaluation metric of the neural network model includes that a memory read/write speed of the target neural network is not less than a memory read/write speed threshold.

In a possible implementation, the search unit is further configured to determine one or more to-be-evaluated candidate subnets in a target search range from the trained super network by using a first knowledge base, and perform the subnet search process on the one or more to-be-evaluated candidate subnets in the target search range based on the one or more evaluation metrics, to obtain the network structure information of the target neural network.

In a possible implementation, the search unit is further configured to obtain information about a correspondence between the target hardware platform, network structures of M neural networks, N evaluation metrics, and P evaluation results, where M, N, and P are all positive integers, and the network structures of the M neural networks are included in a network structure of the trained super network, determine, based on the one or more evaluation metrics and the correspondence information, an evaluation result or evaluation results of one or more to-be-evaluated candidate subnets included in the trained super network, and perform a search process on the trained super network based on the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets, to obtain the network structure information of the target neural network.

In a possible implementation, the one or more evaluation metrics include the time overhead evaluation metric of the neural network model, and the time overhead evaluation metric of the neural network model includes that the time overhead of the target neural network is not greater than the time overhead threshold. Correspondingly, the search unit is further configured to perform, based on the time overhead evaluation metric of the neural network model, subnet evaluation on one or more candidate subnets included in the trained super network, to obtain one or more target neural networks whose time overheads of the neural network model are less than the time overhead threshold.

In a possible implementation, the apparatus further includes a construction unit, configured to construct the to-be-trained super network in a horizontal extension mode and/or a vertical extension mode based on the network structure of the source neural network, an extension rule in a second knowledge base, and the target hardware platform information.

In a possible implementation, third operator sets in the to-be-trained super network include first operator sets and/or derived second operator sets, where the first operator sets are included in the source neural network.

In a possible implementation, the search unit is further configured to determine, based on the one or more evaluation metrics and the correspondence information, evaluation results corresponding to first operator sets and/or derived second operator sets in third operator sets in the trained super network, where the first operator sets are included in the source neural network, obtain the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets based on a proportional relationship between the N evaluation metrics and based on the evaluation results corresponding to the first operator sets and/or the derived second operator sets in the third operator sets, and perform a search process on the trained super network based on the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets, to obtain the network structure information of the target neural network.

In a possible implementation, the search unit is further configured to receive r proportional relationships between the N evaluation metrics, and perform pre-search for each proportional relationship between the N evaluation metrics, where r is a positive integer, in one pre-search process, set weights of evaluation results of first operator sets and/or derived second operator sets, and retrain the trained super network based on the N evaluation metrics and the proportional relationship between the N evaluation metrics, in a training process, adjust the weights corresponding to the evaluation results of the first operator sets and the derived second operator sets, determine a to-be-evaluated candidate subnet and an evaluation result of the to-be-evaluated candidate subnet based on adjusted weights corresponding to the evaluation results of the first operator sets and the derived second operator sets, and determine the evaluation result or the evaluation results of the one or more to-be-evaluated candidate subnets based on r pre-search processes.

In a possible implementation, the N evaluation metrics include the precision evaluation metric of the neural network model and the time overhead evaluation metric of the neural network model, and correspondingly, the proportional relationship between the N evaluation metrics includes a proportional relationship between the precision evaluation metric and the time overhead evaluation metric.

In a possible implementation, the search unit is further configured to sort the evaluation results of the one or more to-be-evaluated candidate subnets, to obtain K first target candidate subnets corresponding to first K evaluation results, obtain S second target candidate subnets obtained after an n th round of hybridization and/or mutation based on the trained super network and the K first target candidate subnets, where n is a preset quantity of screening times, n≥1, K and S are positive integers, and S&gt;K, obtain and sort evaluation results of the S second target candidate subnets based on the one or more evaluation metrics and the correspondence information, to obtain K second target candidate subnets corresponding to first K evaluation results, and obtain network structure information of one or more target neural networks from K×(n+1) target candidate subnets.

In a possible implementation, the source neural network is a neural network running on a source hardware platform, or the target neural network is a neural network running on the target hardware platform, and the source hardware platform is different from the target hardware platform.

In a possible implementation, the source neural network and the target neural network are neural networks running on the target hardware platform in different time domains.

In a possible implementation, the construction unit is further configured to construct the target neural network based on the network structure information of the target neural network. The training unit is further configured to perform a training process on the target neural network based on a second training dataset, to obtain a trained target neural network.

In a possible implementation, the trained target neural network runs on the target hardware platform, to perform a target detection task and an image classification task.

According to a third aspect, this disclosure provides a server. The server may include one or more processors, a memory, and one or more computer programs. The one or more computer programs are stored in the memory, and the one or more computer programs include instructions. When the instructions are executed by the server, the server is enabled to perform the adaptive search method for a neural network according to any one of the first aspect and the possible implementations of the first aspect.

According to a fourth aspect, this disclosure provides an apparatus. The apparatus has a function of implementing the adaptive search method for a neural network according to any one of the first aspect and the possible implementations of the first aspect. The function may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or the software includes one or more modules corresponding to the function.

According to a fifth aspect, this disclosure provides a computer-readable storage medium, including computer instructions. When the computer instructions are run on a server, the server is enabled to perform the adaptive search method for a neural network according to any one of the first aspect and the possible implementations of the first aspect.

According to a sixth aspect, this disclosure provides a computer program product. When the computer program product runs on a server, the server is enabled to perform the adaptive search method for a neural network according to any one of the first aspect and the possible implementations of the first aspect.

According to a seventh aspect, a circuit system is provided, where the circuit system includes a processing circuit, and the processing circuit is configured to perform the adaptive search method for a neural network according to any one of the first aspect and the possible implementations of the first aspect.

According to an eighth aspect, an embodiment of this disclosure provides a communication system, including at least one server and at least one terminal device. The at least one server performs the adaptive search method for a neural network according to any one of the first aspect and the possible implementations of the first aspect. The at least one terminal device sends a search condition set to the at least one server, where the search condition set includes target hardware platform information, network structure information of a source neural network, and one or more evaluation metrics, and the network structure information of the source neural network is used to represent the source neural network. The at least one terminal device receives a trained target neural network sent by the at least one server.

In a possible implementation, the at least one terminal device is further configured to determine whether to send the trained target neural network to user equipment including a target hardware platform.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram of an application scenario of an adaptive search method for a neural network according to an embodiment of this disclosure;

FIG. 2 is a schematic diagram of a system architecture according to an embodiment of this disclosure;

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

FIG. 4 is a schematic flowchart of an adaptive search method for a neural network according to an embodiment of this disclosure;

FIG. 5A and FIG. 5B are schematic diagrams of a network structure of a source neural network according to an embodiment of this disclosure;

FIG. 6A and FIG. 6B are schematic diagrams of a network structure of a source neural network according to an embodiment of this disclosure;

FIG. 7A , FIG. 7B , and FIG. 7C are schematic diagrams of a super network construction process according to an embodiment of this disclosure;

FIG. 8A and FIG. 8B are schematic diagrams of a super network construction process according to an embodiment of this disclosure;

FIG. 9 is a schematic diagram of a network structure of a super network according to an embodiment of this disclosure;

FIG. 10 is a schematic flowchart of an adaptive search method for a neural network according to an embodiment of this disclosure;

FIG. 11A , FIG. 11B , and FIG. 11C are schematic diagrams of a process of obtaining a to-be-evaluated candidate subnet according to an embodiment of this disclosure;

FIG. 12A , FIG. 12B , and FIG. 12C are schematic diagrams of a process of obtaining a target candidate subnet according to an embodiment of this disclosure;

FIG. 13 is a schematic flowchart of an adaptive search method for a neural network according to an embodiment of this disclosure;

FIG. 14 is a schematic diagram of a structure of an apparatus according to an embodiment of this disclosure; and

FIG. 15 is a schematic diagram of a hardware structure of an apparatus according to an embodiment of this disclosure.

DESCRIPTION OF EMBODIMENTS

The following describes in detail an adaptive

CLAIMS

Claims ( 20 )

1 . A method for a neural network and comprising:

receiving a search condition set comprising target hardware platform information, network structure information of a source neural network representing the source neural network, and one or more evaluation metrics; performing, based on the one or more evaluation metrics, a subnet search process on a trained super network to obtain a target neural network, wherein the trained super network is obtained by performing a training process on a to-be-trained super network, the to-be-trained super network is obtained by extending a first network structure of the source neural network; and outputting the target neural network, wherein a first evaluation result of the target neural network running on a target hardware platform is better than a second evaluation result of the source neural network running on the target hardware platform.

2 . The method of claim 1 , wherein the one or more evaluation metrics comprise any one or more of:

a precision evaluation metric of a neural network model indicating that a precision of the target neural network is not less than a precision threshold; a time overhead evaluation metric of the neural network model indicating that a time overhead of the target neural network is not greater than a time overhead threshold; a storage space evaluation metric of the neural network model indicating that a storage space occupied by the target neural network is not greater than a storage space threshold; a power consumption evaluation metric of the neural network model indicating that a power consumption of the target neural network is not greater than a power consumption threshold; a utilization evaluation metric of a tensor calculation part of the neural network model indicating that a utilization of the tensor calculation part is not less than a utilization threshold of the tensor calculation part; or a memory read/write speed evaluation metric of the neural network model indicating that a memory read/write speed of the target neural network is not greater than a memory read/write speed threshold.

3 . The method of claim 1 , comprises further comprising:

obtaining, from the trained super network using a knowledge base, one or more first to-be-evaluated candidate subnets in a target search range; and further performing, based on the one or more evaluation metrics, the subnet search process on the one or more first to-be-evaluated candidate subnets to obtain the target neural network.

4 . The method of claim 1 , further comprising:

obtaining, based on the one or more evaluation metrics and correspondence information, a third evaluation result or fourth evaluation results of one or more first to-be-evaluated candidate subnets, wherein the correspondence information comprises a correspondence between the target hardware platform, second network structures of M neural networks, N evaluation metrics, and P evaluation results, wherein M, N, and P are positive integers, and wherein the second network structures are comprised in a third network structure of the trained super network; and further performing, based on the third evaluation result or the fourth evaluation results, the subnet search process on the trained super network to obtain the target neural network.

5 . The method of claim 1 , wherein the one or more evaluation metrics comprise a time overhead evaluation metric of a neural network model, wherein the time overhead evaluation metric indicates that a time overhead of the target neural network is not greater than a time overhead threshold, and wherein the method further comprises performing, based on the time overhead evaluation metric, a subnet evaluation on one or more candidate subnets comprised in the trained super network to obtain the target neural network.

6 . The method of claim 1 , further comprising obtaining, in at least one of a horizontal extension mode or a vertical extension mode and based on the first network structure, an extension rule in a second knowledge base, and the target hardware platform information, the to-be-trained super network.

7 . The method of claim 1 , wherein the source neural network comprises first operator sets, and wherein the to-be-trained super network comprise third operator sets comprising at least one of the first operator sets or derived second operator sets.

8 . The method of claim 4 , wherein the source neural network comprises first operator sets, wherein the trained super network comprises third operator sets comprising at least one of the first operator sets or derived second operator sets, and wherein the method further comprises:

obtaining, based on the one or more evaluation metrics and the correspondence information, fifth evaluation results corresponding to at least one of the first operator sets or the derived second operator sets; and obtaining, based on a first proportional relationship among the N evaluation metrics and the fifth evaluation results, the third evaluation result or the fourth evaluation results.

9 . The method of claim 8 , further comprising:

determining, based on r pre-search processes, the third evaluation result or the fourth evaluation results, wherein r is a positive integer, and wherein each of the r pre-search processes is configured to:

performing, based on weights of the fifth evaluation results, the N evaluation metrics, and the first proportional relationship, a retraining process on the trained super network;

adjust, during the retraining process, the weights to obtain adjusted weights; and

determine, based on the adjusted weights, a second to-be-evaluated candidate subnet and a sixth evaluation result of the second to-be-evaluated candidate subnet.

10 . The method of claim 8 , wherein the N evaluation metrics comprise a precision evaluation metric of a neural network model and a time overhead evaluation metric of the neural network model, and wherein the first proportional relationship comprises a second proportional relationship between the precision evaluation metric and the time overhead evaluation metric.

11 . The method of claim 4 , further comprising:

sorting the third evaluation result or the fourth evaluation results to obtain K first target candidate subnets corresponding to first K evaluation results; obtaining S second target candidate subnets after an n th round of at least one of hybridization or mutation based on the trained super network and the K first target candidate subnets, wherein n is a preset quantity of screening times, wherein n≥1, wherein K and S are positive integers, and wherein S&gt;K; obtaining, based on the one or more evaluation metrics and the correspondence information, fifth evaluation results of the S second target candidate subnets; sorting the fifth evaluation results to obtain K second target candidate subnets corresponding to the first K evaluation results; and obtaining, from K×(n+1) target candidate subnets, the target neural network.

12 . The method of claim 1 , further comprising:

running, on a source hardware platform, the source neural network; or running, on the target hardware platform, the target neural network, wherein the source hardware platform is different from the target hardware platform.

13 . The method of claim 1 , further comprising running, on the target hardware platform in different time domains, the source neural network and the target neural network.

14 . The method of claim 1 , further comprising:

performing a training process on the target neural network to obtain a trained target neural network; and sending, to a device comprising the target hardware platform, the trained target neural network.

15 . The method of claim 14 , further comprising running the trained target neural network on the target hardware platform, to perform at least one of a target detection task or an image classification task.

16 . A server, comprising:

a processor; and a non-transitory computer-readable storage medium coupled to the processor and configured to store instructions, wherein when executed by the processor, the instructions cause the server to:

receive a search condition set, comprising target hardware platform information, network structure information of a source neural network representing the source neural network, and one or more evaluation metrics;

perform, based on the one or more evaluation metrics, a subnet search process on a trained super network to obtain a target neural network, wherein the trained super network is obtained by performing a training process on a to-be-trained super network, the to-be-trained super network is obtained by extending a first network structure of the source neural network; and

output the target neural network, wherein a first evaluation result of the target neural network running on a target hardware platform is better than a second evaluation result of the source neural network running on the target hardware platform.

17 . The server of claim 16 , wherein the one or more evaluation metrics comprise one or more of:

a precision evaluation metric of a neural network model indicating that a precision of the target neural network is not less than a precision threshold; a time overhead evaluation metric of the neural network model indicating that a time overhead of the target neural network is not greater than a time overhead threshold; a storage a storage space evaluation metric of the neural network model indicating that a storage space occupied by the target neural network is not greater than a storage space threshold; a power consumption evaluation metric of the neural network model indicating that a power consumption of the target neural network is not greater than a power consumption threshold; a utilization evaluation metric of a tensor calculation part of the neural network model indicating that a utilization of the tensor calculation part is not less than a utilization threshold of the tensor calculation part; or a memory read/write speed evaluation metric of the neural network model indicating that a memory read/write speed of the target neural network is not greater than a memory read/write speed threshold.

18 . The server of claim 16 , wherein when executed by the processor, the instructions further cause the server to:

obtain, from the trained super network using a knowledge base, one or more first to-be-evaluated candidate subnets in a target search range; and further perform, based on the one or more evaluation metrics, the subnet search process on the one or more first to-be-evaluated candidate subnets to obtain the target neural network.

19 . A computer program product comprising computer-executable instructions that are stored on a non-transitory computer-readable storage medium and that, executed by a processor, cause an apparatus to:

receive a search condition set comprising target hardware platform information, network structure information of a source neural network representing the source neural network, and one or more evaluation metrics; perform, based on the one or more evaluation metrics, a subnet search process on a trained super network to obtain a target neural network, wherein the trained super network is obtained by performing a training process on a to-be-trained super network, the to-be-trained super network is obtained by extending a first network structure of the source neural; and output the target neural network, wherein a first evaluation result of the target neural network running on a target hardware platform is better than a second evaluation result of the source neural network running on the target hardware platform.

20 . The computer program product of claim 19 , wherein the computer-executable instructions further cause the apparatus to:

obtain, based on the one or more evaluation metrics and correspondence information, a third evaluation result or fourth evaluation results of one or more first to-be-evaluated candidate subnets, wherein the correspondence information comprises a correspondence between the target hardware platform, second network structures of M neural networks, N evaluation metrics, and P evaluation results, wherein M, N, and P are positive integers, and wherein the second network structures are comprised in a third network structure of the trained super network; and further perform, based on the third evaluation result or the fourth evaluation results, the subnet search process on the trained super network to obtain the target neural network.

US17/864,521

2020-01-15

2022-07-14

Adaptive Search Method and Apparatus for Neural Network

Pending

US20220351019A1

( en )

Applications Claiming Priority (3)

Application Number

Priority Date

Filing Date

Title

CN202010044288.8A

CN113128678B

( en )

2020-01-15

2020-01-15

Adaptive search method and device for neural network

CN202010044288.8

2020-01-15

PCT/CN2021/072294

WO2021143883A1

( en )

2020-01-15

2021-01-15

Adaptive search method and apparatus for neural network

Related Parent Applications (1)

Application Number

Title

Priority Date

Filing Date

PCT/CN2021/072294

Continuation

WO2021143883A1

( en )

2020-01-15

2021-01-15

Adaptive search method and apparatus for neural network

Publications (1)

Publication Number

Publication Date

US20220351019A1

true

US20220351019A1 ( en )

2022-11-03

Family

ID=76772137

Family Applications (1)

Application Number

Title

Priority Date

Filing Date

US17/864,521

Pending

US20220351019A1

( en )

2020-01-15

2022-07-14

Adaptive Search Method and Apparatus for Neural Network

Country Status (6)

Country

Link

US

( 1 )

US20220351019A1

( en )

EP

( 1 )

EP4080416A4

( en )

JP

( 1 )

JP7366274B2

( en )

KR

( 1 )

KR20220127878A

( en )

CN

( 1 )

CN113128678B

( en )

WO

( 1 )

WO2021143883A1

( en )

Cited By (8)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

CN116136798A

( en )

*

2023-03-17

2023-05-19

东南大学苏州研究院

Systolic array-based high-throughput object detection accelerator

WO2023248166A1

( en )

*

2022-06-22

2023-12-28

Dragerwerk AG &amp; Co. KGaA

Physiological characteristic waveform classification with efficient deep network search

US20240086167A1

( en )

*

2022-09-13

2024-03-14

Filippo Adamo

Method and system for providing functions for a customer&#39;s terminal device

CN117743859A

( en )

*

2024-02-21

2024-03-22

北京航空航天大学

Training method, using method and medium of industrial analysis model

WO2024127462A1

( en )

*

2022-12-12

2024-06-20

Nec Corporation

Automatic machine learning development system, automatic machine learning development method and program

GB2627250A

( en )

*

2023-02-17

2024-08-21

Bae Systems Plc

Energy efficient machine learning models

US12288382B2

( en )

2022-06-17

2025-04-29

Wistron Corporation

Machine learning method for continual learning and electronic device

US12401861B2

( en )

*

2020-06-25

2025-08-26

Deepx Co., Ltd.

Mobile artificial neural network apparatus

Families Citing this family (22)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

CN113128678B

( en )

*

2020-01-15

2025-05-09

华为技术有限公司

Adaptive search method and device for neural network

CN115409168A

( en )

*

2021-05-29

2022-11-29

华为云计算技术有限公司

Neural network optimization method and device

CN113988258B

( en )

*

2021-10-21

2026-03-20

海宁奕斯伟计算技术有限公司

A hardware-aware method and apparatus for searching differentiable neural network structures

CN114037058B

( en )

*

2021-11-05

2024-05-17

北京百度网讯科技有限公司

Pre-training model generation method and device, electronic equipment and storage medium

CN116090538A

( en )

*

2021-11-05

2023-05-09

华为云计算技术有限公司

Model weight acquisition method and related system

CN114037057B

( en )

*

2021-11-05

2024-03-15

北京百度网讯科技有限公司

Pre-training model generation method, device, electronic equipment and storage medium

CN116306799B

( en )

*

2021-12-20

2026-03-27

Oppo广东移动通信有限公司

Search methods and search devices

CN114298272B

( en )

*

2021-12-23

2024-09-10

安谋科技(中国)有限公司

Neural network model construction method, image processing method, device and medium

CN114492737B

( en )

2021-12-31

2022-12-09

北京百度网讯科技有限公司

Data processing method, data processing device, electronic equipment, storage medium and program product

CN116933857A

( en )

*

2022-03-31

2023-10-24

北京字跳网络技术有限公司

Pruning processing method, device, equipment and medium for neural network

CN114492769B

( en )

*

2022-04-11

2022-08-12

飞腾信息技术有限公司

Data processing method, related equipment and system

CN114861905A

( en )

*

2022-04-12

2022-08-05

中山大学

Sandglass network-oriented collaborative search method

CN114819088A

( en )

*

2022-04-29

2022-07-29

北京地平线信息技术有限公司

Network structure search method, device, readable storage medium and electronic device

CN117236387B

( en )

*

2022-06-06

2025-12-02

Oppo广东移动通信有限公司

Hypernetwork training methods, devices, equipment, media and program products

CN115034368B

( en )

*

2022-06-10

2023-09-29

小米汽车科技有限公司

Vehicle model training methods, devices, electronic equipment, storage media and chips

CN115017377B

( en )

*

2022-08-05

2022-11-08

深圳比特微电子科技有限公司

Method, device and computing equipment for searching target model

CN115618099A

( en )

*

2022-09-09

2023-01-17

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

Method, device and electronic equipment for neural network architecture search

CN115564022B

( en )

*

2022-09-26

2026-04-24

支付宝(杭州)数字服务技术有限公司

Prediction method and device for flexible adjustment of computing power

WO2025231867A1

( en )

*

2024-05-10

2025-11-13

Nvidia Corporation

Adjusting neural network architectures

CN118396069A

( en )

*

2024-07-01

2024-07-26

星凡星启(成都)科技有限公司

A method for automatically generating operator codes for deep learning models

CN120411587B

( en )

*

2025-03-19

2026-02-17

中国人民解放军海军工程大学

Anti-challenge sample attack pooling method and system for deep neural network image classification task

CN120163196B

( en )

*

2025-05-19

2025-08-29

中国科学技术大学苏州高等研究院

Joint search method and device of neural network and hardware

Citations (4)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20190180186A1

( en )

*

2017-12-13

2019-06-13

Sentient Technologies (Barbados) Limited

Evolutionary Architectures For Evolution of Deep Neural Networks

US20190251439A1

( en )

*

2016-10-28

2019-08-15

Google Llc

Neural architecture search

US20190370648A1

( en )

*

2018-05-29

2019-12-05

Google Llc

Neural architecture search for dense image prediction tasks

US20200143227A1

( en )

*

2018-11-06

2020-05-07

Google Llc

Neural Architecture Search with Factorized Hierarchical Search Space

Family Cites Families (12)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

JP6042274B2

( en )

*

2013-06-28

2016-12-14

株式会社デンソーアイティーラボラトリ

Neural network optimization method, neural network optimization apparatus and program

US11188820B2

( en )

*

2017-09-08

2021-11-30

International Business Machines Corporation

Deep neural network performance analysis on shared memory accelerator systems

CN108229657A

( en )

*

2017-12-25

2018-06-29

杭州健培科技有限公司

A kind of deep neural network training and optimization algorithm based on evolution algorithmic

CN109993300B

( en )

*

2017-12-29

2021-01-29

华为技术有限公司

Training method and device of neural network model

CN108985386A

( en )

*

2018-08-07

2018-12-11

北京旷视科技有限公司

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

CN109919313B

( en )

*

2019-01-31

2021-06-08

华为技术有限公司

Gradient transmission method and distributed training system

CN109919315B

( en )

*

2019-03-13

2021-10-01

科大讯飞股份有限公司

A neural network forward inference method, device, equipment and storage medium

CN110135510B

( en )

*

2019-05-22

2023-08-01

电子科技大学中山学院

Dynamic domain self-adaption method, device and computer readable storage medium

CN110363810B

( en )

*

2019-06-14

2021-07-16

北京百度网讯科技有限公司

Method, apparatus, device and computer storage medium for establishing image detection model

CN110533179A

( en )

*

2019-07-15

2019-12-03

北京地平线机器人技术研发有限公司

Network structure searching method and device, readable storage medium storing program for executing, electronic equipment

CN110659721B

( en )

*

2019-08-02

2022-07-22

杭州未名信科科技有限公司

A method and system for constructing a target detection network

CN113128678B

( en )

*

2020-01-15

2025-05-09

华为技术有限公司

Adaptive search method and device for neural network

2020

2020-01-15

CN

CN202010044288.8A

patent/CN113128678B/en

active

Active

2021

2021-01-15

JP

JP2022543064A

patent/JP7366274B2/en

active

Active

2021-01-15

WO

PCT/CN2021/072294

patent/WO2021143883A1/en

not_active

Ceased

2021-01-15

EP

EP21740665.1A

patent/EP4080416A4/en

active

Pending

2021-01-15

KR

KR1020227027826A

patent/KR20220127878A/en

active

Pending

2022

2022-07-14

US

US17/864,521

patent/US20220351019A1/en

active

Pending

Patent Citations (4)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US20190251439A1

( en )

*

2016-10-28

2019-08-15

Google Llc

Neural architecture search

US20190180186A1

( en )

*

2017-12-13

2019-06-13

Sentient Technologies (Barbados) Limited

Evolutionary Architectures For Evolution of Deep Neural Networks

US20190370648A1

( en )

*

2018-05-29

2019-12-05

Google Llc

Neural architecture search for dense image prediction tasks

US20200143227A1

( en )

*

2018-11-06

2020-05-07

Google Llc

Neural Architecture Search with Factorized Hierarchical Search Space

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party

Title

Cai, H., Zhu, L., &amp; Han, S. (2019, February). Proxylessnas: Direct neural architecture search on target task and hardware. arXiv preprint arXiv:1812.00332. (Year: 2019)

*

Lu, Q., Jiang, W., Xu, X., Shi, Y., &amp; Hu, J. (2019, October). On neural architecture search for resource-constrained hardware platforms. arXiv preprint arXiv:1911.00105. (Year: 2019)

*

Wu, B., Dai, X., Zhang, P., Wang, Y., Sun, F., Wu, Y., ... &amp; Keutzer, K. (2019, May). Fbnet: Hardware-aware efficient convnet design via differentiable neural architecture search. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 10734-10742). (Year: 2019)

*

Yang, T. J., Howard, A., Chen, B., Zhang, X., Go, A., Sandler, M., ... &amp; Adam, H. (2018, September). Netadapt: Platform-aware neural network adaptation for mobile applications. In Proceedings of the European conference on computer vision (ECCV) (pp. 285-300). (Year: 2018)

*

Zhang, L. L., Yang, Y., Jiang, Y., Zhu, W., &amp; Liu, Y. (2019, December). Integrating Hardware Diversity with Neural Architecture Search for Efficient Convolutional Neural Networks. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (pp. 692-693). (Year: 2019)

*

Cited By (8)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US12401861B2

( en )

*

2020-06-25

2025-08-26

Deepx Co., Ltd.

Mobile artificial neural network apparatus

US12288382B2

( en )

2022-06-17

2025-04-29

Wistron Corporation

Machine learning method for continual learning and electronic device

WO2023248166A1

( en )

*

2022-06-22

2023-12-28

Dragerwerk AG &amp; Co. KGaA

Physiological characteristic waveform classification with efficient deep network search

US20240086167A1

( en )

*

2022-09-13

2024-03-14

Filippo Adamo

Method and system for providing functions for a customer&#39;s terminal device

WO2024127462A1

( en )

*

2022-12-12

2024-06-20

Nec Corporation

Automatic machine learning development system, automatic machine learning development method and program

GB2627250A

( en )

*

2023-02-17

2024-08-21

Bae Systems Plc

Energy efficient machine learning models

CN116136798A

( en )

*

2023-03-17

2023-05-19

东南大学苏州研究院

Systolic array-based high-throughput object detection accelerator

CN117743859A

( en )

*

2024-02-21

2024-03-22

北京航空航天大学

Training method, using method and medium of industrial analysis model

Also Published As

Publication number

Publication date

JP7366274B2

( en )

2023-10-20

KR20220127878A

( en )

2022-09-20

EP4080416A1

( en )

2022-10-26

WO2021143883A1

( en )

2021-07-22

CN113128678A

( en )

2021-07-16

CA3164908A1

( en )

2021-07-22

CN113128678B

( en )

2025-05-09

EP4080416A4

( en )

2023-02-01

JP2023510566A

( en )

2023-03-14

Similar Documents

Publication

Publication Date

Title

EP4080416A1

( en )

2022-10-26

Adaptive search method and apparatus for neural network

US12182676B2

( en )

2024-12-31

Concurrent optimization of machine learning model performance

US20220375213A1

( en )

2022-11-24

Processing Apparatus and Method and Storage Medium

US12555362B2

( en )

2026-02-17

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

US20230082597A1

( en )

2023-03-16

Neural Network Construction Method and System

WO2021088365A1

( en )

2021-05-14

Method and apparatus for determining neural network

CN113902116B

( en )

2025-04-15

A batch processing optimization method and system for deep learning model reasoning

CN111382868A

( en )

2020-07-07

Neural network structure search method and neural network structure search device

CN113505883A

( en )

2021-10-15

Neural network training method and device

EP4586144A1

( en )

2025-07-16

Data processing method and related apparatus

KR20180048930A

( en )

2018-05-10

Enforced scarcity for classification

WO2023217127A1

( en )

2023-11-16

Causation determination method and related device

US20240078428A1

( en )

2024-03-07

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

CN113869496B

( en )

2026-03-13

A method for acquiring neural networks, a data processing method, and related equipment.

CN113051130A

( en )

2021-06-29

Mobile cloud load prediction method and system of LSTM network combined with attention mechanism

CN107403188A

( en )

2017-11-28

A kind of quality evaluation method and device

CN113822144B

( en )

2025-08-22

Target detection method, device, computer equipment and storage medium

WO2022252694A1

( en )

2022-12-08

Neural network optimization method and apparatus

WO2025067211A1

( en )

2025-04-03

Data processing method and apparatus

CN118013132B

( en )

2024-12-27

Information prediction method based on artificial intelligence, related equipment and storage medium

US20250103920A1

( en )

2025-03-27

Decision Making Using Integrated Machine Learning Models and Knowledge Graphs

CN120633743A

( en )

2025-09-12

A lightweight method for UAV target detection model based on pruning algorithm

CN115374926A

( en )

2022-11-22

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

CA3164908C

( en )

2026-01-27

Adaptive search method and apparatus for neural network

CN115412401B

( en )

2024-04-19

Method and device for training virtual network embedding model and virtual network embedding

Legal Events

Date

Code

Title

Description

2022-08-19

STPP

Information on status: patent application and granting procedure in general

Free format text : DOCKETED NEW CASE - READY FOR EXAMINATION

2023-06-26

AS

Assignment

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

Free format text : ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, MINQI;DENG, CHUANYUN;HU, XIANGYU;AND OTHERS;SIGNING DATES FROM 20220929 TO 20220930;REEL/FRAME:064055/0393

2025-07-11

STPP

Information on status: patent application and granting procedure in general

Free format text : NON FINAL ACTION MAILED

2025-09-18

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

2025-11-05

STPP

Information on status: patent application and granting procedure in general

Free format text : FINAL REJECTION COUNTED, NOT YET MAILED

2025-11-06

STPP

Information on status: patent application and granting procedure in general

Free format text : FINAL REJECTION MAILED

2026-01-18

STPP

Information on status: patent application and granting procedure in general

Free format text : RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

2026-01-21

STPP

Information on status: patent application and granting procedure in general

Free format text : ADVISORY ACTION COUNTED, NOT YET MAILED

2026-01-26

STPP

Information on status: patent application and granting procedure in general

Free format text : ADVISORY ACTION MAILED

2026-05-11

STCB

Information on status: application discontinuation

Free format text : ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

if (window.help && window.help.service) { helpApi = window.help.service.Lazy.create(0, {apiKey: 'AIzaSyDTEI_0tLX4varJ7bwK8aT-eOI5qr3BmyI', locale: 'en-US'}); window.requestedSurveys = new Set(); window.requestSurvey = function(triggerId) { if (window.requestedSurveys.has(triggerId)) { return; } window.requestedSurveys.add(triggerId); helpApi.requestSurvey({ triggerId: triggerId, enableTestingMode: false, callback: (requestSurveyCallbackParam) =

Related documents

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