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>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>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>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 & 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'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., & 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., & 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., ... & 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., ... & 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., & 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 & 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'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) =