A · 一台视觉网络怎样学起来

先看同一台小 CNN 的整体输入与输出,再建立监督反馈、参数更新与数据职责。

1 · Learning to See

Network Architecture · 从监督学习到动态计算

28×28 灰度图输入 x局部计算 × 2Conv / ReLU / Pool784 → 32 → 10展平与分类头10 个类别分数参数 θ 由训练学习局部怎样连接?预算花在哪里?输入决定多少计算?
概念插画 · 非实测响应 · 末步画面;完整展开见主讲。

今天先固定一件事:给图像和类别标签,训练一台能够判断的网络。叶片上的重复窗口提示局部计算与共享;它是概念插画,不是实测响应。人的结构选择规定运算如何相连,训练再调整其中参数。接下来直接看本讲反复使用的同一台小 CNN,沿输入、类别分数和训练反馈理解这些决定。

ImageGen 原创视觉网络概念题图:输入像素平面经过层叠特征平面走向紧凑分类读出。特征纹理、连接与读出仅为概念艺术,不是本课模型的实测激活、精确拓扑或分类结果。HTML 独立排版标题与课程身份。

本页说明与来源

ImageGen 原创视觉网络概念题图:输入像素平面经过层叠特征平面走向紧凑分类读出。特征纹理、连接与读出仅为概念艺术,不是本课模型的实测激活、精确拓扑或分类结果。HTML 独立排版标题与课程身份。

mono-color · 编辑设计方法

参考项目素材许可

留下的问题:先给出整台网络,再逐段解释其中的计算。

2 · 一台 CNN 把图像变成类别分数,监督信号再调整参数

先认清预测与学习两个方向,后面再拆开局部计算。

1×28×28两组局部处理Conv / ReLU / Pool展平与分类读出784 → 32 → 10十个类别分数s₀, s₁, …, s₉真实标签 y监督损失 L训练反馈改变可训练参数结构:连接与计算θ:卷积核与分类头权重与偏置由训练调整
末停点;逐步展开见主讲。

先别算每一层。沿蓝色箭头从真实输入指向十个分数。两组处理仍是本课原模型的 Conv8/ReLU/MaxPool、Conv16/ReLU/MaxPool;16×7×7 展平为784,再经Linear32/ReLU和Linear10,不是GAP。第一次空格才引入标签、损失和紫色虚线反馈,卷积与分类头都可训练。第二次空格框出人规定的结构,区分连接与可学习数值。此图不显示虚构的预测数值;完整尺寸账本在CLS03和整网回访页。

本页说明与来源

D2L · LeNet

CS231n 2026 · CNNs

留下的问题:下一页:同为自行车,为什么像素可以差别很大?

3 · 同为自行车,为什么像素可以差别很大?

本讲固定图像分类:类别相同,视角、位置、背景和可见部分仍可变化。

请先看几张自行车图,指出一次位置变化和一次局部遮挡。我们希望输出仍是同一个类别,但输入阵列的许多数已经改变。这给网络提出的是任务要求,并没有证明任何现成模型已具备它;这些图只是问题情境。接着把整张图抽象为输入向量:要从大量像素得到几个类别分数,至少需要一个可调整的评分规则。先从一次加权求和开始,再检查为什么网络中还需要非线性和局部连接。

本页说明与来源

CS231n 2026 · Image Classification with Linear Classifiers

D2L · From Fully Connected Layers to Convolutions

留下的问题:把图像评分写成具体的可调整计算。

4 · 给每个类别一套权重,就得到可调整的评分

固定输入 (2, 1) 与一套类别权重,先预测各项贡献,再完成评分。

把这张图中的两项输入看成一个最小接口例,并非两像素就能解决自然图像。B类使用权重(1,−1)、偏置0,得到2−1=1;其他类别各有一行权重,合起来就是s=Wx+b。请指出哪些数来自输入,哪些数会被训练改变。一个分数还不是概率,多个类别需要比较同一套输出。再留意结构限制:如果后面再接一层线性变换,整体仍可合成一次线性评分。增加层数之前,先说明怎样让层间计算不只是重写同一个矩阵。

本页说明与来源

CS231n 2026 · Image Classification with Linear Classifiers

D2L · Softmax Regression

留下的问题:检查线性层的复合,再引入一个具体的非线性运算。

5 · 只堆线性层,仍可合成一次线性变换

ReLU 做一件具体的事:负值归零,非负值保留。

W₂(W₁x) = (W₂W₁)x多写一层,不自动增加这类表达能力ReLU(z) = max(0,z)逐位置截断负响应−1 → 00 → 01 → 1
结构机制 · 末步画面;完整展开见主讲。

先指上方两层线性变换:把矩阵乘开并合并偏置,仍能写成Wx+b。现在看下方ReLU,把−1、0、1分别送入max(0,z),结果是0、0、1。这里多出来的不是神秘能力,而是一个不能合成同一线性变换的操作。不要由此说“有ReLU就一定学得好”;它改变可表达的函数,训练能否找到有用权重仍要检验。完整的两灯任务及手算解留在CLS和Lab,本讲只保留这个运算接口。网络既能输出分数,接下来要给错误一个能够驱动更新的量。

本图解释结构与计算关系;没有把构造示意标作实测结果。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

D2L · Multilayer Perceptrons

CS231n 2026 · Neural Networks and Backpropagation

留下的问题:从能够计算分数,走到利用标签衡量预测误差。

6 · 都预测成狗,为什么 20% 与 1% 的猫概率不同?

类别分数取指数再归一化成概率(softmax);真类固定为猫,比较分给猫的概率。

这里从网络分数接到概率接口:softmax把各分数取指数,再除以总和,得到非负且总和为1的三项。本页直接给出三组完整概率,不再逐项展开指数计算。真实标签是猫,我们只追踪猫这一项:60%、20%、1%对应负对数损失约0.51、1.61、4.61。后两组都把狗排第一,准确率同样记错,但损失区分了错误的程度。请把模型给出的概率和数据提供的真标签分开;正是标签告诉训练应该提高哪一项。接下来把这份监督误差沿整张计算图送回参数。

本页说明与来源

D2L · Softmax Regression

CS231n 2026 · Image Classification with Linear Classifiers

留下的问题:让损失、梯度与参数更新组成一次完整训练闭环。

7 · 同一个分类误差,怎样改到前面的权重?

图像前向产生分数;标签形成损失;反向求导后才执行参数更新。

28×28 灰度图输入 x局部计算 × 2Conv / ReLU / Pool784 → 32 → 10展平与分类头10 个类别分数参数 θ 由训练学习类别标签 y仅训练时给出答案监督损失 L(scores,y)分数与标签在这里比较优化器写回 θ′ = θ − η∇θL;下一次前向使用新参数。同一批数据:前向 → 误差 → 反向 → 一次参数更新
结构机制 · 末步画面;完整展开见主讲。

先沿实线从图像经过网络到分数与损失,标签只接到损失处。现在沿反向箭头追踪依赖:后层把“若某个中间值改变,损失怎样变化”传给前层,最后得到各参数的梯度。暂停在求导完成处,参数此时还没有变;优化器执行更新后,下一次前向才使用新参数。训练不是把正确类别逐层复制,也不是自动改掉我们画的连接方式。请在图上分别指出架构、参数、中间值与标签,随后划清哪些数据可以进入这个更新循环。

本图解释结构与计算关系;没有把构造示意标作实测结果。

机制示意;详细实现与实验身份见对应 CLS / Lab。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

留下的问题:一旦能更新,就必须规定训练、验证和测试各自的职责。

8 · 训练改参数,验证选方案,测试做最终评价

比较架构前,先固定允许使用哪些数据、允许做哪些选择。

请看三条箭头的终点:训练数据经过损失直接更新参数;验证数据帮助开发者选择学习率、轮次或检查点;测试数据只评价已经锁定的方案。验证虽然通常不参与反向求导,却能通过我们的选择影响最终模型,因此反复看测试再改方案也会破坏独立评价。后面不论选卷积模块、搜索子网还是设早退阈值,都沿用这条分工。现在读一份已有训练记录,检查训练拟合和独立样本表现是否是同一个量。

本页说明与来源

CS231n 2026 · Regularization and Optimization

He et al. · Deep Residual Learning (2015)

留下的问题:用已保存曲线核对这三种数据职责。

9 · 训练损失下降后,还要用未参与更新的数据检验模型

训练用于更新参数,验证用于选择方案;先分清曲线记录了什么。

交叉熵 ↓00.511.5123456训练轮次训练记录online:更新中的累计均值验证记录每轮结束:固定当轮参数评估按最小验证损失选择第 6 轮验证 CE = 0.1610MNIST · CNN / 无增强
末停点;逐步展开见主讲。

本图逐点读取既有 LAB02 受控2×2记录中的 CNN / no augmentation。训练曲线是每轮更新过程中按样本数累计的online交叉熵;验证是在epoch结束后固定参数评估,两者统计时点不同。训练12,000、验证10,000,6轮Adam、batch128、学习率0.001,单种子MNIST。最小验证交叉熵0.1610109955072403出现在第6轮,按此规则选检查点;不是根据准确率虚线选点。本例两条损失均下降,没有观察到用于展示的上升验证曲线。验证证据不能证明任意分布泛化;测试集在方案确定后才报告。此次只重绘历史结果,没有重训。

单种子;训练样本 12,000,验证样本 10,000;训练是online累计均值,验证是每轮结束固定参数评估。

