一:激活函数的概念
1.激活函数的定义
激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。类似于人类大脑中基于神经元的模型,激活函数最终决定了要发射给下一个神经元的内容。(是一种映射,把所得到的结果转化成其他的表达的方法)
2.激活函数的引用
- 除了输入层,隐藏层和输出层的每个神经元都有一个激活函数
- 每一层的激活函数都是相同的
3.激活函数的作用
激活函数引用非线性问题,可以使多层感知机处理非线性问题,提高了感知机处理问题的范围
二:常用的激活函数
1.Sigmoid函数
-
公式
-
对应的图像
-
Sigmoid函数的优缺点
优点- sigmoid函数的输出在(0,1)之间,输出范围有限,便于优化,可用于输出层
- 连续函数,便于求导
缺点
- 需要进行幂运算,计算成本太高
- 输出结果不是以0为均值的,导致收敛速度下降
- 梯度消失:注意图像,当X是很大的正数或者很小的负数时,图像处于Sigmoid函数的平滑部分。没有办法反馈准确的梯度流,所以对于运算量较大的隐藏层不建议使用Sigmoid函数
2.ReLu函数
-
公式
-
图像
-
ReLu函数的优缺点
优点
- 不需要进行指数运算,运算速度快
- 在X>0的范围内,不会出现梯度消失,梯度饱和的问题,收敛速度快
缺点
- 输入的均值非0
- 存在神经死亡,在X<0的时候,梯度为0.不会进行更新
3.Tanh函数
-
公式
-
图像
-
Tanh函数的优缺点
优点- 输出均值为0,但是迭代次数比Sigmoid函数少,收敛速度快
缺点
- 一样是幂运算,计算成本高
- 也存在着梯度消失
4.Softmax函数
- 公式
- 图像
- 使用
- 只能用在输出层神经元上
- 与Signoid函数比较相似