增量学习笔记

增量学习是一种让模型在不断学习新知识的同时保留旧知识的方法,旨在避免传统深度学习中的灾难性遗忘问题。它包括特征提取、微调和联合训练等策略,以在不重复处理旧数据的情况下,有效地平衡新旧知识。相比于迁移学习,增量学习更专注于在学习新任务时保持对旧任务的记忆。
摘要由CSDN通过智能技术生成

增量学习

增量学习是指一个学习系统能不断地从新样本中学习新的知识,并能保存大部分已经学习到的知识。其非常类似于人类自身的学习模式,设想一下,当我们学会了 0-9 识别与书写,再学习 A-Z 字母表的识别与书写后我们仍然记得 0-9 数字的识别与书写,而目前传统分类任务是一个网络学习了 0-9 数字分类,再用这个网络学习 A-Z 字母分类后,就会难以对数字有一个很好的分类,如果想兼顾 0-9 和 A-Z 则需要将所有种类的样本都输入到神经网络进行训练,这无疑是很耗时耗力的。

所以增量学习主要关注的是灾难性遗忘(Catastrophic forgetting),平衡新知识与旧知识之间的关系,即如何在学习新知识的情况下不忘记旧知识。引用Robipolikar对增量学习算法的定义,即一个增量学习算法应同时具有以下特点:
1) 可以从新数据中学习新知识
2) 以前已经处理过的数据不需要重复处理
3) 每次只有一个训练观测样本被看到和学习
4) 学习新知识的同时能保持以前学习到的大部分知识
5) 一旦学习完成后训练观测样本被丢弃
6) 学习系统没有关于整个训练样本的先验知识

增量学习与迁移学习

在概念上,增量学习与迁移学习最大的区别就是对待旧知识的处理,增量学习在学习新知识的同时需要尽可能保持旧知识,不管它们类别相关还是不相关的,而迁移学习则只是借助旧知识来学习新知识,学习完成后只关注在新知识上的性能,不再考虑在旧知识上的性能。

几种增量学习方法

feature extraction: 完全不会改变共享的layer和最开始用旧数据训练好的分类器,然后用旧任务训练好的的模型中的某个layer来提取特征,然后仅仅训练新任务分类器
fine tuning:新的类别的数据进来后,完全不会改变旧任务的分类器,会用非常小的学习率去调整共享参数,尽量让改变的共享模型不会影响到旧任务,又可以适当帮助新任务。还有可能冻住共享模型的某些conv层,仅仅finetune后面的fully connected layers, 这种介于feature extract和fine tune之间
joint training:所有的参数都需要重新学习,要把旧的数据新的数据都储存下来,这个方法内存消耗训练时间都是最多的,但是效果是最好的,可算作增量学习的upper bound

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值