【博士每天一篇文献-综述】基于脑启发的连续学习算法有哪些?附思维导图

简介: 这篇博客文章总结了连续学习的分类,包括经典方法(重放、正则化和稀疏化方法)和脑启发方法(突触启发、双系统启发、睡眠启发和模块化启发方法),并讨论了它们在解决灾难性遗忘问题上的优势和局限性。

阅读时间:2023-12-4

1 思维导图

参考论文:

  1. YANG J, LI B, LI S, et al. Brain-inspired continuous learning: Technology, application and future[J]. 电子与信息学报, 2022, 44(5): 1865-1878.

2 连续学习分类

截屏2024-05-16 下午4.26.05.png
参考论文:

  1. YANG J, LI B, LI S, et al. Brain-inspired continuous learning: Technology, application and future[J]. 电子与信息学报, 2022, 44(5): 1865-1878.

2.1 经典方法

经典连续学习方法主要分为三类:重放方法、正则化方法和稀疏化方法。

2.1.1 重放方法

  • 原理:通过重放旧任务数据来恢复被新任务覆盖的知识。
  • 代表算法
    • Experience Replay:【End-to-end incremental learning】
    • Generative Replay:【Incremental classifier learning with generative adversarial networks】
  • 优点
    • 抗遗忘性能较好,能够有效恢复旧任务的知识。
    • 对非独立同分布数据流适应力较强。
  • 缺点
    • 空间复杂度高,需要存储旧任务数据。
    • 面对复杂任务时生成重放数据困难,鲁棒性较弱。

2.1.2 正则化方法

  • 原理:通过正则化项保护旧任务中重要的权重,减少新任务学习对旧任务知识的干扰。
  • 代表算法
    • Elastic Weight Consolidation (EWC):【Overcoming catastrophic forgetting in neural networks】
    • Learning without Forgetting (LwF):【Learning without forgetting】
  • 优点
    • 空间复杂度低,不需要额外存储旧任务数据。
    • 在相似数据流中表现出色。
  • 缺点
    • 在变化剧烈的类增量数据流上表现较差。
    • 需要动态调整正则化强度,适应性有挑战。

2.1.3 稀疏化方法

  • 原理:通过使网络权重稀疏分布,隔离参数间干扰,减少新任务对旧任务知识的影响。
  • 代表算法
    • 神经元剪枝(Neuron Pruning):【Learn-prune-share for lifelong learning】
      • 移除对网络的最终输出贡献较小的整个神经元来减少网络的复杂度。
    • 权重剪枝(Weight Pruning):【 Continual learning via neural pruning】
      • 将所有被评估为不重要的权重置为零或直接移除这些权重。
  • 优点
    • 抗遗忘性能和鲁棒性优秀。
    • 可以提高网络空间利用率。
  • 缺点
    • 空间复杂度较高,需要保留和维护参数。
    • 增加了计算复杂度,尤其是在使用神经剪枝算法时。

2.2 脑启发方法

脑启发的连续学习方法主要分为四类:突触启发方法、双系统启发方法、睡眠启发方法和模块化启发方法。

2.2.1 突触启发方法

  • 原理:模仿生物突触的可塑性,通过在线计算突触的重要性来保护重要的突触连接。
  • 代表算法
    • Elastic Weight Consolidation (EWC):【Overcoming catastrophic forgetting in neural networks】
    • Synaptic Intelligence (SI):【Continual learning through synaptic intelligence】
    • Memory Aware Synapses (MAS):【Memory aware synapses: Learning what (not) to forget】
  • 优点
    • 资源开销相对较小。
    • 对于短期连续学习非常有效。
  • 缺点
    • 对于变化剧烈的类增量数据流适应力差。
    • 长期记忆和知识重用性有待提高。

2.2.2 双系统启发方法

  • 原理:借鉴海马体和新皮质层的互补学习系统,通过长短期记忆网络的配合实现连续学习。
  • 代表算法
    • Complementary Learning Systems (CLS):【 A biologically inspired dual-network memory model for reduction of catastrophic forgetting】
    • Growing Dual-Memory (GDM):【Lifelong learning of spatiotemporal representations with dual-memory recurrent self-organization】
    • Deep Generative Replay (DGR):【Continual learning with deep generative replay】
    • Generative Replay(GR):【 Brain-inspired replay for continual learning with artificial neural networks】
  • 优点
    • 对复杂类增量场景的适应力强。
    • 内存开销小于模块化方法。
    • 知识重用率高于突触与睡眠方法。
  • 缺点
    • 内存和计算开销随着学习进行逐渐增大。
    • 实际部署难度和资源开销相对较高。