本页说明与来源

数据来源:teaching/labs-v2/results/lab02-results.json → runs["CNN / no augmentation"].history。逐点保留原值,无拟合、插值或新训练。

CS231n 2026 · Regularization and Optimization

He et al. · Deep Residual Learning (2015)

LAB02 原始 JSON 记录

留下的问题:下一页:监督卷积早于 2012:先从字符识别的结构说起

B · 为什么这样组织局部计算

局部、共享、通道、采样和反馈各改变什么;算例用于核对实现,真实响应用于观察。

10 · 监督卷积早于 2012:先从字符识别的结构说起

1989—1990 年代已有局部共享与端到端监督;这里固定的是网络怎样连接。

看早期字符识别的输入、层叠处理和分类出口:LeNet说明局部共享与监督反馈并非2012年才出现。我们此刻只借这张历史图确认计算链已经存在,不展开所有层表。自然图像后来扩大了类别、背景变化和数据规模,受控字符任务的成功不能直接当作规模化成功。更早、更晚也不是好坏排序。回到本讲的设计问题:前端如果由人固定,类别训练能改到哪里;如果前端本身也含可学参数,反馈又能到哪里?

本图概括 LeNet 的局部共享与监督反馈关系,不逐层复刻论文结构。

本页说明与来源

D2L · LeNet

D2L · AlexNet

CS231n 2026 · CNNs

留下的问题:用一个最短的固定前端/可学前端对照,定位训练更新范围。

11 · 分类错误,能否调整提取信息的前端?

只比较反馈能到哪里:固定手工测量与可学的局部测量。

类别损失能改变哪一段?固定手工前端如局部边缘测量分类读出输出类别分数只训练分类读出可训练卷积前端结构固定,核参数可学分类读出输出类别分数分类误差也反馈到前端
结构机制 · 末步画面;完整展开见主讲。

先看上排:我们预先固定怎样量局部变化,例如算邻近亮度差,再让分类器使用这些结果。标签反馈只更新最后的评分参数;被前端丢掉的信息,后面无法凭空补回。再看下排:把前端测量也写成含参数的计算,最终分类损失就能沿依赖调整这些参数。这里不要求先学词袋或聚类,也不声称传统方法都完全不可学习;比较范围只限图中的两个接口。端到端仍保留人的结构选择。下面先看最重要的两个决定:一次读多大范围,不同位置是否共用同一套数。

本图解释结构与计算关系;没有把构造示意标作实测结果。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

D2L · Convolutions for Images

D2L · LeNet

CS231n 2026 · CNNs

留下的问题:把“可学前端”拆成局部读取与参数共享。

12 · 每次读附近,不同位置共用权重

局部决定读取范围;共享决定不同位置是否使用同一组参数。

先指一个输出读取的窗口,再把测量器移到另一个位置:变化的是读入的输入,核中的数保持相同。局部和共享是两个独立决定;只连附近不代表必然共享,同一权重共享也不代表一次看全图。这样安排减少独立参数,并让同样的局部模式在多个位置接受同一种测量。它并未规定核一定检测某种边缘,更没有保证最终类别对所有平移不变。具体检测什么,还要看结构中哪些数由训练改变。

图示连接依赖,不显示实测响应。

本页说明与来源

D2L · From Fully Connected Layers to Convolutions

D2L · Convolutions for Images

留下的问题:把人的连接选择与训练学到的数值放在同一个算子上。

13 · 人规定连接方式,训练调整具体测量

核的读取范围与共享规则先给定,权重值再由监督误差调整。

请分别指图上的窗口边界和核内权重:局部范围、通道数、共享关系属于架构;权重的正负与大小属于训练参数。选择卷积既不是让网络自行发明全部连接,也不是把它学到的特征预先写死。最终分类损失可以影响核,但不能因此说训练自动发现了这里的共享规则。为了让“学一个测量器”不是抽象说法,我们暂时取一个只有四项的窗口,完整核对一次加权求和。

本页说明与来源

D2L · From Fully Connected Layers to Convolutions

D2L · Multiple Input and Multiple Output Channels

留下的问题:缩小为四个乘积,检查一个局部输出如何产生。

14 · 四个配对乘积,只写入一个输出

3×3 输入 · 2×2 核 · stride=1 · padding=0;采用互相关约定。

输入 · 3×3同一核 · 2×2配对乘积输出 · 2×201234567801230 × 0 = 01 × 1 = 13 × 2 = 64 × 3 = 12累加 = 1919
末停点;逐步展开见主讲。

这是独立的精确构造算例,不是整台CNN的实测响应。初态给出输入和核但隐藏乘积;每次空格只计算下一项。最后一项完成后,19进入唯一对应输出格。下一页复用同一核,只移动窗口。

采用 CNN 常用互相关约定;为精确构造算例,四个位置共用核。

本页说明与来源

Dive into Deep Learning · Convolutions for Images

留下的问题:下一页:移动窗口,复用同一组权重

15 · 移动窗口,复用同一组权重

输入 3×3、核 2×2;stride=1、padding=0。每次移动只改变读取位置。

输入 · 3×3同一核 · 2×2配对乘积输出 · 2×201234567801234 × 0 = 05 × 1 = 57 × 2 = 148 × 3 = 24累加 = 4319253743
末停点;逐步展开见主讲。

前页算清左上输出19。本页每次空格只把窗口移动到一个新的合法起点,并写入相应输出;四个结果为19、25、37、43。响应值不同来自输入局部不同,不是每个位置使用新参数。

本页说明与来源

Dive into Deep Learning · Convolutions for Images

留下的问题:下一页:一个 filter 读取全部输入通道

16 · 一个 filter 读取全部输入通道

每个输入通道各给一份贡献,求和后形成一个输出通道。

看RGB三个输入通道:同一个filter为每个通道备有一个空间核切片。在同一输出位置,把三份局部贡献相加,左上角为1+6+1=8。请不要把三个通道的贡献当成三个输出通道;它们共同形成这一套filter的一项输出。整套filter移到别处,得到一张响应图。标准卷积在这里同时做空间读取和通道混合,后面讨论计算成本时会拆开这两件事。现在先增加filter数,看网络怎样保留多种测量。

本页说明与来源

D2L · Input and Output Channels

CS231n 2026 · CNNs

留下的问题:一个 filter 产生一张响应图,多套 filter 构成更多输出通道。

17 · 多套 filter,让同一张图保留多种响应

区分样本数、输入通道和输出通道,才能读懂计算图的接口。

先读输入[2,3,5,5]:两张图,每张三个5×5通道。再读权重[4,3,3,3]:四套filter,每套读取三个输入通道;不是四张图片。步长1且无补零时,输出[2,4,3,3]。两张图共享同一个网络参数,但它们的激活仍分别计算。此处增加filter是增加测量种类,不是额外分支网络。前向关系完整后,回看监督闭环:图像只有最终类别标签,这些不同位置与通道的参数怎样获得反馈?

本页说明与来源

D2L · Multiple Input and Multiple Output Channels

留下的问题:从多位置、多通道的前向计算回到共享参数的监督反馈。

18 · 只有类别标签,局部窗口怎样收到反馈?

最终损失经过后续计算形成各位置的反馈;共享参数汇总各次使用的贡献。

先指最终类别损失,再沿后层回到图中的两个局部位置。并没有人为给每个窗口指定一张正确响应图;各位置的δ来自后续计算对最终损失的影响。δ₀与δ₁可以不同,但这两个位置使用的是同一个核权重,因此要把“局部输入×局部反馈”的贡献求和,再更新这一份参数。此处一维缩例只说明汇总关系,不是实际3×3卷积层的完整张量。共享梯度手算与自动微分核对留在LAB01。下面继续搭网络:卷积输出保留多少个空间位置?

这里用一维局部卷积核缩例,δ是最终类别损失经后层传回的局部导数。

本页说明与来源

D2L · Convolutions for Images

Stanford CS231n · Backpropagation

留下的问题:保持参数学习关系不变,检查空间接口由哪些采样规则决定。

19 · 输出尺寸,可以用合法窗口起点数出来

固定 7×7 输入、3×3 核、步长 1,并补一圈零。

先把7×7输入补成9×9计算网格,再沿横纵方向分别数3×3窗口的合法起点:每边7个,因此输出仍是7×7。这个计数比直接背公式更能帮助检查AI写出的padding配置。补零没有创造额外真实观察,只是规定边界外参与计算的值;边缘响应因此有特定条件。现在保持输入、核、padding不变,只改移动窗口的步长,看看哪个接口尺寸改变。

本页说明与来源

D2L · Padding and Stride

D2L · Convolutions for Images

留下的问题:只改步长,观察计算位置减少而核权重不变。

20 · 步长改变采样位置,核的权重没有变

7×7 输入、3×3 核、padding=1 固定;补零后9×9,stride=2。

7×7 输入 + 四周补零 → 9×9核 3×3 · stride=2 · padding=1000000000000000000000000000000000123456780246合法窗口始终完整落在 0…8 内两个方向都使用 0、2、4、6y00y01y02y03y10y11y12y13y20y21y22y23y30y31y32y334 个行起点 × 4 个列起点 = 4×4权重保持同一组 3×3 核只改变采样位置
末停点;逐步展开见主讲。

