IP Library › Granted Patent US 11,501,168
Granted Patent B2
US 11,501,168 · App. 16/273,041 · Granted Nov 15, 2022

Learning longer-term dependencies in neural network using auxiliary losses

Inventors: Andrew M. Dai (San Francisco, CA); Quoc V. Le (Sunnyvale, CA); Hoang Trieu Trinh (Mountain View, CA); Thang Minh Luong (Mountain View, CA)
Assignee: Google LLC
G06N3/084G06N3/0454G06N3/088
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 11,501,168
App. No.
16/273,041
Granted
Nov 15, 2022
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for structuring and training a recurrent neural network. This describes a technique that improves the ability to capture long term dependencies in recurrent neural networks by adding an unsupervised auxiliary loss at one or more anchor points to the original objective. This auxiliary loss forces the network to either reconstruct previous events or predict next events in a sequence, making truncated backpropagation feasible for long sequences and also improving full backpropagation through time.

Claims (62)

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 implement:

a main neural network configured to receive an input sequence comprising a respective input at each of a plurality of input positions and to process, at each time step in a sequence of time steps, a respective input in the input sequence to generate a respective internal state according to trained values for a set of model parameters of the main neural network,

wherein the trained values for the model parameters have been determined by training the main neural network using one or more auxiliary losses in addition to a main loss by performing operations comprising:

selecting one or more particular input positions in the input sequence as anchor points, wherein the selected particular input positions are before a final input position in the input sequence;

processing the input sequence using the main neural network to generate the internal states;

for each anchor point:

processing the internal state corresponding to the anchor point using a respective auxiliary neural network to generate an auxiliary output,

determining an auxiliary loss from the generated auxiliary output, and

backpropagating the auxiliary loss through a subsequence of the sequence of time steps ending at the time step corresponding to the anchor point; and

determining the main loss from at least the internal state corresponding to the final input position in the input sequence and backpropagating the main loss through at least a subsequence of the sequence of time steps ending at the time step corresponding to the final input position in the input sequence.

2. The system of claim 1 , wherein:

the auxiliary output generated by at least one respective auxiliary neural network is a prediction of one or more of (i) a subsequence of the input sequence occurring before the corresponding anchor point, (ii) a subsequence of the input sequence occurring after the corresponding anchor point, or (iii) a subsequence of the input sequence occurring partially before and partially after the corresponding anchor point.

3. The system of claim 1 , wherein:

at least one respective auxiliary neural network is a recurrent neural network configured to process the internal state for the corresponding anchor point and one or more of (i) a subsequence of the input sequence occurring before the corresponding anchor point, (ii) a subsequence of the input sequence occurring after the corresponding anchor point, or (iii) a subsequence of the input sequence occurring partially before and partially after the corresponding anchor point.

4. The system of claim 1 , wherein:

the inputs in the input sequence represent pixels of an image, characters of a text, or words of a text.

5. The system of claim 1 , wherein backpropagating the auxiliary loss through a subsequence of the sequence of time steps ending at the time step corresponding to the anchor point comprises:

backpropagating the auxiliary loss through the auxiliary neural network to determine a gradient for the internal state corresponding to the anchor point; and

backpropagating the determined gradient through the subsequence of the sequence of time steps ending at the time step corresponding to the anchor point.

6. The system of claim 5 , wherein:

the auxiliary neural network is configured to execute at a sequence of second time steps, and

backpropagating the auxiliary loss through the auxiliary neural network comprises backpropagating the auxiliary loss through the sequence of second time steps.

7. The system of claim 1 , wherein the main loss is a supervised loss and the one or more auxiliary losses are unsupervised losses.

8. The system of claim 1 , wherein the respective auxiliary neural network corresponding to each anchor point is not executed at inference.

9. The system of claim 1 , wherein the anchor positions are selected randomly.

10. The system of claim 1 , wherein:

during a first phase of training, values for the model parameters of the main neural network are updated using only the one or more auxiliary losses, and during a second phase of training, values for the model parameters of the main neural network are updated using the main loss and the one or more auxiliary losses.

11. A non-transitory storage medium encoded with instructions that are operable, when executed by one or more computers, to cause the computers to implement:

a main neural network configured to receive an input sequence comprising a respective input at each of a plurality of input positions and to process, at each time step in a sequence of time steps, a respective input in the input sequence to generate a respective internal state according to trained values for a set of model parameters of the neural network,

wherein the trained values for the model parameters have been determined by training the main neural network using one or more auxiliary losses in addition to a main loss by performing operations comprising:

