可视化资源
书中关键概念与模型的动图与交互演示,便于直观理解。条目按《神经网络与深度学习(第二版)》的章节顺序排列。
数学基础
矩阵是空间变换
拖动 2×2 矩阵的四个数,看整个平面被旋转/缩放/剪切;列是基向量去向,行列式是面积缩放。
特征向量与特征值
拖动向量 v,看矩阵把多数方向掰歪;只有沿特征向量方向 Av=λv,只拉伸不转向——PCA / 谱分解的根基。
SVD 与低秩近似
一张图就是个矩阵;SVD 拆成一摞秩 1 薄片,只留前几片重建就几乎看不出差别——压缩、PCA、LoRA 的共同直觉。
点积与余弦相似度
拖两个向量,看点积=投影对齐、余弦相似度=夹角——注意力和向量检索的根基。
熵 / 交叉熵 / KL
拖动预测分布,看熵、交叉熵、KL 散度怎么变——几乎所有分类损失函数的根基。
概率与统计
贝叶斯更新
抛硬币更新对正面概率的信念:先验×数据→后验,抛得越多越笃定。
高斯与最大似然
拖 μ、σ 的高斯去拟合一堆点,看最大似然为什么落在样本均值和标准差上。
中心极限定理
从任意分布反复抽 n 个求平均,n 越大,平均值的分布越收成漂亮的高斯钟形。
大数定律
一直抛硬币,正面频率从剧烈抖动慢慢稳稳逼近真实概率——样本越多越准。
MCMC 采样
用 Metropolis 随机游走从复杂分布采样,样本逐渐铺成目标分布的形状。
相关不等于因果
冰淇淋与溺水强相关,控制住隐藏的‘气温’后相关消失——相关未必有因果。
第 2 章 · 机器学习概述
过拟合实验台
拖动模型复杂度,看曲线从欠拟合到过拟合,训练/测试误差的 U 型对比。
早停:见好就收
训练误差一路降、验证误差先降后升,停在 U 形谷底——见好就收的早停。
梯度下降下山
小球沿曲线下山找最低点;调学习率看收敛、震荡,体会局部最优陷阱。
偏差与方差
同复杂度在多份数据上学出多条曲线,看是‘齐刷刷地偏’还是‘乱七八糟地飘’。
学习曲线:该加数据还是加模型
拖数据量看训练/验证误差怎么收敛:两条都卡高处=高偏差(该换强模型)、差距大且验证还在降=高方差(该加数据)。
双下降现象
测试误差降→升→再降:模型大到参数比数据还多,反而比经典最优更好(挑战偏差方差)。
精确率与召回率
拖判定阈值,看混淆矩阵、精确率与召回率此消彼长,以及 ROC 曲线。
混淆矩阵与多类指标
三类混淆矩阵 + 各类精确率/召回/F1:类别不平衡时一个准确率会掩盖稀有类的崩溃,宏平均与微平均就此分道扬镳。
概率校准
模型说“90% 把握”真有 90% 对吗?可靠性图看点落在对角线下方=过度自信,调温度把它校准回对角线、ECE 降到最低。
正则化 L1 / L2
调正则强度,看 L2 让权重一起缩、L1 把一些权重压到 0(稀疏 / 特征选择)。
L1 / L2 的几何(为什么 L1 稀疏)
损失椭圆碰上约束区域:L1 菱形的尖角落在坐标轴上,解顶在尖角→一个权重精确归 0;L2 的圆只能让权重一起缩。
损失函数对比
对一个正样本拖动模型打分,并排看 MSE / 交叉熵 / Hinge / Focal 的惩罚曲线——交叉熵对“自信地答错”惩罚暴涨。
决策树与信息增益
按信息增益一刀刀切分平面,看决策树怎样把交叠的两类逐步分纯。
k 近邻 KNN
拖查询点,看最近 k 个邻居投票分类;k 小决策边界碎、k 大边界平。
集成学习 Bagging
多个高方差弱模型一平均就变平滑、方差骤降,看一堆杂乱细线收敛成一条干净金线(随机森林核心)。
第 3 章 · 线性模型
感知器画线
平面上两类点,感知器逐步把分界线转到位,还能亲手加点试试。
SVM 最大间隔
在两类点之间修一条最宽的‘马路’,分界线走正中;拖点看支持向量怎么定。
逻辑回归
两类点 + sigmoid 概率渐变背景,训练看决策边界和交叉熵损失怎么一步步学出来。
核技巧
同心环线性分不开,升一维 z=x²+y² 后被一个平面切开——核技巧的直觉。
第 4 章 · 前馈神经网络
TensorFlow Playground ↗
在浏览器里直接搭一个浅层前馈网络,实时观察隐藏层学到的特征。
神经元拼曲线
几个 ReLU 神经元各画一条折线,叠加起来逼近复杂曲线——万能近似的直觉。
激活函数与梯度消失
Sigmoid/Tanh/ReLU 及其导数,看多层连乘后梯度怎样消失,以及 ReLU 为何取胜。
反向传播
迷你计算图上一步步看:正向算误差、反向用链式法则传梯度、训练让 loss 下降。
残差连接
对比有无跳连的深层网络梯度,残差给梯度修一条‘+1 高速路’,于是能训得很深。
权重初始化
信号穿过 18 层:初始权重太大→爆炸、太小→消失,Xavier 恰好保持稳定。
第 5 章 · 卷积神经网络
二维卷积
不同步长、填充下的二维卷积过程演示。
转置卷积与空洞卷积
对比卷积、转置卷积;不同膨胀率下的空洞卷积。
GoogLeNet 结构
GoogLeNet(Inception)网络结构示意。
CNN Explainer
PoloClub 出品的交互式 CNN 解释器,可逐层查看激活与卷积运算。
卷积核手动滑动
3×3 核在图上一格格滑过,换边缘/竖线/锐化核,看同一张图被‘看’出不同特征。
汇聚(池化)
2×2 窗口扫过特征图,最大 / 平均汇聚把它缩小、保留要点(平移不变)。
感受野
拖层数,看顶层一个神经元的感受野(蓝色锥)怎样随深度张开——深度换广度。
第 6 章 · 循环神经网络
RNN 按时间展开
一个词一个词地读,隐状态像一张滚动的便签把上文压进向量;每步都用同一套权重,所以能处理任意长度。
RNN 当计数器
喂一串括号,看某个隐状态神经元自己学成计数器——遇“(”加一、遇“)”减一,隐状态里原来存着看得懂的信息。
梯度消失与爆炸
误差沿时间回传,每退一步乘一次循环权重 w;拖 w 看久远梯度按 wᵏ 消失或爆炸——RNN 记不住长程的根因。
LSTM 门控记忆
细胞状态像一条传送带,调遗忘 / 输入 / 输出三道门:遗忘门≈1 时,存进去的值能跨越很多步几乎不衰减。
RNN / LSTM / GRU
交互实验台:切换三种结构、编辑输入序列、单步观察门的开合与记忆沿时间的演化。
双向 RNN
“我买了苹果手机”——点词看单向只能看左边,双向再跑一个反向 RNN 补上右文,“苹果”才从水果变品牌。
字符级 RNN 生成
一个字母一个字母地写:靠隐状态记着上文,q 后面自然接 u,字符拼成合理的词——更细颗粒的自回归。
第 7 章 · 网络优化与正则化
优化算法对比
SGD / Momentum / Adam 等在三维损失面上的轨迹,附交互式资源。
学习率与动量
窄长山谷里普通梯度下降 vs 动量两球赛跑,调学习率看震荡、发散与加速。
自适应优化器 Adam
窄长山谷里 SGD / 动量 / Adam 三球赛跑,看 Adam 每参数自适应学习率又快又稳。
学习率调度
学习率随步数的“形状”才关键:没预热的大学习率开头就把损失冲飞;预热 + 余弦退火则平稳下降、收得更低。
Dropout
训练时随机关掉一部分神经元,逼网络学冗余表示、防过拟合;测试时再全开。
批归一化 BatchNorm
把每批激活减均值除标准差拉回‘均值0方差1’,让深层网络训练又快又稳。
层归一化 vs 批归一化
切换 BatchNorm(按列跨样本)与 LayerNorm(按行跨特征),看归一化沿哪个方向算——Transformer 为何偏爱 LayerNorm。
第 8 章 · 注意力机制与 Transformer
注意力机制
注意力机制
编码—解码注意力、自注意力与多头注意力的可视化。
点词看注意力
点句子里的一个词,看自注意力把它连向相关的词(如“它”指向“小猫”)。
词向量类比
二维语义空间里‘国王−男人+女人≈王后’,看词与词的关系就是向量方向。
QKV 注意力计算
拆开注意力的算法:Query·Key 算分数→softmax→对 Value 加权,看“它”怎么算出指向“猫”。
注意力为何除以 √d
拖维度看不缩放的 softmax 怎样饱和成一根独大,÷√d 后又稳住——缩放点积注意力的由来。
多头注意力
三个注意力头并排,各看相邻 / 指代 / 句首一种关系——多头分工再合议。
Seq2Seq · 基于 RNN
编码器—解码器结构的循环神经网络 Seq2Seq,常用于机器翻译。
Seq2Seq · 基于卷积
WaveNet 与 fairseq 卷积 Seq2Seq:用卷积代替循环,可并行训练。
Transformer
正弦位置编码
拖查询位置看位置编码热力图:不同频率的正弦给每个位置唯一编码,相近位置编码也相近。
因果掩码
给注意力盖上因果掩码,每个词只能看自己和左边,保证自回归生成不偷看答案。
掩码语言模型
盖住一个词让模型双向猜(BERT),对照只看左的因果模型——双向理解为何更全面。
RoPE 旋转位置编码
位置编码成旋转角度,两词的注意力分数只取决于相对位置——更稳、还能外推到更长序列。
Seq2Seq · 基于 Transformer
基于自注意力机制,可并行处理整个序列,是当前大模型的基础架构。
第 9 章 · 图神经网络
GNN 消息传递
distill.pub 互动文章:节点 / 边特征如何在消息传递中聚合更新。
消息传递与过平滑
节点沿边把特征传给邻居取平均,拖层数看信息扩散,以及层数太多时所有节点趋同的‘过平滑’。
GCN 半监督节点分类
只标 2 个节点,标签沿边一层层扩散,看一张社交网络图自动分成两派——少量标签 + 图结构带动全图。
第 10 章 · 无监督学习
K-means 聚类
随机撒下中心,反复“投靠最近中心→中心移到群中央”,看点被自动分成几组。
PCA 主成分分析
二维点云自动找出最铺得开的主成分方向,沿它投影把二维压成一维。
高斯混合与 EM
高斯混合软聚类,EM 交替算归属概率 / 更新高斯;交界处的点是‘混色’的(对比 K-means 硬分配)。
稀疏自编码器
编码器把输入压成隐层、解码器再重构;稀疏约束逼大多数隐单元为 0——拖稀疏强度,看少数几个“特征”怎样既省又干净地重建信号。
t-SNE 与降维
distill.pub 经典互动:如何正确解读 t-SNE 图,以及 perplexity / 迭代步数的影响。
第 11 章 · 模型独立的学习方式
第 12 章 · 深度强化学习
GridWorld 强化学习
Karpathy 的 REINFORCEjs:在网格世界里实时观察价值迭代、Q-Learning、Policy Gradient。
多臂老虎机
几台隐藏中奖率的老虎机,ε-greedy 在探索与利用之间权衡,估计逐渐变准。
探索 vs 利用
拖探索率 ε,看总收益的倒 U 曲线:太贪会锁死次优、太浪等于乱试,中间有甜点。
价值迭代
网格世界里价值从宝藏一格格扩散,箭头连成一条避开陷阱、通往宝藏的最优路线。
Q-learning:从试错学策略
不给环境模型,智能体 ε-greedy 乱走 + TD 更新,几集后 Q 表收敛、箭头连成避开陷阱通往宝藏的策略——与价值迭代正好对照。
第 13 章 · 大语言模型与智能体
LLM 内部结构(3D)
bbycroft.net/llm:3D 交互式 GPT 内部张量流动演示,从 token 到 logit 的全过程。
词元化
输入文字看它被切成一个个词元;也解释了模型为什么数不清 strawberry 里有几个 r。
BPE 子词合并
从字符起步,反复合并最高频相邻对,看“est”“low”这样的子词怎样被一步步学出来。
温度采样
调‘温度’看模型挑下一个词的概率条重塑:低温保守稳定、高温有创意也容易胡说。
top-k 与 top-p 采样
切 top-k / top-p,看截断候选词表怎么砍掉长尾、控制生成稳重还是放飞(配合温度)。
下一词预测
用 bigram 语言模型按概率接词成句,看“按概率接龙”为什么会跑题、重复。
自回归逐词生成
一个字一个字预测、写下、再喂回输入,动态看 GPT 怎样把句子“接”出来。
困惑度
切换好/一般/随机模型,看同一句话的困惑度差多少——模型读句子时有多惊讶。
束搜索与贪心
解码树上贪心 vs 束搜索:贪心掉进局部最优,束搜索留 k 条找到整体更优的句子。
缩放定律
损失随规模按幂律下降(log-log 直线),用小模型外推预测大模型,还有不可约下限。
对比学习与 CLIP
点训练,看图文相似度矩阵的对角线怎样点亮——CLIP 用配对图文拉近正样本、推远负样本。
混合专家 MoE
路由器把每个词只派给少数几个‘专家’子网络,参数海量但每次只算一小部分。
KV 缓存与 O(n²)
自回归生成时注意力是 O(n²),KV 缓存把历史键值存起来复用,降到线性。
投机解码
小模型起草几个字、大模型并行核验采纳,看它如何在不改结果的前提下加速生成。
量化
把连续权重吸附到离散档位,fp32→int8/int4 看体积缩小与精度损失的权衡。
LoRA 低秩微调
冻结大权重矩阵,只训两个小矩阵 A·B,微调参数从 d² 骤降到 2dr。
RLHF:偏好 → 奖励模型
人类只说“A 比 B 好”,Bradley-Terry 拟合出奖励曲线;再把策略 π∝π_ref·exp(r/β) 推向高分区,β 是拴住别跑偏的 KL 缰绳。
第 14 章 · 概率图模型
解释消除(贝叶斯网络)
下雨和洒水器本独立;观测“草湿”后两者都更可能,再得知“下雨”→洒水器概率反被压回——对撞结构的解释消除。
HMM 维特比解码
天气看不见,只看见带没带伞——用动态规划在网格里逐列挑最优前驱,回溯出最可能的隐藏天气序列。
高斯混合与 EM
含隐变量 z 的概率模型:每个点先选一个高斯、再采样得到坐标;EM 反推每个点的归属概率 P(z|x) 并更新各高斯。
第 15 章 · 深度信念网络
第 16 章 · 深度生成模型
扩散模型
前向加噪、反向去噪过程,以及与 GAN / VAE 的对比。
扩散:加噪与去噪
把一张图的每个像素一步步掺成彩色雪花,再从噪声里去噪生成——亲手体会扩散模型画图的原理。
VAE 潜空间
拖动二维潜变量,看解码出的脸连续变形——潜空间平滑、随便取一点就能采样生成。
GAN:生成器与判别器的博弈
判别器当警察、生成器当造假者交替训练;看金色假直方图一步步贴上真分布,切到双峰还能演示模式崩溃。
GAN Lab
PoloClub 互动玩具:在浏览器中训练一个 2D GAN,逐步可视化判别器与生成器的对抗。
欢迎贡献新的可视化资源:fork 仓库并在 viz/ 下添加 markdown 与素材后提 PR。