激活函数
1.sigmoid:
特点:
(1)每个元素被压缩到0-1之间
(2)可以被解释为神经元的饱和放电率
(3)横坐标靠近0的区域,可以近似作为线性区域
问题:
(1)饱和神经元使得梯度消失
在反向传播时,若x=-10,则输出为接近0的数,local gradient(输出对输入x的导数(斜率))几乎为0,经过链式法则则L对x的梯度也几乎为0,梯度流消失,0梯度便会传到下一个节点;若x=0,会得到合理的梯度,并可以进行很好的反向传播
(2)sigmoid是一个非零为中心的函数,当神经元的输入始终为正时,L对W的梯度方便将会一直是正或者负,导致梯度更新效率低下。
(3)利用了指数,代价高。
2.tanh(x)
特点:
(1)每个元素被压缩到-1-1之间
(2)tanh函数是以0为中心的函数
问题:
(1)梯度消失
3.ReLu(best)
特点:
(1)在正区域不会饱和
(2)计算成本低,计算速度快
(3)实际上,我们使用ReLu,是因为它比sigmoid和tanh收敛快得多,大约快了6倍。
在AlexNet后开始大量使用ReLU
问题:
(1)不以0为中心
(2)当x为负值时,梯度消失,即为dead ReLU,不会被更新或者激活
a. have bad initialization,若权重设置的非常差
b. learning rate too high
人们喜欢用较小的正bias初始化ReLU神经元,以增加在初始化时被激活的可能性;但多数时候在初始化时还是将bias置为0
4.Leaky ReLU
5.Parametric Rectifiter(PReLU)
其中,这个参数当作一个可以反向传播和学习的参数
6.Exponential Linear Units(ELU)
ELU介于ReLU与LReLU之间
7.Maxout “Neuron”(最大输出神经元)