1、ReLU (tf.nn.relu)
优点:1)使网络可以自行引入稀疏性,提高了训练速度;2)计算复杂度低,不需要指数运算,适合后向传播。
缺点:1)输出不是零均值,不会对数据做幅度压缩;2)容易造成神经元坏死现象,某些神经元可能永远不会被激活,导致相应参数永远不会更新。
卷积层后面通常用ReLU。
2、Sigmoid (tf.sigmoid)
它的曲线呈现S形,将变量映射到(0,1)这个值域范围上。它的导数 f'(x)=f(x)[1-f(x)]。
优点:1)输出范围有限,数据不会发散;2)求导简单。
缺点:1)激活函数计算量大,涉及指数和除法;2)反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练。
逻辑回归一般用sigmoid。
Sigmoid原函数及导数图形如下,由图可知,导数从0开始很快就又趋近于0了,易造成“梯度消失”