1.引言
人工神经网络容易发生灾难性遗忘。常常通过重放过去任务的真实样本来联合优化网络参数,但这种方法占用内存,可能在现实部署中不顺利。基于脑科学的研究指出,人脑皮层的海马体不仅仅是一个简单的记忆回放缓冲区。记忆痕迹的重新激活会产生相当灵活的结果。记忆的改变和重新激活会导致巩固记忆的缺陷,而共同刺激海马体中的某些记忆痕迹会产生从未经历过的‘’虚假记忆‘’。这些特性表明,海马体与生成模型的并行性比回放缓冲区更好(这里解释为什么用生成式数据替代真实样本,源自于海马体研究的启发)
所以我们提出了一种方法来顺序训练深度神经网络,而不参考过去的数据。在我们的深度生成重放框架中,该模型通过同时重放生成的伪数据(通过GAN)来保留先前获得的知识。然后将生成的数据与来自过去任务解决者的相应响应配对以表示旧任务。生成器-求解器对可以根据需要生成假数据和所需的目标对,并且当呈现新任务时,这些生成的对与新数据交错以更新生成器和求解器网络。有以下优势:
1.无需访问过去的数据(隐私保护)
2.模型可以不同(强的灵活性)
3.生成式data更能反映知识
2.相关工作
2.1比较方法
1.Dropout、L2正则化
2.EWC: 在参数空间内保护那些重要的参数
3.LWF: 通过知识蒸馏加微调平衡新旧任务性能
2.2互补学习系统理论(CLS)
1.伪排技术:将记忆网络产生的伪输入和伪目标输入任务网络
2.双网络记忆模型
3.通过训练受限玻尔兹曼机来恢复过去的输入分布的生成式回放
2.3深度生成模型
大名鼎鼎的GAN网络,GAN定义了生成器 G G G 和判别器 D D D。判别器通过比较两个数据分布来学习区分生成的样本和真实样本,而生成器则学习尽可能地模仿真实分布,优化目标定义如下:
min G max D V ( D , G ) = E x ∼ p data ( x ) [ log D ( x ) ] + E z ∼ p z ( z ) [ log ( 1 − D ( G ( z ) ) ) ] \min _{G} \max _{D} V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}(\boldsymbol{x})}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z} \sim p_{z}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))] GminDmaxV(D,G)=Ex∼pdata (x)[logD(x)]+Ez∼pz(z)[log(1−D(G(z)))]
3.生成重放
假定需要解决的包含N个任务的任务序列 T = ( T 1 , T 2 , ⋯ , T N ) \mathbf{T}=\left(T_{1}, T_{2}, \cdots, T_{N}\right)