Skip to content

Noise-as-targets representation learning for cifar10. Implementation based on the paper "Unsupervised Learning by Predicting Noise" by Bojanowski and Joulin.

Notifications You must be signed in to change notification settings

alenaliu/noise-as-targets-tensorflow

 
 

Repository files navigation

noise-as-targets-tensorflow

Noise-as-targets representation learning for cifar10. Implementation based on the arxiv-paper "Unsupervised Learning by Predicting Noise" by Bojanowski and Joulin: https://arxiv.org/abs/1704.05310

  • Trains the encoder to map each example to one predefined target representation from the n-dimensional unit-sphere
  • Optimizes the assignment of target vectors every 3 epochs using the hungarian algorithm
  • Trains a supervised MLP every x epochs to test the discriminative power of the learned representation

Training:

  1. Set model_dir and data_dir parameters in cifar10_natenc_train.py
  2. Run cifar10_natenc_train.py

Get neighbors:

  1. Set model_dir and out_path parameters in cifar10_natenc_getNeighbors.py
  2. Run cifar10_natenc_getNeighbors.py

Current status: Freezed. Best cifar10 test classification accuracy after 50 epochs of unsupervised training: 43,8%, not clear how to chose parameters, discussions, feedback or suggestions are welcome!

Example results of nearest neighbor search on the learned representation (for Cifar 10 test examples):

Examples for nearest neighbor search

First column: query images, second to sixth columns: nearest neighbors.

About

Noise-as-targets representation learning for cifar10. Implementation based on the paper "Unsupervised Learning by Predicting Noise" by Bojanowski and Joulin.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%