IP Library Granted Patent US 10,832,124
Granted Patent B2
US 10,832,124 · App. 16/538,712 · Granted Nov 10, 2020

Generating natural language descriptions of images

Inventors: Samy Bengio (Los Altos, CA); Oriol Vinyals (London, GB); Alexander Toshkov Toshev (San Francisco, CA); Dumitru Erhan (San Francisco, CA)
Assignee: Google LLC
G06N3/0472G06F40/40G06N3/0454
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,832,124
App. No.
16/538,712
Granted
Nov 10, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating descriptions of input images. One of the methods includes obtaining an input image; processing the input image using a first neural network to generate an alternative representation for the input image; and processing the alternative representation for the input image using a second neural network to generate a sequence of a plurality of words in a target natural language that describes the input image.

Claims (47)

1. A method performed by one or more computers, the method comprising:

obtaining an input image;

processing the input image using a first neural network to generate an alternative representation for the input image; and

processing the alternative representation for the input image using a second neural network to generate a sequence of words in a target natural language that describes the input image, including using the second neural network to select words for inclusion in the sequence of words until a special stop word is selected that identifies an end to the sequence of words, wherein each word in the sequence of words after an initial word is selected by conditioning the second neural network on a preceding word in the sequence of words.

2. The method of claim 1 , wherein the first neural network is a deep convolutional neural network.

3. The method of claim 2 ,

wherein the deep convolutional neural network comprises a plurality of core neural network layers each having a respective set of parameters,

wherein processing the input image using the first neural network comprises processing the input through each of the core neural network layers in the sequence, and

wherein the alternative representation for the input image is the output generated by a last core neural network layer in the plurality of core neural network layers.

4. The method of claim 3 ,

wherein current values of the respective sets of parameters are determined by training a third neural network on a plurality of training images, and

wherein the third neural network includes the plurality of core layers and an output layer configured to, for each training image, receive the output generated by the last core layer for the training image and generate a respective score for each of a plurality of object categories, the respective score for each of the plurality of object categories representing a predicted likelihood that the training image contains an image of an object from the object category.

5. The method of claim 1 , wherein the second neural network is a long-short term memory (LSTM) neural network.

6. The method of claim 5 , wherein the LSTM neural network is configured to:

receive as input a current word in the sequence,

map the current word to a numeric representation of the current word, and

process the numeric representation to generate, in accordance with a current hidden state of the LSTM neural network and current values of a set of parameters of the LSTM neural network, a respective word score for each word in a set of words that represents a respective likelihood that the word is a next word in the sequence.

7. The method of claim 6 , wherein the alternative representation of the input image has the same dimensionality as the numeric representation.

8. The method of claim 6 , wherein the set of words includes a vocabulary of words in the target natural language and the special stop word.

9. The method of claim 5 , wherein processing the alternative representation for the input image using the second neural network comprises:

processing the alternative representation using the LSTM neural network using a left to right beam search decoding to generate a plurality of possible sequences and a respective sequence score for each of the possible sequences; and

selecting one or more highest-scoring possible sequences as descriptions of the input image.

10. A system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

obtaining an input image;

processing the input image using a first neural network to generate an alternative representation for the input image; and

processing the alternative representation for the input image using a second neural network to generate a sequence of words in a target natural language that describes the input image, including using the second neural network to select words for inclusion in the sequence of words until a special stop word is selected that identifies an end to the sequence of words, wherein each word in the sequence of words after an initial word is selected by conditioning the second neural network on a preceding word in the sequence of words.

11. The system of claim 10 , wherein the first neural network is a deep convolutional neural network.

12. The system of claim 11 ,

wherein the deep convolutional neural network comprises a plurality of core neural network layers each having a respective set of parameters,

wherein processing the input image using the first neural network comprises processing the input through each of the core neural network layers in the sequence, and

wherein the alternative representation for the input image is the output generated by a last core neural network layer in the plurality of core neural network layers.

13. The system of claim 12 ,

wherein current values of the respective sets of parameters are determined by training a third neural network on a plurality of training images, and

wherein the third neural network includes the plurality of core layers and an output layer configured to, for each training image, receive the output generated by the last core layer for the training image and generate a respective score for each of a plurality of object categories, the respective score for each of the plurality of object categories representing a predicted likelihood that the training image contains an image of an object from the object category.

14. The system of claim 10 , wherein the second neural network is a long-short term memory (LSTM) neural network.

15. The system of claim 14 , wherein the LSTM neural network is configured to:

receive as input a current word in the sequence,

map the current word to a numeric representation of the current word, and

process the numeric representation to generate, in accordance with a current hidden state of the LSTM neural network and current values of a set of parameters of the LSTM neural network, a respective word score for each word in a set of words that represents a respective likelihood that the word is a next word in the sequence.

16. A computer program product encoded on one or more non-transitory computer storage media, the computer program product comprising instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

obtaining an input image;

processing the input image using a first neural network to generate an alternative representation for the input image; and

processing the alternative representation for the input image using a second neural network to generate a sequence of words in a target natural language that describes the input image, including using the second neural network to select words for inclusion in the sequence of words until a special stop word is selected that identifies an end to the sequence of words, wherein each word in the sequence of words after an initial word is selected by conditioning the second neural network on a preceding word in the sequence of words.

17. The method of claim 1 , further comprising selecting the initial word in the sequence by initializing a hidden state of the second neural network with the alternative representation for the input image.

18. The method of claim 1 , wherein the first neural network is a convolutional neural network and the second neural network is a long short-term memory (LSTM) neural network.

19. The method of claim 1 , wherein conditioning the second neural network on a preceding word in the sequence of words comprises conditioning the second neural network on a numeric representation of the preceding word.

20. The method of claim 1 , wherein the sequence of words is arranged according to an output order, and selecting a word for a current position in the output order comprises conditioning the second neural network using a word that was selected at a preceding position in the output order that precedes the current position.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2019
From: BENGIO, SAMUEL; VINYALS, ORIOL; TOSHEV, ALEXANDER TOSHKOV; ERHAN, DUMITRU
To: GOOGLE INC.
Reel/Frame 050170/0660 →
CHANGE OF NAME Recorded Aug 26, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 050170/0698 →
Continuity (4)
Continuation 15856453 · Dec 28, 2017
Continuation 14941454 · Nov 13, 2015
Provisional Application 62080081 · Nov 14, 2014
Related Publication 20200042866A1 · Feb 6, 2020