一、Hopfield 网络与玻尔兹曼机的历史
1.1 开场:为什么要讲历史
虽然今天的大模型训练范式和早期已经完全不同,但回看历史非常重要,因为历史里最值得学的不是”当年用过什么技巧”,而是科学家是如何定位问题、如何一步步打通思路的。
只看”是什么”意义不大,最重要的是”为什么要这样设计”。真正值钱的是背后的动机。
1.2 Hopfield 网络(Hopfield Network)
2024 年,Hopfield 与 Hinton 共同获得诺贝尔物理学奖。Hopfield 的贡献不在于”网络更深”,而在于他把物理学、神经科学、神经网络三件事联系起来。
Hopfield 网络的结构特点:
- 只有一层神经元,但存在大量侧向连接(lateral connection)。
- 神经元两两相连,但通常不与自己相连。
- 神经元状态是离散的,常写成 ${-1,+1}$ 或 ${0,1}$。
- 由于网络存在反馈连接,它本质上属于一类早期的循环网络。
其更新规则为:
\[s_i(t+1)=\operatorname{sign}\!\left(\sum_{j\neq i} w_{ij}s_j(t)-\theta_i\right)\]1.3 能量函数与缺损记忆恢复
Hopfield 的关键思想是定义能量函数(energy function):
\[E=-\frac{1}{2}\sum_{i\neq j}w_{ij}s_is_j+\sum_i \theta_i s_i\]网络每次异步更新都会让能量下降,因此最终会收敛到一个局部极小值。这种动力学过程之所以重要,是因为它非常像人脑从残缺记忆中恢复完整记忆的过程。
总结:Hopfield 最牛的地方,不是造了一个”老模型”,而是把统计物理里的能量下降过程,和神经网络里的记忆恢复过程,放进了同一个框架里。
1.4 从 Hopfield 到 玻尔兹曼机(Boltzmann Machine)
Hopfield 的能量观点后来被用于训练玻尔兹曼机。把玻尔兹曼机分成两类:
- 一般玻尔兹曼机:连接是无向的、层内也可能互连,结构灵活但训练非常困难。
- 受限玻尔兹曼机(Restricted Boltzmann Machine, RBM):可见层与隐层之间连接,但层内不连边,形成二部图结构,训练难度明显下降。
RBM 的意义不在于它今天仍是主流,而在于它提供了一个当时非常关键的训练思路:逐层无监督预训练。
1.5 逐层预训练与深度置信网络(Deep Belief Network, DBN)
早期深层网络很难直接端到端训练,原因主要有两点:
- 非线性函数主要依赖 sigmoid,深层反传时容易梯度衰减。
- 参数初始化很敏感,随机起点稍差,深层网络就可能训不动。
Hinton 当时的重要突破是:
- 先训练第一层 RBM,让第一层学到输入的统计结构。
- 固定第一层,再训练第二层。
- 逐层堆叠,形成 DBN。
- 最后再用监督信号做整体微调(fine-tuning)。
它的本质是:先把网络参数放到一个比较好的区域,再用反向传播做任务适配。
注意:现在训练大模型,已经不是当年的逐层预训练范式了;但如果没有这一段历史,人们当时根本缺少训练很多层网络的手段。
二、深层网络为什么后来能训起来
2.1 sigmoid 的瓶颈
回顾早期深层网络训练困难的根源。以 sigmoid 为例,其导数为:
\[\sigma'(x)=\sigma(x)(1-\sigma(x))\]这个导数在绝大多数区域都很小,反向传播时层层相乘,梯度会迅速衰减。因此,网络一深,前面层几乎收不到有效训练信号。
2.2 修正线性单元(Rectified Linear Unit, ReLU)
ReLU 的定义非常简单:
\[\operatorname{ReLU}(x)=\max(0,x)\]它相较于 sigmoid 的优势在于:
- 正半轴上导数恒为 1,不容易大范围梯度消失。
- 计算便宜,训练稳定。
- 网络可以更深。
可以认为:ReLU 的成功不只是”换个激活函数”,而是直接改变了深层网络能否顺利传播梯度。
2.3 残差连接(Residual Connection)
另一个关键突破是残差网络的思想:
\[y = F(x) + x\]其中 $x$ 通过一条捷径直接传到后层,相当于给信息和梯度提供了一条”快速公路”。它解决的问题是:网络很深时,最后一层误差难以有效回传到前面层。
比喻:残差连接就像给信息修了一条高速路,不必每次都在层层弯路里慢慢传。
三、卷积神经网络的动机与基本操作
3.1 为什么全连接网络不适合图像
从图像建模动机切入,指出全连接层直接处理图像有几个明显问题:
- 参数量爆炸。比如 $100\times 100$ 的图像一旦全连接到大隐层,参数规模会非常夸张。
- 忽视局部结构。图像的语义往往来自局部区域及其上下文,而不是每个像素和所有像素等价连接。
- 输入尺寸不灵活。全连接网络通常要求固定输入维度。
更重要的是:图像的有效信息量其实没有想象中那么大。很多区域是重复的、局部相关的,所以应该利用这种结构先验。
3.2 卷积神经网络(Convolutional Neural Network, CNN)的核心思想
CNN 的两个核心先验是:
- 局部感受野:一个位置的语义主要由附近区域决定。
- 参数共享:同一个模式(边缘、纹理)可以在图像不同位置重复出现。
因此,卷积层不是给每个像素配一套新参数,而是用一个小卷积核在整张图上滑动。
3.3 二维卷积、stride、padding 与 channel
设输入张量大小为 $H\times W\times C_{\text{in}}$,卷积核大小为 $K_h\times K_w\times C_{\text{in}}$,步长为 $S$,填充为 $P$,则输出空间尺寸为:
\[H_{\text{out}}=\left\lfloor \frac{H+2P-K_h}{S}\right\rfloor + 1,\qquad W_{\text{out}}=\left\lfloor \frac{W+2P-K_w}{S}\right\rfloor + 1\]几个关键点:
- 一个卷积核会同时看见所有输入通道,然后输出一个 feature map。
- 多个卷积核并行工作,就会得到多个输出通道。
stride决定滑动步幅,越大下采样越强。padding用来控制边界信息是否保留,以及输出尺寸是否变化。
3.4 为什么卷积有效
从直觉上给了三个理由:
- 卷积关注局部区域,符合图像的生成规律。
- 卷积在不同位置复用同一组参数,显著减少参数量。
- 卷积天然在建模一个点的上下文,而上下文正是语义形成的关键。
此外,词义也依赖上下文,例如 bank 到底是”银行”还是”河岸”,取决于周围词语。
3.5 Pooling 池化为什么重要
卷积之后常接 Pooling:
- 压缩空间分辨率。
- 保留显著响应。
- 减少后续计算量。
- 提高对局部平移和形变的鲁棒性。
“卷积 + 池化”几乎就是早期 CNN 最核心的两块内容:卷积负责提特征,池化负责做稳健压缩。
四、从 LeNet 到一维/三维卷积
4.1 LeNet-5 与分层表征
以 LeNet-5 为例说明早期 CNN 的工作方式:前面层先提边缘、笔画和简单纹理,中间层提更复杂的局部形状,后面层组合成高层语义。
这说明 CNN 的表征具有明显层次性:越靠前越局部,越靠后越抽象。
4.2 特征可视化
展示了不同层的可视化结果,并强调这是 CNN 很吸引人的地方之一:我们可以观察网络早期、中期、后期究竟在提取什么。
关键:卷积网络之所以一度特别有魅力,一个原因就是它比很多别的模型更容易”看见”自己学了什么。
4.3 一维卷积与三维卷积
卷积并不局限于图像:
- 一维卷积(1D Convolution)用于文本、语音等序列信号,对一个时间窗口做滑动。
- 二维卷积(2D Convolution)用于图像。
- 三维卷积(3D Convolution)用于视频、医学体数据等,卷积核会同时沿空间和时间/深度方向滑动。
特别指出:文本和语音做卷积时,本质上也是在一个局部窗口上提取模式,只不过窗口维度变成了时间或序列位置。
五、中文分词与序列标注
5.1 为什么中文分词难
把中文分词(Chinese Word Segmentation)作为序列建模的典型任务,并强调即使在大模型时代它仍然重要,因为检索、索引、传统 NLP 流水线都受分词质量影响。
中文分词的难点主要有:
- 组合歧义:如”个人的名义”中的”个人”可以是一个词,而”一个人在家”中的”个”又是量词。
- 重叠歧义:如”从小学到中学”与”从小学计算机”中的切分方式不同。
- 整体歧义:如”美国会采取行动”,可能切成”美国/会/采取/行动”,也可能牵涉其他句法理解。
- 人名、机构名、新词持续出现。
- 中文构词和缩略规律并不总是规则可推。
- 可分词短语、插入语、简称等现象很多。
5.2 从词图搜索到序列标注
提到非常早期的方法是:枚举一句话的可能切分路径,再通过词典和概率选最优路径。但这种方法依赖词典、效率低、应对新词也差。
真正的突破是把分词改写成序列标注(sequence labeling)问题:对每个字打标签即可恢复分词结果。
5.3 BIES 标注方案
采用的是 BIES 风格的标签思想:
B:词首(Begin)I:词中(Inside)E:词尾(End)S:单字成词(Single)
这样一来,输入是字序列,输出是标签序列,分词就从”结构搜索问题”变成了”序列预测问题”。
总结:这一步思路转化非常关键,它标志着中文分词从词典规则,真正走向了统计学习方法。
六、隐马尔可夫模型的引入
6.1 隐马尔可夫模型(Hidden Markov Model, HMM)的直觉
从 HMM 的角度来看:如果把观测到的字序列看作 observation,把背后的分词标签看作 hidden state,那么分词自然可以转化成一个带隐状态的序列模型问题。
在 HMM 里:
- 观测序列是字或其他可见信号。
- 隐状态序列是我们看不到、但真正决定观测生成方式的结构。
- 模型包含状态转移概率和发射概率两类核心参数。
6.2 HMM 的三个经典问题
HMM 的三大核心问题如下:
- 评估问题:给定观测序列,求它出现的概率。
- 解码问题:给定观测序列,求最可能的隐状态序列。
- 学习问题:给定样本序列,反推模型参数。
这些内容会在后续内容展开。
七、本章主线总结
本章的主线:
- 先从 Hopfield、玻尔兹曼机、逐层预训练回看深度学习的历史突破。
- 再说明 ReLU 和残差为什么让深层网络真正可训练。
- 接着讲 CNN 为什么适合图像,以及卷积/池化/可视化/1D-3D 卷积的统一思想。
- 最后把中文分词引到序列标注,再引出 HMM。
核心观点:学历史不是为了复古,而是为了理解每一次模型设计背后到底在解决什么训练困难、什么结构困难、什么表示困难。