IP Library Granted Patent US 11,776,236
Granted Patent B2
US 11,776,236 · App. 17/591,121 · Granted Oct 3, 2023

Unsupervised representation learning with contrastive prototypes

Inventors: Junnan Li (Singapore, SG); Chu Hong Hoi (Singapore, SG)
Assignee: Salesforce.com, Inc.
G06V10/454G06F18/2155G06F18/23G06T7/73G06V10/763G06V10/776G06V10/7753G06V10/82G06T2207/20084
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 11,776,236
App. No.
17/591,121
Granted
Oct 3, 2023
Kind
B2
Abstract

The system and method are directed to a prototypical contrastive learning (PCL). The PCL explicitly encodes the hierarchical semantic structure of the dataset into the learned embedding space and prevents the network from exploiting low-level cues for solving the unsupervised learning task. The PCL includes prototypes as the latent variables to help find the maximum-likelihood estimation of the network parameters in an expectation-maximization framework. The PCL iteratively performs an E-step for finding prototypes with clustering and M-step for optimizing the network on a contrastive loss.

Claims (54)

1. A method for training a prototypical contrastive learning (PCL) framework to cluster images, comprising:

receiving images at a momentum encoder of the PCL framework;

determining, using the momentum encoder, features from the images;

clustering, using the momentum encoder, the images into clusters according to the features;

determining at least one prototype and at least one concentration of the clusters;

determining, a contrastive loss function from the at least one prototype and the at least one concentration of the clusters;

training an encoder of the PCL framework using the contrastive loss function and a subset of images in the images, wherein the training updates the weights of the encoder based on the contrastive loss function;

updating weights of the momentum encoder using weights of the encoder; and

determining second clusters from second images using the updated momentum encoder.

2. The method of claim 1 , wherein the encoder is a convolutional neural network.

3. The method of claim 1 , wherein a neural network structure of the momentum encoder is the same as a neural network structure of the encoder.

4. The method of claim 1 , wherein the updated weights of the momentum encoder are a moving average of the weights of the momentum encoder and the weights of the encoder.

5. The method of claim 1 , further comprising:

dividing the images into multiple subsets of images; and

training the encoder of the PCL framework on the subsets of images until the contrastive loss function is minimized.

6. The method of claim 1 , wherein the updated momentum encoder is trained to perform at least one task associated with processing the images.

7. The method of claim 1 , further comprising:

training the encoder and updating the momentum encoder over a configurable number of iterations.

8. A system for training a prototypical contrastive learning (PCL) framework to cluster images, comprising:

at least one memory configured to store the PCL framework and images; and

a processor coupled to the memory and configured to execute instructions for training the PCL framework, the instructions comprising:

receiving the images at a momentum encoder of the PCL framework;

determining, using the momentum encoder, features from the images;

clustering, using the momentum encoder, the images into clusters according to the features;

determining at least one prototype and at least one concentration of the clusters;

determining, a contrastive loss function from the at least one prototype and the at least one concentration of the clusters;

training an encoder of the PCL framework using the contrastive loss function and a subset of images in the images;

updating weights of the momentum encoder using weights of the encoder; and

determining second clusters from second images using the updated momentum encoder.

9. The system of claim 8 , wherein the encoder is a convolutional neural network.

10. The system of claim 8 , wherein a neural network structure of the momentum encoder is the same as a neural network structure of the encoder.

11. The system of claim 8 , wherein the training updates the weights of the encoder based on the contrastive loss function.

12. The system of claim 8 , wherein the updated weights of the momentum encoder are a moving average of the weights of the momentum encoder and the weights of the encoder.

13. The system of claim 8 , wherein the processor is further configured to perform instructions comprising:

dividing the images into multiple subsets of images; and

training the encoder of the PCL framework on the subsets of images until the contrastive loss function is minimized.

14. The system of claim 8 , wherein the updated momentum encoder is trained to perform at least one task associated with processing the images.

15. The system of claim 8 , wherein the processor is further configured to perform instructions comprising:

training the encoder and updating the momentum encoder over a configurable number of iterations.

16. A non-transitory computer-readable medium storing instructions thereon, that when executed by a processor, cause the processor to perform operations that train a prototypical contrastive learning (PCL) framework to cluster images, the operations comprising:

receiving images at a momentum encoder of the PCL framework;

determining, using the momentum encoder, features from the images;

clustering, using the momentum encoder, the images into clusters according to the features;

determining at least one prototype and at least one concentration of the clusters;

determining, a contrastive loss function from the at least one prototype and the at least one concentration of the clusters;

training an encoder of the PCL framework using the contrastive loss function and a subset of images in the images, wherein the training updates the weights of the encoder based on the contrastive loss function;

updating weights of the momentum encoder using weights of the encoder; and

determining second clusters from second images using the updated momentum encoder.

17. The non-transitory computer-readable medium of claim 16 , wherein a neural network structure of the momentum encoder is the same as a neural network structure of the encoder.

18. The non-transitory computer-readable medium of claim 16 , wherein the updated weights of the momentum encoder are a moving average of the weights of the momentum encoder and the weights of the encoder.

19. The non-transitory computer-readable medium of claim 16 , wherein the operations further comprise:

dividing the images into multiple subsets of images; and

training the encoder of the PCL framework on the subsets of images until the contrastive loss function is minimized.

20. The non-transitory computer-readable medium of claim 16 , wherein the updated momentum encoder is trained to perform at least one task associated with processing the images.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: LI, JUNNAN; HOI, CHU HONG
To: SALESFORCE.COM, INC.
Reel/Frame 060787/0937 →
Continuity (3)
Continuation 16870621 · May 8, 2020
Provisional Application 62992004 · Mar 19, 2020
Related Publication 20220156507A1 · May 19, 2022