激活函数讲解:https://www.jiqizhixin.com/articles/2019-10-23

今天在讨论神经网络中的激活函数时,陆同学提出 Sigmoid 函数的输出不是以零为中心的(non-zero-centered),这会导致神经网络收敛较慢。关于这一点,过去我只是将其记下,却并未理解背后的原因。此篇谈谈背后的原因。

神经元

如图是神经网络中一个典型的神经元设计,它完全仿照人类大脑中神经元之间传递数据的模式设计。大脑中,神经元通过若干树突(dendrite)的突触(synapse),接受其他神经元的轴突(axon)或树突传递来的消息,而后经过处理再由轴突输出。

在这里,诸 xi 是其他神经元的轴突传来的消息,诸 wi 是突触对消息的影响,诸 wixi 则是神经元树突上传递的消息。这些消息经由神经元整合后(z(x→;w→,b)=∑iwixi+b)再激活输出(f(z))。这里,整合的过程是线性加权的过程,各输入特征 xi 之间没有相互作用。激活函数(active function)一般来说则是非线性的,各输入特征 xi 在此处相互作用。

Sigmoid 与 tanh

此篇集中讨论激活函数输出是否以零为中心的问题,因而不对激活函数做过多的介绍,而只讨论 Sigmoid 与 tanh 两个激活函数。

Sigmoid 函数

Sigmoid 函数的一般形式是

这里,参数 a 控制 Sigmoid 函数的形状,对函数基本性质没有太大的影响。在神经网络中,一般设置 a=1,直接省略。

Sigmoid 函数的导数很好求   σ′(x)=σ(x)(1−σ(x)).

tanh 函数

tanh 函数全称 Hyperbolic Tangent,即双曲正切函数。它的表达式是

双曲正切函数的导数也很好求

一些性质

Sigmoid 和 tanh 两个函数非常相似,具有不少相同的性质。简单罗列如下

  • 优点:平滑
  • 优点:易于求导
  • 缺点:幂运算相对耗时
  • 缺点:导数值小于 1,反向传播易导致梯度消失(Gradient Vanishing)

对于 Sigmoid 函数来说,它的值域是 (0,1),因此又有如下特点

  • 优点:可以作为概率,辅助模型解释
  • 缺点:输出值不以零为中心,可能导致模型收敛速度慢

此篇重点讲 Sigmoid 函数输出值不以零为中心的这一缺点。

收敛速度

这里首先需要给收敛速度做一个诠释。模型的最优解即是模型参数的最优解。通过逐轮迭代,模型参数会被更新到接近其最优解。这一过程中,迭代轮次多,则我们说模型收敛速度慢;反之,迭代轮次少,则我们说模型收敛速度快。

参数更新

深度学习一般的学习方法是反向传播。简单来说,就是通过链式法则,求解全局损失函数 L(x→) 对某一参数 w 的偏导数(梯度);而后辅以学习率 η,向梯度的反方向更新参数 w。

考虑学习率 η 是全局设置的超参数,参数更新的核心步骤即是计算 ∂L∂w。再考虑到对于某个神经元来说,其输入与输出的关系是

因此,对于参数 wi 来说,

因此,参数的更新步骤变为

更新方向

由于 wi 是上一轮迭代的结果,此处可视为常数,而 η 是模型超参数,参数 wi 的更新方向实际上由 xi⋅∂L∂f∂f∂z 决定。

又考虑到 ∂L∂f∂f∂z 对于所有的 wi 来说是常数,因此各个 wi 更新方向之间的差异,完全由对应的输入值 xi 的符号决定。

以零为中心的影响

至此,为了描述方便,我们以二维的情况为例。亦即,神经元描述为

现在假设,参数 w0, w1 的最优解 w0∗, w1∗ 满足条件

这也就是说,我们希望 w0 适当增大,但希望 w1 适当减小。考虑到上一小节提到的更新方向的问题,这就必然要求 x0 和 x1 符号相反。

但在 Sigmoid 函数中,输出值恒为正。这也就是说,如果上一级神经元采用 Sigmoid 函数作为激活函数,输入x0和x1的符号相同,那么我们无法做到 x0 和 x1 符号相反。此时,模型为了收敛,不得不向逆风前行的风助力帆船一样,走 Z 字形逼近最优解。(为什么会走z,因为w0和w1的更新方向总是相同,可以理解为每次更新都是同时增大或者同时减少,因此每次迭代的方向都是最新点的第一和第三象限)

如图,模型参数走绿色箭头能够最快收敛,但由于输入值的符号总是为正,所以模型参数可能走类似红色折线的箭头。如此一来,使用 Sigmoid 函数作为激活函数的神经网络,收敛速度就会慢上不少了。

