Nature子刊:大脑学习也靠反向传播?Hinton等用新一代反向传播算法模拟神经网络

简介: 反向传播作为一种基本负反馈机制,极大地推动了深度学习神经网络的发展。那么,反向传播也存在于人脑的运行方式中吗?反向传播的发明者Geoffery Hinton发Nature子刊告诉我们:人脑中存在类似于反向传播的神经机制,我用一种新算法类比出来了!

微信图片_20220108193324.png

什么是反向传播?


反向传播全称叫“误差反向传播”,英文Backpropagation,缩写为BP算法。作为训练神经网络的基本算法之一,反向传播对于新智元的程序员读者们来说一定不陌生。


它的特点在于会求输出层和隐藏层的响应误差,并在更新权重时对其取反,从而确保权重引起的误差在减小。


说得简单一点,BP的核心思路其实就是负反馈希望通过负反馈实现神经网络系统面对给定目标的自动迭代、校准


随着更强的计算能力、更大的数据集和更多的技术改进,现在用反向传播训练的多层神经网络已经足以与人类竞争。


问题提出:反向传播适用于人脑吗?


因此,很自然的一个问题就是,人脑也是通过修改神经元之间的突触链接来学习的,那么深度学习(Deep Learning)中的反向传播在人脑神经网络中也存在吗?反向传播的引入在神经科学界引起了兴奋。


如果说它存在于人脑中,这是符合逻辑的。机器学习的最新研究表明,人类对各种复杂技能的学习,依靠的是强大而通用的学习算法,从下棋、计算机编程,到打游戏、弹钢琴曲。


从宏观上来看,人在学习过程中肯定会校准自己行为的误差,就比如你学习打羽毛球,一开始总是不能把球打到一个确切位置,后来你不断校准自己出手的角度、力度, 所以就越打越准了。这就是个宏观的反向传播。


但是,这仍然面临一些问题:从微观上来看,反向传播过程是如何在脑神经中实现的呢?大脑会纠正单个突触的行为吗?改变单个突触,又何以优化整个人脑神经网络的行为方式呢?


反向传播是一个监督式学习算法,但人脑主要是无监督学习,它又是如何实现从目标反向修正神经网络行为的呢?


Hinton:人脑可以执行反向传播的核心原理


抱着从DL神经网络反推人脑学习机制的兴趣,DL三巨头之一Geoffrey Hinton与来自Deepmind的Timothy P. Lillicrap等人近日在Nature 子刊《Nature Reviews Neuroscience》发表了研究文章。


Hinton正是反向传播算法的发明人,也被誉为“深度学习之父”,甚至“AI教父”。此文出自他手,意义相当不凡。


微信图片_20220108193326.png


Geoffrey Hinton,2018年与DL另外两巨头Yoshua Bengio、Yann LeCun共获2018年图灵奖


我们先看结论他们认为,尽管人脑和DL神经网络存在明显的物理差异,但大脑仍具有执行反向传播的核心原理的能力


主要思想是:大脑神经活动中,局部计算出的差异会被编码为类似反向传播的误差信号,从而促进大脑深层网络中的有效学习。 


结论:NGRAD就是人脑中的反向传播神经回路 


研究团队认为,反向传播提供了一个理解人脑皮质如何学习的概念框架,但是关于大脑如何对算法进行近似,仍然存在许多谜团。


其中一些谜团很小,很容易解决。例如,人脑的反向传播网络通常基于速率而不是神经脉冲,并且和Dale定律不同,一个神经元可以同时拥有兴奋性和抑制性连接。然而,其他谜团,例如误差信号的计算和向后传递,则带来了更深层的概念性问题。


NGRAD以一种直观、且与我们认为生物回路如何运作的方式相一致的方式,解决了反向传播技术的重大弊端。它们消除了误差的显式传播,而是通过传播活动中的差异在本地进行了计算。 


事实上,大脑中是否存在反向传播?


目前,通过直接观测,能否发现大脑中存在类似于反向传播的神经机制?


目前尚无直接证据,但是,反向传播训练的模型确实可以解释部分观察到的人脑神经反应(例如,顶叶后皮质和原发性运动皮质中神经元)。 而且,反向传播训练出来的多层模型在匹配灵长类动物的一种视觉神经回路(用来感知形状的视觉腹侧通路)的运作方式时,往往比其他模型表现更好,如下图所示:


微信图片_20220108193328.png


a:反向传播训练的模型(蓝色)比其他模型(灰色)更好地解释了颞下皮质层的多单元反应。b:具有更好分类性能的模型与颞下皮质层表示更为相似。 


在人脑中模拟反向传播的三个困难,都被Hinton一一化解


困难一,反向传播回路中,回馈连接的强度与前馈连接一致,信号强度得一样
幸好,近期研究已经表明,在人脑中不一定非要对称。在神经中,有一种令人惊讶的现象称为“反馈对齐”:使用随机反馈权重计算出的虚假误差导数会导致前馈权重的更新,从而使真实误差导数更接近虚假导数。这证明,反向传播所采用的那种精确对称性并非总是必需的。


困难二,大脑中的反馈会改变神经活动。


在误差的反向传播中,反馈连接传递的误差信号不能影响前馈传播的神经元的活动状态。也就是说,后面的信号不能影响前面。这听起来很合理。


但与之相反,脑皮层中的神经通路之间相互影响的可能方式非常丰富,反着来也很正常,比如反馈连接也会对前馈神经传递信号,甚至成为它活动的驱动力。在大脑中,前馈和反馈途径有的时候甚至是同时相互作用的。


这也难不倒Hinton大神。他们发现,已知的生物神经元其实都包含着不同的、彼此独立的区室,不同区室的活动会对细胞产生完全不同的影响。这相当于,生物神经元上确实自带了这样一来就说得通了。


困难三,反向传播中的误差信号可能出现极值。


在反向传播训练过程中,误差信号经过签名,其变化经常达到几个数量级,这种现象被称为“梯度爆炸”和”梯度消失”


这种巨大的变化,肯定没法出现在人的神经元里,要不然实在是太一惊一乍了,估计人都要癫痫。那这怎么解决?


NGRAD神经梯度活动差异代替


研究人员知道,已经有很多DL机制在利用活动状态的差异来驱动突触变化,而不是用梯度信号来驱动。


于是,他们引入了一种近似反向传播的算法——用活动差异表示神经梯度(neural gradient representation by activity differences,简称NGRAD)。


NGRAD假设,大脑皮层会采取利用神经活动状态的不同来驱动突触变化,从而进行了类似于梯度下降的机制。这样一来,神经元就不需要再传递误差导数了。


取而代之的是,NGRAD基于这样的思想:


第一,来自更大的空间或时间范围的高层活动,可以推动较低层次的活动得到与高层活动更一致的值或所需的输出。


第二,在较低级别活动中引起的变化可用于仅使用本地可用信号来计算类似反向传播的权重更新。


简单来说可以这么理解:大脑中的高级神经活动可以对低级神经活动起到推动和领导的作用;误差是通过每一层(主要是底层)神经元的局部信号来计算的,而不是像反向传播一样在层之间传播。


微信图片_20220108193331.png


图 3:NGRAD的目标传播算法。a)在每一层使用完美逆函数;b)利用目标传播差异纠正反向连接或许无法实现完美逆函数的情况;c)差异目标传播在单层的原理图。更新前向突触权重W1,以使前向隐藏活动靠近校正后的隐藏目标。


浅紫色,深蓝色和绿色圆圈代表的是在相同神经元中执行的不同处理阶段。隐藏目标的计算为自下而上活动与自上而下反馈的混合。 详解Hinton的反向传播生物神经元系统


为了在神经回路中发挥作用,NGRAD必须具备以下能力:协调前馈和反馈途径之间的相互作用,计算神经活动模式之间的差异,并利用这一差异进行适当的突触更新


与生物实现有关的另一个有趣的细节在于,许多NGRAD算法(而非反向传播算法)使用反馈驱动的对下层活动的改进来计算其学习更新。这些算法的这一方面与生理学证据非常吻合,这些证据表明自上而下的反馈积极参与了自下而上的信息处理。总之,这些新发现和相关理论正在扩大可能被认为生物学上可行的信用分配机制的范围。


下面我们看到的实验中的这个生物神经结构,可能就是理解多层学习的自然起点:                        


微信图片_20220108193332.png


输入隔离: 1前馈区室 2反馈区室
区室间沟通: 3反向传播动作电位 4平台电位5多因素突触可塑性 6跨神经元调制


反向传播首次进行时,通常将神经元(灰色细胞)建构为单个电压区室,前馈信号(蓝色,例如来自低级皮层区域)进入单个电压区室,反馈信号(红色,比如来自更高级皮质区域)将无差别地到达。


皮质锥体神经元(灰色细胞)的当代示意图。前馈(1)和反馈(2)输入是不同的。它们到达细胞的不同区室(例如分别为基底树突和顶端树突),并可能被电隔离。区室可以通过神经脉冲触发的反向传播动作电位或相反方向的平台电位有选择地进行通讯。


每个区室的可塑性可以取决于自身突触事件和另一区室中触发的事件(5)。


