笔记自用!!!

全连接神经网络相关激活函数

Sigmoid函数

y=11+e−z求导之后y′=y(1−y)y=\frac{1}{1+e^{-z}}求导之后y'=y(1-y)y=1+ez1求导之后y=y(1y)
在这里插入图片描述
在这里插入图片描述

Sigmoid函数优点:
1、简单、非常适用分类任务;
Sigmoid函数缺点:
1、反向传播训练时有梯度消失的问题;(w取的过小造成减数接近于0从而造成梯度消失,就相当于没减)。
2、输出值区间为(0,1),关于0不对称;(关于零对称更新比较快)。
3、梯度更新在不同方向走得太远,使得优化难度增大,训练耗时。

Tanh函数

y=ez−e−zez+e−z求导之后y′=1−y2y=\frac{e^z-e^{-z}}{e^{z}+e^{-z}}求导之后y'=1-y^2y=ez+ezezez求导之后y=1y2
在这里插入图片描述
在这里插入图片描述
Tanh函数优点:
1、解决了Sigmoid函数输出值非0对称的问题
2、训练比Sigmoid函数快(导数最大值为1.0 比Sigmod 的0.25大),更容易收敛;
Tanh函数缺点:
1、反向传播训练时有梯度消失的问题(导数两边仍然为0)。
2、Tanh函数和Sigmoid函数非常相似。

ReLU函数

在这里插入图片描述

Leaky ReLU函数

在这里插入图片描述

SoftMax激活函数

SoftMax函数的值域是在[0,1]之间的,并且存在多个输出,例如是一个3分类的任务,那么SoftMax函数最终的输出是对应每个类别的
概率,同时这3个类别对应的概率相加最终的结果为1。因此在多分类任务的场景下,神经网络的最后一层一般都是使用SoftMax函数作
为激活函数。

什么是反向传播

利用神经网络前向传播输出值和真实值label之间的误差进行反传播进行梯度更新。
1.数据输入
2.前向传播
3.计算损失(误差)
4.计算梯度(根据误差函数分别对W和b求导)
5.反向更新(更新W和B的值)再重复上述步骤。

更多推荐