激活函数以0为中心的好处相关推荐

  1. 【PyTorch】3.4 nn网络层-池化、线性、激活函数层

    目录 一.池化层--Pooling Layer 1.最大值池化 2.平均值池化 3.最大值上采样池化 二.线性层(全连接层)--Linear Layer 三.激活函数层--Activation Lay ...

  2. Destoon7.0会员中心模板 B2B系统商务中心模板源码下载

    Destoon7.0是一套看起来还不错的B2B信息发布系统,功能复杂,但是会员中心(商务中心)的官方模板比较简单,可能只是在6.0上面做了简单的调整,本站本着共享精神,免费提供一套Destoon7.0 ...

  3. NFT + DeFi ,Web3.0去中心化网络时代的下一个风口?

    前言: 对于区块链世界来说,2020是非常重要的一年,ETH 2.0来临,去中心化金融(DeFi)的兴起.衰落及再次回暖,以及PayPal等机构入场.在令人眼花缭乱的DeFi项目中,一直默默稳定崛起的 ...

  4. 一个木函v7.0.4 多功能工具箱

    文章目录[隐藏] 软件介绍 软件截图 软件介绍 一个木函是一款功能非常强大的手机工具箱APP,包含了超多超实用的功能,各类工具应有尽有,超多热门工具,帮你解决生活中的各种难题. 软件截图 附 件 下 ...

  5. caffe详解之激活函数层

    从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! 激活函数参数配置 在激活层中,对输入数据进行激活操作,是逐元素进行运算的,在运算过程中,没有改变数据的大小,即输入和输出的数 ...

  6. 获国际架构顶会ATC2021最佳论文!Fuxi2.0去中心化的调度架构详解

    简介: 近日,在国际体系架构顶会USENIX ATC2021上,阿里云飞天伏羲团队与香港中文大学合作的一篇论文<Scaling Large Production Clusters with Pa ...

  7. 做{...}而(0) - 有什么好处? [重复]

    本文翻译自:do { - } while (0) - what is it good for? [duplicate] Possible Duplicate: 可能重复: Why are there ...

  8. 将设备插入usb2.0端口_将鼠标插入USB 3.0端口有什么好处?

    将设备插入usb2.0端口 When you are serious about online gaming, you look for every edge that you can find. T ...

  9. MacBook Pro完整卸载及安装激活VMware Fusion13.0.0教程

    目录 一.MacBook Pro 卸载原有的VMware Fusion 二.MacBook Pro下载并安装激活VMware Fusion 2.1 下载并安装于Ventura 13.0.1系统 2.1 ...

最新文章

  1. win10系统的qq无网络连接网络连接到服务器,Win10系统下误报无法连接internet该怎么办?新手速看...
  2. 来51的时间也不短了,开始写blog了。
  3. 第三十三讲 非线性方程组化为一阶方程
  4. c++中的 单例模式(singleton)和双检测锁(Double-Checked Locking)
  5. laravel5.4 关于select下拉框读取数据库数据案例
  6. 微博营销不可不知的微博六种人
  7. OpenCV参考手册之Mat类详解
  8. 原反补移码的概念应用以及异或的作用
  9. 转 13种最为荒谬的编程语言(Bugku 加密)
  10. 消费者价格研究中的数据分析
  11. centos linux 通过yum安装nginx
  12. 浏览器原理学习笔记1-浏览器进程
  13. turtle库进阶练习
  14. 小米游戏本bios更新_小米游戏本 | 笔记本Air 13.3″ 四核 | 笔记本Air 12.5″ | 笔记本Pro 15.6″BIOS设置...
  15. ZYNQ PL 添加IP 串口UART AXI UART16550
  16. 从qire123上抓取bdhd下载地址的firefox extension
  17. 32强鹏城逐战!“共筑梦想、创赢未来” 2021年绿色产业创新创业大赛深圳赛区比赛精彩上演
  18. 【JMeter】Jmeter分布式压测教程
  19. 在Winform中上传文件的工具类-ResourceMgr
  20. 尼科彻斯定理(简单易懂)

热门文章

  1. postfix中间件--Amavisd-new--反垃圾和反病毒配置
  2. Metasploit简单应用
  3. 京林生态花园2021年(第三届)春节花展即将盛大开幕
  4. 抖音企业号有什么好处?
  5. Elasticsearch 可视化界面工具
  6. 机器学习 特征选择篇——python实现MIC(最大信息系数)计算
  7. PL_SQL模块学习之十六、记录
  8. 如何有效训练你的研究能力
  9. 语音播报警示器技术要求
  10. 小米4手机在win7系统无法安装官方下载驱动的解决办法