IP Library › Granted Patent US 10,366,329
Granted Patent B2
US 10,366,329 · App. 15/222,870 · Granted Jul 30, 2019

System and method for addressing overfitting in a neural network

Inventors: Geoffrey E. Hinton (Toronto, CA); Alexander Krizhevsky (San Jose, CA); Ilya Sutskever (San Francisco, CA); Nitish Srivastava (Toronto, CA)
Assignee: Google LLC
G06N3/084G06K9/4628G06N3/0454G06N3/0472G06N3/082
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,366,329
App. No.
15/222,870
Filed
Jul 28, 2016
Granted
Jul 30, 2019
Kind
B2
Art Unit
2124
USPC
706/21
Abstract

A system for training a neural network. A switch is linked to feature detectors in at least some of the layers of the neural network. For each training case, the switch randomly selectively disables each of the feature detectors in accordance with a preconfigured probability. The weights from each training case are then normalized for applying the neural network to test data.

Claims (46)

1. A system comprising one or more computers and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations for training a neural network with reduced overfitting and in reduced time, the neural network having a plurality of layers, each of the layers including one or more feature detectors each having a corresponding set of weights, and the operations comprising:

obtaining, by one or more computers, a plurality of training cases; and

training, by the one or more computers, the neural network on the plurality of training cases with reduced overfitting and reduced co-adaptation of feature detectors by reducing reliance of feature detectors in the neural network on other feature detectors in the neural network, comprising:

for a first training case of the plurality of training cases:

determining a first set of one or more feature detectors to disable during processing of the first training case,

disabling the first set of one or more feature detectors in accordance with the determining,

processing the first training case using the neural network with the first set of one or more feature detectors disabled to generate a predicted output for the first training case, thereby reducing overfitting and reducing co-adaptation of feature detectors by reducing reliance on the first set of one or more feature detectors by other feature detectors in the neural network; and

after processing the first training case using the neural network with the first set of one or more feature detectors disabled and for a second training case of the plurality of training cases:

determining a second, different set of one or more feature detectors to disable during processing of the second training case,

disabling the second, different set of one or more feature detectors in accordance with the determining,

processing the second training case with at least one of the feature detectors in the first set of feature detectors enabled and the second, different set of feature detectors disabled to generate a predicted output for the second training case, thereby reducing overfitting and co-adaptation of feature detectors by reducing reliance on the second set of one or more feature detectors by other feature detectors in the neural network.

2. The system of claim 1 , wherein a subset of the feature detectors are associated with respective probabilities of being disabled during processing of each of the training cases, and wherein determining the first set of one or more feature detectors to disable during processing of the first training case comprises:

determining whether to disable each of the feature detectors in the subset based on the respective probability associated with the feature detector.

3. The system of claim 2 , wherein training the neural network further comprises:

adjusting the weights of each of the feature detectors in the neural network to generate trained values for each weight in the set of weights corresponding to the feature detector.

4. The system of claim 3 , the operations further comprising:

normalizing the trained weights for each of the feature detectors in the subset, wherein normalizing the trained weights comprises multiplying the trained values of the weights for each of the one or more feature detectors in the subset by a respective probability of the feature detector not being disabled during processing of each of the training cases.

5. The system of claim 2 , wherein the subset includes feature detectors in a first layer of the plurality of layers and feature detectors in one or more second layers of the plurality of layers, wherein the feature detectors in the first layer are associated with a first probability and wherein the feature detectors in the one or more second layers are associated with a second, different probability.

6. The system of claim 5 , wherein the first layer is an input layer of the neural network and the one or more second layers are hidden layers of the neural network.

7. The system of claim 5 , wherein the first layer and the one or more second layers are hidden layers of the neural network.

8. The system of claim 1 , wherein determining the first set of one or more feature detectors to disable during processing of the first training case comprises:

determining to disable the same feature detectors that were disabled during processing of a preceding training case.

9. The system of claim 1 , wherein training the neural network comprises training the neural network to perform speech recognition.

10. The system of claim 1 , wherein training the neural network comprises training the neural network to perform image classification.

11. The system of claim 1 , wherein training the neural network comprises training the neural network to perform object recognition.

12. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations for reducing overfitting during training of a neural network, the operations comprising:

obtaining, by one or more computers, a plurality of training cases; and

training, by the one or more computers, the neural network on the plurality of training cases with reduced overfitting and reduced co-adaptation of feature detectors by reducing reliance of feature detectors in the neural network on other feature detectors in the neural network, comprising:

for a first training case of the plurality of training cases:

determining a first set of one or more feature detectors to disable during processing of the first training case,

disabling the first set of one or more feature detectors in accordance with the determining,

processing the first training case using the neural network with the first set of one or more feature detectors disabled to generate a predicted output for the first training case, thereby reducing overfitting and co-adaptation of feature detectors by reducing reliance on the first set of one or more feature detectors by other feature detectors in the neural network; and

after processing the first training case using the neural network with the first set of one or more feature detectors disabled and for a second training case of the plurality of training cases:

determining a second, different set of one or more feature detectors to disable during processing of the second training case,

disabling the second, different set of one or more feature detectors in accordance with the determining,

processing the second training case with at least one of the feature detectors in the first set of feature detectors enabled and the second, different set of feature detectors disabled to generate a predicted output for the second training case, thereby reducing overfitting and co-adaptation of feature detectors by reducing reliance on the second set of one or more feature detectors by other feature detectors in the neural network.

13. The non-transitory computer storage medium of claim 12 , wherein training the neural network comprises training the neural network to perform speech recognition.

14. The non-transitory computer storage medium of claim 12 , wherein training the neural network comprises training the neural network to perform image classification.

15. The non-transitory computer storage medium of claim 12 , wherein training the neural network comprises training the neural network to perform object recognition.

16. The non-transitory computer storage medium of claim 12 , wherein a subset of the feature detectors are associated with respective probabilities of being disabled during processing of each of the training cases, and wherein determining the first set of one or more feature detectors to disable during processing of the first training case comprises:

determining whether to disable each of the feature detectors in the subset based on the respective probability associated with the feature detector.

17. The non-transitory computer storage medium of claim 16 , wherein training the neural network further comprises:

adjusting the weights of each of the feature detectors in the neural network to generate trained values for each weight in the set of weights corresponding to the feature detector.

18. The non-transitory computer storage medium of claim 17 , the operations further comprising:

normalizing the trained weights for each of the feature detectors in the subset, wherein normalizing the trained weights comprises multiplying the trained values of the weights for each of the one or more feature detectors in the subset by a respective probability of the feature detector not being disabled during processing of each of the training cases.

19. The non-transitory computer storage medium of claim 16 , wherein the subset includes feature detectors in a first layer of the plurality of layers and feature detectors in one or more second layers of the plurality of layers, wherein the feature detectors in the first layer are associated with a first probability and wherein the feature detectors in the one or more second layers are associated with a second, different probability.

Assignments (5)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: SRIVASTAVA, NITISH
To: DNNRESEARCH INC.
Reel/Frame 039291/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: DNNRESEARCH INC.
To: GOOGLE INC.
Reel/Frame 039291/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: KRIZHEVSKY, ALEXANDER; HINTON, GEOFFREY; SUTSKEVER, ILYA
To: GOOGLE INC.
Reel/Frame 039291/0880 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2016
From: THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
To: DNNRESEARCH INC.
Reel/Frame 039286/0511 →
Continuity (3)
Continuation 14015768 · Aug 30, 2013
Provisional Application 61745711 · Dec 24, 2012
Related Publication 20160335540A1 · Nov 17, 2016
Cited By (1)
US 12,518,145