【连续学习之SSL算法】2018年论文Selfless sequential learning

1 介绍

年份:2018

期刊: arXiv preprint
Aljundi R, Rohrbach M, Tuytelaars T. Selfless sequential learning[J]. arXiv preprint arXiv:1806.05421, 2018.

本文提出了一种名为SLNID(Sparse coding through Local Neural Inhibition and Discounting)的正则化算法,其核心原理是通过模拟大脑中的侧抑制机制,在神经网络中鼓励表示稀疏性,即在网络层级上抑制同时激活的神经元,从而实现对新任务学习时保留网络容量以减少对先前任务的遗忘,并提高序列学习的性能。本文算法属于基于正则化的算法,因为它通过引入一个新的正则化项来鼓励神经网络在表示层面上保持稀疏性,同时考虑了神经元的重要性,以减少对先前任务的干扰。

2 创新点

  1. 自less序列学习(Selfless Sequential Learning)概念
    • 提出了自less序列学习的概念,强调在学习过程中不仅要考虑当前任务,还要为未来任务预留模型容量。
  2. 基于侧抑制的正则化策略
    • 受到大脑中侧抑制机制的启发,提出了一种新的正则化方法,通过惩罚同时激活的神经元来鼓励表示稀疏性。
  3. 局部神经抑制(Local Neural Inhibition)
    • 为了适应复杂任务,提出了局部神经抑制的概念,即只在局部邻域内抑制其他神经元的活动,而不是在整个层级上。
  4. 神经元重要性权重(Neuron Importance for Discounting Inhibition)
    • 引入了神经元重要性的概念,用于调整正则化项,以避免对先前任务中重要的神经元施加抑制,从而减少对旧任务的干扰。
  5. 稀疏编码通过局部神经抑制和折扣(SLNID)
    • 结合了上述概念,提出了SLNID正则化方法,该方法在保持表示稀疏性的同时,允许对先前任务重要的神经元进行折扣处理。
  6. 实验验证
    • 在多个数据集(包括Permuted MNIST、CIFAR和Tiny Imagenet)上验证了所提方法的有效性,并与现有的终身学习(Lifelong Learning, LLL)方法进行了比较,显示出一致的性能提升。
  7. 与现有LLL方法的兼容性
    • 展示了SLNID正则化方法可以与现有的基于重要参数保持的LLL方法(如EWC和MAS)结合使用,并且能够提升这些方法的性能。

3 算法

3.1 算法原理

  1. 表示稀疏性(Representation Sparsity)
    • 算法强调在神经网络的激活(即神经元的输出)层面上实现稀疏性,而不是在参数层面上。这样做的目的是减少新任务学习时对旧任务的干扰,因为稀疏的表示意味着大部分神经元在任何给定时间都是不活跃的,从而为新任务留出更多的网络容量。
  2. 局部神经抑制(Local Neural Inhibition)
    • 算法通过局部神经抑制来实现表示稀疏性。这意味着算法会抑制在同一局部区域内同时激活的神经元,模仿大脑中的侧抑制过程。这种局部抑制通过一个高斯权重函数实现,该函数根据神经元之间的距离来调整它们之间的相互抑制强度。
  3. 神经元重要性(Neuron Importance)
    • 算法引入了神经元重要性的概念,用于衡量神经元在先前任务中的重要性。这是通过计算神经元输出对损失函数梯度的绝对值累积来实现的。重要的神经元在新任务中不会被抑制,以避免对旧任务的性能造成影响。
  4. 正则化项(Regularization Term)
    • 算法在训练目标函数中加入了一个正则化项,用于惩罚那些同时激活的神经元。这个正则化项考虑了神经元的重要性,并使用高斯函数来实现局部抑制。
  5. 折扣抑制(Discounting Inhibition)
    • 对于那些对先前任务重要的神经元,算法会减少或“折扣”对它们的抑制,以保护旧任务的性能不受学习新任务的影响。
  6. 结合现有方法(Combination with Existing Methods)
    • SLNID正则化项可以与现有的终身学习(Lifelong Learning, LLL)方法结合使用,如EWC(Elastic Weight Consolidation)和MAS(Memory Aware Synapses)。这些方法通过惩罚对先前任务重要参数的改变来减少灾难性遗忘。
  7. 训练过程(Training Process)
    • 在训练过程中,算法会优化一个包含数据损失、参数重要性惩罚项和表示稀疏性正则化项的组合目标函数。这有助于在保持对新任务的学习的同时,保留对旧任务的记忆。

