softmax/sigmoid tanh/ReLU/Leaky ReLU

softmax(归一化指数函数)

σ ( x i ) = e x i ∑ j = 1 j = n e x j \sigma(x_i) = {\frac{e^{xi}}{\sum_{j=1}^{j=n}e^{xj}}} σ(xi)=j=1j=nexjexi
概率之和为1,元素之间相互关联抑制,取值被压缩到(0,1)可用于多分类问题。
只有一个标签。

sigmoid(logistic function)

σ ( x i ) = 1 1 + e − x i = e x i 1 + e x i \sigma(x_i) = {\frac{1}{1+e^{-x_i}}}={\frac{e^{x_i}}{1+e^{x_i}}} σ(xi)=1+exi1=1+exiexi
σ ′ ( x i ) = e − x i ( 1 + e − x i ) 2 = σ ( x i ) ∗ ( 1 − σ ( x i ) ) \sigma^{'}(x_i)= {\frac{e^{-x_i}}{(1+e^{-x_i})^2}}=\sigma(x_i)*(1-\sigma(x_i)) σ(xi)=(1+exi)2exi=σ(xi)(1σ(xi))
可用于多标签分类,或者二分类
softmax/sigmoid tanh/ReLU/Leaky ReLU_第1张图片
当sigmoid函数输入的值趋于正无穷或者负无穷时,梯度会趋于0,从而发生梯度弥散情况。sigmoid的输出恒为正值,这会导致权值更新时只能朝一个方向更新,从而影响收敛速度。
函数分类大PK:Sigmoid和Softmax,分别怎么用?

y = tanhx
softmax/sigmoid tanh/ReLU/Leaky ReLU_第2张图片

ReLU(Rectified linear unit)修正线性单元
f(x)=max(0,x)
缺点:训练的时候很脆弱。例如当一个非常大的梯度流过一个ReLU神经元时,更新参数后,这个神经元再也不会有任何数据有激活现象了。
softmax/sigmoid tanh/ReLU/Leaky ReLU_第3张图片
softmax/sigmoid tanh/ReLU/Leaky ReLU_第4张图片

为什么ReLU比sigmoid和tanh强

sigmoid和tanh的梯度在饱和区非常平缓,接近于0,很容易造成梯度消失,减缓收敛速度。梯度消失在网络层数多时尤其明显,是加深网络结构的主要障碍之一,ReLU的梯度大多数情况下是常数,有助于解决深层网络收敛的问题。sigmoid算激活函数时,指数运算计算量大,反向传播求误差梯度时,求导涉及除法,计算量大。
ReLU是单边的,更符合生物元的特性。使一部分神经元输出为0,造成网络的稀疏性,减少了参数的相互依存关系,缓解了过拟合问题的发生。
而提出sigmoid和tanh,主要是因为他们全程可导,而且在输出层的表达上有优势。

ReLU为什么比Sigmoid效果好

Leaky ReLU
因为ReLU输入值为负时,输出始终为0,一阶导数也为0,这样导致神经元不能更新参数,
所以引入一个泄漏值。

x>0,y=x
x<0,y=leaky*x
leaky是一个很小的数,保留负轴的一些信息。
但是ReLU用的更多。
softmax/sigmoid tanh/ReLU/Leaky ReLU_第5张图片

你可能感兴趣的:(softmax/sigmoid tanh/ReLU/Leaky ReLU)