人工智能导论期末学习指南:神经网络部分

覆盖课件2、3、4、5:前馈神经网络与反向传播、卷积神经网络、神经网络语言模型、循环神经网络与 LSTM。目标是让零基础同学能按顺序读懂每张课件背后的概念、公式、计算题与网络设计题。

从零开始考试导向含手推 BP含网络设计模板含课件图示

0. 这部分到底要学到什么程度?

这四份课件不是要求你成为深度学习工程师,而是要求你能把“神经网络如何表示、如何训练、为什么有效、不同网络适合什么任务”讲清楚,并能做最基本的数值计算。近年考试已经从纯搜索/博弈/传统机器学习,逐渐加入了网络结构设计、具体原理理解,以及手推反向传播。

必须会解释

神经元、激活函数、损失函数、梯度下降、BP、卷积核、池化、词向量、RNN 状态、LSTM 门。

必须会计算

卷积/池化输出、CNN 参数量、softmax/交叉熵、一次 BP 的 δ 与权重更新、简单最大似然。

必须会设计

给定任务,说明输入、输出、网络结构、损失函数、训练样本与为什么选 MLP/CNN/RNN/LSTM。

最短复习顺序

先看前馈网络和 BP。这是所有网络的底层训练逻辑。CNN、NLM、RNN 的参数最终也靠链式法则和梯度下降学习。
再看 CNN。它回答“图像为什么不能只用全连接”“局部连接和权值共享如何减少参数”“怎样从局部模式组成高级特征”。
然后看 NLM/word2vec。它回答“词怎样变成向量”“语言模型怎样预测下一个词”“词向量为什么能学到语义”。
最后看 RNN/LSTM。它回答“序列信息如何在时间上传递”“为什么普通 RNN 会忘”“LSTM 门如何筛选长期记忆”。
最后刷题型模板。尤其是手推 BP 和“设计 MLP/CNN/RNN 解决某任务”的表述。

这部分与往年题的关系

旧题中神经网络出现不多,但并非完全没有:2010 年出现过单层 Perceptron 能否解决 XOR、以及根据两个 recurrent network 状态空间模型画结构图。2021 年开始明确考“设计神经网络:输入单个数字图片,输出英文单词,要求使用 MLP、CNN、RNN”。这意味着复习时不能只背定义,要能把任务翻译成网络结构。

临场答题原则:凡是“设计网络”题,答案至少包含五件事:输入如何表示、网络主干是什么、输出是什么、损失函数是什么、为什么这个结构适合该任务。图可以简单,但箭头、层名、输出含义必须清楚。

1. 前馈神经网络与反向传播

这一部分对应课件3。你要把它理解成一条线:从“模式匹配”出发,用神经元表示一个可学习模式;再把神经元横向扩展成多分类器、纵向扩展成多层网络;最后用损失函数、梯度下降和 BP 自动学习权重。

1.1 AI、机器学习、深度学习的层级关系

人工智能是大目标,机器学习是让系统从数据中改善性能的一类方法,深度学习是机器学习中使用多层神经网络进行表示学习的方法。课件用历史线索强调:早期人工智能更多依赖人工规则;机器学习兴起后,系统从数据中学习;深度学习的突破来自更大的数据、更强的计算和更深的网络。

一句话记忆:人工智能是目标,机器学习是路径,深度学习是用多层神经网络走这条路径的一类工具。

1.2 从数字识别到“模式匹配”

课件先用数字 3 和数字 8 的图像解释神经网络。把图像展开成向量 \(x=(x_1,x_2,\ldots,x_n)\),把“数字 3 的模式”也写成权重向量 \(w=(w_1,w_2,\ldots,w_n)\)。匹配程度就是点积:

\[ net = w_1x_1+w_2x_2+\cdots+w_nx_n = w\cdot x \]

如果输入图像的笔画与“3 的模式”越相似,点积越大;不相似则点积小甚至为负。这个思想非常重要:神经元的权重本质上就是它想检测的模式。

为什么要加激活函数?

单纯点积没有统一范围,也不方便解释成概率或置信度。Sigmoid 把任意实数压到 0 到 1:

\[ \sigma(net)=\frac{1}{1+e^{-net}} \]

如果 \(net\) 很大,输出接近 1;如果 \(net\) 很小,输出接近 0。

为什么要加偏置 b?

偏置相当于调整阈值。课件例子中,数字 3 与模式 3 的匹配值是 143,数字 8 与模式 3 的匹配值是 115。如果直接 sigmoid,二者都可能很接近 1;加上 \(b=-129\) 后变成 \(\sigma(14)\) 和 \(\sigma(-14)\),区分明显。

课件3第12页:神经元数学建模,输入加权求和后经过激活函数。
课件3第12页:神经元数学建模,输入加权求和后经过激活函数。

1.3 神经元的统一数学模型

一个神经元接收输入 \(x_1,\ldots,x_n\),每条边有权重 \(w_1, \ldots,w_n\),再加偏置 \(b\),输出为:

\[ net = \sum_{i=1}^n w_i x_i + b, \qquad o=g(net) \]

把偏置并入权重,可以令 \(x_0=1,w_0=b\),于是:

\[ net=\sum_{i=0}^n w_i x_i = w\cdot x \]

考试手推 BP 时,偏置经常被当作“恒为 1 的输入”来更新,更新量就是 \(\Delta b=\eta\delta\)。

课件3第13页:令 x0=1、w0=b,把偏置并入普通权重。
课件3第13页:令 x0=1、w0=b,把偏置并入普通权重。

1.4 激活函数:为什么不能一直线性?

激活函数形式输出范围理解与考试点
符号函数\(sgn(net)\)\(\{-1,1\}\)早期感知机常用,不可导,不适合 BP。
Sigmoid\(1/(1+e^{-net})\)\((0,1)\)可解释为概率,但在两端导数接近 0,容易梯度消失。
tanh\((e^x-e^{-x})/(e^x+e^{-x})\)\((-1,1)\)零中心,比 sigmoid 更对称,但仍可能饱和。
ReLU\(\max(0,net)\)\([0,+\infty)\)正半轴导数为 1,缓解梯度消失,是现代网络常用激活。
Softmax\(o_i=e^{z_i}/\sum_j e^{z_j}\)每项 0 到 1,总和 1多分类输出层常用,把多个 logit 变成概率分布。
关键理解:如果网络每层都是线性函数,那么多层线性叠加仍是一个线性函数,深度没有意义。非线性激活让网络能表示复杂边界,例如 XOR。

1.5 横向扩展与纵向扩展

横向扩展是增加输出神经元。识别 0 到 9 就设 10 个输出神经元,每个输出神经元负责检测一种数字模式。纵向扩展是增加隐藏层。隐藏层可以先检测局部模式,例如“3 的左部”“8 的右部”,再由更高层把局部模式组合成完整模式。

横向扩展:类别变多,输出神经元变多。猫、狗、兔、鸟四分类就是四个输出概率。
纵向扩展:特征层级变深。底层看边缘/局部笔画,高层看物体/数字整体。

单层 Perceptron 不能解决 XOR,因为 XOR 的正负样本不是线性可分的。多层网络可以先构造“局部逻辑”,再组合得到 XOR 输出。这是神经网络第一次寒冬相关的经典考点。

单层感知机不能解决 XOR 的简洁证明

设 \((1,0),(0,1)\) 为正类,\((0,0),(1,1)\) 为负类,感知机判断条件是 \(w_1x_1+w_2x_2+b>0\)。正类要求 \(w_1+b>0, w_2+b>0\),负类要求 \(b<0, w_1+w_2+b<0\)。由 \(w_1>-b, w_2>-b\) 得 \(w_1+w_2+b>-b>0\),与 \(w_1+w_2+b<0\) 矛盾。

课件3第26页:多层神经网络,由输入层、若干隐含层和输出层组成。
课件3第26页:多层神经网络,由输入层、若干隐含层和输出层组成。

1.6 全连接网络、前馈网络、多层感知机

课件把 Fully-Connected Network、Feedforward Network、Multi-Layer Perceptron、Dense Layer 放在一起讲。这里不要被名字吓到:

  • 全连接层 / 稠密层:上一层每个神经元都连到下一层每个神经元。
  • 前馈网络:信息只从输入流向输出,没有循环反馈。
  • 多层感知机 MLP:通常指若干全连接层堆叠而成的前馈网络。
课件3第30页:全连接网络示意,信息从输入层经隐含层到输出层。
课件3第30页:全连接网络示意,信息从输入层经隐含层到输出层。

1.7 数据集、标签与损失函数

神经网络不是人工写规则,而是从标注数据中学习权重。以动物分类为例,输入是图片,标签是猫/狗/兔/鸟。输出层可以使用 one-hot 标签:猫为 \([1,0,0,0]\),狗为 \([0,1,0,0]\)。训练就是调节权重,让实际输出 \(o\) 接近期望输出 \(t\)。

误差平方和损失

\[ E_d(w)=\frac12\sum_{k=1}^{M}(t_{kd}-o_{kd})^2, \qquad E(w)=\sum_{d=1}^{N}E_d(w) \]

其中 \(d\) 是样本编号,\(k\) 是输出神经元编号。\(1/2\) 是为了求导时抵消平方的 2。

交叉熵损失

\[ H_d(w)=-\sum_{k=1}^{M}t_{kd}\log(o_{kd}) \]

分类问题中,通常只有正确类别的 \(t_{kd}=1\),因此交叉熵变成 \(H_d(w)=-\log(o_{yd})\)。也就是说,正确类概率越大,损失越小。

考试表达:如果输出层是 softmax,多分类损失常写交叉熵;如果题目指定 sigmoid 与平方误差,就按题目给的公式推 BP。
课件3第55页:交叉熵损失函数用于离散分类输出。
课件3第55页:交叉熵损失函数用于离散分类输出。
课件3第56页:Softmax 输出层使输出成为概率分布。
课件3第56页:Softmax 输出层使输出成为概率分布。

1.8 梯度下降:权重到底怎么动?

训练目标是最小化损失函数 \(E(w)\)。梯度 \(\nabla E(w)\) 指向损失上升最快方向,因此沿负梯度方向更新:

\[ w^{new}=w^{old}-\eta\nabla E(w) \]

\(\eta\) 是学习率。太小,训练慢;太大,可能震荡甚至发散。课件还区分三种处理样本的方式:

算法每次用多少样本优点缺点
批量梯度下降全部训练集梯度稳定慢,内存开销大
随机梯度下降 SGD一个样本更新频繁,能在线学习震荡大
小批量梯度下降一批样本现代深度学习最常用,兼顾稳定和效率需要选 batch size

1.9 BP 反向传播:手推必须掌握

BP 的核心是链式法则。先前向计算每个神经元输出,再从输出层向前计算误差项 \(\delta\),最后更新每条权重。课件采用的符号可以总结为:

\[\delta_k=(t_k-o_k)o_k(1-o_k) \quad \text{输出层 sigmoid + 平方误差}\] \[\delta_h=o_h(1-o_h)\sum_{k\in successor(h)}\delta_k w_{kh} \quad \text{隐含层}\] \[\Delta w_{ji}=\eta\delta_j x_{ji}, \qquad w_{ji}\leftarrow w_{ji}+\Delta w_{ji}\]

这里 \(x_{ji}\) 表示连到神经元 \(j\) 的第 \(i\) 个输入。如果是偏置,把它看成输入 1,所以 \(\Delta b_j=\eta\delta_j\)。

课件3第49页:反向传播算法步骤,从输出层 δ 逐层向前传播并更新权重。
课件3第49页:反向传播算法步骤,从输出层 δ 逐层向前传播并更新权重。
手推 BP 的固定答题格式
  1. 前向传播:逐层算 \(net_j=\sum_i w_{ji}x_i+b_j\),再算 \(o_j=g(net_j)\)。
  2. 算损失:通常 \(E=\frac12\sum_k(t_k-o_k)^2\) 或交叉熵。
  3. 输出层 δ:若题目是 sigmoid + 平方误差,用 \(\delta_k=(t_k-o_k)o_k(1-o_k)\)。
  4. 隐藏层 δ:用下一层的 δ 加权求和,再乘本层激活函数导数。
  5. 更新权重:用旧权重算 δ;更新时 \(w\leftarrow w+\eta\delta x\)。
  6. 写清学习率和偏置:偏置输入为 1,不能漏。

1.10 一个完整手推 BP 数值例题

设有 2 输入、2 隐藏、1 输出网络,所有激活均为 sigmoid,损失为 \(E=\frac12(t-o)^2\),学习率 \(\eta=0.5\)。输入 \(x_1=1,x_2=0\),目标 \(t=1\)。