3.2 算法步骤

  1. 初始化网络参数 θ \theta θ和网络容量。
  2. 对于序列中的每个新任务 T n T_n Tn,执行以下步骤:

a. 使用当前任务的数据集训练网络,同时最小化以下目标函数:

min ⁡ θ 1 M ∑ m = 1 M L ( y m , f ( x m , θ n ) ) + λ Ω ∑ k Ω k ( θ n k − θ n − 1 k ) 2 + λ S S L R S S L ( H l ) \min_{\theta} \frac{1}{M} \sum_{m=1}^{M} L(y_m, f(x_m, \theta_n)) + \lambda_{\Omega} \sum_{k} \Omega_k (\theta_{n_k} - \theta_{n-1_k})^2 + \lambda_{SSL} R_{SSL}(H_l) θminM1m=1ML(ym,f(xm,θn))+λΩkΩk(θnkθn1k)2+λSSLRSSL(Hl)

其中, L L L是损失函数, f f f是网络预测函数, θ n − 1 \theta_{n-1} θn1是之前任务学习到的最优参数, λ Ω \lambda_{\Omega} λΩ λ S S L \lambda_{SSL} λSSL是权衡参数, R S S L R_{SSL} RSSL是稀疏表示正则化项。
b. 计算每个神经元的重要性权重 α i \alpha_i αi,通过累积每个神经元输出对损失函数梯度的绝对值来实现:

α i = 1 M ∑ m = 1 M ∣ g i ( x m ) ∣ , g i ( x m ) = ∂ ( L ( y m , f ( x m , θ n ) ) ) ∂ n i \alpha_i = \frac{1}{M} \sum_{m=1}^{M} |g_i(x_m)|, \quad g_i(x_m) = \frac{\partial (L(y_m, f(x_m, \theta_n)))}{\partial n_{i}} αi=M1m=1Mgi(xm),gi(xm)=ni(L(ym,f(xm,θn)))

其中, n i n_i ni是第 i i i个神经元的输出。

c. 应用局部神经抑制和折扣抑制,更新正则化项 R S S L ( H l ) R_{SSL}(H_l) RSSL(Hl)

R S L N I D ( H l ) = 1 M ∑ i , j e − ( α i + α j ) e − ( i − j ) 2 2 σ 2 ∑ m h m i h m j , for  i ≠ j R_{SLNID}(H_l) = \frac{1}{M} \sum_{i,j} e^{-(\alpha_i + \alpha_j)} e^{-\frac{(i-j)^2}{2\sigma^2}} \sum_{m} h_{m_i} h_{m_j}, \quad \text{for } i \neq j RSLNID(Hl)=M1i,je(αi+αj)e2σ2(ij)2mhmihmj,for i=j

其中, h m i h_{m_i} hmi是第 m m m个输入在隐藏层的激活值, σ 2 \sigma^2 σ2是高斯函数的方差,控制局部邻域的范围。它通过考虑神经元的重要性和它们之间的空间距离来调整相互间的抑制强度。

d. 更新网络参数 θ \theta θ,通过梯度下降或其他优化算法最小化目标函数。

  1. 重复步骤 2,直到所有任务都已学习。
  2. 在新任务学习时,通过保留未使用的神经元和减少对重要神经元的干扰,减少对先前任务的遗忘,并提高新任务的学习效率。

4 实验分析

图1展示了参数稀疏(a)与表示稀疏(b)在简单双任务案例中的区别,其中参数稀疏导致第二层及更深层的激活在新任务学习时发生改变,而表示稀疏通过限制激活的神经元数量减少了这种干扰。实验结论表明,表示稀疏(如SLNID方法所采用的)相比于参数稀疏,在序列学习中能更有效地减少新任务对旧任务的干扰,从而提高了模型在连续任务学习中的性能和稳定性。

