EWC:Overcoming catastrophic forgetting in neural networks
概要
根据某些参数对先前任务的重要性来缓解某些参数权重的学习率
EWC
约束重要的参数以保持接近旧的值。
解决问题:
- 为什么希望找到一个与旧任务解决方案相近的新任务
- 如何实现对参数的约束
- 如何确定某些参数是重要的
θ的不同配置可能导致一个相同的结果,因此新任务的参数可能和就任务的此参数相似。
将就任务的参数限制在一个误差较小的区域内。不同参数的重要性是不同的。
优化参数相当于在给定数据D后,找到参数最可能的值。
在已知先验概率p(θ)和数据的概率p( D | θ )计算后验概率p( θ | D ):
假设又A、B两个任务:
左边需要整个数据集,右边则只取决于B任务的损失函数
当训练好任务A后,直接采用梯度下降训练任务B,(蓝色箭头),最小化了B的损失,但是会忘记任务A。
若对每个参数都采用同等的约束效力(绿色箭头),无法学习新的任务B
计算每个参数的重要性进行约束(红色箭头)
将后验分布近似为高斯分布,其均值为θ*a(A任务的参数),又费雪信息矩阵给出对角线精度,费雪信息同等与KL散度的负二阶倒数。
因此可以定义EWC的损失函数:
LB(θ)为任务B的损失,通过λ来设置旧任务对于新人物的重要性,并对每个任务进行标签。
当出现任务C后,EWC会保持网络的参数接近任务A和任务B。
2.1 EWC allows continual learning in a supervised learning context
左图,在出现新任务后只有EWC能够对三个任务都又较高的准确率,每当有新任务出现后,SGD对旧任务识别的准确度都会下降,而L2对A任务一直有较好的准确率,但是对后续任务的识别效果不好。
中间的图,在随着任务数量的增多,EWC较之SGD展示了优秀的性能。
右图,当两个任务相似时,他们的fisher矩阵重叠的部分也较大,共用了相同的权重