深度学习
从这里开始,模型开始"自己学特征",不再需要人手写规则。核心就是:很多层线性变换 + 非线性激活,用反向传播调参数。
上一模块的模型还得人手挑特征,这一模块让模型自己学特征。为什么需要?图片里"眼睛"这种特征,人写规则写不出来。学完你懂神经网络、CNN、RNN 和 Transformer 各自长什么样。下一模块看它们堆到千亿参数会变成什么。
4.6 神经网络与反向传播
Neural Network & Backpropagation想是什么
一层神经元:z = Wx + b(模块二的矩阵乘法),a = σ(z)(非线性激活)。多层叠起来:输入层 → 隐藏层 ×N → 输出层。
为什么要非线性激活?没有它,多少层叠起来还是一次线性变换,等于一层。ReLU = max(0, x) 是最常用的。
反向传播:前向算出 loss,从后往前用链式法则逐层求每个 W、b 的梯度,再梯度下降更新。这就是"训练"的全部。
说白了就是:考完试老师从最后一道大题开始往前改,改到哪一步,就知道这一步哪个参数该往哪调、调多少——几百万个参数就这么挨个传回去,不用从头算一遍。
① 神经网络=多层(Wx+b)+激活。② 反向传播=链式法则逐层求梯度。③ 激活函数提供非线性,否则多层白搭。
4.7 CNN 卷积神经网络
Convolutional Neural Network · 滑动窗口抓局部特征想是什么
卷积核(Kernel):一个小窗口在图片上滑动,每滑到一个位置就点乘求和,输出一张"特征图"。一个核抓边缘,一个核抓纹理,叠起来抓眼睛、鼻子。
池化(Pooling):把特征图缩小(最大池化取局部最大值),降参数量、抗位移。
为什么适合图像:图像是网格数据,局部相关(相邻像素是邻居),卷积核正好抓局部。
① 卷积核=滑动窗口提局部特征。② 池化=压缩降维。③ 人脸识别、医学影像、自动驾驶的主力架构。
4.8 RNN 循环神经网络
Recurrent Neural Network · 带记忆的序列模型想是什么
序列数据:句子、语音、股票——有先后顺序。CNN 不认先后,RNN 给每个时间步传一个"隐藏状态 h",像人脑的短期记忆。
问题:普通 RNN 记不住很久以前的事(长依赖消失)。LSTM / GRU 加了"门控",决定记什么、忘什么,解决长依赖。
① RNN=隐藏状态沿时间传递记忆。② LSTM/GRU 解决长依赖。③ 语音识别、机器翻译、时间序列的经典架构——但现在正被 Transformer 取代。
4.9 Transformer 与自注意力
Transformer & Attention · 每个词看其他词有多重要想是什么
自注意力:句子里每个词都要问"我跟其他每个词啥关系?"用三个向量:Q(我在找什么)、K(我有什么)、V(我给什么内容)。
说白了就是:开一场会,每个人手里举一块写着"我要找什么(Q)、我有什么(K)、我能提供什么(V)"的牌子,两两对一对眼神,跟自己最相关的人就多听他说两句。
相似度 = QKT,softmax 归一化成权重,乘 V 加权求和:
Attention(Q,K,V) = softmax(QKT / √dk)V
√dk 是缩放因子,防止点积太大把 softmax 顶到饱和区、梯度消失。
多头注意力:多组 Q/K/V 并行,各自关注不同关系(一个看语法、一个看指代)。
位置编码:注意力本身不认顺序,得额外注入"这是第几个词"。
最大革命:所有词并行算(RNN 得一步步来),才能堆到几千亿参数、喂几万亿 token。
① Q/K/V 三件套,softmax(QKᵀ/√dₖ)V。② 多头并行抓不同关系。③ 位置编码补顺序,并行训练是革命。
4.12 经典 CNN 网络史与迁移学习
LeNet → AlexNet → VGG → ResNet · 深度怎么一步步堆上去的想引子与大白话
引子:4.7 讲了卷积和池化怎么工作。但从 LeNet 到 ResNet,人类花了 20 年才把网络堆到 152 层——每一步都在解决上一代的"训不动"。
① LeNet-5(1998):Yann LeCun 拿来识别手写邮编。7 层,卷积+池化+全连接。CNN 的开山鼻祖。
② AlexNet(2012):ImageNet 大赛一战成名,把错误率从 26% 压到 15%。三件大事:用 ReLU 替代 Sigmoid(治梯度消失)、Dropout 防过拟合、GPU 并行训练。深度学习元年。
③ VGG(2014):全部用 3×3 小卷积核堆深。证明"小堆大"比大核有效——两个 3×3 感受野等于一个 5×5,但参数更少、非线性更多。
④ GoogLeNet(2014):Inception 模块,同一层并行用 1×1、3×3、5×5 卷积再拼起来,让网络自己选用多大核。
⑤ ResNet(2015):残差连接 y = F(x) + x。给梯度一条"高速公路"直接跳回去,第一次把网络做到 152 层还能训。今天所有深度网络(包括 Transformer)都用残差。
⑥ DenseNet:每一层跟前面所有层直连,特征复用。参数更省,但内存爆。
迁移学习
拿 ImageNet 上预训练好的 ResNet,冻住前面卷积层(它们学会了边缘/纹理这些通用特征),只把最后全连接层换成你的类别数,用自己的数据微调。小数据集也能训出好用的模型,省几万张图。
选型
小任务手机端→MobileNet;精度优先→ResNet/ConvNeXt;特征提取骨干。预训练权重直接用,别从头训。
① AlexNet 用 ReLU+Dropout+GPU 开启深度学习。② VGG 小核堆深。③ ResNet 残差连接让百层可训。④ 迁移学习=用预训练骨干+换头微调。
4.13 生成模型:VAE / GAN / Diffusion
Generative Models · 教机器自己造一张图想引子与大白话
引子:分类模型学"这是猫还是狗";生成模型学"怎么造一只猫"。从 VAE 到 GAN 到 Diffusion,这条线就是今天 Midjourney、Sora、Stable Diffusion 的祖宗。
① VAE(变分自编码器):把图片压成一个概率分布(均值+方差),再从分布采样解码回图片。学到的隐空间连续——两点之间插值能平滑变形。缺点:生成图偏模糊。
② GAN(生成对抗网络,2014):两个网络对着干:生成器造假图,判别器辨真假。生成器拼命骗判别器,判别器拼命识破,两者博弈一起进化。Goodfellow 提出,第一次生成清晰逼真人脸。缺点:训练不稳(模式崩溃)。
③ Diffusion Model(扩散模型,2020+):训练时给图一步步加噪声直到纯噪声,再训练网络一步步去噪还原。生成时从纯噪声开始迭代去噪,"画"出一张新图。Stable Diffusion / Midjourney / Sora 全是它。比 GAN 稳、质量高、好并行训练。
技术里
VAE 做隐空间插值/压缩;GAN 做人脸生成/超分;Diffusion 做文生图、视频生成、语音合成。
和 LLM
大模型也是生成模型(自回归生成 token);多模态把 Diffusion 和 LLM 拼起来——LLM 理解文字,Diffusion 画图。
① VAE 学隐空间分布,图偏模糊。② GAN 生成器 vs 判别器博弈,清晰但不稳。③ Diffusion 学去噪,今天文生图/视频的主力。
① 用自己的话解释:把反向传播讲成"考试完了从后往前查错"的故事。
② 举个反例 / 生活例子:反例——为什么没有非线性激活,叠 100 层也等于 1 层?
③ 哪里还说不清:Q/K/V 三个向量到底各代表什么、√dk 为什么要除,哪一步还含糊?