Neural network architecture
AssigneeApple Inc.
InventorsRussell Y. Webb, Jason Ramapuram
Life of this patent
Estimating the term…
Abstract
A method includes processing an input image using convolution layers to define image features and processing the image features to define feature statistics. Processing the image features includes applying an activation function in a feature dimension of the image features. The method also includes processing the feature statistics using fully connected layers to produce a binary output regarding a characteristic of the input image.
Claims20
A method, comprising:
- processing an input image using convolution layers to define image features;
- processing the image features by applying an activation function in a feature dimension of the image features to define feature statistics and summing the feature statistics in a first spatial dimension and a second spatial dimension to define a spatially-summed feature vector;
- and
- processing the spatially-summed feature vector using fully connected layers to produce a binary output regarding a characteristic of the input image.
A method, comprising:
- processing an input image using convolution layers to define image features;
- processing the image features to define feature statistics, wherein processing the image features includes applying an activation function in a feature dimension of the image features;
- and
- processing the feature statistics using fully connected layers to produce a binary output regarding a characteristic of the input image,
- wherein processing the image features further includes summing the feature statistics in a first spatial dimension and a second spatial dimension subsequent to applying pooling to the feature statistics, such that the feature statistics include a spatially-summed vector that represents the image features, and
- wherein processing the image features is performed by applying pooling and summing to the feature statistics two or more times in parallel branches, wherein pooling is applied using a different pooling size for each of the parallel branches.
A neural network for processing an input image, comprising:
- convolution layers that accept the input image as an input and produce a feature matrix including values for image features representing presence or absence of the image features in the input image with respect to a first spatial dimension, a second spatial dimension, and a feature dimension;
- a feature analyzer that accepts the feature matrix as an input, applies an activation function in the feature dimension, and produces a spatially-summed feature vector by summing the image features in a first spatial dimension and a second spatial dimension;
- and
- fully connected layers that accept the spatially-summed feature vector as an input and produce a binary output regarding a characteristic of the input image.
A neural network for processing an input image, comprising:
- convolution layers that accept the input image as an input and produce a feature matrix including values for image features representing presence or absence of the image features in the input image with respect to a first spatial dimension, a second spatial dimension, and a feature dimension;
- a feature analyzer that accepts the feature matrix as an input, applies an activation function in the feature dimension, and produces a spatially-summed feature vector;
- and
- fully connected layers that accept the spatially-summed feature vector as an input and produce a binary output regarding a characteristic of the input image,
- wherein the feature analyzer applies pooling subsequent to application of the activation function in the feature dimension,
- wherein the feature analyzer sums the image features in a first spatial dimension and a second spatial dimension subsequent to application of pooling to define the spatially-summed feature vector, and
- wherein the feature analyzer applies pooling and summing to the image features two or more times in parallel branches, wherein pooling is applied using a different pooling size for each of the parallel branches, and values obtained from the parallel branches are combined by concatenation.
A method for training a neural network, comprising:
- processing an input image using convolution layers to define image features;
- processing the image features using feature analysis layers to define feature statistics, wherein processing the image features includes applying a 1×1 convolution to the image features and applying an activation function in a feature dimension of the image features;
- processing the feature statistics using fully connected layers to produce a binary output regarding a characteristic of the input image;
- and
- adjusting at least one of the convolution layers, the feature analysis layers, and the fully connected layers based on a comparison of the binary output to a weak supervision signal that corresponds to the input image.
Dependencies are inferred from the claim text.