Reading Notes-Swish:A Self-gated Activation Function

Hi all,今天和大家分享一篇比较新的paper,是关于一种新的activation function,关于我们知道的activation function,有sigmoid,tanh,ReLU以及ReLU的一些变种,那我们今天来看看这种新提出的activation function到底有什么特色。

Notes

首先定义,swish activation function \(f(x)=x \cdot \sigma (x)\),其中\(\sigma(x)\)是sigmoid function,也就是\( \sigma(x)=1/(1+ e^{-x})\).Swish functin的图像如图所示:

我们再来看下swish function的1st and 2nd derivatives,

下面我们一起来集中看看swish function的优点都有什么,作者给出了以下几点:函数值没有上限,函数值有下限,函数不单调,函数光滑连续,我们一起看看:

Unbounded above

Unbounded above的实质,是防止activation function在bounded value处发生saturation. bounded above 带来的问题,就是越接近bounded value的时候,function gradient就会越小,逐渐接近0,这就导致gradient descent异常缓慢甚至无法converge。例如sigmoid 和tanh function,他们都是bounded below and above,当我们采用这两种activation function的时候,我们必须谨慎小心的让初始值尽量在function的接近liner的部分来避免上面问题的产生,因此,unbounded above是一个很好的优点,例如ReLU及其变种都采用了这一原则。

Bounded below & non-monotonicity

Bounded below其实也是一种很好的方法,并且也有activation function已经采用了,采用该方法后,所有负数input都会得到相差无几的activation value,也就是说,-1000和-1的值几乎没有区别,按照author的话来讲,就是我们将

make large negative input “fogotten”

这其实也是regularzation的一种思想,这种方法在ReLU等方法中也有体现,但是,swish可以通过自身的非单调性质,将比较小的negative input仍然以negative value输出,non-monotonicity提供了更好的gradient flow.

Smothness

关于smoothness的优点,我们来看一张图:

总而言之,个人感觉swish应该算是一个不错的activation,本人由于时间原因,还没有来得及自己测试它,但是据我所看到的讨论,swish的实际效果貌似不是十分稳定,所以我们可以持保留意见,进一步观察它的表现。

Reference

Imbalanced data 问题总结方法汇总 Learning Notes-Deep Learning, course3, week2

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×