先指明灰色补零边界和0到8坐标。输入原大小7×7,加两侧padding1变9×9。每次只移动2格,合法起点需满足起点+3≤9,依次0、2、4、6。8是被拒绝的位置,不是第五个输出。横向解释完后将同一规则应用到纵向,直接构成4×4,无需自动扫描16格。只改变采样位置,不改变3×3核的9个权重。

本页说明与来源

D2L · Padding and Stride

Zhang · Making CNNs Shift-Invariant Again (2019)

留下的问题:下一页:多个局部层叠起来,能联系更远的输入

21 · 多个局部层叠起来,能联系更远的输入

独立三层算例:追踪理论支持范围,不把它当成本课小 CNN 的逐层配置。

从输入单点出发,第一层三点窗口覆盖3,第二层组合后覆盖5;第二层步长2让后层坐标在原输入中间隔更远,第三层覆盖扩大到9。请沿连线回溯哪些原输入有可能影响这个输出,而不是把大框直接叫作“模型关注区域”。理论支持范围内的像素不一定贡献一样多,实测响应仍要看参数与输入。本例专门隔离层叠和步长作用。另一种空间变粗的办法,是把一片响应压成一个统计量。

本页说明与来源

Araujo et al. · Computing Receptive Fields (2019)

D2L · VGG

Luo et al. · Understanding the Effective Receptive Field (2016)

留下的问题:从覆盖更多输入,转向用一个统计量压缩局部响应。

22 · 池化保留一种统计,也舍弃部分细节

每个通道分别取局部最大值:宽高可减半,通道数不变。

先看2×2窗口中的四个值,再只留下最大值。问一句:仅凭这个结果,能恢复峰值原来在哪一格以及其他三个数吗?一般不能。本课小CNN用2×2、步长2最大池化,空间变粗但通道数不变;这是明确的信息取舍。它不自动保证任意平移都不改变输出。网络还常在中间值上加一个尺度调整步骤,先把它讲清,再回看真实训练响应;这一步只作为可选模块,不修改原有小CNN的身份。

本页说明与来源

D2L · Pooling

Zhang · Making CNNs Shift-Invariant Again (2019)

Long et al. · Fully Convolutional Networks (2015)

留下的问题:区分空间汇聚与另一个常见模块:通道值的归一化和可学仿射变换。

23 · 同一通道的值,怎样先规范化再作可学变换?

BN 分两步:用一组均值方差规范化,再以 γ、β 作仿射变换。

每个通道:先用统计规范化,再用参数作变换x̂ = (x − μ) / √(σ² + ε)μ、σ²:所选数据的统计y = γ x̂ + βγ、β:每通道可学习参数固定同一个响应 x=3,换一个 batch 同伴同伴 1:μ=2,σ²=1该响应输出 ≈ +1同伴 5:μ=4,σ²=1该响应输出 ≈ −1γ=1 · β=0 · ε=10⁻⁵
结构机制 · 末步画面;完整展开见主讲。

沿公式分两步读:先用μ和σ²把当前通道的值规范化,再乘γ并加β。μ、σ²是由指定样本集合估计的统计量;γ、β是能够接受监督梯度的参数,二者不要混为一组权重。训练时BatchNorm2d通常跨当前batch和空间位置估计通道统计,固定x时换batch同伴也可能改变它的规范化结果。running buffers记录统计以供约定的推理方式使用,记录统计和执行梯度更新仍是不同动作。本页是独立模块说明;开场的28×28小CNN并未因此增加BN。现在回到它原有checkpoint的真实响应。

本图解释结构与计算关系;没有把构造示意标作实测结果。

机制示意;详细实现与实验身份见对应 CLS / Lab。

构造比较固定同一响应x=3,单通道,当前batch方差按样本数归一化。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

留下的问题:从可选模块回到身份固定的小 CNN,读取真实中间响应。

24 · 真实响应里,哪些位置和通道不同?

固定输入、模型与层,再把响应位置对应回输入。

回到原有28×28小CNN,固定MNIST测试序号0、标签7。先指出输入,再看第一层全部8个通道;切到第二层时只展示前8个通道。颜色深浅表示响应数值,同层共用色标,两层独立定标,不能把跨层深浅直接当作大小比较。它们来自保存的cnn-plain-state.pt、验证选择第6轮的前向结果;并非本页临时训练出来。请描述实际看到的差异,而不是凭一张图给通道命名为“7检测器”。把这些数组重新接回整网,看它们最终怎样进入分类头。

来自本课训练 CNN 的保存响应,编号仅标通道,不直接赋予语义。

本页说明与来源

D2L · From Fully Connected Layers to Convolutions

D2L · Input and Output Channels

Zeiler & Fergus · Visualizing and Understanding Convolutional Networks (2014)

本课CNN响应:检查点、输入序号、色标与逐通道数值索引

留下的问题:将真实响应的形状放回全网图,核对空间数组到类别分数的接口。

25 · 把局部模块放回整网,核对三个接口

两组空间计算、一次展平、一个分类头,共同完成同一张图的预测。

现在沿开场同一台网络走完:Conv8/ReLU/Pool使28变14,Conv16/ReLU/Pool使14变7;16×7×7个数按固定顺序展平成784维,再经32维隐藏层得到10个类别分数。请找出通道数在哪里改变,空间尺寸在哪里改变,哪里只是重新编号。Flatten本身没有删除这些数,也没有新增学习参数;但后续全连接读出可以使用位置索引。我们已有完整可计算网络,接下来检查一个关键预期:局部规则共享,是否就能保证图像平移后整网答案不变?

本页说明与来源

D2L · Convolutional Neural Networks (LeNet)

D2L · Multiple Input and Multiple Output Channels

留下的问题:用同一网络检验共享结构带来的关系,避免从局部性质跳到整网保证。

26 · 响应跟着输入移动,还不等于类别判断不变

固定核[1,2,1]、stride=1与补零约定;只看远离边界的内部位置。

原输入与响应输入右移一格000010000核 [1, 2, 1]000121000001122334455667788000001000同一核000012100[1, 2, 1] 整体右移一格
末停点;逐步展开见主讲。

一维剖面的精确构造用于分开位置与数值模式。初态两侧输入相同,右侧响应尚未揭示。第一按只移右侧输入,左侧作为参照;第二按才出现对应移位的[1,2,1]响应。内部区域、stride1和相同边界约定是必要条件。本页没有类别分数,不能推出平移不变;下一页用实际CNN分类结果检验。

此页只计算卷积响应,没有测量最终类别分数;下一页用已保存分类实验检验。

本页说明与来源

D2L · From Fully Connected Layers to Convolutions

Zhang · Making CNNs Shift-Invariant Again (2019)

留下的问题:下一页:同一结构增加平移训练,结果怎样改变?

27 · 同一结构增加平移训练,结果怎样改变?

先在同一 CNN 内比较增强,再谨慎读跨 MLP/CNN 的差异。

先只看CNN的两列:加入训练增强后,右移测试准确率由84.64%到93.84%,原图由95.33%到95.81%。再看MLP:右移66.39%到84.21%,原图却92.11%到89.94%。请把观察和解释分开:这组结果说明训练条件影响指定变化下的表现,不能说明所有增强都无代价;两个架构也并非等参数、等计算,不能把全部差异归给卷积。局部机制已能计算,真实失败也已看到。之后的任务是读懂和检验结构,而不是人人重写底层算子。

有无增强对照采用同一数据划分、6 epochs、Adam和单种子;MLP/CNN跨模型计算量未对齐。

本页说明与来源

D2L · From Fully Connected Layers to Convolutions

Zhang · Making CNNs Shift-Invariant Again (2019)

D2L · LeNet

留下的问题:明确学习任务转变:从精确理解算子,转向提出并检验结构改动。

28 · 算子已经看清,接下来要能检查一张计算图

让 AI 协助实现;由你核对接口、共享关系、反馈与证据。

28×28 灰度图输入 x局部计算 × 2Conv / ReLU / Pool784 → 32 → 10展平与分类头10 个类别分数参数 θ 由训练学习提出结构改动 → 请 AI 实现 → 核对接口与对照shape 是否匹配?参数是否共享?记录的模型与结果是否同一身份?
结构机制 · 末步画面;完整展开见主讲。

回指刚才完整小CNN:每个方框怎样读取、共享和输出,我们已经有可核对的小例。现在不要求每个人再从头手写卷积,而是提出一个结构变化,让AI帮助实现,再由你检查shape、参数共享和梯度是否符合设计。自动生成能运行的代码并不证明实现了想要的模型。Lab保留手算、自动微分、真实响应和失败例作为检查工具。接下来把问题从一个算子推进到组合:串行叠层之外,能否让同一输入并行走几种处理,再让更深层继续使用?

本图解释结构与计算关系;没有把构造示意标作实测结果。

机制示意;详细实现与实验身份见对应 CLS / Lab。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

留下的问题:从单个局部块转向怎样串行、并行和跨层组合。

C · 网络不只是不断加层

固定识别问题,从并行分支到残差相加与跨层拼接,检查必要形状和受控证据。

29 · 哪些条件让监督 CNN 扩大到自然图像?

2012 · 已懂计算机制后,再看数据、算力和训练经验怎样共同支撑规模化。

分别指出数据、算力和训练方法的角色:大规模类别标注提供训练与评测基础;GPU承担反复张量计算;激活、增强、正则与优化经验支持训练和泛化。三者共同使监督CNN扩大到自然图像,不能把系统结果单独归因于更深的结构。

本页说明与来源

情境图为生成概念插画,不是历史照片或实验输出;具体系统事实据AlexNet原论文,同年成绩据ILSVRC2012官方记录。

