机器学习: 激活函数的认识

本文介绍了激活函数在神经网络中的重要作用及种类。重点分析了sigmoid和tanh函数的特点与不足,包括梯度消失、输出非零对称性和计算效率等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、必要性

激活函数的主要作用是提供网络的非线性建模能力。如果没有激活函数,那么该网络仅能够表达线性映射,此时即便有再多的隐藏层,其整个网络跟单层神经网络也是等价的。因此也可以认为,只有加入了激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。

二、种类

  1. sigmoid函数
    这里写图片描述
    特别注意sigmoid函数的导数求法:

    σ(x)=σ(x)(1σ(x))

    这里写图片描述
    缺点:
    (1)梯度消失。观察函数图像,当 x>10 或者 x<10 ,激活函数的导数接近0,在利用梯度反向传播法更新权值的时候,会发生梯度值接近0现象。
    (2)输出函数值不是零对称的。就是说Sigmoid函数的输出值恒大于0,这会导致模型训练的收敛速度变慢。举例来讲对 σ(wixi+b) ,如果所有的 xi 均为正数或负数,那么对它对 wi 的导数总是正数或者负数,这会导致如下图红色箭头所示的阶梯式更新,这显然并非一个好的优化路径。深度学习往往需要大量时间来处理大量数据,模型的收敛速度是尤为重要的。所以,总体上来讲,训练深度学习网络尽量使用zero-centered数据 (可以经过数据预处理实现) 和zero-centered输出。
    这里写图片描述
    (3)指数运算耗费时间。

  2. tanh 函数,也叫双曲正切函数

    tanh(x)=exexex+ex

    这里写图片描述
    优点:解决了zero-centered的输出问题。
    缺点:梯度消失的问题和幂运算的问题仍然存在。

三、参考文献

1,斯坦福大学 CS231n
2, http://www.cnblogs.com/willnote/p/6912798.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值