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 |
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.
|