激活函数——Relu,Swish

形式如下:

relu 公式

-----stepped sigmoid
------- softplus function
------- Rel function

其中 -------- sigmoid

下面解释上述公式中的softplus,Noisy ReLU.

softplus函数与ReLU函数接近,但比较平滑, 同ReLU一样是单边抑制,有宽广的接受域(0,+inf), 但是由于指数运算,对数运算计算量大的原因,而不太被人使用.并且从一些人的使用经验来看(Glorot et al.(2011a)),效果也并不比ReLU好.
softplus的导数恰好是sigmoid函数

softplus

ReLU的稀疏性

当前,深度学习一个明确的目标是从数据变量中解离出关键因子。原始数据(以自然数据为主)中通常缠绕着高度密集的特征。然而,如果能够解开特征间缠绕的复杂关系,转换为稀疏特征,那么特征就有了鲁棒性(去掉了无关的噪声)。稀疏特征并不需要网络具有很强的处理线性不可分机制。那么在深度网络中,对非线性的依赖程度就可以缩一缩。一旦神经元与神经元之间改为线性激活,网络的非线性部分仅仅来自于神经元部分选择性激活。
对比大脑工作的95%稀疏性来看,现有的计算神经网络和生物神经网络还是有很大差距的。庆幸的是,ReLu只有负值才会被稀疏掉,即引入的稀疏性是可以训练调节的,是动态变化的。只要进行梯度训练,网络可以向误差减少的方向,自动调控稀疏比率,保证激活链上存在着合理数量的非零值。

ReLU 缺点

  • 坏死: ReLU 强制的稀疏处理会减少模型的有效容量(即特征屏蔽太多,导致模型无法学习到有效特征)。由于ReLU在x < 0时梯度为0,这样就导致负的梯度在这个ReLU被置零,而且这个神经元有可能再也不会被任何数据激活,称为神经元“坏死”。* 无负值: ReLU和sigmoid的一个相同点是结果是正值,没有负值.
  • 无负值: ReLU和sigmoid的一个相同点是结果是正值,没有负值.

ReLU变种

Leaky ReLU

当<0时,()=,其中非常小,这样可以避免在<0时,不能够学习的情况:

称为Parametric Rectifier(PReLU)将 作为可学习的参数.

当 从高斯分布中随机产生时称为Random Rectifier(RReLU)

当固定为=0.01时,是Leaky ReLU。

优点:

  • 不会过拟合
  • 计算简单有效
  • 比sigmoid/tanh收敛快。

Swish

是个常识或可训练的参数。Swish 具备有下界、平滑、非单调的特性。
Swish在深层模型上的效果优于 ReLU。

例如,仅仅使用 Swish 单元替换 ReLU 就能把 Mobile NASNetA 在 ImageNet 上的 top-1 分类准确率提高 0.9%,Inception-ResNet-v 的分类准确率提高 0.6%。

Swish

导数

swish -d

当= 0

Swish变为线性函数

在 , Swish变为 relu:f(x) = 2max(0,x)

所以Swish函数可以看做是介于线性函数与relu函数之间的平滑函数

Maxout

Maxout可以看做是在深度学习网络中加入一层激活函数层,包含一个参数k.这一层相比ReLU,sigmoid等,其特殊之处在于增加了k个神经元,然后输出激活值最大的值.

我们常见的隐含层节点输出:

在maxout网络中,其隐含层节点的输出表达式为

你可能感兴趣的:(激活函数——Relu,Swish)