详解激活函数Swish

深层神经网络激活函数的选择对网络的训练动力学和任务性能有着重要的影响。目前,最成功和广泛使用的激活函数是矫正线性单元(ReLU) ,它是 f (x) = max (0,x)。虽然有人提出了各种替代 ReLU 的办法,但由于收益不一致,没有一种办法能够取代它。因此,谷歌大脑团队提出了一个名为 Swish 的新激活函数,简称 f (x) = x s (x)。他们的实验表明,在一些具有挑战性的数据集上,Swish 比 ReLU 在更深层次的模型上工作得更好。例如,只需简单地用 Swish 单位替换 ReLUs,Mobile NASNetA 和 inception-resnet-v2的 ImageNet 上的前1分类准确率分别提高了0.9% 和0.6% 。Swish 的简单性及其与 ReLU 的相似性使得从业者可以很容易地在任何神经网络中用 Swish 单元替换 ReLUs。

Swish

对于 ReLU,一致性问题是,对于斜坡函数中输入 x 的一半值,它的导数为0,即 f (x) = max (0,x)。作为他们的参数更新算法,他们使用了随机梯度下降,如果参数本身是0,那么这个参数将永远不会更新,因为它只是将参数指派回自己,导致接近40% 的死亡神经元在神经网络环境当 θ = θ。各种各样的替代品,如 Leaky ReLU 或 SELU (自标准化神经网络)已经尝试去解决这个问题,但是没有成功,但是现在似乎有了一场永久的革命。

几种常见的激活函数

 

Swish 是一个平滑的、非单调的函数,在深度网络上始终匹配或优于 ReLU,适用于各种具有挑战性的领域,如图像分类和机器翻译。上下都无界 & 它是非单调的属性造成了差异。通过self-gating,它只需要一个标量输入,而在多选通场景中,它需要多个双标量输入。它的灵感来自于 LSTM (Hochreiter & Schmidhuber,1997)和Highway networks(Srivastava et al. ,2015)中使用的 S形函数,在这些网络中,‘self-gating’意味着门实际上是激活本身的‘ sigmoid’。

使用 BatchNorm (Ioffe & Szegedy,2015)时,我们可以比 ReLU 网络训练更深的 Swish 网络,尽管它具有梯度压扁特性。利用 MNIST 数据集,对 Swish 和 ReLU 进行比较,两种激活函数在40层之内都能获得相似的性能。然而,当优化变得困难时,Swish 在40到50层之间的范围内的性能大大优于 ReLU。在非常深的网络中,Swish 比 ReLU 具有更高的测试精度。就批量大小而言,两种激活函数的性能都随着批量大小的增加而降低,可能是由于尖锐的极小值(Keskar 等人,2017)。然而,Swish 在每个批处理大小上都优于 ReLU,这表明即使改变批处理大小,两个激活函数之间的性能差异仍然存在。

显然,真正的潜力只有在我们自己使用它并分析其差异时才能被判断出来。通过定义返回 x * F.sigmoid (x)的 fn,我发现以函数的方式使用 Activation 函数更简单。

 

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

越来越胖的GuanRunwei

祝老板们身体健康,财源广进!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值