神经网络家族为何 BP 网络一枝独秀?谁能谈谈神经网络家族的兴衰史?

来源:https://www.zhihu.com/question/364755843

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

从两个方面来问这个问题。

从网络结构上说,神经网络有五种典型结构:

前馈型网络(BP 网络属于这一支),有反馈前馈网络、前馈内层互联网络、反馈型全互联网络、反馈型局部互联网络。

从原理上说,神经网络有以下分支:

BP 神经网络、RBF 神经网络、Hopfield 神经网络、随机神经网络、遗传神经网络、粒子群神经网络、小波神经网络、模糊神经网络、混沌神经网络等等。

现如今深度学习主要是 BP 神经网络这一支,其他网络销声匿迹,这是为什么呢?

作者:王源
https://www.zhihu.com/question/364755843/answer/974861369

今天BP网络大行其道,深度学习更是网红中的网红,其实在神经网络历史中有很多类型的神经网络,它们要么已经被遗忘在历史的长河中,要么仅仅是一个小众的研究方向还在苟延残喘。我就介绍两种我比较熟悉的小众的神经网络。

1 .随机权值神经网络

中文翻译过来我也不知道是否准确,随机权值神经网络的英文是 random vector functional-link network,也被缩写为RVFL。其核心思想是 该类神经网络输出层的权值是通过最小二乘得到的,而除去输出层以外的其它层的权值是随机生成的。没错,你没有看错,就是直接随机生成的,就是这么简单粗暴,根本就没有training的过程,仅仅是在神经网络最后一层用最小二乘来得到了权值。也就是说只有最后一层的权值和数据的label有关。如下图所示是单隐含层的随机权值神经网络,我们可以看到如上面所述,随机层的权值是随机生成的,只有最后输出层和隐含层之间链接的权值需要依靠label来训练。

这么搞的好处有很多,主要是training过程及其简单,因为只用训练最后一层权值,而其它层的权值是随机生成的,所以随机权值神经网络的训练就是解一个线性的最小二乘问题。相信大家都知道线性最小二乘问题是有解析解的,因此训练所形成的优化问题是非常简单的,没有什么局部极小值,也没有gradient下降迭代收敛慢这些事情了。因此传统BP神经网络的缺陷在随机权值神经网络里边天生就不存在了。

比较早开始这方面研究的新加坡南洋理工的 Yoh-Han Pao,Pao老师做了很多control theory方面的工作,因此一开始将 随机权值神经网络 应用到控制器的设计中去,取得了不错的效果。大致在1992年-1994年几篇不错的工作[1-3]都发表在Neurocomputing上。

那么到此为止,随机权值神经网络的工作主要是一个起步阶段侧重应用为主,实际上神经网络有一个很重要的理论基础就是 万能逼近定理。那么自然会问 随机权值神经网络是否有万能逼近定理呢?

答案是有的。在1995年,随机权值神经网络的万能逼近定理被Igelnik和Pao老师[4]证明出来了,这个工作发表在IEEE Transactions on Neural Networks(这篇文章非常难读,没有相当的数学基础连定理的结论都不一定看得懂)。随机权值神经网络的万能逼近定理证明的困难度要大于BP神经网络,道理也比较简单啦,随机权值神经网络的基函数实际上是随机生成的,也称为随机基函数。要证明随机基函数能逼近任意紧集上的连续函数并非一件容易的事情,因为要用到大量测度论和概率的知识。随机权值神经网络的万能逼近定理的形式是依概率收敛的形式。

随机权值神经网络的缺点也是显而易见的,首先随机生成并不代表可以乱生成,到底应该以什么样的分布来生成权值这一直是一个很困难的问题,目前也只能依靠大量的调参去试凑了。其次在深层神经网络领域目前是深度学习的天下,所以随机权值神经网络只能搞搞浅层的神经网络了,自然限制了其发展。最后依赖随机生成的权值虽然省去了训练过程带来了很多好处,但是随机说直白点就是有点碰运气了,也许这一把权值采样的很好效果就很好,下一把就很差。

2. 脉冲神经网络(Spiking Neural Network,SNN)

虽然我们说目前的深度学习,BP网络是受到了生物的神经元的启发,但这种启发类似于你拿三国演义来研究历史一样。实际上生物的单个神经元模型远远不是一个什么非线性激活函数能描述的,神经元之间信息的传递也不是一个权值连接就能表示的。如果想描述单个神经元的模型需要微分方程才可以建模,而且神经元之间信息的传递是一种脉冲信号。所以目前在类脑计算领域有一类更加接近生物神经元的神经网络被称为脉冲神经网络。脉冲神经网络(Spiking Neural Network,SNN)由 W.Maass在1997年首次提出。SNN主要结构有前馈(Feedforward)循环链接(Recurrent)两种。前馈比较常见,从结构上说与传统的前馈神经网络相似,不同的是单个的神经元模型以及整个网络的数据处理方式。

SNN的神经元模型总体上来说是一类以微分方程构成的模型,带有时间属性。可以理解为传统的神经元只是当前时刻的输入与权重的加权和,SNN的神经元则是在一定宽度的时间窗内的输入与权重的加权和。其中最常见的神经元模型是L&F(Leak and Fire)模型,也可以把这种神经元看做为一个店带有电容的电路,按照电路原理来定义可以有如下形式:

图1. I&F神经元的模拟电路[5]

具体模型公式为:

其中 表示膜电位, 表示输入突触电流,每当膜电位达到一个阈值 ,便会产生一个脉冲,并将膜电位恢复到复位电位 ,同时在一段时间内会产生一个不应期(refractory),在此期间,模电位保持在 ,不对输入的突触电流做出响应。

