当前位置: 首页 > 面试题库 >

为什么要引入非线性激励函数?

司国源
2023-03-14
本文向大家介绍为什么要引入非线性激励函数?相关面试题,主要包含被问及为什么要引入非线性激励函数?时的应答技巧和注意事项,需要的朋友参考一下

答:

1.对于神经网络来说,网络的每一层相当于f(wx+b)=f(w'x),对于线性函数,其实相当于f(x)=x,那么在线性激活函数下,每一层相当于用一个矩阵

去乘以x,那么多层就是反复的用矩阵去乘以输入。根据举证的乘法法则,多个矩阵相乘得到一个大的矩阵。所以线性激励函数下,多层网络与一层网络相当。

比如:两层的网络f(w1*f(w2x)) = W1W2x = Wx

2.非线性变换是深度学习有效的原因之一。原因在于非线性相当于对空间进行变换,变换完成之后相当于对问题空间进行简化,原来线性不可解的问题现在变得可以解了

3.如果不用激励函数(其实相当于激励函数是f(x)=x),在这种情况下,你的每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络多少层,

输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机了

正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是

sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入

 

 类似资料:
  • 本文向大家介绍为什么引入非线性激活函数?相关面试题,主要包含被问及为什么引入非线性激活函数?时的应答技巧和注意事项,需要的朋友参考一下 第一,对于神经网络来说,网络的每一层相当于f(wx+b)=f(w'x),对于线性函数,其实相当于f(x)=x,那么在线性激活函数下,每一层相当于用一个矩阵去乘以x,那么多层就是反复的用矩阵去乘以输入。根据矩阵的乘法法则,多个矩阵相乘得到一个大矩阵。所以线性激励函数

  • 我试着运行一个没有任何激活函数的简单神经网络,并且网络不会收敛。我正在使用MSE成本函数进行MNIST分类。 然而,如果我将校正线性激活函数应用于隐藏层(输出=max(0,x),其中x是加权和),那么它会很好地收敛。 为什么消除前一层的负面输出有助于学习?

  • 1. 包含头文件 #import <AdHubSDK/AdHubSDK.h> 2. AdHubRewardBasedVideoAd 的初始化与请求 在需要导入广告的ViewController头文件中导入头文件并声明实例以及声明代理 #import <AdHubSDK/AdHubSDK.h> @interface AdHubRewardedVideoViewController () <AdH

  • 本文向大家介绍为什么要用纯函数?相关面试题,主要包含被问及为什么要用纯函数?时的应答技巧和注意事项,需要的朋友参考一下 在此之前要先了解什么是纯函数,简单来说纯函数的定义有两个: 1.返回的结果只依赖于传入的参数。 2.执行过程中不产生副作用。 在这里就需要了解到什么是副作用 1.改变了外部变量或者对象属性 2.触发任何外部进程 3.发送http请求 4.调用其他有副作用的函数 5.…… 那么我们

  • 我有一个非常简单的片段: 我在。 从文件中: 函数f是线性的,如果:当它的结果只消耗一次,那么它的参数只消耗一次。直观地说,这意味着在f定义的每一个分支中,它的参数x必须只使用一次。这可以通过 返回x未修改 将x传递给线性函数 在x上进行模式匹配,并以相同的方式使用每个参数一次。 将其作为函数调用,并以相同的方式使用结果一次。 我的函数就是这样做的——模式匹配于,它的参数在中使用一次,这是线性的: