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

相关文章
|
15天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
56 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
17天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
27天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了基于分组卷积神经网络(GroupCNN)和灰狼优化(GWO)的时间序列回归预测算法。算法运行效果良好,无水印展示。使用Matlab2022a开发,提供完整代码及详细中文注释。GroupCNN通过分组卷积减少计算成本,GWO则优化超参数,提高预测性能。项目包含操作步骤视频,方便用户快速上手。
|
28天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了一种基于WOA优化的GroupCNN分组卷积网络时间序列预测算法。使用Matlab2022a开发,提供无水印运行效果预览及核心代码(含中文注释)。算法通过WOA优化网络结构与超参数,结合分组卷积技术,有效提升预测精度与效率。分组卷积减少了计算成本,而WOA则模拟鲸鱼捕食行为进行优化,适用于多种连续优化问题。
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
该算法结合了遗传算法(GA)与分组卷积神经网络(GroupCNN),利用GA优化GroupCNN的网络结构和超参数,提升时间序列预测精度与效率。遗传算法通过模拟自然选择过程中的选择、交叉和变异操作寻找最优解;分组卷积则有效减少了计算成本和参数数量。本项目使用MATLAB2022A实现,并提供完整代码及视频教程。注意:展示图含水印,完整程序运行无水印。
|
28天前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
50 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
30天前
|
机器学习/深度学习 算法 5G
基于BP神经网络的CoSaMP信道估计算法matlab性能仿真,对比LS,OMP,MOMP,CoSaMP
本文介绍了基于Matlab 2022a的几种信道估计算法仿真,包括LS、OMP、NOMP、CoSaMP及改进的BP神经网络CoSaMP算法。各算法针对毫米波MIMO信道进行了性能评估,通过对比不同信噪比下的均方误差(MSE),展示了各自的优势与局限性。其中,BP神经网络改进的CoSaMP算法在低信噪比条件下表现尤为突出,能够有效提高信道估计精度。
35 2
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
87 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1月前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
|
22天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化卷积神经网络(Bayes-CNN)的多因子数据分类识别算法matlab仿真
本项目展示了贝叶斯优化在CNN中的应用,包括优化过程、训练与识别效果对比,以及标准CNN的识别结果。使用Matlab2022a开发,提供完整代码及视频教程。贝叶斯优化通过构建代理模型指导超参数优化,显著提升模型性能,适用于复杂数据分类任务。
下一篇
无影云桌面