siteserver cms网站访问量,wordpress editor.md,网站建设合同交什么印花税,河北建设厅网站三类人激活函数#xff08;也被称为激励函数#xff09;的意义就是加入非线性因素#xff0c;使得神经网络具有非线性表达的能力。其必要条件是激活函数的输入和输出都是可微的#xff0c;因为神经网络要求处处可微。(可微是指函数的各个方向可导#xff0c;可微大于等于可导)
… 激活函数也被称为激励函数的意义就是加入非线性因素使得神经网络具有非线性表达的能力。其必要条件是激活函数的输入和输出都是可微的因为神经网络要求处处可微。(可微是指函数的各个方向可导可微大于等于可导)
一、激活函数的定义与作用
1.定义。如下图所示激活函数一般是在神经元的输入(inputs)经过加权求和之后还继续被一个函数作用。该函数就是激活函数。 2.作用。激活函数的意义也就是加入非线性因素让神经网络具备非线性的表达能力(当然不是真正意义上的非线性不过可以逼近任意的非线性函数罢了)。这也是个很了不得的进步了。
二、激活函数的类型
函数类型主要有Sigmoid、Tanh、Relu及其变种等函数。
1.Sigmoid
公式
函数曲线 将输入x映射到01之间对二分类比较有效。其缺点比较明显
1激活函数计算量大收敛缓慢
2反向传播时容易出现梯度消失
2.Tanh
Tanh可以说是Sigmoid函数的升级版但是并不能完全代替Sigmoid因为有时要求输出大于等于0时Sigmoid还是具有不可替代性Tanh的值域为(-11)。
公式
函数曲线 与Sigmoid相比Tanh具有zero-centered的特性并且具有放大特征的能力但依然具有梯度消失和幂运算的计算复杂等问题。
3.Relu
Relu函数更为常用因为其重视正向信号忽视负向信号和人类神经元细胞的特性特别相似所以具有非常好的拟合效果。
公式
曲线 虽然Relu是一个取最大值函数并且局部可导但是它是近几年来激活函数比较突出的进展主要表现以下几点
1解决了梯度消失的问题仅仅是在正区间
2计算速度和收敛速度快
缺点也比较明显
1不具备zero-centered的特性
2Dead ReLU Problem。由于参数初始化的不幸或者learning rate的设置不正确设置过大导致的神经元可能永远不会被激活即相应的参数永远不能被更新问题。其解决办法是采用Xavier初始化方法以及避免将learning rate设置太大或使用adagrad等自动调节learning rate的算法。
Relu和后面优化函数中的Adam算法一样请优先使用(特别是对我这样的新手而言)。
4.Relu的变种PReLU
PReLU
公式
曲线 主要是为了避免Relu的Dead ReLU Problem问题令Relu的负半段为设为αx 而非0。 但是无法通过测试说明PReLU完全比Relu具有更好的表达性。
Relu6tensorflow的函数
公式 Relu6可有效防止梯度爆炸由于节点和层数过多且输出为正时经加权计算时输出与目标相差过大导致参数调整修正值过大引发的网络抖动无法收敛的情况。
5.softmax
softmax函数是一个多分类函数主要用于多分类任务。
公式 其输出是分类的n个标签每个标签的概率其概率的和为1其中选取概率最大的分类作为预测的目标。
总结
1.深度学习必要的条件是大量的数据针对数据最好采用zero-centered数据 和zero-centered输出所以尽量选择具有zero-centered特点的激活函数以加快模型的收敛速度
2.使用Relu时要对learning rate比较熟悉避免出现大量的“dead”神经元
3.激活函数的使用一般来说多分类的最后一层使用Softmax函数。而其余函数的使用优先顺序分别是Relu Tanh Sigmoid一般来说Sigmoid最好不要使用当然具体情况还是需要具体分析的。
参考文献
1.《深度学习之tensorflow》
2.https://blog.csdn.net/sinat_29957455/article/details/81841278
如有错误请联系博主改正谢谢指正