您的位置:首页 > 其它

什么是激活函数以及其作用

2018-01-25 21:41 183 查看
作者:颜沁睿

链接:https://www.zhihu.com/question/22334626/answer/103835591

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我觉得

@lee philip

的答案呢主要是在说为什么需要用非线性函数来进行分类, 而没有点出为什么没有activation function就不能非线性分类. 于是乎祭出我上次用的几幅图吧~~~

----------------------------------

这是一个单层的感知机, 也是我们最常用的神经网络组成单元啦. 用它可以划出一条线, 把平面分割开

<img src="https://pic4.zhimg.com/50/2e83b4403f21654cd9147f13ecfaf799_hd.jpg" data-rawwidth="884" data-rawheight="460" class="origin_image zh-lightbox-thumb" width="884" data-original="https://pic4.zhimg.com/2e83b4403f21654cd9147f13ecfaf799_r.jpg">


那么很容易地我们就会想用多个感知机来进行组合, 获得更强的分类能力, 这是没问题的啦~~~~

如图所示,

<img src="https://pic3.zhimg.com/50/ef7eb0f56730058e1100dd6605eb2a25_hd.jpg" data-rawwidth="880" data-rawheight="459" class="origin_image zh-lightbox-thumb" width="880" data-original="https://pic3.zhimg.com/ef7eb0f56730058e1100dd6605eb2a25_r.jpg">

那么我们动笔算一算,
就可以发现, 这样一个神经网络组合起来,输出的时候无论如何都还是一个线性方程哎~~~~纳尼, 说好的非线性分类呢~~~!!!!???

<img src="https://pic4.zhimg.com/50/7c6e12aed30bf315eed8df6476d7ef7b_hd.jpg" data-rawwidth="890" data-rawheight="409" class="origin_image zh-lightbox-thumb" width="890" data-original="https://pic4.zhimg.com/7c6e12aed30bf315eed8df6476d7ef7b_r.jpg">

再盗用一幅经常在课堂上用的图...然而我已经不知道出处是哪了,
好像好多老师都是直接用的, 那我就不客气了嘿嘿嘿~~这幅图就跟前面的图一样, 描述了当我们直接使用step activation function的时候所能获得的分类器, 其实只能还是线性的, 最多不过是复杂的线性组合罢了~~~当然你可以说我们可以用无限条直线去逼近一条曲线啊......额,当然可以, 不过比起用non-linear的activation function来说就太傻了嘛....

<img src="https://pic3.zhimg.com/50/c46188f6f517a15142133129e47d1ae8_hd.jpg" data-rawwidth="643" data-rawheight="298" class="origin_image zh-lightbox-thumb" width="643" data-original="https://pic3.zhimg.com/c46188f6f517a15142133129e47d1ae8_r.jpg">


祭出主菜. 题主问的激励函数作用是什么, 就在这里了!!

我们在每一层叠加完了以后, 加一个激活函数, 如图中的

. 这样输出的就是一个不折不扣的非线性函数!

<img src="https://pic1.zhimg.com/50/32cbeac5eaea9d655b9a50e4d8d0a687_hd.jpg" data-rawwidth="886" data-rawheight="486" class="origin_image zh-lightbox-thumb" width="886" data-original="https://pic1.zhimg.com/32cbeac5eaea9d655b9a50e4d8d0a687_r.jpg">

于是就很容易拓展到多层的情况啦,
更刚刚一样的结构, 加上non-linear activation function之后, 输出就变成了一个复杂的, 复杂的, 超级复杂的函数....额别问我他会长成什么样, 没人知道的~~~~我们只能说, 有了这样的非线性激活函数以后, 神经网络的表达能力更加强大了~~(比起纯线性组合, 那是必须得啊!)

<img src="https://pic3.zhimg.com/50/3e4d3aabb90f51f467437a17861d3bf7_hd.jpg" data-rawwidth="923" data-rawheight="453" class="origin_image zh-lightbox-thumb" width="923" data-original="https://pic3.zhimg.com/3e4d3aabb90f51f467437a17861d3bf7_r.jpg">

继续厚颜无耻地放一张跟之前那副图并列的图,
加上非线性激活函数之后, 我们就有可能学习到这样的平滑分类平面. 这个比刚刚那个看起来牛逼多了有木有!

<img src="https://pic3.zhimg.com/50/fab8a7ae1cb63992f70e160d7f03c067_hd.jpg" data-rawwidth="657" data-rawheight="331" class="origin_image zh-lightbox-thumb" width="657" data-original="https://pic3.zhimg.com/fab8a7ae1cb63992f70e160d7f03c067_r.jpg">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