算法笔记(二)激活函数

深度学习中的激活函数:ReLU、Sigmoid与Tanh的比较

前言

激活函数的作用

  1. 增加网络的非线性。
    数据分布大部分是非线性的,而神经网络的计算是线性的,因此需要引入激活函数,增加网络的非线性,以强化网络的学习能力。

  2. 可以做概率值的处理,例如Sigmoid和tanh,它们的特点是将输出限制在(0,1)和(-1,1)之间;

  3. Relu适合用于深层网络的训练,而Sigmoid和tanh会出现梯度消失。

人工神经网络中为什么ReLu要好过于tanh和sigmoid function?

  1. 节省计算量:sigmoid等函数在反向传播求误差梯度时,求导涉及除法和指数运算,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。

  2. 对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,模型权重难以更新),这种现象称为饱和,从而无法完成深层网络的训练。而ReLU就不会有饱和倾向,不会有特别小的梯度出现。

  3. Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。

1. sigmoid (0,1)

在这里插入图片描述

  • 公式:
    σ(z)=11+e−z\sigma(z)=\frac{1}{1+e^{-z}}σ(z)=1+ez1

  • 导数:
    σ′(z)=0−1∗(−e−z)(1+e−z)2=e−z(1+e−z)2=e−z(1+e−z)∗1(1+e−z)=1+e−z−1(1+e−z)∗σ(z)=(1−σ(z))∗σ(z)\begin{aligned} \sigma'(z)&=\frac{0-1*(-e^{-z})}{(1+e^{-z})^2} \\ &=\frac{e^{-z}}{(1+e^{-z})^2} \\ &=\frac{e^{-z}}{(1+e^{-z})}*\frac{1}{(1+e^{-z})} \\ &=\frac{1+e^{-z}-1}{(1+e^{-z})}*\sigma(z)\\ &=(1-\sigma(z))*\sigma(z) \end{aligned}σ(z)=(1+ez)201(ez)=(1+ez)2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nooobme

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值