小编典典

为什么必须在反向传播神经网络中使用非线性激活函数?

all

我一直在阅读有关神经网络的一些东西,并且我了解单层神经网络的一般原理。我知道需要额外的层,但为什么要使用非线性激活函数?


阅读 59

收藏
2022-08-05

共1个答案

小编典典

激活函数的目的是将 非线性引入网络

反过来,这允许您对随解释变量非线性变化的响应变量(也称为目标变量、类标签或分数)进行建模

非线性 意味着不能从输入的线性组合中再现输出(这与呈现为直线的输出不同——这个词是 affine )。

另一种思考方式:如果网络中没有 非线性
激活函数,NN,无论它有多少层,都会像单层感知器一样工作,因为将这些层相加只会给你另一个线性函数(见上面的定义)。

>>> in_vec = NP.random.rand(10)
>>> in_vec
  array([ 0.94,  0.61,  0.65,  0.  ,  0.77,  0.99,  0.35,  0.81,  0.46,  0.59])

>>> # common activation function, hyperbolic tangent
>>> out_vec = NP.tanh(in_vec)
>>> out_vec
 array([ 0.74,  0.54,  0.57,  0.  ,  0.65,  0.76,  0.34,  0.67,  0.43,  0.53])

反向传播(双曲正切 )中使用的常见激活函数从 -2 评估到 2:

在此处输入图像描述

2022-08-05