技术贡献与核心公式
所属专题:Geoffrey Hinton(杰弗里·辛顿) · 第 2 章引语索引信源台账
专题章节
1. 反向传播:隐藏表示的学习
反向传播的数学核心早于 1986 年论文;Rumelhart、Hinton 与 Williams 的贡献在于展示它能让隐藏单元学习任务所需的内部表示 [1]。
设第 (l) 层为
[ z^{(l)}=W^{(l)}a^{(l-1)}+b^{(l)},\qquad a^{(l)}=\sigma(z^{(l)}). ]
定义 (\delta^{(l)}=\partial E/\partial z^{(l)}),则
[ \delta^{(L)}=\nabla_{a^{(L)}}E\odot\sigma’(z^{(L)}), ]
[ \delta^{(l)}=\left(W^{(l+1)\top}\delta^{(l+1)}\right)\odot\sigma’(z^{(l)}), ]
[ \frac{\partial E}{\partial W^{(l)}}=\delta^{(l)}a^{(l-1)\top},\qquad \frac{\partial E}{\partial b^{(l)}}=\delta^{(l)}. ]
算法把重复的链式法则计算复用为一次反向遍历。其工程优势与生物合理性问题并存:反向计算需要前向活动、局部导数和权重信息,Hinton 长期质疑真实大脑是否使用这种精确机制 [2]。
2. 玻尔兹曼机:以能量描述分布
对二值状态 (\mathbf{s}),可写
[ E(\mathbf{s})=-\sum_{i<j}w_{ij}s_is_j-\sum_i b_i s_i,\qquad P(\mathbf{s})=\frac{e^{-E(\mathbf{s})}}{Z}. ]
最大似然梯度呈“数据期望减模型期望”:
[ \frac{\partial\log P(\mathbf v)}{\partial w_{ij}} =\langle s_is_j\rangle_{\text{data}} -\langle s_is_j\rangle_{\text{model}}. ]
直觉上,正相降低数据附近能量,负相抬高模型自行生成但不符合数据的配置能量 [3]。难点是模型期望依赖接近平衡的采样,规模增大后很慢。Hinton 在诺奖演讲中把这条路线称为优雅但工程上未胜出的方案 [4]。
3. RBM 与对比散度
受限玻尔兹曼机删除同层连接,因此给定一层时另一层单元条件独立:
[ p(h_j=1\mid\mathbf v)=\sigma!\left(b_j+\sum_i v_iw_{ij}\right), \quad p(v_i=1\mid\mathbf h)=\sigma!\left(a_i+\sum_j h_jw_{ij}\right). ]
对比散度用从数据出发的短 Gibbs 链近似负相:
[ \Delta w_{ij}\approx\epsilon\left( \langle v_ih_j\rangle_{\text{data}} -\langle v_ih_j\rangle_{\text{recon}} \right). ]
它是有偏近似,但把“等到平衡”改成“走少数几步”,使训练可用 [7]。
4. 深度置信网与深度自编码器
深度置信网逐层训练 RBM,再做整体微调。历史作用主要是让研究者相信深网可以被有效初始化与训练,而不是证明 RBM 是现代预训练的唯一祖先 [8]。
深度自编码器将输入压到瓶颈再重构:
[ \mathbf z=f(\mathbf x),\qquad \hat{\mathbf x}=g(\mathbf z),\qquad \mathcal L=|\mathbf x-\hat{\mathbf x}|^2. ]
2006 年工作用逐层预训练初始化深自编码器,再用反向传播微调 [9]。线性平方误差自编码器与主成分子空间有联系;非线性网络则可学习更复杂映射。普通重构目标不保证潜变量可采样、可解释或对任务有用。
5. AlexNet、Dropout 与产业化
AlexNet 的作者是 Alex Krizhevsky、Ilya Sutskever 与 Geoffrey Hinton。论文使用 GPU 卷积网络、ReLU、数据增强和 Dropout,在 ImageNet 2012 显著领先传统方案 [10]。迁移稿不转载架构图和人物图片。
Dropout 训练时采样掩码。以 inverted dropout 写法:
[ r_j\sim\mathrm{Bernoulli}(q),\qquad \tilde a_j=\frac{r_j}{q}a_j,\qquad \mathbb E[\tilde a_j]=a_j. ]
它减少特征共适应,并可解释为共享权重的子网络集成近似 [11]。在大规模预训练中,是否使用及强度取决于数据规模、训练轮数和架构,不能简单说它已被淘汰。
6. 知识蒸馏与温度
知识蒸馏让学生学习教师软分布 [12]:
[ q_i=\frac{\exp(z_i/T)}{\sum_j\exp(z_j/T)}. ]
温度 (T) 增大时,类别概率更平滑,错误类别之间的相对关系更可见。混合软目标与硬标签可写为
[ \mathcal L= \alpha T^2\operatorname{CE}(q_T^{\text{student}},q_T^{\text{teacher}}) +(1-\alpha)\operatorname{CE}(q_1^{\text{student}},y). ]
在高温与中心化近似下,软目标对 logit 的梯度随 (1/T^2) 缩小,乘 (T^2) 用于补偿尺度。论文称教师在非正确类别上的概率结构携带“暗知识”;这不是说单个 softmax 分布包含无限知识,而是相对硬标签多提供结构信息。
7. 胶囊网络与 GLOM
胶囊以向量活动表达实体:模长用于存在程度,方向编码姿态。低层胶囊对高层胶囊作预测,动态路由提高一致预测的耦合 [13]:
[ c_{ij}=\frac{e^{b_{ij}}}{\sum_k e^{b_{ik}}}, \quad \mathbf s_j=\sum_i c_{ij}\hat{\mathbf u}_{j|i}, ]
[ \mathbf v_j= \frac{|\mathbf s_j|^2}{1+|\mathbf s_j|^2} \frac{\mathbf s_j}{|\mathbf s_j|}, \quad b_{ij}\leftarrow b_{ij}+\hat{\mathbf u}_{j|i}\cdot\mathbf v_j. ]
路由需要多轮迭代,规模化和训练稳定性是主要障碍。GLOM 改用固定位置的多层嵌入与邻域交互,希望形成“共识岛”;论文是研究设想,不提供已规模化系统的证据 [14]。
8. Forward-Forward
Forward-Forward 用正、负数据的两次前向替代跨层反向传播 [15]。一层的 goodness 可取
[ G=\sum_j y_j^2,\qquad p(\mathrm{positive})=\sigma(G-\theta), ]
[ \mathcal L^{(l)} =-\log\sigma(G_{\text{pos}}-\theta) -\log!\left(1-\sigma(G_{\text{neg}}-\theta)\right). ]
每层局部更新,层间传递前可归一化活动,避免下一层只读出上一层的总幅值。该方法探索局部学习和未知硬件,但原型明确承认其大规模效果不及反向传播。
9. Mortal Computation
“会死的计算”设想利用模拟硬件的个体物理特性换取能效。交叉阵列可借欧姆定律和电流求和实现
[ I_i=\sum_jG_{ij}V_j. ]
代价是学到的参数与具体器件绑定,难以精确迁移;数字计算则以更高能耗换来软硬件分离和权重复制 [2]。
10. MoE、t-SNE 与 Fast Weights
混合专家用门控网络组合专家 [16]:
[ y=\sum_{i=1}^{n}g_i(\mathbf x)E_i(\mathbf x),\qquad \mathbf g(\mathbf x)=\operatorname{softmax}(W_g\mathbf x). ]
现代稀疏 MoE 只激活 Top-(k) 专家,但负载均衡、离散路由和跨设备通信成为新问题。现代实现与 1991 年软混合并不等同。
t-SNE 以 Student-(t) 低维相似度和 KL 散度保留局部邻域 [17]:
[ q_{ij}= \frac{(1+|y_i-y_j|^2)^{-1}} {\sum_{k\ne l}(1+|y_k-y_l|^2)^{-1}}, \qquad C=\sum_{i\ne j}p_{ij}\log\frac{p_{ij}}{q_{ij}}. ]
Fast Weights 以快速变化的联想矩阵存储近期状态 [18]。它与注意力在“检索近期信息”的功能上相似,但注意力的直接历史来源另有论文,不能写成由 Fast Weights 单线产生。
学习信号对照
| 路线 | 更新信号 | 优点 | 主要限制 |
|---|---|---|---|
| 反向传播 | 全局损失梯度 | 精确、可扩展 | 生物合理性与存储开销 |
| 玻尔兹曼机 | 数据相与模型相相关性之差 | 生成式能量视角 | 平衡采样慢 |
| 蒸馏 | 教师软分布或轨迹 | 迁移泛化结构 | 依赖教师与数据 |
| Forward-Forward | 每层正负 goodness | 局部、可流式 | 大规模效果不足 |
参考来源
- [1]Learning representations by back-propagating errors(在新窗口打开)官方 · 部分原话↩
- [2]Two Paths to Intelligence(在新窗口打开)一手采访 · 本人原话↩
- [3]A Learning Algorithm for Boltzmann Machines(在新窗口打开)官方 · 部分原话↩
- [4]Boltzmann Machines(在新窗口打开)官方 · 本人原话↩
- [5]The Wake-Sleep Algorithm for Unsupervised Neural Networks(在新窗口打开)官方 · 部分原话↩
- [6]The Helmholtz Machine(在新窗口打开)官方 · 部分原话↩
- [7]Training Products of Experts by Minimizing Contrastive Divergence(在新窗口打开)官方 · 本人原话↩
- [8]A Fast Learning Algorithm for Deep Belief Nets(在新窗口打开)官方 · 部分原话↩
- [9]Reducing the Dimensionality of Data with Neural Networks(在新窗口打开)官方 · 部分原话↩
- [10]ImageNet Classification with Deep Convolutional Neural Networks(在新窗口打开)官方 · 部分原话↩
- [11]Dropout: A Simple Way to Prevent Neural Networks from Overfitting(在新窗口打开)官方 · 部分原话↩
- [12]Distilling the Knowledge in a Neural Network(在新窗口打开)官方 · 部分原话↩
- [13]Dynamic Routing Between Capsules(在新窗口打开)官方 · 部分原话↩
- [14]How to represent part-whole hierarchies in a neural network(在新窗口打开)官方 · 本人原话↩
- [15]The Forward-Forward Algorithm(在新窗口打开)官方 · 本人原话↩
- [16]Adaptive Mixtures of Local Experts(在新窗口打开)官方 · 部分原话↩
- [17]Visualizing Data using t-SNE(在新窗口打开)官方 · 部分原话↩
- [18]Using Fast Weights to Attend to the Recent Past(在新窗口打开)官方 · 部分原话↩