图2展示了在5个排列MNIST序列上不同正则化技术的比较,其中基于表示的正则化技术(实心条形)表现优于基于参数的正则化(带线条的条形)和激活函数(点状条形),特别是SLNID正则化在最后两个任务上表现最佳,表明其在保留网络容量以学习后续任务方面更为有效。实验结论表明,基于表示的正则化方法,尤其是SLNID,能够在序列学习中更好地维持性能,特别是在学习序列中较晚出现的任务时,这表明这些方法在保留网络容量以适应新任务方面更为有效。

5 思考

(1)参数稀疏与表示稀疏分别是什么意思?有哪些代表性算法?

  1. 参数稀疏(Parameter Sparsity)
    • 定义:参数稀疏指的是网络中的权重参数本身是稀疏的,即许多权重值为零或接近零。这意味着网络中只有少数连接是活跃的,而大部分连接可以被忽略。
    • 代表性算法
      • 权重衰减(Weight Decay):通过在损失函数中添加L1或L2正则化项来实现参数的稀疏性,L1正则化倾向于产生更稀疏的解。
      • Pruning:这是一种后训练技术,通过移除那些对输出影响最小的权重来减少网络的复杂度。
      • Sparse Coding:在信号处理和机器学习中,通过优化使得编码向量中只有少数非零元素,用于特征提取和压缩。
  2. 表示稀疏(Representation Sparsity)
    • 定义:表示稀疏指的是网络在处理输入时产生的激活模式是稀疏的,即在任何给定时间,只有少数神经元处于激活状态,而大多数神经元的激活值接近零。
    • 代表性算法
      • ReLU激活函数:由于ReLU函数将负值置为零,它自然倾向于产生稀疏的激活。
      • L1正则化应用于激活:通过对激活值施加L1正则化,鼓励模型学习到更稀疏的表示。
      • 自编码器(Autoencoders):特别是稀疏自编码器,它们通过正则化项强制编码表示为稀疏形式。
      • 文章中提到的SLNID:通过局部神经抑制和折扣抑制来实现表示稀疏,减少新任务学习时对旧任务的干扰。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/497035.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS技术理念

1.2 技术理念 在万物智联时代重要机遇期,HarmonyOS结合移动生态发展的趋势,提出了三大技术理念(如下图3-1所示):一次开发,多端部署;可分可合,自由流转;统一生态&#xf…

基于springboot校园招聘系统源码和论文

可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C、python、数据可视化、大数据、文案 使用旧方法对校园招聘系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在校园招聘系统的管理上面可以解决许多信息管理上面的难题,比…

【小程序】自定义组件的data、methods、properties

目录 自定义组件 - 数据、方法和属性 1. data 数据 2. methods 方法 3. properties 属性 4. data 和 properties 的区别 5. 使用 setData 修改 properties 的值 自定义组件 - 数据、方法和属性 1. data 数据 在小程序组件中,用于组件模板渲染的私有数据&…

Python 敲电子木鱼,见机甲佛祖,修赛博真经

Python 敲电子木鱼,见机甲佛祖,修赛博真经 相关资源文件已经打包成EXE文件,可下载相关资源压缩包后双击直接运行程序,且文章末尾已附上相关源码,以供大家学习交流,博主主页还有更多Python相关程序案例&…

acitvemq AMQP:因为消息映射策略配置导致的MQTT接收JMS消息乱码问题 x-opt-jms-dest x-opt-jms-msg-type

使用ActiveMQ(5.14.5)作消息系统服务的场景下, 当我用Apache Qpid Proton发送消息(使用AMQP协议)发送JMS消息,用Paho MQTT接收消息的时候, 收到的消息前面总是有一串乱码,大概就是这样: 4Sp?AS…

viva-bus 航空机票网站 Akamai3 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…

pyQT + OpenCV相关练习

