swish激活函数

激活函数提出论文:
swish

f(x)=x⋅sigmoid(βx)

β是个常数或可训练的参数.Swish 具备无上界有下界、平滑、非单调的特性。
Swish 在深层模型上的效果优于 ReLU。例如,仅仅使用 Swish 单元替换 ReLU 就能把 Mobile NASNetA 在 ImageNet 上的 top-1 分类准确率提高 0.9%,Inception-ResNet-v 的分类准确率提高 0.6%。

swish激活函数_第1张图片

导数:
swish激活函数_第2张图片
当β = 0时,Swish变为线性函数:
f(x)=x2f(x)=x2.

β → ∞,
σ(x)=(1+exp(−x))−1,
σ(x)=(1+exp⁡(−x))−1为0或1.
Swish变为ReLU:
f(x)=2max(0,x)
所以Swish函数可以看做是介于线性函数与ReLU函数之间的平滑函数.

工程实现:
在TensorFlow框架中只需一行代码: x * tf.sigmoid(beta * x)或tf.nn.swish(x).
在Caffe中使用Scale+Sigmoid+EltWise(PROD)来实现或者合并成一个层.

你可能感兴趣的:(视觉CV,深度学习)