40 分钟
大模型内核:从经典机器学习到对齐与前沿

CNN 与 RNN:为图像和序列而生的两种经典网络

理解卷积神经网络如何用局部连接与权值共享高效处理网格数据,循环神经网络如何用隐状态处理序列,以及 LSTM 用门控解决长程记忆,最后看清它们的局限正是 Transformer 登场的原因

  • 理解卷积、池化、感受野与权值共享,知道 CNN 为什么适合图像
  • 理解 RNN 的隐状态递推与它处理序列的方式
  • 说清 LSTM/GRU 用门控缓解长程依赖与梯度消失的思路
  • 理解 CNN/RNN 的归纳偏置与局限,明白注意力机制为何后来居上

CNN:不让每个像素都连全部神经元

用全连接网络处理一张普通图片,参数量会大到不可训练,还丢掉了「相邻像素才有局部关系」的先验。卷积神经网络(CNN)换了个思路:用一个小卷积核在图像上滑动,每次只看一个局部窗口,并在整张图上共享同一套核权重。

典型 CNN 的层级流水线

卷积层

小窗口滑动提取局部特征(边缘→纹理→部件),权值共享、参数极少

激活

ReLU 引入非线性

池化层

下采样缩小尺寸、扩大感受野、增强平移鲁棒性

重复堆叠后展平

深层感受野覆盖全图,末端接全连接做分类

感受野指某一层的一个神经元「看得到」原图多大区域。浅层只看到局部边缘,越深层通过层层卷积与池化,感受野越大,能识别由边缘组合成的纹理、部件乃至整体。权值共享让「在左上角学到的边缘检测器」在右下角同样可用,这既减参数又带来平移不变性。

RNN:给网络加「记忆」处理序列

文本、语音、时间序列的长度可变且有先后顺序。循环神经网络(RNN)在每个时间步读入一个输入,同时维护一个隐状态 h:它把「上一步的隐状态」和「当前输入」结合,算出新的隐状态再传给下一步。于是隐状态像一条贯穿时间的记忆,理论上能携带前文信息。

RNN 沿时间步传递隐状态

t₁ 输入 + 初始隐状态 → h₁

t₂ 输入 + h₁ → h₂

t₃ 输入 + h₂ → h₃(已含前两步信息)

… 隐状态沿时间递推

但标准 RNN 的记忆很短:梯度沿时间反向传播时同样要连乘,序列一长就梯度消失,难以关联句首和句尾;而且它必须严格按顺序一步一步算,无法并行,训练很慢。

LSTM/GRU:用「门」控制记什么、忘什么

长短期记忆网络(LSTM)给隐状态增加了细胞状态和三个门:遗忘门决定丢弃哪些旧信息、输入门决定写入哪些新信息、输出门决定对外暴露什么;GRU 是它的简化版。门是可学习的 0~1 开关,让梯度有一条相对畅通的「记忆主干道」,显著缓解长程依赖问题,曾长期是机器翻译、语音的主力。

CNN 与 RNN 的归纳偏置对照
CNN 擅长空间/网格

局部连接 + 权值共享

平移不变、层级感受野

可高度并行

代表:图像、二维网格数据

RNN/LSTM 擅长序列

隐状态沿时间递推

门控缓解长程依赖

必须串行、难并行、超长仍衰减

代表(历史):文本、语音、时序

🐍为什么最终被 Transformer 取代

RNN 串行无法并行、长程信息要经过很多步传递仍会衰减;CNN 捕捉远距离关系要堆很多层。注意力机制让序列中任意两个位置直接交互、路径最短,且整句可并行计算。下一个模块就进入 Transformer——它不是凭空出现,正是为了解决这里指出的两个硬伤。

选择题

CNN 用「同一卷积核在整张图上滑动、共享权重」主要带来的好处是?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

先查数据:标签是否正确、有没有特征和标签泄漏、是否做了归一化;再查损失与学习率:学习率太大震荡、太小几乎不动;接着看批量大小和优化器,最后才怀疑模型结构。一个极好用的冒烟测试是:用极少量样本训练,看损失能不能被压到接近零——能,说明整条代码链路是通的;不能,问题一定在实现里,先别谈调参。