连接初始权重连接初始权重
\(x_1\to h_1\)0.20\(h_1\to o\)0.30
\(x_2\to h_1\)-0.10\(h_2\to o\)-0.20
\(b_{h1}\)0.00\(b_o\)0.05
\(x_1\to h_2\)-0.30
\(x_2\to h_2\)0.40\(b_{h2}\)0.10
前向:\(net_{h1}=0.2\),\(h_1=\sigma(0.2)=0.5498\);\(net_{h2}=-0.2\),\(h_2=0.4502\)。输出层 \(net_o=0.3\cdot0.5498-0.2\cdot0.4502+0.05=0.1249\),\(o=0.5312\)。
损失:\(E=\frac12(1-0.5312)^2=0.1099\)。
输出层误差项:\(\delta_o=(1-0.5312)\cdot0.5312\cdot(1-0.5312)=0.1167\)。
输出层更新:\(\Delta v_1=0.5\cdot0.1167\cdot0.5498=0.0321\),\(\Delta v_2=0.5\cdot0.1167\cdot0.4502=0.0263\),\(\Delta b_o=0.0584\)。新权重为 \(v_1=0.3321,v_2=-0.1737,b_o=0.1084\)。
隐藏层误差项:用更新前的输出层权重。\(\delta_{h1}=0.5498(1-0.5498)\cdot0.1167\cdot0.30=0.00867\)。\(\delta_{h2}=0.4502(1-0.4502)\cdot0.1167\cdot(-0.20)=-0.00578\)。
隐藏层更新:\(\Delta w_{h1,x1}=0.5\cdot0.00867\cdot1=0.00433\),\(\Delta w_{h1,x2}=0\),\(\Delta b_{h1}=0.00433\)。\(\Delta w_{h2,x1}=-0.00289\),\(\Delta w_{h2,x2}=0\),\(\Delta b_{h2}=-0.00289\)。
最容易错的地方:隐藏层 \(\delta\) 要乘“下一层旧权重”;如果先把输出层权重更新了再拿新权重算隐藏层,严格手推时会与标准 BP 不一致。

2. 卷积神经网络、梯度消失与过拟合

这一部分对应课件2。CNN 的核心不是“多了一个卷积层”这么简单,而是用局部连接、权值共享和池化把图像的空间结构用起来。后半部分讲深层网络的两个大问题:梯度消失与过拟合。

2.1 为什么全连接网络不适合直接处理图像?

如果把一张图片展平成向量,再用全连接层连接到下一层,每个像素都连到每个神经元,参数量巨大。例如课件中 25 个输入连 9 个输出,另加偏置就是 \(25\times9+9=234\) 个参数。图像里真正有用的往往是局部结构:边缘、角点、笔画、纹理。CNN 用小卷积核在图像上滑动,就能检测局部模式。

全连接参数:\(H_{in}W_{in}\times H_{out}W_{out}+H_{out}W_{out}\)
单个 \(3\times3\) 卷积核参数:\(3\times3+1=10\)
课件2第8页:全连接与卷积网络对比;卷积层局部连接且权值共享。
课件2第8页:全连接与卷积网络对比;卷积层局部连接且权值共享。

2.2 卷积到底在算什么?

课件中的卷积更准确说是深度学习中的“滑动点积”。把一个小矩阵 \(K\) 放在输入矩阵 \(X\) 的某个局部窗口上,对应元素相乘再求和,得到输出特征图的一个位置。

\[ Y[i,j]=\sum_{u=0}^{k-1}\sum_{v=0}^{k-1}K[u,v]\,X[i+u,j+v]+b \]

例如输入窗口为

2 1 0
9 5 4
2 3 4

卷积核为

-1 0 1
-1 0 1
-1 0 1

则该位置输出为 \((-1)2+0\cdot1+1\cdot0+(-1)9+0\cdot5+1\cdot4+(-1)2+0\cdot3+1\cdot4=-5\)。

2.3 局部连接与权值共享

  • 局部连接:一个输出只看输入的局部窗口,而不是整张图。
  • 权值共享:同一个卷积核在所有位置使用同一组参数,因此能检测“同一种模式出现在任意位置”。
  • 训练获得:传统图像处理中边缘核可能人工设计;CNN 中卷积核通常通过训练学习。
平移稳定性/不变性:如果某个边缘从图像左上移动到右下,同一个卷积核仍能检测到它;这就是权值共享带来的空间泛化能力。严格说 CNN 只具有一定程度的平移不变性,池化和数据增强会增强这种性质。

2.4 卷积核大小、padding、stride 与输出尺寸

概念含义为什么需要
卷积核大小常见 \(3\times3,5\times5,7\times7\)小核提细粒度特征;大核看更大区域。两层 \(3\times3\) 的感受野等效 \(5\times5\)。
padding在输入边缘补 0 或其他值保留边缘信息;配合步长控制输出大小。
stride卷积核每次移动的距离大于 1 可降采样、增大感受野、提高平移稳定性。
\[ H_{out}=\left\lfloor\frac{H_{in}+2P-K}{S}\right\rfloor+1,\qquad W_{out}=\left\lfloor\frac{W_{in}+2P-K}{S}\right\rfloor+1 \]

如果输入 \(32\times32\),卷积核 \(5\times5\),padding=2,stride=1,则输出仍是 \(32\times32\)。如果 stride=2,则输出 \(\lfloor(32+4-5)/2\rfloor+1=16\)。

2.5 多卷积核与多通道输入

一个卷积核产生一个输出通道;有多少个卷积核,就有多少个输出通道。彩色图像有 RGB 三个输入通道,因此卷积核也必须有三个通道,形状是 \(K_h\times K_w\times C_{in}\)。

\[ 参数量 = K_hK_wC_{in}C_{out}+C_{out} \]

例如输入通道数 3,使用 64 个 \(3\times3\) 卷积核,参数量是 \(3\times3\times3\times64+64=1792\)。

课件2第15页:一个卷积核产生一个输出通道,多卷积核产生多通道。
课件2第15页:一个卷积核产生一个输出通道,多卷积核产生多通道。
课件2第16页:多通道输入卷积,输入通道数必须与卷积核通道数一致。
课件2第16页:多通道输入卷积,输入通道数必须与卷积核通道数一致。

2.6 池化 pooling

池化是一种降维手段,常见最大池化和平均池化。最大池化在窗口中取最大值;平均池化取平均值。池化逐通道进行,不改变通道数,只改变每个通道的高和宽。

2×2 最大池化、stride=2:每个 2×2 小块变成一个数。
课件2第19页:最大池化示例,窗口大小和步长均可设定,池化不改变通道数。
课件2第19页:最大池化示例,窗口大小和步长均可设定,池化不改变通道数。

2.7 LeNet、VGG 与 CNN 特点

LeNet 是早期用于手写数字/文档识别的经典 CNN,结构是卷积、池化、卷积、池化、全连接。VGG-16 的思路是使用大量小卷积核,尤其是 \(3\times3\) 卷积,堆叠成更深网络。课件强调 CNN 的三个特点:

  • 参数少,只与卷积核大小、输入通道数、输出通道数有关,而不是与整张图全部像素两两连接。
  • 特征抽取能力强,从低层边缘到高层语义逐级组合。
  • 具有一定程度的平移不变性,特别适合视觉问题。
课件2第21页:LeNet 结构,卷积层与池化层交替,最后接全连接分类。
课件2第21页:LeNet 结构,卷积层与池化层交替,最后接全连接分类。

2.8 梯度消失:深层网络为什么难训练?

对 sigmoid 神经元,隐藏层误差项是:

\[ \delta_j=o_j(1-o_j)\sum_{k\in successor(j)}\delta_k w_{kj} \]

当输出 \(o_j\) 接近 0 或 1 时,\(o_j(1-o_j)\) 接近 0。层数越深,多个小于 1 的因子连乘,前面层的梯度就会趋近于 0,权重几乎不更新。这就是梯度消失。

激活函数思路:ReLU 在正半轴导数为 1,不像 sigmoid 饱和区那样导数接近 0。
网络结构思路:使用辅助分类器、Inception、残差连接等结构,让梯度更容易传回前面层。

2.9 GoogLeNet 与 Inception

GoogLeNet 是 ImageNet 2014 冠军,课件强调两点:辅助分类器和 Inception 模块。辅助分类器在网络中间也接一个分类头,训练时给中间层直接监督信号,缓解深层网络训练困难。Inception 模块把同一输入同时送入不同大小的卷积核和池化分支,让网络自己选择不同尺度的特征。

课件2第36页:Inception 模块并行使用不同卷积核尺寸抽取多尺度特征。
课件2第36页:Inception 模块并行使用不同卷积核尺寸抽取多尺度特征。
课件2第37页:用 1×1 卷积降维,参数由 153,632 降到 31,808。
课件2第37页:用 1×1 卷积降维,参数由 153,632 降到 31,808。

1×1 卷积为什么有用?

\(1\times1\) 卷积不看空间邻域,只在同一像素位置上混合通道。它可以把 192 个通道压到 32 个通道,再做 \(5\times5\) 卷积。参数对比如下:

直接做 32 个 \(5\times5\times192\) 卷积核:\((5\times5\times192+1)\times32=153,632\)
先 \(1\times1\) 降到 32 通道,再 \(5\times5\):\((1\times1\times192+1)\times32+(5\times5\times32+1)\times32=31,808\)

2.10 ResNet:残差网络

更深的网络理论上不应比浅层差,因为多出来的层至少可以学习恒等映射。但实际训练中,深层普通网络可能出现退化:训练误差反而更高。ResNet 的办法是加入 skip connection,让模块输出:

\[ F'(X)=F(X)+X \]

于是模块只需要学习残差 \(F(X)=F'(X)-X\)。如果最优情况就是恒等映射,只要学到 \(F(X)\approx0\) 即可。加法路径让梯度也能更直接地向前传播。

课件2第40页:残差模块输出 F(X)+X,学习残差而不是直接学习完整映射。
课件2第40页:残差模块输出 F(X)+X,学习残差而不是直接学习完整映射。
课件2第41页:skip connection 把输入绕过若干层直接加到输出。
课件2第41页:skip connection 把输入绕过若干层直接加到输出。

当残差块改变尺寸,例如 stride=2 使长宽减半、通道数翻倍时,恒等映射的 \(X\) 也需要用投影或其他方式变成同维度,课件中称“虚线”连接。

课件2第55页:ResNet 整体结构;stride=2 时尺寸减半、通道翻倍,需要等维处理。
课件2第55页:ResNet 整体结构;stride=2 时尺寸减半、通道翻倍,需要等维处理。

2.11 过拟合:训练好不等于泛化好

过拟合是模型在训练集上表现很好,但在新数据上表现差。欠拟合是模型太简单,训练集也学不好;恰拟合是在训练数据和新数据上都表现较好。

方法做法背后思想
验证集/测试集训练集学习参数,验证集调超参数和早停,测试集最终评价不要只看训练误差,要估计泛化能力。
正则化项损失加 \(\lambda\lVert w\rVert_2^2\)限制权重过大,降低模型复杂度。
Dropout训练时随机临时舍弃部分神经元防止神经元过度依赖,近似训练多个子网络。
数据增强图像缩放、旋转、裁剪、调色等数据越多、变化越丰富,越不容易记死训练样本。
课件2第49页:正则化项法,在原损失函数上加入权重范数惩罚。
课件2第49页:正则化项法,在原损失函数上加入权重范数惩罚。
课件2第51页:Dropout 随机临时舍弃神经元,降低过拟合风险。
课件2第51页:Dropout 随机临时舍弃神经元,降低过拟合风险。

3. 神经网络语言模型、词向量与 word2vec

这一部分对应课件4。核心问题是:神经网络只能处理数值向量,文本里的词怎么变成向量?又怎样通过预测上下文或中心词学到“语义相近的词向量更近”?

3.1 one-hot 编码:简单但没有语义

one-hot 用与词表等长的向量表示一个词,只有该词对应位置为 1,其余为 0。例如词表 \({我,在,清华大学,学习,生活,美丽的,清华园,中}\),则“清华大学”为 \([0,0,1,0,0,0,0,0]\)。

优点:编码简单,词和向量一一对应。
缺点:维度等于词表大小,极长且稀疏;任意两个不同词距离一样,无法表示“清华大学”和“清华园”更相似。

3.2 分布式表示与词嵌入

分布式表示用低维稠密向量表示词,如 \([-0.85,2.3,1.5,-0.54,\ldots]\)。每一维不一定有明确人工含义,但整体向量位置可以表达语义。课件用“动物、植物、食物”维度举例:猪、羊、熊猫、白菜、竹子在这些维度上的取值不同,因此相似词距离更近。

目标:语义相近的词,词向量距离近;语义关系可在向量空间中呈现,例如 \(C(王后)\approx C(女人)+C(国王)-C(男人)\)。

3.3 语言模型:计算一句话的概率

语言模型要计算词序列概率。设句子为 \(w_1w_2\cdots w_m\),用链式法则:

\[p(w_1,w_2,\ldots,w_m)=\prod_{i=1}^{m}p(w_i\mid w_1,\ldots,w_{i-1})\]

n 元语言模型近似认为当前词只依赖前 \(n-1\) 个词:

\[p_i=p(w_i\mid w_{i-n+1},\ldots,w_{i-1})\]

3.4 神经网络语言模型 NLM

NLM 用前 \(n-1\) 个词的词向量拼接作为输入,经过隐藏层,最后用 softmax 输出词表中每个词作为当前词的概率。设词表大小为 \(K\),词向量维度为 \(m\),窗口大小为 \(n\),输入向量维度就是 \(m(n-1)\)。

\[z_h=\tanh\left(\sum_j u_{hj}x_j+p_h\right),\quad h=1,\ldots,H\] \[y_i=\sum_h v_{ih}z_h+q_i,\quad p(w=i\mid context)=\frac{e^{y_i}}{\sum_{k=1}^{K}e^{y_k}}\]
课件4第11页:NLM 结构,前 n-1 个词查表得到词向量后拼接输入网络。
课件4第11页:NLM 结构,前 n-1 个词查表得到词向量后拼接输入网络。
课件4第12页:NLM 的隐藏层、输出层和 softmax 概率公式。
课件4第12页:NLM 的隐藏层、输出层和 softmax 概率公式。

3.5 NLM 如何训练:最大似然

训练语料库 \(C\) 中每个位置都有一个真实当前词。NLM 训练目标是让真实词的条件概率尽量大:

\[\max_{\theta}\prod_{w\in C}p(w=k\mid context(w),\theta)\]

通常取对数,把乘积变成求和:

\[\max_{\theta}\sum_{w\in C}\log p(w=k\mid context(w),\theta)\]

等价地,最小化负对数似然。词向量查表矩阵也是模型参数,因此会通过 BP 一起学习。

最大似然小例子:计算机科学 / 计算机工程

语料库有三句话:“计算机 科学”“计算机 科学”“计算机 工程”,窗口为 2。希望估计 \(p(科学|计算机)\) 和 \(p(工程|计算机)\)。设 \(p(科学|计算机)=p\),则 \(p(工程|计算机)=1-p\)。联合概率为 \(p^2(1-p)\)。令它最大,得到 \(p=2/3\),\(p(工程|计算机)=1/3\)。这就是“让观测到的数据概率最大”的思想。

课件4第33页:窗口为 5 时从句子中生成训练样本。
课件4第33页:窗口为 5 时从句子中生成训练样本。
课件4第35页:最大似然估计例子,通过最大化联合概率估计条件概率。
课件4第35页:最大似然估计例子,通过最大化联合概率估计条件概率。

3.6 NLM 的问题

  • 输入维度为 \(m(n-1)\),全连接参数多。
  • 输出层神经元个数等于词表大小 \(K\),softmax 分母要对所有词求和,计算开销大。
  • 如果词表有几十万词,直接 softmax 非常慢。

3.7 word2vec:为了学词向量而简化 NLM

word2vec 的目标不是完整地计算句子概率,而是高效学到词向量。课件介绍两种结构:

模型输入输出/预测目标一句话理解
CBOW中心词前后 \(c\) 个上下文词中心词 \(w_t\)看上下文猜中间词。
Skip-Gram中心词 \(w_t\)前后 \(c\) 个上下文词看中间词猜周围词。
课件4第18页:CBOW 用前后 c 个词向量求和来预测中心词。
课件4第18页:CBOW 用前后 c 个词向量求和来预测中心词。
课件4第26页:Skip-Gram 用中心词预测上下文词。
课件4第26页:Skip-Gram 用中心词预测上下文词。

3.8 霍夫曼树与层次 softmax

为减少 softmax 对整个词表求和的开销,word2vec 可以使用霍夫曼树。每个词是叶节点,频度越高的词越靠近根,编码越短。预测一个词不再是在 \(K\) 个词中做一次大 softmax,而是在根到该词叶节点的路径上做一串二分类选择。

对路径上的每个非叶节点,设选择右边概率为 \(p_R=\sigma(x_w\cdot\theta)\),选择左边概率为 \(p_L=1-p_R\)。
一个词的概率 = 路径上每一步选择概率的乘积。
课件4第20页:霍夫曼编码,频度高的词距离根节点更近,平均编码长度短。
课件4第20页:霍夫曼编码,频度高的词距离根节点更近,平均编码长度短。
课件4第22页:在霍夫曼树上路由,把预测一个词转化为路径上的多个二分类。
课件4第22页:在霍夫曼树上路由,把预测一个词转化为路径上的多个二分类。

3.9 TextCNN:词向量的应用

TextCNN 用词向量矩阵表示一句话。每一行是一个词的词向量,卷积核宽度与词向量长度一致,高度表示一次看几个词,例如 2-gram、3-gram、4-gram。卷积后对每个卷积核做 1-最大池化,拼接后接全连接和 softmax 做分类,如情感分类。

把 TextCNN 与图像 CNN 对比:图像 CNN 的卷积核在二维空间滑动;TextCNN 的卷积核通常横跨整个词向量维度,只沿句子长度方向滑动,用来检测局部短语模式。
课件4第28页:TextCNN 结构,多个不同高度卷积核、1-最大池化、拼接、全连接与 softmax。
课件4第28页:TextCNN 结构,多个不同高度卷积核、1-最大池化、拼接、全连接与 softmax。

4. RNN、LSTM 与序列任务

这一部分对应课件5。RNN 的核心是“状态”:处理第 t 个输入时,网络不仅看当前输入 \(x^{(t)}\),还看上一时刻隐藏状态 \(h^{(t-1)}\)。LSTM 是 RNN 的特殊实现,用门控机制解决普通 RNN 的长期依赖和重点选择问题。

4.1 什么是序列数据?

语音、文本、时间序列都有先后联系。句子“我 非常 喜欢 这部 城市 题材 电影”不是一堆无序词,前面的“非常喜欢”会影响后面对整句情感的理解。RNN 用隐藏状态不断累积已经读过的信息。

\[ h^{(t)}=\tanh(W h^{(t-1)}+U x^{(t)}+b) \]

其中 \(U\) 连接当前输入,\(W\) 连接上一时刻隐藏状态。课件强调这些状态转移控制参数在所有时间步 全局共享,不是每个位置一套新参数。

课件5第7页:简单 RNN 的循环模块,当前隐藏状态由上一状态和当前输入共同决定。
课件5第7页:简单 RNN 的循环模块,当前隐藏状态由上一状态和当前输入共同决定。

4.2 RNN 的一般结构

一般 RNN 在每个时间步可以产生输出:

\[h^{(t)}=\tanh(W h^{(t-1)}+U x^{(t)}+b_h)\] \[o^{(t)}=Vh^{(t)}+b_o,\qquad y^{(t)}=softmax(o^{(t)})\]

如果任务只需要整句分类,可以只用最后一个隐藏状态 \(h^{(T)}\) 作为句子向量;如果每个位置都要输出标签,例如分词,则每个 \(h^{(t)}\) 都接输出层。

课件5第10页:RNN 一般结构,输入到隐藏、隐藏到隐藏、隐藏到输出。
课件5第10页:RNN 一般结构,输入到隐藏、隐藏到隐藏、隐藏到输出。

4.3 RNN 训练:BP Through Time

课件写“循环神经网络的训练:BP”。更完整地说,RNN 训练是把同一个循环模块沿时间展开,然后对展开后的计算图做反向传播。因为同一组 \(W,U,V\) 在不同时间步共享,梯度要把所有时间步贡献相加。

考试一般不要求推复杂 BPTT,但要能说清楚:RNN 的参数在时间上共享;训练仍然依赖 BP;长序列中梯度会沿时间反复相乘,因此也会出现梯度消失或爆炸。

4.4 三类典型任务

任务输入输出用哪个状态
序列级分类一整句话一个类别,例如情感正/负通常用最后状态 \(h^{(T)}\) 或池化后的状态。
序列标注一串字/词每个位置一个标签每个 \(h^{(t)}\) 都输出。
序列到序列源序列目标序列编码器产生上下文,解码器逐步生成。

中文分词:B/E/M/S 标注

“清华计算机系”可以标成 B E B M E S:B 是词首,E 是词尾,M 是词中,S 是单字词。RNN 每个字输出一个标签概率。

课件5第12页:中文分词示例,清华计算机系对应 B E B M E S。
课件5第12页:中文分词示例,清华计算机系对应 B E B M E S。

看图说话:图像到句子

看图说话是“图像—句子”训练样本。图像先由神经网络编码成向量,再由 RNN 解码器逐字/逐词输出句子。损失函数通常是每个时间步目标词的负对数似然之和。

课件5第14页:看图说话结构,图像特征作为 RNN 生成句子的条件。
课件5第14页:看图说话结构,图像特征作为 RNN 生成句子的条件。

4.5 普通 RNN 的局限

  • 无法利用后文:单向 RNN 预测前面位置时看不到后面的词。例如“南京市长江大桥”前几个字的切分需要后文帮助。
  • 前面信息被淹没:长文本分类时,最后状态可能主要记住近处词,忘掉前面关键内容。
  • 梯度消失:沿时间反向传播时反复乘以权重和激活导数,远处时间步梯度可能趋近于 0。

4.6 双向 RNN 与 seq2seq

双向 RNN 同时做正向处理和反向处理,再把两边隐藏状态拼接。这样每个位置既能看左边上下文,也能看右边上下文,适合分词、词性标注、命名实体识别等序列标注任务。

seq2seq 用编码器把输入序列压成上下文表示,再由解码器生成输出序列。机器翻译、问答系统、拼音输入法都可以按这个思路建模。

课件5第16页:双向 RNN,正向与反向隐藏状态拼接后输出。
课件5第16页:双向 RNN,正向与反向隐藏状态拼接后输出。
课件5第17页:seq2seq,由编码器和解码器组成,可用于翻译、问答、拼音输入。
课件5第17页:seq2seq,由编码器和解码器组成,可用于翻译、问答、拼音输入。

4.7 LSTM:用门控选择记什么、忘什么、输出什么

课件把 LSTM 的动机总结为三点:长程依赖问题、重点选择问题、梯度消失问题。LSTM 引入状态 \(s^{(t)}\) 作为长期记忆,引入隐藏输出 \(h^{(t)}\) 作为短期输出。三个门都是 sigmoid 输出的向量,取值在 0 到 1,用来按维度筛选信息。

课件5第22页:LSTM 结构,包含遗忘门、输入门、输出门和长期状态。
课件5第22页:LSTM 结构,包含遗忘门、输入门、输出门和长期状态。

门的概念

门是一个与状态同维度的向量 \(g=(g_1,\ldots,g_m)\),每个分量在 0 到 1。对信息向量 \(s\) 做按位乘 \(g\odot s\):接近 1 的维度保留,接近 0 的维度抑制。

LSTM 公式

\[f^{(t)}=\sigma(W^f h^{(t-1)}+U^f x^{(t)}+b^f) \quad \text{遗忘门}\] \[g^{(t)}=\sigma(W^g h^{(t-1)}+U^g x^{(t)}+b^g) \quad \text{输入门}\] \[\tilde{i}^{(t)}=\tanh(W^i h^{(t-1)}+U^i x^{(t)}+b^i) \quad \text{候选当前信息}\] \[s^{(t)}=f^{(t)}\odot s^{(t-1)}+g^{(t)}\odot \tilde{i}^{(t)} \quad \text{更新长期状态}\] \[q^{(t)}=\sigma(W^q h^{(t-1)}+U^q x^{(t)}+b^q) \quad \text{输出门}\] \[h^{(t)}=q^{(t)}\odot\tanh(s^{(t)}) \quad \text{模块输出}\]

课件中输入门记为 \(g\),输出门记为 \(q\),候选信息用 tanh 编码。

课件5第32页:LSTM 信息传递;长期记忆 s 主要通过加法更新。
课件5第32页:LSTM 信息传递;长期记忆 s 主要通过加法更新。
课件5第33页:机器翻译示例,可用编码器-解码器 LSTM 实现。
课件5第33页:机器翻译示例,可用编码器-解码器 LSTM 实现。

为什么 LSTM 有助于长期记忆?

普通 RNN 的状态更新是每步经过矩阵乘法和非线性,长距离梯度容易连续相乘而消失。LSTM 的长期状态 \(s^{(t)}\) 通过 \(f^{(t)}\odot s^{(t-1)} + \cdots\) 更新,主路径包含加法和门控按位乘,信息更容易跨很多步保留。课件雨课堂题问“为什么 \(s(t)\) 保留长期记忆?”,对应答案是:更新主要由加减操作完成。

4.8 深度学习框架与应用流程

课件最后提到 TensorFlow、PyTorch、Keras、飞桨、计图等框架。框架的意义是把神经网络写成计算图,自动求导,免去每换一个网络就手推一次 BP 的负担。

解决一个神经网络应用问题的流程:确认输入-输出关系 → 收集样本 → 设计网络结构 → 设计损失函数 → 框架实现 → 选择超参数 → 调整试错 → 关注发展动态。
课件5第41页:神经网络应用问题的一般流程。
课件5第41页:神经网络应用问题的一般流程。

5. 期末题型解法模板

这里把课件内容转成考试可用的答题套路。真正考试不一定照抄这些题,但结构基本相同。

5.1 题型一:手推反向传播

题目特征:给一个小网络、输入样本、目标输出、激活函数、学习率,要求算一次权重更新。

答题时不要跳步,按“前向 → 损失 → 输出层 δ → 隐藏层 δ → 更新”写。即使最后算错一个小数,只要公式和步骤清楚,通常能拿大部分分。

层δ 公式权重更新
输出层 sigmoid + 平方误差\(\delta_k=(t_k-o_k)o_k(1-o_k)\)\(w_{ki}\leftarrow w_{ki}+\eta\delta_k x_i\)
隐藏层 sigmoid\(\delta_h=o_h(1-o_h)\sum_k\delta_k w_{kh}\)\(w_{hi}\leftarrow w_{hi}+\eta\delta_h x_i\)
偏置把输入看作 1\(b_j\leftarrow b_j+\eta\delta_j\)

5.2 题型二:设计网络结构

2021 题型:输入单个数字图片,输出对应英文单词 one, two, ...,要求使用 MLP、CNN、RNN,画示意图并简要说明。

这题不是让你写代码,而是看你是否理解三类网络适合什么信息结构。

MLP 方案

图片 \(28\times28\) → 展平为 784 维向量 → 全连接隐藏层 ReLU → 全连接隐藏层 ReLU → softmax 10 类 → 映射为 zero/one/two...

说明:MLP 可以做分类,但展平会破坏空间结构,因此参数较多、对平移变化不如 CNN 稳定。损失函数用 10 类交叉熵。

CNN 方案

图片 → Conv/ReLU → Pool → Conv/ReLU → Pool → Flatten → FC → softmax 10 类 → 英文单词标签

说明:CNN 利用局部连接和权值共享提取笔画、边缘等局部特征,再组合成数字整体,适合图像输入。损失函数用交叉熵。

RNN 方案

RNN 可以有两种合理画法:

  1. 把图像当序列:把每一行或每一列像素当作一个时间步输入 RNN,最后隐藏状态接 softmax 10 类,再映射成英文单词。
  2. 图像到字符序列:先用 MLP/CNN 编码图像,再用 RNN 解码器依次输出字符,例如 o → n → e → <EOS>。这更贴近“输出英文单词”是序列的表述。

说明:如果题目强制“使用 RNN”,第一种写法简单;如果强调输出单词的字母序列,第二种写法更完整。训练样本是“数字图片—英文单词/字符序列”,损失函数是每个字符位置的交叉熵之和。

MLP 图片 展平 FC + ReLU + softmax输出 10 类,再映射 one/two... CNN 图片 卷积池化 FC 局部连接 + 权值共享更适合数字图像识别 RNN 行1 行2 ... 字符序列 把行/列当序列,或用编码器-解码器输出字母

5.3 题型三:卷积与池化计算

常见问法:给输入矩阵、卷积核、padding/stride,求输出;或给网络结构,求每层尺寸和参数量。固定公式如下:

\[H_{out}=\left\lfloor\frac{H+2P-K}{S}\right\rfloor+1,\quad 参数=K_hK_wC_{in}C_{out}+C_{out}\]

做题时先算空间尺寸,再算通道数。卷积层输出通道数等于卷积核个数;池化层不改变通道数。

例:输入 28×28×1,Conv 5×5、6 个核、P=0、S=1,随后 2×2 maxpool、S=2

卷积输出尺寸 \((28-5)/1+1=24\),通道数 6,所以为 \(24\times24\times6\)。卷积参数 \(5\times5\times1\times6+6=156\)。池化后尺寸 \(12\times12\times6\),参数 0。

5.4 题型四:解释梯度消失、ResNet、Dropout

问题标准答题骨架
什么是梯度消失?深层网络反向传播时,梯度经过多层链式乘法;sigmoid/tanh 饱和区导数接近 0;前层权重更新量趋近 0,训练困难。
ReLU 为什么有帮助?正半轴导数为 1,减少连续小导数相乘;计算简单。但负半轴仍为 0,可能出现 dead ReLU。
Inception 为什么有效?并行多尺度卷积,让网络同时抽取不同粒度特征;1×1 卷积融合通道并降维,减少参数。
ResNet 为什么有效?skip connection 使模块学习残差 \(F(X)\),而不是完整映射;恒等映射容易表达;梯度可沿加法路径传播。
Dropout 为什么减轻过拟合?训练时随机丢弃神经元,减少共适应,近似训练许多子网络,提升泛化。

5.5 题型五:NLM / word2vec / TextCNN 概念题

问法答题关键词
one-hot 有什么缺点?高维稀疏;不同词距离相同;不能表达语义相似性。
词向量怎么学?训练语言模型或 word2vec;参数通过 BP/最大似然更新;相似上下文导致相似表示。
CBOW 与 Skip-Gram 区别?CBOW:上下文预测中心词;Skip-Gram:中心词预测上下文。
霍夫曼树作用?把大词表 softmax 改成路径上的二分类;高频词路径短,训练计算量降低。
TextCNN 如何做情感分类?词向量矩阵作为输入;不同高度卷积核抽取 n-gram 特征;1-max pooling;拼接;softmax 分类。

5.6 题型六:RNN/LSTM 结构题

旧题出现过“给两个状态空间模型,画 recurrent network 结构图”。模板如下:

(a) \(y(n)=\psi(x(n))\),\(x(n+1)=w_a u(n)+w_b x(n)+b\)

画法:输入 \(u(n)\) 经 \(w_a\),上一状态 \(x(n)\) 经延迟和 \(w_b\),加偏置求和得到 \(x(n+1)\);输出端对当前状态 \(x(n)\) 过 \(\psi\)。
(b) \(y(n)=x(n)\),\(x(n+1)=\psi(w_a u(n)+w_b x(n)+b)\)

画法:输入和上一状态先加权求和,再过 \(\psi\) 得到下一状态;输出直接等于当前状态 \(x(n)\)。

LSTM 雨课堂图题中,遗忘门是作用在 \(s^{(t-1)}\) 上、决定旧长期状态保留多少的 sigmoid 门;长期记忆能保留的关键是状态更新主要由加法和门控组成。

课件5第43页:LSTM 门控识别题,遗忘门是乘在旧状态 s(t-1) 上的门。
课件5第43页:LSTM 门控识别题,遗忘门是乘在旧状态 s(t-1) 上的门。
课件5第44页:s(t) 保留长期记忆的原因题,关键是更新主要由加减操作完成。
课件5第44页:s(t) 保留长期记忆的原因题,关键是更新主要由加减操作完成。

6. 公式与易错点速查

6.1 一页公式表

主题公式用途
神经元\(net=\sum_iw_ix_i+b,\ o=g(net)\)前向传播。
Sigmoid\(\sigma(x)=1/(1+e^{-x}),\ \sigma'(x)=\sigma(x)(1-\sigma(x))\)BP 常用。
Softmax\(o_i=e^{z_i}/\sum_j e^{z_j}\)多分类概率输出。
平方误差\(E=\frac12\sum_k(t_k-o_k)^2\)课件 BP 推导。
交叉熵\(H=-\sum_kt_k\log o_k\)分类常用损失。
输出层 δ\(\delta_k=(t_k-o_k)o_k(1-o_k)\)sigmoid + 平方误差。
隐藏层 δ\(\delta_h=o_h(1-o_h)\sum_k\delta_kw_{kh}\)反向传播。
权重更新\(w_{ji}\leftarrow w_{ji}+\eta\delta_jx_i\)SGD 一步更新。
卷积尺寸\(\lfloor(H+2P-K)/S\rfloor+1\)求输出高/宽。
卷积参数\(K_hK_wC_{in}C_{out}+C_{out}\)求参数量。
RNN\(h^{(t)}=\tanh(Wh^{(t-1)}+Ux^{(t)}+b)\)序列状态更新。
LSTM 状态\(s^{(t)}=f^{(t)}\odot s^{(t-1)}+g^{(t)}\odot\tilde{i}^{(t)}\)长期记忆更新。
语言模型\(p(w_1\cdots w_m)=\prod_ip(w_i|context_i)\)最大似然训练。

6.2 易错点清单

  • BP 符号:课件用 \(\delta=-\partial E/\partial net\),所以更新写 \(w\leftarrow w+\eta\delta x\)。如果你用梯度 \(\partial E/\partial w\),则是 \(w\leftarrow w-\eta\partial E/\partial w\)。两种写法不要混。
  • 隐藏层 δ:必须乘激活函数导数,还要把所有后继节点的 \(\delta w\) 加起来。
  • 偏置:当作输入 1,不要漏更新。
  • 卷积输出通道:等于卷积核个数,不等于输入通道数。
  • 多通道卷积:每个卷积核深度必须等于输入通道数,所有通道相乘求和后产生一个输出通道。
  • 池化:不改变通道数,只改变高和宽。
  • 1×1 卷积:不是“没用”,它混合通道并降维。
  • 验证集与测试集:验证集用于调参/早停,测试集用于最终评估,不能把测试集当调参工具。
  • CBOW/Skip-Gram:CBOW 是上下文预测中心词;Skip-Gram 是中心词预测上下文。
  • RNN 参数共享:每个时间步用同一套参数,不是展开后每一层独立参数。
  • LSTM 的 s 与 h:\(s\) 是长期状态,\(h\) 是当前对外输出;做逐位置标注通常用 \(h^{(t)}\) 输出。

7. 课件逐页导读地图

下面不是逐字复述课件,而是告诉你每组页面在讲什么、读的时候要抓住什么问题。

课件3:前馈神经网络与反向传播

页码主题读懂标准
1-4AI/ML/DL 与神经网络历史能说出深度学习属于机器学习,神经网络是 ANN/NN。
5-13数字识别、模式匹配、神经元建模理解权重是模式,点积是匹配,偏置是阈值,激活函数把 net 变输出。
14-18激活函数知道 sigmoid、tanh、ReLU、softmax 的作用和输出范围。
19-29横向/纵向扩展、XOR、数据驱动能解释为什么要多输出、多隐藏层,为什么模式由数据学习而非人工写死。
30-39全连接网络、数据集、损失、梯度下降会写平方误差、交叉熵、梯度下降更新式,区分 GD/SGD/mini-batch。
40-50BP 推导与算法会算输出层 δ、隐藏层 δ、权重更新。
51-58学到的模式、XOR 练习、交叉熵总结知道 BP 可用于不同网络/损失/激活,softmax+交叉熵用于分类。

课件2:卷积神经网络、梯度消失、过拟合

页码主题读懂标准
1-10CNN 动机、局部模式、边缘检测能手算一次卷积,解释局部连接与权值共享。
11-19卷积核大小、padding、stride、多核、多通道、池化会算输出尺寸、参数量,知道多核产生多通道,池化不改通道数。
20-27应用、LeNet、VGG、CNN 特点能说明 CNN 为什么适合图像。
28-43梯度消失、ReLU、GoogLeNet、Inception、ResNet会解释梯度消失原因和 ReLU/辅助分类器/Inception/ResNet 的作用。
44-56过拟合、验证集、正则化、Dropout、数据增强、ResNet 结构能区分欠拟合/过拟合,列出减轻过拟合方法并解释原理。

课件4:神经网络语言模型

页码主题读懂标准
1-8one-hot 与分布式词表示能说出 one-hot 缺点和 embedding 的意义。
9-16语言模型、NLM、最大似然、NLM 问题能写条件概率、softmax 输出、最大似然目标,知道计算开销来源。
17-26word2vec、CBOW、Skip-Gram、霍夫曼树能区分 CBOW/Skip-Gram,解释层次 softmax 降低计算量。
27-32TextCNN 应用能画 TextCNN:词向量矩阵、卷积、1-max pooling、softmax。
33-35NLM 训练样本与最大似然例子能从窗口生成训练样本,并做简单 MLE 推理。

课件5:循环神经网络

页码主题读懂标准
1-10序列数据、状态空间模型、简单 RNN会写 \(h^{(t)}=\tanh(Wh^{(t-1)}+Ux^{(t)})\),理解参数共享。
11-20RNN 训练与应用:分类、分词、看图说话、双向、seq2seq能根据任务判断用最后状态、每步输出还是编码器-解码器。
21-34LSTM知道普通 RNN 的三大问题,能说出遗忘门、输入门、输出门和状态更新。
35-44框架、总结、应用流程、雨课堂题知道框架自动求导;能回答遗忘门位置和长期记忆原因。

最后的复习策略

把这份指南学完后,建议用三张纸自测:第一张默写 BP 一步更新;第二张画 MLP/CNN/RNN/LSTM/CBOW/Skip-Gram;第三张列出“每类任务该用什么网络以及为什么”。如果这三张纸能独立写出来,神经网络部分基本就从“没听过”补到了可应试水平。