On The Power of Curriculum Learning in Training Deep Networks

Guy Hacohen, Daphna Weinshall
4/7/2019
cs.LGstat.ML

Official code: GuyHacohen/curriculum_learning (120 stars, GPL-3.0, last commit 2020-02-13).

Abstract

Training neural networks is traditionally done by providing a sequence of random mini-batches sampled uniformly from the entire training data. In this work, we analyze the effect of curriculum learning, which involves the non-uniform sampling of mini-batches, on the training of deep networks, and specifically CNNs trained for image recognition. To employ curriculum learning, the training algorithm must resolve 2 problems: (i) sort the training examples by difficulty; (ii) compute a series of mini-batches that exhibit an increasing level of difficulty. We address challenge (i) using two methods: transfer learning from some competitive ``teacher" network, and bootstrapping. In our empirical evaluation, both methods show similar benefits in terms of increased learning speed and improved final performance on test data. We address challenge (ii) by investigating different pacing functions to guide the sampling. The empirical investigation includes a variety of network architectures, using images from CIFAR-10, CIFAR-100 and subsets of ImageNet. We conclude with a novel theoretical analysis of curriculum learning, where we show how it effectively modifies the optimization landscape. We then define the concept of an ideal curriculum, and show that under mild conditions it does not change the corresponding global minimum of the optimization function.

View on arXivView PDF

Code Implementations(1)

GPL-3.0

Code implementing the experiments described in the paper "On The Power of Curriculum Learning in Training Deep Networks" by Hacohen & Weinshall (ICML 2019)

12027PythonMay 11, 20196 years agoGPL-3.0

Similar Papers

Cite this paper

@article{hacohen2019power,
  title  = {On The Power of Curriculum Learning in Training Deep Networks},
  author = {Guy Hacohen and Daphna Weinshall},
  year   = {2019},
  eprint = {1904.03626},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1904.03626}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1904.03626.svg)](https://codeofpaper.com/paper/1904.03626)

Discussion