激活函数

激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

Sigmoid

也成为 S 形函数,取值范围为 (0,1)。Sigmoid 将一个实数映射到 (0,1) 的区间,可以用来做二分类。Sigmoid 在特征相差比较复杂或是相差不是特别大时效果比较好。

sigmoid 缺点:

  • 激活函数计算量大(指数运算),反向传播求误差梯度时,求导涉及除法
  • 对于深层网络,sigmoid 函数反向传播时,很容易就会出现梯度消失的情况(在 sigmoid 接近饱和区时,变换太缓慢,导数趋于 0,这种情况会造成信息丢失),从而无法完成深层网络的训练

Tanh

也称为双切正切函数,取值范围为 [-1,1]。tanh 在特征相差明显时的效果会很好,在循环过程中会不断扩大特征效果。

Softmax

softmax 函数将 K 维的实数向量压缩(映射)成另一个 K 维的实数向量,其中向量中的每个元素取值都介于 (0,1) 之间。常用于多分类问题。

Softmax is a generalization of the logistic function that "squashes" a K-dimensional vector z of arbitrary real values to a K-dimensional vector sigma(z) of real values in the range (0, 1) that add up to 1.

ReLU

为什么采用 ReLU:

  • sigmoid 等激活函数(指数运算)计算量大,并且在深层网络上容易出现梯度消失问题
  • ReLU 计算量小(不涉及除法),一部分神经元的输出为 0 造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生

对于偏置值,如果用 ReLU 的话,最好的办法就是把它们都初始化成小的正值,这样神经元一开始就会工作在 ReLU 的非零区域内。

ReLU 缺点:强制的稀疏处理会减少模型的有效容量(即特征屏蔽太多,导致模型无法学习到有效特征)。

© Pengfei Ni all right reserved,powered by GitbookUpdated at 2018-03-02 14:03:05

results matching ""

    No results matching ""