深度学习中,多层神经网络中为何加入激活函数?

两个解释:

1.层与层之间如果不加激活函数,会退化到一个神经网络

 

 

 

 

 2. 从神经元的基本原理出发:

神经元不希望传递微小的噪声信号,而只是传递有意识的明显信号。

因此,我们来看看一个神经元是如何工作的。它接受了一个电输入,输出另一个电信号。这看起来,与我们先前所观察的分类或预测的机器一模一样,这些机器也是接受了一个输入,进行一些处理,然后弹出一个输出。因此,我们可以与以前一样,将神经元表示为线性函数吗?虽然这是个好主意,但是不可以这样做。生物神经元与简单的线性函数不一样,不能简单地对输入做出的响应,生成输出。也就是说,它的输出不能采用这种形式:输出=(常数*输入)+(也许另一常数)。观察表明,神经元不会立即反应,而是会抑制输入,直到输入增强,强大到可以触发输出。你可以这样认为,在产生输出之前,输入必须到达一个阈值。就像水在杯中—直到水装满了杯子,才可能溢出。直观上,这是有道理的—神经元不希望传递微小的噪声信号,而只是传递有意识的明显信号。下图说明了这种思想,只有输入超过了阈值(threshold),足够接通电路,才会产生输出信号。

 虽然这个函数接受了输入信号,产生了输出信号,但是我们要将某种称为激活函数的阈值考虑在内。在数学上,有许多激活函数可以达到这样的效果。一个简单的阶跃函数可以实现这种效果。[插图]你可以看到,在输入值较小的情况下,输出为零。然而,一旦输入达到阈值,输出就一跃而起。具有这种行为的人工神经元就像一个真正的生物神经元。科学家所使用的术语实际上非常形象地描述了这种行为,他们说,输入达到阈值时,神经元就激发了。我们可以改进阶跃函数。下图所示的S形函数称为S函数(sigmoid function)。这个函数,比起冷冰冰、硬邦邦的阶跃函数要相对平滑,这使得这个函数更自然、更接近现实。自然界很少有冰冷尖锐的边缘![插图]我们将继续使用这种平滑的S形函数制作神经网络。虽然人工智能研究人员还使用其他外形类似的函数,但是S函数简单,并且事实上非常常见,因此S函数对我们非常重要。


神经网络训练的四个步骤

 

 

 


神经网络训练建议:

 

 

 

 参数W和b不要设置很大,否则出现梯度消失的问题

 

 

 

 

 

 

 

 


loss交叉熵

 

猜你喜欢

转载自blog.csdn.net/Viviane_2022/article/details/128489644
今日推荐