Discriminative pretraining of deep neural networks
First Claim
1. A system for training a context-dependent deep neural network (CD-DNN), comprising:
- a computing device;
a computer program comprising program modules executable by the computing device, comprising,a hidden layer generator program module wherein the computing device is directed by the hidden layer generator program module to,initially generate a single hidden layer neural network comprising an input layer into which training data is input, an output layer from which an output is generated, and a first hidden layer which is interconnected with the input and output layers with randomly initialized weights,whenever a pretrained version of the single hidden layer neural network is produced, discard the current output layer and add a new hidden layer which is interconnected with the first hidden layer and a new output layer with randomly initialized weights to produce a multiple hidden layer deep neural network, andwhenever a pretrained version of a last produced multiple hidden layer deep neural network is produced and is designated as lacking a prescribed number of hidden layers, discard the current output layer and add a new hidden layer which is interconnected with the last previously added hidden layer and a new output layer with randomly initialized weights to produce a new multiple hidden layer deep neural network,a pretraining program module wherein the computing device is directed by the pretraining program module to,access a set of training data entries, each data entry of which has a corresponding label assigned thereto,access the single hidden layer neural network once it is generated,input each data entry of said set one by one into the input layer of the single hidden layer neural network until all the data entries have been input at least once to produce the pretrained version of the single hidden layer neural network, such that after the inputting of each data entry, said weights associated with the first hidden layer are set via an error backpropagation procedure to produce an output from the output layer that matches the label associated with the training data entry;
access each multiple hidden layer deep neural network at the time it is produced,for each multiple hidden layer deep neural network accessed, input each data entry of said set of training data entries one by one into the input layer until all the data entries have been input at least once to produce a pretrained version of the accessed multiple hidden layer deep neural network, such that after the inputting of each data entry, said weights associated with the last added hidden layer and each previously trained hidden layer are set via the error back propagation (BP) procedure to produce an output from the output layer that matches the label associated with the training data entry, anda DNN module wherein the computing device is directed by the DNN module to,each time a pretrained version of a multiple hidden layer DNN is produced, determining whether it includes said prescribed number of hidden layers, andwhenever it is determined the last produced pretrained multiple hidden layer deep neural network does not include the prescribed number of hidden layers, designating it as lacking the prescribed number of hidden layers, andwhenever it is determined the last produced pretrained multiple hidden layer deep neural network does include the prescribed number of hidden layers, designating it to be a pretrained DNN.
2 Assignments
0 Petitions
Accused Products
Abstract
Discriminative pretraining technique embodiments are presented that pretrain the hidden layers of a Deep Neural Network (DNN). In general, a one-hidden-layer neural network is trained first using labels discriminatively with error back-propagation (BP). Then, after discarding an output layer in the previous one-hidden-layer neural network, another randomly initialized hidden layer is added on top of the previously trained hidden layer along with a new output layer that represents the targets for classification or recognition. The resulting multiple-hidden-layer DNN is then discriminatively trained using the same strategy, and so on until the desired number of hidden layers is reached. This produces a pretrained DNN. The discriminative pretraining technique embodiments have the advantage of bringing the DNN layer weights close to a good local optimum, while still leaving them in a range with a high gradient so that they can be fine-tuned effectively.
-
Citations
7 Claims
-
1. A system for training a context-dependent deep neural network (CD-DNN), comprising:
-
a computing device; a computer program comprising program modules executable by the computing device, comprising, a hidden layer generator program module wherein the computing device is directed by the hidden layer generator program module to, initially generate a single hidden layer neural network comprising an input layer into which training data is input, an output layer from which an output is generated, and a first hidden layer which is interconnected with the input and output layers with randomly initialized weights, whenever a pretrained version of the single hidden layer neural network is produced, discard the current output layer and add a new hidden layer which is interconnected with the first hidden layer and a new output layer with randomly initialized weights to produce a multiple hidden layer deep neural network, and whenever a pretrained version of a last produced multiple hidden layer deep neural network is produced and is designated as lacking a prescribed number of hidden layers, discard the current output layer and add a new hidden layer which is interconnected with the last previously added hidden layer and a new output layer with randomly initialized weights to produce a new multiple hidden layer deep neural network, a pretraining program module wherein the computing device is directed by the pretraining program module to, access a set of training data entries, each data entry of which has a corresponding label assigned thereto, access the single hidden layer neural network once it is generated, input each data entry of said set one by one into the input layer of the single hidden layer neural network until all the data entries have been input at least once to produce the pretrained version of the single hidden layer neural network, such that after the inputting of each data entry, said weights associated with the first hidden layer are set via an error backpropagation procedure to produce an output from the output layer that matches the label associated with the training data entry; access each multiple hidden layer deep neural network at the time it is produced, for each multiple hidden layer deep neural network accessed, input each data entry of said set of training data entries one by one into the input layer until all the data entries have been input at least once to produce a pretrained version of the accessed multiple hidden layer deep neural network, such that after the inputting of each data entry, said weights associated with the last added hidden layer and each previously trained hidden layer are set via the error back propagation (BP) procedure to produce an output from the output layer that matches the label associated with the training data entry, and a DNN module wherein the computing device is directed by the DNN module to, each time a pretrained version of a multiple hidden layer DNN is produced, determining whether it includes said prescribed number of hidden layers, and whenever it is determined the last produced pretrained multiple hidden layer deep neural network does not include the prescribed number of hidden layers, designating it as lacking the prescribed number of hidden layers, and whenever it is determined the last produced pretrained multiple hidden layer deep neural network does include the prescribed number of hidden layers, designating it to be a pretrained DNN. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification