训练的工具箱 — 损失、激活与熵
这一章讲三件事: 「错多少」怎么定价——损失函数(给『错』记账的式子)一族七种,各算一遍;
神经网络靠什么决定「传还是不传」——激活函数(每个神经元放行多少的开关)一族; 「多不确定」怎么定价(熵及其全家族,重点是 KL 散度)。 这一章是工具箱章:它自己不做 RL,但后面每一章都来这里取工具—— DQN 拿均方误差,SAC 拿熵,TRPO/PPO 拿 KL,RLHF 拿偏好损失。
1. 这一章讲什么
神经网 络的学习循环是:前向算出预测 → 用损失函数给「预测离目标多远」打个分 → 按分数调整权重(怎么调,依据我们书架的拆解:反向传播一次算出全部参数的梯度1)。 原书第 3 章的后半把这循环里要用的零件全列了一遍:损失七种、激活若干、熵十三种2。
清单没法读,得先看见它们各自回答的问题:
| 问题 | 工具 | 后面谁在用 |
|---|---|---|
| 错了多少? | 损失函数 | DQN(第 07 章)、所有带评论员的算法 |
| 每个神经元传什么? | 激活函数 | 所有网络 |
| 有多随机/两套概率差多远? | 熵、KL 散度 | 最大熵策略(第 04 章)、SAC/TRPO/PPO(第 09 章) |
2. 顶层全景:一个训练步的三道关口
一批样本 ──► 网 络前向 ──► 预测 ──┬──► ① 损失:错多少(一个数)
│
② 激活:每层里,这个神经元放行多少?
│
③ 熵/KL:这套输出有多随机?和目标分布差多远?
图说:① 定「往哪调」,② 决定「信号能不能流过去」,③ 给「随机性」记账。
三道关口各管一件事,凑齐才是一次完整的学习步。
主走查:一组具体的错,把七种损失各算一遍——第 3 节第 1 小节。
3. 核心原理
3.1 损失函数:给「错」定价(主走查)
书里先立了 RL 特有的口径:损失衡量的是预测的 Q 值与目标 Q 值之间的差距,对每个样本算的 是损失,对全部样本取平均叫代价,都要越小越好3。
(预测与目标可以各是一个数,也可以是按顺序排好的一串数——这样的向量(一列按次序排好的数)。)
拿三个预测误差 −1、2、0(单位随意;这组数是为演示编的), 把回归一族的四种损失各算一遍:
| 损失 | 公式含义 | 算一遍(误差 −1, 2, 0) | 性格 |
|---|---|---|---|
| 均方误差 MSE | 差的平方取平均 | (1 + 4 + 0)/3 = 1.67 | 平方放大大错;对离群点(远得离谱的个别样本)敏感 |
| 平均绝对误差 MAE | 差的绝对值取平均 | (1 + 2 + 0)/3 = 1.00 | 一视同仁;对离群点稳 |
| Huber | 小错用平方、大错用线性,分界线 δ | δ=1:(0.5 + 1.5 + 0)/3 = 0.67 | 两头兼顾;δ 划「多大算离群」 |
| log-cosh | cosh 的对数,处处二阶可导 | 真值 log-cosh(1)=0.43、log-cosh(2)=1.33、0,平均 ≈ 0.59 | 平滑;要用二阶导的算法(如 XGBoost)选它 |
书里点破了取舍的机括:MSE 平方放大误差,所以对离群点不稳健; MAE 对方向不敏感所以更稳健;Huber 的 δ「决定什么算离群点」,选 δ 是要害4。 同一组错,三种定价——损失函数不是真理,是态度。
分类一族的两种:
-
二元交 叉熵:预测输出是 0 到 1 之间的概率,预测概率越接近真实标签,损失越小5。 算一遍:真实标签 1,预测 0.9 → 损失 −log(0.9) ≈ 0.105; 预测 0.1(错得离谱)→ −log(0.1) ≈ 2.303——错得越自信,罚得越狠,22 倍的差;
-
铰链损失:支持向量机(一个老牌的分类方法)的主力;不只罚错,连对了但不自信也罚;标签用 −1/+16。
3.2 激活函数:神经元放行多少
书里给激活函数的定位:用在网络内部各层,把感兴趣的量压进可控区间(如 0 到 1)7。 没有非线性(不许直来直去、必须拐弯)激活,多少层都等价于一层线性变换——非线性是深度的本钱(书里在深度学习的 定义里点了「非线性变换」这一步8)。
一族走一遍,各算一个具体的数:
| 函数 | 输入 2 / 输入 −2 时 输出 | 书里点出的问题 |
|---|---|---|
| sigmoid | ≈0.88 / ≈0.12 | 两端梯度趋零;输出不以 0 为中心;指数运算慢 |
| tanh | ≈0.96 / ≈−0.96 | 输出以 0 为中心,前两病减轻;两端仍趋零 |
| ReLU | 2 / 0 | 负半区彻底沉默(反向传播断流,「死 ReLU」);但不饱和、算得快 |
| Leaky ReLU(取 a=0.01) | 2 / −0.02 | 负半区留一条缝,治「死」 |
| ELU(取 a=1) | 2 / ≈−0.86 | 负半区平滑压向 −a,输出更居中;略费计算 |
| softmax(三个输入 2,1,0) | 输出 0.665 / 0.245 / 0.090 | 把任意向量变成加和为 1 的概率分布 |
softmax 值得单独一句:书里指出它就是统计热力学里玻尔兹曼概率函数改个名字—— 第 04 章那个「指数化 Q」的最大熵策略,正是拿它把 Q 值变成动作概率的9。 书里还实测了一句难得的大实话:ReLU 与它的变体之间,实际应用中没找到谁有明确优势10。
3.3 熵一族:给「不确定」定价
熵的物理出身:系统内在的混乱程度;香农把它搬进信息论——平均最少要多少比 特 才能存下这些信息11。书里列了十三种定义,不必全记,抓住一条主线:
玻尔兹曼 → 吉布斯 → 香农 是同一条思想的三个精度档;香农熵是机器学习里 默认的那个:离散情形 H = −Σ p·log₂p12。它的两个极端,书里原样给出 (也是最好记的两个锚):
- 每个结果等概率(n 个结果)→ H 取最大值 log₂n(均匀硬币:H=1 比特);
- 只有一个可能结果(完全可预测)→ H = 0(太阳照常升起,零比特)12。
沿 Rényi 熵再派生出一族:α=2 的碰撞熵、α→∞ 的最小熵(全家族里最小、 永远不会超过香农熵)13。这些「其他熵」在第 12、13 章的物理与安全语境才会用上。
这一节真正的承重件是两个差量。 交叉熵 H(P,Q) 衡量「用分布 Q 编码真实分布 P 要花多少比特」;KL 散度 D(P‖Q) 衡量「用 Q 近似 P,多花了多少比特」。 书里给出两者的恒等式:H(P,Q) = H(P) + D(P‖Q)14。
算一遍:真实 P=(1, 0)(必然事件),模型 Q=(0.8, 0.2): H(P,Q) = −log₂0.8 ≈ 0.322 比特;H(P)=0,所以 KL = 0.322 比特—— 模型把必然事件只押八成,每一件事都白付 0.322 比特的税。 第 09 章的 TRPO 拿 KL 当「新策略离旧策略不许超过的距离」,SAC 拿它做策略改进, RLHF 拿它防止模型漂得太远——全是这一把尺子。
家族尾部三个小件,记用途即可:互信息——知道一件事之后,另一件事的不确定性 少掉多少(用 KL 定义)15;信息增益——决策树(一层层问是非题的那种老牌模型)选分裂特征用的就是它 (书里明说:在决策树语境下它就是互信息)16;费希尔信息——数据里 关于未知参数带了多少信息,从代价函数的局部曲率估计参数的相对不确定度17。
4. 作者的判断与证据
- 书里给证据的: 七种损失的公式与适用场景、各激活的优缺点、熵家族的谱系, 均为书中明列内容34712。
- 作者的实测判断: 「ReLU 家族没有明确赢家」是书里的经验陈述,不是定理10。
- 作者的定位判断: 损失按「分类/回归」分族、熵按「物理→信息」铺开, 这个组织方式本身是作者的教学选择;我们把它重排成「三个问题」,机制未变。
- 书里的跨章伏笔: softmax=玻尔兹曼、交叉熵=最大似然(挑那个让数据最可能出现的猜法)估计的最小化目标918—— 这两句把本章与第 04 章的最大熵策略、第 13 章的偏好学习连成一条线。
5. 边界与局限
- 本章只给「选哪个」的定性理由,没给「怎么算梯度」。 损失定了价之后, 参数往哪调是反向传播的事,书里只有一句带过1;完整机制在我们书架的拆解里1。
- 熵家族铺得远、用得浅。 十三种里本书正文只真用了香农熵与 KL; Tsallis、费希尔等列而不用——读时不必平均用力。
- 书里没讲的: 这种差距怎么定标、以及 RL 特有的病。DQN 的「高估」会让均方误差去拟合一个虚高的 目标——损失函数本身没错,错在目标;这要在第 07、09 章补。
- 分母为 0、数值下溢这类实现层问题(取 log 前加小常数等)全书不提;照原样承认。
6. 可带走的
- 损失=态度:同一组错(−1, 2, 0),MSE 报 1.67、MAE 报 1.00、Huber 报 0.67—— 先选态度,再谈优化;
- 大错要不要平方放大?有离群点选 MAE/Huber,没有选 MSE;δ 是 Huber 的「离群线」;
- 二元交叉熵罚「自信的错误」:标签 1 预测 0.1,罚 2.303,是预测 0.9 的 22 倍;
- 铰链损失连「对了但不自信」也罚——它练的是带边界的分类器(判断『是哪一类』的模型);
- 激活函数供给非线性;sigmoid 两端梯度趋零,ReLU 负半区全沉默、Leaky 留缝; 书里实测:这个家族没有公认赢家;
- softmax = 玻尔兹曼,把任意分数变成概率分布——最大熵策略、语言模型的输出层,同一件工具;
- 熵的两个锚:等概率最大 log₂n,完全确定则为 0;
- KL 散度 = 用错的分布要多付的比特;H(P,Q)=H(P)+KL; TRPO/PPO 拿它量「策略挪了多远」,第 09 章见;
- 互信息=「知道 A 后 B 少掉多少不确定」,决策树的信息增益就是它;
- RL 的损失有特有口径:预测 Q 对目标 Q 的差距——目标错了,损失再小也是错(第 07 章)。
7. 原文地图
| 主题 | 原书章 | 原文位置 |
|---|---|---|
| RL 口径的损失(预测 Q vs 目标 Q*) | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:536(搜「predicted Q-value」) |
| 二元交叉熵 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:545(搜「Binary Cross-Entropy」) |
| 铰链损失 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:601(搜「not confident」) |
| MSE 平方放大、离群敏感 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:621(搜「outliers」) |
| MAE 稳健 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:637(搜「robust to outliers」) |
| Huber 与 δ 之要害 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:660(搜「critical」) |
| log-cosh 与 XGBoost | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:669(搜「XGBoost」) |
| 激活的定位(压进区间) | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:709(搜「(0, 1) interval」) |
| sigmoid 三病 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:731(搜「Vanishing gradients」) |
| tanh 居中 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:763(搜「centered on 0」) |
| softmax=玻尔兹曼 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:806(搜「Boltzmann」) |
| ReLU 与死 ReLU、Leaky a=0.01 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:828(搜「backpropagation」) · text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:844(搜「0.01」) |
| 无明确赢家 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:883(搜「no clear-cut」) |
| 熵=混乱、香农搬进信息 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:892(搜「disorder」) |
| 香农熵两个极端 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:990(搜「maximum value」) |
| 最小熵不超香农 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:1045(搜「never larger」) |
| 交叉熵与最大似然 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:1061(搜「maximum likelihood」) |
| KL 与恒等式 H=H+KL | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:1077(搜「related as」) |
| 互信息 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:1100(搜「shared by two distributions」) |
| 信息增益=决策树语境的互信息 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:1109(搜「decision trees」) |
| 费希尔信息 | 3.1 A Mathematical Model of DRL | text/07-ch03-01-3-1-a-mathematical-model-of-drl.txt:1125(搜「local curvature」) |