Skip to content
Pytorch implementations of Coin Betting Optimizers
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
lib
.gitignore
1d_function_optimize.py
1d_function_play.py
README.md
cifar_optimize.py
cocob.py
log-losses-cifar.png
log-losses-mnist.png
log-suboptimalities-1d-function.png
mnist_optimize.py
slides.pdf

README.md

Coin Betting Optimization Algorithms in Pytorch

Original Cocob implementation in tensorflow can be found here. This is a minified repository from this work, which is unpublished yet.

It contains two published coin betting optimization algorithms:

  1. Cocob Backprop: Training Deep Networks without Learning Rates Through Coin Betting
  2. Cocob through Ons: Black-Box Reductions for Parameter-free Online Learning in Banach Spaces

both of which do not require any learning rates and yet have optimal convergence gauarantees for non-smooth convex functions. Cocob-Ons is an experimental variation from the paper and is WIP, do not use it yet.

To understand betting game and the duality between coin betting and convex optimization please check following: Slides, Video

Code overview:

  1. cocob.py has pytorch implementations for coin betting based optimization.
  2. Mnist and Cifar can be trained and mnist_optimize.py and cifar_optimize.py. It will save the analysable log-losses after training finishes.
  3. Use 1d_function_optimize.py to run cocob on any 1d function and check log-suboptimalities. Default function is f(x)=|x-10|.
  4. Run 1d_function_play.py to see cocob live in action on a 1d function. You can see the internal states of the betting game on matloblib interactively as the optimization goes on!

Some plots

Please cite the following papers if you use this in your work.

@inproceedings{orabona2017training,
  title={Training Deep Networks without Learning Rates Through Coin Betting},
  author={Orabona, Francesco and Tommasi, Tatiana},
  booktitle={Advances in Neural Information Processing Systems},
  pages={2160--2170},
  year={2017}
}
You can’t perform that action at this time.