Curriculum Learning by Transfer Learning: Theory and Experiments with Deep Networks
Curriculum Learning by Transfer Learning: Theory and Experiments with Deep Networks
Daphna Weinshall, Gad Cohen, Dan Amir
Intro
curriculum learning的想法,即从简单到难学习sample。 这里考虑的curriculum learning基于training example的ranking(即某种权重)。而简单的example,ranking高,先学。
但是因为ranking太难以得到,限制了其在ML实际中的运用。而且哪怕是由人工界定的difficulty ranking,也很难保证是machine learner理解的difficulty ranking。
如何解决这个问题?得到一个reliable ranking和transfer learning密切相关。这里我们训练了另外一个classifier来提供ranking,基于一个假设的difficulty。 (注意和multi-task learning和lifelong learning的区别。这里我们将knowledge从一个classifier到另外一个classifier,即teacher classifier到student classifier。但这类问题还没有在deep learning的范围内,和其他分类框架下,讨论过。)
Theoretical analysis
定义1 (Ideal Difficulty Score) 数据点$$x$$的难度是由其在optimal hypotheses set中的最小loss定义的。
定义2 (Stochastic Curriculum Learning) SCL是SGD的一个变种,learning会根据训练样本的难度逐渐训练。
SCL中,选取用于训练的样本会偏向于训练开始时候简单的样本。随着调度过程的进行,bias逐渐减少。在训练结束后,SCL会偏向于SGD。
实际SCL需要解决两个问题
- 通过difficulty对训练样本进行排序
- 定义一个调度过程
Curriculum learning in deep networks
Ranking Examples by Knowledge Transfer
这里的difficulty是基于另一个classifier的knowledge transfer。transfer learning指的是pre-training + fine-tuning。fine-tuning中,倒数第二层layer作为定点(loci)来transfer knowledge。已经证明可以在这最后一层使用shallow classifier就能在新的任务上得到competitive performance。这里我们提出使用这类shallow classifier的confidence,比如SVM的margin,来衡量数据点的difficulty。而后会用这个measure对训练数据进行排序。 注意,以往的transfer learning是复用pre-trained model,而这里只是使用pre-trained model+shallow model用于衡量difficulty。
Scheduling the Appearance of Training Examples
两种调度方法
- Fixed:随着每一个step,sample weight/difficulty会改变;直到最终的step,所以weight都一样
- Adaptive:和上一个类似,只是每一个step的长度不一样。是由当前的loss决定。
Appendix
一种通过transfer learning学习数据权重的方法,并通过该权重调解训练顺序。