Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unsupervised Contrastive Loss Function #520

Open
Dante-Basile opened this issue Dec 12, 2021 · 1 comment
Open

Unsupervised Contrastive Loss Function #520

Dante-Basile opened this issue Dec 12, 2021 · 1 comment
Labels
ndd Neuro Data Design

Comments

@Dante-Basile
Copy link

Background

A loss function suitable for unsupervised learning would contribute to extending ProgLearn's training domain to unsupervised settings in which labeled data are not available.

The unsupervised contrastive loss function is described in the paper SimCLR - A Simple Framework for Contrastive Learning of Visual Representations and implemented at this repository. It leverages data augmentations such as cropping and color shifts to enable unsupervised image classification.

Proposed Feature: demonstrate a working prototype of the unsupervised contrastive loss function

Implementation

Addition of folder unsupcon. This will store the unsupervised contrastive loss function along with the associated demos and data. The goal is to provide a proof of concept to motivate integration of the unsupervised contrastive loss function with the ProgLearn network. For demonstration purposes, the ResNet50 architecture will be trained on the CIFAR-10 dataset in an experiment analogous to the one described in SimCLR.

@rflperry
Copy link
Member

Would recommend FTE/BTE experiments like in the supcon loss PR. I think the gain of unsupcon over supcon is being able to leverage large amounts of unlabeled data to approach the supervised accuracy levels.

But the SimCLR paper examines transfer learning performance, learning an unsupervised representation and then given labeled data a 1-layer sigmoid classifier. ProgLearn does the same thing, but learns a kNN classifier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ndd Neuro Data Design
Projects
None yet
Development

No branches or pull requests

3 participants