D2L · AlexNet

Krizhevsky et al. · ImageNet Classification with Deep CNNs (2012)

ILSVRC 2012 · Official Results

留下的问题:读同一任务下的竞赛结果,再区分系统进步与单一组件贡献。

30 · 2012 年的结果显示路线转折,也需要比较口径

读 top-5 错误率,保留集成与额外数据条件。

先读纵轴,它是top-5错误率,越低越好。2012年官方测试中,最佳非CNN系统约26.2%,只用比赛数据的CNN集成约16.4%;常见的15.3%还包含额外ImageNet监督预训练。后两者都是集成,不是单网,所以不能把它们与论文另一验证集上的单网数字混在一起。差距说明这条路线值得继续投入,但没有隔离每个组件。接下来固定我们已经会用的卷积模块,尝试一种不同组织:同一输入能否并行读取不同范围,再一起交给后层?

本页说明与来源

ILSVRC 2012 · Official Results

Krizhevsky et al. · ImageNet Classification with Deep CNNs (2012)

留下的问题:从成功的串行 CNN,推进到多条固定分支共同处理输入。

31 · 同一输入,能否并行经过不同范围的处理?

Inception:所有分支都执行,最后沿通道拼接;分支内可先用 1×1 降维。

同一输入28×28×1921×1 →64保持空间大小1×1 →963×3 →1281×1 →165×5 →323×3 max pool1×1 →32通道拼接28×28×25664 + 128 + 32 + 32 = 256
结构机制 · 末步画面;完整展开见主讲。

从同一输入分出几条路线:一条直接作1×1变换,另一些在较大空间核之前先作1×1通道压缩,还有池化分支。1×1不混合相邻位置,但会混合当前位置的输入通道;先降维可减少后续大核成本。请逐条走到输出,核对各分支空间尺寸一致,再沿通道拼接。它与一个层里放多个filter不同,因为每条分支本身含有一段运算;也不是输入只挑一条路,图中各分支都执行。固定结构能同时组合不同尺度,但继续加深这些计算时,训练是否一定更容易?

本图解释结构与计算关系;没有把构造示意标作实测结果。

主图采用 GoogLeNet Inception 3a 的真实通道配置;shape 为 HWC,省略 batch。卷积后含 ReLU;本块卷积和池化 stride=1,padding 保持网格。

原论文的训练辅助分类头在推理时移除,不能拿来等同动态早退。

图为 GoogLeNet 3a。预印本2014/CVPR2015;分支不同于单个filter,四分支全部执行。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

1409.4842v1

Szegedy_Going_Deeper_With_2015_CVPR_paper.html

留下的问题:固定分支组合之后,检查继续加深会遇到什么可观察的训练困难。

32 · 能画出更深网络,不代表它容易训练

前向信号与反向反馈都经过更多层;先检查训练表现,而不是只看模型大小。

在图上给串行链增加几层,然后分别追踪前向激活和反向反馈。初始化、各层尺度和局部敏感性都会影响优化过程,更多层能表达更多关系,不保证训练能找到它们。这里的初始化指训练起点的随机参数,与下一讲复用已训练权重不同。也不要用一句“梯度消失”解释所有失败。先找一个更直接的诊断:如果更深模型连训练误差也更高,这只是对未见数据过拟合吗?看一组真实文献现象再判断。

三段局部敏感性固定为0.5是构造例,并非所有深网都会衰减。

本页说明与来源

CS231n 2026 · Neural Networks and Backpropagation

Hinton et al. · A Fast Learning Algorithm for Deep Belief Nets (2006)

Hinton & Salakhutdinov · Reducing the Dimensionality of Data with Neural Networks (2006)

留下的问题:从一般训练困难落到 plain 网络加深后训练误差上升的证据。

33 · 更深的普通网络,为什么连训练误差也更高?

ResNet 2015 预印本/CVPR 2016:先把优化问题和泛化问题分开。

先指文献重绘中的训练曲线,再看测试曲线:CIFAR-10的plain56相较plain20,训练误差也更高。过拟合只说训练与未见样本之间的差距,无法单独解释这里连已见数据都拟合更差。原研究已使用归一化等措施,不能把现象直接等同于梯度消失。我们的设计目标因此很具体:让加深后的网络更容易保留一个已有好行为,再在需要处作修改。先问更深函数族是否原则上已经包含这个行为。

He等 Figure1 的 plain 20/56 层训练退化现象;这里是定性关系重绘,不是新增测量。

本页说明与来源

He et al. · CVPR2016 原论文

留下的问题:构造新增层保持输入的情况,区分好解存在与容易找到。

34 · 存在一个好解,不等于训练容易找到它

新增层若能保持已有表示,浅层模型的行为原则上可继续保留。

沿图中的浅层模型走到原表示,再插入保持映射,原来的后续计算仍能接收相同输入。这个构造说明更深的函数族可以包含已有解,但并没有说明随机初始化和优化会自然找到保持映射。请把“能够表示”和“容易学到”分别说完整。残差的思路就是把保持行为变成更直接的参数选择:让一条路径直接传递旧表示,新分支只需输出需要加上的变化。

本页说明与来源

D2L · ResNet

He et al. · Deep Residual Learning (2015)

留下的问题:将“学会原样传递”改写为“先保留,再学习修正”。

35 · 先保留已有表示,再学习需要改变的部分

同形张量相加:零分支保留输入,非零分支逐分量修正。

沿直达路径把h送到相加节点,再沿可学分支得到F(h)。当F(h)=0,节点输出仍为h;取图中的修正(0.2,−0.3,0.1),就得到(2.2,0.7,−0.9)。请检查这里两条路径形状相同,而且停在相加处,不包含随后激活;换尺寸时需要投影或其他对齐,不能无条件画shortcut。修正也不必永远很小。反向的两条反馈与精细导数留在CLS和Lab,主讲用配对结果检查这种连接是否带来预期帮助。

讨论的是同形张量相加节点,捷径无投影,且未在结果后接激活。

本页说明与来源

He et al. · Deep Residual Learning for Image Recognition

He et al. · Identity Mappings in Deep Residual Networks

留下的问题:把结构动机交给同深度、同协议的证据检验。

36 · 连接改了,怎样检验它是否有用?

先同深度配对,再比较加深的方向;这张表报告验证集错误率。

先固定18层比较plain与residual:27.94%和27.88%;再固定34层比较28.54%和25.03%。现在才看加深的方向,普通网络变差而残差网络改善明显。口径是ImageNet验证集10-crop top-1错误率,不能拿这张验证表直接证明训练误差下降,训练拟合有另一份论文证据。结果支持所给条件下的残差设计,却不保证加深总有效。相加让旧表示进入新的通道值;如果后层需要分别读取更早的特征,还有别的连接方式吗?

本页说明与来源

He et al. · CVPR2016 原论文

留下的问题:从逐元素相加转向沿通道保留各组旧特征。

37 · 相加之外,旧特征能否单独保留给后层?

DenseNet 2016 预印本/CVPR 2017:沿通道拼接旧特征,改变后层的读取接口。

残差相加沿通道拼接H × W × CH × W × C+H × W × CH×W×C₀H×W×kH×W×kC₀kkH × W × (C₀ + 2k)
末停点;逐步展开见主讲。

先数两种接口的通道维度:逐元素相加将两份 H×W×C 合成 H×W×C;沿通道拼接把旧特征组分别保留,示例输出为 H×W×(C₀+2k)。相加要求形状匹配,拼接要求非拼接维度一致。后层直接读取更多旧特征,同时需要保存和搬运更多激活,因此参数较少不等于激活内存较低。

本页说明与来源

按 DenseNet 的连接方式绘制张量接口对照,未进行两模型实测;原论文为2016预印本、CVPR2017。

DenseNet · CVPR 2017

留下的问题:统一比较连接方式与形状,再沿同一结构问题进入运算和存储成本。

38 · 同样的计算块,四种连接怎样改变信息?

串行、全分支 concat、残差 add、跨层 concat,各有不同的形状与存储条件。

串行:上一层成为下一层的输入xF₁F₂相邻接口逐一匹配并行:同一输入,分别计算后拼接xF₁F₂concatC + C → 2C残差:学习修正,与原值逐元素相加xF+shape 相同;C + C → C稠密连接:后层继续读取较早的特征x₀F₁[x₀,x₁]F₂第 l 层输入:C₀ + (l−1)k 通道
结构机制 · 末步画面;完整展开见主讲。

让输入和计算块使用同一画法,依次指四种组织。串行把前层输出交给下一层;固定并行分支各自处理,再沿通道拼接;残差在同形位置逐元素相加;DenseNet式跨层拼接让后层直接读取旧通道。请在合并处写出输出通道,而不是把add与concat都叫“融合”。分支输出和旧特征存留的时间也不同,所以仅数参数不足以判断成本。现在我们已经会改变深度和连接,把识别任务与评价固定下来,检查怎样在同一预算下组织这些计算。

本图解释结构与计算关系;没有把构造示意标作实测结果。

这里只核对形状与信息组织,不声称四者等参数、等 MAC 或等训练预算。峰值内存依赖具体实现和保存策略。

比较连接接口,不等同完整架构性能排名。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

1512.03385

1608.06993

留下的问题:每种连接都消耗运算或存储;保持任务不变,开始完整成本账。

D · 给定预算,哪些计算值得保留