例如,顶端产生的平台电位的到来可能会改变“向前”的基础突触可塑性。最后,局部抑制性神经元(黄色细胞)可以调节亚细胞区室之间的通讯,并且自身可以被高阶输入差异性地募集,从而可以调节正向和反向路径之间的相互作用(6)。


相信在未来,生物学与神经网络学习的相互借鉴,将激发更多令人振奋的新灵感。


参考链接:


Nature: 反向传播与大脑

https://www.nature.com/articles/s41583-020-0277-3

相关文章
|
10月前
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
505 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
机器学习/深度学习 人工智能 TensorFlow
神经网络深度剖析:Python带你潜入AI大脑,揭秘智能背后的秘密神经元
【9月更文挑战第12天】在当今科技飞速发展的时代,人工智能(AI)已深入我们的生活,从智能助手到自动驾驶,从医疗诊断到金融分析,其力量无处不在。这一切的核心是神经网络。本文将带领您搭乘Python的航船,深入AI的大脑,揭秘智能背后的秘密神经元。通过构建神经网络模型,我们可以模拟并学习复杂的数据模式。以下是一个使用Python和TensorFlow搭建的基本神经网络示例,用于解决简单的分类问题。
196 10
|
机器学习/深度学习 人工智能 自然语言处理
深度学习还不如浅层网络?RL教父Sutton持续反向传播算法登Nature
【9月更文挑战第24天】近年来,深度学习在人工智能领域取得巨大成功,但在连续学习任务中面临“损失可塑性”问题,尤其在深度强化学习中更为突出。加拿大阿尔伯塔大学的研究人员提出了一种名为“持续反向传播”的算法,通过选择性地重新初始化网络中的低效用单元,保持模型的可塑性。该算法通过评估每个连接和权重的贡献效用来决定是否重新初始化隐藏单元,并引入成熟度阈值保护新单元。实验表明,该算法能显著提升连续学习任务的表现,尤其在深度强化学习领域效果明显。然而,算法也存在计算复杂性和成熟度阈值设置等问题。
325 3
|
机器学习/深度学习
小土堆-pytorch-神经网络-损失函数与反向传播_笔记
在使用损失函数时,关键在于匹配输入和输出形状。例如,在L1Loss中,输入形状中的N代表批量大小。以下是具体示例:对于相同形状的输入和目标张量,L1Loss默认计算差值并求平均;此外,均方误差(MSE)也是常用损失函数。实战中,损失函数用于计算模型输出与真实标签间的差距,并通过反向传播更新模型参数。
322 7
|
机器学习/深度学习 人工智能 自然语言处理
Nature子刊:基于内生复杂性,自动化所新类脑网络构筑人工智能与神经科科学的桥梁
【9月更文挑战第11天】中国科学院自动化研究所的研究人员提出了一种基于内生复杂性的新型类脑网络模型,通过模拟人脑内部神经元间的复杂互动来提升AI系统的智能与适应性。此模型利用图神经网络(GNN)并设计分层图结构对应人脑不同功能区,引入自适应机制根据输入数据调整结构。实验表明,此模型在图像分类及自然语言处理等任务中表现出显著提升的性能,并且处理复杂数据时更具备适应性和鲁棒性。论文链接:https://www.nature.com/articles/s43588-024-00674-9。
294 7
WK
|
机器学习/深度学习 算法
神经网络的反向传播是什么
反向传播(Backpropagation)是用于训练神经网络的一种关键算法,其目标是通过计算损失函数关于网络参数的梯度来优化这些参数,从而提升网络性能。该算法包括前向传播和反向传播两个阶段:前者计算预测结果与损失值,后者利用链式法则逐层计算梯度以更新权重和偏置。作为深度学习中最常用的优化方法之一,反向传播广泛应用于多种神经网络模型中,通过不断迭代改进模型的预测准确性和泛化能力。
WK
832 5
WK
|
机器学习/深度学习 监控 算法
反向传播算法是如何工作的
反向传播算法通过最小化损失函数优化神经网络。首先,输入数据经由前向传播得到预测结果,并计算损失;接着,反向传播计算各参数的梯度,并利用梯度下降法更新权重和偏置。这一过程反复进行,直至满足停止条件。算法具备高效性、灵活性及可扩展性,能处理复杂模式识别与预测任务,适用于不同类型与规模的神经网络,显著提升了模型的预测准确性和泛化能力。
WK
685 3
|
机器学习/深度学习 算法
【机器学习】揭秘反向传播:深度学习中神经网络训练的奥秘
【机器学习】揭秘反向传播:深度学习中神经网络训练的奥秘