IP Library Granted Patent US 12,406,031
Granted Patent B1
US 12,406,031 · App. 18/584,717 · Granted Sep 2, 2025

Generating predictions characterizing images using glimpses extracted from the images

Inventors: Volodymyr Mnih (Toronto, CA); Koray Kavukcuoglu (London, GB)
Assignee: GDM Holding LLC
G06F18/2431G06V10/44G06V20/80G06V30/194G06V30/413
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 12,406,031
App. No.
18/584,717
Granted
Sep 2, 2025
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for processing images using recurrent attention. One of the methods includes determining a location in the first image; extracting a glimpse from the first image using the location; generating a glimpse representation of the extracted glimpse; processing the glimpse representation using a recurrent neural network to update a current internal state of the recurrent neural network to generate a new internal state; processing the new internal state to select a location in a next image in the image sequence after the first image; and processing the new internal state to select an action from a predetermined set of possible actions.

Claims (67)

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

generating a prediction characterizing one or more images, comprising:

extracting a plurality of glimpses from the one or more images, comprising, at each iteration preceding a last iteration of a plurality of iterations:

receiving data identifying a current location in a current image of the one or more images;

extracting a current glimpse from the current image at the current location;

processing a network input derived from the current glimpse extracted from the current image at the current location using a location neural network, in accordance with values of a set of location neural network parameters, to generate a next location in a next image of the one or more images; and

providing the next location in the next image for processing at a next iteration of the plurality of iterations; and

generating the prediction characterizing the one or more images using one or more of the plurality of glimpses extracted from the one or more images.

2. The method of claim 1 , wherein the one or more images comprise a plurality of images defining a video.

3. The method of claim 1 , wherein at each iteration, extracting the current glimpse from the current image at the current location comprises:

extracting a plurality of patches from the current image, each patch being centered at the current location in the current image; and

combining the plurality of patches to generate the current glimpse.

4. The method of claim 3 , wherein each of the plurality of patches has a distinct size, and wherein each of the plurality of patches has a distinct resolution.

5. The method of claim 3 , wherein combining the plurality of patches to generate the current glimpse comprises:

re-scaling the patches so that each patch has a same size; and

concatenating the re-scaled patches to generate the current glimpse.

6. The method of claim 1 , wherein at each iteration, the network input to the location neural network is generated by operations comprising:

generating a current glimpse representation of the current glimpse extracted from the current image at the current location, comprising:

processing the current glimpse and the current location in the current image using a glimpse neural network to generate the glimpse representation; and

generating the network input to the location neural network based at least in part on the current glimpse representation.

7. The method of claim 6 , wherein processing the current glimpse and the current location in the current image using the glimpse neural network to generate the current glimpse representation comprises:

processing the current glimpse using one or more first neural network layers to generate an initial representation of the current glimpse;

processing the current location in the current image using one or more second neural network layers to generate an initial representation of the current location in the current image; and

processing the initial representation of the current glimpse and the initial representation of the current location in the current image using one or more third neural network layers to generate the current glimpse representation.

8. The method of claim 1 , wherein processing the network input derived from the current glimpse extracted from the current image at the current location using the location neural network to generate the next location in the next image of the one or more images comprises:

processing the network input using the location neural network to generate a distribution parameter; and

stochastically selecting the next location from a distribution of possible locations that is parameterized by the distribution parameter.

9. The method of claim 1 , wherein the location neural network is trained by a reinforcement learning optimization procedure.

10. A system comprising:

one or more computers; and

one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

generating a prediction characterizing one or more images, comprising:

extracting a plurality of glimpses from the one or more images, comprising, at each iteration preceding a last iteration of a plurality of iterations:

receiving data identifying a current location in a current image of the one or more images;

extracting a current glimpse from the current image at the current location;

processing a network input derived from the current glimpse extracted from the current image at the current location using a location neural network, in accordance with values of a set of location neural network parameters, to generate a next location in a next image of the one or more images; and

providing the next location in the next image for processing at a next iteration of the plurality of iterations; and

generating the prediction characterizing the one or more images using one or more of the plurality of glimpses extracted from the one or more images.

11. The system of claim 10 , wherein the one or more images comprise a plurality of images defining a video.

12. The system of claim 10 , wherein at each iteration, extracting the current glimpse from the current image at the current location comprises:

extracting a plurality of patches from the current image, each patch being centered at the current location in the current image; and

combining the plurality of patches to generate the current glimpse.

13. The system of claim 12 , wherein each of the plurality of patches has a distinct size, and wherein each of the plurality of patches has a distinct resolution.

14. The system of claim 12 , wherein combining the plurality of patches to generate the current glimpse comprises:

re-scaling the patches so that each patch has a same size; and

concatenating the re-scaled patches to generate the current glimpse.

15. The system of claim 10 , wherein at each iteration, the network input to the location neural network is generated by operations comprising:

generating a current glimpse representation of the current glimpse extracted from the current image at the current location, comprising:

processing the current glimpse and the current location in the current image using a glimpse neural network to generate the glimpse representation; and

generating the network input to the location neural network based at least in part on the current glimpse representation.

16. The system of claim 15 , wherein processing the current glimpse and the current location in the current image using the glimpse neural network to generate the current glimpse representation comprises:

processing the current glimpse using one or more first neural network layers to generate an initial representation of the current glimpse;

processing the current location in the current image using one or more second neural network layers to generate an initial representation of the current location in the current image; and

processing the initial representation of the current glimpse and the initial representation of the current location in the current image using one or more third neural network layers to generate the current glimpse representation.

17. The system of claim 10 , wherein processing the network input derived from the current glimpse extracted from the current image at the current location using the location neural network to generate the next location in the next image of the one or more images comprises:

processing the network input using the location neural network to generate a distribution parameter; and

stochastically selecting the next location from a distribution of possible locations that is parameterized by the distribution parameter.

18. The system of claim 10 , wherein the location neural network is trained by a reinforcement learning optimization procedure.

19. One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

generating a prediction characterizing one or more images, comprising:

extracting a plurality of glimpses from the one or more images, comprising, at each iteration preceding a last iteration of a plurality of iterations:

receiving data identifying a current location in a current image of the one or more images;

extracting a current glimpse from the current image at the current location;

processing a network input derived from the current glimpse extracted from the current image at the current location using a location neural network, in accordance with values of a set of location neural network parameters, to generate a next location in a next image of the one or more images; and

providing the next location in the next image for processing at a next iteration of the plurality of iterations; and

generating the prediction characterizing the one or more images using one or more of the plurality of glimpses extracted from the one or more images.

20. The one or more non-transitory computer storage media of claim 19 , wherein the one or more images comprise a plurality of images defining a video.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 071498/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2024
From: MNIH, VOLODYMYR; KAVUKCUOGLU, KORAY
To: GOOGLE INC.
Reel/Frame 067306/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2024
From: GOOGLE INC.
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 067306/0718 →
Continuity (5)
Continuation 17737544 · May 5, 2022
Continuation 16927159 · Jul 13, 2020
Continuation 16250320 · Jan 17, 2019
Continuation 14731348 · Jun 4, 2015
Provisional Application 62009097 · Jun 6, 2014
References Cited (18)
US 6526167B1 · Nunnaoka · 2003 [cited by applicant]
US 9008840B1 · Ponulak · 2015 [cited by applicant]
US 10223617B1 · Mnih et al. · 2019 [cited by applicant]
US 10748041B1 · Mnih et al. · 2020 [cited by applicant]
US 11354548B1 · Mnih et al. · 2022 [cited by applicant]
US 20070185825A1 · Ito · 2007 [cited by applicant]
US 20100010948A1 · Ito · 2010 [cited by applicant]
US 20130051612A1 · Prokhorov · 2013 [cited by examiner]
US 20140079297A1 · Tadayon · 2014 [cited by examiner]
US 20140293091A1 · Rhoads et al. · 2014 [cited by applicant]
US 20160140434A1 · Yilmaz · 2016 [cited by applicant]
Denil et al., “Learning where to attend with deep architectures for image tracking,” Neural Computation, 24(8):2151-2184, 2012. [cited by applicant]
Graves et al., “Sequence Transduction with Recurrent Neural Networks, Nov. 2012,” Department of Computer Science, University of Toronto, Canada. [cited by applicant]
Graves, “Generating sequences with recurrent neural networks,” arXiv:1308.0850v5 [cs.NE], Jun. 2014, pp. 1-43. [cited by applicant]
Larochelle and Hinton, “Learning to combine foveal glimpses with a third-order Boltzmann machine,” Advances in Neural Information Processing Systems 23, 2010, pp. 1243-1251. [cited by applicant]
Mathe et al., Actions in the Eye: Dynamic Gaze Datasets and Learnt Saliency Models for Visual Recognition, Dec. 2013, IEEE. [cited by applicant]
Mnih et al., Playing Atari with Deep Reinforcement Learning, Dec. 2013, DeepMind Technologies, arXiv:1312.5502v1 [cs.LG], pp. 1-9. [cited by applicant]
Ranzato, “On Learning Where to Look,” arXiv: 1405.5488v1 [cs.CV], Apr. 2014, pp. 1-14. [cited by applicant]