【博士每天一篇文献-算法】Fearnet Brain-inspired model for incremental learning

阅读时间:2023-12-16

1 介绍

年份:2017
作者:Ronald Kemker,美国太空部队;Christopher Kanan,罗切斯特大学
期刊: arXiv preprint
引用量:520
Kemker R, Kanan C. Fearnet: Brain-inspired model for incremental learning[J]. arXiv preprint arXiv:1711.10563, 2017.
image.png
image.png
提出一种名为 FearNet 的新型神经网络模型,这个模型受到大脑记忆机制的启发,用于解决增量学习中的灾难性遗忘问题。FearNet 模型不存储先前的例子,使其具有内存效率。它使用一个由大脑启发的双记忆系统,新记忆从受海马体复合体启发的网络巩固到受内侧前额叶皮层启发的长期存储网络。记忆巩固的灵感来自于睡眠期间发生的过程。FearNet 还使用一个受基底外侧杏仁核启发的模块来确定在回忆时使用哪个记忆系统。

2 创新点

  1. FearNet 的架构包括三个神经网络:一个受海马体复合体启发的用于快速回忆的近期记忆系统,一个受内侧前额叶皮层启发的用于长期存储的网络,以及一个受基底外侧杏仁核启发的用于确定使用哪个记忆系统进行回忆的网络。
  2. 受到睡眠期间记忆重放的启发,FearNet 使用生成式自编码器进行伪重放,这通过生成先前学习的例子并在巩固期间与新信息一起重放,减轻了灾难性遗忘,这个过程不涉及存储以前的训练数据。FearNet 使用了一个受基底外侧杏仁核启发的模块来决定在特定情况下应该使用哪个记忆系统进行回忆,这增加了模型的灵活性和准确性。
  3. FearNet 在大型图像(CIFAR-100、CUB-200)和音频数据集(AudioSet)上取得了最先进的结果,并且具有相对较小的内存占用,展示了双记忆模型如何被扩展。