比较卷积分解、模块位置、训练配方和真实设备条件;参数、MAC与延迟分别计账。

39 · 连接越来越丰富,用户却只等一次答案

继续本讲的数字识别请求,区分模型推理时间与完整请求的等待。

本讲的数字识别请求采集取得图像预处理缩放 / 归一化模型推理神经网络反馈显示结果单独测推理用户等待的是端到端时间
机制示意 · 未运行模型 · 末步画面;完整展开见主讲。

沿一次识别请求依次看采集、预处理、模型推理和反馈;“单独测推理”只覆盖其中一个节点。若主要等待在其他环节,推理减半也不使总等待减半。先确定实际瓶颈与计时边界,才决定优化什么。

本页说明与来源

图中节点表示处理流程,没有设备计时,块宽不编码时长。输入复用官方 MNIST 测试样本0(/responses-v8/test-0000/input.png),没有为该样本新增预测或测速。

ShuffleNetV2 · ECCV 2018

MobileNetV4 · ECCV 2024

留下的问题:在同一个卷积接口上分解空间计算与通道混合。

40 · 空间过滤与通道混合,必须一起完成吗?

MobileNet 2017:把标准多通道卷积拆为 depthwise 与 pointwise。

普通卷积3×3 · 32输入通道 · 64输出通道3² × 32 × 6418,432 MAC / 位置逐通道空间过滤depthwise · 3×3×321×1 通道混合pointwise · 32×64288 + 2,048 = 2,336算术工作量约相差 7.89 倍乘加次数 / 输出位置
精确教学算例 · 非模型实测 · 末步画面;完整展开见主讲。

回指一个 filter 读取全部输入通道的机制:标准卷积在每个输出位置做 k²MN 次乘加。先逐通道做 depthwise 空间过滤,再用 1×1 pointwise 混合通道,成本变为 k²M+MN。取 k=3、M=32、N=64,18,432 变为 2,336,约差 7.89 倍。账本保持输出空间相同,忽略 bias;这不是设备提速测量,分解也不是任意普通卷积的无损替换。

本页 MAC 指 multiply-accumulate 乘加次数,与 ShuffleNetV2 原文的 memory access cost 不同义。

本页说明与来源

按 MobileNets §3.1、Eq.4–5、Figure 2 重绘算子与乘加账本。

MobileNet

留下的问题:在已拆分的空间与通道运算之间,安排宽度与非线性。

41 · 窄表示、非线性与残差,怎样放在同一个块里?

先展开通道,再作空间处理,最后线性投影;不是每个块都有 shortcut。

二维 ReLU: (−1, 2) 与 (−2, 2) 都变成 (0, 2)窄通道输入C展开 + 非线性tCdepthwisetC线性投影C′+stride=1 · C′=C
精确教学算例 · 非模型实测 · 末步画面;完整展开见主讲。

先看两个不同负值经过 ReLU 都变成 0,说明截断可能合并原本不同的输入。这是信息损失的直觉反例,不是对真实高维流形的完整证明。MobileNetV2 先用 1×1 展开通道,在较宽表示里做 depthwise 与非线性,再线性投影回窄通道,避免在窄投影后继续截断。

shortcut 只在 stride=1、输入输出形状一致时直接相加。即使账面乘加次数减少,展开后的激活、重排和算子启动仍会影响设备速度。

本页说明与来源

按 MobileNetV2 §3.2–3.3、Figures 1–4 绘制结构;二维 ReLU 数值为教学构造。

MobileNetV2

留下的问题:从算术量回到执行:通道关系和数据搬运会改变实测排序。

42 · 算术量相近,吞吐仍由执行方式决定

ShuffleNetV2:先看通道交换,再看同一 ARM 平台的通道比对照。

ARM 吞吐,越高越好 ↑单位:images/sARM · 近似等 FLOPs通道比 1:176.2通道比 1:272.9通道比 1:669.1通道比 1:1257.60
论文报告重绘 · 非本次实测 · 末步画面;完整展开见主讲。

先看通道来源经拼接与shuffle重新安排,它使后续分组能够接触不同来源;这只是结构机制。再看另一项受控测量:56×56特征图、十个双1×1模块、同一Snapdragon810单线程、FLOPs近似相同,通道比1:1与1:12的吞吐分别76.2与57.6 images/s。先把机制示意和测量对象分开,不能说这两个数单独证明shuffle的收益。它们支持通道平衡与访存影响效率,也不是整网分类器延迟。继续沿已懂的depthwise、通道变换和残差,看看现代卷积块还怎样组织这些运算。

数据核对于 ShuffleNetV2 Table 1 的 ARM ×1 列,单位 images/s;CLS07 若保留 GPU ×1 列,其单位为 batches/s,不能横向混排或换称延迟。原论文 MAC 指 memory access cost(内存访问成本);本讲算术账与 LAB11 的 MAC 指 multiply-accumulate(乘加次数)。两种口径须写全称。

速度证据须来自同设备、同后端与输入条件;不能拼接 CPU 和 GPU 成绩排行。

ShuffleNetV2 Table1 ARM列:Snapdragon810,Neon单线程,56×56输入,10个双1×1块;GPU列另用batches/s。

本页说明与来源

ShuffleNetV2 v1 Table1,Snapdragon810 Neon 单线程、输入56×56、10个双1×1 block、近似等FLOPs。吞吐76.2/72.9/69.1/57.6 images/s。非完整分类器测速。 arXiv v1, 2018-07-30; ECCV 2018 · Sec.2, Table 1, Figure 3(c)

ShuffleNetV2 · ECCV 2018

留下的问题:已有模块没有固定的唯一排法:用 ConvNeXt 的代表块检查新的组织。

43 · 现代卷积块,怎样重排空间与通道计算?

ConvNeXt 2022:depthwise 空间混合、LayerNorm、通道展开与投影,再接残差。

ConvNeXt v1 · 输入、输出均为 H×W×C;LN 在当前位置跨通道输入 x保留残差路7×7 depthwise每通道空间混合LayerNorm按通道规范化Linear C → 4C逐位置通道展开GELU非线性Linear 4C → C回到原通道数分支缩放LayerScale/ DropPath+x 直接进入相加
结构机制 · 末步画面;完整展开见主讲。

从输入特征进入代表性的同分辨率ConvNeXt块:7×7 depthwise先在每个通道内混合空间,LayerNorm调整当前位置的通道值,逐位置线性层把通道从C展开到4C,经GELU后投影回C,最后与输入相加。这里的逐位置线性层可理解为通道混合;无需先学Attention。LayerNorm按一个位置的通道规范化,不是刚才BN跨batch估计统计,二者不能换名。若图中保留layer scale与stochastic depth,它们作用于残差分支,详细设置留说明。这个块改变了明确的计算顺序,但结果更好是否全来自结构?先检查训练配方。

本图是 ConvNeXt v1 代表块。GRN 是后来的 ConvNeXt V2 机制,不在此块中。

本图解释结构与计算关系;没有把构造示意标作实测结果。

采用 ConvNeXt v1 代表 block:DW7×7→LN→Linear C→4C→GELU→Linear4C→C→LayerScale→DropPath→残差加。DropPath 是训练正则,评价时不随机丢弃;主图可省略但本说明保留。

官方代码在 NCHW/NHWC 间排列;主图统一用 HWC 说明数学 shape。无末尾 ReLU。v1 不含 GRN,不能把 V2 的模块混入 v1 图。

按ConvNeXt v1 block组织;相加之后不另加ReLU。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

2201.03545v2

convnext.py

留下的问题:块的结构已经具体,接着区分结构变化与训练配方贡献。

44 · 结构变了多少,配方又贡献多少?

ConvNeXt 2022:先固定 ResNet-50 改 recipe,再读结构现代化路径。

ImageNet-1K · top-1 准确率 ↑ResNet-50 · 既有配方76.1%同结构 · 增强训练配方78.8%再按顺序逐步改结构82.0%0100%
论文报告重绘 · 非本次实测 · 末步画面;完整展开见主讲。

先固定 ResNet-50,原配方记录为76.1%,增强训练配方后为78.8%;然后按顺序调整结构,探索路径终点为82.0%。训练配方本身已带来增益,所以判断结构贡献必须先更新基线。

本页说明与来源

数值取自 A ConvNet for the 2020s(2022,arXiv v2)的§2.1及Fig.2结构探索路径。配方由90增至300 epochs,并改变优化器、增强与正则;结构终点约4.49G FLOPs。后续是累计改造路径,并非独立因素或等训练成本消融;82.1%是另一个正式模型表记录,不混入本图。

ConvNeXt · CVPR 2022

留下的问题:把真实论文比较中的限制,转成可操作的控制变量检查。

45 · 一项更高成绩,究竟支持哪一个结构判断?

固定有监督识别主题,逐项检查数据、架构、目标、计算与评价。

比较条件方案 A方案 B数据与划分相同监督图像相同监督图像结构原 block新 block训练配方旧优化/增强现代优化/增强如果 B 更好,可以把全部收益归给新 block 吗?
结构机制 · 末步画面;完整展开见主讲。

先隐藏教学配置的改变项,请大家说需要哪些信息才会相信“新结构更好”。再逐项展开:数据划分是否相同,卷积连接是否变化,分类目标是否相同,训练轮次与增强是否变了,最后评价在哪个测试集。这里不填写虚构成绩;配置表只是归因练习。如果数据和recipe也变了,我们可以说整个系统在该条件下不同,却不能单独计算结构贡献。完全正交对照做不起时,至少保留竞争解释。接着将这一纪律带回设备设计:同一模块在不同硬件下也需要重新计账。

