“Life Long Learning”(终身学习)和“灾难性遗忘”(catastrophic forgetting)

"Life Long Learning"(终身学习)是一种让深度学习模型能够持续地在不同的任务上进行增量学习的方法,它旨在解决传统的深度学习模型在面对新任务时容易出现"灾难性遗忘"(catastrophic forgetting)的问题³。也就是说,当一个深度学习模型在一个新任务上进行训练时,它会忘记之前在其他任务上学到的知识,导致在旧任务上的性能下降³。

"Life Long Learning"可以通过以下几种策略来提高深度学习模型的能力:

知识保留(Knowledge Retention):这种策略是通过对模型参数更新做一些限制,让它不要偏离之前任务太远,从而避免忘记之前的知识。

知识迁移(Knowledge Transfer)是一种让深度学习模型能够利用已有的知识来解决新的任务的策略。它的基本思想是,如果两个任务之间有一些共同的特征或规律,那么在一个任务上学到的知识可以帮助另一个任务的学习。例如,如果我们想让一个模型能够识别猫和狗的图片,我们可以先让它在一个大型的图片数据集上进行预训练,学习一些通用的图像特征,然后再在一个小型的猫狗图片数据集上进行微调,学习一些特定的猫狗特征。这样,我们就可以利用之前任务的知识来提高后续任务的性能。

知识迁移有很多种方法,其中一种是Progressive Neural Network(PNN)。PNN是一种动态地增加网络结构来适应不同任务的方法。它的基本思想是,对于每个新任务,它都会增加一个新的网络列(column),并且将之前任务每层输出的特征作为新任务对应层的输入。这样,新任务就可以利用之前任务的特征来进行学习,而不会影响之前任务的参数。

实战中可以把老的数据集当成任务1,新收集的数据集当成任务2

灾难性遗忘的示例:

相关推荐
是翔仔呐10 分钟前
第13章 SPI通信协议全解:底层时序、4种工作模式与W25Qxx Flash芯片读写实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
是翔仔呐37 分钟前
第14章 CAN总线通信全解:底层原理、帧结构与双机CAN通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
Yilena2 小时前
一文讲透 Agent 应用中的记忆工程
人工智能·学习
再玩一会儿看代码2 小时前
Java中 next() 和 nextLine() 有什么区别?一篇文章彻底搞懂
java·开发语言·经验分享·笔记·学习
那山川3 小时前
ros学习笔记15~40
笔记·学习
艾莉丝努力练剑3 小时前
alarm系统调用的一次性原理揭秘
linux·运维·服务器·开发语言·网络·人工智能·学习
莱歌数字3 小时前
元学习的核心思想
人工智能·科技·学习·制造·cae
210Brian3 小时前
嘉立创EDA硬件设计与实战学习笔记(二):元件符号与封装的绘制
大数据·笔记·学习
山楂树の4 小时前
【计算机系统原理】Intel 与 AT&T 汇编指令格式转换
汇编·学习·缓存
努力学习的小廉4 小时前
redis学习笔记(九)—— Redis 持久化
redis·笔记·学习