一、设计思路 1、思路分析与设计 本段代码是一个使用 PyQt6 和 OpenCV 创建的图像处理应用程序。其主要功能是通过一个图形界面让用户对图片进行基本的图像处理操作,如灰度化、翻转、旋转、亮度与对比度调整,以及一些滤镜效果(模糊、锐化、边…

【数据库初阶】Linux中库的基础操作

🎉博主首页: 有趣的中国人 🎉专栏首页: 数据库初阶 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们,大家好!在这篇文章中,我们将深入浅出地为大家讲解 Linux…

Element Plus 日期时间选择器大于当天时间置灰

效果: 实现思路: 点击官方链接的日期时间选择器的属性查看,发现disabled-date属性 一个用来判断该日期是否被禁用的函数,接受一个 Date 对象作为参数。 应该返回一个 Boolean 值,即用函数返回布尔值。 前言 JavaScrip…

线性直流电流

电阻网络的等效 等效是指被化简的电阻网络与等效电阻具有相同的 u-i 关系 (即端口方程),从而用等效电阻代替电阻网络之后,不 改变其余部分的电压和电流。 串联等效: 并联等效: 星角变换 若这两个三端网络是等效的,从任…

Java与SQL Server数据库连接的实践与要点

本文还有配套的精品资源,点击获取 简介:Java和SQL Server数据库交互是企业级应用开发中的重要环节。本文详细探讨了使用Java通过JDBC连接到SQL Server数据库的过程,包括加载驱动、建立连接、执行SQL语句、处理异常、资源管理、事务处理和连…

【Halcon】例程讲解:基于形状匹配与OCR的多图像处理(附图像、程序下载链接)

1. 开发需求 在参考图像中定义感兴趣区域(ROI),用于形状匹配和文本识别。通过形状匹配找到图像中的目标对象位置。对齐多幅输入图像,使其与参考图像保持一致。在对齐后的图像上进行OCR识别,提取文本和数字信息。以循环…

从0入门自主空中机器人-2-2【无人机硬件选型-PX4篇】

1. 常用资料以及官方网站 无人机飞控PX4用户使用手册(无人机基本设置、地面站使用教程、软硬件搭建等):https://docs.px4.io/main/en/ PX4固件开源地址:https://github.com/PX4/PX4-Autopilot 飞控硬件、数传模块、GPS、分电板等…

Artec Space Spider助力剑桥研究团队解码古代社会合作【沪敖3D】

挑战:考古学家需要一种安全的方法来呈现新出土的陶瓷容器,对比文物形状。 解决方案:Artec Space Spider, Artec Studio 效果:本项目是REVERSEACTION项目的一部分,旨在研究无国家社会中复杂的古代技术。研究团队在考古地…

IPv6 基础协议-NDP

IPv6 基础协议报文 何为基础协议?像v4中的icmp、arp、hdcp之类的 在v6中只需要NDP协议,他是通过ICMPv6报文完成的,她能够实现邻居发现、无状态地址检测、重复地址检测、PMTU等功能 RS(133)RA(134&#x…

数据库原理及应用(MySQL版-李月军)-习题参考答案

数据库原理及应用(MySQL版)-微课视频版 习题参考答案 习 题一 一.选择题 1、D 2、C 3、C 4、B 5、D 6、B 7、A 8、B 9、C 10、A 11、B 12、C 13、①A②B③C 14、①E②B 15、①B②C③B 16、B 17、A 18、D 二.填空题 1、文件…

用Python开启人工智能之旅(四)深度学习的框架和使用方法

第四部分:深度学习的框架和使用方法 用Python开启人工智能之旅(一)Python简介与安装 用Python开启人工智能之旅(二)Python基础 用Python开启人工智能之旅(三)常用的机器学习算法与实现 用Pyt…

洛谷 P1725:琪露诺 ← 单调队列+DP

【题目来源】https://www.luogu.com.cn/problem/P1725【题目描述】 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精。 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来。但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到…

win11永久修改pdf默认打开方式

电脑总是重启或过一阵子就自动修改pdf文件打开方式为浏览器打开,按照传统方式 右键→属性,修改打开方式,不好使 得用更根本的方法!打开设置,找到 应用→默认应用 (或者 "winR"打开运行&#xff0…

解密MQTT协议:从QOS到消息传递的全方位解析

1、QoS介绍 1.1、QoS简介 使用MQTT协议的设备大部分都是运行在网络受限的环境下,而只依靠底层的TCP传输协议,并不 能完全保证消息的可靠到达。 MQTT提供了QoS机制,其核心是设计了多种消息交互机制来提供不同的服务质量,来满足…