L&F是一阶微分方程的形式,因此是一种线性响应模型,但是由于脉冲阈值以及不应期等机制的存在,使得L&F同样变成了一种对输入的非线性映射。

利用L&F构成网络就涉及到如何在神经元之间传递脉冲信号,这就是突触电流的响应模型。常用的电流模型是一种基于指数衰减的模型(与膜电位的模型很相似),改进的模型可以是两个衰减模型的叠加,来模拟平滑的脉冲信号(代替阶跃函数表示的脉冲):

其中 是时间常数, 是表示一个脉冲的单位阶跃函数。

由于SNN存在大量的微分方程计算并依赖于计算机仿真,SNN中的数值基本是通过数值方法计算的微分方程的状态。因此,具体的仿真过程中,与传统神经网络的最大区别在于时间步的概念,与硬件中的时钟十分相似。所以突触模型中还可以带有一个熟悉就是延迟(delay),可以和权重一样被训练成为表达输入特征的一个重要参数。目前SNN的学习算法很多基于脉冲的间隔的精确时间而不是一段时间的脉冲的数量来调整网络参数,如根据hebbian规则演变而来的STDP(Spike time dependance plasicity)。

目前类脑计算还处于一个起步阶段,这个方向也被很多研究者看好,也是神经网络下一步的发展趋势,但是其未来能否挑战深度学习,引领神经网络的下一次革命还需要时间的考验。

【1】Pao Y H, Park G H, Sobajic D J. Learning and generalization characteristics of the random vector functional-link net[J]. Neurocomputing, 1994, 6(2): 163-180.

【2】Pao Y H, Takefuji Y. Functional-link net computing: theory, system architecture, and functionalities[J]. Computer, 1992, 25(5): 76-79.

【3】Pao Y H, Phillips S M. The functional link net and learning optimal control[J]. Neurocomputing, 1995, 9(2): 149-164.

【4】Igelnik B, Pao Y H. Stochastic choice of basis functions in adaptive function approximation and the functional-link net[J]. IEEE Transactions on Neural Networks, 1995, 6(6): 1320-1329.

【5】 GERSTNER W, KISTLER W M. Spiking neuron models: Single neurons,populations, plasticity [M]. Cambridge university press, 2002.

本文脉冲神经网络部分参考了《周岩:人工智能的未来--神经科学启发的类脑计算综述》

作者:张馨宇

https://www.zhihu.com/question/364755843/answer/964278568

关于bp,虽然不能说只有bp才能成就深度学习,但bp一定可以成就深度学习:

1. 深度学习(神经网络)只有在大样本上才有效果,而比较复杂的模型在大样本上,只有online训练的方法才有可能训得动。基于梯度下降的算法,发展出了随机梯度下降算法。所以基于梯度的训练方法适合把神经网络做出效果。

2.一个应用要想有大发展,必须发挥人民群众的创造性,能发动光大劳动人民的智慧。机器学习中最重要的加先验问题,在神经网络中变成了高度可视化和易操作的对网络拓扑的探索,这种便利性植根于网络可以分层计算误差和梯度。所以可逐层计算误差的方法适合神经网络模型的快速发展。

从数学的角度来说,优化的方法有很多,但是满足以上两点的并不多。既然有一个明显存在的东西满足以上两点,又便于实现,而且其本身还有很多可以研究的问题,还在一直发展,那这个方法居于主流也就很合理了。

至于说兴衰史,相关文献不少,就不献丑码字了。

作者:jacob benseal
https://www.zhihu.com/question/364755843/answer/964226521

因为bp是最有效的,而且理论也非常简单。

bp就是用上一层误差信号乘以参数矩阵的转置做下一层的误差信号,但实际用一个随便的映射也可以传播误差并训练网络,而且很多时候效果也不比bp差,不过确实会慢一些。但证明起来就非常蛋疼,不像bp就用求导解释,小学生都能听懂。

再举个例子比如玻尔兹曼机,理论推到都是概率论的公式,这个没有个概率论相关的本科看起来就很困难了,实际训练可能还要牵扯到从一个分布采样,这个没有个研究生学历也是基本看不懂的,所以研究的人就少,自然成果也少...

作者:Hanshu
https://www.zhihu.com/question/364755843/answer/964996142

没有去一一查询相关paper,抛砖引玉,简单说一下好的网络该有的性质吧。

1.Representation / Approximation capability,表征/近似能力。一类模型能不能被广泛接受和应用,第一点就是有没有足够的表征能力。如果一类模型,没有足够的表征能力,就不能拟合出复杂的映射。

2.Generalization + optimization method,MLP强大的approximation capability很早就被证明过,但是并不代表随便堆砌的够宽够深的网络它就能train好。你可能会遇到gradient vanish,overfitting等许多问题。所以设计合适的模型结构(ResNet,dropout)和优化方法(SGD, ADAM),才能保证“能训练”和”训练的好“。

3.Robustness,也是一个hot topic. 一个好的模型,在训练之后,应该能够抵抗随机扰动和attack扰动。universal的微小扰动,已经有很多研究了,比如xu huan-Robustness and GeneralizationRobustness and Generalization);现在,很多人更关心更具攻击力的adversarial examples。

4.stability,这一个性质感觉关心的人不多,我感觉也是problem formulation比较麻烦一点。stability这个性质涉及到数据,模型和优化过程的各个方面。stability关心的问题是,given某个模型和某种optimization方法,如果原先数据集被改动,那么训练完后得到的模型的performance会有多大变化。

所谓“抛砖引玉”,意思是-想要探究为什么BP网络“一枝独秀”,至少得要从这几方面对比吧。

     不断更新资源

     获取更多精彩

长按二维码扫码关注

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值