开发者社区> 问答> 正文

DL中什么是激活函数

已解决

在深度学习的ANN中,要引入激活函数。那么问题是什么是激活函数,去激活什么?

展开
收起
xwaby 2018-08-27 17:03:06 2831 0
2 条回答
写回答
取消 提交回答
  • 全栈工程师、十年公益项目义务程序员
    采纳回答

    在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。
    比如在下面的这个问题中:

    image

    如上图(图片来源),在最简单的情况下,数据是线性可分的,只需要一条直线就已经能够对样本进行很好地分类。

    image

    但如果情况变得复杂了一点呢?在上图中(图片来源),数据就变成了线性不可分的情况。在这种情况下,简单的一条直线就已经不能够对样本进行很好地分类了。

    image

    于是我们尝试引入非线性的因素,对样本进行分类。

    在神经网络中也类似,我们需要引入一些非线性的因素,来更好地解决复杂的问题。而激活函数恰好能够帮助我们引入非线性因素,它使得我们的神经网络能够更好地解决较为复杂的问题。

    激活函数的定义及其相关概念
    在ICML2016的一篇论文Noisy Activation Functions中,作者将激活函数定义为一个几乎处处可微的 h : R → R 。

    image

    在实际应用中,我们还会涉及到以下的一些概念:
    a.饱和
    当一个激活函数h(x)满足
    limn→+∞h′(x)=0
    时我们称之为右饱和。

    当一个激活函数h(x)满足
    limn→−∞h′(x)=0
    时我们称之为左饱和。当一个激活函数,既满足左饱和又满足又饱和时,我们称之为饱和。

    b.硬饱和与软饱和
    对任意的x,如果存在常数c,当x>c时恒有 h′(x)=0则称其为右硬饱和,当x

    2019-07-17 23:02:33
    赞同 1 展开评论 打赏
  • 擅长互联网移动开发。。。

    激活函数的一些可取的属性包括:
    非线性:当激活函数是非线性的,然后一个两层神经网络可以证明是一个通用函数近似值.而identity激活函数不满足这个属性.当多层网络使用identity激活函数,整个网络就相当于一个单层模型.

    连续可微的:这个属性对基于梯度优化方法是必要的.二进制激活函数在0点没有可微性,它在其他值上全部可导为0,基于梯度优化方法对于它毫无进展.

    范围:当激活函数的范围是有限的,基于梯度的训练方法往往更稳定,因为模式显著影响几个有限权重.当范围是无限的,训练通常更有效率,因为模式显著影响大部分权重.在后一种情况下,较小的学习利率通常是必要的.

    单调:当激活函数是单调时,与单层模型相关的错误表面是凸的.

    平滑性:有单调导数的平滑函数已经被证明在某些情况下推广地更好.这些属性表明这些激活函数和Occam's razor更一致.

    原点附近近似identity:当激活函数有这个属性,对于小的随机值初始化权重,神经网络将有效地学习.当激活函数没有这个属性,在初始化权值必须使用特殊例子.在下面的表中,激活函数,表明有该属性.

    2019-07-17 23:02:33
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载