Method for accelerating neural network structure selection
A technology of network structure and neural acceleration, applied in the field of neural network, can solve problems such as poor performance and wrong structure of neural network, and achieve the effects of low cost, accelerated selection, and avoiding the number of training times
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Publication Date
- 2019-11-05
- Estimated Expiration
- Not applicable · inactive patent
Abstract
Description
technical field
[0001] The invention relates to the technical field of neural networks, and more specifically relates to a method for accelerating the selection of neural network structures. Background technique
[0002] In today's society, artificial intelligence technology based on deep learning has had an important impact on people's daily life, and it has also brought great convenience. For example, through automatic face comparison on self-service machines, commonly used banking services are no longer needed. Line up at the counter. The main method of today's deep learning technology is the neural network, and in order to achieve the optimal effect of the deep learning technology, it is necessary to design a specific neural network structure for the current task, and then train the network structure based on the data of the current task. Since the structure of the neural network depends on the specific task, it is necessary to design the best corresponding neural netwo...
Examples
Embodiment 1
[0044] This embodiment provides a method for accelerating the selection of neural network structures, in which there are t neural network structures to be selected, which are respectively denoted as C 1 ,C 2 ,...,C t ; The currently usable stand-alone computer is equipped with g graphics cards, denoted as X 1 ,X 2 ,...,X g The number of training data is N, the batch size of training is n, N>n, the number of rounds of training is T, and described method comprises the steps:
[0045] S1: Multi-thread programming is adopted to start a main thread M. In this embodiment, any existing programming language can be selected for programming;
[0046] S2: The main thread M judges whether there is a file named global.txt for recording the performance of each neural network structure under the current folder. If it exists, execute S3; if it does not exist, create a new global.txt file; In the global.txt file, each line records the name of a neural network structure and its correspondi...
Embodiment 2
[0055] This embodiment is further optimized on the basis of Embodiment 1, specifically:
[0056] In the S6, the child thread will C i put in X j training, including the following steps:
[0057] S6.1: Initialize C randomly i The weight of , the initialization method adopted is the currently commonly used method, such as the Xavier method;
[0058] S6.2: Randomly select n training data from N training data, for C i Train and update C using gradient descent i After weighting, proceed to the next training and repeat the training T*N / n times;
[0059] S6.3: After the training is completed, use the verification data to C i Carry out performance verification, get the verification result, if the verification result is 50%, then C i The performance is "C i =50%", in this embodiment, if the verification data is provided in the current data, it will be used directly, otherwise a part of the data is randomly selected from the training data as the verification data in advance, usi...