神经网络激活函数

一、为什么需要激活函数

通俗解释

想象一下你在玩乐高积木。你有各种不同颜色和形状的积木,你的任务是建造一个模型——也许是一辆车、一座房子,或者是一只动物。

如果你只允许每一块积木直接堆叠在另一块上面(想象一下只能垂直或水平地把它们排列在一起),你建造模型的能力会受到限制。就像一个没有激活函数的神经网络,不管你有多少块积木(神经元),你都只能按照一个规则构建东西——直线和矩形。

现在,让我们将乐高玩具中的连接点比作激活函数。突然之间,你可以旋转积木,使它们以精确的角度相互连接。你可以创建弯曲的结构、斜坡以及其他复杂的形状。这就像在神经网络中引入非线性激活函数,它允许你把简单的构件组合成复杂的、非线性的、多功能的结构。有了这种灵活性,你可以建造出更接近现实世界对象的复杂模型,就像一个神经网络可以学习识别复杂的模式和关系。

总结一下,乐高积木中的连接点(激活函数)是构建复杂模型的关键成分,正如神经网络中的激活函数是进行复杂任务的核心组件。没有它们,我们的建造和学习能力会受到严重的限制。

神经网络解释

要理解这个含义,首先需要认识到“线性组合”的概念。在数学中,一组变量的线性组合是指每个变量乘以一个系数并求和后的总和。对于两个变量x和y,它们的线性组合可以表示为ax + by,其中a和b是系数。

在神经网络的上下文中,如果我们没有使用任何激活函数(也称为线性激活函数),则每个神经元的输出只是其输入的加权和,这是一个线性方程。对于简单的单层网络(也就是感知机),如果我们有多个输入x1, x2, x3,…,xn,神经元的输出将是w1x1 + w2x2 + w3x3 + … + wnxn + b,这里的wi是权重,b是偏置项。

现在想象一个有多个这样的层的网络,每一层的输出都是前一层输出的加权和。如果第二层是线性的(即,没有非线性激活函数),那么第二层的输出仍然可以表示为第一层输出的线性组合。即:

第一层: z = W1x + b1
第二层: y = W2
z + b2
将第一层的输出z代入第二层的公式,我们就得到:

y = W2*(W1*x + b1) + b2
这个公式可以简化为:

y = (W2*W1)x + (W2b1) + b2
这仍然是输入x的线性组合,因为我们只做了乘法和加法操作,这里的(W2W1)和(W2b1) + b2是新的权重和偏置项。

如果没有非线性激活函数,这个线性关系将会在所有层中持续下去,无论网络有多少层。

二、激活函数的作用

  • 引入非线性:最核心的作用是引入非线性因素。如果不使用激活函数,无论我们的神经网络有多少层,所有层输出的仍然只能是输入的线性组合,这样的网络叫做线性模型,其表达能力非常有限。通过引入非线性激活函数,神经网络可以学习到更加复杂的特征,进而能够解决更复杂的任务,比如图像识别、语音识别等。

  • 增强模型的表示能力:非线性激活函数使得神经网络能够近似任何非线性函数,这是基于神经网络普遍逼近定理的。这意味着具有至少一个隐藏层和适当激活函数的神经网络可以用任意精度来逼近任何连续函数。

  • 控制激活值的范围:某些激活函数能够将输出值挤压到一个特定范围(如Sigmoid函数的输出范围是(0,1),Tanh是(-1,1))。这对于输出层非常重要,例如对于分类问题,输出层的Sigmoid函数可以将值转换成概率,Softmax激活函数可以用于多类别的输出。

  • 提高计算稳定性和效率:例如,ReLU(Rectified Linear Unit)激活函数能够提供快速的收敛和减少梯度消失的问题(尽管它可能引起梯度爆炸问题)。这类激活函数计算简单,能够大大提高神经网络的训练速度。

  • 允许反向传播:通过激活函数的导数,误差可以从网络的输出层反向传播到输入层,这对于基于梯度下降算法的网络训练是必要的。如果没有可微的激活函数,这个过程无法进行。

三、常见的激活函数

  • Sigmoid:能够将输入压缩到0到1的范围内,常用于二分类问题的最后一层。
  • Tanh (双曲正切):将输入压缩到-1到1的范围内,与Sigmoid类似,但通常表现得更好,因为其输出以0为中心。
  • ReLU (Rectified Linear Unit):将所有的负值归零,同时保留正值,简单高效,但可能导致一些神经元“死亡”。
  • Leaky ReLU、PReLU 和 ELU 等变种试图解决ReLU的一些问题,如“死亡”神经元,从而保持所有神经元的活性。

选择哪种激活函数取决于具体问题和网络架构的需求,通常通过实验来确定最佳选择。

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值