本图解释结构与计算关系;没有把构造示意标作实测结果。

A/B配置为用于识别混杂变量的教学构造,不是实测成绩。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

留下的问题:结构比较不仅控制训练,还要明确部署硬件与模块计时范围。

46 · 空间混合的位置,改变要处理的通道数

MobileNetV4 · UIB:比较通道展开前后放置 depthwise 的计算条件。

MobileNetV4 · UIB空间大小相同;展开把通道数 C 变为 tC可选 DW空间混合 · C1×1 展开通道 C → tC可选 DW空间混合 · tC1×1 投影通道 tC → C′位置改变:处理的通道数与中间激活大小
结构机制 · 末步画面;完整展开见主讲。

沿UIB图找两个可选的depthwise位置:通道展开前或展开后,再找1×1展开与线性投影。把空间运算放在较窄还是较宽的通道上,会同时改变表示处理与算术、激活成本;这是可以具体选择的模块配置,不是一个“新版本所以更快”的结论。UIB能够覆盖几类已有块的组织方式,但候选的设备排序仍需测量。原论文的混合模型与Attention增量计时留在说明,不把该表改造成UIB单模块速度证据。模块之外,整网还可以决定做多深、多宽,以及输入多大。

本页只解释 UIB 空间混合位置。完整 MobileNetV4 还包含其他模块;模块延迟、加入 attention 部分的延迟、整网延迟不是同一测量对象。原论文详细延迟表在参考材料。

本图解释结构与计算关系;没有把构造示意标作实测结果。

各阶段的计算量、模块延迟和整网延迟分开测量;不能跨设备拼接结论。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

MobileNetV4 · ECCV 2024

留下的问题:从块内部位置选择,扩展到深度、宽度与输入分辨率。

47 · 多一份预算,花在深、宽还是分辨率?

深、宽、分辨率分别增加哪些计算?先在同一预算附近比较候选。

规模比较:层数、通道数与输入网格深度 d宽度 w分辨率 rblockblockblockblock沿计算路径增加层数每层保留更多通道每通道处理更多位置卷积计算量近似随 d × w² × r² 增长计算量 ≠ 实际延迟
机制示意 · 未运行模型 · 末步画面;完整展开见主讲。

分别比较重复层数、通道数与空间网格,辨认深度、宽度和分辨率改变的对象。卷积工作量近似随 d×w²×r² 增长,因此三个维度不能各自独立加满。EfficientNet 从选定基线出发协调扩展;系数依赖具体模型、训练条件与预算,不是普遍最优比例。相近 FLOPs 也不保证相近延迟或内存,比较前应固定要优化的指标。

本页说明与来源

EfficientNet,ICML 2019,Abstract 与复合缩放方法。图形比较规模关系,不表示论文测量值。

EfficientNet · ICML 2019

留下的问题:可选项与目标已经明确,结构选择可以成为一个可检验的搜索过程。

E · 谁来选择这张计算图

先定义空间、目标与验证协议,再比较搜索与简单基线;部署前选网仍得到固定配置。

48 · 模块与预算已有了,谁来选择它们的组合?

NAS:内层训练权重,外层依据验证表现与设备目标选择结构。

外层:在结构之间选择搜索空间可选模块 / 深宽结构提案候选网络内层:训练参数 θ数据 → 损失 → 梯度 → 参数验证 + 真实设备延迟验证选择;设备测时精度 ↔ 设备延迟:软权衡
机制示意 · 未运行模型 · 末步画面;完整展开见主讲。

固定一个候选结构后,内层用训练数据调整权重;外层根据验证表现与目标设备延迟提出下一候选。MnasNet的目标ACC×(LAT/T)^w是精度与延迟的软权衡,超过目标延迟不等于立即淘汰。研究者仍定义空间、代理、目标与预算。

本页说明与来源

按MnasNet §3、Eq.1–3、Figure3绘制循环,没有重跑搜索。验证数据参与候选选择,测试数据用于锁定方案后的最终检验。

MnasNet

留下的问题:搜索循环并未替人定义空间与目标;检查循环外仍有哪些限制。

49 · 搜索自动化了选择,哪些决定仍在人手里?

允许的结构、评价代理、硬件目标和搜索预算,共同限定最终结果。

人仍需定义自动搜索能做应加的最小对照搜索空间在允许的模块中提案同空间随机搜索评价代理较低代价估计表现代理与最终排序是否一致设备目标按目标成本优化在目标设备直接测量
机制示意 · 未运行模型 · 末步画面;完整展开见主讲。

逐行看人预先定义什么、搜索可以改变什么、该用哪个最小对照。没有放进搜索空间的模块不能被选到;低成本代理的排序也可能不同于完整训练和目标设备。判断策略是否有用,应保留同空间、同预算的随机搜索。

本页说明与来源

ProxylessNAS讨论代理与目标任务的错位,MobileNetV3结合搜索与人工改良。HPO调整超参数、NAS选择结构,二者都不能自动定义研究问题;具体选择算例留在LAB10。

ProxylessNAS

MobileNetV3

留下的问题:面对许多设备配置,追问候选能否共享训练而在部署前再选定。

50 · 每换一部设备,都要重新训练一个网络吗?

OFA 先共享训练,再按设备预算选子网;这仍是部署前的选择。

共享权重的超网部署条件深度2 / 3 / 4 个块宽度较窄 / 较宽卷积核3×3 / 5×5 / 7×7分辨率固定候选输入尺寸目标设备 + 计算预算验证表现参与选择选定子网较浅 · 较窄 · 小核输入 A、B、C 都执行这一配置
机制示意 · 未运行模型 · 末步画面;完整展开见主讲。

先指共享训练的超网:候选可以改变深度、宽度、核与输入分辨率。设备和预算确定后,结合验证表现选择部署子网。更换输入图像时,该设备仍可执行同一个固定子网,因此部署前选网与逐输入早退是不同的决策时点。

共享权重可能影响候选排序,需独立检验,不能假定等价于各子网分别完整训练。

本页说明与来源

Once-for-All §3、Figures 3–5 及 specialized model 部分。图中子网为配置例,没有对应设备的最优性测量。

Once-for-All

留下的问题:选择从部署前推进到输入到达后:先训练中间出口,再制定停止规则。

F · 网络能否按当前输入改变计算

先用早退负结果检验决策,再区分选专家、重复共享块与辅助目标更新参数。

51 · 中间出口,也需要学会做分类判断

中间出口先接受监督训练;参数固定后,再选择何时停止。

共享前端 θ₁由同一图像提取表示后续层 θ₂继续处理最终分类头损失 L₂中间分类头损失 L₁固定浅出口 / 全深度 / 动态策略
结构机制 · 末步画面;完整展开见主讲。

在骨干中间接一个浅出口,末端保留深出口。同一张有标签训练图在各出口产生分类损失,按既定权重组合后更新各自分类头与共享骨干;不是临时在一个未训练的中间向量上挑最大值。这里解释课程两出口模型的联合监督接口,不把它称作所有多出口算法的唯一训练法。训练完成后固定参数,用验证集选择停止阈值,测试只评价锁定策略。最大预测概率可以作为停止分数,却不保证正确:自信错停也要计入结果。接下来先看路径机制,再与简单静态出口比较。

LAB11使用联合监督的独立两出口模型。验证集允许的精度损失不会自动成为测试集保证;测试结果必须连同固定浅出口、全深度等简单基线报告。

本图解释结构与计算关系;没有把构造示意标作实测结果。

机制示意;详细实现与实验身份见对应 CLS / Lab。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

留下的问题:出口和停止规则有了各自训练/选择职责,才能评价按输入早退。

52 · 哪些输入值得继续计算?

多出口机制与独立 digits 实验:先理解停止规则,再检查收益。

独立实验:digits 双出口 BN 模型digits · 测试 360 张 8×8 图像策略测试准确率平均 conv/linear MAC固定浅出口95.83%2,944验证选动态95.83%3,091.73全深度97.22%20,032τ=0.50 · 含浅出口乘加
MSDNet机制示意 + LAB11保存结果 · 末步画面;完整展开见主讲。

在MSDNet式示意里,逐个追踪出口:满足停止规则才退出,未退出的样本才需要后续计算,路径为机制示意。再明确换成课程独立的两出口digits BN模型,请先预测动态是否胜过固定浅出口。验证选τ=0.5,留出360张8×8测试图上两者都是345/360、约95.83%;动态平均conv/linear MAC约3092,固定浅出口2944,全深准确率约97.22%。这次动态同准确率而成本略高,验证限制也未自动成为测试保证。数值来自保存logits的离线策略回放,没有实际跳过尾部测速,MAC只覆盖规定算子。结论限于这一模型与协议,却足以要求更复杂策略解释自己的必要性。

前3态是MSDNet式多出口机制示意,使用MNIST真实输入仅帮助识别对象,没有运行图中输入的出口路径。A/B是条件假设,不是7/2的实测置信度或难度判断。第4态明确换成LAB11独立训练的digits两出口BN模型(8×8图像,360张留出测试),阈值τ=0.50由验证选择。动态与固定浅均345/360=95.83%,MAC分别3091.73与2944;全深350/360=97.22%、20032。MAC只计conv/linear乘加且包含出口头,不计BN、激活、路由、数据搬运与排队;基于保存logits离线回放,没有真实跳过尾部测时。这一负结果仅否定当前模型和规则在准确率—MAC账上优于浅出口,不是否定动态方法普遍无用。

