天涯网站怎么做外链,网站照片上传不了怎么办,全球云邮登陆网站,宁德做网站公司✨1 介绍 
⛄ 1.1 概念 
激活函数是神经网络中的一种数学函数#xff0c;它被应用于神经元的输出#xff0c;以决定神经元是否应该被激活并传递信号给下一层。常见的激活函数包括Sigmoid函数、ReLU函数、Tanh函数等。 
#x1f384; 1.2 性质 
激活函数是神经网络中的一种重…✨1 介绍 
⛄ 1.1 概念 
激活函数是神经网络中的一种数学函数它被应用于神经元的输出以决定神经元是否应该被激活并传递信号给下一层。常见的激活函数包括Sigmoid函数、ReLU函数、Tanh函数等。 1.2 性质 
激活函数是神经网络中的一种重要组件它的作用是引入非线性特性使得神经网络能够学习和表示更加复杂的函数关系。 
激活函数具有以下几个性质 
非线性激活函数必须是非线性的这是为了使得神经网络能够学习非线性函数。如果使用线性激活函数多层神经网络的输出将仍然是线性的无法表达复杂的非线性关系。可微性激活函数在神经网络的反向传播算法中起到关键作用因此它必须是可微的。这样才能计算梯度并更新网络参数实现网络的训练。非饱和性激活函数应该具有非饱和性即在输入取值范围内函数值不会饱和或饱和得很快。这样可以避免梯度消失的问题使得网络能够更好地进行训练。输出范围激活函数的输出范围应该适当使得神经网络的输出在合理的范围内。例如对于二分类问题常用的激活函数是sigmoid函数其输出范围在0到1之间可以表示概率值。 
⛱️ 1.3 为什么使用激活函数 
在深度学习中神经网络通常由多个层组成每一层都包含了许多神经元。每个神经元接收来自上一层神经元的输入并通过激活函数将其转换为输出。起到的作用有三点 
激活函数可以引入非线性。如果没有激活函数多层神经网络将只能表示线性关系无法学习复杂的非线性模式。通过使用激活函数神经网络能够学习和表示更加复杂的模式从而提高其表达能力。激活韩素可以帮助神经网络进行分类任务将输入数据映射到不同的类别。激活函数还可以帮助神经网络处理输入数据中的噪声和不确定性增强其鲁棒性和泛化能力。 
总之激活函数在深度学习中的使用是为了引入非线性特性提高神经网络的表达能力和学习能力。 
✨ 2 常见激活函数 
常见的激活函数包括Sigmoid函数、ReLU函数、Tanh函数等 
2.1 Sigmoid 
☃️ 2.1.1 理论 
公式  (0, 1)之间取值 
函数图像  但是sigmoid存在下列问题 
容易出现梯度消失。当输入值非常大或非常小时sigmoid函数的导数接近于0这导致在反向传播过程中梯度逐渐消失使得网络难以训练。输出不是以0为中心。sigmoid函数的输出不是以0为中心的这可能导致神经网络在训练过程中出现偏移问题使得收敛速度变慢。计算量大 2.1.2 torch.nn.Sigmoid 
torch.nn.Sigmoid()2.2 ReLU 
2.2.1 ⛱️ 原理 
公式  sigmoid函数在输入值非常大或非常小时导数接近于0导致梯度逐渐消失。而ReLU函数在正值部分的导数为1因此在反向传播过程中可以更好地保持梯度的大小避免梯度消失问题。 
函数图像  但是仍然存在一些问题 
输出范围是[0,正无穷)存在输出不是以0为中心的问题。Dead ReLU问题。当输入值小于等于0时ReLU函数的导数为0导致神经元无法更新权重从而导致神经元“死亡”。如果大量神经元处于“死亡”状态那么整个网络的表达能力将受到限制。输出不受限制。ReLU函数的输出范围没有上界这可能导致某些神经元输出值过大称为“exploding gradients”问题。这可能会对网络的稳定性和收敛性造成影响。不可导性。ReLU函数在输入为0时是不可导的因为它的导数在0处不存在。这可能导致在某些优化算法中的计算问题例如梯度下降算法。 2.2.2 torch.nn.ReLU 
torch.nn.ReLU( inplace: bool  False)inplace如果inplaceTrueReLU函数将会修改输入张量本身而不是创建一个新的张量来存储结果计算ReLU的反向传播时有时只需根据输出就能够推算出反向传播的梯度。这意味着原始输入张量的值将被覆盖这种原地操作可以节省内存特别是当处理大型张量时但是只有少数的autograd操作支持inplace操作除非明确地知道自己在做什么否则不要使用inplace操作。 2.3 Tanh 2.3.1 理论 
公式  输出范围是(-1, 1) 函数图像  存在的一些问题 
梯度消失。当输入值非常大或非常小的时候Tanh函数的导数会接近于零导致梯度消失的问题。这可能会导致训练过程中的梯度更新变得非常缓慢甚至无法收敛到最优解。与Sigmoid相同输出范围限制。Tanh函数的输出范围被限制在-1和1之间这可能导致某些情况下的信息损失。例如在某些任务中输出值需要超过这个范围才能正确表示。 2.3.2 Torch.nn.Tanh 
torch.nn.ReLU()✨ 3 扩展 
为了解决上面三个激活函数的问题一些改进的激活函数被提出例如ReLU和Leaky ReLU。