Comments (4)
Hi, @vinsis ,
From the ImageNet experiment, there is a linear projection layer between the representation and contrastive loss.
You are absolutely right! MI is not equal to similar direction. But here is how I think about it, you are maximizing mutual information between representations before the projection. The projection is similar to a reparameterization and it works in such a way that inner product could estimate MI (though the estimation is almost biased).
from cmc.
I am sorry I am not sure I understand what you mean by a linear projection layer between the representation and contrastive loss
. Do you mean something like the below in model specification?
self.fc8 = nn.Sequential(
nn.Linear(4096 // 2, feat_dim)
)
One more thing I noticed is that NCE learns a distribution by learning to classify samples as real or fake. In this case, a sample is dot product between v1i and v2j. In other words the classifier is trying to learn which dot products are real (aka come from the same image) and which ones are fake. We could extend it to any inner product space, not just dot product and possibly get diverse representations while preserving high MI.
from cmc.
I originally meant this one. But yours is also a good example.
Though I don't know which inner product you want to try, I agree there should be more possibilities.
Should I close this?
from cmc.
Thanks again @HobbitLong. Closing it now.
from cmc.
Related Issues (20)
- Weight shape in Linear classifier HOT 1
- Train/Test split when training linear classifier (ImageNet) HOT 3
- Gpu memory heavy on gpu0 HOT 1
- mean std value for LAB/YCbCr normalization HOT 1
- How to prevent positive sample is sampled by AliasMethod? HOT 1
- Format of dataset HOT 2
- index drawn by AliasMethod is not on the same gpu as the model HOT 1
- About the training epochs for ImageNet-1K
- question about shuffle_ids
- Training Loss Doesn't Improve for CIFAR10
- pretrained model of ResNet50v1
- Feature Tensor Shape Question HOT 1
- how to use the pretrained MoCo
- Protential memory leak when training?
- Modified AlexNet architecture for STL-10 dataset
- question about input image
- Questions about NCEAverage.py
- How can it be used for more than two views datasets?
- Pre-trained model for Video task HOT 1
- CMC for small custom dataset
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmc.