【学习资源】终身机器学习之增量学习

这篇具有很好参考价值的文章主要介绍了【学习资源】终身机器学习之增量学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

从机器学习存在的问题谈起,介绍增量学习可以解决怎样的问题,增量学习的类别,实现增量学习的方法,增量学习的评价指标和常用数据集,类别增量学习典型方法和代码库以及参考资源,希望能帮助大家用增量学习提高图像分类、对象检测、语义分割、行为识别、对象重识别、三维点云处理等工作的质量。

1目前机器学习存在什么问题?

【学习资源】终身机器学习之增量学习

图片来源:https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf

目前机器学习存在以下问题:

已有的领域信息如果包含有噪声和没有噪声信息的内容,如何让模型在两种情况上都能有较好的表现?

包含参数的神经网络模型能较好地完成任务一,但不能完成任务二。和人类比,也就是只能完成一种任务。或者说,参数不能适应新的任务。如何获得能够同时较好地完成任务一和任务二的模型?

在图像分类的任务中,初次训练分类器时很难收集全所有可能类别的训练样本,应用中遇到新类别时需要进行类别增量训练,如何训练?

对象检测和语义分割模型如何利用背景信息挖掘有利于后续类别增量学习的特征表示?

2 增量学习解决了什么问题?

既能不断更新学习新类别或者任务,又能较好地保持在已学习类别或任务的性能。

持续学习(Continual Learning)或者增量学习(Incremental Learning)试图帮助神经网络实现像人们一样学习大量不同的任务,不出现任何负面的相互干扰, 并解决灾难性的遗忘问题。增量学习算法的重点不是如何利用在以前任务中学到的知识来帮助更好地学习新任务,而是解决灾难性遗忘的问题。

【学习资源】终身机器学习之增量学习

 

图片来源:Incremental Learning in Deep Convolutional Neural Networks Using Partial Network Sharing – arXiv Vanity

3增量学习有哪些类别?

下表中的分类层指深度神经网络的最后一层,特征提取器指深度神经网络除去分类层的前面层次。

种类

原理

类别集特征

遗忘现象发生的结构

测试阶段要求

数据增量

类别集不变,数据以在线形式动态增加。

不变

NA

NA

任务增量

不同的任务共享相同的特征提取器,每学习一个任务,模型需要增加一个输出分类层。

变化,在各自任务内部分类。

在特征提取器,因为不同任务的分类层之间互不影响。

模型需要事先已知当前测试样本所属的任务编号,在该任务所对应的分类层内部分类。

类别增量

所有类别共享一个分类层,该分类层的类别节点会随着学习类别的增加而增加。在现实中有很多实际需求 。

变化在所有已学习类别上分类。

特征提取器和分类层都存在遗忘现象。因为不同类别之间会相互影响。

不需要预先指定测试样本所属类别就可以对所有已知类别进行分类。

4实现增量学习的方法有哪些?

介绍两种不同的分类方法。

【学习资源】终身机器学习之增量学习

图片来源:

https://github.com/virginiakm1988/ML2022-Spring/blob/main/HW14/HW14.pdf

李宏毅教授在https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf介绍了以下三种类型。

  • Selective Synaptic Plasticity  
  • Additional Neural Resource Allocation 
  • Memory Reply

Selective Synaptic Plasticity   用梯度方法可以找到哪些参数对某一个任务重要。通过改变那些对第一个任务影响不大或者不重要的参数,让模型可以同时完成第一个任务和第二个任务。这个方法主要是改变模型的参数,称为参数正则化。如EWC、SI、MAS以及LwF-MC等方法。参数正则化方法适用于解决任务增量学习。

Additional Neural Resource Allocation  介绍了Progressive Neural Network,PackNet和CPG。Progressive Neural Network渐进式神经网络保留大量的预训练模型,也即保留旧任务的模型参数,当有新任务时,使用旧任务之间的横向链接来适应。当然其缺点是随着任务数量的增加,参数的数量会爆炸式增长。PackNet则是先设置一个很大的网络,当有新的任务时,只使用大网络中的一部分。这样参数量不会随着任务的增加而增加。Progressive Neural Network和PackNet相结合,可以既增加新的参数,也可以保留完成每一次任务的 参数。

Memory Reply是指使用先前任务的生成模型生成伪数据。

【学习资源】终身机器学习之增量学习

图片来源:朱飞,张煦尧,刘成林.类别增量学习研究进展和性能评价[J].自动化学报,2023,49(03):635-660.DOI:10.16383/j.aas.c220588.