前三状态为MSDNet机制示意;后两状态为LAB11本地保存结果的离线策略比较,不是MSDNet复现或实测加速。

MNIST A/B图片仅为条件假设输入,图中若…则…并非这些图片实测出口。

此独立实验换成digits双出口BN模型,与前面MNIST条件机制无连续运行关系。

阈值只由验证集选择;MAC为conv/linear乘加账本,包含出口开销;离线计算两出口结果,不是真跳尾部的设备计时。

本页说明与来源

前三状态保留机制;后两状态读取LAB11真实缓存。固定浅345/360与动态345/360,平均conv/linear MAC为2944与3091.733;全深350/360。离线回放,不含实际跳过计算的计时。 arXiv v5, 2018-06-07; ICLR2018 · Sec.3, Sec.4.1, Sec.5; Figures 5/7

MSDNet

Dynamic Neural Networks: A Survey

留下的问题:从这一种早退,概括“输入决定什么”并检查额外开销。

53 · 动态的是执行选择,还是只是一个分数?

先区分输入改变哪些计算,再问有没有真正省掉后续执行。

改变路径输入分支 A跳层 / 退出分支 B更深的路径改变混合权重输入相关权重 α(x)软混合多个 kernelW(x) = Σ αᵢ(x) Wᵢα(x):输入相关;Wᵢ:固定
机制示意 · 未运行模型 · 末步画面;完整展开见主讲。

回指早退:输入影响停止位置,可能改变执行深度;也可以改变分支、专家身份或前向混合权重。α(x) 由前向计算产生,不表示对已学参数 Wᵢ 执行测试时梯度更新。

检查最小反例:门控给不同输入不同分数,但仍完整执行所有分支。路径或组合方式随输入变化,并不自动意味着少算;必须核对哪些算子真正不再执行。

本页说明与来源

Dynamic Neural Networks 综述,arXiv v4 §II、III、V、VII;2021 是综述时间,不是动态网络概念的起点。

Dynamic Neural Networks: A Survey

留下的问题:即使逻辑上跳过计算,管理与调度也可能抵消收益。

54 · 省下的前向计算,真的变成更短等待了吗?

三张图在同设备串行处理;用构造算例计入每图管理开销。

三张图,同设备串行 · 不重叠、不组批 · 总耗时(ms)固定网络10101030 ms动态前向481022 ms动态 + 管理7111331 ms假设:每图管理 +3 ms
精确教学算例 · 非模型实测 · 末步画面;完整展开见主讲。

固定同一设备串行处理三张图,不重叠、不组批。固定前向为 10+10+10=30 ms,动态前向为 4+8+10=22 ms。先请学生预测,再给每张图加入 3 ms 管理开销,总耗时变为 31 ms。前向省下 8 ms,管理却增加 9 ms,因此当前整批耗时多 1 ms。

这是构造预算,不是设备测量;它比较整批耗时,不能据此报告单请求延迟、吞吐、p95、能耗或真实组批收益。实际系统仍需测量出口、门控、搬运与调度成本。

本页说明与来源

计算值为本课教学构造;机制背景参考 Dynamic Neural Networks,arXiv v4 §II、III、V、VII。

Dynamic Neural Networks: A Survey

ShuffleNetV2 · ECCV 2018

留下的问题:从是否继续走深,扩展到当前表示只进入哪些专家分支。

55 · 有多条分支,是否每次都要全部计算?

router 用学到的参数选 top-2 专家;先看稀疏执行,再追问打分怎样接受监督反馈。

训练时:类别误差沿已执行路径反馈输入 A表示 zE₁ · θ₁输出 D 维E₂ · θ₂输出 D 维加权相加输出 D 维分类头 → L与标签 y 比较router · Wg连续权重 αα₁、α₂紫虚线:θ₁、θ₂ 与连续 α 的梯度
结构机制 · 末步画面;完整展开见主讲。

先回忆Inception:所有分支都执行,再concat。现在指router输出的分数,为同一个输入表示选出四个等形专家中的两个;只走被选路径,其余明确保持未执行。两个输出按门控权重相加,合并维度保持接口要求,不是通道拼接。换一个输入可选不同专家,但固定top-2并不意味着每张图都少算不同次数,负载与通信还会影响延迟。专家编号只是参数组身份,不未经检验叫作“猫专家”。这是教学机制类比,不表示MoE起源于Inception;视觉V-MoE可路由patch表示,具体骨干留说明。router 也是带参数的网络。训练时,类别损失不仅经过专家输出反馈到被调用的专家,也能经过所选专家的连续合并权重反馈到路由打分。这里可微的是选中集合固定时的权重变化;top-2 的专家编号跨边界会跳变,不能把硬选择画成处处可微的普通层。如果输入总挤向少数专家,训练机会与系统负载都会失衡。推理时使用已学到的固定参数选路,并不为这张图重新训练 router。

除了选哪条路,还能让同一个块多做几轮吗?

分数与0.731/0.269为明确top-2构造例,不是训练专家的实測输出。固定k换专家身份不必然减少调用数或乘加;真实速度还受负载均衡、容量、通信与调度影响。

本图解释结构与计算关系;没有把构造示意标作实测结果。

本页通用构造采用 top-k 后 softmax,并省略训练噪声;四分数和选择是精确构造,不是语义专家实测,不给专家命名猫/车等未经检验语义。

V-MoE(2021)路由的是 patch 表示,且先 softmax 后 top-k,所选权重不必和为1;详细架构留后续。固定 k、固定 patch 数且不丢 token 时,专家身份变化并不自动使每图运算数变化。

混合专家至少可追溯到1991;2017稀疏专家层是代表性现代机制。参数容量、每次激活运算与实测延迟分别评价。

训练展开回到输入 A,沿用相同构造分数,未展示训练后数值或专家语义。图中紫色虚线表示链式法则的两条反馈路径;分类头也接受监督训练。所选集合固定时 α=softmax(s_selected),任务梯度可通过 α 到 Wg;不把离散编号求导。精细推导、k>1 的条件、importance 与 load 的差别见 CLS07。依据 Shazeer 等 2017 §2.1、§4、附录 A;原文还含噪声门控与平滑负载估计,本图省略。

top-2分数和0.731/0.269是精确构造,推理参数固定;不是模型实验结果。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

1701.06538v1

2106.05974v1

jjnh91.pdf

留下的问题:从选择参数组,转向重复使用同一组参数处理当前状态。

56 · 参数不增加,同一个块能否多做几轮?

并排比较独立多层与共享 block 循环:权重标记不变,中间状态逐轮变化。

不同参数:逐层计算block θ1各自保存参数block θ2各自保存参数block θ3各自保存参数同一参数:多次调用共享 block θh0 → h1共享 block θh1 → h2共享 block θh2 → h3
结构机制 · 末步画面;完整展开见主讲。

先指左边的独立多层,层与层有各自参数;再看右边循环,每次调用同一个fθ,h₀变h₁、再变h₂,θ的标记始终相同。这是反复计算得到新状态,不是权重在学习。相较独立展开层,共享可以减少存储的参数,但多跑一轮仍增加运算和等待;若每张图固定相同轮数,也不自动变成按输入自适应。图中使用通用计算块,不要求先懂Transformer。近期语言模型的recurrent-depth结果只作架构延伸阅读,不当成本课视觉实测。再进一步:若希望参数也依据当前输入调整,反馈从哪里来?

共享循环图是机制构造;语言模型研究仅用作同参数多次执行的例证,不据此宣称本讲视觉任务的收益。固定迭代轮数和根据输入自适应停止是不同设计。

本图解释结构与计算关系;没有把构造示意标作实测结果。

示意接口 h(r+1)=Bθ(h(r)),每轮 shape 相同。Huginn(2025)是共享核心的近期语言模型例子,只在这里作架构延伸,不引用它作为视觉分类性能证据。循环思想早于2025。

DeepLoop(2026-07首版,2026-08 v2)研究反复访问共享参数后的训练稳定性与缩放;只作延伸阅读,不展开另一套 Transformer 推导。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

2502.05171

2607.13491v2

留下的问题:区分状态迭代与参数更新,再为参数更新寻找训练时准备好的辅助反馈。

57 · 若允许现场更新,反馈能从当前图像产生吗?

原始视觉 TTT:训练时已联合准备分类头与辅助头,测试时再用辅助目标更新共享部分。

更新后:回到原图,检查类别预测原测试图 x测试类别未知共享提取器 fθ′参数已更新分类头 hφ · 固定原图 → 类别分数辅助头 gψ · 固定本步不执行
结构机制 · 末步画面;完整展开见主讲。

源训练先联合准备共享提取器、分类头和旋转辅助头。测试类别未知,但施加的旋转操作提供已知标签;辅助损失只更新选定共享参数θ,两只头固定,随后回到原图输出类别分数。辅助任务改善不能代替分类评价,要与同一源模型不更新的预测比较。

本页说明与来源

按原始视觉TTT(2019预印本/ICML2020)的单样本协议绘制;每张输入从源参数重置,在线继承更新是另一协议。类别评价标签不参与辅助更新或选参。Tent使用熵目标与规范化仿射更新;TTT layers把小模型权重作为序列状态,问题设置不同。本图没有新增TTT运行结果。

sun20b.html