3 相关研究

  1. 重放(Rehearsal)方法:通过在新学习会话中混合旧样本来模拟独立同分布条件,以减少灾难性遗忘。这种方法需要存储所有训练数据。 参考论文:Hetherington P A, Seidenberg M S. Is there “catastrophic interference” in connectionist networks?[C]//11th Annual Conference Cognitive Science Society Pod. Psychology Press, 2014: 26-33.
  2. 伪重放(Pseudorehearsal):由 Robins (1995) 提出,不重放过去的训练数据,而是生成新的例子。这种方法启发了 FearNet 的记忆巩固方法。 参考文献:Robins A. Catastrophic forgetting, rehearsal and pseudorehearsal[J]. Connection Science, 1995, 7(2): 123-146.
  3. PathNet:使用进化算法找到 DNN 的最优路径,然后冻结该路径上的权重。它假设每个学习会话都看到所有类别,不适合增量类别学习。 参考文献:Fernando C, Banarse D, Blundell C, et al. Pathnet: Evolution channels gradient descent in super neural networks[J]. arXiv preprint arXiv:1701.08734, 2017.
  4. Elastic Weight Consolidation (EWC):一种正则化方案,将可塑性重定向到对之前学习会话不太重要的权重上。 参考论文:Kirkpatrick J, Pascanu R, Rabinowitz N, et al. Overcoming catastrophic forgetting in neural networks[J]. Proceedings of the national academy of sciences, 2017, 114(13): 3521-3526.
  5. Fixed Expansion Layer (FEL) 模型:通过使用稀疏更新来减轻灾难性遗忘,具有连接性约束的第二隐藏层(FEL层)在训练期间不更新。 参考论文:Coop R, Mishtal A, Arel I. Ensemble learning in fixed expansion layer networks for mitigating catastrophic forgetting[J]. IEEE transactions on neural networks and learning systems, 2013, 24(10): 1623-1634.
  6. GeppNet:使用自组织映射(SOM)作为长期记忆,输入通过二维格子重新组织,并通过简单的线性层进行分类。 参考论文:Gepperth A, Karaoguz C. A bio-inspired incremental learning architecture for applied perceptual problems[J]. Cognitive Computation, 2016, 8(5): 924-934.
  7. iCaRL 框架:一种增量类别学习框架,使用 DNN 进行监督表示学习,通过存储的示例和学习会话数据更新 DNN。 参考论文:Rebuffi S A, Kolesnikov A, Sperl G, et al. icarl: Incremental classifier and representation learning[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2017: 2001-2010.

4 算法

4.1 模型结构

image.png
图1展示了FearNet模型的结构,它由三个受大脑启发的模块组成,这些模块分别对应于人类大脑中的不同部位,具体如下:

  1. mPFC (Medial Prefrontal Cortex, 内侧前额叶皮层):这部分负责长期存储(long-term storage)。在FearNet中,mPFC作为一个神经网络,被训练来重建其输入(使用对称的编码器-解码器,即自编码器),并计算分类概率。mPFC的设计允许它通过自编码器生成伪示例,这有助于在不需要存储先前训练样本的情况下进行记忆巩固。
  2. HC (Hippocampal Complex, 海马体复合体):这部分负责近期存储(recent storage)。在FearNet中,HC被建模为一个概率神经网络,它使用存储的训练样本来计算输入特征向量属于某个类别的条件概率。一旦HC中的例子被巩固到mPFC,它们就会被从HC中移除。
  3. BLA (Basolateral Amygdala, 基底外侧杏仁核):这部分用于决定在回忆时使用mPFC还是HC。BLA在预测时使用,以确定应该使用短期记忆系统还是长期记忆系统来进行输入的分类。BLA的输出是一个介于0和1之间的值,值为1表示应该使用mPFC进行分类。

FearNet通过这三个模块的交互来实现增量学习,其中mPFC和HC分别处理长期和近期的记忆存储,而BLA则在预测阶段决定使用哪个记忆系统。这种设计模仿了大脑如何处理和巩固记忆,使得FearNet能够在学习新类别的同时,减少对旧类别知识的遗忘。
image.png
FearNet模型中两个子系统,分别是内侧前额叶皮层(mPFC)和基底外侧杏仁核(BLA)。

  1. mPFC (Medial Prefrontal Cortex, 内侧前额叶皮层) 子系统:
    • 负责长期存储远程记忆(long-term storage of remote memories)。
    • 在FearNet中,mPFC是一个深度神经网络(DNN),它不仅被训练来使用对称的编码器-解码器结构重建其输入(即自编码器),而且还用于计算分类概率。
    • 自编码器的重建能力允许mPFC生成伪样本,这些样本用于在不需要存储实际训练数据的情况下进行记忆巩固。
  2. BLA (Basolateral Amygdala, 基底外侧杏仁核) 子系统:
    • 在预测时使用,以确定记忆应该从短期记忆还是长期记忆中召回。
    • BLA作为决策模块,帮助FearNet在进行预测时选择最合适的记忆系统。它的输出将影响是使用HC(海马体复合体,处理近期记忆)还是mPFC(处理长期记忆)来进行特定输入的分类。

在FearNet模型中,BLA的作用是动态选择最合适的记忆系统来处理当前的输入数据。这种设计模仿了大脑如何处理记忆的检索过程,即在需要时选择从短期记忆或长期记忆中提取信息。通过这种方式,FearNet能够灵活地处理新信息和旧信息,减少灾难性遗忘,同时提高增量学习的性能。

4.2 算法步骤

(1)训练阶段

  1. 初始化mPFC:使用基础知识集初始化mPFC网络。
  2. 存储类统计信息:为基础知识中的每个类别存储均值(µt)和协方差矩阵(Σt)。
  3. 循环学习会话:对于T/2到T的每个类别c:
    • 将类别c的数据(X, y)存储在HC(海马体复合体)中。
    • 如果c满足睡眠条件(例如,每K个学习会话后):
      • 使用HC中的数据和mPFC解码器生成的伪示例对mPFC进行微调。
      • 更新所有见过的类别的均值和协方差矩阵。
      • 清除HC中的数据。
    • 否则:
      • 更新BLA(基底外侧杏仁核)网络。

(2)预测阶段

  1. 输入数据:接收输入数据X。
  2. BLA预测:BLA网络预测使用HC还是mPFC进行回忆的概率A(X)。
  3. 计算ψ值:计算ψ值,它是HC预测的最高概率与BLA输出的组合。
  4. 决策回忆
    • 如果ψ值大于mPFC预测的最高概率,则使用HC进行回忆。
    • 否则,使用mPFC进行回忆。
  5. 输出预测:返回回忆网络的预测结果作为最终输出。

5 实验分析

(1)基于蒸馏回放 的ICaRL算法
image.png
说明在增量学习中,保留足够数量的示例对于维持对先前学习类别的记忆至关重要。
(2)不同的增量学习模型性能
image.png
image.png

  1. X轴:表示模型训练过程中所见到的类别数量。随着模型学习越来越多的类别,X轴的值增加。
  2. Y轴:表示平均测试准确率,即模型对所有至今见过的类别的测试样本正确分类的比例。
  3. 曲线:每条曲线代表一个不同的模型或基线方法,包括:
  • Offline MLP:这是一个非增量学习基线,它一次性接收所有训练数据。
  • 1-Nearest Neighbor (1-NN):最近邻算法,它通过存储所有训练数据来避免遗忘。
  • GeppNet+STM:GeppNet的变体,使用固定大小的短期记忆缓冲区。
  • GeppNet:基于自组织映射的增量学习模型。
  • FEL(Fixed Expansion Layer):使用稀疏更新来减少灾难性遗忘。
  • iCaRL(Incremental Classifier and Representation Learning):一种特别为增量类别学习设计的框架。
  • FearNet:本文提出的模型,使用双记忆系统和伪重演机制。
  1. 评价指标:
  • Ω b a s e \Omega_{base} Ωbase:衡量模型对基础知识(即早期学习过的类别)的保持能力。
  • Ω n e w \Omega_{new} Ωnew衡量模型对最新学习类别的测试准确率。
  • Ω a l l \Omega_{all} Ωall衡量模型对所有至今见过的类别的综合测试准确率。
  1. 实验结论
  • FearNet的优越性能:FearNet在CIFAR-100、CUB-200和AudioSet数据集上的所有类别至今所见的平均测试准确率(Mean-class test accuracy)表现出色,这表明它在增量学习过程中有效地减少了灾难性遗忘。
  • 减少灾难性遗忘:FearNet的设计显著降低了学习新类别时对旧类别知识遗忘的风险。这一点从图4中FearNet曲线相对于其他方法保持较高准确率可以看出。
  • 与现有方法的比较:表2中列出的FearNet与其他方法相比,通常具有更高的 Ω b a s e \Omega_{base} Ωbase Ω a l l \Omega{all} Ωall值,这表明FearNet在保持基础知识和整合新知识方面更有效。
  • FearNet的内存效率:FearNet不存储先前训练的示例,而是使用生成模型来模拟旧的记忆,这使得它在内存使用上更加高效。

(3)验证BLA的有效性
image.png
展示了FearNet在使用BLA进行网络选择与已知记忆位置的理想情况(预言者)之间的性能差异。BLA能够较好地预测应该使用mPFC(长期记忆)还是HC(近期记忆)进行回忆,这表明BLA在实际应用中是有效的。
(4)记忆巩固对于维持长期记忆的稳定性分析
image.png

  • X轴:表示在FearNet模型中进行记忆巩固(或称为“睡眠”)的频率。这个频率指的是模型在连续学习新类别之前,将新学到的信息从短期记忆(HC)转移到长期记忆(mPFC)的次数。
  • Y轴:表示性能指标,是平均测试准确率或其他衡量模型性能的指标。
  • 曲线:展示了随着睡眠频率减少(即学习更多类别后进行记忆巩固的间隔变长),FearNet在不同性能指标上的变化趋势。

图中显示了随着睡眠频率的减少(即记忆巩固间隔的增加),FearNet的性能在某些方面有所下降。这表明定期进行记忆巩固对于维持长期记忆的稳定性是重要的。
(5)多模态学习能力
截屏2024-06-23 下午4.41.42.png
表4显示了FearNet在处理来自不同模态(如图像和音频)的数据时的学习能力。这表明FearNet能够适应并学习多种类型的输入数据。Ωbase指标反映了模型对基础知识的保留能力。实验发现,当基础知识集较大或更具代表性时,模型在增量学习过程中对基础知识的保留更好。Ωnew指标衡量了模型对新类别的学习能力。实验结果表明,即使在增量学习新模态的数据时,FearNet也能够有效地学习新知识。Ωall指标提供了模型在整个测试集上的整体性能的视图。这揭示了FearNet在整合新旧知识方面的能力。
(6)内存需求
截屏2024-06-23 下午4.43.40.png
FearNet显示出比其他模型更低的内存需求,这表明它在内存使用上更为高效。
(7)对角线协方差矩阵(Diagonal Covariance Matrix)代替完整的协方差矩阵(Full Covariance Matrix)对FearNet模型性能的影响。
截屏2024-06-23 下午4.44.27.png
如果性能指标下降不多,这表明模型对协方差矩阵类型的敏感度较低。使用对角线协方差矩阵通常会减少模型的内存占用,因为它只存储方差而不是完整的协方差矩阵。如果性能下降可接受,这可能是一个内存优化的有效策略。这个实验说明了在FearNet模型中使用对角线协方差矩阵作为协方差矩阵简化的一种可能方法,以及这种方法对模型性能和内存效率的潜在影响。

6 思考

(1)结构比较复杂,分为三个模块,模块之间有生物启发的复杂关系。
(2)论文的“睡眠”是一个比喻,指的是FearNet在一定数量的学习会话后进行记忆巩固的过程。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大学生必备!GitHub星标破千的matlab教程(从新手到骨灰级玩家)

MATLAB(Matrix Laboratory)是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。 MATLAB具有数值分析、数值和符号计算、工程与科学绘图、数字图像处理、财务与金融工程等功能&#xf…

速卖通自养号测评:安全高效的推广手段

在速卖通平台上,卖家们常常寻求各种方法来提升商品的曝光、转化率和店铺权重。其中,自养号测评作为一种低成本、高回报的推广方式,备受关注。然而,若操作不当,也可能带来风险。以下是如何安全有效地进行自养号测评的指…

这就是人性的丑恶,很残酷但很现实

这些年我喜欢跟垃圾撕破脸,包括垃圾亲戚,我是不会跟你讲什么感情的,该滚蛋就滚蛋。我最不喜欢听什么今日留一线,日后好相见。 之前我还不懂事的时候,就有那种亲戚叫我帮他介绍工作,我照做了。 结果&#xf…

Jenkins定时构建自动化(五):手动+定时构建执行本地+运行代码需要传参

Jenkins定时构建自动化(五):手动定时构建执行本地运行代码需要传参 注:走到这一步,恭喜你学会了基本的jenkins代码执行,如果想要继续学习先去看python的argparse模块和argparse模块示例,也可以直接看argparse模块示例进…

React@16.x(40)路由v5.x(5)常见应用场景(2)- 实现类似 vue 的路由模式

目录 1,vue-router2,React 模拟实现 1,vue-router vue 的路由配置文件, // src/router/index.ts const routes [{path: "/news",children: [{ path: "", component: NewsView },{ path: "detail"…

免费领!系统学习上位机编程的流程与基础教程

上位机电气自动化plc编程全套入门教程工具 华山编程导师根据当前招聘需求的关键点,原创录制了一套系统的学习流程和基础教程,帮助你从快速入门到掌握上位机编程的技能。 二. 学习准备 为了更好地学习并实现80%以上的代码运行,建议准备一个工…

大学生搜题神器网站?分享七个支持答案和解析的工具 #职场发展#学习方法

在现代科技的帮助下,大学生们有幸能够利用各种日常学习工具来提升自己的学习效果。 1.全球翻译官 是一款在线翻译语言的服务平台,在app中,用户能够在线通过语音,拍照来翻译语言,非常的便捷,也支持文字翻译哦 全球翻…

第一百二十七节 Java面向对象设计 - Java枚举方法

Java面向对象设计 - Java枚举方法 因为枚举类型实际上是一个类类型,所以我们可以在枚举类型体中声明一切,我们可以在类体中声明它。 以下代码使用字段,构造函数和方法定义了一个级别枚举。 public enum Level {LOW(30), MEDIUM(15), HIGH(7…

5.How Fast Should You Be When Learning?(你应该用多快的速度学习? (一))

Normally when I talk about learing quickly, I’m using speed as a synonym for efficiency.Use more effective methods and you’ll learn more in less time.All else being equal, that means you’re learing faster. 通常我在谈到快速学习时,是把“速度&qu…

埃特巴什码加解密小程序

埃特巴什码加解密小程序 这几天在看CTF相关的课程,涉及到古典密码学和近代密码学还有现代密码学。 简单替换密码 Atbash Cipher 埃特巴什码(Atbash Cipher)其实可以视为下面要介绍的简单替换密码的特例,它使用字母表中的最后 一个字母代表第一个字母…

SSLyze:一款快速高效的SSLTLS扫描工具

关于SSLyze SSLyze是一款快速高效且功能强大的SSL/TLS扫描工具,同时它也是一个Python库。 SSLyze在与目标服务器连接成功之后,可以对目标目标服务器的SSL/TLS配置进行扫描和分析,并确保其使用健壮的加密设置,包括证书、密码套件和…

SQL连接与筛选:解析left join on和where的区别及典型案例分析

文章目录 前言数据库在运行时的执行顺序一、left join on和where条件的定义和作用left join on条件where条件 二、left join on和where条件的区别原理不同left join原理:where原理: 应用场景不同执行顺序不同(作用阶段不同)结果集…

一文入门Makefile

今天我们来玩玩Makefile。 这边是借鉴的陈皓老师的《跟我一起写 Makefile》 pdf下载链接如下。 链接:https://pan.baidu.com/s/1woRq2nEkgzLv1o5uE0FZHg?pwdmhrh 提取码:mhrh 我们之前已经算是入门了gcc,那我们的下一站就是Makefile&…

每日一题——Python实现PAT甲级1144 The Missing Number(举一反三+思想解读+逐步优化)四千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 时间复杂度分析 空间复杂度分析 总体空间复杂度:O(N) 总结 我…

洗地机什么牌子耐用?四款高品质洗地机型号强烈安利

在快节奏的现代生活中,保持家庭清洁成为了许多人的挑战。传统的清洁方式不仅耗时费力,还难以彻底清洁地板上的污渍和毛发。特别是对于有宠物的家庭,毛发的清理更是让人头疼。如果有一款洗地机,既能高效清洁又能省时省力&#xff0…

Matlab|风光及负荷多场景随机生成与缩减

目录 1 主要内容 计算模型 场景生成与聚类方法应用 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序方法复现了《融合多场景分析的交直流混合微电网多时间尺度随机优化调度策略》3.1节基于多场景技术的随机性建模部分,该部分是随机优化调度的重要组成部分…

从0到1构建自己的短链接系统

1. 短链系统简介 1.1 短链系统的定义与用途 短链系统是指将一个较长的URL地址,通过特定的算法生成一个较短的、具备唯一性的URL地址。这种系统广泛应用于社交网络、短信、邮件营销等场景,它能帮助用户在字数受限的情况下分享链接,并且还具有…

6-47选择整数计算

整数计算: 用swing组件来实现整数计算,需要对整数计算的值进行校验。 import javax.swing.*; import java.awt.*; import java.awt.event.*;public class IntegerCalculator extends JFrame implements ActionListener {private JCheckBox[] checkBoxe…

老杨说运维 | 基于业务全链路的端到端排障分析(文末附现场视频)

前言 青城山脚下的滔滔江水奔涌而过,承载着擎创一往无前的势头,共同去向未来。2024年6月,双态IT成都用户大会擎创科技“数智化可观测赋能双态运维”专场迎来了完满的收尾。 本期回顾来自擎创科技产品总监殷传旺的现场演讲:云原生…

封装了一个iOS联动滚动效果

效果图 实现逻辑和原理 就是在 didEndDisplayingCell 方法中通过indexPathsForVisibleItems 接口获取当前可见的cell对应的indexPath, 然后获取到item最小的那一个,即可,同时,还要在 willDisplayCell 方法中直接设置标题的选中属…