2.2.3 睡眠启发方法

  • 原理:模仿睡眠过程中的记忆巩固和清理过程,通过在ANN中添加睡眠程序来缓解灾难性遗忘。
  • 代表算法
    • 生成重放 (Replay):【FearNet: Brain-inspired model for incremental learning】
    • 睡眠巩固记忆 (Sleep Consolidation):【Biologically inspired sleep algorithm for artificial neural networks】
  • 优点
    • 在内存清理和突触强度调整方面具有独特优势。
    • 有助于恢复被遗忘的知识。
  • 缺点
    • 抗遗忘性能相对较差。
    • 泛化性能有待提高。

2.2.4 模块化启发方法

  • 原理:通过隔离参数实现模块化,模仿生物神经网络的模块化机制,减少任务间的干扰。
  • 代表算法
    • 模块化网络 (Modular Networks):【modularity helps organisms evolve to learn new skills without forgetting old skills】
    • 神经调节 (Neuromodulation):【Diffusion-based neuromodulation can eliminate catastrophic forgetting in simple neural networks】
    • 阻塞训练 (Block Training):【Comparing continual task learning in minds and machines】
  • 优点
    • 缓解灾难性遗忘效果良好。
    • 知识重用率较高。
  • 缺点
    • 空间复杂度在所有脑启发方法中最大。
    • 内存开销高于其他方法。
目录
相关文章
|
11天前
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
24 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
11天前
|
算法 Java 数据库
数据结构与算法学习十五:哈希表
这篇文章详细介绍了哈希表的概念、应用实例、实现思路,并提供了使用Java实现的哈希表代码。
30 0
数据结构与算法学习十五:哈希表
|
8天前
|
缓存 算法 Java
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
这篇文章详细介绍了Java虚拟机(JVM)中的垃圾回收机制,包括垃圾的定义、垃圾回收算法、堆内存的逻辑分区、对象的内存分配和回收过程,以及不同垃圾回收器的工作原理和参数设置。
28 4
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
|
8天前
|
算法
动态规划算法学习三:0-1背包问题
这篇文章是关于0-1背包问题的动态规划算法详解,包括问题描述、解决步骤、最优子结构性质、状态表示和递推方程、算法设计与分析、计算最优值、算法实现以及对算法缺点的思考。
31 2
动态规划算法学习三:0-1背包问题
|
11天前
|
机器学习/深度学习 存储 缓存
数据结构与算法学习十:排序算法介绍、时间频度、时间复杂度、常用时间复杂度介绍
文章主要介绍了排序算法的分类、时间复杂度的概念和计算方法,以及常见的时间复杂度级别,并简单提及了空间复杂度。
17 1
数据结构与算法学习十:排序算法介绍、时间频度、时间复杂度、常用时间复杂度介绍
|
8天前
|
算法
动态规划算法学习四:最大上升子序列问题(LIS:Longest Increasing Subsequence)
这篇文章介绍了动态规划算法中解决最大上升子序列问题(LIS)的方法,包括问题的描述、动态规划的步骤、状态表示、递推方程、计算最优值以及优化方法,如非动态规划的二分法。
36 0
动态规划算法学习四:最大上升子序列问题(LIS:Longest Increasing Subsequence)
|
8天前
|
算法
动态规划算法学习二:最长公共子序列
这篇文章介绍了如何使用动态规划算法解决最长公共子序列(LCS)问题,包括问题描述、最优子结构性质、状态表示、状态递归方程、计算最优值的方法,以及具体的代码实现。
40 0
动态规划算法学习二:最长公共子序列
|
8天前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
17 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
11天前
|
算法 搜索推荐 Shell
数据结构与算法学习十二:希尔排序、快速排序(递归、好理解)、归并排序(递归、难理解)
这篇文章介绍了希尔排序、快速排序和归并排序三种排序算法的基本概念、实现思路、代码实现及其测试结果。
13 1
|
11天前
|
存储 算法 关系型数据库
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)
这篇文章主要介绍了多路查找树的基本概念,包括二叉树的局限性、多叉树的优化、B树及其变体(如2-3树、B+树、B*树)的特点和应用,旨在帮助读者理解这些数据结构在文件系统和数据库系统中的重要性和效率。
13 0
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)

热门文章

最新文章