Lifelong Learning.

终身学习(lifelong learning)也叫:

是指把之前任务训练的模型应用到新任务中,在这些任务上都能获得不错的表现。

终身学习与迁移学习的区别在于:

本文目录:

  1. Evaluation
  2. Multi-task training
  3. Elastic Weight Consolidation
  4. Gradient Episodic Memory
  5. Progressive Neural Networks
  6. Net2Net
  7. Curriculum Learning

1. Evaluation

在评估终身学习算法的性能时,通常的做法是:

记录上述表现,可以列出矩阵:

其中$R_{i,j}$表示模型依次在前$i$个任务上训练后在第$j$个任务上的表现。

衡量算法性能的指标包括:

\[accuracy = \frac{1}{T}\sum_{i=1}^{T} {R_{T,i}}\] \[BWT = \frac{1}{T-1}\sum_{i=1}^{T-1} {R_{T,i}-R_{i,i}}\] \[FWT = \frac{1}{T-1}\sum_{i=2}^{T} {R_{i-1,i}-R_{0,i}}\]

2. Multi-task training

多任务学习(Multi-task training)可以用来解决终身学习问题。

每当要解决一个新任务时,模型在所有之前的任务数据和新任务数据上进行学习。

多任务学习的主要问题在于:

一些解决方法:

多任务学习的结果常作为终身学习的上界(upper bound)

3. Elastic Weight Consolidation

Elastic Weight Consolidation (EWC)是指在一个任务上训练得到参数$θ^b$后,对于一个新的任务,在损失函数上加上正则化项:

\[L'(θ) = L(θ) + λ\sum_{i}^{} {b_i(θ_i-θ_i^b)^2}\]

其中参数$b_i$用来衡量$θ_i^b$对上一个任务的重要性,

参数$b$的选择可以使用上一个任务损失函数的二阶微分。

相关阅读:

4. Gradient Episodic Memory

Gradient Episodic Memory (GEM)是指每次训练一个新的任务时,用之前的任务在模型当前参数下的梯度$g^1$、$g^2$…来修正参数$θ$的梯度更新方向$g$:

该方法也需要存储之前的数据。

5. Progressive Neural Networks

Progressive Neural Networks的思想是,每处理一个新的任务,就训练一个新的神经网络,且固定之前的神经网络模型使其可以处理之前的任务;新的神经网络使用之前的网络特征进行训练。

6. Net2Net

Net2Net是训练一个神经网络;每当处理一个新的任务,当前网络表现不够好时,就为网络增加神经元,使其当前参数等效于之前的网络,再在这个更大的模型上训练。

如下图,左边隐藏层具有两个神经元,右图为隐藏层增加了一个神经元,通过分配参数使其与左边等效。为参数加上一些噪声,再进行训练。

7. Curriculum Learning

Curriculum Learning旨在为终身学习选择一个合适的学习顺序。

taskonomy为计算机视觉的各项任务分析了合适的学习顺序。