神经网络激活函数

激活函数分为两大类:饱和函数和非饱和函数。
神经网络激活函数_第1张图片
非饱和函数的优点:
(1)"非饱和激活函数”能解决所谓的“梯度消失”问题;
(2)它能加快收敛速度。
常见的饱和函数:sigmoid、tanh;
常见的非饱和函数:ReLU等。

1.sigmoid

sigmoid函数将一个实值输入压缩至[0,1]的范围。
在这里插入图片描述
函数图像如下:
神经网络激活函数_第2张图片
sigmoid的不足:
1.容易出现梯度消失;
2.函数输出不是零中心;
3.指数函数的计算是比较消耗计算资源的。

tanh

tanh与sigmoid很像。
在这里插入图片描述
在这里插入图片描述

图像如下:
神经网络激活函数_第3张图片
优点:tanh解决了sigmoid的输出非“零为中心”的问题
不足:(1)依然有sigmoid函数过饱和的问题。(2)依然进行的是指数运算

ReLU

近年来,ReLU函数变得越来越受欢迎。全称是Rectified Linear Unit,中文名字:修正线性单元。
在这里插入图片描述
神经网络激活函数_第4张图片
优点:(1)ReLU解决了梯度消失的问题,至少x在正区间内,神经元不会饱和;(2)由于ReLU线性、非饱和的形式,在SGD中能够快速收敛;(3)算速度要快很多。ReLU函数只有线性关系,不需要指数计算,不管在前向传播还是反向传播,计算速度都比sigmoid和tanh快。
不足:(1)ReLU的输出不是“零为中心”(Notzero-centered output)。(2)随着训练的进行,可能会出现神经元死亡,权重无法更新的情况。这种神经元的死亡是不可逆转的死亡。

Leaky ReLU

ReLU是将所有的负值设置为0,造成神经元节点死亡情况。相反,Leaky ReLU是给所有负值赋予一个非零的斜率。Leaky ReLU激活函数是在声学模型(2013)中首次提出来的。
在这里插入图片描述
神经网络激活函数_第5张图片
优点:
(1).神经元不会出现死亡的情况。
(2).对于所有的输入,不管是大于等于0还是小于0,神经元不会饱和。
(3).由于Leaky ReLU线性、非饱和的形式,在SGD中能够快速收敛。
(4).计算速度要快很多。Leaky ReLU函数只有线性关系,不需要指数计算,不管在前向传播还是反向传播,计算速度都比sigmoid和tanh快。
不足:(1).Leaky ReLU函数中的α,需要通过先验知识人工赋值。

你可能感兴趣的:(机器学习)