在《类别增量学习研究进展和性能评价》这篇文章里,朱飞等介绍了基于克服遗忘的技术思路的五种方法:基于参数正则化、基于知识蒸馏、基于数据回放、基于特征回放和基于网络结构,总结了每种方法的优缺点。作者们在常用数据集上用实验评估代表性方法, 并根据实验结果比较分析了现有算法的性能,也展望了类别增量学习的研究趋势,是一个非常好的参考资料。我就不赘述了。

基于知识蒸馏的方法是在学习新任务的同时,保持新旧模型对给定数据的输出一致性,也即“输入-输出”不变形,避免遗忘旧知识。可以通过保持重要特征、样本关系和辅助数据来实现。如TPCIL、PODnet、DDE以及GeoDL等方法。

数据回放是指模型在学习新任务的时候,可以将旧任务的类别数据和新任务的类别数据一起更新模型,可以通过回放真实数据、回放生成数据以及校准新旧偏差实现。如等方法。

大部分基于数据回放的方法会使用知识蒸馏策略,从而可以更好地利用保存的旧类别样本。如iCaRL,BiC,UCIR,WA等方法。

特征回放是指模型在学习新任务的时候,可以将旧任务的样本特征和新任务的样本特征一起更新模型,可以通过回放真实特征、类别原型和生成特征实现。如PASS、SSRE、Fusion方法。

基于网络结构的方法是在增量学习的过程中动态扩展网络结构。如AANets、DER、ReduNet方法。

5增量学习的评价指标和常用数据集

【学习资源】终身机器学习之增量学习

图片来源:朱飞,张煦尧,刘成林.类别增量学习研究进展和性能评价[J].自动化学报,2023,49(03):635-660.DOI:10.16383/j.aas.c220588.

【学习资源】终身机器学习之增量学习

图片来源:朱飞,张煦尧,刘成林.类别增量学习研究进展和性能评价[J].自动化学报,2023,49(03):635-660.DOI:10.16383/j.aas.c220588.

6类别增量学习典型方法和代码库

类别增量学习的目标是模型在动态、开放的环境下, 能够在较好地保持已有知识的基础上, 持续地学习新类别知识。

iCaRL(Incremental Classifer and Representation Learning)是一种非常基础的方法,其用于在类增量设定下同时学习分类器和特征表示。在高层次上,iCaRL为每个观察的类维护一个范例样本集。对于每个类,范例集是该类所有样本的一个子集,目的是包含该类的最具代表性的信息。新样本的分类是通过选择一个与之最相似的范例集所在的类来完成的。当一个新类出现时,iCaRL为此新类创建一个范例集,同时修剪现有/以前类的范例集。这个方法包括增量训练、更新特征表示和为新类构建范例集。

PyCIL: A Python Toolbox for Class-Incremental Learning GitHub - G-U-N/PyCIL: PyCIL: A Python Toolbox for Class-Incremental Learning

,这个工具箱几乎实现了所有的类别增量学习方法。包括EWCiCaRL经典算法以及SSRECoilFOSTERFeTRIL等最新的增量学习方法。其他库可参考Incremental Learning | Papers With Code

下图是增量学习的过程

【学习资源】终身机器学习之增量学习

图片来源:Knowledge Distillation and Incremental Learning - Deepan Das

7参考资源

以下资源供参考。

  • 台湾大学李宏毅终身学习课程

第十四节 2021 - 机器终身学习 (一) - 为什么今日的人工智能无法成为天网?灾难性遗忘(Catastrophic Forgetting)_哔哩哔哩_bilibili

2021 - 机器終身学习 (二) - 灾难性遗忘(Catastrophic Forgetting)_哔哩哔哩_bilibili  

课件https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf

  • 最新综述 | 类别增量学习研究进展和性能评价 全文链接类别增量学习研究进展和性能评价 朱飞,张煦尧,刘成林.类别增量学习研究进展和性能评价[J].自动化学报,2023,49(03):635-660.DOI:10.16383/j.aas.c220588.
  • 让模型实现“终生学习”,佐治亚理工学院提出Data-Free的增量学习
  • 万文长字总结「类别增量学习」的前世今生、开源工具包 
  • 增量学习论文和代码汇总: Incremental Learning | Papers With Code
  • 陈志源,刘兵. 终身机器学习(原书第2版) (智能科学与技术丛书) (Chinese Edition) (Kindle Locations 1381-1385). Kindle Edition.
  • https://deepandas11.github.io/deep-learning,/computer-vision,/detection,/incremental-learning/Incremental-Learning/