selecting one or more particular input positions in the input sequence as anchor points, wherein the selected particular input positions are before a final input position in the input sequence;

processing the input sequence using the main neural network to generate the internal states;

for each anchor point:

processing the internal state corresponding to the anchor point using a respective auxiliary neural network to generate an auxiliary output,

determining an auxiliary loss from the generated auxiliary output, and

backpropagating the auxiliary loss through a subsequence of the sequence of time steps ending at the time step corresponding to the anchor point; and

determining the main loss from at least the internal state corresponding to the final input position in the input sequence and backpropagating the main loss through at least a subsequence of the sequence of time steps ending at the time step corresponding to the final input position in the input sequence.

12. The non-transitory storage medium of claim 11 , wherein:

the auxiliary output generated by at least one respective auxiliary neural network is a prediction of one or more of (i) a subsequence of the input sequence occurring before the corresponding anchor point, (ii) a subsequence of the input sequence occurring after the corresponding anchor point, or (iii) a subsequence of the input sequence occurring partially before and partially after the corresponding anchor point.

13. The non-transitory storage medium of claim 11 , wherein:

at least one respective auxiliary neural network is a recurrent neural network configured to process the internal state for the corresponding anchor point and one or more of: (i) a subsequence of the input sequence occurring before the corresponding anchor point, (ii) a subsequence of the input sequence occurring after the corresponding anchor point, or (iii) a subsequence of the input sequence occurring partially before and partially after the corresponding anchor point.

14. The non-transitory storage medium of claim 11 , wherein:

the inputs in the input sequence represent pixels of an image, characters of a text, or words of a text.

15. The non-transitory storage medium of claim 11 , wherein backpropagating the auxiliary loss through a subsequence of the sequence of time steps ending at the time step corresponding to the anchor point comprises:

backpropagating the auxiliary loss through the auxiliary neural network to determine a gradient for the internal state corresponding to the anchor point; and

backpropagating the determined gradient through the subsequence of the sequence of time steps ending at the time step corresponding to the anchor point.

16. A method for training a main neural network configured to receive an input sequence comprising a respective input at each of a plurality of input positions and to process, at each time step in a sequence of time steps, a respective input in the input sequence to generate a respective internal state, the method comprising:

selecting one or more particular input positions in the input sequence as anchor points, wherein the selected particular input positions are before a final input position in the input sequence;

processing the input sequence using the main neural network to generate the internal states;

for each anchor point:

processing the internal state corresponding to the anchor point using a respective auxiliary neural network to generate an auxiliary output,

determining an auxiliary loss from the generated auxiliary output, and

backpropagating the auxiliary loss through a subsequence of the sequence of time steps ending at the time step corresponding to the anchor point; and

determining a main loss from at least the internal state corresponding to the final input position in the input sequence and backpropagating the main loss through at least a subsequence of the sequence of time steps ending at the time step corresponding to the final input position in the input sequence.

17. The method of claim 16 , wherein the auxiliary output generated by at least one respective auxiliary neural network is a prediction of one or more of (i) a subsequence of the input sequence occurring before the corresponding anchor point, (ii) a subsequence of the input sequence occurring after the corresponding anchor point, or (iii) a subsequence of the input sequence occurring partially before and partially after the corresponding anchor point.

18. The method of claim 16 , wherein:

at least one respective auxiliary neural network is a recurrent neural network configured to process the internal state for the corresponding anchor point and one or more of: (i) a subsequence of the input sequence occurring before the corresponding anchor point, (ii) a subsequence of the input sequence occurring after the corresponding anchor point, or (iii) a subsequence of the input sequence occurring partially before and partially after the corresponding anchor point.

19. The method of claim 16 , wherein:

the inputs in the input sequence represent pixels of an image, characters of a text, or words of a text.

20. The method of claim 16 , wherein backpropagating the auxiliary loss through a subsequence of the sequence of time steps ending at the time step corresponding to the anchor point comprises:

backpropagating the auxiliary loss through the auxiliary neural network to determine a gradient for the internal state corresponding to the anchor point; and

backpropagating the determined gradient through the subsequence of the sequence of time steps ending at the time step corresponding to the anchor point.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2019
From: DAI, ANDREW M.; LE, QUOC V.; TRINH, HOANG TRIEU; LUONG, THANG MINH
To: GOOGLE LLC
Reel/Frame 048299/0750 →
Continuity (2)
Provisional Application 62628901 · Feb 9, 2018
Related Publication 20190251449A1 · Aug 15, 2019