(一)术语解释
一 . Sigmoid函数与Hard Sigmoid 函数
(1)Sigmoid函数
Sigmoid函数,也称为逻辑函数(Logistic function),是一种在数学、生物学、信息科学、神经网络等领域广泛应用的激活函数。也就是高中生物中所学的S型增长曲线。
它的数学表达式为:
Sigmoid函数的图像呈现出S形的曲线,其值域限定在(0, 1)之间,这使得它特别适合用于表示概率或者将任意实数映射到(0, 1)区间内。
Sigmoid函数的导数为:
这个导数表达式的简洁性使得在神经网络的反向传播过程中计算梯度变得非常方便。Sigmoid函数的优点包括输出范围的限制、平滑性和非线性特性,这些特性有助于神经网络学习和表示复杂的非线性函数关系。
然而,Sigmoid函数也存在一些缺点,如梯度消失问题和计算开销较大,这些缺点在深层神经网络中可能会成为训练的障碍.
(2)Hard Sigmoid 函数
Hard Sigmoid函数是一种非线性激活函数,它是Sigmoid函数的一个近似,设计用于提供更高效的计算和更稳定的梯度。
Hard Sigmoid函数的数学表达式通常定义为:
其中, 和
是可调整的参数,常用的取值为
=1/6和
=1/3。这样定义的Hard Sigmoid函数在x取值在 [-3, 3] 范围内比较接近于Sigmoid函数的形状,而对于超出这个范围的输入,其输出将被限制在0和1之间。
Hard Sigmoid函数的优点包括计算简单、效率高,以及在反向传播时计算稳定,避免了Sigmoid函数在输入绝对值较大时梯度消失的问题。此外,Hard Sigmoid函数可以增加网络的稀疏性,有助于模型的训练和优化。
(二) 模型总结
一 . 线性模型(linear model)
把输入的特征 x 乘上一个权重,再加上一个偏置就得到预测的结果,这样的模型称为线性模型。
公式可以简化为:
在本书的例子中,权重 与偏重
的关系通过梯度下降优化降低了损失。但是线性模型只能通过前一个数据向后推一个数据,这说明该模型并不准确,需要调整。
再通过优化,可以通过处理多个数据,用公式:
但是,线性模型仍会有缺陷:无法模拟出复杂数据的关系。如下图,无论蓝线如何调整,都无法得到表示实际数据的红线。
由此引出其他的数据模型。
二 . 分段线性曲线(piecewise linear curve)
红色曲线可以看作是一个常数,再加上一堆蓝色的函数。分段线性曲线可以用常数项加一大堆的蓝色函数组合出来,只是用的蓝色函数不一定一样。要有很多不同的蓝色函数,加上一个常数以后就可以组出这些分段线性曲线。如果分段线性曲线越复杂,转折的点越多,所需的蓝色函数就越多。