Category learning neural networks
First Claim
1. A method, comprising:
- training a categorization neural network to determine trained values of the categorization neural network parameters from initial values of the categorization neural network parameters, comprising, at each of a plurality of iterations;
processing a given image depicting an object using the categorization neural network in accordance with current values of categorization neural network parameters to generate an output comprising;
(i) a current prediction for whether the given image depicts an object or a background region, and (ii) a current embedding of the given image;
determining a plurality of current cluster centers based on the current values of the categorization neural network parameters, wherein each cluster center represents a respective semantic category;
determining a gradient of an objective function that includes a classification loss and a clustering loss, wherein the classification loss depends on the current prediction for whether the given image depicts an object or a background region, and wherein the clustering loss depends on a similarity between the current embedding of the given image and the current cluster centers; and
determining an update to the current values of the categorization neural network parameters from the gradient;
determining a plurality of final cluster centers based on the trained values of the categorization neural network parameters;
for each of a plurality of target images, processing the target image using the categorization neural network in accordance with the trained values of the categorization neural network parameters to generate a final embedding of the target image; and
determining a clustering of the target images into a plurality of semantic categories using the final embeddings of the target images and the final cluster centers.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for determining a clustering of images into a plurality of semantic categories. In one aspect, a method comprises: training a categorization neural network, comprising, at each of a plurality of iterations: processing an image depicting an object using the categorization neural network to generate (i) a current prediction for whether the image depicts an object or a background region, and (ii) a current embedding of the image; determining a plurality of current cluster centers based on the current values of the categorization neural network parameters, wherein each cluster center represents a respective semantic category; and determining a gradient of an objective function that includes a classification loss and a clustering loss, wherein the clustering loss depends on a similarity between the current embedding of the image and the current cluster centers.
28 Citations
20 Claims
-
1. A method, comprising:
-
training a categorization neural network to determine trained values of the categorization neural network parameters from initial values of the categorization neural network parameters, comprising, at each of a plurality of iterations; processing a given image depicting an object using the categorization neural network in accordance with current values of categorization neural network parameters to generate an output comprising;
(i) a current prediction for whether the given image depicts an object or a background region, and (ii) a current embedding of the given image;determining a plurality of current cluster centers based on the current values of the categorization neural network parameters, wherein each cluster center represents a respective semantic category; determining a gradient of an objective function that includes a classification loss and a clustering loss, wherein the classification loss depends on the current prediction for whether the given image depicts an object or a background region, and wherein the clustering loss depends on a similarity between the current embedding of the given image and the current cluster centers; and determining an update to the current values of the categorization neural network parameters from the gradient; determining a plurality of final cluster centers based on the trained values of the categorization neural network parameters; for each of a plurality of target images, processing the target image using the categorization neural network in accordance with the trained values of the categorization neural network parameters to generate a final embedding of the target image; and determining a clustering of the target images into a plurality of semantic categories using the final embeddings of the target images and the final cluster centers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
one or more computers; a memory in data communication with the one or more computers and storing instructions that cause the one or more computers to perform operations comprising; training a categorization neural network to determine trained values of the categorization neural network parameters from initial values of the categorization neural network parameters, comprising, at each of a plurality of iterations; processing a given image depicting an object using the categorization neural network in accordance with current values of categorization neural network parameters to generate an output comprising;
(i) a current prediction for whether the given image depicts an object or a background region, and (ii) a current embedding of the given image;determining a plurality of current cluster centers based on the current values of the categorization neural network parameters, wherein each cluster center represents a respective semantic category; determining a gradient of an objective function that includes a classification loss and a clustering loss, wherein the classification loss depends on the current prediction for whether the given image depicts an object or a background region, and wherein the clustering loss depends on a similarity between the current embedding of the given image and the current cluster centers; and determining an update to the current values of the categorization neural network parameters from the gradient; determining a plurality of final cluster centers based on the trained values of the categorization neural network parameters; for each of a plurality of target images, processing the target image using the categorization neural network in accordance with the trained values of the categorization neural network parameters to generate a final embedding of the target image; and determining a clustering of the target images into a plurality of semantic categories using the final embeddings of the target images and the final cluster centers. - View Dependent Claims (14, 15, 16)
-
-
17. 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:
-
training a categorization neural network to determine trained values of the categorization neural network parameters from initial values of the categorization neural network parameters, comprising, at each of a plurality of iterations; processing a given image depicting an object using the categorization neural network in accordance with current values of categorization neural network parameters to generate an output comprising;
(i) a current prediction for whether the given image depicts an object or a background region, and (ii) a current embedding of the given image;determining a plurality of current cluster centers based on the current values of the categorization neural network parameters, wherein each cluster center represents a respective semantic category; determining a gradient of an objective function that includes a classification loss and a clustering loss, wherein the classification loss depends on the current prediction for whether the given image depicts an object or a background region, and wherein the clustering loss depends on a similarity between the current embedding of the given image and the current cluster centers; and determining an update to the current values of the categorization neural network parameters from the gradient; determining a plurality of final cluster centers based on the trained values of the categorization neural network parameters; for each of a plurality of target images, processing the target image using the categorization neural network in accordance with the trained values of the categorization neural network parameters to generate a final embedding of the target image; and determining a clustering of the target images into a plurality of semantic categories using the final embeddings of the target images and the final cluster centers. - View Dependent Claims (18, 19, 20)
-
Specification