本文主要是介绍RELU是分段线性函数,怎么实现非线性呢?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- ReLu虽然在大于0的区间是线性的,在小于等于0的部分也是线性的,但是它整体不是线性的,因为不是一条直线。多个线性操作的组合也是一个线性操作,没有非线性激活,就相当于只有一个超平面去划分空间。但是ReLu是非线性的,效果类似于划分和折叠空间,组合多个(线性操作 + ReLu)就可以任意的划分空间。
- 对于浅层的机器学习,比如经典的三层神经网络,用它作为激活函数的话,那表现出来的性质肯定是线性的。但是在深度学习里,少则几十,多则上千的隐藏层,虽然,单独的隐藏层是线性的,但是很多的隐藏层表现出来的就是非线性的。(参考:https://blog.csdn.net/tianguiyuyu/article/details/79875641)线性和非线性,举个简单的例子,一条曲线无限分段,每段就趋向直线,反过来,很多这样的直线就可以拟合曲线。类似,大规模的神经网络,包含很多这样的线性基本组件,自然也可以拟合复杂的非线性情况。
- 文章 “On the Number of Linear Regions of Deep Neural Networks”,能够形象的想象Relu如何构造很多的线形空间(类似于折叠的方式),逼近非线性方程。
这篇关于RELU是分段线性函数,怎么实现非线性呢?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!