前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[高大上的DL] Activation function (激活函数)的初步认识

[高大上的DL] Activation function (激活函数)的初步认识

作者头像
用户1622570
发布2018-04-11 15:49:55
9290
发布2018-04-11 15:49:55
举报

今天简单认识一下什么激活函数以及都有那些激活函数。说到激活函数这里有几个比较容易混淆的概念,比如Pooling池化和Sampling采样,loss function损失函数和optimizer优化器,还有Initializers初始化方法和Batch Normal正则化(归一化)方法。不知道大家是不是能分得清楚。反正我开始学的时候总是分不清。如果你也不清楚,一定要去看看哦~!

先简单说一下,激活函数是干什么的。首先从数学的角度理解一下,激活函数首先也是个函数,什么是函数呢?简单说给一个x,得到一个y。函数代表了x和y的关系,也叫一一映射。也就是把一个数经过一种运算(通常是非线性)得到另一个数。很简单吧!那么从神经网络的角度,通常我们通过权重和输入的乘积求和再加偏置项,得到的结果,输入给激活函数,这样就把线性变为非线性,我们知道神经网络最初的设计是为了求解分类问题,既然分类,我们就要找到一个区分不同类的线,来把他们分开。相比于用一个超级复杂的线性组合去逼近那个理想中的分隔线,倒不如用一个非线性,较平滑的曲线来分割平面。这就是激活函数的作用。最后要说一下激活函数一般要满足,非线性,可微分,还要具有单调性。(意思是如果你发现了这样的函数,就可以去发paper了、、、)!

其实也不用去纠结这个,因为在实际工程中,根据不同的work,都回去试不同的激活函数,那个好就用那个,所以你只要知道有哪些激活函数,然后在什么时候用,最后拿着去用就OK啦!下面把常见的简单介绍一下,毕竟真正用的时候,无非就是调用一个TensorFlow函数~,这么说是不是很不负责任? 囧

1 sigmoid(logistics)函数

定义域:实数。值域:(0, 1)。

2 tanh函数(双曲正切)

定义域:R,值域:(-1,1)(注意对比sigmoid)

这个函数就是双曲正切,在数学中,有双曲正切,那么就有双曲余弦,双曲正弦。有想法的童鞋可以去推一推公式,求个导数什么的,没事玩玩。

3 Relu函数

f(x)= max(0, x)

这个函数形式炒鸡简单吧,这个函数就是把输入和0做个比较,谁大就输出谁。也就是说如果是负数,最后都变成了0。

但是就这么一个函数,它具有很多良好的性质,大神写了一篇paper啊(有兴趣自己去找)。为什么这么简单的一个函数如此厉害呢?要清楚背后的思想其实还真不是一两句话能说清楚。详细的介绍可以看一下我后面给的参考文献。

这里在多说几句,大家可能也听说过softplus函数,这个函数如下:

softplus求导之后就得到了sigmoid函数。还有一个函数softmax函数:

Softmax函数是sigmoid函数在多分类问题中的推广。K代表的就是类别。这里说这个的原因是给新手提个醒,注意他们的联系和区别。最后但是很重要的是,softplus其实是Relu的一个比较圆滑的版本。为什么这么说呢,是因为Relu其实不是一个解析函数,因为他有一些值为0,存在一个不可导的邻域,也就是在0不解析。而softplus是一个解析函数。解析函数是复变函数中的一个概念,有兴趣可以去看一下参考文献3。但是softplus的效果稍差于Relu。

4 Leaky Relu

leaky relu 是在relu的基础上一个改进函数,是一个更“温和”的函数,它不像relu那么“暴力”,直接把负数全扔掉了,而是对于负数给乘以一个很小的系数a,a一般取0.2,或者0.3。

5 Elu

函数elu的特点是大于0的部分为线性函数,小于0的部分为非线性函数。左侧具有软饱和,右侧无饱和性。怎么理解饱和性呢?我后面知道了再告诉大家 =* =。Elu对于输出的均值接近于0,所以收敛的更快。

6 PRelu

其中如果ai等于0,则PRelu就是Relu,如果ai是固定的常数,PRelu就是Leaky Relu。

PRelu和Leaky Relu的区别在于其中的参数ai是一个可学习的参数,也就是利用梯度反向传播的时候来更新ai。更新公式如下:

今天就先把激活函数说一下吧,看看时间不早了,这周事情比较多,所以更新比较慢了。

[参考文献]

1. https://www.zhihu.com/question/29021768

2. http://www.cnblogs.com/neopenx/p/4453161.html

3. https://wenku.baidu.com/view/532c39681eb91a37f1115c77.html

下集预告:明天不出意外要分享的是我对损失函数的理解,欢迎大家关注!

本文为作者原创,如有雷同,必然是别人抄我的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习和数学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档