DeepMind 弹性权重巩固算法让 AI 拥有“记忆” ,将成机器高效学习的敲门砖

简介:

DeepMind 弹性权重巩固算法让 AI 拥有记忆 ,将成机器高效学习的敲门砖

一直以来,计算机程序都是个“左耳进,右耳出”的“傻小子”,它们很快就会忘掉所做过的任务。DeepMind 决定改变传统的学习法则,让程序在学习新任务时也不忘掉旧任务。在追逐更智能程序的道路上,这是很重要的一步,能渐进学习的程序才能适应更多任务。

眼下,在解决文本翻译、图像分类和图像生成等任务时,深度神经网络是机器学习中最成功最有效的方式。不过,只有将数据一股脑地塞给它,深度神经网络才能变得“多才多艺”。

神经网络输入时,它会在数字神经元与输出方案之间建立联系,而当它学习新事物时,神经网络不得不重新建立新的联系,同时有效覆盖旧的联系。这样的情况被称之为“灾难性忘却”(catastrophic forgetting),业内普遍认为这是阻碍神经网络技术不断进步的最大绊脚石。

与深度神经网络相比,人类大脑的工作方式就大不相同。我们可以渐进式的学习,一次掌握一些技巧,在学习新技巧时,此前的经验还能提高我们的学习效率。

雷锋网了解到,DeepMind 在美国国家科学院院刊(PNAS)上发表的论文就提出了一个解决“灾难性忘却”的有效方式,这一方法的灵感来自神经科学的研究成果,即人类和哺乳动物拥有巩固先前获得的技能和记忆的能力。 

神经科学家已经能区分大脑中两种类型的巩固方式:系统巩固(systems consolidation )与突触巩固(synaptic consolidation)。系统巩固的过程中,人类大脑将快速学习部分获得的记忆转印进了缓慢学习的部分。这一转印过程有有意识的回忆参与,也有无意识回忆的参与,人类做梦时就能完成这一转印过程。而在突触巩固中,如果一种技能在此前的学习中非常重要,神经元之间连接就不会被覆盖。DeepMind 的算法就是沾了突触巩固的光,成功解决了“灾难性忘却”的问题。

神经网络中神经元的连接与大脑非常相似,在学习完一个技巧后,DeepMind 会计算出在神经网络中的哪个连接对已学到的任务最为重要。随后在学习新技巧时,这些重要的连接就会被保护起来不被覆盖。这样一来,在计算成本没有显著升高的情况下,“左耳进,右耳出”的问题就解决了。

如果用数学术语来解释,可理解为在一个新任务中把每个连接所附加的保护比作弹簧,弹簧的强度与其连接的重要性成比例。因此,DeepMind 将这种算法称之为“弹性权重巩固”(Elastic Weight Consolidation,EWC)。

DeepMind 弹性权重巩固算法让 AI 拥有记忆 ,将成机器高效学习的敲门砖

为了测试该算法,DeepMind 让程序不断尝试玩 Atari 游戏。据雷锋网了解,单单从得分来学习一个游戏是一项具有挑战性的任务,但是依次学习多个游戏则更加困难,因为每个游戏需要单独的战略。如下图所示,如果没有 EWC 算法,程序会在游戏停止后快速将之前的事忘得一干二净(蓝色),这就意味着其实程序什么游戏都没学会。不过,如果用上 EWC 算法(棕色和红色),程序就不那么容易遗忘,且可以逐个学会多个游戏。 

DeepMind 弹性权重巩固算法让 AI 拥有记忆 ,将成机器高效学习的敲门砖 

眼下计算机程序还不能适应即时学习的节奏,不过 DeepMind 的新算法已经攻克了“灾难性忘却”这座大山。未来,这项研究结果可能是计算机程序通往灵活高效学习的敲门砖。

同时,这项研究也深化了 DeepMind 对“巩固”在人类大脑中产生过程的理解。事实上,该算法所基于的神经科学理论都是在非常简单的例子中得到证实的。通过将该理论应用在更现实和复杂的机器学习环境中,DeepMind 希望进一步加强对突触巩固在记忆保存中的作用及其机制的研究。

本文作者:大壮旅

本文转自雷锋网禁止二次转载,原文链接

相关文章
|
14天前
|
存储 人工智能
|
19天前
|
人工智能
如何用AI来提高英语学习效率?
【8月更文挑战第19天】如何用AI来提高英语学习效率?
|
29天前
|
机器学习/深度学习 人工智能 资源调度
【博士每天一篇文献-算法】连续学习算法之HAT: Overcoming catastrophic forgetting with hard attention to the task
本文介绍了一种名为Hard Attention to the Task (HAT)的连续学习算法,通过学习几乎二值的注意力向量来克服灾难性遗忘问题,同时不影响当前任务的学习,并通过实验验证了其在减少遗忘方面的有效性。
38 12
|
1月前
|
人工智能 JSON Serverless
【AI 冰封挑战】搭档函数计算,“冰”封你的夏日记忆
夏日炎炎,别让高温打败你的创意,立即体验 ComfyUI 自制冰冻滤镜!无需繁琐的后期技巧,三步开启一段清凉无比的视觉探险。参与实验并上传作品即可获得运动无线蓝牙耳机,限量 800 个,先到先得!
8290 11
|
22天前
|
算法 Java
掌握算法学习之字符串经典用法
文章总结了字符串在算法领域的经典用法,特别是通过双指针法来实现字符串的反转操作,并提供了LeetCode上相关题目的Java代码实现,强调了掌握这些技巧对于提升算法思维的重要性。
|
23天前
|
人工智能 算法
AI 0基础学习,数学名词解析
AI 0基础学习,数学名词解析
12 2
|
24天前
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
go语言后端开发学习(六) ——基于雪花算法生成用户ID
|
29天前
|
存储 机器学习/深度学习 算法
【博士每天一篇文献-算法】连续学习算法之HNet:Continual learning with hypernetworks
本文提出了一种基于任务条件超网络(Hypernetworks)的持续学习模型,通过超网络生成目标网络权重并结合正则化技术减少灾难性遗忘,实现有效的任务顺序学习与长期记忆保持。
22 4
|
29天前
|
存储 机器学习/深度学习 算法
【博士每天一篇文献-算法】连续学习算法之RWalk:Riemannian Walk for Incremental Learning Understanding
RWalk算法是一种增量学习框架,通过结合EWC++和修改版的Path Integral算法,并采用不同的采样策略存储先前任务的代表性子集,以量化和平衡遗忘和固执,实现在学习新任务的同时保留旧任务的知识。
64 3
|
30天前
|
存储 机器学习/深度学习 算法
【博士每天一篇文献-综述】基于脑启发的连续学习算法有哪些?附思维导图
这篇博客文章总结了连续学习的分类,包括经典方法(重放、正则化和稀疏化方法)和脑启发方法(突触启发、双系统启发、睡眠启发和模块化启发方法),并讨论了它们在解决灾难性遗忘问题上的优势和局限性。
21 2
下一篇
DDNS