美文网首页
【心理学与AI】终身学习和连续学习综述

【心理学与AI】终身学习和连续学习综述

作者: 子夜Uni | 来源:发表于2021-05-07 21:11 被阅读0次

    Parisi, G. I., Kemker, R., Part, J. L., Kanan, C., & Wermter, S. (2019). Continual lifelong learning with neural networks: A review. Neural Networks, 113, 54-71.

    因为我们组之前关注的问题就是,在学习中新知识和旧知识产生冲突的时候,人的记忆系统是如何处理的。这个问题人工智能也是关心的,而且这个问题最近还很热,我找到了19年的一篇综述,这个研究主题叫做lifelong learning/continuous learning。

    这个问题对AI的人来说主要是这样的:神经网络的训练往往是一次性的(concurrent training),也就是说训练个几天之后,测试它的性能,然后直接拿来使用。但是有很多场景(比如家用机器人),我们是希望神经网络具有人一样,不断学习的能力的。

    为什么神经网络做不到不断学习呢,最主要的一个bug就叫做catastrophic forgetting灾难性遗忘。就是在训练好task A的网络上喂新的数据训练task B的话,task B学会了之后网络上的权值变化很大,以至于破坏了taskA需要的映射关系,导致task A做不了了。

    要改善这个问题,神经科学家提出了一些人的记忆系统中可以借鉴的机制,计算机科学家也提出了一些改进的算法。这个综述还是neural networks 这本杂志的热门综述,19年发的引用量就快200了。这些解决方案很有意思,相信大家看了这篇文章会有所启发的。

    问题背景

    The Stability-Plasticity Dilemma

    人类能够很好地记忆不同的知识/能力,尽管不断有外部的知识,信息进到大脑中,但是很多已经巩固了的知识人类是不会忘记的或者说很少有影响。这就依靠着大脑的稳定-可变平衡的调整。 所以这在有关记忆的神经科学研究中是非常重要的一个课题。人脑神经突触的可变性在不同的区域,不同的结构,不同的记忆阶段,在人不同的成长阶段呈现出不同的特征。

    Hebbian Plasticity and Stability

    Hebbian模型是最著名的用于解释神经突触可变性的模型,他的核心观点是,来自后突触细胞的稳定刺激能够以一定比例强化前突触细胞,Δw = x·y·η。因为本身存在不稳定性,所以需要一定的补偿方法来稳定强化学习过程。同时,可变性自我平衡的实现需要一个来自观察的调和反馈,因此,方程可以被改写为Δw = m·x·y·η。同时也有非常多的模型能够解释神经网络的自我组织过程

    The Complementary Learning Systems

    人脑需要特定的方法来记忆储存长时记忆和短时记忆,人脑的不同区域会有出不同的短时记忆效果,比如海马体。海马体能够承担短时记忆的任务,它能以更快的速度以及更小的损耗进行学习。同时,研究者对不同成长阶段的人的海马体的发育、结构模式有着不同的看法。

    Learning without Forgetting

    同时也有一些区域负责长时记忆,比如PFC,PFC能够储存长时记忆。同时也有研究发现特定场景能够让人们失忆。比如在婴儿的学习中加入干扰能够影响婴儿的记忆效果。同样将3-8岁的儿童脱离母语环境并且放到不同的语言环境中,这会影响他们关于母语的记忆。所以如果要进行长时记忆我们就应该想办法保护这些记忆。

    目前的算法

    正则化的方法

    这个方法的本质就是,神经网络中的参数有那么多,当我学习task B的时候,并不需要彻底地改变整个网络我才能学,可以保留一些原网络的参数,使得taskA的绩效不要下降得太多。但是可以想象,这样做的结果必然让A和B的训练效果都有损失,而不同的算法就在探索如何让这种损失减小。对于人来说,这个就是在学习新任务的时候,老任务的记忆会干扰新任务的学习,新任务也会一定程度地修改老任务的记忆,彼此之间是一个抗衡的过程,也就是之前说到的stability-plasticity dilemma。

    动态改变网络结构

    在人的学习中发现,新记忆的产生也会带来神经元的结构变化(例如突触的增加),产生新的记忆载体有可能是一种可行的方式,来减少和老记忆的冲突。所以第二类方法呢,就是在学习taskB的时候,改变网络的结构(比如增加神经元、构建新的层),尽可能多的只改变新结构中的参数,而更多地可以保护taskA训练得到的老参数。这个的问题就在于,对于每一个新任务我都要增加结构,那当任务大量扩增的时候,我的网络也会变得特别复杂,带来计算量的急剧增加,效率降低。

    构建两个分离的系统

    大家在导言里看了CLS,主要是说人的记忆系统分为一个长时一个短时,也就是说,并不是所有的新数据过来(短时记忆),我都无差异地整合到我的网络(长时记忆)中去,而是需要一些条件(例如数据出现的频率,和之前数据的相似度)。这类算法是受这个系统启发,把新的数据暂时以case的形式存储起来,然后在达到必要条件的时候整合到网络中去。带来的问题各种各样,例如临时的存储容量很小,如果都不符合整合得条件,就会都丢失。

    更复杂的生态设计

    这个主要是针对多任务的机器人的,这些算法是从人类发展受到启发,认为网络结构也是随着学习不断进化和拓展的。另外,人类学习的注意、动机因素也被考虑进来,这样对于样本数据就可以差异化得加工。但是这类算法显然对人类的模拟还太粗糙了,对于结构的定义也很暴力,达到的效果并不理想。

    详细算法

    抽了一些感兴趣的分给大家做精读,笔记整理如下

    Li, M., Zhang, T., Chen, Y., & Smola, A. J. (2014, August). Efficient mini-batch training for stochastic optimization. In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 661-670).

    Mini-batch stochastic learning是训练神经网络的一种方法优化,也就是现在主流的方法,即每一次训练在训练集里随机抽取一些数据来训练,就是和大家之前看的interleave是对应的。这是提出这个方法的文章(大佬+巨佬的文章),重点看作者认为这个方法为什么有用。可能需要看一些数学的东西,笔记尽可能突出核心思想,可以借助其他网络资料。
    阅读笔记-Zhu Bihan

    Zhou, G., Sohn, K., & Lee, H. (2012, March). Online incremental feature learning with denoising autoencoders. In Artificial intelligence and statistics (pp. 1453-1461).

    动态网络结构的方法。整合多余的特征。Adds neurons for samples with high loss and subsequently merges these neurons with existing ones to prevent redundancy。9p

    Xiao, T., Zhang, J., Yang, K., Peng, Y., & Zhang, Z. (2014, November). Error-driven incremental learning in deep convolutional neural network for large-scale image classification. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 177-186).

    动态网络结构的方法。动态形成层级结构。Classes are grouped according to their similarity and self-organized into multiple levels, with models inheriting features from existing ones to speed up the learning。
    阅读笔记-Tang Wenwen

    Yoon, J., Yang, E., Lee, J., & Hwang, S. J. (2017). Lifelong learning with dynamically expandable networks. arXiv preprint arXiv:1708.01547.

    动态网络结构的方法。添加了随机记忆replay的方法来减少遗忘,监督学习。selective retraining which expands the network capacity using group sparse regularization to decide how many neurons to add at each layer。https://zhuanlan.zhihu.com/p/87775025 有个知乎的阅读笔记可以参考。10p
    阅读笔记-Wang Haimin

    Draelos, T. J., Miner, N. E., Lamb, C. C., Cox, J. A., Vineyard, C. M., Carlson, K. D., ... & Aimone, J. B. (2017, May). Neurogenesis deep learning: Extending deep networks to accommodate new classes. In 2017 International Joint Conference on Neural Networks (IJCNN) (pp. 526-533). IEEE.

    动态网络结构的方法。添加了随机记忆replay的方法来减少遗忘。it uses intrinsic replay (a generative model used for pseudo-rehearsal) to preserve the weights required to retain older information。8p.

    Rebuffi, S. A., Kolesnikov, A., Sperl, G., & Lampert, C. H. (2017). icarl: Incremental classifier and representation learning. In Proceedings of the IEEE conference on Computer Vision and Pattern Recognition (pp. 2001-2010).

    动态网络结构的方法。用rehearsal的方法来动态调整卷积层的特征提取器,以免受到固定数据集的bias影响。storing example data points that are used along with new data to dynamically adapt the weights of the feature extractor。
    阅读笔记-Zhu Bihan

    Parisi, G. I., Tani, J., Weber, C., & Wermter, S. (2017). Lifelong learning of human actions with deep neural network self-organization. Neural Networks, 96, 137-149.

    动态网络结构的方法。这篇借鉴人的记忆系统比较多,甚至模拟了神经元的衰退,但是数学公式多一些。lifelong learning of human action sequences can be achieved in terms of prediction-driven neural dynamics with internal representations emerging in a hierarchy of recurrent self-organizing networks。12p

    Shin, H., Lee, J. K., Kim, J., & Kim, J. (2017). Continual learning with deep generative replay. In Advances in Neural Information Processing Systems (pp. 2990-2999).

    CLS长短时记忆系统的方法。随机记忆(伪)重放的方法,不是存example而且生成记忆重放,可以看看是怎么模仿人的重放系统的。training data from previously learned tasks can be sampled in terms of generated pseudo-data and interleaved with information from the new tasks。10p
    阅读笔记-Lin Beibei

    Lopez-Paz, D., & Ranzato, M. A. (2017). Gradient episodic memory for continual learning. In Advances in Neural Information Processing Systems (pp. 6467-6476).

    CLS长短时记忆系统的方法。存储的是学习样本中的一部分,可以看看根据什么标准来选取哪些样本被存下来。存在哪些问题?episodic memory used to store a subset of the observed examples from a given task。7p
    阅读笔记-Ye Yizhou

    Vinyals, O., Blundell, C., Lillicrap, T., & Wierstra, D. (2016). Matching networks for one shot learning. In Advances in neural information processing systems (pp. 3630-3638).

    迁移学习。One-shot learning,就是在原来的数据集上训练的网络,经过一次训练(一个配对数据)就可以迁移到新数据集上。最新的爆款算法。虽然这个没有防止之前的记忆被遗忘的功能,但是可以看做是动态结构的一种拓展。performing well on novel tasks but do not prevent catastrophic forgetting on previously learned tasks. 9p

    Pathak, D., Agrawal, P., Efros, A. A., & Darrell, T. (2017). Curiosity-driven exploration by self-supervised prediction. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops (pp. 16-17).

    内部激励的探索学习。这篇很短,需要自己再找一篇后续,关注一下后面对这个算法的改进,尤其是当没有interaction存在的时候。using the knowledge acquired from previous experiences for the faster exploration of unseen scenarios。2p

    相关文章

      网友评论

          本文标题:【心理学与AI】终身学习和连续学习综述

          本文链接:https://www.haomeiwen.com/subject/fpkimhtx.html