通俗理解神经网络之激励函数(Activation Function)

本文整理自博客、知乎上关于激励函数的博客和回答。部分图片引用自知乎,如有侵权,请联系作者。

关于神经网络激励函数的作用,常听到的解释是:不使用激励函数的话,神经网络的每层都只是做线性变换,多层输入叠加后也还是线性变换。因为线性模型的表达能力不够,激励函数可以引入非线性因素。 其实很多时候我们更想直观的了解激励函数的是如何引入非线性因素的。

我们使用神经网络来分割平面空间作为例子。

无激励函数的神经网络

神经网络最简单的结构就是单输出的单层感知机,单层感知机只有输入层和输出层,分别代表了神经感受器和神经中枢。下图是一个只有2个输入单元和1个输出单元的简单单层感知机。图中x1、w2代表神经网络的输入神经元受到的刺激,w1、w2代表输入神经元和输出神经元间连接的紧密程度,b代表输出神经元的兴奋阈值,y为输出神经元的输出。我们使用该单层感知机划出一条线将平面分割开,如图所示:
这里写图片描述

同理,我们也可以将多个感知机(注意,不是多层感知机)进行组合获得更强的平面分类能力,如图所示:
这里写图片描述

再看看包含一个隐层的多层感知机的情况,如图所示:
这里写图片描述

仔细看的话不难发现,上面三种没有激励函数的神经网络的输出是线性方程,其在用复杂的线性组合来逼近曲线。

有激励函数的神经网络

我们在神经网络每一层神经元做完线性变换以后,加上一个非线性激励函数对线性变换的结果进行转换,那么输出就是一个不折不扣的非线性函数了,如图所示:
这里写图片描述

拓展到多层神经网络的情况, 更刚刚一样的结构, 加上非线性激励函数之后, 输出就变成了一个复杂的非线性函数了,如图所示:
这里写图片描述

加入非线性激励函数后,神经网络就有可能学习到平滑的曲线来分割平面,而不是用复杂的线性组合逼近平滑曲线来分割平面。 这就是为什么我们要有非线性的激活函数的原因。如下图所示说明加入非线性激活函数后的差异,上图为用线性组合逼近平滑曲线来分割平面,下图为平滑的曲线来分割平面:
这里写图片描述

参考资料

神经网络激励函数的作用是什么?有没有形象的解释?
神经网络之激活函数(Activation Function)
为什么ReLU在深度神经网络中的作用好于传统的激活函数

  • 25
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值