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

CN110414669AInactive Publication Date: 2019-11-05SICHUAN UNIV
4 Cites 4 Cited by

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
Patent Text Reader

Abstract

The invention discloses a method for accelerating neural network structure selection, and relates to the technical field of neural networks, the method comprises the following steps of: reading a global.txt file by using a main thread M; judging whether the number of the neural network structures recorded in the file is smaller than t or not; if so, judging whether a neural network structure whichis not recorded in the global.txt file exists line by line or not; if so, querying an idle display card; enabling the main thread M to start a sub-thread; putting an unrecorded neural network structure on an idle display card for training through the sub-thread; after the main thread M is dormant for a certain time, continuously judging whether a neural network structure which is not recorded inthe global.txt file exists or not; and writing the unrecorded neural network structure into the global.txt file after the sub-thread training is completed, and selecting the optimal neural network structure corresponding to the current scene from the updated global.txt file. According to the method, the accurate neural network structure with the optimal performance is obtained, and the cost is relatively low.
Need to check novelty before this filing date? Find Prior Art

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...