US 11,853,885 B2
Image classification using batch normalization layers
Sergey Ioffe, Mountain View, CA (US); and Corinna Cortes, New York, NY (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Apr. 18, 2022, as Appl. No. 17/723,007.
Application 17/723,007 is a continuation of application No. 16/837,959, filed on Apr. 1, 2020, granted, now 11,308,394.
Application 16/837,959 is a continuation of application No. 16/226,483, filed on Dec. 19, 2018, granted, now 10,628,710, issued on Apr. 21, 2020.
Application 16/226,483 is a continuation of application No. 15/009,647, filed on Jan. 28, 2016, granted, now 10,417,562, issued on Sep. 17, 2019.
Claims priority of provisional application 62/108,984, filed on Jan. 28, 2015.
Prior Publication US 2022/0237462 A1, Jul. 28, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06V 10/82 (2022.01); G06N 3/08 (2023.01); G06N 3/04 (2023.01); G06N 3/084 (2023.01); G06F 18/10 (2023.01); G06F 18/2415 (2023.01); G06V 10/70 (2022.01)
CPC G06N 3/08 (2013.01) [G06F 18/10 (2023.01); G06F 18/2415 (2023.01); G06N 3/04 (2013.01); G06N 3/084 (2013.01); G06V 10/70 (2022.01); G06V 10/82 (2022.01); G06T 2207/20081 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a user computer; and
a computer 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 comprising:
receiving a network input comprising an image or image features of the image from the user computer;
processing the network input using a convolutional neural network configured to receive the network input and to generate a network output that characterizes the image, the convolutional neural network comprising:
a plurality of neural network layers, the plurality of neural network layers comprising a first convolutional neural network layer and a second neural network layer; and
a batch normalization layer between the first convolutional neural network layer and the second neural network layer, wherein the first convolutional neural network layer generates first layer outputs having a plurality of components that are indexed by feature index and spatial location index, and wherein the batch normalization layer is configured to, during training of the convolutional neural network on a batch of training examples:
receive a respective first layer output for each training example in the batch;
compute a plurality of normalization statistics for the batch from the first layer outputs, wherein computing a plurality of normalization statistics for the first layer outputs comprises, for each of the feature indices:
computing a mean of the components of the first layer outputs that correspond to the feature index; and
computing a variance of the components of the first layer outputs that correspond to the feature index;
normalize each component of each first layer output using the normalization statistics to generate a respective normalized layer output for each training example in the batch;
generate a respective batch normalization layer output for each of the training examples from the normalized layer outputs; and
provide the batch normalization layer outputs as input to the second neural network layer; and
providing the network input as output of the computer system.