Loading...
墨滴

algolearn

2021/10/12  阅读:24  主题:默认主题

为什么必须在神经网络中引入非线性

神经网络中,如果使用线性函数,每一层输出都是上层输入的线性函数,无论神经网络多深,输出都是输入的线性组合。加深神经网络的层数就没有什么意义了。线性函数的问题在于不管加深层数到多少,总是存在与之等效的无隐藏层的神经网络。为了稍微直观的理解这一点,考虑下面一个简单的例子。

存在一个线性函数 作为激活函数,假设有三层线性网络 。很明显可以想到同样的处理可以由

也就是说,使用线性激活函数时,无法发挥多层网络带来的优势,因为得到的输出与原始输入还是线性关系。相反如果使用非线性函数,例如relu / sigmoid / softplus ...等激活函数,给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

欢迎关注微信公众号(算法工程师面试那些事儿),建号初期,期待和大家一起刷leecode,刷机器学习、深度学习面试题等,共勉~

算法工程师面试那些事儿
算法工程师面试那些事儿

algolearn

2021/10/12  阅读:24  主题:默认主题

作者介绍

algolearn