sun20b.pdf

1909.13231

2407.04620v1

2604.06169v1

留下的问题:把部署选网、选路径、重复计算与参数更新放到同一对象表中比较。

58 · 选计算图、走一条路、多做几轮,还是更新参数?

以固定网络为基线,比较四类变化:部署选网、动态执行、共享块循环与测试时学习。

动作主要改变什么测试反传?部署前选网固定子网与预算否早退 / 稀疏路由本次深度 / 专家身份通常否共享块循环中间状态与执行轮数否(本页固定权重)视觉 TTT选定共享参数 θ是,辅助目标
结构机制 · 末步画面;完整展开见主讲。

请逐行指出变化发生的时点和对象。固定网络沿同一图计算;OFA在部署前选定子网;早退与稀疏路由在当前输入到来后选择深度或分支;Loop反复调用共享参数而改变中间状态;视觉TTT利用辅助反馈执行选定参数的更新。前三类推理选路和Loop不因定义本身就需要测试时反传,TTT则明确付出反馈与更新成本。相同参数量不等于相同执行量,动态也不自动比固定模型先进。把这些差异变成一个可以失败的结构实验,而不是按新旧方法名排队。

本图解释结构与计算关系;没有把构造示意标作实测结果。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

Once-for-All · ICLR 2020

视觉 Test-Time Training · ICML 2020

Sparsely-Gated Mixture-of-Experts · 2017

Scaling up Test-Time Compute with Latent Reasoning · 2025

Learning to (Learn at Test Time): TTT Layers · 2024

留下的问题:只选择一个变化对象,写出简单基线与能够否定方案的结果。

59 · 好的研究判断,来自值得解释的现象与能区分解释的比较

ResNet 与 ConvNeXt:什么比较排除了什么解释,又留下什么未知?

ResNet:从训练异常出发ConvNeXt:排查比较条件原先的判断层数更多,至少应该不差原先的判断排名差距是否来自结构?异常与改变plain 深网训练更差 → 学习残差替代解释同结构换配方,成绩已经改变比较排除什么同深度比较,排除层数变化这一解释比较排除什么先控制配方,再讨论结构贡献
末停点;逐步展开见主讲。

ResNet团队观察到更深plain网络连训练误差也更高,因此仅说表达能力更强不够;残差参数化提出可检验的优化方向。原位置的训练现象与同深度验证对照各自承担证据,不能说解决所有梯度问题。ConvNeXt团队先更新ResNet-50训练配方,随后研究结构,提醒我们先建立强基线;累计路径不是每因素独立因果。课程参考的Impact、Priority、Edge、Incremental可理解为谁受益、机会与已有工作、自己的优势、可推进的里程碑;Priority不是必须抢先,Incremental不是只做微小增量。

ResNet的训练行为和同深度验证对照承担不同证据:验证表不能单独解释优化。ConvNeXt同结构更新配方先建立强基线,随后累计结构改造不等于每因素独立因果。以排除哪项解释来选择比较,而不是凭团队声望或方法年代。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

留下的问题:下一页:把“早退应该更快”写成一个能够失败的研究判断

60 · 把“早退应该更快”写成一个能够失败的研究判断

研究设计示例:在指定设备和精度约束下,检验早退能否减少实际等待。

问题与判断指定设备、精度约束内,早退能否减少等待?待检验:同时满足预先约定的精度与延迟目标。对照与观察同设备、输入、batch、环境和划分;验证选阈值。比较完整路径与真实跳过路径,记录退出比例与目标延迟。反证与里程碑精度不达标,或少算却未更快:方案不成立。先完成一台设备、一种规则的闭合比较,再扩大条件。
末停点;逐步展开见主讲。

沿已填写示范,打开自己的研究卡 ↗

先约定准确率约束及平均或尾延迟指标。同一设备、输入、batch、环境和数据划分下,比较完整静态网络与真正跳过后续层的实现;阈值仅由验证集确定。观察精度、退出比例、实际延迟和调度开销,不能只报 FLOPs。

未达到精度约束,或计算计数减少却没有改善目标延迟,方案即不成立。首个里程碑先固定一个设备和一种退出规则完成比较,再改变输入分布、batch 或硬件。

本页说明与来源

本页为待验证研究设计。LAB11 保留的是历史离线回放,与真实跳过执行和设备计时不同;没有把该计划写成新结果。研究问题和首个里程碑的组织参考 AI-Sys Spring 2019 Lecture 1。

AI-Sys Spring 2019 Lecture 1 · 选题与首个里程碑

留下的问题:下一页:先替换一个条件,再提出你自己的可检验问题

61 · 从 batch 1 到 32,早退还会带来同样的收益吗?

只改变推理 batch;固定设备、模型、阈值和输入集合,提出一个待检验预测。

同设备 · batch=1完整路径 ↔ 真正跳过后续计算只改推理 batch=32同一模型、数据、阈值与精度约束机制预测 · 待检验共享执行更高效,但分组与重排可能抵消早退收益。反例条件若目标延迟仍下降且精度满足约束,收益就被保留下来。
末停点;逐步展开见主讲。

沿已填写示范,打开自己的研究卡 ↗

学生不必当场填四个空框。先沿教师示范选一个变化,例如batch、输入分布或设备;说清为何可能改变早退收益,什么比较能检验它,以及什么结果使判断不成立。完整填写进入连续讲义,保留原草稿。收尾回到六章:连接规定计算、训练学习参数、条件与输入决定哪些计算值得执行。表示如何迁移到新任务留第三讲。

这是待检验的机制预测。batch 1改为32且退出比例相同,不保证延迟收益相同:一批内早退/继续样本混合后,剩余计算可能变成较小批次,或需要重组与调度。反向预测是若实现能够高效压紧、重组继续样本,或固定开销被摊薄,收益可能保留甚至增大。先固定设备、模型、阈值、输入集合、运行环境与计时范围,使用同一指标分别比较固定全深与真实早退。没有新测量,不给结果数字。保留历史route与已有草稿入口;第三讲接表示复用。

本页说明与来源

机制关系依据所列来源重绘;图中的构造数字与已有实测记录分别标明。

CS231n 2026 · CNNs

CS231n 2026 · CNN Architectures

Long et al. · Fully Convolutional Networks (2015)

留下的问题:停留讨论;课后填写研究卡,第三讲继续表示与多模态。

62 · 学会分类之后,网络里的表示还能做什么?

从识别整张图,到找到物体、分清像素与实例。

图像骨干网络视觉表示新任务3D空间结构与几何关系Video连续变化与时间对应学习这些表示,必须依靠类别标签吗?
末停点;逐步展开见主讲。

这一讲我们主要把网络本身弄清楚:怎样连接、怎样训练、怎样分配计算。但分类只是读出方式之一。请先看图像经过骨干网络后留下的表示,再看右侧的任务:找到物体、分清像素、区分实例,需要保留的位置和细节并不相同。三维空间和连续视频还会增加空间关系与时间对应的要求。下一讲会讨论已经学到的表示怎样复用,也会补上类别标签之外的学习方法。我们不预设任何已有表示换一个头就足够;是否有用要由新任务检验。

无监督/自监督是学习表示的途径,并非“可迁移”的同义词;有监督训练的表示也可能迁移。检测、语义分割与实例分割按输出需求比较,不是彼此替代的历史。SAM 可以连接可提示分割与视觉基础模型,其原始数据线索是 SA-1B,不是 LAION。

本页说明与来源

自然图像由 ImageGen 原创生成,描绘木桌上的蓝色与橙色杯子。框、轮廓与掩码按图像人工绘制,用于定义输出任务,不是模型预测。语义态同色表示杯子类别,实例态用颜色与编号区分两只杯子;所有状态复用同一幅图。

SAM · Segment Anything

留下的问题:如果不只用固定类别,而是用一句话描述或提问呢?

63 · 文本加入之后,视觉系统能回答什么新问题?

Lecture 03 · 可迁移表示与多模态感知

同一幅图像图像 + 语言问题 → 回答蓝色杯子在橙色杯子的哪一侧?视觉信息左侧打开 Lecture 03 ↗
末停点;逐步展开见主讲。

我们还可以不只用固定类别提问,而是用语言:这张图和哪句话对应?这句话说的是哪个物体?模型怎样结合画面回答问题?第三讲会从学习信号与迁移出发,经过检测、分割以及空间和时间,最后来到视觉与语言的结合。我们要理解能力从什么数据、什么训练任务中学出来。文生图会在这里建立联系,但它还需要把条件变成图像的生成模型。

CLIP 联合学习图像和文本表示,本身不是图像生成器;原始论文使用自建 WIT 图文对,不是后来发布的 LAION-5B。GLIP 将检测与短语 grounding 联系起来,可用于解释整图对应怎样走向区域对应。LAION-5B 是大规模图文数据的例子,不能把所有多模态能力归因于同一数据集。图文对齐、区域 grounding、视觉问答与文本条件生成有关联,但训练目标及输出能力不同。

本页说明与来源

自然图像与前页相同。描述、区域框和“左侧”的回答均为教师编写的任务示例,没有调用模型、评测成功率或生成新的实验结果。论文链接集中用于说明学习问题与事实关系。

CLIP · Learning Transferable Visual Models From Natural Language Supervision

GLIP · Grounded Language-Image Pre-training

SAM · Segment Anything

LAION-5B · An open large-scale dataset

留下的问题:第三讲将追问:这些能力来自什么数据与训练任务?