总之,类别增量学习可以助力于图像分类、对象检测、语义分割、行为识别、对象重识别、三维点云处理等工作。欢迎大家留言,我们一起讨论交流。文章来源地址https://www.toymoban.com/news/detail-426783.html

到了这里,关于【学习资源】终身机器学习之增量学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 时间序列预测模型实战案例(四)(Xgboost)(Python)(机器学习)图解机制原理实现时间序列预测和分类(附一键运行代码资源下载和代码讲解)

    目录图解机制原理 简介 Xgboost预测精度 实验一(回归) 实验二(分类) Xgboost的数学机制原理 图解Xgboost运行机制原理  决策树 决策树结构图 Xgboost Xgboost的机制原理 贪心算法 Xgboost总结 数据格式需求 Xgboost运行代码 Xgboost时间序列预测及代码 Xgboost分类任务及代码 Xgboost运行资源下

    2024年02月03日
    浏览(50)
  • 【学习资源】C#初学者学习资源推荐

    大家好,这是笔者自己自行整理的C#学习资源推荐,包含 网站、书籍和社区 ,方便自己学习的同时分享出来,希望可以帮到大家谢谢。 首先笔者最推荐的当然是我们微软 官方的学习文档 :官方C#文档, 众所周知官方的文档永远是最全面的,最权威的,更新最及时的。而其它

    2024年02月05日
    浏览(84)
  • 3dMax全球学习资源、资源文件和教程 !

    此样例教育教程和学习资源旨在提供使用Autodesk 3ds Max时的计划知识和培训、正确的工作流、流程管理和最佳实践。 您在Autodesk三维设计领域的职业生涯 有关使用3ds Max和Maya在计算机图形领域开始职业生涯的提示(包括新的3ds Max和Maya介绍教程,以复习您的技能) 确保3ds Max场

    2024年02月09日
    浏览(23)
  • AIOPS学习资源

    2024年02月06日
    浏览(24)
  • CTF学习资源

    网址:https://buuoj.cn/challenges 答案是flag{admin1} 下面的字符串解密后便能获得flag: ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30= 注意:得到的 flag 请包上 flag{} 提交 显然是base64加密 flag{THE_FLAG_OF_THIS_STRING} flag{and 1=1} synt{5pq1004q-86n5-46q8-o720-oro5on0417r1} 凯撒密码,13位 A换成N、B换成O、依此类推到

    2024年02月10日
    浏览(23)
  • 【CXL】学习资源整理

    🔥 点击查看精选 PCIe 系列文章 🔥 🔥 点击进入【芯片设计验证】社区,查看更多精彩内容 🔥 📢  声明 : 作者主页:【MangoPapa的CSDN主页】。 本文首发于CSDN,转载或引用请注明出处【https://mangopapa.blog.csdn.net/article/details/131338871】。 本文目的为 个人学习记录 及 知识分享

    2024年02月10日
    浏览(26)
  • python学习资源及路线

    python 代码调试软件 Python各类图像库的图片读写方式总结 Python学习手册 笔记 python_tutorials 教程 较全 待整合 python实现的全部算法 教程 以撸代码的形式学习Python 鱼C 零基础入门学习Python 鱼C 《极客首选之Python》 Python抓取股票信息 关于Python的面试题 Python语言特性 操作系统 数

    2024年02月12日
    浏览(25)
  • 学习笔记——SPARTAN 6 系列IO资源学习笔记

    学习笔记——SPARTAN 6 系列IO资源学习笔记 参考:《Spartan-6 FPGA SelectIO Resources》User Guide 所有Spartan-6 fpga都具有可配置的高性能SelectIO驱动器和接收器,支持各种标准接口。每个IOB都包含输入、输出和3态SelectIO驱动程序。这些驱动程序可以配置为各种I/O标准。 •单端I/O标准(LVC

    2024年02月03日
    浏览(54)
  • 控制台架构体系学习资源

    微软 微软官方教程:欢迎查看 Windows 控制台文档!

    2024年01月19日
    浏览(31)
  • 用户资源(菜单)控制学习使用

    效果图 第一步 需要再定义常量资源 第二部组装数据 第三步 定义接口 返回值模型 请求参数 返回值 效果图 将用户与资源关联 实体模型 数据库表数据 系统显示用户拥有的菜单 定义接口 Service服务+数据组装 返回值 效果图 请看最上面

    2024年01月24日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包