阶跃函数sigmoid的导数有:
这个可以用来代替阶跃函数。
常用的非线性函数双曲正切tah函数表达式如下:
这个tanh的导数有:
对于目标函数,可以用预测值y和真实值Y差的模的平方:
但通常用基于softmax和交叉熵(cross-entropy)的目标函数。
这些是什么东西?
一、Softmax 函数是什么?
✅ 定义:
Softmax 是一个将实数向量变换为概率分布的函数。设输入为向量 z = [z1, z2, ……, zn],Softmax 输出为:
✅ 特点:
- 输出值范围在 (0, 1) 之间;
- 所有输出值加起来是 1,所以可以看作是一个概率分布;
- 最大值对应的类的概率最大,适用于分类问题。
✅ 应用场景:
- 多分类神经网络的输出层;
- 强化学习中的策略分布;
- 注意力机制中的归一化权重(softmax attention)。
二、交叉熵函数是什么?
✅ 定义:
交叉熵衡量的是两个概率分布之间的差异,常用于度量模型输出的概率分布与真实标签之间的距离。
设真实标签为 one-hot 编码的向量 Y,预测输出为 softmax 概率 y,交叉熵损失函数定义为:
✅ 实际效果:
- 如果预测 yi 趋近于真实标签对应的 1,则损失趋近于 0;
- 如果预测错误(即真实标签对应的 yi 趋近于 0),则损失趋近于 +∞;
- 因此它鼓励模型“自信且正确”地做出分类。
↓那么就可以用softmax+交叉熵来证明一个非常简洁的求偏导公式↓
三、Softmax + CrossEntropy 的组合:为什么要一起用?
在 PyTorch、TensorFlow 等框架中,这两个通常合并为一个函数(如 F.cross_entropy()
),原因如下:
- 数值稳定性:单独计算 softmax 后再计算 log,容易造成梯度爆炸或 underflow;
- 优化效率:合并后的函数可以直接用更快更稳定的算法实现;
- 梯度简洁:反向传播时,Softmax + CrossEntropy 的梯度简洁优雅,便于学习和实现。
✅ 反向传播的梯度(多分类):
设 L 为交叉熵损失,zi 为 softmax 输入,Yi 为真实标签(one-hot),则:
这意味着反向传播时,只需预测概率 – 实际标签,非常高效!
四、举个例子
假设我们有三个类别,模型输出 logits 是: z=[2.0,1.0,0.1]
用 softmax 得到: y=Softmax(z)=[0.659,0.242,0.099]
假设真实标签是第一类(即 Y = [1, 0, 0]),那么交叉熵损失是: −log(0.659)≈0.417
而对于此处的【三】,推理证明过程如下:
这个简洁优雅的偏导公式:
或者向量形式:
是 Softmax + CrossEntropy 的组合在反向传播中的黄金公式,我们下面用逐步推导法来详细证明它,逻辑清晰,结果精确。
🧠 前提定义
设:
模型输出 logits 向量为 z = [z1, z2, ……, zn]
softmax 输出为
真实标签为 one-hot 向量 Y = [Y1, Y2, ……., Yn]
损失函数为交叉熵:
✅ 目标:求 E对zk的偏导
🔶 第一步:链式法则分步计算
🔶 第二步:分别求导
① 交叉熵对 softmax 输出的导数
② softmax 输出对 z 的偏导
分情况讨论(这是关键):
🔶 第三步:合并两部分
将上面两项相乘并相加:
我们将它拆分为两部分:
当 i = k:
当 i ≠ k:
而 one-hot 编码下
,因此:
✅ 总结结果
这个推导成立的前提是使用 softmax + cross entropy 的组合,并且标签是 one-hot 向量。
🎓 延伸说明:为什么这很重要?
- 这个公式使得反向传播极其高效,避免了显式求导和链式展开;
- 框架如 PyTorch、TensorFlow 在
CrossEntropyLoss
中自动融合了 softmax 和 log 操作,实现了这个精确求导; - 也说明了 softmax 输出已经是概率分布,损失的梯度本质上就是“预测误差”。
上面就是多层神经网络的第二个改进,这个是比原来的E要好的(↓)
多层神经网络的第三个改进是随机梯度下降法SGD,要点如下:
- 不用输入每个样本就去更新参数;而是输入一批样本(BATCH/MINI-MATCH),求出这些样本的梯度平均值后,根据平均值来改变参数。
- 在神经网络训练中,样本数(BATCH-SIZE)大概设置在50-200之间
- 按照BATCH遍历所有训练样本一次,这一次称为一个EPOCH。
- 对于所有训练数据,根据BATCH-SIZE分割为不同的BATCH。
实际训练中,根据BATCH多次遍历所有训练样本,即训练不止一个EPOCH,增加BATCH中训练样本的随机性。
本章节的思考部分,请至第二页继续阅读👇