论文《Learning to learn without forgetting by maximizing transfer and minimizing interference》中提出了“将经验重放与元学习相结合“的增量学习方法:Meta-Experience Replay (MER)。
这里整理了一下MER的算法流程和代码实现,分别针对任务增量(Task-IL)和类增量(Class-IL)场景下。
论文解析可以戳这里:论文解析:Learning to learn without forgetting by maximizing transfer and minimizing interference
目录
1.1 Reservior Sampling (蓄水池采样)
1.2 Experience Replay (ER,经验回放方法)
1. 算法基础
1.1 Reservior Sampling (蓄水池采样)
Reservior Sampling 是基于经验重放的增量学习方法中常使用的等概率采样方法。
(1) 原理
给出一个数据流,这个数据流的长度很大或者未知。并且对该数据流中数据只能访问一次。写出一个随机选择算法,使得数据流中所有数据被选中的概率相等。
(2) 方法
假设需要采样的数量为k。
首先构建一个可容纳k个元素的数据,将序列的前k个元素放入数据。
然后对第j个元素(j>k),以k/j的概率决定该元素是否被留下(替换到数组中,数组中的k个元素被替换的概率相同)。
(3) 证明
(4) 算法流程
1.2 Experience Replay (ER,经验回放方法)
(1) 学习目标
核心是保持对已经见过的exemplars的记忆
目标函数:
其中,
为 memory buffer,current size =
, maximum size =
原理:使用 Reservioe Sampling 更新 buffer,确保在每一个时间步长里,任何
个exemplars在 buffer 中被看见的概率都等于
(2) 算法流程