前言
今天上课的时候,在总结和深入阅读那一块有一段话:[Ramachandran et al.,2017]设计了不同形式的函数组合方式,并通过强化学习来搜索合适的激活函数,在多个任务上发现Swish函数具有更好的性能。前面大致浏览过Swish函数形式,对其很是陌生。我所熟知的激活函数是 σ \sigma σ,Tanh函数,ReLU函数(最常用),这里稍微整理一下Swish函数,并附上绘制Swish的python程序。
Swish函数
Swish是一种自门控(Self-Gated)激活函数,定义为: s w i s h ( x ) = x σ ( β x ) swish\left( x \right) =x\sigma \left( \beta x \right) swish(x)=xσ(βx),其中 σ ( ⋅ ) \sigma \left( · \right) σ(⋅)为 L o g i s t i c Logistic Logistic函数, β \beta β为可学习的参数或者一个固定的超参数。 σ ( ⋅ ) \sigma \left( · \right) σ(⋅)∈(0,1)可以看作一个软性的门控机制。当 σ ( β x ) \sigma \left( \beta x \right) σ(βx)接近于1的时候,“门”处于一种“开”状态,激活函数的输出近似于 x x x本身;当 σ ( β x ) \sigma \left( \beta x \right) σ(βx)接近于0时,“门”处于一种”关“的状态,激活函数的输出近似为0.
Swish的函数绘制如下:

讯享网
当 β \beta β为0时,Swish函数变为线性函数 x / 2 x/2 x/2,当 β \beta β为1时Swish函数在 x > 0 x>0 x>0时近似线性,在 x < 0 x<0 x<0时近似饱和,同时具有一定的非单调性,当 β \beta β趋于正无穷时,Swish可以看作近似为ReLU函数。因此Swish可以看作线性函数和ReLU函数之间的非线性插值函数,其程度由参数 β \beta β控制。

总结
这里的函数依旧是去接近于ReLU,吴恩达视频中对ReLU函数有很高的评价,在具体的实验中,至于用哪一个还得综合考量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/15239.html