连续讲稿 · 可迁移表示与多模态感知

这是保留的厚材料,超出本轮课堂范围。查看分层去向与课堂返回。

按三部分连续阅读。图解显示每页最终状态;打开主讲可逐步推进。本页解释、数值和主讲来自同一份内容定义。

I · 从标签到自监督与规模化训练

可迁移表示与多模态感知

网络学到的视觉表示,怎样变成可复用、可指定、可检验的能力?

左右滑动查看完整图解 ↔

从学习信号出发走向区域与语言I 表示怎样学出来?II 怎样找到位置和边界?III 语言怎样参与视觉任务?Coding with AI · 王德泉 · 2026 秋
先改变学习信号,再改变输出要求,最后让语言指定任务。 在主讲中查看这一停点 ↗

第二讲让我们看到,网络怎样把像素变成表示,并根据预测误差更新参数。今天先问:训练答案一定要逐张人工标注吗?接着问:学到的表示能不能指出每个物体在哪里、轮廓是什么?最后再问:如果任务由一句话来指定,视觉表示怎样和语言一起工作?我们一直在改动同一个系统里的学习信号、任务输出和使用接口。这是问题的递进,不是唯一的技术年代链。

三道问卷分别用增强选择、空间信息与关系证据支持讨论。实验可只阅读已保存的结果,不新增必交编码任务。第四讲把生成分布、训练与采样作为研究对象,连接图像、文本、视频与 3D;第五讲系统展开 attention、Transformer 与上下文。

逐步查看本页
  1. 先改变学习信号,再改变输出要求,最后让语言指定任务。

接到下一页:我们已经会更新网络,答案从哪里来?

我们已经会更新网络,答案从哪里来?

保留第二讲的训练闭环,把注意力转向目标的来源。

左右滑动查看完整图解 ↔

同一张图像视觉编码器类别分数损失类别标签:杯子误差反馈 → 更新同一组参数
网络还在,今天先追问:这些训练答案由谁提供? 在主讲中查看这一停点 ↗

第二讲已经建立了从图像、表示与类别分数,到损失和参数更新的关系。本页保留这个闭环,只改变问题焦点:训练中的答案从哪里来?一张图不会自动附带所有任务需要的监督。类别判断、框坐标与像素掩码是不同的信息,改变任务往往要重新组织目标。所谓减少标注,不是取消预测、损失与更新,而是尝试让部分目标能够从已有数据中构造。这一变化使我们有机会使用更大规模的数据,但也引出新的选择:构造什么问题,训练会偏向什么信息,得到的表示又能用于哪些任务?接下来先看人工监督怎样被组织。

逐步查看本页
  1. 图像经过编码器,变成表示与类别分数。
  2. 人工标签进入损失,预测误差推动参数更新。
  3. 网络还在,今天先追问:这些训练答案由谁提供?

接到下一页:同一张图,三种答案需要三种判断

同一张图,三种答案需要三种判断

类别、位置与边界,对监督的要求不同。

左右滑动查看完整图解 ↔

同一场景 · 改变所需输出语义分割杯子 · 同一个类别杯子 · 同一个类别书 · 类别同类像素使用同一标签只标可见轮廓;遮挡后仍保持实例身份
指出哪些像素属于它:描出精细轮廓。 在主讲中查看这一停点 ↗

先看需要人做出的具体判断,再讨论标注成本。类别标签告诉模型这张图主要是什么;边界框要求指出对象在什么范围;掩码还要逐步判断轮廓与遮挡。三者不能简单互换,而且任务定义、边界模糊的处理和检查标准都会影响答案质量。图像数量增加时,需要被协调的不只是点击次数,还有一致的规则与质量控制。这不意味着人工监督没有价值。相反,明确任务要求的判断经常是训练与评价的重要资源。问题在于:哪些目标必须专门制作,哪些可以利用数据本身已有的结构得到?两条路线可以同时发展。

逐步查看本页
  1. 判断它是什么:给图像一个类别。
  2. 找到它在哪里:标出一个边界框。
  3. 指出哪些像素属于它:描出精细轮廓。

接到下一页:把人工判断组织成可调用的服务

把人工判断组织成可调用的服务

Scale 的 2016 年故事,呈现监督供给的另一种改进。

左右滑动查看完整图解 ↔

2016 · Lucy Guo 与 Alexandr Wang让人的判断变成可调用的服务任务请求人员组织+质量检查返回答案:抽取/电话/分类应对同一个监督瓶颈的两条路线把人工判断组织得更好从已有数据构造部分目标
人的判断可以组织得更有效;已有数据也能提供一部分训练答案。 在主讲中查看这一停点 ↗

Scale 的早期工作把人的任务、组织与质量控制变成可调用的服务。2016 年的同期访谈介绍了 Lucy Guo 与 Alexandr Wang 两位共同创始人,业务包含数据抽取、电话任务和分类。这里关注监督供给:数据越来越多,任务规则、分发与检查也需要可扩展的组织。一条路线是把人的判断组织得更有效;另一条路线是重新设计训练任务,让已有数据提供一部分答案。我们先借文字看看后一条路线怎样成立。

逐步查看本页
  1. 2016 年,Lucy Guo 与 Alexandr Wang 共同介绍 Scale 的人工任务接口。
  2. 任务需要被定义、分发和检查;数据抽取、电话任务与分类都可以这样组织。
  3. 人的判断可以组织得更有效;已有数据也能提供一部分训练答案。

接到下一页:一条路线把人的判断组织得更有效;另一条重新设计任务,让已有数据提供一部分答案。先借文字看看它怎样成立。

一段原文,可以产生许多预测题

原文先切成模型处理的小单元 token;本页用词块展示条件与答案。

左右滑动查看完整图解 ↔

原文:The red cup is on the table.The0red1cup2is3on4…5…6…7位置只读取当前 token 左侧及当前位置训练目标:the每个前缀都可构成一个输入,原文后续词就是答案。token+位置 → 上下文处理 → 词表分数;第 5 讲再展开内部注意力
继续移动预测位置;同一段原文提供许多个训练答案。 在主讲中查看这一停点 ↗

沿用桌面场景的句子 The red cup is on the table.。图中的词块是便于阅读的教学分词,token 的实际划分取决于 tokenizer。看到 The red cup 时,原文中的 is 提供目标;前缀扩展后,on 成为下一目标。模型输出候选 token 的分布,预测与原文比较,通过损失更新参数。同一段文字于是提供多个训练位置。自然语言承载人的表达与选择;这里减少的是逐位置另行编写标签的需要。下一页保留同一句话,只改可见条件。

逐步查看本页
  1. 原文 The red cup is on the table.:看见 The red cup,目标为 is。
  2. 条件扩展到 The red cup is,目标成为 on。
  3. 继续移动预测位置;同一段原文提供许多个训练答案。

接到下一页:遮住中间一个词,可见的条件就变了

遮住中间一个词,可见的条件就变了

从左预测下一个,与利用两侧上下文补词,是不同任务。

左右滑动查看完整图解 ↔

原文:The red cup is on the table.The0red1[MASK]2is3on4the5table6.7位置读取左右已见 token 的上下文目标:cupBERT 式遮词:目标位置可以利用左右上下文。token+位置 → 上下文处理 → 词表分数;第 5 讲再展开内部注意力
BERT 式遮词与从左到右预测,构造了不同的条件。 在主讲中查看这一停点 ↗

BERT 的遮词目标允许被预测位置使用左右上下文,因此不能把它描述成普通从左到右的预测器。课堂用一个被遮住的词说明这种条件差异;原始 BERT 实际选取部分 token 作为预测位置,并混合使用 mask、随机替换和保留原 token 的处理。这个单词遮挡例子说明了条件范围的差异,并不等于原始 BERT 的完整训练配方。两种语言任务都能从已有文本得到答案,学习到的表示与使用方式却不完全相同。我们将在第五讲进一步讨论 attention 如何处理上下文;眼下先掌握 token、位置和可见范围三个接口事实,就能继续理解后面的学习机制。

逐步查看本页
  1. 把 cup 的位置遮住;The red 与 is on the table. 仍然可见。
  2. 目标 cup 来自原文,这次允许读取左右两侧的上下文。
  3. BERT 式遮词与从左到右预测,构造了不同的条件。

接到下一页:回到从左到右预测:输出成为下一步条件

回到从左到右预测:输出成为下一步条件

一个输出 token,成为下一步条件;这里使用前文,不是 BERT 的双向遮词。

左右滑动查看完整图解 ↔

从左到右使用:从当前条件开始当前条件Theredcuptoken+位置 → 上下文处理下一个 token 分布候选示意:is、sits、…本步选出:is下一步条件:The red cup is把刚选出的 token 接入,再继续预测;这里是机制示意。
选择一个 token 接回前文,再继续预测。 在主讲中查看这一停点 ↗

这里展示的是自回归语言模型的训练与使用接口,它与 BERT 利用两侧上下文的遮词任务具有不同的条件组织。训练时,已有文本允许我们比较预测和目标,并调整模型参数;普通推理时,未来原文并不在手中,模型根据当前上下文给出下一个 token 的分布。选出的 token 加入条件后,下一步继续计算。Transformer 的输入以 token 表示,位置参与计算,可见范围决定每个输出能使用哪些上下文。本讲不推导注意力内部结构,只保留这些必要接口。目标能够大量产生之后,新的现实问题是:怎样在预算中真正完成这些训练计算?

逐步查看本页
  1. 回到自回归目标:训练时用前文预测原文中的下一个 token。
  2. 使用时只有当前条件:得到下一个 token 的概率分布。
  3. 选择一个 token 接回前文,再继续预测。

接到下一页:参数、数据与训练量,要一起分配

参数、数据与训练量,要一起分配

扩大模型值得研究,也要看同一份预算还能做什么。

左右滑动查看完整图解 ↔

给定训练预算,怎样分配?模型容量参数并非越多越好有效数据看过多少不同且相关的样本训练计算每个样本算几次、算多深数据质量重复、噪声和覆盖范围
Chinchilla:70B 参数、约 4 倍训练数据,与 280B Gopher 使用相同训练计算预算。 在主讲中查看这一停点 ↗

Chinchilla 是一个用于建立问题意识的历史实证:论文在给定训练计算预算下联合研究参数量和训练 token 数,并训练了参数较少、读过数据更多的模型进行验证。这里采用论文中 70B 与 Gopher 280B、约四倍训练数据的比较,不把“参数更多”当成质量必然更好的解释。研究结论依赖其数据、模型与训练条件,也不能直接当作任何任务或包含大量推理成本时的固定最优比例。我们要带走的是决策方式:参数、数据量、训练量与数据质量需要共同考虑。预算分配之后,还要面对内存与通信约束;下一页让同一训练步骤在两张卡上真正走通。

逐步查看本页
  1. 只扩大参数,读过的数据与训练量可能跟不上。
  2. 固定计算预算,可以比较“大模型少训练”与“较小模型多训练”。
  3. Chinchilla:70B 参数、约 4 倍训练数据,与 280B Gopher 使用相同训练计算预算。

接到下一页:两张卡处理不同数据,更新同一组参数

两张卡处理不同数据,更新同一组参数

每张卡各算局部反馈;汇总之后再同步更新。

左右滑动查看完整图解 ↔

每卡 2 个有效样本 · 同一模型副本 · 局部损失均取样本均值设备 1不同数据:样本 A、B新参数 θ = [0.6, 1.8]局部梯度 g1 = [2, 4]设备 2不同数据:样本 C、D新参数 θ = [0.6, 1.8]局部梯度 g2 = [6, 0]梯度平均 = ([2, 4] + [6, 0]) / 2 = [4, 2]θ′ = [1, 2] − 0.1 × [4, 2] = [0.6, 1.8]
两张卡使用相同汇总反馈,得到一致的新参数。 在主讲中查看这一停点 ↗

本页的向量和参数都是确定性的教学算例,用来核对数据、参数与反馈的身份。两张卡保存同一模型的副本,但各自读取两个不同样本;局部损失均按样本平均,所以两份梯度可以等权平均。通信步骤可用 All-Reduce 汇总,平均还需要按实现约定缩放,不能把通信完成理解为分母自然正确。有效样本数不同或损失归一化方式不同,需要重新考虑权重。如果不汇总而让各卡独自更新,它们下一步就不再从相同参数出发。数据并行让不同数据的计算共同服务一个逻辑模型,但每张卡仍需放下自己的训练状态,这就引出下一页的内存问题。

逐步查看本页
  1. 两张卡都从 θ=(1,2) 出发,各读取 2 个不同样本。
  2. 前向与反向后,局部平均梯度为 (2,4) 与 (6,0)。
  3. 对同一参数位置求平均:ḡ=((2+6)/2,(4+0)/2)=(4,2)。
  4. 学习率 0.1:θ′=(1,2)−0.1×(4,2)=(0.6,1.8)。
  5. 两张卡使用相同汇总反馈,得到一致的新参数。

接到下一页:放不下时,把常驻训练状态分摊开

放不下时,把常驻训练状态分摊开

参数与梯度、优化器状态可以分片;计算时仍需要通信。

左右滑动查看完整图解 ↔

同一逻辑模型:各设备常驻不同分片设备 1权重 W · 分片 1梯度 g · 分片 1一阶矩 m · 分片 1二阶矩 v · 分片 1计算后释放临时权重梯度归并 → 自己的分片更新负责的 W、m、v设备 2权重 W · 分片 2梯度 g · 分片 2一阶矩 m · 分片 2二阶矩 v · 分片 2计算后释放临时权重梯度归并 → 自己的分片更新负责的 W、m、v常驻:每张卡保留权重、梯度和优化器状态的一部分。Reduce-Scatter:归并并分摊梯度,各卡更新对应状态。节省重复存储,也增加通信;分片不等于其他内存开销消失。
少存重复状态的代价,是前后向中的数据交换。 在主讲中查看这一停点 ↗

普通数据并行在各卡重复保存模型相关状态,单卡放不下时,需要进一步分摊常驻权重、梯度与优化器状态。当前层计算前,各卡临时取得所需权重;反向后汇总对应梯度,再更新负责的分片。All-Gather 让计算得到需要的权重,Reduce-Scatter 把汇总后的梯度交还负责的设备。交换发生在真实计算前后,节省重复存储也增加通信成本。Adam 的一阶矩 m、二阶矩 v 是要保存的状态,β₁、β₂ 是控制衰减的超参数。激活和临时缓冲仍需内存,完整资源估算还要看精度与执行策略。

逐步查看本页
  1. 训练要保存权重、梯度、优化器状态,以及激活与临时缓冲。
  2. 各卡分别持有一部分参数、梯度和优化器状态,减少重复存储。
  3. 当前层计算前临时取得所需权重;反向汇总后,各卡更新负责的分片。
  4. 少存重复状态的代价,是前后向中的数据交换。

接到下一页:回到图像,先决定让它学什么

回到图像,先决定让它学什么

计算让更多训练成为可能,却不会替我们决定图像里应该学什么。

左右滑动查看完整图解 ↔

同一图像,重新设计可预测的东西相关视图:哪一个与当前图像对应?隐藏图块:被遮住的像素是什么?Context Encoders · 2016视觉补全的研究早于 BERT。
目标一变,模型被鼓励保留的信息与计算组织也随之改变。 在主讲中查看这一停点 ↗

语言序列提供了清楚的预测顺序,图像却需要重新设计任务:可以预测被隐藏的内容,也可以寻找同一原图的另一种观察。两者都利用已有数据构造目标,但对表示提出的要求不同。视觉补全自监督并非在 BERT 后才出现,Context Encoders 在 2016 年已经以周围区域预测缺失图像内容,并研究表示迁移。本讲不展开早期拼图、旋转、着色等完整方法史,而选择两项可讲透的机制:先用对比学习观察视图与候选,再用 MAE 观察遮挡与计算组织。选择目标不是完成了研究,它只是提出一个可被训练与下游实验检验的假设。

逐步查看本页
  1. 同一原图构造两个视图,可以定义一组对应关系。
  2. 隐藏图块,则把已有像素作为要预测的目标;视觉补全早于 BERT。
  3. 目标一变,模型被鼓励保留的信息与计算组织也随之改变。

接到下一页:在候选中,找到同一原图的另一种观察

在候选中,找到同一原图的另一种观察

同图视图给出正配对;其他图像提供比较候选。

左右滑动查看完整图解 ↔

查询视图 q对应视图 k+0.8另一图像 k₁0.3另一图像 k₂−0.2相似度 → softmax → 正配对的损失不同图像也可能语义相同;候选身份不等于类别。
相似度进入匹配损失,让正确配对获得更高相对分数。 在主讲中查看这一停点 ↗

实例对比学习把同一原图的两个增强视图定义为正配对,并把其他原图的特征用作比较候选。匹配分数通过损失参与反馈:模型不仅让一对向量接近,还要在候选集合中区分对应对象。这里的配对与分数关系用于解释机制,并非本轮模型实测。来自不同图像不等于语义类别一定不同,候选中可以出现另一张同类物体的图。增强选择也不是纯粹的预处理,它规定了哪些变化后仍应相关,影响模型寻找的线索。接下来 MoCo 要解决的是一个计算问题:怎样在当前批次较小时仍拥有较多候选,同时保持历史特征足够可比?

逐步查看本页
  1. 对同一原图构造两个视图,明确它们的共同来源。
  2. 把另一个视图与其他图像的特征一起放入候选集合。
  3. 相似度进入匹配损失,让正确配对获得更高相对分数。

接到下一页:MoCo:让候选字典跨越当前批次

MoCo:让候选字典跨越当前批次

队列保存算好的特征,扩大候选而不重算全部原图。

左右滑动查看完整图解 ↔

当前批次:2 张图查询 q₁、q₂正 key:k9、k10与正 key、历史候选比较历史特征队列 · 容量 8k3k4k5k6k7k8k9k10k9、k10 入队;队列恢复 8 个候选,供下一批使用。保存的是已算出的特征;队列不在每一轮重编码原图。
当前 2 个新 key 入队,八槽队列继续供下一批使用。 在主讲中查看这一停点 ↗

MoCo 的队列保存已经编码的 key 特征向量,不是每轮重新经过网络的原图。当前 query 与同图 key 构成正配对,历史队列提供负候选;完成这一轮比较后,最旧批次特征退出,当前批次特征进入。八槽、每批两个是便于追踪身份的教学构造,实际队列规模由训练设置决定。这种设计使字典大小不必与当前小批次大小绑定,也使候选来自不同训练时刻。新的问题因此出现:历史特征由过去的编码器产生,如果编码方式改变太快,当前 query 和旧 key 还能顺畅比较吗?下一页的缓慢参数更新专门处理这一问题。

逐步查看本页
  1. 每批 2 张图:当前 query 与对应 key 匹配,并读取 8 个历史候选。
  2. 本轮匹配后,最旧的 2 个特征退队。
  3. 当前 2 个新 key 入队,八槽队列继续供下一批使用。

接到下一页:查询编码器学得快,键编码器缓慢跟随

查询编码器学得快,键编码器缓慢跟随

梯度更新与参数移动平均,是两条不同的路径。

左右滑动查看完整图解 ↔

查询视图查询编码器 θqq对比损失键视图键编码器 θkk+历史 key 队列损失梯度只更新查询编码器θk ← m θk + (1−m) θq旧 θk=2,新 θq=4,m=0.9 → θk=0.9×2+0.1×4=2.2平均的是参数;历史特征保持原值,键编码器缓慢变化。
旧队列不重编码;缓慢变化让不同批次的特征更可比。 在主讲中查看这一停点 ↗

MoCo 用查询编码器的参数对键编码器做指数移动平均。它与优化器对梯度使用 momentum 是两件事:查询编码器接受损失梯度,键编码器接收的是参数平均。给定旧键参数 2、已更新查询参数 4 与课堂 m=0.9,新键参数为 2.2;这个一维例子只展示变化速度,原论文默认实验使用 m=0.999。参数平均不会重新计算队列里的历史特征,也不使过去与现在的编码器完全一致,而是减缓两者差异。MoCo 2019 年已有预印本、2020 年会议发表;稍后出现的 SimCLR 将帮助我们比较另一种候选组织与投影设计。

逐步查看本页
  1. 损失梯度更新查询编码器 θq;键路径不接收这条梯度。
  2. 键编码器使用 θk←mθk+(1−m)θq。
  3. 教学值:旧 θk=2,新 θq=4,m=0.9,得到新 θk=2.2。
  4. 旧队列不重编码;缓慢变化让不同批次的特征更可比。

接到下一页:投影后的 z 用于学习,投影前的 h 可以迁移

投影后的 z 用于学习,投影前的 h 可以迁移

x→f→h→g→z;损失在 z,反馈仍回到 f。

左右滑动查看完整图解 ↔

冻结编码器 fh少量标签 → 线性读出训练完成后,迁移读取投影前的表示移开投影头 g;损失空间与迁移表示分工。MoCo v2 后续借鉴投影头与增强设计,同时保留历史队列。
MoCo v2 后续吸收投影头与增强设计,保留队列机制。 在主讲中查看这一停点 ↗

SimCLR 的框架明确分开编码器表示 h 与投影表示 z。对比损失在 z 上计算,但梯度通过 g 继续传向 f,因此投影头并没有把编码器保护在训练之外。论文的迁移评估可以读取 h,而非要求所有任务都读取 z;这为两层表示承担不同角色留出空间。它的候选主要来自当前大批次,与 MoCo 的历史队列有不同计算条件。时间关系也应清楚:MoCo 先于 SimCLR 公开,随后 MoCo v2 吸收 MLP 头与更强增强,是跨工作借鉴而非倒序修复。投影头在 ImageNet 的实证作用,稍后还需要结合涂装任务重新判断。

逐步查看本页
  1. 同图两个视图经过共享编码器 f,得到表示 h。
  2. 投影头 g 把 h 变为 z,当前批次的 z 参与对比损失。
  3. 训练后可以移开 g,冻结 f,从 h 训练一个线性读出器。
  4. MoCo v2 后续吸收投影头与增强设计,保留队列机制。

接到下一页:MAE:只编码可见块,再回到完整位置

MAE:只编码可见块,再回到完整位置

16 个位置保留 4 个;隐藏的 12 个位置提供训练目标。

左右滑动查看完整图解 ↔

保留 4 块,隐藏 12 块0123456789101112131415编码器只输入可见块+位置h0h3h9h14恢复完整输入位置h0MMh3MMMMMh9MMMMh14M4 个 h +12 个 M轻量解码器预测位置槽(非实测重建)0123456789101112131415原图中隐藏块的像素目标只比较 12 个隐藏位置位置与数量为教学构造;没有展示真实模型的像素预测。
预测与原图对应块比较,损失只计算在隐藏位置。 在主讲中查看这一停点 ↗

MAE 的关键不仅是遮住再补回,还包括不同阶段的计算组织。大编码器只处理可见 patch,隐藏块在这一阶段被移除;到解码器阶段才加入 mask token,并恢复完整的位置对应。解码器预测像素目标,损失计算在隐藏位置。这里固定十六个位置、可见四个,是机制演示。图块、预测位置与目标之间的对应关系用于说明计算流程,不代表一次真实模型训练的重建结果。四分之一的输入 token 不等于整套训练恰好节省四分之三计算,因为解码器和其他步骤仍有开销。迁移时,主要复用已经学到的编码器。

逐步查看本页
  1. 原图分成 4×4 图块,位置编号为 0–15。
  2. 固定保留 0、3、9、14,隐藏其余 12 块。
  3. 编码器只接收这 4 个可见图块及其位置信息。
  4. 轻量解码器在完整位置上接收可见表示与 12 个 mask token。
  5. 预测与原图对应块比较,损失只计算在隐藏位置。

接到下一页:学习目标,也在决定计算花在哪里

学习目标,也在决定计算花在哪里

当批视图、历史特征、可见图块,组织出不同的训练。

左右滑动查看完整图解 ↔

目标怎么设定,会改变计算怎样组织SimCLR同批次视图配对大批次提供更多候选MoCo查询与字典配对小批次+历史特征队列MAE预测隐藏图块编码器只读可见部分
MAE:减少大编码器处理的图块,轻量解码器恢复完整位置。 在主讲中查看这一停点 ↗

现在可以回看规模化学习,而不再把它理解为简单增加硬件。SimCLR 的候选组织与大批次联系紧密;MoCo 保存历史特征,使候选量不必完全由本批计算承担;MAE 让大编码器跳过隐藏图块,把完整位置的处理交给较轻解码器。三者的学习目标不同,计算组织的比较并不构成统一效率排名;MAE 与 MoCo 也是不同路线,而非前后替代版本。它们共同说明,目标如何构造会改变计算和保存状态的方式。分布式训练再帮助这些计算分摊到设备。最后仍需回到用途:较容易训练出某个表示,不代表它保留了新任务最需要的区别。

逐步查看本页
  1. SimCLR:当批多个视图共同构成比较候选。
  2. MoCo:当批计算结合历史 key 特征,队列与参数平均配合。
  3. MAE:减少大编码器处理的图块,轻量解码器恢复完整位置。

接到下一页:同型号红蓝零件,哪些变化应该忽略?

同型号红蓝零件,哪些变化应该忽略?

先保留任务条件,再讨论增强是否合适。

左右滑动查看完整图解 ↔

同型号零件 · 完整裁剪 · 冻结编码器后训练少量标签的线性分类器原始红漆无色光强改变受控色相变换任务要分红漆/蓝漆:哪一种变换会改动标签所依赖的信息?
预训练后冻结编码器,只用少量标注训练线性分类器。 在主讲中查看这一停点 ↗

这是问卷第 1 题的固定情境,不能泛化成颜色有用所以禁用所有颜色增强。无色光强变化在规定条件下保留色相,而强色相旋转可能改变红蓝外观;两者对任务标签的关系不同。题设的评估约束是:编码器冻结,标注少,读出器线性。SimCLR 在 ImageNet 上比较增强组合和投影头,给我们提供研究方法及实证线索,但其类别任务不能直接替代这里的涂装实验。真正需要分清的是:架构是否允许保留颜色,优化是否把颜色训练进可用表示,以及给定数据和读出器能否取出它。下面用具体构造把三件事拆开。

逐步查看本页
  1. 下游目标:区分同型号的红漆与蓝漆零件。
  2. 无色光强变化保留色相,且不过曝、不过暗;裁剪保留完整零件。
  3. 强色相旋转可能让红色外观变蓝,触及下游判别线索。
  4. 预训练后冻结编码器,只用少量标注训练线性分类器。

接到下一页:h 与 z 可以分工,但分工不是训练保证

h 与 z 可以分工,但分工不是训练保证

让 z 对颜色不敏感,并不逻辑上强迫 h 删除颜色。

左右滑动查看完整图解 ↔

同一训练目标,允许不同的信息分工输入:形状 s、颜色 ch = (s,c)z = g(h) = sh 的 c 仍可区分红/蓝z 对颜色不变另一种允许的结果h = sz = g(h) = sh 已经没有颜色信息投影头允许保留色彩,但没有保证优化会选中第一种表示。
也可能得到只保留 s 的 h;投影头本身没有保证训练选择哪一种。 在主讲中查看这一停点 ↗

这里给出一个可检查的数学构造:编码器表示 h 包含形状 s 和色彩 c,投影头只读取 s。红蓝视图的 z 可以相同,而 h 仍保存颜色,因此不能由对比空间的不变性直接推出编码器一定删除颜色。相反,这也没有证明真实训练必定学到这样的分工;一个只保留 s 的编码器同样可能让下游颜色信息不足。这个构造只讨论局部信息关系,不宣称它完整解决了整个数据集的对比任务。原论文关于投影头的实验提供了参考,其结论对应原来的数据和评价条件。下一页再进一步:即使表示里存在颜色信息,线性分类器是否一定可以读出?

逐步查看本页
  1. 教学构造:h=(形状 s,色彩 c),红蓝的 c 分别为 +1、−1。
  2. 令 g(h)=s:两种颜色的 z 相同,h 仍保留色彩坐标。
  3. 也可能得到只保留 s 的 h;投影头本身没有保证训练选择哪一种。

接到下一页:信息可以存在,却不一定线性可读

信息可以存在,却不一定线性可读

四个点已经足够区分“保存信息”与“容易读出”。

左右滑动查看完整图解 ↔

颜色定义:c = u×vuv(-1,-1)(1,-1)(-1,1)(1,1)红:c=+1;蓝:c=−1同号为红,异号为蓝。非线性乘法可恢复颜色单条直线无法完全分开对角同色点。信息存在 ≠ 给定读出器容易使用还需检查线性约束与有限标签的读出表现。
所以还要检验给定读出器和标注量,而不只问“信息在不在”。 在主讲中查看这一停点 ↗

这个四点构造是课堂反例,不是模型实测。表示为 h=(u,v),颜色由 c=u×v 决定:两个同号角点是红色,两个异号角点是蓝色。一个非线性运算能精确恢复颜色,说明信息确实存在;但任何单一线性分类边界都无法把两组对角点完全分开。它帮助区分信息保存与线性可用性,避免把失败的线性读出直接解释成完全没有相关信息。反过来,少量标注下训练成功也受样本覆盖影响。本题关心的是给定训练与使用约束下的表现,需要使用相同数据划分和读出协议比较,而不是仅凭投影头存在就放心更改增强。

逐步查看本页
  1. 构造 h=(u,v),其中 u、v 各取 +1 或 −1。
  2. 令色彩 c=u×v:同号两点为红,异号两点为蓝。
  3. 非线性乘法可以恢复 c;一条直线无法把对角同色点完全分开。
  4. 所以还要检验给定读出器和标注量,而不只问“信息在不在”。

接到下一页:什么变化应该忽略,哪些差别必须留下?用受约束的下游任务检查,而不是只看预训练损失。

冻结读出与微调,分别回答什么?

一条路径检查已有表示,另一条允许它适应新任务。

左右滑动查看完整图解 ↔

已训练编码器允许编码器继续更新Fine-tuning:在新任务上继续适配如果输出要位置和边界,读出还必须保存空间信息。
保持数据划分与评价对象清楚,比较各自获得的复用能力。 在主讲中查看这一停点 ↗

冻结线性读出问的是:在当前表示和读出约束下,任务信息是否足够容易被使用?微调问的是:以这份预训练表示为起点,允许继续适配之后能做到什么?两者都重要,不能混用为同一个结论。线性读出较低不等于完全没有信息,微调成功也不表示冻结表示本来就能直接完成任务。解释一项实验结果,需要同时了解其来源、checkpoint、训练和测试划分,以及实际记录的结果。自监督已经给出可复用的编码器起点,评估则明确它在什么条件下有用。接下来把需求从整图类别改成多个对象的位置与边界,看看系统还要发生什么变化。

逐步查看本页
  1. 冻结读出:锁定编码器,只训练线性分类器。
  2. 微调:任务误差可以继续更新编码器和任务头。
  3. 保持数据划分与评价对象清楚,比较各自获得的复用能力。

接到下一页:预训练表示,确实可以在新任务里复用

预训练表示,确实可以在新任务里复用

MoCo 的检测迁移:预训练目标不同,下游使用相同检测器与评价条件。

左右滑动查看完整图解 ↔

MoCo 原论文:同一数据起点,迁移到目标检测ImageNet-1M 预训练;Faster R-CNN · ResNet-50-C4VOC trainval07+12 全层微调 24k 次;test2007,5 次平均有监督预训练53.5MoCo 自监督预训练55.9COCO-style box AP:53.5 → 55.9(+2.4)论文训练结果 · 下游全层微调,区别于冻结线性读出
这个结果支持可迁移性;任务仍经过全层微调,并非冻结表示自动完成检测。 在主讲中查看这一停点 ↗

MoCo 原论文 Table 2(b) 与 §4.2.1:同为 ImageNet-1M 预训练数据,使用 Faster R-CNN 与 ResNet-50-C4,在 VOC trainval07+12 上全层微调 24k 次,在 test2007 上计算 COCO-style box AP,报告 5 次平均。有监督预训练为 53.5,MoCo 为 55.9,差 2.4。

这是一个具体的成功迁移例子,不是保证所有任务都更优,也不与冻结线性读出混为一谈。课堂的 L03-LAB 01 则使用已有有监督 CNN 固定表示,改变标签预算和读出器;它没有复现 MoCo 自监督训练。

逐步查看本页
  1. 固定比较条件:同一预训练数据、检测结构和下游划分。
  2. MoCo 的自监督预训练在该检测设置达到 box AP 55.9;有监督起点为 53.5。
  3. 这个结果支持可迁移性;任务仍经过全层微调,并非冻结表示自动完成检测。

接到下一页:监督预算不是图像数量|问题从哪里出现

监督预算不是图像数量|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
1
同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
2
观察对象:教学预算:1000 张图,类别每张 8 秒、框每对象 25 秒、掩码每对象 90 秒;平均每图 3 个对象。学生计算总工时并改变对象数。
3
向后检验:先把任务拆成判断对象、标注粒度、复核规则和可接受误差,再比较预算;不使用未经核实的商业单价。
向后检验:先把任务拆成判断对象、标注粒度、复核规则和可接受误差,再比较预算;不使用未经核实的商业单价。 在主讲中查看这一停点 ↗

训练图像多不等于任务答案多。600 张图像可各自生成两视图,为配对损失提供目标;形状和颜色标签只在冻结读出时使用。预训练使用多少图像与读出使用多少标签是两个预算。

逐步查看本页
  1. 同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
  2. 观察对象:教学预算:1000 张图,类别每张 8 秒、框每对象 25 秒、掩码每对象 90 秒;平均每图 3 个对象。学生计算总工时并改变对象数。
  3. 向后检验:先把任务拆成判断对象、标注粒度、复核规则和可接受误差,再比较预算;不使用未经核实的商业单价。

接到下一页:监督预算不是图像数量|核心改动怎样工作

监督预算不是图像数量|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
1
先把任务拆成判断对象、标注粒度、复核规则和可接受误差,再比较预算;不使用未经核实的商业单价。
2
回到前一步:同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
3
向后检验:教学预算:1000 张图,类别每张 8 秒、框每对象 25 秒、掩码每对象 90 秒;平均每图 3 个对象。学生计算总工时并改变对象数。
向后检验:教学预算:1000 张图,类别每张 8 秒、框每对象 25 秒、掩码每对象 90 秒;平均每图 3 个对象。学生计算总工时并改变对象数。 在主讲中查看这一停点 ↗

先按原图划分训练与保留集,再在训练图内生成视图。编码器由无标签配对目标更新,读出器在固定表示上利用标签学习;两阶段的优化参数和目标不同。

逐步查看本页
  1. 先把任务拆成判断对象、标注粒度、复核规则和可接受误差,再比较预算;不使用未经核实的商业单价。
  2. 回到前一步:同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
  3. 向后检验:教学预算:1000 张图,类别每张 8 秒、框每对象 25 秒、掩码每对象 90 秒;平均每图 3 个对象。学生计算总工时并改变对象数。

接到下一页:监督预算不是图像数量|一起算一个完整例子

监督预算不是图像数量|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
1
教学设定:训练池有 1000 张图,只标注 20 张;另留 200 张独立测试图。
2
先固定同一编码器,仅用这 20 张的标签拟合读出;随机表示也使用同一批标签。
3
无标签训练可看其余训练图,但不能把测试图纳入;1000 张图不等于 1000 个类别答案。
无标签训练可看其余训练图,但不能把测试图纳入;1000 张图不等于 1000 个类别答案。 在主讲中查看这一停点 ↗

教学设定:训练池有 1000 张图,只标注 20 张;另留 200 张独立测试图。

先固定同一编码器,仅用这 20 张的标签拟合读出;随机表示也使用同一批标签。

无标签训练可看其余训练图,但不能把测试图纳入;1000 张图不等于 1000 个类别答案。

本轮 LAB06 使用 600 训练、240 保留图。随机 h 的形状5NN为72.50%;保色预训练47.50%;换色预训练85.83%。同样图像数量,目标所鼓励的线索不同。

逐步查看本页
  1. 教学设定:训练池有 1000 张图,只标注 20 张;另留 200 张独立测试图。
  2. 先固定同一编码器,仅用这 20 张的标签拟合读出;随机表示也使用同一批标签。
  3. 无标签训练可看其余训练图,但不能把测试图纳入;1000 张图不等于 1000 个类别答案。

接到下一页:监督预算不是图像数量|怎样检查这项解释

监督预算不是图像数量|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
1
预算表只说明假设下的资源差异;真实项目还受工具、类别定义、遮挡规范和返工率影响。
2
回到前一步:教学预算:1000 张图,类别每张 8 秒、框每对象 25 秒、掩码每对象 90 秒;平均每图 3 个对象。学生计算总工时并改变对象数。
3
向后检验:数据存在不等于训练目标已经存在;自监督减少某些逐样本标签,不会消除人的数据选择与评价。
向后检验:数据存在不等于训练目标已经存在;自监督减少某些逐样本标签,不会消除人的数据选择与评价。 在主讲中查看这一停点 ↗

这些数来自真实 CNN+投影头训练与冻结5NN。保色表示颜色读出100%,换色 h 颜色读出49.17%;形状提升伴随颜色损失,而不是所有任务同时变好。

逐步查看本页
  1. 预算表只说明假设下的资源差异;真实项目还受工具、类别定义、遮挡规范和返工率影响。
  2. 回到前一步:教学预算:1000 张图,类别每张 8 秒、框每对象 25 秒、掩码每对象 90 秒;平均每图 3 个对象。学生计算总工时并改变对象数。
  3. 向后检验:数据存在不等于训练目标已经存在;自监督减少某些逐样本标签,不会消除人的数据选择与评价。

接到下一页:监督预算不是图像数量|什么结论还不能推出

监督预算不是图像数量|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

同一批图像若分别制作整图类别、边界框和精细掩码,工作单位与质量检查完全不同。
1
数据存在不等于训练目标已经存在;自监督减少某些逐样本标签,不会消除人的数据选择与评价。
2
回到前一步:预算表只说明假设下的资源差异;真实项目还受工具、类别定义、遮挡规范和返工率影响。
3
向后检验:数据存在不等于训练目标已经存在;自监督减少某些逐样本标签,不会消除人的数据选择与评价。
向后检验:数据存在不等于训练目标已经存在;自监督减少某些逐样本标签,不会消除人的数据选择与评价。 在主讲中查看这一停点 ↗

标签节省必须在固定数据划分、标签数量与读出协议下比较。少量颜色形状合成图不支持自然图像标签效率排名,也不能把保留图的另一裁剪放进训练。

逐步查看本页
  1. 数据存在不等于训练目标已经存在;自监督减少某些逐样本标签,不会消除人的数据选择与评价。
  2. 回到前一步:预算表只说明假设下的资源差异;真实项目还受工具、类别定义、遮挡规范和返工率影响。
  3. 向后检验:数据存在不等于训练目标已经存在;自监督减少某些逐样本标签,不会消除人的数据选择与评价。

接到下一页:序列为什么需要状态|问题从哪里出现

序列为什么需要状态|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
1
固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
2
观察对象:句子“红杯在桌上,因为它……”中,早期对象身份要在后面解析代词;逐时刻画出 x_t、h_t 与预测。
3
向后检验:循环模型用 h_t=f(h_{t-1},x_t) 更新状态;参数在时刻间共享,状态却随输入变化。
向后检验:循环模型用 h_t=f(h_{t-1},x_t) 更新状态;参数在时刻间共享,状态却随输入变化。 在主讲中查看这一停点 ↗

“红色”之后预测“杯子”需要利用前缀。状态 h_t 总结已见输入,而网络参数在一次前向中不随每个词更新;把状态变化叫作学习会混淆运行与训练。

逐步查看本页
  1. 固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
  2. 观察对象:句子“红杯在桌上,因为它……”中,早期对象身份要在后面解析代词;逐时刻画出 x_t、h_t 与预测。
  3. 向后检验:循环模型用 h_t=f(h_{t-1},x_t) 更新状态;参数在时刻间共享,状态却随输入变化。

接到下一页:序列为什么需要状态|核心改动怎样工作

序列为什么需要状态|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
1
循环模型用 h_t=f(h_{t-1},x_t) 更新状态;参数在时刻间共享,状态却随输入变化。
2
回到前一步:固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
3
向后检验:句子“红杯在桌上,因为它……”中,早期对象身份要在后面解析代词;逐时刻画出 x_t、h_t 与预测。
向后检验:句子“红杯在桌上,因为它……”中,早期对象身份要在后面解析代词;逐时刻画出 x_t、h_t 与预测。 在主讲中查看这一停点 ↗

最小RNN满足 h_t=w h_(t−1)+x_t。空间卷积在不同位置共享卷积核,RNN在不同时间共享w;反向时,同一个w的每次使用都贡献梯度。

逐步查看本页
  1. 循环模型用 h_t=f(h_{t-1},x_t) 更新状态;参数在时刻间共享,状态却随输入变化。
  2. 回到前一步:固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
  3. 向后检验:句子“红杯在桌上,因为它……”中,早期对象身份要在后面解析代词;逐时刻画出 x_t、h_t 与预测。

接到下一页:序列为什么需要状态|一起算一个完整例子

序列为什么需要状态|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
1
取标量 RNN:hₜ=tanh(0.5hₜ₋₁+xₜ),h₀=0,输入依次为 1、0。
2
h₁=tanh(1)≈0.7616;h₂=tanh(0.3808)≈0.3634。第二步仍保留第一步的影响。
3
若把第二步的输入改成 1,h₂≈0.8811;参数仍为 0.5,变化的是输入与状态。
若把第二步的输入改成 1,h₂≈0.8811;参数仍为 0.5,变化的是输入与状态。 在主讲中查看这一停点 ↗

取标量 RNN:hₜ=tanh(0.5hₜ₋₁+xₜ),h₀=0,输入依次为 1、0。

h₁=tanh(1)≈0.7616;h₂=tanh(0.3808)≈0.3634。第二步仍保留第一步的影响。

若把第二步的输入改成 1,h₂≈0.8811;参数仍为 0.5,变化的是输入与状态。

取h0=1、w=.5、x1=1、x2=2,得到h1=1.5、h2=2.75。L=(h1²+h2²)/2时,dh1/dw=1、dh2/dw=2,所以dL/dw=7。

逐步查看本页
  1. 取标量 RNN:hₜ=tanh(0.5hₜ₋₁+xₜ),h₀=0,输入依次为 1、0。
  2. h₁=tanh(1)≈0.7616;h₂=tanh(0.3808)≈0.3634。第二步仍保留第一步的影响。
  3. 若把第二步的输入改成 1,h₂≈0.8811;参数仍为 0.5,变化的是输入与状态。

接到下一页:序列为什么需要状态|怎样检查这项解释

序列为什么需要状态|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
1
时间展开后,同一参数在多个时刻产生梯度贡献,求和关系可回访第二讲共享卷积参数。
2
回到前一步:句子“红杯在桌上,因为它……”中,早期对象身份要在后面解析代词;逐时刻画出 x_t、h_t 与预测。
3
向后检验:状态向量能否保留长距离信息取决于训练与动力学;写出递推式并不保证记住。
向后检验:状态向量能否保留长距离信息取决于训练与动力学;写出递推式并不保证记住。 在主讲中查看这一停点 ↗

最后一步直接贡献为2.75×1.5=4.125,第一步承接后续误差的贡献为(1.5+.5×2.75)×1=2.875。精确SVG展示两项汇总,并连接D2L BPTT推导。

逐步查看本页
  1. 时间展开后,同一参数在多个时刻产生梯度贡献,求和关系可回访第二讲共享卷积参数。
  2. 回到前一步:句子“红杯在桌上,因为它……”中,早期对象身份要在后面解析代词;逐时刻画出 x_t、h_t 与预测。
  3. 向后检验:状态向量能否保留长距离信息取决于训练与动力学;写出递推式并不保证记住。

接到下一页:序列为什么需要状态|什么结论还不能推出

序列为什么需要状态|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

固定长度窗口不能自然表达任意长的前文;但把全部历史原样保存也不可行。
1
状态向量能否保留长距离信息取决于训练与动力学;写出递推式并不保证记住。
2
回到前一步:时间展开后,同一参数在多个时刻产生梯度贡献,求和关系可回访第二讲共享卷积参数。
3
向后检验:状态向量能否保留长距离信息取决于训练与动力学;写出递推式并不保证记住。
向后检验:状态向量能否保留长距离信息取决于训练与动力学;写出递推式并不保证记住。 在主讲中查看这一停点 ↗

本例去掉非线性以便手算。真实长序列梯度还包含非线性Jacobian;只计算状态值,尚未展示输出分布、损失、BPTT与参数更新。

逐步查看本页
  1. 状态向量能否保留长距离信息取决于训练与动力学;写出递推式并不保证记住。
  2. 回到前一步:时间展开后,同一参数在多个时刻产生梯度贡献,求和关系可回访第二讲共享卷积参数。
  3. 向后检验:状态向量能否保留长距离信息取决于训练与动力学;写出递推式并不保证记住。

接到下一页:门控改变了什么|问题从哪里出现

门控改变了什么|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
1
普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
2
观察对象:用“颜色在开头、对象在结尾”的序列,逐步设置遗忘门、输入门和输出门,比较何时覆盖记忆。
3
向后检验:LSTM 把候选写入、保留与读出分开控制;加法记忆通路给长期信息提供另一种传播路径。
向后检验:LSTM 把候选写入、保留与读出分开控制;加法记忆通路给长期信息提供另一种传播路径。 在主讲中查看这一停点 ↗

普通循环链把较早信息和较晚损失隔开很多次乘法。状态维度大并不自动避免梯度衰减,需要检查信息通过哪条通路。

逐步查看本页
  1. 普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
  2. 观察对象:用“颜色在开头、对象在结尾”的序列,逐步设置遗忘门、输入门和输出门,比较何时覆盖记忆。
  3. 向后检验:LSTM 把候选写入、保留与读出分开控制;加法记忆通路给长期信息提供另一种传播路径。

接到下一页:门控改变了什么|核心改动怎样工作

门控改变了什么|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
1
LSTM 把候选写入、保留与读出分开控制;加法记忆通路给长期信息提供另一种传播路径。
2
回到前一步:普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
3
向后检验:用“颜色在开头、对象在结尾”的序列,逐步设置遗忘门、输入门和输出门,比较何时覆盖记忆。
向后检验:用“颜色在开头、对象在结尾”的序列,逐步设置遗忘门、输入门和输出门,比较何时覆盖记忆。 在主讲中查看这一停点 ↗

LSTM的简化记忆更新为c_t=f_t c_(t−1)+i_t g_t,门控制保留与写入。它提供加性记忆路径;门本身由输入和状态计算,仍需要学习。

逐步查看本页
  1. LSTM 把候选写入、保留与读出分开控制;加法记忆通路给长期信息提供另一种传播路径。
  2. 回到前一步:普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
  3. 向后检验:用“颜色在开头、对象在结尾”的序列,逐步设置遗忘门、输入门和输出门,比较何时覆盖记忆。

接到下一页:门控改变了什么|一起算一个完整例子

门控改变了什么|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
1
标量记忆 c旧=0.8;遗忘门 f=0.9、输入门 i=0.1、候选 g=0.2。
2
c新=f×c旧+i×g=0.9×0.8+0.1×0.2=0.74。
3
沿直接记忆路径的局部导数是 0.9;十步连乘约 0.349,门控并不保证梯度永远不衰减。
沿直接记忆路径的局部导数是 0.9;十步连乘约 0.349,门控并不保证梯度永远不衰减。 在主讲中查看这一停点 ↗

标量记忆 c旧=0.8;遗忘门 f=0.9、输入门 i=0.1、候选 g=0.2。

c新=f×c旧+i×g=0.9×0.8+0.1×0.2=0.74。

沿直接记忆路径的局部导数是 0.9;十步连乘约 0.349,门控并不保证梯度永远不衰减。

把门暂时固定,c前=2、f=.9、i=.1、候选g=1,得到c后=1.9。沿固定保留通路十步的导数因子为.9^10≈.3487,而每步乘.5仅为.0009766。

逐步查看本页
  1. 标量记忆 c旧=0.8;遗忘门 f=0.9、输入门 i=0.1、候选 g=0.2。
  2. c新=f×c旧+i×g=0.9×0.8+0.1×0.2=0.74。
  3. 沿直接记忆路径的局部导数是 0.9;十步连乘约 0.349,门控并不保证梯度永远不衰减。

接到下一页:门控改变了什么|怎样检查这项解释

门控改变了什么|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
1
数值链展示门值接近 1 时记忆如何保留;它解释机制,不等于所有 LSTM 都会自动学到正确门值。
2
回到前一步:用“颜色在开头、对象在结尾”的序列,逐步设置遗忘门、输入门和输出门,比较何时覆盖记忆。
3
向后检验:门控缓解优化问题而非消除全部长依赖困难;Transformer 是另一种交互组织,不是训练目标。
向后检验:门控缓解优化问题而非消除全部长依赖困难;Transformer 是另一种交互组织,不是训练目标。 在主讲中查看这一停点 ↗

数值比较只说明固定乘子条件下的传播差异,解释为什么门控与记忆通路值得设计。CLS04把它与共享参数、梯度裁剪、截断BPTT区分,D2L提供完整门控模型。

逐步查看本页
  1. 数值链展示门值接近 1 时记忆如何保留;它解释机制,不等于所有 LSTM 都会自动学到正确门值。
  2. 回到前一步:用“颜色在开头、对象在结尾”的序列,逐步设置遗忘门、输入门和输出门,比较何时覆盖记忆。
  3. 向后检验:门控缓解优化问题而非消除全部长依赖困难;Transformer 是另一种交互组织,不是训练目标。

接到下一页:门控改变了什么|什么结论还不能推出

门控改变了什么|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

普通循环链上,早期信息的梯度要反复乘过状态转移,可能衰减或爆炸。
1
门控缓解优化问题而非消除全部长依赖困难;Transformer 是另一种交互组织,不是训练目标。
2
回到前一步:数值链展示门值接近 1 时记忆如何保留;它解释机制,不等于所有 LSTM 都会自动学到正确门值。
3
向后检验:门控缓解优化问题而非消除全部长依赖困难;Transformer 是另一种交互组织,不是训练目标。
向后检验:门控缓解优化问题而非消除全部长依赖困难;Transformer 是另一种交互组织,不是训练目标。 在主讲中查看这一停点 ↗

真实门值会随状态变化,总导数不只是一串f。门控不保证任意长期依赖都能学到;截断BPTT还会主动截断跨片段梯度。

逐步查看本页
  1. 门控缓解优化问题而非消除全部长依赖困难;Transformer 是另一种交互组织,不是训练目标。
  2. 回到前一步:数值链展示门值接近 1 时记忆如何保留;它解释机制,不等于所有 LSTM 都会自动学到正确门值。
  3. 向后检验:门控缓解优化问题而非消除全部长依赖困难;Transformer 是另一种交互组织,不是训练目标。

接到下一页:架构、目标与解码必须分开|问题从哪里出现

架构、目标与解码必须分开|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

“Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
1
“Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
2
观察对象:同一自回归目标可由 RNN 或 Transformer 参数化;同一模型分布可用采样、greedy 或 beam 产生不同序列。
3
向后检验:架构定义信息如何交互;目标定义训练时比较什么;解码决定怎样从条件分布选择输出。
向后检验:架构定义信息如何交互;目标定义训练时比较什么;解码决定怎样从条件分布选择输出。 在主讲中查看这一停点 ↗

模型可以有相同GRU架构,却训练不同目标、使用不同解码。说“换成Transformer就完成生成”遗漏了要预测的变量与采样方式。

逐步查看本页
  1. “Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
  2. 观察对象:同一自回归目标可由 RNN 或 Transformer 参数化;同一模型分布可用采样、greedy 或 beam 产生不同序列。
  3. 向后检验:架构定义信息如何交互;目标定义训练时比较什么;解码决定怎样从条件分布选择输出。

接到下一页:架构、目标与解码必须分开|核心改动怎样工作

架构、目标与解码必须分开|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

“Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
1
架构定义信息如何交互;目标定义训练时比较什么;解码决定怎样从条件分布选择输出。
2
回到前一步:“Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
3
向后检验:同一自回归目标可由 RNN 或 Transformer 参数化;同一模型分布可用采样、greedy 或 beam 产生不同序列。
向后检验:同一自回归目标可由 RNN 或 Transformer 参数化;同一模型分布可用采样、greedy 或 beam 产生不同序列。 在主讲中查看这一停点 ↗

架构规定计算;目标规定损失与可见条件;解码规定怎样使用分布。caption把图像v接到状态,以真实前缀训练逐词概率,推理再从自己的输出接续。

逐步查看本页
  1. 架构定义信息如何交互;目标定义训练时比较什么;解码决定怎样从条件分布选择输出。
  2. 回到前一步:“Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
  3. 向后检验:同一自回归目标可由 RNN 或 Transformer 参数化;同一模型分布可用采样、greedy 或 beam 产生不同序列。

接到下一页:架构、目标与解码必须分开|一起算一个完整例子

架构、目标与解码必须分开|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

“Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
1
首词 A/B 概率 .6/.4;A 后 X/Y 概率 .51/.49,B 后 X/Y 概率 .9/.1。
2
greedy 得 A→X,概率 .306;beam 宽度 2 可保留 B→X,概率 .36。两路径下一步 EOS 概率都为 1。
3
改变搜索没有改变模型参数、图像条件或逐词训练目标;本例等长,不涉及长度惩罚。
改变搜索没有改变模型参数、图像条件或逐词训练目标;本例等长,不涉及长度惩罚。 在主讲中查看这一停点 ↗

首词 A/B 概率 .6/.4;A 后 X/Y 概率 .51/.49,B 后 X/Y 概率 .9/.1。

greedy 得 A→X,概率 .306;beam 宽度 2 可保留 B→X,概率 .36。两路径下一步 EOS 概率都为 1。

改变搜索没有改变模型参数、图像条件或逐词训练目标;本例等长,不涉及长度惩罚。

概率树首步A=.6、B=.4;A后X=.51,B后X=.9。greedy选AX,联合概率.306;宽度2 beam保留B,找到BX=.36。架构与概率分布未变,只变搜索。

逐步查看本页
  1. 首词 A/B 概率 .6/.4;A 后 X/Y 概率 .51/.49,B 后 X/Y 概率 .9/.1。
  2. greedy 得 A→X,概率 .306;beam 宽度 2 可保留 B→X,概率 .36。两路径下一步 EOS 概率都为 1。
  3. 改变搜索没有改变模型参数、图像条件或逐词训练目标;本例等长,不涉及长度惩罚。

接到下一页:架构、目标与解码必须分开|怎样检查这项解释

架构、目标与解码必须分开|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

“Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
1
用三列表追踪输入可见性、损失位置与输出选择,captioning 后续直接复用。
2
回到前一步:同一自回归目标可由 RNN 或 Transformer 参数化;同一模型分布可用采样、greedy 或 beam 产生不同序列。
3
向后检验:masked-token 目标不是完整的自回归生成过程;Transformer 也不等于扩散模型。
向后检验:masked-token 目标不是完整的自回归生成过程;Transformer 也不等于扩散模型。 在主讲中查看这一停点 ↗

LAB13真实CNN-GRU保留集greedy与beam3都为100%;这次实验没有证明beam更好。精确概率树则证明局部最大与路径最大可以不同,两份证据对象不同。

逐步查看本页
  1. 用三列表追踪输入可见性、损失位置与输出选择,captioning 后续直接复用。
  2. 回到前一步:同一自回归目标可由 RNN 或 Transformer 参数化;同一模型分布可用采样、greedy 或 beam 产生不同序列。
  3. 向后检验:masked-token 目标不是完整的自回归生成过程;Transformer 也不等于扩散模型。

接到下一页:架构、目标与解码必须分开|什么结论还不能推出

架构、目标与解码必须分开|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

“Transformer 会生成”把计算结构、训练题和使用算法混成了一件事。
1
masked-token 目标不是完整的自回归生成过程;Transformer 也不等于扩散模型。
2
回到前一步:用三列表追踪输入可见性、损失位置与输出选择,captioning 后续直接复用。
3
向后检验:masked-token 目标不是完整的自回归生成过程;Transformer 也不等于扩散模型。
向后检验:masked-token 目标不是完整的自回归生成过程;Transformer 也不等于扩散模型。 在主讲中查看这一停点 ↗

更高模型概率不等于更符合图片。模型若高估幻觉句子,更充分搜索也可能选错;长度归一化还会改变搜索目标。

逐步查看本页
  1. masked-token 目标不是完整的自回归生成过程;Transformer 也不等于扩散模型。
  2. 回到前一步:用三列表追踪输入可见性、损失位置与输出选择,captioning 后续直接复用。
  3. 向后检验:masked-token 目标不是完整的自回归生成过程;Transformer 也不等于扩散模型。

接到下一页:多个数据分片仍是一回更新|问题从哪里出现

多个数据分片仍是一回更新|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
1
若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
2
观察对象:g1=[2,4] 对 2 个样本,g2=[6,0] 对 6 个样本;正确全局梯度为 [5,1],不是 [4,2]。
3
向后检验:每个本地平均梯度先乘样本数,再除总样本数;all-reduce 后所有副本执行相同更新。
向后检验:每个本地平均梯度先乘样本数,再除总样本数;all-reduce 后所有副本执行相同更新。 在主讲中查看这一停点 ↗

两台设备样本数不相等时,平均两个局部平均梯度会改变样本权重。要保持同一个全局训练目标,先明确损失按样本还是token平均。

逐步查看本页
  1. 若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
  2. 观察对象:g1=[2,4] 对 2 个样本,g2=[6,0] 对 6 个样本;正确全局梯度为 [5,1],不是 [4,2]。
  3. 向后检验:每个本地平均梯度先乘样本数,再除总样本数;all-reduce 后所有副本执行相同更新。

接到下一页:多个数据分片仍是一回更新|核心改动怎样工作

多个数据分片仍是一回更新|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
1
每个本地平均梯度先乘样本数,再除总样本数;all-reduce 后所有副本执行相同更新。
2
回到前一步:若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
3
向后检验:g1=[2,4] 对 2 个样本,g2=[6,0] 对 6 个样本;正确全局梯度为 [5,1],不是 [4,2]。
向后检验:g1=[2,4] 对 2 个样本,g2=[6,0] 对 6 个样本;正确全局梯度为 [5,1],不是 [4,2]。 在主讲中查看这一停点 ↗

本地平均梯度g_r对应n_r个样本,全局g=Σn_rg_r/Σn_r。参数副本从相同起点出发,先归并梯度,再执行同一次更新。

逐步查看本页
  1. 每个本地平均梯度先乘样本数,再除总样本数;all-reduce 后所有副本执行相同更新。
  2. 回到前一步:若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
  3. 向后检验:g1=[2,4] 对 2 个样本,g2=[6,0] 对 6 个样本;正确全局梯度为 [5,1],不是 [4,2]。

接到下一页:多个数据分片仍是一回更新|一起算一个完整例子

多个数据分片仍是一回更新|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
1
8 个样本分成 2 与 6;两片平均梯度分别记作 g₁、g₂。
2
总平均应为 (2g₁+6g₂)/8。LAB19 的实际样本给出 [-4.65,-5.25]。
3
直接平均两片会得到 [-3.2167,-3.75];数据量不等时,平均的平均改变了目标权重。
直接平均两片会得到 [-3.2167,-3.75];数据量不等时,平均的平均改变了目标权重。 在主讲中查看这一停点 ↗

8 个样本分成 2 与 6;两片平均梯度分别记作 g₁、g₂。

总平均应为 (2g₁+6g₂)/8。LAB19 的实际样本给出 [-4.65,-5.25]。

直接平均两片会得到 [-3.2167,-3.75];数据量不等时,平均的平均改变了目标权重。

n1=2,n2=6,g1=(2,4),g2=(6,0),得到g=(5,1)。θ=(1,2)、学习率.1时共同更新为(.5,1.9),设备等权则误成(.6,1.8)。

逐步查看本页
  1. 8 个样本分成 2 与 6;两片平均梯度分别记作 g₁、g₂。
  2. 总平均应为 (2g₁+6g₂)/8。LAB19 的实际样本给出 [-4.65,-5.25]。
  3. 直接平均两片会得到 [-3.2167,-3.75];数据量不等时,平均的平均改变了目标权重。

接到下一页:多个数据分片仍是一回更新|怎样检查这项解释

多个数据分片仍是一回更新|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
1
CPU 确定性算例与完整批梯度对齐;BN、dropout、数值精度和随机顺序会影响严格等价。
2
回到前一步:g1=[2,4] 对 2 个样本,g2=[6,0] 对 6 个样本;正确全局梯度为 [5,1],不是 [4,2]。
3
向后检验:算对梯度汇总不代表测到了多 GPU 加速;通信和负载决定实际时间。
向后检验:算对梯度汇总不代表测到了多 GPU 加速;通信和负载决定实际时间。 在主讲中查看这一停点 ↗

CLS04给出推导,LAB19改变样本数进行精确计算。序列若有效token数为10:30,即使句子数相等,token平均目标仍按10:30归并。

逐步查看本页
  1. CPU 确定性算例与完整批梯度对齐;BN、dropout、数值精度和随机顺序会影响严格等价。
  2. 回到前一步:g1=[2,4] 对 2 个样本,g2=[6,0] 对 6 个样本;正确全局梯度为 [5,1],不是 [4,2]。
  3. 向后检验:算对梯度汇总不代表测到了多 GPU 加速;通信和负载决定实际时间。

接到下一页:多个数据分片仍是一回更新|什么结论还不能推出

多个数据分片仍是一回更新|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

若各 worker 本地样本数不同,直接平均本地平均梯度不再等价于全体样本平均损失。
1
算对梯度汇总不代表测到了多 GPU 加速;通信和负载决定实际时间。
2
回到前一步:CPU 确定性算例与完整批梯度对齐;BN、dropout、数值精度和随机顺序会影响严格等价。
3
向后检验:算对梯度汇总不代表测到了多 GPU 加速;通信和负载决定实际时间。
向后检验:算对梯度汇总不代表测到了多 GPU 加速;通信和负载决定实际时间。 在主讲中查看这一停点 ↗

梯度累积与大batch等价还要求相同参数和可加损失。对比损失的分母依赖同批负例,拆批累积一般不会自动得到原大batch目标。

逐步查看本页
  1. 算对梯度汇总不代表测到了多 GPU 加速;通信和负载决定实际时间。
  2. 回到前一步:CPU 确定性算例与完整批梯度对齐;BN、dropout、数值精度和随机顺序会影响严格等价。
  3. 向后检验:算对梯度汇总不代表测到了多 GPU 加速;通信和负载决定实际时间。

接到下一页:显存里不只是一份权重|问题从哪里出现

显存里不只是一份权重|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
1
只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
2
观察对象:一亿参数、bf16 权重与梯度、fp32 Adam 主权重和两组矩状态,先算静态状态,再改变 batch 观察激活。
3
向后检验:峰值显存按权重、梯度、优化器状态、激活和工作区分别核算;每项随精度、batch 和序列长度变化不同。
向后检验:峰值显存按权重、梯度、优化器状态、激活和工作区分别核算;每项随精度、batch 和序列长度变化不同。 在主讲中查看这一停点 ↗

checkpoint只有权重,而训练还需要梯度、优化器历史、激活和临时工作区。因此模型文件能放进显存,不代表训练能放下。

逐步查看本页
  1. 只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
  2. 观察对象:一亿参数、bf16 权重与梯度、fp32 Adam 主权重和两组矩状态,先算静态状态,再改变 batch 观察激活。
  3. 向后检验:峰值显存按权重、梯度、优化器状态、激活和工作区分别核算;每项随精度、batch 和序列长度变化不同。

接到下一页:显存里不只是一份权重|核心改动怎样工作

显存里不只是一份权重|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
1
峰值显存按权重、梯度、优化器状态、激活和工作区分别核算;每项随精度、batch 和序列长度变化不同。
2
回到前一步:只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
3
向后检验:一亿参数、bf16 权重与梯度、fp32 Adam 主权重和两组矩状态,先算静态状态,再改变 batch 观察激活。
向后检验:一亿参数、bf16 权重与梯度、fp32 Adam 主权重和两组矩状态,先算静态状态,再改变 batch 观察激活。 在主讲中查看这一停点 ↗

FP32每标量4字节,Adam通常为每参数保存一阶矩与二阶矩。必须分别列权重、梯度、两份矩,再加依赖batch/分辨率/序列长度的激活。

逐步查看本页
  1. 峰值显存按权重、梯度、优化器状态、激活和工作区分别核算;每项随精度、batch 和序列长度变化不同。
  2. 回到前一步:只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
  3. 向后检验:一亿参数、bf16 权重与梯度、fp32 Adam 主权重和两组矩状态,先算静态状态,再改变 batch 观察激活。

接到下一页:显存里不只是一份权重|一起算一个完整例子

显存里不只是一份权重|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
1
教学估算:100 万参数;FP32 参数、梯度、Adam 一阶矩和二阶矩各占 4 MB。
2
这四项合计 16 MB(十进制),尚未计激活、临时工作区与框架缓存。
3
若另存低精度副本,每个 FP16 参数再加 2 byte;必须先写清口径,才能比较节省。
若另存低精度副本,每个 FP16 参数再加 2 byte;必须先写清口径,才能比较节省。 在主讲中查看这一停点 ↗

教学估算:100 万参数;FP32 参数、梯度、Adam 一阶矩和二阶矩各占 4 MB。

这四项合计 16 MB(十进制),尚未计激活、临时工作区与框架缓存。

若另存低精度副本,每个 FP16 参数再加 2 byte;必须先写清口径,才能比较节省。

1000万参数:权重40MB、梯度40MB、Adam两矩80MB,四项共160MB(十进制)。这还没有计算激活、通信缓冲或碎片。

逐步查看本页
  1. 教学估算:100 万参数;FP32 参数、梯度、Adam 一阶矩和二阶矩各占 4 MB。
  2. 这四项合计 16 MB(十进制),尚未计激活、临时工作区与框架缓存。
  3. 若另存低精度副本,每个 FP16 参数再加 2 byte;必须先写清口径,才能比较节省。

接到下一页:显存里不只是一份权重|怎样检查这项解释

显存里不只是一份权重|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
1
表格明确采用的精度和优化器;checkpointing 用额外计算换激活存储,梯度累积改变每步 micro-batch。
2
回到前一步:一亿参数、bf16 权重与梯度、fp32 Adam 主权重和两组矩状态,先算静态状态,再改变 batch 观察激活。
3
向后检验:账面字节数不是框架峰值实测;内存碎片、通信缓冲与算子实现会增加占用。
向后检验:账面字节数不是框架峰值实测;内存碎片、通信缓冲与算子实现会增加占用。 在主讲中查看这一停点 ↗

LAB20按精度与状态份数做预算;CLS04解释混合精度可能保留FP32主副本,不能把总量机械除二。这是解析内存估算,不是设备峰值实测。

逐步查看本页
  1. 表格明确采用的精度和优化器;checkpointing 用额外计算换激活存储,梯度累积改变每步 micro-batch。
  2. 回到前一步:一亿参数、bf16 权重与梯度、fp32 Adam 主权重和两组矩状态,先算静态状态,再改变 batch 观察激活。
  3. 向后检验:账面字节数不是框架峰值实测;内存碎片、通信缓冲与算子实现会增加占用。

接到下一页:显存里不只是一份权重|什么结论还不能推出

显存里不只是一份权重|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

只用参数量乘字节数,会漏掉梯度、优化器状态、激活与临时缓冲。
1
账面字节数不是框架峰值实测;内存碎片、通信缓冲与算子实现会增加占用。
2
回到前一步:表格明确采用的精度和优化器;checkpointing 用额外计算换激活存储,梯度累积改变每步 micro-batch。
3
向后检验:账面字节数不是框架峰值实测;内存碎片、通信缓冲与算子实现会增加占用。
向后检验:账面字节数不是框架峰值实测;内存碎片、通信缓冲与算子实现会增加占用。 在主讲中查看这一停点 ↗

检查点重算、分片和梯度累积减少不同项目,可能增加重计算、通信或改变batch相关行为。仅看参数总数无法预测吞吐。

逐步查看本页
  1. 账面字节数不是框架峰值实测;内存碎片、通信缓冲与算子实现会增加占用。
  2. 回到前一步:表格明确采用的精度和优化器;checkpointing 用额外计算换激活存储,梯度累积改变每步 micro-batch。
  3. 向后检验:账面字节数不是框架峰值实测;内存碎片、通信缓冲与算子实现会增加占用。

接到下一页:分片省状态,也制造通信|问题从哪里出现

分片省状态,也制造通信|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
1
数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
2
观察对象:两层模型分到两卡:计算第二层时预取第一层下一批所需参数,画出等待与重叠区间。
3
向后检验:追踪参数 all-gather、梯度 reduce-scatter、拥有者更新与预取;再看计算和通信能否重叠。
向后检验:追踪参数 all-gather、梯度 reduce-scatter、拥有者更新与预取;再看计算和通信能否重叠。 在主讲中查看这一停点 ↗

普通数据并行把同一训练状态复制到每台设备;增加设备并不自动减小每台的权重与优化器状态。状态分片改变的是谁长期保管哪些参数。

逐步查看本页
  1. 数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
  2. 观察对象:两层模型分到两卡:计算第二层时预取第一层下一批所需参数,画出等待与重叠区间。
  3. 向后检验:追踪参数 all-gather、梯度 reduce-scatter、拥有者更新与预取;再看计算和通信能否重叠。

接到下一页:分片省状态,也制造通信|核心改动怎样工作

分片省状态,也制造通信|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
1
追踪参数 all-gather、梯度 reduce-scatter、拥有者更新与预取;再看计算和通信能否重叠。
2
回到前一步:数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
3
向后检验:两层模型分到两卡:计算第二层时预取第一层下一批所需参数,画出等待与重叠区间。
向后检验:两层模型分到两卡:计算第二层时预取第一层下一批所需参数,画出等待与重叠区间。 在主讲中查看这一停点 ↗

把参数0–3归设备甲、4–7归乙。计算某层前收集所需权重,反向后归并并分发梯度分片,拥有者更新自己的参数与优化器状态。

逐步查看本页
  1. 追踪参数 all-gather、梯度 reduce-scatter、拥有者更新与预取;再看计算和通信能否重叠。
  2. 回到前一步:数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
  3. 向后检验:两层模型分到两卡:计算第二层时预取第一层下一批所需参数,画出等待与重叠区间。

接到下一页:分片省状态,也制造通信|一起算一个完整例子

分片省状态,也制造通信|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
1
设全模型四类状态共 16P byte,四张卡都保存全量时每卡仍是 16P。
2
理想均匀分片使持久状态约为 4P/卡;计算当前层之前仍可能需要 all-gather 参数。
3
所以 4P 是分片状态的账本,不是整步峰值显存;还要叠加激活与临时通信缓冲。
所以 4P 是分片状态的账本,不是整步峰值显存;还要叠加激活与临时通信缓冲。 在主讲中查看这一停点 ↗

设全模型四类状态共 16P byte,四张卡都保存全量时每卡仍是 16P。

理想均匀分片使持久状态约为 4P/卡;计算当前层之前仍可能需要 all-gather 参数。

所以 4P 是分片状态的账本,不是整步峰值显存;还要叠加激活与临时通信缓冲。

两台设备各长期保管8参数中的4个,可降低某些状态存储;但一层前向若需要全部8个权重,计算时仍须取得另一半。存储份额与通信量不是同一个数字。

逐步查看本页
  1. 设全模型四类状态共 16P byte,四张卡都保存全量时每卡仍是 16P。
  2. 理想均匀分片使持久状态约为 4P/卡;计算当前层之前仍可能需要 all-gather 参数。
  3. 所以 4P 是分片状态的账本,不是整步峰值显存;还要叠加激活与临时通信缓冲。

接到下一页:分片省状态,也制造通信|怎样检查这项解释

分片省状态,也制造通信|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
1
时间线区分容量收益与吞吐代价;ZeRO/FSDP 的具体阶段和实现配置必须注明。
2
回到前一步:两层模型分到两卡:计算第二层时预取第一层下一批所需参数,画出等待与重叠区间。
3
向后检验:总通信字节减少或增加取决于方案与执行顺序,不能从“分片”一词直接推断更快。
向后检验:总通信字节减少或增加取决于方案与执行顺序,不能从“分片”一词直接推断更快。 在主讲中查看这一停点 ↗

CLS04连接ZeRO原论文,将all-gather、reduce-scatter与共享目标联系。LAB19的加权梯度仍需成立,分片不能改变每个样本在目标中的权重。

逐步查看本页
  1. 时间线区分容量收益与吞吐代价;ZeRO/FSDP 的具体阶段和实现配置必须注明。
  2. 回到前一步:两层模型分到两卡:计算第二层时预取第一层下一批所需参数,画出等待与重叠区间。
  3. 向后检验:总通信字节减少或增加取决于方案与执行顺序,不能从“分片”一词直接推断更快。

接到下一页:分片省状态,也制造通信|什么结论还不能推出

分片省状态,也制造通信|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

数据并行复制全部训练状态;分片后单卡更省,却必须在计算前后交换所需片段。
1
总通信字节减少或增加取决于方案与执行顺序,不能从“分片”一词直接推断更快。
2
回到前一步:时间线区分容量收益与吞吐代价;ZeRO/FSDP 的具体阶段和实现配置必须注明。
3
向后检验:总通信字节减少或增加取决于方案与执行顺序,不能从“分片”一词直接推断更快。
向后检验:总通信字节减少或增加取决于方案与执行顺序,不能从“分片”一词直接推断更快。 在主讲中查看这一停点 ↗

实际实现有预取、缓存、重计算和不同分片级别。这个信息流不支持未测量的速度提升;通信等待可能抵消状态节省带来的收益。

逐步查看本页
  1. 总通信字节减少或增加取决于方案与执行顺序,不能从“分片”一词直接推断更快。
  2. 回到前一步:时间线区分容量收益与吞吐代价;ZeRO/FSDP 的具体阶段和实现配置必须注明。
  3. 向后检验:总通信字节减少或增加取决于方案与执行顺序,不能从“分片”一词直接推断更快。

接到下一页:离散中心怎样成为表示|问题从哪里出现

离散中心怎样成为表示|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
1
没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
2
观察对象:四个二维 patch、两个中心,手算一轮分配和更新,再将新 patch 编码成中心编号与残差。
3
向后检验:交替执行最近中心分配与中心均值更新,最小化到中心的平方重建误差;评价时冻结中心。
向后检验:交替执行最近中心分配与中心均值更新,最小化到中心的平方重建误差;评价时冻结中心。 在主讲中查看这一停点 ↗

无标签patch也有可优化的重建目标:每个patch用一个词典中心近似。关键限制是代码只能选一个离散索引,不能把输入原样传过去。

逐步查看本页
  1. 没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
  2. 观察对象:四个二维 patch、两个中心,手算一轮分配和更新,再将新 patch 编码成中心编号与残差。
  3. 向后检验:交替执行最近中心分配与中心均值更新,最小化到中心的平方重建误差;评价时冻结中心。

接到下一页:离散中心怎样成为表示|核心改动怎样工作

离散中心怎样成为表示|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
1
交替执行最近中心分配与中心均值更新,最小化到中心的平方重建误差;评价时冻结中心。
2
回到前一步:没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
3
向后检验:四个二维 patch、两个中心,手算一轮分配和更新,再将新 patch 编码成中心编号与残差。
向后检验:四个二维 patch、两个中心,手算一轮分配和更新,再将新 patch 编码成中心编号与残差。 在主讲中查看这一停点 ↗

a(x)=argmin_k||x−c_k||²,重建为c_a。Lloyd交替分配最近中心并更新中心;增加K通常减小量化误差,但增加词典与索引成本。

逐步查看本页
  1. 交替执行最近中心分配与中心均值更新,最小化到中心的平方重建误差;评价时冻结中心。
  2. 回到前一步:没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
  3. 向后检验:四个二维 patch、两个中心,手算一轮分配和更新,再将新 patch 编码成中心编号与残差。

接到下一页:离散中心怎样成为表示|一起算一个完整例子

离散中心怎样成为表示|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
1
把 2×2 patch 展平;两个中心为 (1,0,1,0) 与 (0,1,0,1)。
2
输入 (0.5,0.5,0.5,0.5) 到两中心平方距离都为 1;最近中心存在并列。
3
按固定规则选一个索引;零误差恢复这幅中灰 patch 不在此两中心词典的能力内。
按固定规则选一个索引;零误差恢复这幅中灰 patch 不在此两中心词典的能力内。 在主讲中查看这一停点 ↗

把 2×2 patch 展平;两个中心为 (1,0,1,0) 与 (0,1,0,1)。

输入 (0.5,0.5,0.5,0.5) 到两中心平方距离都为 1;最近中心存在并列。

按固定规则选一个索引;零误差恢复这幅中灰 patch 不在此两中心词典的能力内。

c1=(1,0,1,0)、c2=(0,1,0,1)可重建左右明暗边。均匀灰patch(.5,.5,.5,.5)到两中心的平方距离都为1,必须按约定打破平局。

逐步查看本页
  1. 把 2×2 patch 展平;两个中心为 (1,0,1,0) 与 (0,1,0,1)。
  2. 输入 (0.5,0.5,0.5,0.5) 到两中心平方距离都为 1;最近中心存在并列。
  3. 按固定规则选一个索引;零误差恢复这幅中灰 patch 不在此两中心词典的能力内。

接到下一页:离散中心怎样成为表示|怎样检查这项解释

离散中心怎样成为表示|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
1
目标单调下降可核对;中心编号只是离散代码,不自动对应语义类别。
2
回到前一步:四个二维 patch、两个中心,手算一轮分配和更新,再将新 patch 编码成中心编号与残差。
3
向后检验:训练误差下降不证明迁移有效;必须另用保留集和下游任务检查。
向后检验:训练误差下降不证明迁移有效;必须另用保留集和下游任务检查。 在主讲中查看这一停点 ↗

原LAB05使用真实MNIST patch拟合词典并保留历史输出。CLS05的四维例解释索引限制,真实词典则让学生看到中心由数据形成。

逐步查看本页
  1. 目标单调下降可核对;中心编号只是离散代码,不自动对应语义类别。
  2. 回到前一步:四个二维 patch、两个中心,手算一轮分配和更新,再将新 patch 编码成中心编号与残差。
  3. 向后检验:训练误差下降不证明迁移有效;必须另用保留集和下游任务检查。

接到下一页:离散中心怎样成为表示|什么结论还不能推出

离散中心怎样成为表示|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

没有类别标签时,局部 patch 可以优化什么,新的 patch 又怎样使用已学词典?
1
训练误差下降不证明迁移有效;必须另用保留集和下游任务检查。
2
回到前一步:目标单调下降可核对;中心编号只是离散代码,不自动对应语义类别。
3
向后检验:训练误差下降不证明迁移有效;必须另用保留集和下游任务检查。
向后检验:训练误差下降不证明迁移有效;必须另用保留集和下游任务检查。 在主讲中查看这一停点 ↗

低patch误差不等于整图类别容易读出。词典索引需要后续空间组织与读出;固定中心最近邻也不代表新一轮已训练度量。

逐步查看本页
  1. 训练误差下降不证明迁移有效;必须另用保留集和下游任务检查。
  2. 回到前一步:目标单调下降可核对;中心编号只是离散代码,不自动对应语义类别。
  3. 向后检验:训练误差下降不证明迁移有效;必须另用保留集和下游任务检查。

接到下一页:PCA 是带约束的线性编码—解码|问题从哪里出现

PCA 是带约束的线性编码—解码|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

“降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
1
“降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
2
观察对象:二维点投影到一条单位方向,逐点计算投影、残差和总误差,并旋转方向比较。
3
向后检验:编码 z=W^T(x-μ),解码 x̂=μ+Wz;W 列正交时,选择最大方差子空间等价于最小平方重建误差。
向后检验:编码 z=W^T(x-μ),解码 x̂=μ+Wz;W 列正交时,选择最大方差子空间等价于最小平方重建误差。 在主讲中查看这一停点 ↗

如果代码可以使用连续实数,是否能比有限中心更有效地重建?PCA把约束改为低维线性子空间,优先保留总体方差大的方向。

逐步查看本页
  1. “降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
  2. 观察对象:二维点投影到一条单位方向,逐点计算投影、残差和总误差,并旋转方向比较。
  3. 向后检验:编码 z=W^T(x-μ),解码 x̂=μ+Wz;W 列正交时,选择最大方差子空间等价于最小平方重建误差。

接到下一页:PCA 是带约束的线性编码—解码|核心改动怎样工作

PCA 是带约束的线性编码—解码|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

“降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
1
编码 z=W^T(x-μ),解码 x̂=μ+Wz;W 列正交时,选择最大方差子空间等价于最小平方重建误差。
2
回到前一步:“降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
3
向后检验:二维点投影到一条单位方向,逐点计算投影、残差和总误差,并旋转方向比较。
向后检验:二维点投影到一条单位方向,逐点计算投影、残差和总误差,并旋转方向比较。 在主讲中查看这一停点 ↗

中心化后编码z=Uᵀx,重建x̂=Uz,约束UᵀU=I。最小平方重建误差对应协方差最大的特征方向,也是一种受约束线性自编码器。

逐步查看本页
  1. 编码 z=W^T(x-μ),解码 x̂=μ+Wz;W 列正交时,选择最大方差子空间等价于最小平方重建误差。
  2. 回到前一步:“降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
  3. 向后检验:二维点投影到一条单位方向,逐点计算投影、残差和总误差,并旋转方向比较。

接到下一页:PCA 是带约束的线性编码—解码|一起算一个完整例子

PCA 是带约束的线性编码—解码|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

“降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
1
四个中心化点:(2,0)、(-2,0)、(0,1)、(0,-1)。按 1/4 算协方差为 diag(2,0.5)。
2
保留横轴,重建误差为 0、0、1、1,均值 0.5;保留纵轴,均值误差为 2。
3
最大方差方向使重建误差最小;若任务只看纵坐标正负,它仍可能删掉任务信息。
最大方差方向使重建误差最小;若任务只看纵坐标正负,它仍可能删掉任务信息。 在主讲中查看这一停点 ↗

四个中心化点:(2,0)、(-2,0)、(0,1)、(0,-1)。按 1/4 算协方差为 diag(2,0.5)。

保留横轴,重建误差为 0、0、1、1,均值 0.5;保留纵轴,均值误差为 2。

最大方差方向使重建误差最小;若任务只看纵坐标正负,它仍可能删掉任务信息。

四点(2,0),(−2,0),(0,1),(0,−1)的协方差为diag(2,.5)。保留横轴时误差0,0,1,1,平均.5;保留纵轴平均误差2。

逐步查看本页
  1. 四个中心化点:(2,0)、(-2,0)、(0,1)、(0,-1)。按 1/4 算协方差为 diag(2,0.5)。
  2. 保留横轴,重建误差为 0、0、1、1,均值 0.5;保留纵轴,均值误差为 2。
  3. 最大方差方向使重建误差最小;若任务只看纵坐标正负,它仍可能删掉任务信息。

接到下一页:PCA 是带约束的线性编码—解码|怎样检查这项解释

PCA 是带约束的线性编码—解码|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

“降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
1
同一数据上的可计算几何支持等价关系;只在中心化、线性、平方误差与正交约束下成立。
2
回到前一步:二维点投影到一条单位方向,逐点计算投影、残差和总误差,并旋转方向比较。
3
向后检验:最高方差方向可能与分类标签无关;重建好不等于线性可读出好。
向后检验:最高方差方向可能与分类标签无关;重建好不等于线性可读出好。 在主讲中查看这一停点 ↗

CLS05精确SVG画出四点和投影,LAB08另有训练集拟合rank16 PCA对带噪digits的保留MSE .04160。数值投影与实际图像基线相互连接。

逐步查看本页
  1. 同一数据上的可计算几何支持等价关系;只在中心化、线性、平方误差与正交约束下成立。
  2. 回到前一步:二维点投影到一条单位方向,逐点计算投影、残差和总误差,并旋转方向比较。
  3. 向后检验:最高方差方向可能与分类标签无关;重建好不等于线性可读出好。

接到下一页:PCA 是带约束的线性编码—解码|什么结论还不能推出

PCA 是带约束的线性编码—解码|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

“降维”若没有投影方向、正交条件和重建误差,就无法连接自编码器。
1
最高方差方向可能与分类标签无关;重建好不等于线性可读出好。
2
回到前一步:同一数据上的可计算几何支持等价关系;只在中心化、线性、平方误差与正交约束下成立。
3
向后检验:最高方差方向可能与分类标签无关;重建好不等于线性可读出好。
向后检验:最高方差方向可能与分类标签无关;重建好不等于线性可读出好。 在主讲中查看这一停点 ↗

低方差方向可能承载标签,例如纵坐标正负。PCA最优重建不保证最优分类;SVD能解释线性AE,但不能替代另行承诺的非线性网络训练。

逐步查看本页
  1. 最高方差方向可能与分类标签无关;重建好不等于线性可读出好。
  2. 回到前一步:同一数据上的可计算几何支持等价关系;只在中心化、线性、平方误差与正交约束下成立。
  3. 向后检验:最高方差方向可能与分类标签无关;重建好不等于线性可读出好。

接到下一页:复制输入为何不是好表示|问题从哪里出现

复制输入为何不是好表示|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

容量足够的自编码器可学近似恒等映射,却没有形成对下游有用的约束。
1
容量足够的自编码器可学近似恒等映射,却没有形成对下游有用的约束。
2
观察对象:比较无瓶颈复制、二维瓶颈重建、加噪输入还原干净目标和遮块预测四种训练对。
3
向后检验:瓶颈、噪声、缺失预测和稀疏性分别限制通道或改变条件,使模型不能只复制每个像素。
向后检验:瓶颈、噪声、缺失预测和稀疏性分别限制通道或改变条件,使模型不能只复制每个像素。 在主讲中查看这一停点 ↗

若网络看到完整输入并可以无约束复制,零重建误差可能没有迫使它学会结构。去噪目标让模型只看到破坏图,却对干净目标负责。

逐步查看本页
  1. 容量足够的自编码器可学近似恒等映射,却没有形成对下游有用的约束。
  2. 观察对象:比较无瓶颈复制、二维瓶颈重建、加噪输入还原干净目标和遮块预测四种训练对。
  3. 向后检验:瓶颈、噪声、缺失预测和稀疏性分别限制通道或改变条件,使模型不能只复制每个像素。

接到下一页:复制输入为何不是好表示|核心改动怎样工作

复制输入为何不是好表示|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

容量足够的自编码器可学近似恒等映射,却没有形成对下游有用的约束。
1
瓶颈、噪声、缺失预测和稀疏性分别限制通道或改变条件,使模型不能只复制每个像素。
2
回到前一步:容量足够的自编码器可学近似恒等映射,却没有形成对下游有用的约束。
3
向后检验:比较无瓶颈复制、二维瓶颈重建、加噪输入还原干净目标和遮块预测四种训练对。
向后检验:比较无瓶颈复制、二维瓶颈重建、加噪输入还原干净目标和遮块预测四种训练对。 在主讲中查看这一停点 ↗

采样x̃∼q(x̃|x),优化||g(f(x̃))−x||²。瓶颈与破坏方式限制信息通道;像素丢弃、高斯噪声与遮挡patch提出不同恢复问题。

逐步查看本页
  1. 瓶颈、噪声、缺失预测和稀疏性分别限制通道或改变条件,使模型不能只复制每个像素。
  2. 回到前一步:容量足够的自编码器可学近似恒等映射,却没有形成对下游有用的约束。
  3. 向后检验:比较无瓶颈复制、二维瓶颈重建、加噪输入还原干净目标和遮块预测四种训练对。

接到下一页:复制输入为何不是好表示|一起算一个完整例子

复制输入为何不是好表示|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

容量足够的自编码器可学近似恒等映射,却没有形成对下游有用的约束。
1
已知条件下,被遮住的像素等概率为 0 或 1,模型看不到隐藏答案。
2
总输出 0.5 的期望平方误差为 0.25;总输出 0 或 1 的误差都为 0.5。
3
平方误差偏好条件均值,可能形成灰色或模糊结果;逼真采样是另一个目标。
平方误差偏好条件均值,可能形成灰色或模糊结果;逼真采样是另一个目标。 在主讲中查看这一停点 ↗

已知条件下,被遮住的像素等概率为 0 或 1,模型看不到隐藏答案。

总输出 0.5 的期望平方误差为 0.25;总输出 0 或 1 的误差都为 0.5。

平方误差偏好条件均值,可能形成灰色或模糊结果;逼真采样是另一个目标。

LAB08先划分1257训练/540保留digits,再加25%像素丢弃和σ=.15噪声。保留MSE:带噪输入.06244,rank16 PCA .04160,16维瓶颈卷积DAE .03217。

逐步查看本页
  1. 已知条件下,被遮住的像素等概率为 0 或 1,模型看不到隐藏答案。
  2. 总输出 0.5 的期望平方误差为 0.25;总输出 0 或 1 的误差都为 0.5。
  3. 平方误差偏好条件均值,可能形成灰色或模糊结果;逼真采样是另一个目标。

接到下一页:复制输入为何不是好表示|怎样检查这项解释

复制输入为何不是好表示|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

LAB08 · 同一组测试数字的带噪输入、重建与遮挡重建;未观测像素另算误差。
向后检验:去噪假设哪些变化应忽略;若噪声改变任务标签,目标会丢掉有用信息。 在主讲中查看这一停点 ↗

真实输入—破坏—输出图与参数更新已保存。冻结干净图5NN由相同去噪架构随机84.26%升至95%,为表示可用性提供独立于重建误差的测量。

逐步查看本页
  1. 重建误差、压缩率和下游读出分别报告,避免把三个指标混成“表示质量”。
  2. 回到前一步:比较无瓶颈复制、二维瓶颈重建、加噪输入还原干净目标和遮块预测四种训练对。
  3. 向后检验:去噪假设哪些变化应忽略;若噪声改变任务标签,目标会丢掉有用信息。

接到下一页:复制输入为何不是好表示|什么结论还不能推出

复制输入为何不是好表示|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

容量足够的自编码器可学近似恒等映射,却没有形成对下游有用的约束。
1
去噪假设哪些变化应忽略;若噪声改变任务标签,目标会丢掉有用信息。
2
回到前一步:重建误差、压缩率和下游读出分别报告,避免把三个指标混成“表示质量”。
3
向后检验:去噪假设哪些变化应忽略;若噪声改变任务标签,目标会丢掉有用信息。
向后检验:去噪假设哪些变化应忽略;若噪声改变任务标签,目标会丢掉有用信息。 在主讲中查看这一停点 ↗

遮挡卷积模型处理整张密集网格,不是原MAE的可见token编码器。其50%隐藏MSE .04341说明恢复能力,不能据此声称MAE计算加速或自然图像语义。

逐步查看本页
  1. 去噪假设哪些变化应忽略;若噪声改变任务标签,目标会丢掉有用信息。
  2. 回到前一步:重建误差、压缩率和下游读出分别报告,避免把三个指标混成“表示质量”。
  3. 向后检验:去噪假设哪些变化应忽略;若噪声改变任务标签,目标会丢掉有用信息。

接到下一页:对比任务由我们构造|问题从哪里出现

对比任务由我们构造|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

两幅图各产生两个视图;配对为 0↔1、2↔3。单位向量让点积可直接比较。
z0 = (1, 0)—0.800.00-0.60z1 = (0.8, 0.6)0.80—0.600.00z2 = (0, 1)0.000.60—0.80z3 = (-0.6, 0.8)-0.600.000.80—
第 0 行:自身项排除;分子是 z₁,分母是 z₁、z₂、z₃。
τ=0.2:p₊=0.9811,−log p₊=0.0190。τ=1:p₊=0.5896,损失=0.5282。
对未除温度的相似度 sⱼ:∂L/∂sⱼ=(pⱼ−1[j=正例])/τ。降低温度会聚焦高相似候选;若高相似负例其实同类,这种压力未必符合下游任务。
向后检验:两视图批次形成相似度矩阵;归一化后用温度缩放,正例进入分子,其余候选进入分母。 在主讲中查看这一停点 ↗

同图两视图被指定为正例,是对任务相关不变性的选择。颜色增强对形状分类可能有益,对颜色分类却可能删除答案。

逐步查看本页
  1. 正例、负例和增强不是数据天然附带的真理,而是训练协议对不变性的假设。
  2. 观察对象:四个单位向量组成 4×4 相似度矩阵,标出自身项、配对项和 false negative,手算一行 InfoNCE。
  3. 向后检验:两视图批次形成相似度矩阵;归一化后用温度缩放,正例进入分子,其余候选进入分母。

接到下一页:对比任务由我们构造|核心改动怎样工作

对比任务由我们构造|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

两幅图各产生两个视图;配对为 0↔1、2↔3。单位向量让点积可直接比较。
z0 = (1, 0)—0.800.00-0.60z1 = (0.8, 0.6)0.80—0.600.00z2 = (0, 1)0.000.60—0.80z3 = (-0.6, 0.8)-0.600.000.80—
第 0 行:自身项排除;分子是 z₁,分母是 z₁、z₂、z₃。
τ=0.2:p₊=0.9811,−log p₊=0.0190。τ=1:p₊=0.5896,损失=0.5282。
对未除温度的相似度 sⱼ:∂L/∂sⱼ=(pⱼ−1[j=正例])/τ。降低温度会聚焦高相似候选;若高相似负例其实同类,这种压力未必符合下游任务。
向后检验:四个单位向量组成 4×4 相似度矩阵,标出自身项、配对项和 false negative,手算一行 InfoNCE。 在主讲中查看这一停点 ↗

InfoNCE在候选中选中正例,分母包括正例并排除自身。单位向量点积为余弦,温度控制竞争;损失作用在z,梯度仍经投影头传到h与编码器。

逐步查看本页
  1. 两视图批次形成相似度矩阵;归一化后用温度缩放,正例进入分子,其余候选进入分母。
  2. 回到前一步:正例、负例和增强不是数据天然附带的真理,而是训练协议对不变性的假设。
  3. 向后检验:四个单位向量组成 4×4 相似度矩阵,标出自身项、配对项和 false negative,手算一行 InfoNCE。

接到下一页:对比任务由我们构造|一起算一个完整例子

对比任务由我们构造|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

两幅图各产生两个视图;配对为 0↔1、2↔3。单位向量让点积可直接比较。
z0 = (1, 0)—0.800.00-0.60z1 = (0.8, 0.6)0.80—0.600.00z2 = (0, 1)0.000.60—0.80z3 = (-0.6, 0.8)-0.600.000.80—
第 0 行:自身项排除;分子是 z₁,分母是 z₁、z₂、z₃。
τ=0.2:p₊=0.9811,−log p₊=0.0190。τ=1:p₊=0.5896,损失=0.5282。
对未除温度的相似度 sⱼ:∂L/∂sⱼ=(pⱼ−1[j=正例])/τ。降低温度会聚焦高相似候选;若高相似负例其实同类,这种压力未必符合下游任务。
对未缩放相似度的梯度为 (p-y)/τ;小温度并不意味着每项梯度绝对值都增大。 在主讲中查看这一停点 ↗

四个单位向量按 0↔1、2↔3 配对,第 0 行相似度为 0.8、0、-0.6。

排除自身;τ=0.2 时正例概率 0.9811、损失 0.0190;τ=1 时为 0.5896、0.5282。

对未缩放相似度的梯度为 (p-y)/τ;小温度并不意味着每项梯度绝对值都增大。

固定相似度(.8,.4,.2),τ=1时正例概率.4506、loss .7971;τ=.5时.5713、.5599;τ=.1时.9796、.0206。梯度为(p_j−1[j=+])/τ,低温并非所有梯度都更大。

逐步查看本页
  1. 四个单位向量按 0↔1、2↔3 配对,第 0 行相似度为 0.8、0、-0.6。
  2. 排除自身;τ=0.2 时正例概率 0.9811、损失 0.0190;τ=1 时为 0.5896、0.5282。
  3. 对未缩放相似度的梯度为 (p-y)/τ;小温度并不意味着每项梯度绝对值都增大。

接到下一页:对比任务由我们构造|怎样检查这项解释

对比任务由我们构造|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

两幅图各产生两个视图;配对为 0↔1、2↔3。单位向量让点积可直接比较。
z0 = (1, 0)—0.800.00-0.60z1 = (0.8, 0.6)0.80—0.600.00z2 = (0, 1)0.000.60—0.80z3 = (-0.6, 0.8)-0.600.000.80—
第 0 行:自身项排除;分子是 z₁,分母是 z₁、z₂、z₃。
τ=0.2:p₊=0.9811,−log p₊=0.0190。τ=1:p₊=0.5896,损失=0.5282。
对未除温度的相似度 sⱼ:∂L/∂sⱼ=(pⱼ−1[j=正例])/τ。降低温度会聚焦高相似候选;若高相似负例其实同类,这种压力未必符合下游任务。
向后检验:同类不同图可能被当负例,同图裁剪也可能丢失目标;训练关系必须由下游验证。 在主讲中查看这一停点 ↗

LAB06换色训练h形状5NN85.83%、颜色49.17%;随机h分别72.50%、100%。真实结果说明目标改变了可读出线索,也表明h可能丢色;本次z形状5NN还高于h。

逐步查看本页
  1. 改变温度会改变 softmax 锐度和梯度分配;增加负例也会改变任务难度。
  2. 回到前一步:四个单位向量组成 4×4 相似度矩阵,标出自身项、配对项和 false negative,手算一行 InfoNCE。
  3. 向后检验:同类不同图可能被当负例,同图裁剪也可能丢失目标;训练关系必须由下游验证。

接到下一页:对比任务由我们构造|什么结论还不能推出

对比任务由我们构造|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

两幅图各产生两个视图;配对为 0↔1、2↔3。单位向量让点积可直接比较。
z0 = (1, 0)—0.800.00-0.60z1 = (0.8, 0.6)0.80—0.600.00z2 = (0, 1)0.000.60—0.80z3 = (-0.6, 0.8)-0.600.000.80—
第 0 行:自身项排除;分子是 z₁,分母是 z₁、z₂、z₃。
τ=0.2:p₊=0.9811,−log p₊=0.0190。τ=1:p₊=0.5896,损失=0.5282。
对未除温度的相似度 sⱼ:∂L/∂sⱼ=(pⱼ−1[j=正例])/τ。降低温度会聚焦高相似候选;若高相似负例其实同类,这种压力未必符合下游任务。
向后检验:同类不同图可能被当负例,同图裁剪也可能丢失目标;训练关系必须由下游验证。 在主讲中查看这一停点 ↗

队列改变候选来源,EMA缓和key编码器漂移,温度改变一次比较强度,三者不能混为一个改进。LAB07 MoCo小实验形状38.33%低于随机,loss下降未保证语义读出。

逐步查看本页
  1. 同类不同图可能被当负例,同图裁剪也可能丢失目标;训练关系必须由下游验证。
  2. 回到前一步:改变温度会改变 softmax 锐度和梯度分配;增加负例也会改变任务难度。
  3. 向后检验:同类不同图可能被当负例,同图裁剪也可能丢失目标;训练关系必须由下游验证。

接到下一页:一致性目标的平凡解|问题从哪里出现

一致性目标的平凡解|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
1
若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
2
观察对象:先代入常量函数检查损失,再追踪一次学生梯度更新、教师参数 EMA 和中心统计更新。
3
向后检验:DINO 以学生预测 EMA 教师的另一视图输出,并结合 stop-gradient、centering 与 sharpening 形成训练系统。
向后检验:DINO 以学生预测 EMA 教师的另一视图输出,并结合 stop-gradient、centering 与 sharpening 形成训练系统。 在主讲中查看这一停点 ↗

只要求两视图相同,常量f(x)=c就能得到零距离。这个解满足一致性,却把所有样本身份删掉;低训练误差不能排除坍塌。

逐步查看本页
  1. 若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
  2. 观察对象:先代入常量函数检查损失,再追踪一次学生梯度更新、教师参数 EMA 和中心统计更新。
  3. 向后检验:DINO 以学生预测 EMA 教师的另一视图输出,并结合 stop-gradient、centering 与 sharpening 形成训练系统。

接到下一页:一致性目标的平凡解|核心改动怎样工作

一致性目标的平凡解|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
1
DINO 以学生预测 EMA 教师的另一视图输出,并结合 stop-gradient、centering 与 sharpening 形成训练系统。
2
回到前一步:若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
3
向后检验:先代入常量函数检查损失,再追踪一次学生梯度更新、教师参数 EMA 和中心统计更新。
向后检验:先代入常量函数检查损失,再追踪一次学生梯度更新、教师参数 EMA 和中心统计更新。 在主讲中查看这一停点 ↗

监督蒸馏模仿固定教师分布;EMA教师来自学生历史参数。BYOL/DINO还结合预测器、停止梯度、归一化或分布处理,不能把防坍塌归因于EMA单项。

逐步查看本页
  1. DINO 以学生预测 EMA 教师的另一视图输出,并结合 stop-gradient、centering 与 sharpening 形成训练系统。
  2. 回到前一步:若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
  3. 向后检验:先代入常量函数检查损失,再追踪一次学生梯度更新、教师参数 EMA 和中心统计更新。

接到下一页:一致性目标的平凡解|一起算一个完整例子

一致性目标的平凡解|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
1
若任意输入都输出同一个向量 c,两视图的平方距离恒为 0。
2
一致性目标已经最小,但这个表示无法区分样本;低损失与可用表示发生分离。
3
LAB17 同时展示常数输出与固定教师分布的 KL 学习;EMA 的作用也需与防坍塌机制分开。
LAB17 同时展示常数输出与固定教师分布的 KL 学习;EMA 的作用也需与防坍塌机制分开。 在主讲中查看这一停点 ↗

若任意输入都输出同一个向量 c,两视图的平方距离恒为 0。

一致性目标已经最小,但这个表示无法区分样本;低损失与可用表示发生分离。

LAB17 同时展示常数输出与固定教师分布的 KL 学习;EMA 的作用也需与防坍塌机制分开。

教师logits(4,2,0)在T=1得到(.8668,.1173,.0159),T=2得到(.6652,.2447,.0900)。软目标透露第二类比第三类更近,硬argmax只留下第一类。

逐步查看本页
  1. 若任意输入都输出同一个向量 c,两视图的平方距离恒为 0。
  2. 一致性目标已经最小,但这个表示无法区分样本;低损失与可用表示发生分离。
  3. LAB17 同时展示常数输出与固定教师分布的 KL 学习;EMA 的作用也需与防坍塌机制分开。

接到下一页:一致性目标的平凡解|怎样检查这项解释

一致性目标的平凡解|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
1
各设计共同影响稳定性;原论文消融支持组合条件,不把任一箭头升级为独立充分保证。
2
回到前一步:先代入常量函数检查损失,再追踪一次学生梯度更新、教师参数 EMA 和中心统计更新。
3
向后检验:EMA 教师不是固定的监督教师,参数 EMA 也不是优化器 momentum。
向后检验:EMA 教师不是固定的监督教师,参数 EMA 也不是优化器 momentum。 在主讲中查看这一停点 ↗

CLS07以协方差零的常量表示与四点XOR作比较。XOR每点身份完整、线性不可分,加h1×h2即可阈值读出;信息消失与线性难读是两种情况。

逐步查看本页
  1. 各设计共同影响稳定性;原论文消融支持组合条件,不把任一箭头升级为独立充分保证。
  2. 回到前一步:先代入常量函数检查损失,再追踪一次学生梯度更新、教师参数 EMA 和中心统计更新。
  3. 向后检验:EMA 教师不是固定的监督教师,参数 EMA 也不是优化器 momentum。

接到下一页:一致性目标的平凡解|什么结论还不能推出

一致性目标的平凡解|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

若目标只要求两种视图输出相同,所有样本输出同一常量也能满足。
1
EMA 教师不是固定的监督教师,参数 EMA 也不是优化器 momentum。
2
回到前一步:各设计共同影响稳定性;原论文消融支持组合条件,不把任一箭头升级为独立充分保证。
3
向后检验:EMA 教师不是固定的监督教师,参数 EMA 也不是优化器 momentum。
向后检验:EMA 教师不是固定的监督教师,参数 EMA 也不是优化器 momentum。 在主讲中查看这一停点 ↗

教师也会传递错误与背景捷径。BYOL/DINO论文的整套训练证据不能推广成任意EMA损失的保证;表示有方差也不证明它保存的是任务信息。

逐步查看本页
  1. EMA 教师不是固定的监督教师,参数 EMA 也不是优化器 momentum。
  2. 回到前一步:各设计共同影响稳定性;原论文消融支持组合条件,不把任一箭头升级为独立充分保证。
  3. 向后检验:EMA 教师不是固定的监督教师,参数 EMA 也不是优化器 momentum。

接到下一页:表示已经有了,位置与边界怎样得到?

表示已经有了,位置与边界怎样得到?

固定一份可用表示,改变要求:不只识别类别,还要找到位置与边界。

左右滑动查看完整图解 ↔

表示已经能被复用类别:画面里有杯子位置:杯子在哪里?边界:哪些像素属于它?下一步:把表示变成视觉识别系统
进入第二部分:共享计算、空间表示与对齐分别解决什么? 在主讲中查看这一停点 ↗

我们已经看到几种训练表示的方法。预训练既可以使用人工标签,也可以利用从数据构造的目标。现在固定一份可用的视觉表示,改变对它的要求:不只判断画面里有什么,还要找到每个对象的位置与边界。

历史上的 R-CNN 从有监督分类预训练出发,再用检测数据适配,并不是必须先有自监督才出现检测。接下来追问:哪些计算可以复用,哪些空间信息必须留下,新的输出需要怎样的训练?

逐步查看本页
  1. 整图一个类别,无法告诉我们多个物体各自在哪里。
  2. 框坐标、像素类别与实例身份,是不同形式的输出。
  3. 进入第二部分:共享计算、空间表示与对齐分别解决什么?

接到下一页:一张图,四种问题

II · 从类别到区域与掩码

一张图,四种问题

同一桌面有两个同类杯子、一本书和局部遮挡;先比较需要交付的信息。

左右滑动查看完整图解 ↔

同一场景 · 改变所需输出实例分割杯子 · 实例 1杯子 · 实例 2书 · 实例 3同类物体有各自的身份只标可见轮廓;遮挡后仍保持实例身份
实例分割还要分清是哪一只:杯子 #1、杯子 #2。 在主讲中查看这一停点 ↗

这里持续使用同一张两只杯子和一本书的场景。整图标签是本例的类别存在性描述;检测输出各对象的类别与框;语义分割给每个像素一个类别;实例分割进一步分清同类对象。两只杯子在语义图中同色,在实例图中有不同编号和颜色。它们相邻或部分遮挡时,这种区别尤其清楚。各状态都是为解释目标制作的标注,并非本轮模型预测;实例掩码按可见区域定义,不补画被另一只杯子遮住的部分。从分类迁移到区域任务,改变的不只是输出数量,还包括位置和空间结构必须如何保存。接下来先从检测框入手,追踪表示如何被使用。

逐步查看本页
  1. 整图类别告诉我们有什么:杯子、书。
  2. 检测补上多个对象的位置;每个框对应一个候选对象。
  3. 语义分割给每个像素类别,两只杯子使用同一类别色。
  4. 实例分割还要分清是哪一只:杯子 #1、杯子 #2。

接到下一页:把分类的计算,迁移到候选区域

把分类的计算,迁移到候选区域

候选框提出“可能在哪里”;区域表示再支持类别与位置判断。

左右滑动查看完整图解 ↔

每个候选区域,分别做视觉计算区域 1:红杯共享权重的 CNN杯子坐标修正区域 2:重叠区域共享权重的 CNN区域类别坐标修正区域 3:蓝杯共享权重的 CNN杯子坐标修正权重可以相同;重叠像素仍被重复处理
区域特征用于分类,并预测候选框的位置修正。 在主讲中查看这一停点 ↗

R-CNN 的迁移对象是视觉特征计算,而不是把原 ImageNet 类别分数直接当作检测坐标。系统先提出候选区域,再逐区域提取 CNN 特征,用于分类与位置修正。原论文先进行分类预训练,再使用检测数据进行适配,并包含区域分类器等不同训练阶段;SVM 属于原方法的区域分类阶段。候选框只是一种假设,可能含背景,也可能未完整覆盖对象。图上三个框属于教学场景的构造。注意其中两个框覆盖了同一只杯子的杯沿:即使大部分内容相同,它们仍分别经过卷积计算。这个具体的重复,推动下一页重新安排整图计算与区域读出的顺序。

逐步查看本页
  1. 在原图中提出几个可能含有物体的区域。
  2. 每个裁剪区域交给经预训练、再经检测适配的 CNN。
  3. 区域特征用于分类,并预测候选框的位置修正。

接到下一页:同一片杯沿,为什么要反复计算?

同一片杯沿,为什么要反复计算?

先算整张图,再从空间特征图中读取不同区域。

左右滑动查看完整图解 ↔

原图只编码一次共享空间特征图区域 1类别 / 框区域 2类别 / 框从不同位置提取区域表示SPP-net / Fast R-CNN:把整图卷积放到区域提取之前
多个候选区域(RoI)从 F 提取各自的表示,再预测类别和框。 在主讲中查看这一停点 ↗

这里保持原图与对象身份不变,比较计算顺序;此页选红杯和蓝杯两处区域追踪共享表示。逐区域路线需要把多个重叠裁剪分别交给卷积网络;共享路线先计算整图特征,再根据各个 RoI 的坐标提取区域表示。SPP-net 与 Fast R-CNN 推进了这种组织方式。共享的是整图卷积阶段,区域相关的后续计算仍然存在,因此不能把本例三条路径理解成实测三倍加速。特征图上的每个位置保存多个通道;框的空间范围需映射到这张图,不能只留下整图分类向量。SPP-net 与 Fast R-CNN 的年份标记说明这种计算组织如何在不同工作中逐步发展。下一步继续追问:候选区域本身能否也从 F 中学习?

逐步查看本页
  1. 保留同一场景,先计算整图表示,再按区域读取。
  2. 共享卷积:整张图先得到一份空间特征 F。
  3. 多个候选区域(RoI)从 F 提取各自的表示,再预测类别和框。

接到下一页:候选区域,也从共享表示中学习

候选区域,也从共享表示中学习

Faster R-CNN 把“往哪里看”接入网络。

左右滑动查看完整图解 ↔

同一张共享特征图候选生成网络这里像物体吗?框该怎样调整?学出来的候选区域区域表示 → 类别 / 框共享 F 继续供区域提取使用Faster R-CNN:候选区域生成也参与学习
候选框与 F 一起提供区域表示,区域头再判断类别、修正坐标。 在主讲中查看这一停点 ↗

区域建议网络 RPN 从空间特征中同时估计候选位置与物体性,它回答的是这里是否可能有物体,而不是最终判断杯子或书。候选随后交给区域头进行具体分类和框修正。Faster R-CNN 让提案与检测能够复用整图卷积计算;图中保留上一页的共享特征,只将外部候选模块换成学习得到的提案支路。框的筛选和位置调整仍然必要,不能将 RPN 的输出当作真值。原论文作者是任少卿、何恺明、Ross Girshick 和孙剑。此页只跟踪新的计算关系,不展开 anchor 参数表;相关实现也不能替代对整个系统耗时的测量。接下来从矩形位置转向杯子真实轮廓。

逐步查看本页
  1. 先保留一份整图共享特征 F。
  2. RPN 在 F 上判断哪里像物体,并预测候选框的位置。
  3. 候选框与 F 一起提供区域表示,区域头再判断类别、修正坐标。

接到下一页:每个位置,都要一个类别

每个位置,都要一个类别

另一条问题线:从全图密集像素预测出发,结合粗语义与细空间信息。

左右滑动查看完整图解 ↔

全图输入目标:每个像素的类别较粗的语义信息较细的空间信息上采样融合逐像素类别 · 两只杯子仍同类FCN:一条面向密集输出的路线
融合并上采样,输出全图像素类别;同类的两只杯子仍同色。 在主讲中查看这一停点 ↗

FCN 应作为独立的密集预测路线理解,而不是 R-CNN 系列自动升级出来的一站。它将分类网络改为全卷积形式,用像素标注进行任务训练;粗尺度预测与较浅层细尺度信息融合,以兼顾对象语义和位置细节。图中网格表达空间信息的组织,不是本轮运行得到的置信度热图。最终两只杯子使用同一类别色,说明语义分割尚未要求区分实例身份。上采样增加输出位置,并不单凭插值创造编码器已经丢失的差别;较细分支提供额外信息才是本页的重要观察。FCN 的作者是 Jonathan Long、Evan Shelhamer、Trevor Darrell,来自 UC Berkeley。接下来把像素预测与区域实例的组织汇合。

逐步查看本页
  1. 目标从几个框变成每个像素的类别。
  2. 较深层提供粗尺度语义,较浅层保留更细的位置线索。
  3. 融合并上采样,输出全图像素类别;同类的两只杯子仍同色。

接到下一页:先找到这个杯子,再描出它的轮廓

先找到这个杯子,再描出它的轮廓

一个 RoI,连接类别、框与区域内的掩码。

左右滑动查看完整图解 ↔

杯子 #2 的 RoI(0,0)(1,1)区域归一化坐标原图范围 → 区域范围类别:杯子 + 框坐标区域内实例掩码这个 RoI 对应这个 mask 目标Mask R-CNN:区域身份与区域内边界共同学习
切换到杯子 #2:原图范围、区域坐标和 mask 目标一起改变。 在主讲中查看这一停点 ↗

Mask R-CNN 在区域检测的组织中加入掩码分支,令一个 RoI 对应类别、框修正以及区域内部的像素输出。图中始终配对显示原图框、局部区域坐标和可见掩码。若杯子 #1 的框内包含杯子 #2 的一部分,那些像素不属于杯子 #1 的前景目标。原论文的 mask 分支采用卷积结构以保持空间布局;类别预测与二值 mask 预测分开处理。训练时使用对应类别的 mask 通道计算损失,而不是让区域内各类别用像素 softmax 互相竞争。FCN 的像素计算与检测的实例组织在这里汇合。要让像素输出对得上原图,还必须检查:区域坐标映到较粗特征图后有没有被移动。

逐步查看本页
  1. 选中杯子 #1 的 RoI,同时查看它在原图中的范围。
  2. 把区域映到局部坐标,预测属于该实例的像素。
  3. 切换到杯子 #2:原图范围、区域坐标和 mask 目标一起改变。

接到下一页:边界在 35,为什么被读到 32?

边界在 35,为什么被读到 32?

stride 16 表示特征网格一步对应原图 16 像素:35÷16=2.1875。

左右滑动查看完整图解 ↔

坐标约定:原图坐标 ÷ stride 16 → 特征坐标原图边界 x = 350163248648035原图特征边界35 / 16 = 2.187532取整为 2 → 对回原图 x = 32边界移动了 3 个原图像素
若量化为 2,映回原图就是 32,与原边界相差 3 像素。 在主讲中查看这一停点 ↗

本页采用简单的教学坐标约定:特征坐标等于原图坐标除以 stride,不加入半像素偏移。stride 为 16 时,原图 x=35 映到 2.1875;若取整为 2,映回原图是 32。35 与 32 两个位置的差异来自特征坐标取整这一步。这说明区域坐标量化可移动采样范围,不等于已经证明某一真实系统恰好产生三像素误差。实际库的像素中心约定、边界处理与 aligned 参数各不相同。原始 RoIPool 还涉及分 bin 与汇总,因此此处只解释坐标量化,不把单点取整伪装成完整 RoIPool 算法。下一页保留同一坐标,展示连续位置怎样读取现有特征。

逐步查看本页
  1. 先固定原图边界 x=35;相邻特征网格间隔对应 16 个原图像素。
  2. 不取整时,35÷16=2.1875,位置可以保留为小数。
  3. 若量化为 2,映回原图就是 32,与原边界相差 3 像素。

接到下一页:保留连续位置,从邻居读取特征

保留连续位置,从邻居读取特征

RoIAlign 修复对齐;插值发生在特征图中。

左右滑动查看完整图解 ↔

用一维切片看连续坐标采样特征值 2特征值 6位置 2位置 32.1875权重 0.8125权重 0.18750.8125 × 2 + 0.1875 × 6 = 2.75按连续位置插值,保留原来的坐标二维 RoI分为 2×2 个小格每格采样、插值、汇总
二维区域再分成小格,在每格内连续采样、双线性插值并汇总。 在主讲中查看这一停点 ↗

保持上一页的连续特征坐标 2.1875。为看清计算,本页用二维双线性插值沿一条整数纵坐标行退化的一维切片:相邻 x=2 与 x=3 的值分别为 2 和 6,距离决定权重 0.8125 与 0.1875,结果为 2.75。完整 RoIAlign 在 RoI 的各 bin 内取连续采样位置,用邻近特征值进行双线性插值后汇总,不对 RoI、bin 或采样坐标先量化。这不是回到原图重算细节,而是在已有 F 上更准确地读取信息。图中 2、6、2.75 是教学构造,不是论文特征测量。只要 F 中仍有变化,采样方式就可能影响读出;若两张图早已变成完全相同的 F,问题则发生在更早的一段。

逐步查看本页
  1. 连续位置仍是 2.1875,不先把它取成整数。
  2. 邻居值为 2 与 6,权重为 0.8125 与 0.1875。
  3. 读出值是 2×0.8125 + 6×0.1875 = 2.75。
  4. 二维区域再分成小格,在每格内连续采样、双线性插值并汇总。

接到下一页:左右不同,为什么都变成 0.5?

左右不同,为什么都变成 0.5?

问卷 2:先定位差别在哪一步消失。

左右滑动查看完整图解 ↔

两种局部布局,经过同一个编码器甲:左侧为 11010乙:右侧为 10101局部平均(1+0+1+0) / 4局部平均(0+1+0+1) / 40.50.5F 相同区域框也相同
两者都输出 0.5;后续看到的 F 与框坐标完全相同。 在主讲中查看这一停点 ↗

甲和乙的局部布局不同:甲亮在左列,乙亮在右列。问卷指定的教学编码器把每个不重叠 2×2 块压成均值,两块元素之和均为 2,因此都得到 0.5。题设还固定了图像其他位置、外轮廓和准确边界框,并禁止后续预测器回看原图;于是它能接触的 F 与框坐标完全相同。这里不是说所有下采样都只能保存均值,也不是说真实骨干必然丢掉边界,而是构造一个可严格核对的信息碰撞。后面的采样模块拿到的是相同的表示,因此本例的关键在于信息已被均值操作合并,不能仅凭网格粗细判断原因。下一页把三种改动放回同一条信息流,比较它们是否引入了新的可区分信息。

逐步查看本页
  1. 甲的 1 在左列,乙的 1 在右列;其他位置与框相同。
  2. 同一个局部均值操作,把每块的四个值加起来再除以 4。
  3. 两者都输出 0.5;后续看到的 F 与框坐标完全相同。

接到下一页:三条改动,哪一条重新提供了差别?

三条改动,哪一条重新提供了差别?

比较之前,先看每条路实际读到了什么。

左右滑动查看完整图解 ↔

甲1010乙0101→F = 0.5原有表示已相同A只换 RoIAlign在固定 F 上更准确地采样甲 = 乙B只增加上采样在固定 F 上生成更密的格点甲 = 乙C改变编码器 / 通道在汇聚之前保留左右差异甲 +1 / 乙 −1
C:在汇聚之前保存左右差异,才重新提供区分信息。 在主讲中查看这一停点 ↗

路径 A 更换区域采样操作,路径 B 先从已有 F 插值出更多格点,再做区域池化。由于甲乙在这两条路径的输入表示和框坐标相同,共享的确定性运算只能得到相同结果。更多格点不等于更多来自原图的信息。路径 C 则允许编码器在相同空间网格上输出额外通道,因此有机会将原图的局部差别传给后续模块;能否区分两图取决于新增通道实际记录的信息。结论严格依赖题设,不能扩展为插值永远无用。现实中 F 往往保留空间变化,更准确的采样可以改善读出和训练;此时应继续排查目标、监督和任务头,而不是把所有细边界错误都归给同一个环节。

逐步查看本页
  1. 两幅输入的原有表示与边界框完全相同。
  2. A:只换 RoIAlign,读取的 F 仍相同。
  3. B:先上采样再 RoIPool,新格点仍由同一 F 计算。
  4. C:在汇聚之前保存左右差异,才重新提供区分信息。

接到下一页:网格不变,多留一个局部通道

网格不变,多留一个局部通道

均值之外,保存“左列均值−右列均值”。

左右滑动查看完整图解 ↔

保留平均亮度,再新增一个方向通道甲1010乙0101均值通道0.5均值通道0.5新通道:左列均值 − 右列均值甲:1 − 0 = +1乙:0 − 1 = −1甲:[0.5,+1];乙:[0.5,−1]。网格相同,通道保存了差别。
再保留左列均值减右列均值,表示成为 [0.5,+1] 与 [0.5,−1]。 在主讲中查看这一停点 ↗

定义新增通道为左列均值减去右列均值。甲的左列均值为 1、右列为 0,因此得到 +1;乙相反,得到 −1。保留原均值通道后,两种表示成为 [0.5,+1] 与 [0.5,−1],空间网格没有变细,局部布局却已可区分。一个读取第二通道正负的规则,就能在这个构造中判断亮列在左还是在右。这证明空间分辨率、通道保存的信息与读出约束应分别检查。它不是一次真实训练结果,也不保证骨干会自行学会这种编码;如果下游又丢掉该通道或把正负混合,差异仍可能消失。可迁移表示的判断因此要落实到具体对象、信息内容与使用路径,不能只看网格大小或通道数量。

逐步查看本页
  1. 同样的空间网格,先看甲乙的左右布局。
  2. 只保留均值通道,两者都得到 0.5。
  3. 再保留左列均值减右列均值,表示成为 [0.5,+1] 与 [0.5,−1]。

接到下一页:训练对照说明:对齐值得修复

训练对照说明:对齐值得修复

同看插值与对齐,才能读懂 AP75 的变化。

左右滑动查看完整图解 ↔

Mask R-CNN · Table 2(c) · AP₇₅max 汇总 · ResNet-50-C4 · mask AP750510152025303526.4RoIPool27.1RoIWarp31.8RoIAlign指标改善支持对齐方法有效;不说明丢失的左右信息能从固定 F 中复原
这是训练配置对照;并未证明插值能恢复已经消失的信息。 在主讲中查看这一停点 ↗

问卷固定阅读 Mask R-CNN v3 的 Table 2(c)。图中只摘录 ResNet-50-C4、stride 16、max 汇总的 mask AP75:RoIPool 26.4,RoIWarp 27.1,RoIAlign 31.8。RoIAlign 的 average 行是 31.5,不能与此处混用。AP75 是以 mask IoU 阈值 0.75 进行匹配的 AP,不是像素准确率。RoIWarp 有双线性重采样却仍量化 RoI,对照提示关键不只是使用插值,还包括对齐。这些模型按不同配置训练,在 COCO trainval35k 训练、minival 验证,不是给同一个固定 F 换三种后处理。它支持修复训练系统中的对齐,而问卷构造讨论已完全相同的表示,两者并不冲突。

逐步查看本页
  1. RoIPool:max 汇总下 mask AP75 为 26.4。
  2. RoIWarp 使用插值但仍量化 RoI:27.1。
  3. RoIAlign 保留对齐:31.8,比 RoIPool 高 5.4 点。
  4. 这是训练配置对照;并未证明插值能恢复已经消失的信息。

接到下一页:提示变了,这次要分割谁?

提示变了,这次要分割谁?

图像表示可以复用;点或框指定当前对象。

左右滑动查看完整图解 ↔

同一图像与编码图像编码器ViT · MAE 初始化提示编码器框提示用框指定蓝杯掩码解码器结合图像与提示目标掩码经过分割训练,提示才成为可用接口 · 图示为教学标注
改用框指定蓝杯;图像表示不变,提示与目标区域一起变化。 在主讲中查看这一停点 ↗

SAM 将使用接口拆成图像编码、提示编码和掩码解码。对同一张图,较重的图像编码可预先计算,改变点或框后复用这份表示。图中依次切换两只杯子的提示,显示对应目标掩码,用来解释信息流,并非宣称本轮已运行 SAM 得到这些结果。提示决定想分割的对象,单个点也可能指向物体、部件或子部件,因此输出可能存在合理歧义。掩码不是语义名称,给全部对象命名与发现仍需其他信息和系统组织。原始 SAM 使用 MAE 预训练 ViT 初始化图像编码器,再进行提示与掩码监督的分割训练。这样第一部分学到的表示,经过新的接口和任务训练,才成为可以交互使用的工具。

逐步查看本页
  1. 图像编码器先计算一份可复用的图像表示。
  2. 点在红杯内部,提示与图像表示共同指定红杯掩码。
  3. 改用框指定蓝杯;图像表示不变,提示与目标区域一起变化。

接到下一页:四种视觉任务交付不同对象|问题从哪里出现

四种视觉任务交付不同对象|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
1
分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
2
观察对象:同一桌面场景含两只同类杯和一本书:语义图两杯同色,实例图给两杯不同 ID。
3
向后检验:整图 logits、框列表、每像素类别 logits、每实例局部掩码分别对应不同监督与误差。
向后检验:整图 logits、框列表、每像素类别 logits、每实例局部掩码分别对应不同监督与误差。 在主讲中查看这一停点 ↗

“图里有杯子”没有指出两只杯子在哪里,更没有给出杯把边界。分类正确不自动完成定位或分割,输出要求决定需要保存哪些空间信息。

逐步查看本页
  1. 分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
  2. 观察对象:同一桌面场景含两只同类杯和一本书:语义图两杯同色,实例图给两杯不同 ID。
  3. 向后检验:整图 logits、框列表、每像素类别 logits、每实例局部掩码分别对应不同监督与误差。

接到下一页:四种视觉任务交付不同对象|核心改动怎样工作

四种视觉任务交付不同对象|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
1
整图 logits、框列表、每像素类别 logits、每实例局部掩码分别对应不同监督与误差。
2
回到前一步:分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
3
向后检验:同一桌面场景含两只同类杯和一本书:语义图两杯同色,实例图给两杯不同 ID。
向后检验:同一桌面场景含两只同类杯和一本书:语义图两杯同色,实例图给两杯不同 ID。 在主讲中查看这一停点 ↗

框输出类别与四个坐标;语义分割给每像素类别;实例分割还给同类对象身份;集合输出需处理对象数与排列不确定性。

逐步查看本页
  1. 整图 logits、框列表、每像素类别 logits、每实例局部掩码分别对应不同监督与误差。
  2. 回到前一步:分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
  3. 向后检验:同一桌面场景含两只同类杯和一本书:语义图两杯同色,实例图给两杯不同 ID。

接到下一页:四种视觉任务交付不同对象|一起算一个完整例子

四种视觉任务交付不同对象|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
1
一只 L 形对象占 3×4 外接矩形中的 6 个像素;框面积为 12。
2
检测输出这一个框;语义分割还要指出 12 个位置中哪 6 个属于对象。
3
两只同类对象相接时,类别图可以连成一片;实例图仍需保留两个身份。
两只同类对象相接时,类别图可以连成一片;实例图仍需保留两个身份。 在主讲中查看这一停点 ↗

一只 L 形对象占 3×4 外接矩形中的 6 个像素;框面积为 12。

检测输出这一个框;语义分割还要指出 12 个位置中哪 6 个属于对象。

两只同类对象相接时,类别图可以连成一片;实例图仍需保留两个身份。

两个相接杯子的实例ID为1和2,映射到语义类cup后可合并成同一片类别区域。仅凭这张语义图一般不能唯一恢复两只杯子的实例划分。

逐步查看本页
  1. 一只 L 形对象占 3×4 外接矩形中的 6 个像素;框面积为 12。
  2. 检测输出这一个框;语义分割还要指出 12 个位置中哪 6 个属于对象。
  3. 两只同类对象相接时,类别图可以连成一片;实例图仍需保留两个身份。

接到下一页:四种视觉任务交付不同对象|怎样检查这项解释

四种视觉任务交付不同对象|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
1
逐项写出 tensor/列表 shape,并核对通道并不天然一一对应语义类别。
2
回到前一步:同一桌面场景含两只同类杯和一本书:语义图两杯同色,实例图给两杯不同 ID。
3
向后检验:教学标注不是模型预测;遮挡区域是否补全取决于数据集定义。
向后检验:教学标注不是模型预测;遮挡区域是否补全取决于数据集定义。 在主讲中查看这一停点 ↗

LAB03展示同图不同目标;LAB10确实训练图像→框,LAB11训练图像→像素。它们分别有定位AP与逐类IoU,评价不能用同一个整图准确率替代。

逐步查看本页
  1. 逐项写出 tensor/列表 shape,并核对通道并不天然一一对应语义类别。
  2. 回到前一步:同一桌面场景含两只同类杯和一本书:语义图两杯同色,实例图给两杯不同 ID。
  3. 向后检验:教学标注不是模型预测;遮挡区域是否补全取决于数据集定义。

接到下一页:四种视觉任务交付不同对象|什么结论还不能推出

四种视觉任务交付不同对象|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

分类、检测、语义分割与实例分割不是只换评价名称,它们输出的数据结构不同。
1
教学标注不是模型预测;遮挡区域是否补全取决于数据集定义。
2
回到前一步:逐项写出 tensor/列表 shape,并核对通道并不天然一一对应语义类别。
3
向后检验:教学标注不是模型预测;遮挡区域是否补全取决于数据集定义。
向后检验:教学标注不是模型预测;遮挡区域是否补全取决于数据集定义。 在主讲中查看这一停点 ↗

几何框对也可能mask错;语义类别全对也可能实例合并。判断错误时先说明交付对象,才能决定修改表示、采样、任务头或标签。

逐步查看本页
  1. 教学标注不是模型预测;遮挡区域是否补全取决于数据集定义。
  2. 回到前一步:逐项写出 tensor/列表 shape,并核对通道并不天然一一对应语义类别。
  3. 向后检验:教学标注不是模型预测;遮挡区域是否补全取决于数据集定义。

接到下一页:检测错误要经过排序与匹配|问题从哪里出现

检测错误要经过排序与匹配|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
1
一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
2
观察对象:两个真值、四个预测,手算 IoU、TP/FP 序列、precision-recall,并比较 AP50 与 AP75。
3
向后检验:按置信度排序,逐个与尚未匹配的同类真值比较 IoU;重复框成为 false positive,漏掉真值成为 false negative。
向后检验:按置信度排序,逐个与尚未匹配的同类真值比较 IoU;重复框成为 false positive,漏掉真值成为 false negative。 在主讲中查看这一停点 ↗

同一个对象被报告两遍不是两个正确检测。检测评价必须同时处理置信度排序、定位门槛与一对一匹配。

逐步查看本页
  1. 一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
  2. 观察对象:两个真值、四个预测,手算 IoU、TP/FP 序列、precision-recall,并比较 AP50 与 AP75。
  3. 向后检验:按置信度排序,逐个与尚未匹配的同类真值比较 IoU;重复框成为 false positive,漏掉真值成为 false negative。

接到下一页:检测错误要经过排序与匹配|核心改动怎样工作

检测错误要经过排序与匹配|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
1
按置信度排序,逐个与尚未匹配的同类真值比较 IoU;重复框成为 false positive,漏掉真值成为 false negative。
2
回到前一步:一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
3
向后检验:两个真值、四个预测,手算 IoU、TP/FP 序列、precision-recall,并比较 AP50 与 AP75。
向后检验:两个真值、四个预测,手算 IoU、TP/FP 序列、precision-recall,并比较 AP50 与 AP75。 在主讲中查看这一停点 ↗

在固定类别和IoU阈值下按分数处理预测,每个真值最多匹配一次;重复命中已匹配对象算FP。precision与recall随排序累计,AP对PR关系汇总。

逐步查看本页
  1. 按置信度排序,逐个与尚未匹配的同类真值比较 IoU;重复框成为 false positive,漏掉真值成为 false negative。
  2. 回到前一步:一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
  3. 向后检验:两个真值、四个预测,手算 IoU、TP/FP 序列、precision-recall,并比较 AP50 与 AP75。

接到下一页:检测错误要经过排序与匹配|一起算一个完整例子

检测错误要经过排序与匹配|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
1
两项真值,按置信度排序的三个预测依次是 TP、重复 FP、TP。
2
precision 依次为 1、1/2、2/3;recall 为 1/2、1/2、1。
3
按全点插值包络,AP=(1/2)×1+(1/2)×(2/3)=5/6;重复框不是新的召回。
按全点插值包络,AP=(1/2)×1+(1/2)×(2/3)=5/6;重复框不是新的召回。 在主讲中查看这一停点 ↗

两项真值,按置信度排序的三个预测依次是 TP、重复 FP、TP。

precision 依次为 1、1/2、2/3;recall 为 1/2、1/2、1。

按全点插值包络,AP=(1/2)×1+(1/2)×(2/3)=5/6;重复框不是新的召回。

两个真值,预测身份依次TP、重复FP、背景FP、TP;precision为1,.5,.333,.5,recall为.5,.5,.5,1。全点插值积分AP=.5×1+.5×.5=.75。

逐步查看本页
  1. 两项真值,按置信度排序的三个预测依次是 TP、重复 FP、TP。
  2. precision 依次为 1、1/2、2/3;recall 为 1/2、1/2、1。
  3. 按全点插值包络,AP=(1/2)×1+(1/2)×(2/3)=5/6;重复框不是新的召回。

接到下一页:检测错误要经过排序与匹配|怎样检查这项解释

检测错误要经过排序与匹配|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
1
小集合完整走一次匹配,明确类别错、位置错、重复与漏检各怎样进入曲线。
2
回到前一步:两个真值、四个预测,手算 IoU、TP/FP 序列、precision-recall,并比较 AP50 与 AP75。
3
向后检验:AP 与分割 mIoU 不可混用;单一阈值表现不代表所有定位精度。
向后检验:AP 与分割 mIoU 不可混用;单一阈值表现不代表所有定位精度。 在主讲中查看这一停点 ↗

LAB09可改变重复框分数与IoU阈值;LAB10采用明示的分类全局排序和precision-envelope积分,保留AP50 .97303、AP75 .70367。

逐步查看本页
  1. 小集合完整走一次匹配,明确类别错、位置错、重复与漏检各怎样进入曲线。
  2. 回到前一步:两个真值、四个预测,手算 IoU、TP/FP 序列、precision-recall,并比较 AP50 与 AP75。
  3. 向后检验:AP 与分割 mIoU 不可混用;单一阈值表现不代表所有定位精度。

接到下一页:检测错误要经过排序与匹配|什么结论还不能推出

检测错误要经过排序与匹配|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

一个预测“看起来差不多”不足以判断对错;分数阈值、IoU 阈值和一对一匹配作用不同。
1
AP 与分割 mIoU 不可混用;单一阈值表现不代表所有定位精度。
2
回到前一步:小集合完整走一次匹配,明确类别错、位置错、重复与漏检各怎样进入曲线。
3
向后检验:AP 与分割 mIoU 不可混用;单一阈值表现不代表所有定位精度。
向后检验:AP 与分割 mIoU 不可混用;单一阈值表现不代表所有定位精度。 在主讲中查看这一停点 ↗

单阈值AP不能直接称COCO AP。COCO还有101点recall采样、多IoU阈值及面积分组;背景准确率高也不能代替检测定位与重复评价。

逐步查看本页
  1. AP 与分割 mIoU 不可混用;单一阈值表现不代表所有定位精度。
  2. 回到前一步:小集合完整走一次匹配,明确类别错、位置错、重复与漏检各怎样进入曲线。
  3. 向后检验:AP 与分割 mIoU 不可混用;单一阈值表现不代表所有定位精度。

接到下一页:框回归预测相对变换|问题从哪里出现

框回归预测相对变换|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
1
直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
2
观察对象:参考框中心(50,40)、宽40高20,目标中心(56,35)、宽60高10,计算 tx,ty,tw,th 并反解。
3
向后检验:用候选框中心和宽高归一化位移,宽高采用对数比例;推理时反算回目标框。
向后检验:用候选框中心和宽高归一化位移,宽高采用对数比例;推理时反算回目标框。 在主讲中查看这一停点 ↗

直接输出绝对像素坐标会把相同相对位移放到不同尺度。参考框把位置预测变为相对平移与尺度变化,但编码和解码必须使用一致约定。

逐步查看本页
  1. 直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
  2. 观察对象:参考框中心(50,40)、宽40高20,目标中心(56,35)、宽60高10,计算 tx,ty,tw,th 并反解。
  3. 向后检验:用候选框中心和宽高归一化位移,宽高采用对数比例;推理时反算回目标框。

接到下一页:框回归预测相对变换|核心改动怎样工作

框回归预测相对变换|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
1
用候选框中心和宽高归一化位移,宽高采用对数比例;推理时反算回目标框。
2
回到前一步:直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
3
向后检验:参考框中心(50,40)、宽40高20,目标中心(56,35)、宽60高10,计算 tx,ty,tw,th 并反解。
向后检验:参考框中心(50,40)、宽40高20,目标中心(56,35)、宽60高10,计算 tx,ty,tw,th 并反解。 在主讲中查看这一停点 ↗

无额外尺度系数时,tx=(cx_g−cx_a)/w_a,tw=log(w_g/w_a),解码cx_p=cx_a+w_a tx、w_p=w_a exp(tw)。

逐步查看本页
  1. 用候选框中心和宽高归一化位移,宽高采用对数比例;推理时反算回目标框。
  2. 回到前一步:直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
  3. 向后检验:参考框中心(50,40)、宽40高20,目标中心(56,35)、宽60高10,计算 tx,ty,tw,th 并反解。

接到下一页:框回归预测相对变换|一起算一个完整例子

框回归预测相对变换|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
1
用中心/宽高记 anchor=(0.5,0.5,0.2,0.4),目标=(0.55,0.45,0.4,0.2)。
2
未加额外尺度因子的编码为 tx=0.25,ty=-0.125,tw=ln2,th=-ln2。
3
解码:0.5+0.25×0.2=0.55,0.2×exp(ln2)=0.4;训练与解码必须使用同一约定。
解码:0.5+0.25×0.2=0.55,0.2×exp(ln2)=0.4;训练与解码必须使用同一约定。 在主讲中查看这一停点 ↗

用中心/宽高记 anchor=(0.5,0.5,0.2,0.4),目标=(0.55,0.45,0.4,0.2)。

未加额外尺度因子的编码为 tx=0.25,ty=-0.125,tw=ln2,th=-ln2。

解码:0.5+0.25×0.2=0.55,0.2×exp(ln2)=0.4;训练与解码必须使用同一约定。

锚框中心(.4,.4)、宽高.4;真值中心(.45,.4)、大小不变。目标偏移(.125,0,0,0),解码横中心为.4+.4×.125=.45。

逐步查看本页
  1. 用中心/宽高记 anchor=(0.5,0.5,0.2,0.4),目标=(0.55,0.45,0.4,0.2)。
  2. 未加额外尺度因子的编码为 tx=0.25,ty=-0.125,tw=ln2,th=-ln2。
  3. 解码:0.5+0.25×0.2=0.55,0.2×exp(ln2)=0.4;训练与解码必须使用同一约定。

接到下一页:框回归预测相对变换|怎样检查这项解释

框回归预测相对变换|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
1
正向与反向计算必须复原同一目标;坐标约定、边界包含规则和数值稳定性写清。
2
回到前一步:参考框中心(50,40)、宽40高20,目标中心(56,35)、宽60高10,计算 tx,ty,tw,th 并反解。
3
向后检验:回归只修正候选,不负责决定类别;正负样本匹配决定哪些框参与哪项损失。
向后检验:回归只修正候选,不负责决定类别;正负样本匹配决定哪些框参与哪项损失。 在主讲中查看这一停点 ↗

CLS08给出成对公式与数值;D2L采用的偏移还包含具体尺度系数,学生必须从代码检查。LAB10回归仅作用于匹配正例,背景位置没有真值。

逐步查看本页
  1. 正向与反向计算必须复原同一目标;坐标约定、边界包含规则和数值稳定性写清。
  2. 回到前一步:参考框中心(50,40)、宽40高20,目标中心(56,35)、宽60高10,计算 tx,ty,tw,th 并反解。
  3. 向后检验:回归只修正候选,不负责决定类别;正负样本匹配决定哪些框参与哪项损失。

接到下一页:框回归预测相对变换|什么结论还不能推出

框回归预测相对变换|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

直接预测绝对像素坐标会把图像尺寸和候选尺度混进目标,难以共享学习。
1
回归只修正候选,不负责决定类别;正负样本匹配决定哪些框参与哪项损失。
2
回到前一步:正向与反向计算必须复原同一目标;坐标约定、边界包含规则和数值稳定性写清。
3
向后检验:回归只修正候选,不负责决定类别;正负样本匹配决定哪些框参与哪项损失。
向后检验:回归只修正候选,不负责决定类别;正负样本匹配决定哪些框参与哪项损失。 在主讲中查看这一停点 ↗

像素坐标与归一化坐标、连续边界面积与含端点像素面积不能混用。回归损失小也不自动保证高IoU,尤其小框对相对误差更敏感。

逐步查看本页
  1. 回归只修正候选,不负责决定类别;正负样本匹配决定哪些框参与哪项损失。
  2. 回到前一步:正向与反向计算必须复原同一目标;坐标约定、边界包含规则和数值稳定性写清。
  3. 向后检验:回归只修正候选,不负责决定类别;正负样本匹配决定哪些框参与哪项损失。

接到下一页:RPN 如何把参考框变成训练样本|问题从哪里出现

RPN 如何把参考框变成训练样本|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
1
密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
2
观察对象:三个锚框与一个真值的 IoU 为 0.72、0.48、0.08;用给定阈值分配标签并改变阈值观察。
3
向后检验:按 IoU 与真值匹配,为正例计算 objectness 与框回归,为负例只计算 objectness,忽略项不进损失。
向后检验:按 IoU 与真值匹配,为正例计算 objectness 与框回归,为负例只计算 objectness,忽略项不进损失。 在主讲中查看这一停点 ↗

锚框是参考坐标,不是已经找到的对象。只有通过与真值匹配赋予类别、回归目标和ignore身份,才能形成训练样本。

逐步查看本页
  1. 密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
  2. 观察对象:三个锚框与一个真值的 IoU 为 0.72、0.48、0.08;用给定阈值分配标签并改变阈值观察。
  3. 向后检验:按 IoU 与真值匹配,为正例计算 objectness 与框回归,为负例只计算 objectness,忽略项不进损失。

接到下一页:RPN 如何把参考框变成训练样本|核心改动怎样工作

RPN 如何把参考框变成训练样本|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
1
按 IoU 与真值匹配,为正例计算 objectness 与框回归,为负例只计算 objectness,忽略项不进损失。
2
回到前一步:密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
3
向后检验:三个锚框与一个真值的 IoU 为 0.72、0.48、0.08;用给定阈值分配标签并改变阈值观察。
向后检验:三个锚框与一个真值的 IoU 为 0.72、0.48、0.08;用给定阈值分配标签并改变阈值观察。 在主讲中查看这一停点 ↗

匹配先保障每个真值有独立参考框,再依IoU标记正、负或忽略;位置损失只对正例计算。空图训练背景分类,回归安全归零。

逐步查看本页
  1. 按 IoU 与真值匹配,为正例计算 objectness 与框回归,为负例只计算 objectness,忽略项不进损失。
  2. 回到前一步:密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
  3. 向后检验:三个锚框与一个真值的 IoU 为 0.72、0.48、0.08;用给定阈值分配标签并改变阈值观察。

接到下一页:RPN 如何把参考框变成训练样本|一起算一个完整例子

RPN 如何把参考框变成训练样本|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
1
教学阈值设正例 ≥0.7、负例 <0.3;三框与真值 IoU 为 0.8、0.4、0.1。
2
依次分为正例、忽略、负例。只有正例有对应的框回归目标。
3
若还有“每个真值至少一个匹配”的规则,应先明确定义;阈值并不是唯一匹配协议。
若还有“每个真值至少一个匹配”的规则,应先明确定义;阈值并不是唯一匹配协议。 在主讲中查看这一停点 ↗

教学阈值设正例 ≥0.7、负例 <0.3;三框与真值 IoU 为 0.8、0.4、0.1。

依次分为正例、忽略、负例。只有正例有对应的框回归目标。

若还有“每个真值至少一个匹配”的规则,应先明确定义;阈值并不是唯一匹配协议。

LAB10使用288锚框×768训练图=221184锚框实例,分为5980正例、17736忽略和197468背景。正阈值.45,ignore[.25,.45),另有强制匹配。

逐步查看本页
  1. 教学阈值设正例 ≥0.7、负例 <0.3;三框与真值 IoU 为 0.8、0.4、0.1。
  2. 依次分为正例、忽略、负例。只有正例有对应的框回归目标。
  3. 若还有“每个真值至少一个匹配”的规则,应先明确定义;阈值并不是唯一匹配协议。

接到下一页:RPN 如何把参考框变成训练样本|怎样检查这项解释

RPN 如何把参考框变成训练样本|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
1
目标构造表显示每项损失的参与集合;再与 proposal 召回和最终检测误差连接。
2
回到前一步:三个锚框与一个真值的 IoU 为 0.72、0.48、0.08;用给定阈值分配标签并改变阈值观察。
3
向后检验:阈值是协议而非自然常数;不同实现还处理每个真值的最佳锚框和采样平衡。
向后检验:阈值是协议而非自然常数;不同实现还处理每个真值的最佳锚框和采样平衡。 在主讲中查看这一停点 ↗

真实模型从RGB卷积特征预测类别和偏移,hard-negative CE选择背景贡献。学生能沿代码检查框由图像预测,坐标仅用于监督与评价。

逐步查看本页
  1. 目标构造表显示每项损失的参与集合;再与 proposal 召回和最终检测误差连接。
  2. 回到前一步:三个锚框与一个真值的 IoU 为 0.72、0.48、0.08;用给定阈值分配标签并改变阈值观察。
  3. 向后检验:阈值是协议而非自然常数;不同实现还处理每个真值的最佳锚框和采样平衡。

接到下一页:RPN 如何把参考框变成训练样本|什么结论还不能推出

RPN 如何把参考框变成训练样本|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

密集铺设许多锚框后,哪些算正例、负例或忽略项,直接改变训练数据。
1
阈值是协议而非自然常数;不同实现还处理每个真值的最佳锚框和采样平衡。
2
回到前一步:目标构造表显示每项损失的参与集合;再与 proposal 召回和最终检测误差连接。
3
向后检验:阈值是协议而非自然常数;不同实现还处理每个真值的最佳锚框和采样平衡。
向后检验:阈值是协议而非自然常数;不同实现还处理每个真值的最佳锚框和采样平衡。 在主讲中查看这一停点 ↗

锚框密度、长宽比与尺度决定哪些对象容易匹配。更多锚框也增加背景和重复;随机四维向量分类即便叫objectness,也不能证明完整锚框检测。

逐步查看本页
  1. 阈值是协议而非自然常数;不同实现还处理每个真值的最佳锚框和采样平衡。
  2. 回到前一步:目标构造表显示每项损失的参与集合;再与 proposal 召回和最终检测误差连接。
  3. 向后检验:阈值是协议而非自然常数;不同实现还处理每个真值的最佳锚框和采样平衡。

接到下一页:NMS 排序后抑制重复框|问题从哪里出现

NMS 排序后抑制重复框|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
1
同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
2
观察对象:四个框按分数排序,逐轮列出保留与抑制;再把两个拥挤物体放近,观察错误抑制。
3
向后检验:取最高分框,抑制与它 IoU 超阈值的同类框,继续处理剩余预测。
向后检验:取最高分框,抑制与它 IoU 超阈值的同类框,继续处理剩余预测。 在主讲中查看这一停点 ↗

密集预测常对同一对象给出多个相似框。NMS减少重复,但在拥挤场景也可能把不同对象的重叠框一起删掉。

逐步查看本页
  1. 同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
  2. 观察对象:四个框按分数排序,逐轮列出保留与抑制;再把两个拥挤物体放近,观察错误抑制。
  3. 向后检验:取最高分框,抑制与它 IoU 超阈值的同类框,继续处理剩余预测。

接到下一页:NMS 排序后抑制重复框|核心改动怎样工作

NMS 排序后抑制重复框|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
1
取最高分框,抑制与它 IoU 超阈值的同类框,继续处理剩余预测。
2
回到前一步:同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
3
向后检验:四个框按分数排序,逐轮列出保留与抑制;再把两个拥挤物体放近,观察错误抑制。
向后检验:四个框按分数排序,逐轮列出保留与抑制;再把两个拥挤物体放近,观察错误抑制。 在主讲中查看这一停点 ↗

通常按类排序,保留最高分框,删除与之IoU超过阈值的其余框,再继续。NMS没有真值,不同于评价时的一对一匹配。

逐步查看本页
  1. 取最高分框,抑制与它 IoU 超阈值的同类框,继续处理剩余预测。
  2. 回到前一步:同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
  3. 向后检验:四个框按分数排序,逐轮列出保留与抑制;再把两个拥挤物体放近,观察错误抑制。

接到下一页:NMS 排序后抑制重复框|一起算一个完整例子

NMS 排序后抑制重复框|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
1
三个同类预测 A/B/C 分数为 .9/.8/.7;A 与 B 的 IoU=.8,A 与 C=.1。
2
NMS 阈值 .5:保留 A,抑制 B,保留 C;阈值 .9 时 B 也保留。
3
若 B 实际对应挨得很近的另一物体,抑制会丢召回;几何重叠不是实例同一性的证明。
若 B 实际对应挨得很近的另一物体,抑制会丢召回;几何重叠不是实例同一性的证明。 在主讲中查看这一停点 ↗

三个同类预测 A/B/C 分数为 .9/.8/.7;A 与 B 的 IoU=.8,A 与 C=.1。

NMS 阈值 .5:保留 A,抑制 B,保留 C;阈值 .9 时 B 也保留。

若 B 实际对应挨得很近的另一物体,抑制会丢召回;几何重叠不是实例同一性的证明。

同一LAB10权重与保留图,NMS阈值.35→.65:展示阈值.4下recall .98311→1,precision .94175→.41926,AP50 .97303→.95866。

逐步查看本页
  1. 三个同类预测 A/B/C 分数为 .9/.8/.7;A 与 B 的 IoU=.8,A 与 C=.1。
  2. NMS 阈值 .5:保留 A,抑制 B,保留 C;阈值 .9 时 B 也保留。
  3. 若 B 实际对应挨得很近的另一物体,抑制会丢召回;几何重叠不是实例同一性的证明。

接到下一页:NMS 排序后抑制重复框|怎样检查这项解释

NMS 排序后抑制重复框|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
1
改变 score threshold 与 NMS IoU threshold 会产生不同 precision/recall 取舍。
2
回到前一步:四个框按分数排序,逐轮列出保留与抑制;再把两个拥挤物体放近,观察错误抑制。
3
向后检验:NMS 是后处理规则,不修复表示或分类错误;DETR 的集合训练改变了输出组织,但不等于所有场景都无需后处理。
向后检验:NMS 是后处理规则,不修复表示或分类错误;DETR 的集合训练改变了输出组织,但不等于所有场景都无需后处理。 在主讲中查看这一停点 ↗

这组真实后处理对照显示,放宽抑制可覆盖剩余对象,却产生大量重复。预测图与逐项统计可让学生查看增加的是新目标还是同一目标的多框。

逐步查看本页
  1. 改变 score threshold 与 NMS IoU threshold 会产生不同 precision/recall 取舍。
  2. 回到前一步:四个框按分数排序,逐轮列出保留与抑制;再把两个拥挤物体放近,观察错误抑制。
  3. 向后检验:NMS 是后处理规则,不修复表示或分类错误;DETR 的集合训练改变了输出组织,但不等于所有场景都无需后处理。

接到下一页:NMS 排序后抑制重复框|什么结论还不能推出

NMS 排序后抑制重复框|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

同一物体周围的密集高分预测会重复计数,但相邻真实物体也可能高度重叠。
1
NMS 是后处理规则,不修复表示或分类错误;DETR 的集合训练改变了输出组织,但不等于所有场景都无需后处理。
2
回到前一步:改变 score threshold 与 NMS IoU threshold 会产生不同 precision/recall 取舍。
3
向后检验:NMS 是后处理规则,不修复表示或分类错误;DETR 的集合训练改变了输出组织,但不等于所有场景都无需后处理。
向后检验:NMS 是后处理规则,不修复表示或分类错误;DETR 的集合训练改变了输出组织,但不等于所有场景都无需后处理。 在主讲中查看这一停点 ↗

NMS并非越强或越弱越好。阈值不应看完测试集再选择;AP候选分数下限与展示阈值也应分别注明。

逐步查看本页
  1. NMS 是后处理规则,不修复表示或分类错误;DETR 的集合训练改变了输出组织,但不等于所有场景都无需后处理。
  2. 回到前一步:改变 score threshold 与 NMS IoU threshold 会产生不同 precision/recall 取舍。
  3. 向后检验:NMS 是后处理规则,不修复表示或分类错误;DETR 的集合训练改变了输出组织,但不等于所有场景都无需后处理。

接到下一页:FCN 是独立的密集预测路线|问题从哪里出现

FCN 是独立的密集预测路线|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

逐像素裁块分类重复计算,而且固定全连接头限制输入大小与输出网格。
1
逐像素裁块分类重复计算,而且固定全连接头限制输入大小与输出网格。
2
观察对象:输入 32×32,经 stride 2 两次得到 8×8 输出;比较逐块分类与一次全卷积的覆盖。
3
向后检验:将分类头写成卷积,对整图共享计算,得到较粗 logits 网格,再上采样到像素空间。
向后检验:将分类头写成卷积,对整图共享计算,得到较粗 logits 网格,再上采样到像素空间。 在主讲中查看这一停点 ↗

从框走向像素时,网络要为每个位置交付类别分布。把真值mask缩小再放大,只研究采样,不包含图像感知或学习。

逐步查看本页
  1. 逐像素裁块分类重复计算,而且固定全连接头限制输入大小与输出网格。
  2. 观察对象:输入 32×32,经 stride 2 两次得到 8×8 输出;比较逐块分类与一次全卷积的覆盖。
  3. 向后检验:将分类头写成卷积,对整图共享计算,得到较粗 logits 网格,再上采样到像素空间。

接到下一页:FCN 是独立的密集预测路线|核心改动怎样工作

FCN 是独立的密集预测路线|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

逐像素裁块分类重复计算,而且固定全连接头限制输入大小与输出网格。
1
将分类头写成卷积,对整图共享计算,得到较粗 logits 网格,再上采样到像素空间。
2
回到前一步:逐像素裁块分类重复计算,而且固定全连接头限制输入大小与输出网格。
3
向后检验:输入 32×32,经 stride 2 两次得到 8×8 输出;比较逐块分类与一次全卷积的覆盖。
向后检验:输入 32×32,经 stride 2 两次得到 8×8 输出;比较逐块分类与一次全卷积的覆盖。 在主讲中查看这一停点 ↗

三类分割logits为[B,3,H,W],target为[B,H,W]整数ID。逐像素交叉熵按有效像素归一化,ignore255排除于训练和混淆矩阵。

逐步查看本页
  1. 将分类头写成卷积,对整图共享计算,得到较粗 logits 网格,再上采样到像素空间。
  2. 回到前一步:逐像素裁块分类重复计算,而且固定全连接头限制输入大小与输出网格。
  3. 向后检验:输入 32×32,经 stride 2 两次得到 8×8 输出;比较逐块分类与一次全卷积的覆盖。

接到下一页:FCN 是独立的密集预测路线|一起算一个完整例子

FCN 是独立的密集预测路线|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

逐像素裁块分类重复计算,而且固定全连接头限制输入大小与输出网格。
1
48×48 RGB 输入以 stride 4 得到 12×12 特征;三类分数为 [3,12,12]。
2
插值至 [3,48,48] 后沿类别维 argmax,得到 [48,48] 标签图。
3
标签 mask 不作为网络输入;ignore=255 在损失和混淆矩阵中都排除,不能当第四类。
标签 mask 不作为网络输入;ignore=255 在损失和混淆矩阵中都排除,不能当第四类。 在主讲中查看这一停点 ↗

48×48 RGB 输入以 stride 4 得到 12×12 特征;三类分数为 [3,12,12]。

插值至 [3,48,48] 后沿类别维 argmax,得到 [48,48] 标签图。

标签 mask 不作为网络输入;ignore=255 在损失和混淆矩阵中都排除,不能当第四类。

LAB11在384训练、128保留48×48图上训练20,590参数FCN,12×12粗logits双线性恢复并融合细跳连。原尺度三类mIoU=.99041。

逐步查看本页
  1. 48×48 RGB 输入以 stride 4 得到 12×12 特征;三类分数为 [3,12,12]。
  2. 插值至 [3,48,48] 后沿类别维 argmax,得到 [48,48] 标签图。
  3. 标签 mask 不作为网络输入;ignore=255 在损失和混淆矩阵中都排除,不能当第四类。

接到下一页:FCN 是独立的密集预测路线|怎样检查这项解释

FCN 是独立的密集预测路线|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

LAB11 · FCN 从 RGB 预测三类 mask;颜色逐像素基线揭示数据捷径。
向后检验:FCN 不是 R-CNN 的自然升级;它改变的是输出组织与共享计算路径。 在主讲中查看这一停点 ↗

只有12参数的RGB逐像素分类基线mIoU=1,揭示颜色直接区分类别。5×5模糊后FCN=.92397、RGB=.84996;当前网络优势出现在这个指定干预下。

逐步查看本页
  1. shape 和感受野逐层核对;粗步长导致边界与小目标定位困难,推动跳连与空洞卷积。
  2. 回到前一步:输入 32×32,经 stride 2 两次得到 8×8 输出;比较逐块分类与一次全卷积的覆盖。
  3. 向后检验:FCN 不是 R-CNN 的自然升级;它改变的是输出组织与共享计算路径。

接到下一页:FCN 是独立的密集预测路线|什么结论还不能推出

FCN 是独立的密集预测路线|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

逐像素裁块分类重复计算,而且固定全连接头限制输入大小与输出网格。
1
FCN 不是 R-CNN 的自然升级;它改变的是输出组织与共享计算路径。
2
回到前一步:shape 和感受野逐层核对;粗步长导致边界与小目标定位困难,推动跳连与空洞卷积。
3
向后检验:FCN 不是 R-CNN 的自然升级;它改变的是输出组织与共享计算路径。
向后检验:FCN 不是 R-CNN 的自然升级;它改变的是输出组织与共享计算路径。 在主讲中查看这一停点 ↗

原始合成集高分不能证明复杂形状理解。几何增强必须同步图像和mask,类别ID不可被任意插值成新类别。

逐步查看本页
  1. FCN 不是 R-CNN 的自然升级;它改变的是输出组织与共享计算路径。
  2. 回到前一步:shape 和感受野逐层核对;粗步长导致边界与小目标定位困难,推动跳连与空洞卷积。
  3. 向后检验:FCN 不是 R-CNN 的自然升级;它改变的是输出组织与共享计算路径。

接到下一页:上采样不会自动恢复信息|问题从哪里出现

上采样不会自动恢复信息|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

把 8×8 预测放大到 32×32,需要定义新像素从哪里来,但丢失的细节未必仍在表示中。
1
把 8×8 预测放大到 32×32,需要定义新像素从哪里来,但丢失的细节未必仍在表示中。
2
观察对象:2×2 输入放大到 4×4,手算中心像素的双线性权重,再展示转置卷积的重叠累加。
3
向后检验:比较最近邻复制、双线性插值与可学习转置卷积;用小矩阵追踪每个输出值。
向后检验:比较最近邻复制、双线性插值与可学习转置卷积;用小矩阵追踪每个输出值。 在主讲中查看这一停点 ↗

更多输出格子不代表更多已保留信息。最近邻和双线性规定怎样使用现有数值,无法区别编码阶段已碰撞的两个输入。

逐步查看本页
  1. 把 8×8 预测放大到 32×32,需要定义新像素从哪里来,但丢失的细节未必仍在表示中。
  2. 观察对象:2×2 输入放大到 4×4,手算中心像素的双线性权重,再展示转置卷积的重叠累加。
  3. 向后检验:比较最近邻复制、双线性插值与可学习转置卷积;用小矩阵追踪每个输出值。

接到下一页:上采样不会自动恢复信息|核心改动怎样工作

上采样不会自动恢复信息|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

把 8×8 预测放大到 32×32,需要定义新像素从哪里来,但丢失的细节未必仍在表示中。
1
比较最近邻复制、双线性插值与可学习转置卷积;用小矩阵追踪每个输出值。
2
回到前一步:把 8×8 预测放大到 32×32,需要定义新像素从哪里来,但丢失的细节未必仍在表示中。
3
向后检验:2×2 输入放大到 4×4,手算中心像素的双线性权重,再展示转置卷积的重叠累加。
向后检验:2×2 输入放大到 4×4,手算中心像素的双线性权重,再展示转置卷积的重叠累加。 在主讲中查看这一停点 ↗

双线性按相邻四点与小数坐标加权,适合连续logits;离散类别mask通常用最近邻。采样坐标约定如align_corners必须固定。

逐步查看本页
  1. 比较最近邻复制、双线性插值与可学习转置卷积;用小矩阵追踪每个输出值。
  2. 回到前一步:把 8×8 预测放大到 32×32,需要定义新像素从哪里来,但丢失的细节未必仍在表示中。
  3. 向后检验:2×2 输入放大到 4×4,手算中心像素的双线性权重,再展示转置卷积的重叠累加。

接到下一页:上采样不会自动恢复信息|一起算一个完整例子

上采样不会自动恢复信息|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

已知 mask 的空间采样练习:前景 IoU=2/3,背景 IoU=5/6,两类 mIoU=0.75。不是图像预测结果。
这只是从已知 mask 进行采样;从 RGB 预测 mask 要另用 LAB11 的训练模型验收。 在主讲中查看这一停点 ↗

8×8 热身含 16 个前景、48 个背景;最近邻预测前景 24 个,交集仍为 16。

前景 IoU=16/24=2/3;背景 IoU=40/48=5/6,两类 mIoU=0.75。

这只是从已知 mask 进行采样;从 RGB 预测 mask 要另用 LAB11 的训练模型验收。

8×8真值前景16像素,降采样再nearest恢复得到TP16、FP8、FN0、TN40。前景IoU=2/3,背景5/6,两类mIoU=.75,像素准确率=.875。

逐步查看本页
  1. 8×8 热身含 16 个前景、48 个背景;最近邻预测前景 24 个,交集仍为 16。
  2. 前景 IoU=16/24=2/3;背景 IoU=40/48=5/6,两类 mIoU=0.75。
  3. 这只是从已知 mask 进行采样;从 RGB 预测 mask 要另用 LAB11 的训练模型验收。

接到下一页:上采样不会自动恢复信息|怎样检查这项解释

上采样不会自动恢复信息|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

把 8×8 预测放大到 32×32,需要定义新像素从哪里来,但丢失的细节未必仍在表示中。
1
D2L bilinear 初始化提供可运行对照;方法在固定输入表示上只能重组已有数值。
2
回到前一步:2×2 输入放大到 4×4,手算中心像素的双线性权重,再展示转置卷积的重叠累加。
3
向后检验:转置卷积不是一般意义的逆卷积,也不保证重建被 stride 丢掉的空间信息。
向后检验:转置卷积不是一般意义的逆卷积,也不保证重建被 stride 丢掉的空间信息。 在主讲中查看这一停点 ↗

LAB11确实加入bilinear分支:前景IoU仍2/3、背景.88462、两类mIoU .77564。真正FCN只在推理时换nearest,则mIoU .99041→.91180。

逐步查看本页
  1. D2L bilinear 初始化提供可运行对照;方法在固定输入表示上只能重组已有数值。
  2. 回到前一步:2×2 输入放大到 4×4,手算中心像素的双线性权重,再展示转置卷积的重叠累加。
  3. 向后检验:转置卷积不是一般意义的逆卷积,也不保证重建被 stride 丢掉的空间信息。

接到下一页:上采样不会自动恢复信息|什么结论还不能推出

上采样不会自动恢复信息|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

把 8×8 预测放大到 32×32,需要定义新像素从哪里来,但丢失的细节未必仍在表示中。
1
转置卷积不是一般意义的逆卷积,也不保证重建被 stride 丢掉的空间信息。
2
回到前一步:D2L bilinear 初始化提供可运行对照;方法在固定输入表示上只能重组已有数值。
3
向后检验:转置卷积不是一般意义的逆卷积,也不保证重建被 stride 丢掉的空间信息。
向后检验:转置卷积不是一般意义的逆卷积,也不保证重建被 stride 丢掉的空间信息。 在主讲中查看这一停点 ↗

前一个比较使用真值mask,不是视觉模型成绩;后一个比较没有分别重训两种插值网络,说明训练/推理约定敏感,不证明nearest普遍较差。

逐步查看本页
  1. 转置卷积不是一般意义的逆卷积,也不保证重建被 stride 丢掉的空间信息。
  2. 回到前一步:D2L bilinear 初始化提供可运行对照;方法在固定输入表示上只能重组已有数值。
  3. 向后检验:转置卷积不是一般意义的逆卷积,也不保证重建被 stride 丢掉的空间信息。

接到下一页:多层表示在空间任务中分工|问题从哪里出现

多层表示在空间任务中分工|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
1
深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
2
观察对象:同一 16px 小物体在 stride 4、8、16、32 特征层分别占 4、2、1、0.5 格,判断适合哪层。
3
向后检验:U-Net/FCN 跳连组合编码器不同尺度;FPN 用 bottom-up、top-down 与 lateral 建立多尺度预测层。
向后检验:U-Net/FCN 跳连组合编码器不同尺度;FPN 用 bottom-up、top-down 与 lateral 建立多尺度预测层。 在主讲中查看这一停点 ↗

深层特征有较大上下文,浅层网格更密。单纯放大粗特征无法恢复已删除边界,跳连提供的是另一条仍保有细节的信息来源。

逐步查看本页
  1. 深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
  2. 观察对象:同一 16px 小物体在 stride 4、8、16、32 特征层分别占 4、2、1、0.5 格,判断适合哪层。
  3. 向后检验:U-Net/FCN 跳连组合编码器不同尺度;FPN 用 bottom-up、top-down 与 lateral 建立多尺度预测层。

接到下一页:多层表示在空间任务中分工|核心改动怎样工作

多层表示在空间任务中分工|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
1
U-Net/FCN 跳连组合编码器不同尺度;FPN 用 bottom-up、top-down 与 lateral 建立多尺度预测层。
2
回到前一步:深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
3
向后检验:同一 16px 小物体在 stride 4、8、16、32 特征层分别占 4、2、1、0.5 格,判断适合哪层。
向后检验:同一 16px 小物体在 stride 4、8、16、32 特征层分别占 4、2、1、0.5 格,判断适合哪层。 在主讲中查看这一停点 ↗

U-Net/FCN式跳连融合编码器的高分辨率特征;FPN将自顶向下特征与横向连接组织为多尺度语义层。SSD多尺度预测不自动等于FPN融合。

逐步查看本页
  1. U-Net/FCN 跳连组合编码器不同尺度;FPN 用 bottom-up、top-down 与 lateral 建立多尺度预测层。
  2. 回到前一步:深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
  3. 向后检验:同一 16px 小物体在 stride 4、8、16、32 特征层分别占 4、2、1、0.5 格,判断适合哪层。

接到下一页:多层表示在空间任务中分工|一起算一个完整例子

多层表示在空间任务中分工|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
1
64×64 图像中的 4×4 对象,在 stride 4 网格约占 1×1 格;在 stride 16 网格仅占 1/4×1/4 格。
2
上采样粗网格会增加读数位置,但不增加原来不存在的对象细节。
3
跨层连接引入较早的空间线索;是否改善小对象还须固定数据与评价协议再测。
跨层连接引入较早的空间线索;是否改善小对象还须固定数据与评价协议再测。 在主讲中查看这一停点 ↗

64×64 图像中的 4×4 对象,在 stride 4 网格约占 1×1 格;在 stride 16 网格仅占 1/4×1/4 格。

上采样粗网格会增加读数位置,但不增加原来不存在的对象细节。

跨层连接引入较早的空间线索;是否改善小对象还须固定数据与评价协议再测。

LAB11小FCN把12×12粗logits恢复到48×48,再加精细分支。原图椭圆IoU=.97429;对象缩为.45倍后椭圆IoU=.85763,细边界仍是弱项。

逐步查看本页
  1. 64×64 图像中的 4×4 对象,在 stride 4 网格约占 1×1 格;在 stride 16 网格仅占 1/4×1/4 格。
  2. 上采样粗网格会增加读数位置,但不增加原来不存在的对象细节。
  3. 跨层连接引入较早的空间线索;是否改善小对象还须固定数据与评价协议再测。

接到下一页:多层表示在空间任务中分工|怎样检查这项解释

多层表示在空间任务中分工|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
1
形状表区分 concat/add、语义与分辨率;与 ResNet 残差 add 的主要动机分开。
2
回到前一步:同一 16px 小物体在 stride 4、8、16、32 特征层分别占 4、2、1、0.5 格,判断适合哪层。
3
向后检验:分辨率高不等于信息更多;若浅层没有目标所需线索,跳连也不能凭空创造。
向后检验:分辨率高不等于信息更多;若浅层没有目标所需线索,跳连也不能凭空创造。 在主讲中查看这一停点 ↗

保留输入、真值、输出与错误图能定位小对象边界。FPN与U-Net原论文支持多层特征分工;本实验仅检验其简化卷积读出,不冒称完整论文复现。

逐步查看本页
  1. 形状表区分 concat/add、语义与分辨率;与 ResNet 残差 add 的主要动机分开。
  2. 回到前一步:同一 16px 小物体在 stride 4、8、16、32 特征层分别占 4、2、1、0.5 格,判断适合哪层。
  3. 向后检验:分辨率高不等于信息更多;若浅层没有目标所需线索,跳连也不能凭空创造。

接到下一页:多层表示在空间任务中分工|什么结论还不能推出

多层表示在空间任务中分工|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

深层特征语义更抽象却空间更粗,浅层特征位置更细却任务判别力有限。
1
分辨率高不等于信息更多;若浅层没有目标所需线索,跳连也不能凭空创造。
2
回到前一步:形状表区分 concat/add、语义与分辨率;与 ResNet 残差 add 的主要动机分开。
3
向后检验:分辨率高不等于信息更多;若浅层没有目标所需线索,跳连也不能凭空创造。
向后检验:分辨率高不等于信息更多;若浅层没有目标所需线索,跳连也不能凭空创造。 在主讲中查看这一停点 ↗

跳连不会保证所有细节都保留;若上游原图就缺乏分辨率,也没有真实细节可读。颜色基线满分还说明数据是否需要空间上下文必须先检验。

逐步查看本页
  1. 分辨率高不等于信息更多;若浅层没有目标所需线索,跳连也不能凭空创造。
  2. 回到前一步:形状表区分 concat/add、语义与分辨率;与 ResNet 残差 add 的主要动机分开。
  3. 向后检验:分辨率高不等于信息更多;若浅层没有目标所需线索,跳连也不能凭空创造。

接到下一页:RoIAlign 修复读取错位,不修复表示丢失|问题从哪里出现

RoIAlign 修复读取错位,不修复表示丢失|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
1
区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
2
观察对象:边界 35/16=2.1875;在 2×2 邻点上用权重手算采样,并与取整到 2 的结果比较。
3
向后检验:原图坐标除 stride 得到小数 RoI,分格后在连续位置双线性采样并汇总。
向后检验:原图坐标除 stride 得到小数 RoI,分格后在连续位置双线性采样并汇总。 在主讲中查看这一停点 ↗

区域框来自连续坐标,粗特征图来自采样网格。整数化区域边界会使细像素预测错位,即使对象类别和大致框仍正确。

逐步查看本页
  1. 区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
  2. 观察对象:边界 35/16=2.1875;在 2×2 邻点上用权重手算采样,并与取整到 2 的结果比较。
  3. 向后检验:原图坐标除 stride 得到小数 RoI,分格后在连续位置双线性采样并汇总。

接到下一页:RoIAlign 修复读取错位,不修复表示丢失|核心改动怎样工作

RoIAlign 修复读取错位,不修复表示丢失|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
1
原图坐标除 stride 得到小数 RoI,分格后在连续位置双线性采样并汇总。
2
回到前一步:区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
3
向后检验:边界 35/16=2.1875;在 2×2 邻点上用权重手算采样,并与取整到 2 的结果比较。
向后检验:边界 35/16=2.1875;在 2×2 邻点上用权重手算采样,并与取整到 2 的结果比较。 在主讲中查看这一停点 ↗

RoIAlign保持连续坐标,在区域采样点用双线性插值读取特征,再整理为固定形状。它改进读取对齐,不会创造骨干已丢失的信息。

逐步查看本页
  1. 原图坐标除 stride 得到小数 RoI,分格后在连续位置双线性采样并汇总。
  2. 回到前一步:区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
  3. 向后检验:边界 35/16=2.1875;在 2×2 邻点上用权重手算采样,并与取整到 2 的结果比较。

接到下一页:RoIAlign 修复读取错位,不修复表示丢失|一起算一个完整例子

RoIAlign 修复读取错位,不修复表示丢失|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
1
原图 x=35、stride=16,对应连续位置 u=2.1875;相邻特征值为 2 和 6。
2
线性插值得 (1-0.1875)×2+0.1875×6=2.75;若先取整,读取值为 2。
3
二维 RoIAlign 在多个位置双线性采样;若两个原图已编码成同一特征,连续采样仍无法区分。
二维 RoIAlign 在多个位置双线性采样;若两个原图已编码成同一特征,连续采样仍无法区分。 在主讲中查看这一停点 ↗

原图 x=35、stride=16,对应连续位置 u=2.1875;相邻特征值为 2 和 6。

线性插值得 (1-0.1875)×2+0.1875×6=2.75;若先取整,读取值为 2。

二维 RoIAlign 在多个位置双线性采样;若两个原图已编码成同一特征,连续采样仍无法区分。

网格[[0,10],[20,30]]在x=.25,y=.5处权重为.375,.125,.375,.125,读值12.5。若左右亮条都先平均成.5,再对齐也无法区分。

逐步查看本页
  1. 原图 x=35、stride=16,对应连续位置 u=2.1875;相邻特征值为 2 和 6。
  2. 线性插值得 (1-0.1875)×2+0.1875×6=2.75;若先取整,读取值为 2。
  3. 二维 RoIAlign 在多个位置双线性采样;若两个原图已编码成同一特征,连续采样仍无法区分。

接到下一页:RoIAlign 修复读取错位,不修复表示丢失|怎样检查这项解释

RoIAlign 修复读取错位,不修复表示丢失|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
1
论文受控消融说明量化对 mask AP 的影响;均值不可辨识例说明相同 F 无法被后处理区分。
2
回到前一步:边界 35/16=2.1875;在 2×2 邻点上用权重手算采样,并与取整到 2 的结果比较。
3
向后检验:更多输出格子不自动增加输入信息;额外通道若早先保存不同局部统计,才可能区分。
向后检验:更多输出格子不自动增加输入信息;额外通道若早先保存不同局部统计,才可能区分。 在主讲中查看这一停点 ↗

CLS09数值与LAB03表示碰撞形成对照;Mask R-CNN原文的区域对齐实验提供完整模型证据。算例只解释一个采样点,不当成整套RoIAlign训练。

逐步查看本页
  1. 论文受控消融说明量化对 mask AP 的影响;均值不可辨识例说明相同 F 无法被后处理区分。
  2. 回到前一步:边界 35/16=2.1875;在 2×2 邻点上用权重手算采样,并与取整到 2 的结果比较。
  3. 向后检验:更多输出格子不自动增加输入信息;额外通道若早先保存不同局部统计,才可能区分。

接到下一页:RoIAlign 修复读取错位,不修复表示丢失|什么结论还不能推出

RoIAlign 修复读取错位,不修复表示丢失|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

区域边界落在特征网格小数位置,量化会移动采样;但连续采样仍依赖已有特征。
1
更多输出格子不自动增加输入信息;额外通道若早先保存不同局部统计,才可能区分。
2
回到前一步:论文受控消融说明量化对 mask AP 的影响;均值不可辨识例说明相同 F 无法被后处理区分。
3
向后检验:更多输出格子不自动增加输入信息;额外通道若早先保存不同局部统计,才可能区分。
向后检验:更多输出格子不自动增加输入信息;额外通道若早先保存不同局部统计,才可能区分。 在主讲中查看这一停点 ↗

坐标尺度、stride与对齐端点约定必须一致。框正确而mask错要分别检查读取错位、表示信息不足和分割头训练,不能全部归因于插值。

逐步查看本页
  1. 更多输出格子不自动增加输入信息;额外通道若早先保存不同局部统计,才可能区分。
  2. 回到前一步:论文受控消融说明量化对 mask AP 的影响;均值不可辨识例说明相同 F 无法被后处理区分。
  3. 向后检验:更多输出格子不自动增加输入信息;额外通道若早先保存不同局部统计,才可能区分。

接到下一页:一阶段检测把预测铺满特征图|问题从哪里出现

一阶段检测把预测铺满特征图|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

proposal 路线先找候选再分类;一阶段路线直接在多个位置与尺度预测类别和框。
1
proposal 路线先找候选再分类;一阶段路线直接在多个位置与尺度预测类别和框。
2
观察对象:在 2×2 特征层每点 3 个锚框,共 12 个候选;核对分类张量与框张量 shape。
3
向后检验:TinySSD 为每个锚框输出类别和偏移,训练匹配、类别不平衡、解码和 NMS 共同组成系统。
向后检验:TinySSD 为每个锚框输出类别和偏移,训练匹配、类别不平衡、解码和 NMS 共同组成系统。 在主讲中查看这一停点 ↗

逐区域重复提特征成本高,整图卷积可共享大量工作。一阶段检测进一步在特征网格上同时产生类别与位置输出。

逐步查看本页
  1. proposal 路线先找候选再分类;一阶段路线直接在多个位置与尺度预测类别和框。
  2. 观察对象:在 2×2 特征层每点 3 个锚框,共 12 个候选;核对分类张量与框张量 shape。
  3. 向后检验:TinySSD 为每个锚框输出类别和偏移,训练匹配、类别不平衡、解码和 NMS 共同组成系统。

接到下一页:一阶段检测把预测铺满特征图|核心改动怎样工作

一阶段检测把预测铺满特征图|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

proposal 路线先找候选再分类;一阶段路线直接在多个位置与尺度预测类别和框。
1
TinySSD 为每个锚框输出类别和偏移,训练匹配、类别不平衡、解码和 NMS 共同组成系统。
2
回到前一步:proposal 路线先找候选再分类;一阶段路线直接在多个位置与尺度预测类别和框。
3
向后检验:在 2×2 特征层每点 3 个锚框,共 12 个候选;核对分类张量与框张量 shape。
向后检验:在 2×2 特征层每点 3 个锚框,共 12 个候选;核对分类张量与框张量 shape。 在主讲中查看这一停点 ↗

每个网格参考位置关联若干锚框,输出头给类别logits和相对偏移;匹配、分类/位置损失、解码和NMS构成从图到框的闭环。

逐步查看本页
  1. TinySSD 为每个锚框输出类别和偏移,训练匹配、类别不平衡、解码和 NMS 共同组成系统。
  2. 回到前一步:proposal 路线先找候选再分类;一阶段路线直接在多个位置与尺度预测类别和框。
  3. 向后检验:在 2×2 特征层每点 3 个锚框,共 12 个候选;核对分类张量与框张量 shape。

接到下一页:一阶段检测把预测铺满特征图|一起算一个完整例子

一阶段检测把预测铺满特征图|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

proposal 路线先找候选再分类;一阶段路线直接在多个位置与尺度预测类别和框。
1
教学配置:16×16 网格,每格 4 个 anchor,共 1024 个候选。
2
每候选给 3 类 logits(含背景)和 4 个位置参数,共 1024×7=7168 个输出数。
3
候选数不是物体数;训练匹配决定监督,解码、置信度和 NMS 决定最后保留的框。
候选数不是物体数;训练匹配决定监督,解码、置信度和 NMS 决定最后保留的框。 在主讲中查看这一停点 ↗

教学配置:16×16 网格,每格 4 个 anchor,共 1024 个候选。

每候选给 3 类 logits(含背景)和 4 个位置参数,共 1024×7=7168 个输出数。

候选数不是物体数;训练匹配决定监督,解码、置信度和 NMS 决定最后保留的框。

LAB10的48×48 RGB输入经45,806参数网络输出288个锚框。训练28epoch后保留AP50=.97303,AP75=.70367;对象尺寸减半为.61490和.17987。

逐步查看本页
  1. 教学配置:16×16 网格,每格 4 个 anchor,共 1024 个候选。
  2. 每候选给 3 类 logits(含背景)和 4 个位置参数,共 1024×7=7168 个输出数。
  3. 候选数不是物体数;训练匹配决定监督,解码、置信度和 NMS 决定最后保留的框。

接到下一页:一阶段检测把预测铺满特征图|怎样检查这项解释

一阶段检测把预测铺满特征图|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

LAB10 · 合成 RGB 图像上的多尺度 anchor 检测器:预测类别与框,按独立图像评估。
向后检验:“一步”不代表没有匹配和后处理;不同版本的 YOLO 不应只列名称。 在主讲中查看这一停点 ↗

保留集192图含多对象与33张空图,展示阈值.4下空图误报0。真实预测框与小尺度失败图同时保留,证明学到了位置也显露精细定位限制。

逐步查看本页
  1. 端到端 Lab 追踪真实标注、目标构造、损失、训练曲线、推理与错误案例。
  2. 回到前一步:在 2×2 特征层每点 3 个锚框,共 12 个候选;核对分类张量与框张量 shape。
  3. 向后检验:“一步”不代表没有匹配和后处理;不同版本的 YOLO 不应只列名称。

接到下一页:一阶段检测把预测铺满特征图|什么结论还不能推出

一阶段检测把预测铺满特征图|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

proposal 路线先找候选再分类;一阶段路线直接在多个位置与尺度预测类别和框。
1
“一步”不代表没有匹配和后处理;不同版本的 YOLO 不应只列名称。
2
回到前一步:端到端 Lab 追踪真实标注、目标构造、损失、训练曲线、推理与错误案例。
3
向后检验:“一步”不代表没有匹配和后处理;不同版本的 YOLO 不应只列名称。
向后检验:“一步”不代表没有匹配和后处理;不同版本的 YOLO 不应只列名称。 在主讲中查看这一停点 ↗

该模型是可控合成图上的单层网格教学检测器,不是原TinySSD所有多尺度结构。颜色与形状相关,结果不外推到自然照片。

逐步查看本页
  1. “一步”不代表没有匹配和后处理;不同版本的 YOLO 不应只列名称。
  2. 回到前一步:端到端 Lab 追踪真实标注、目标构造、损失、训练曲线、推理与错误案例。
  3. 向后检验:“一步”不代表没有匹配和后处理;不同版本的 YOLO 不应只列名称。

接到下一页:类别不平衡与集合输出是两种问题|问题从哪里出现

类别不平衡与集合输出是两种问题|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
1
密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
2
观察对象:比较 p=0.9 与 p=0.1 的负例交叉熵和 focal 权重;再解一个 2×2 匹配成本矩阵。
3
向后检验:focal loss 降低高置信易例权重;DETR 用二分匹配找到一对一分配后计算集合损失。
向后检验:focal loss 降低高置信易例权重;DETR 用二分匹配找到一对一分配后计算集合损失。 在主讲中查看这一停点 ↗

大量易背景项压过少数对象,与对象标注无固定顺序,是两个不同问题。前者是贡献权重,后者是预测与真值如何对应。

逐步查看本页
  1. 密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
  2. 观察对象:比较 p=0.9 与 p=0.1 的负例交叉熵和 focal 权重;再解一个 2×2 匹配成本矩阵。
  3. 向后检验:focal loss 降低高置信易例权重;DETR 用二分匹配找到一对一分配后计算集合损失。

接到下一页:类别不平衡与集合输出是两种问题|核心改动怎样工作

类别不平衡与集合输出是两种问题|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
1
focal loss 降低高置信易例权重;DETR 用二分匹配找到一对一分配后计算集合损失。
2
回到前一步:密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
3
向后检验:比较 p=0.9 与 p=0.1 的负例交叉熵和 focal 权重;再解一个 2×2 匹配成本矩阵。
向后检验:比较 p=0.9 与 p=0.1 的负例交叉熵和 focal 权重;再解一个 2×2 匹配成本矩阵。 在主讲中查看这一停点 ↗

focal loss乘(1−p_t)^γ降低易例权重;集合预测先寻找总类别/位置成本最小的二分匹配,再按分配训练,剩余槽位设no-object。

逐步查看本页
  1. focal loss 降低高置信易例权重;DETR 用二分匹配找到一对一分配后计算集合损失。
  2. 回到前一步:密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
  3. 向后检验:比较 p=0.9 与 p=0.1 的负例交叉熵和 focal 权重;再解一个 2×2 匹配成本矩阵。

接到下一页:类别不平衡与集合输出是两种问题|一起算一个完整例子

类别不平衡与集合输出是两种问题|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
1
两项预测、两项目标的总代价矩阵为 [[2,.3],[.4,2]],代价已包含类别和位置。
2
对角分配代价 4,交叉分配 .7,所以一对一最小代价匹配选择交叉。
3
匹配解决谁对应谁;focal loss 调整容易/困难分类项的权重,两者不是同一种操作。
匹配解决谁对应谁;focal loss 调整容易/困难分类项的权重,两者不是同一种操作。 在主讲中查看这一停点 ↗

两项预测、两项目标的总代价矩阵为 [[2,.3],[.4,2]],代价已包含类别和位置。

对角分配代价 4,交叉分配 .7,所以一对一最小代价匹配选择交叉。

匹配解决谁对应谁;focal loss 调整容易/困难分类项的权重,两者不是同一种操作。

γ=2时p_t=.9的权重=.01,p_t=.5的权重=.25。成本矩阵[[.2,1.3],[1.0,.1]]的对角分配成本.3,交换分配2.3,故选对角。

逐步查看本页
  1. 两项预测、两项目标的总代价矩阵为 [[2,.3],[.4,2]],代价已包含类别和位置。
  2. 对角分配代价 4,交叉分配 .7,所以一对一最小代价匹配选择交叉。
  3. 匹配解决谁对应谁;focal loss 调整容易/困难分类项的权重,两者不是同一种操作。

接到下一页:类别不平衡与集合输出是两种问题|怎样检查这项解释

类别不平衡与集合输出是两种问题|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
1
两组数值分别解释重加权与置换不变性,不用一个局部 loss 解释整个系统性能。
2
回到前一步:比较 p=0.9 与 p=0.1 的负例交叉熵和 focal 权重;再解一个 2×2 匹配成本矩阵。
3
向后检验:集合训练改变重复预测压力,但收敛、尺度与场景差异仍需具体版本和实验。
向后检验:集合训练改变重复预测压力,但收敛、尺度与场景差异仍需具体版本和实验。 在主讲中查看这一停点 ↗

CLS09连接Focal Loss与DETR原论文,LAB23追踪类别/位置如何构成成本并验证交换标注顺序不改变对象集合监督。小矩阵足以解释置换问题。

逐步查看本页
  1. 两组数值分别解释重加权与置换不变性,不用一个局部 loss 解释整个系统性能。
  2. 回到前一步:比较 p=0.9 与 p=0.1 的负例交叉熵和 focal 权重;再解一个 2×2 匹配成本矩阵。
  3. 向后检验:集合训练改变重复预测压力,但收敛、尺度与场景差异仍需具体版本和实验。

接到下一页:类别不平衡与集合输出是两种问题|什么结论还不能推出

类别不平衡与集合输出是两种问题|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

密集检测中易负例数量巨大;集合预测中还要解决预测与真值的置换对应。
1
集合训练改变重复预测压力,但收敛、尺度与场景差异仍需具体版本和实验。
2
回到前一步:两组数值分别解释重加权与置换不变性,不用一个局部 loss 解释整个系统性能。
3
向后检验:集合训练改变重复预测压力,但收敛、尺度与场景差异仍需具体版本和实验。
向后检验:集合训练改变重复预测压力,但收敛、尺度与场景差异仍需具体版本和实验。 在主讲中查看这一停点 ↗

降低易例权重不增加边界分辨率;匹配也不是NMS的另一名字。固定成本矩阵运行成功,不等于训练出了完整DETR。

逐步查看本页
  1. 集合训练改变重复预测压力,但收敛、尺度与场景差异仍需具体版本和实验。
  2. 回到前一步:两组数值分别解释重加权与置换不变性,不用一个局部 loss 解释整个系统性能。
  3. 向后检验:集合训练改变重复预测压力,但收敛、尺度与场景差异仍需具体版本和实验。

接到下一页:从“处理这个对象”,走向用语言提出任务

从“处理这个对象”,走向用语言提出任务

点和框指定对象;一句话还能指定属性、关系和问题。

左右滑动查看完整图解 ↔

同一场景中的实例区域MAE 预训练权重SAM 分割任务训练数据引擎:模型辅助标注更多 maskSA-1B:分割数据再训练、再标注“把红色杯子找出来”语言能否指定当前要感知的区域?
如果要表达“戴帽子的人”或询问“谁拿球”,语言应参与哪一步? 在主讲中查看这一停点 ↗

图像表示可以复用,但提示成为可用接口,还需要任务训练。原始 SAM 以 MAE 初始化视觉编码器,随后结合提示、分割监督和数据组织学会生成掩码。点和框能指定对象,不等于任意文字理解。

我们已经能用框和掩码指出对象,也能用一个点告诉系统“这次处理哪一个”。但人往往会说“找到红色杯子”,或者问“谁拿着球”。语言能否参与学习,也参与我们向系统提出任务?接下来沿着三种作用看:语言成为输出、提供学习信号,以及指定当前问题。

逐步查看本页
  1. MAE 提供图像编码器初始化;分割训练学习提示与 mask 的对应。
  2. 数据引擎让模型辅助标注、数据改善模型,形成 SA-1B。
  3. 如果要表达“戴帽子的人”或询问“谁拿球”,语言应参与哪一步?

接到下一页:视觉、序列模型和数据,怎样汇合成新任务?

III · 从描述到视觉语言任务接口

视觉、序列模型和数据,怎样汇合成新任务?

先看语言怎样成为输出,再看它怎样提供学习信号与任务条件。

左右滑动查看完整图解 ↔

可复用的条件视觉预训练词序列学习图像—文字数据并行推进的研究路线LRCNTrevor Darrell 及合作者图像表示 → 词序列Show and TellGoogleCNN → 序列生成同日首版 · 2014-11-17区域—句子片段Stanford · 2015图里的局部,对应句子里的一段共同窗口:视觉表示、序列模型与配对数据可以组合使用。
同期团队围绕图像描述、区域对应和问答,建立不同任务与评价。 在主讲中查看这一停点 ↗

2014—2016 年,视觉预训练、序列模型、图文数据与评价条件逐渐汇合,图像描述因而成为可实际研究的接口。Trevor Darrell 的公开研究横跨视觉识别、检测与多模态交互;LRCN 把卷积视觉计算接到递归序列模型。同期的 Show and Tell 也研究图像描述,区域—句子工作则关注描述与视觉局部的对应。不同团队的问题选择可以同时发展。我们在这段历史中观察可复用组件和新任务怎样相遇,然后用同一桌面图追踪图像怎样成为文字预测的条件。

逐步查看本页
  1. 视觉预训练提供内容表示,序列模型负责组织逐步输出的文字。
  2. Trevor Darrell 及合作者在 LRCN 中连接视觉计算与序列学习。
  3. 同期团队围绕图像描述、区域对应和问答,建立不同任务与评价。

接到下一页:让图像成为下一词预测的条件

让图像成为下一词预测的条件

视觉表示提供看见的内容,已经生成的词提供说到哪里。

左右滑动查看完整图解 ↔

给定图像CNN图像表示序列状态已经看到/说到哪里〈开始〉Ared下一词示例iscup刚选出的 token 加入条件使用:A red cup → 再预测下一词;没有原文答案。
使用时,模型根据图像和已经生成的词,继续产生文字。 在主讲中查看这一停点 ↗

本页以 Show and Tell 为例,解释图像如何成为文字生成的条件;其他早期方法的具体连接方式有所不同。训练时可以用已有图像描述逐词构造目标,这与第一部分的语言目标相接;使用时则把前面产生的词作为后续条件。图像表示必须进入这个预测过程,不能只在生成结束后加一行标签。课堂中的桌面图和描述是原创教学对象,不是论文中报告的模型输出。训练答案来自已有描述,使用输出则由模型生成;句子通顺与内容依图正确是不同的性质。序列状态只说明承担的作用,本讲不推导 LSTM 门控,也不提前展开第五讲的注意力机制。

逐步查看本页
  1. 先把同一幅图编码成视觉表示,再把它交给文字序列模型。
  2. 训练时,已有描述的下一个词提供答案与反馈。
  3. 使用时,模型根据图像和已经生成的词,继续产生文字。

接到下一页:同一张图,描述、定位与问答各自要求什么?

同一张图,描述、定位与问答各自要求什么?

数据与任务定义,决定我们怎样检查模型是否完成了要求。

左右滑动查看完整图解 ↔

同一幅图:语言指定了不同的任务。描述Two cups sit beside a book.A red cup stands next to a blue cup.问答有几个杯子?两个。定位找到红色杯子
语言定位要把“红色杯子”对应到具体区域。 在主讲中查看这一停点 ↗

桌面场景保持不变,输出要求依次改变:用一句话描述画面、回答有几个杯子、把“红色杯子”对应到具体区域。描述允许选择信息;问答由问题限定所需内容;语言定位还要把文字对应到图像中的位置。COCO Captions、VQA 与区域—句子对应研究分别提供了数据和评价条件。这些任务共享视觉与语言资源,却不具有同一种输入输出接口,也不能由某一项的成功直接推断另一项能力。

逐步查看本页
  1. 描述可以选择画面中的部分内容;同一图允许多种合理句子。
  2. 问答由问题指定要看的内容:有几个杯子?
  3. 语言定位要把“红色杯子”对应到具体区域。

接到下一页:区域表示与语言预训练,在 ViLBERT 中接上了

区域表示与语言预训练,在 ViLBERT 中接上了

上一部分的区域特征,与第一部分的语言表示,在同一任务中汇合。

左右滑动查看完整图解 ↔

检测器提供区域表示Faster R-CNN 区域特征语言预训练提供词表示Aredcup… a bookBERT 初始化的语言支路视觉支路区域序列语言支路词语序列交互遮住一部分预测词或区域利用其余内容是否对应?这段文字与这幅图像再适配:问答、指代定位、检索。
联合预训练得到的表示,再适配到具体视觉语言任务。 在主讲中查看这一停点 ↗

ViLBERT 是一个具体的组件连接点:视觉端采用在 Visual Genome 上预训练的 Faster R-CNN 提供区域特征,语言支路由 BERT 初始化。两路通过交互层交换信息,在 Conceptual Captions 上学习遮住部分词或区域后的预测,以及图文配对判断。随后再适配问答、指代表达和检索等任务。区域特征与词语表示分别来自已有模型,再通过交互层建立联系,这就是本页的组件连接关系。图中的复用箭头表示组件来源,不表示所有检测工作必须先结束,视觉语言研究才会开始。2019 是 ViLBERT 出现的年份,视觉语言研究此前已在发展;ViLBERT 也未使用后来才出现的 CLIP。

逐步查看本页
  1. 检测器把图像组织成区域表示,BERT 提供已有的语言表示。
  2. 两路表示交换信息,学习遮挡预测与图文是否对应。
  3. 联合预训练得到的表示,再适配到具体视觉语言任务。

接到下一页:一个小矩阵里,同时做两个方向的匹配

一个小矩阵里,同时做两个方向的匹配

图像找对应文字,文字也找对应图像。

左右滑动查看完整图解 ↔

成对数据1 · 红杯1 · a red cup2 · 蓝杯2 · a blue cup3 · 书3 · a book图像编码器文本编码器归一化向量的相似度红杯蓝杯书红杯0.9430.2360.236蓝杯0.2360.9430.236书0.2360.2360.943给图找文字给文字找图同编号是配对;矩阵数值为教学构造。
沿一列观察:给定这段文字,也应选出对应图像。 在主讲中查看这一停点 ↗

CLIP 的训练把同一批次的图像和文字两两比较,正确配对由数据记录确定,再从两个方向提供反馈。文字选择了图中的部分意义,不是图像的像素副本;批内其他配对也不保证语义完全不同。矩阵的每一行对应一张图,每一列对应一句文字,配对身份决定正确位置。一组可核对的构造是:图像为三个单位基向量,文本为归一化的四一一、一四一、一一四,得到对角约零点九四三、其他约零点二三六。该数值仅用于解释匹配,不是运行模型或训练轨迹。归一化影响向量比较的方式,温度参与匹配损失;每个分数始终对应一张特定图像与一句特定文字。

逐步查看本页
  1. 把两个图像视图改成一对图像和文字,配对身份来自同一条数据。
  2. 图像编码器与文本编码器分别产生可比较的向量。
  3. 沿一行观察:给定这张图,应选出与它配对的文字。
  4. 沿一列观察:给定这段文字,也应选出对应图像。

接到下一页:训练结束后,文字变成可换的候选接口

训练结束后,文字变成可换的候选接口

固定图像和模型,改变你希望比较的类别或描述。

左右滑动查看完整图解 ↔

给定文字,在图像集合中检索a red cup文本编码器得到查询向量图像、文字编码器权重固定与图像集合中的向量逐一比较。该接口输出匹配关系。
给定文字并比较一组图像,就形成集合级检索。 在主讲中查看这一停点 ↗

使用阶段不再执行配对训练,而是复用已有编码器计算相似度。给一张图选择候选文本,与给一条文本从图像集合检索,是同一比较接口的不同使用组织:前者比较文字候选,后者比较图像候选。类别名称可以放入适合任务的短句,文字表达会影响编码与结果,不能把一个候选列表的分数当作模型完整能力。这里的零样本迁移指没有为该下游数据集再训练,不等于预训练从未见过相关概念。一项真实候选实验的结论对应其具体模型、输入与结果记录。这里的接口示例并非本轮实测结果;能够比较文字,也不自动意味着能够定位区域或自由回答问题。

逐步查看本页
  1. 把候选类别写成文字,编码后与固定图像比较。
  2. 换成描述句,模型仍返回每个候选与图像的匹配分数。
  3. 给定文字并比较一组图像,就形成集合级检索。

接到下一页:网络图文扩大了信号来源,也带来选择与噪声

网络图文扩大了信号来源,也带来选择与噪声

语言监督里的语义来自人的表达;开放数据是后来继续发展的路线。

左右滑动查看完整图解 ↔

图文配对从哪里来?原始 CLIP网络图像与配对文字约 4 亿图文对自然语言承载人的选择图文对比训练配对身份成为训练信号可迁移的表示换文字候选使用没有下游类别标签,也仍有人表达的语义。后来的开放数据路线:LAION;它不是原始 CLIP 训练集。仍要检查:筛选与重复、描述噪声、概念和人群的覆盖。
配对质量、内容分布和文本表达,都会影响学到的对应关系。 在主讲中查看这一停点 ↗

原始 CLIP 论文使用自建的约四亿网络图文对;LAION 属于后续公开图文数据资源路线,不能倒写为原始 CLIP 的训练集。图文描述承载人的语义表达,也包含选择、遗漏与噪声,所以这种目标不能称为完全没有人的监督。与逐图固定类别标注相比,它扩大了可利用的概念和表达范围,但仍需考虑数据怎样收集、筛选及覆盖哪些内容。本页的原创图文记录用于说明这种监督来源与固定类别标注的差别。SAM 的 SA-1B 是图像与掩码的数据线,应保持独立。研究者需要把数据来源、训练目标和下游证据连起来,避免仅由规模推断具体任务能力。

逐步查看本页
  1. 网络中的图与文字提供大量关联记录,目标不再局限于固定类别标签。
  2. 原始 CLIP 使用自建网络图文数据,LAION 是后来的开放资源工作。
  3. 配对质量、内容分布和文本表达,都会影响学到的对应关系。

接到下一页:两张图都选对了,它依据的是什么?

两张图都选对了,它依据的是什么?

模型判断了谁拿球,还是只利用了谁站在左边?

左右滑动查看完整图解 ↔

题设条件 1 · 重绘题设条件 2 · 重绘A 排前B 排前问卷设定A. A person in red holds a ball beside a person in blue.B. A person in blue holds a ball beside a person in red.只看左侧衣色,也会给出同样的 A/B 排序。
只根据左侧人的衣色,也能得到完全相同的结果。 在主讲中查看这一停点 ↗

本页沿用问卷第三题的固定英文候选,A 描述红衣人拿球站在蓝衣人旁边,B 描述蓝衣人拿球站在红衣人旁边,两句均不说明左右。左右按观看者位置定义。两幅题设图中拿球人都在左侧,因而根据持球关系与仅根据左侧衣色这两种规则,分别都会得到第一图选 A、第二图选 B。上述排序是题设,不是本轮实际 CLIP 测量。观察结果与机制解释需要分开:同一组成功示范可能兼容不同解释。持球关系由球与手的接触确定,另一人不接触球,衣色则区分两人的身份。这些条件帮助比较两条规则,当前证据尚未确定真实模型采用哪一种。

逐步查看本页
  1. 图 1 左侧红衣人拿球,A 排在前;图 2 左侧蓝衣人拿球,B 排在前。
  2. 根据持球人的衣色,可以解释这两个结果。
  3. 只根据左侧人的衣色,也能得到完全相同的结果。

接到下一页:让右边的人拿球,两条规则就分开了

让右边的人拿球,两条规则就分开了

固定 A/B 候选,让右侧人物持球:关系规则与左侧衣色规则产生不同预测。

左右滑动查看完整图解 ↔

新增 1:右侧蓝衣持球新增 2:右侧红衣持球两条解释规则关系规则:看持球人左侧规则:看左侧人新增 2 的规则预期关系规则A左侧规则B固定候选,增加右侧持球;左右以观看者为准。A. A person in red holds a ball beside a person in blue.B. A person in blue holds a ball beside a person in red.这里比较规则预期;真实模型的排序需要另行测量。
关系规则 A,左侧规则 B;这里只显示规则预期。 在主讲中查看这一停点 ↗

候选 A 固定为 A person in red holds a ball beside a person in blue.;候选 B 固定为 A person in blue holds a ball beside a person in red.。左右按观看者位置。四个条件的规则预期依次为:左红持球,两规则都选 A;左蓝持球,两规则都选 B;左红右蓝而右蓝持球,关系规则选 B、左侧规则选 A;左蓝右红而右红持球,关系规则选 A、左侧规则选 B。新增的两个条件使解释产生不同预测。图像是情境材料,表中结果是确定性规则预期;固定模型、候选与处理方式实际推理后,才会获得真实 CLIP 分数。

逐步查看本页
  1. 左红右蓝、右蓝持球:先预测关系规则与左侧规则分别选什么。
  2. 关系规则 B,左侧规则 A;两个解释产生分歧。
  3. 新增第二个条件:左蓝右红、右红持球。先分别作出预测。
  4. 关系规则 A,左侧规则 B;这里只显示规则预期。

接到下一页:关系证据要靠能区分解释的条件。现在进一步要求输出区域:一句话指向哪一个对象?

GLIP:让区域对上词语,让框落在正确位置

语言在预测之前参与视觉表示,训练同时约束匹配与定位。

左右滑动查看完整图解 ↔

red cup · blue cup · book视觉表示区域/位置语言表示词语序列交互区域—词语对应匹配正确的短语边框位置预测并校正坐标训练同时约束:区域对上词语,框落在对象位置。人工定位数据 → 教师定位器 → 图文对上的伪框
人工检测与定位数据、图文对上的教师伪框,共同扩大训练信号。 在主讲中查看这一停点 ↗

GLIP 把物体检测与短语定位组织成共同训练问题:区域要与文本中的相关词语对应,同时框坐标要靠近目标位置。它的视觉与语言表示在预测之前已有信息交互,因此不能用裁几块图再计算 CLIP 标签来代替这一机制。对同一个杯子区域,区域—词语对应约束匹配关系,框目标约束定位,两类误差共同参与训练。原工作还利用已有教师定位器为网络图文数据生成伪框,扩展可用监督;伪框来自模型预测,不是文字天然提供精确坐标。原创场景中的框是教学标注,用于解释训练目标,并非 GLIP 的实测结果。

逐步查看本页
  1. 从整图与整句的匹配,改为图像区域与文字片段的对应。
  2. 视觉和语言在编码过程中交换信息,再预测对应关系与框位置。
  3. 人工检测与定位数据、图文对上的教师伪框,共同扩大训练信号。

接到下一页:已有的语言模型,怎样接收一张图?

已有的语言模型,怎样接收一张图?

视觉图块经过连接层,与问题一起进入语言模型。

左右滑动查看完整图解 ↔

图像CLIP ViT-L/14视觉编码器图块特征序列线性投影 W连接视觉与语言Vicuna自回归语言模型视觉 token · 位置数不变问题:红色杯子旁边是什么?输出示例“蓝色杯子。”图像与前文共同影响下一 token。
视觉信息和文字问题共同作为条件,模型逐步输出回答。 在主讲中查看这一停点 ↗

本讲采用原始 LLaVA 作为最小案例:CLIP ViT-L/14 提供视觉特征,新的线性投影把它们映射到语言输入维度,Vicuna 接收视觉 token 与文字问题,再自回归输出答案。这里的语言模型不是 CLIP 的文本编码器,两者承担不同任务。图中的少量格子是图块特征的示意,数量不等于原模型的实际图块数。连接层建立了可训练接口,接口如何适配取决于后面的训练阶段。这里采用原始方案的线性投影,后续版本的多层连接器属于不同结构。图块、问题和示例回答用于解释信息流,未真实运行时不作为模型效果证据。

逐步查看本页
  1. 已有 CLIP 视觉编码器先产生图块表示。
  2. 新的线性投影把图块特征接到 Vicuna 的输入空间。
  3. 视觉信息和文字问题共同作为条件,模型逐步输出回答。

接到下一页:第一阶段:先让视觉接口接得上

第一阶段:先让视觉接口接得上

冻结视觉编码器和语言模型,只训练中间的线性投影。

左右滑动查看完整图解 ↔

阶段 1 · 特征对齐CLIP ViT-L/14冻结线性投影 W更新Vicuna冻结图像 + 描述 → 下一 token 目标只更新 W,让视觉特征接入已有语言空间。
CLIP 与 Vicuna 保持冻结,反馈只更新线性投影 W。 在主讲中查看这一停点 ↗

原始 LLaVA 第一阶段使用从 CC3M 筛选的约五十九点五万图文对,把图像配上简短描述请求,原来的 caption 作为回答目标。视觉编码器和语言模型的权重保持不变,只更新新加入的投影矩阵 W。因此两端的预训练模型都处于冻结状态,当前学习只改变连接层,而非重新训练全部组件。这一步可以理解为让视觉特征形成语言模型能够利用的输入接口;它复用了已有视觉和语言能力,也仍然需要适配数据与优化。训练与使用共享同一模块身份,改变的是哪些参数允许更新。这约五十九点五万图文对提供了接口适配的监督来源。

逐步查看本页
  1. 图像与已有描述构成训练对,描述提供要预测的文字。
  2. CLIP 与 Vicuna 保持冻结,反馈只更新线性投影 W。

接到下一页:第二阶段:让回答适配视觉指令

第二阶段:让回答适配视觉指令

视觉编码器继续冻结,连接层与语言模型一起更新。

左右滑动查看完整图解 ↔

阶段 2 · 视觉指令适配CLIP ViT-L/14冻结线性投影 W更新Vicuna更新视觉指令 + 回答 → 下一 token 目标更新 W 与语言模型,使回答适配视觉指令。CLIP 视觉编码器在这两个阶段都保持冻结。
已有语言能力成为基础,视觉接口与任务数据继续决定适配。 在主讲中查看这一停点 ↗

原始论文的第二阶段标题写作端到端微调,但具体范围仍保留视觉编码器冻结,只更新线性投影和语言模型。与第一阶段相比,模块连接方式相同,语言模型从冻结变为可更新,视觉编码器则仍然冻结。聊天用途使用视觉指令数据;预测目标是回答的 token,问题和视觉内容提供条件。两阶段说明的是任务适配怎样落到参数和数据上,不能缩成加一条连接层便自然获得问答能力。这里讨论原始 LLaVA 的训练配方;流畅回答本身并不能验证输出是否依赖图像。已有语言能力的复用带来新接口,但回答是否正确仍需要针对视觉条件检查。

逐步查看本页
  1. 训练输入换成图像与问题,目标换成适合指令的回答。
  2. 线性投影与 Vicuna 一起更新,CLIP 视觉编码器仍冻结。
  3. 已有语言能力成为基础,视觉接口与任务数据继续决定适配。

接到下一页:视觉指令材料从哪里来?

视觉指令材料从哪里来?

已有描述和对象框变成文本上下文,再组织为指令与回答。

左右滑动查看完整图解 ↔

图像的已有标注caption: two cups and a bookred cup: (0.11, 0.23, 0.37, 0.58)blue cup: (0.40, 0.23, 0.66, 0.57)文本 GPT-4接收描述与框坐标输入是文字记录指令与回答对话详细描述推理问答再将这些指令材料与图像配对,用于视觉指令训练。
生成的对话与图像配对,用于训练视觉指令模型。 在主讲中查看这一停点 ↗

原始 LLaVA 数据制作使用 COCO 图像的描述及对象框等文本化信息,让文本版 GPT-4 组织对话、详细描述和推理问答。GPT-4 接收的是这些文字记录,图像是描述与标注所对应的对象;这一步并非 GPT-4 直接看图生成指令。论文报告约十五点八万条视觉指令样本;官方参考课件中的近似数字与原论文不同,本课按论文。语言模型帮助改变材料组织形式,并没有凭空获得未写入上下文的图像细节。这个例子回扣监督来源:已有标注、人的示例与模型生成共同组成训练材料,生成材料的质量仍是需要检查的条件。

逐步查看本页
  1. 先读取图像已有的描述、对象名称与边界框坐标。
  2. 文本版 GPT-4 接收这些文字化上下文,生成多种指令材料。
  3. 生成的对话与图像配对,用于训练视觉指令模型。

接到下一页:先检查问题指向了哪个区域

先检查问题指向了哪个区域

同图换问题检查指代;固定问题改图,再检查视觉依赖。

左右滑动查看完整图解 ↔

固定图像,改变问题左侧杯子是什么颜色?→ 红色右侧杯子是什么颜色?→ 蓝色下一步:固定问题,交换颜色,再检查答案变化。箭头与框是教学标注,展示可核对的答案依据。
下一步固定问题、交换两杯颜色,检查答案是否随图像变化。 在主讲中查看这一停点 ↗

这里把持球题的比较方法迁移到视觉问答:保持图像不变,先问左侧杯子的颜色,再问右侧杯子的颜色。图中用描边指出答案所依赖的区域,红色/蓝色只是根据给定场景可核对的答案预期,不是本轮实测模型输出。改变问题里的指代对象,是学生可以直接实施的对照;下一步还可保持问题不变,对同一对象施加受控改色。真实实验需固定模型版本、预处理与解码设置,保存输入输出,再检查回答变化是否与被指定区域对应。一次成功或失败都不能决定全部视觉能力;这个例子提供取得更有区分力证据的起点。 本页先检查指代与答案的对应;仅凭这组结果,还不能排除与图像无关的规则。

逐步查看本页
  1. 同一张图,先问左侧杯子的颜色:答案应依据红杯区域。
  2. 把指代改成右侧杯子:答案应依据蓝杯区域。
  3. 下一步固定问题、交换两杯颜色,检查答案是否随图像变化。

接到下一页:哪些能力可以继承,哪些环节还要重新学习?

哪些能力可以继承,哪些环节还要重新学习?

复用的是具体组件;任务条件、输出和监督决定还要学习什么。

左右滑动查看完整图解 ↔

可以继承的组件仍要学习的任务接口MAE 的视觉编码器SAM:点 / 框与掩码的对应分割监督与数据组织CLIP 视觉 + 已有语言模型LLaVA:视觉连接层视觉指令下的回答适配表示起点 + 输出结构 + 任务训练 + 可区分的检验
表示提供起点,新任务还要有相应输出、监督和检验。 在主讲中查看这一停点 ↗

复用要落到具体组件上:SAM 使用 MAE 初始化的视觉编码器,再学习提示到掩码的分割任务;LLaVA 使用 CLIP 视觉编码器和已有语言模型,通过连接层和指令训练把图像接入回答过程。继承权重并不意味着新能力已经就绪。检测器区域特征进入 ViLBERT,或 GLIP 将语言表示与定位任务结合,也都需要新的训练组织。

整讲回到同一个判断:学习目标让表示保留什么,输出结构要求读出什么,接口怎样指定当前任务,最后用什么证据检验?下一步将改变要研究的对象:从已有图像上的任务,转向生成分布、训练与采样本身。

逐步查看本页
  1. MAE 编码器可以初始化 SAM;点/框到掩码的能力仍来自分割训练。
  2. LLaVA 继承视觉编码器与语言模型;连接层和视觉指令适配建立新的任务接口。
  3. 表示提供起点,新任务还要有相应输出、监督和检验。

接到下一页:只给一句描述,怎样产生一幅新图像?

只给一句描述,怎样产生一幅新图像?

拿走输入图,只留“红色杯子放在木桌上”:现在需要产生新的视觉内容。

左右滑动查看完整图解 ↔

已有图像 + 候选文字 → 匹配已有图像 + 短语 → 区域已有图像 + 问题 → 文字回答红色杯子放在木桌上需要产生新的像素条件给出了要求;匹配分数尚未给出采样过程。
给候选打分,还没有给出生成这些像素的方法。 在主讲中查看这一停点 ↗

匹配、定位与看图回答以已有图像为输入。现在移除它,只保留条件“红色杯子放在木桌上”,要求输出一幅新图像。对候选的相似度评分可以成为某些系统中的信号,但本身不是完整采样器。

第三讲已经接触过生成:captioning 与看图回答可以逐词生成文本,MAE 则训练重构隐藏像素。课程边界不是“以前没有生成”,而是第四讲将生成分布、训练与采样本身作为研究对象,并比较不同生成过程。MAE 现有配方也不会自动成为任意文生图系统。

逐步查看本页
  1. 已经见过:图文匹配、按短语定位、看图回答。
  2. 现在拿走图像,只给文字条件,要求系统产生新的像素。
  3. 给候选打分,还没有给出生成这些像素的方法。

接到下一页:同一句话,为什么有多种合理图像?

同一句话,为什么有多种合理图像?

条件规定红杯与木桌;杯型、视角和光照仍有自由度。

左右滑动查看完整图解 ↔

合理样本 1合理样本 2合理样本 3违反条件:蓝杯同一条件:红色杯子放在木桌上必须满足:红杯、木桌。 未指定:杯型、视角、光照。x ∼ pθ(x | c)学习多种合理可能,再采样具体结果。合成情境示例 · 并非单变量实验或生成方法的质量比较
学习符合条件的多种可能,再采样出一个具体结果:x ∼ pθ(x | c)。 在主讲中查看这一停点 ↗

同一描述没有指定全部像素。杯型、镜头位置和光照可以不同,仍满足红色杯子和木桌这两个条件。蓝杯对照则违反了明确指定的颜色。这里的图是合成情境示例,展示条件与自由度,不是单变量实验,也不是 GAN、VAE 或 Diffusion 的质量比较。

生成模型需要学习一个能容纳多种合理结果的条件分布,再通过生成过程得到具体样本。x ∼ pθ(x | c) 中 c 是条件,x 是采样结果;这个记号先组织问题,不替代训练方法与采样算法。

逐步查看本页
  1. 先检查:这三张图都满足了哪些条件?又有哪些差别?
  2. 蓝色杯子虽然也在木桌上,却违反了“红色”这个指定条件。
  3. 学习符合条件的多种可能,再采样出一个具体结果:x ∼ pθ(x | c)。

接到下一页:什么训练信号能教会模型生成?

什么训练信号能教会模型生成?

GAN、VAE、Diffusion 提出三种组织学习的方式,第四讲再展开训练与采样。

左右滑动查看完整图解 ↔

GAN判别器提供训练反馈生成器据此学习产生样本VAE重构 + 分布约束学习潜变量模型,并从潜变量采样Diffusion学习恢复不同程度的破坏从初始随机状态经反向过程生成三种学习组织;第四讲再比较训练、条件与采样。
Diffusion:学习恢复不同程度的破坏;生成时从随机状态逐步得到样本。 在主讲中查看这一停点 ↗

这里按第四讲课堂顺序提出三个问题。GAN 的判别器怎样为生成器提供反馈?VAE 怎样通过带潜变量的概率模型,同时组织重构与分布约束,并从潜变量生成?Diffusion 怎样从不同破坏程度的训练问题,学到可用于反向生成的预测器?

三种方法没有按这个顺序互相淘汰,也未覆盖所有生成方式。VAE 不只是普通压缩;扩散采样也不是倒放某一张训练图的加噪录像。第四讲将深入扩散训练与采样、潜空间和条件,并用自回归作重要对照。

逐步查看本页
  1. GAN:生成器利用判别器的反馈,学习产生样本。
  2. VAE:重构与分布约束共同训练潜变量生成模型;生成时从潜变量采样。
  3. Diffusion:学习恢复不同程度的破坏;生成时从随机状态逐步得到样本。

接到下一页:描述任务把视觉接到可变长度输出|问题从哪里出现

描述任务把视觉接到可变长度输出|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
1
图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
2
观察对象:同一桌面图可说“两只杯子在书旁”或“红杯挡住蓝杯的一部分”,都合理但信息选择不同。
3
向后检验:视觉编码器提供条件,序列模型从 BOS 开始逐 token 预测,直到 EOS;训练与使用看到的前缀不同。
向后检验:视觉编码器提供条件,序列模型从 BOS 开始逐 token 预测,直到 EOS;训练与使用看到的前缀不同。 在主讲中查看这一停点 ↗

视觉分类交付固定类别,描述交付可变长度语言。要让“红色方块在左边”由图像产生,需要视觉特征进入每步词分布并受到配对句子监督。

逐步查看本页
  1. 图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
  2. 观察对象:同一桌面图可说“两只杯子在书旁”或“红杯挡住蓝杯的一部分”,都合理但信息选择不同。
  3. 向后检验:视觉编码器提供条件,序列模型从 BOS 开始逐 token 预测,直到 EOS;训练与使用看到的前缀不同。

接到下一页:描述任务把视觉接到可变长度输出|核心改动怎样工作

描述任务把视觉接到可变长度输出|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
1
视觉编码器提供条件,序列模型从 BOS 开始逐 token 预测,直到 EOS;训练与使用看到的前缀不同。
2
回到前一步:图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
3
向后检验:同一桌面图可说“两只杯子在书旁”或“红杯挡住蓝杯的一部分”,都合理但信息选择不同。
向后检验:同一桌面图可说“两只杯子在书旁”或“红杯挡住蓝杯的一部分”,都合理但信息选择不同。 在主讲中查看这一停点 ↗

p(y|I)=Π_t p(y_t|y_<t,I)。图像可以初始化循环状态、每步拼接,或经注意力读取局部区域;实际代码决定视觉条件在哪条路径发挥作用。

逐步查看本页
  1. 视觉编码器提供条件,序列模型从 BOS 开始逐 token 预测,直到 EOS;训练与使用看到的前缀不同。
  2. 回到前一步:图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
  3. 向后检验:同一桌面图可说“两只杯子在书旁”或“红杯挡住蓝杯的一部分”,都合理但信息选择不同。

接到下一页:描述任务把视觉接到可变长度输出|一起算一个完整例子

描述任务把视觉接到可变长度输出|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
1
句子为 red cup EOS;模型输入前缀为 BOS、red、cup,监督目标依次为 red、cup、EOS。
2
图像编码向量作为生成条件;padding 位置不计损失,真实 EOS 必须参与学习。
3
训练时输入正确前词,推理时输入自己刚生成的词;相同参数面对不同前缀分布。
训练时输入正确前词,推理时输入自己刚生成的词;相同参数面对不同前缀分布。 在主讲中查看这一停点 ↗

句子为 red cup EOS;模型输入前缀为 BOS、red、cup,监督目标依次为 red、cup、EOS。

图像编码向量作为生成条件;padding 位置不计损失,真实 EOS 必须参与学习。

训练时输入正确前词,推理时输入自己刚生成的词;相同参数面对不同前缀分布。

LAB13 CNN输出48维视觉向量,拼24维词嵌入送GRU64,同时以视觉初始化hidden。720训练/180保留渲染图,greedy与beam3完整句精确匹配均100%。

逐步查看本页
  1. 句子为 red cup EOS;模型输入前缀为 BOS、red、cup,监督目标依次为 red、cup、EOS。
  2. 图像编码向量作为生成条件;padding 位置不计损失,真实 EOS 必须参与学习。
  3. 训练时输入正确前词,推理时输入自己刚生成的词;相同参数面对不同前缀分布。

接到下一页:描述任务把视觉接到可变长度输出|怎样检查这项解释

描述任务把视觉接到可变长度输出|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
1
LRCN 与 Show and Tell 在 2014-11-17 同日提交,作为同期问题窗口而非单线因果。
2
回到前一步:同一桌面图可说“两只杯子在书旁”或“红杯挡住蓝杯的一部分”,都合理但信息选择不同。
3
向后检验:token likelihood 与人类认可质量不完全一致;更流畅也不证明视觉使用更充分。
向后检验:token likelihood 与人类认可质量不完全一致;更流畅也不证明视觉使用更充分。 在主讲中查看这一停点 ↗

像素置零后5.56%,固定循环错配后0%;同一BOS a前缀换红方左图与蓝圆右图,分别生成对应颜色/形状/位置。真实视觉条件影响生成。

逐步查看本页
  1. LRCN 与 Show and Tell 在 2014-11-17 同日提交,作为同期问题窗口而非单线因果。
  2. 回到前一步:同一桌面图可说“两只杯子在书旁”或“红杯挡住蓝杯的一部分”,都合理但信息选择不同。
  3. 向后检验:token likelihood 与人类认可质量不完全一致;更流畅也不证明视觉使用更充分。

接到下一页:描述任务把视觉接到可变长度输出|什么结论还不能推出

描述任务把视觉接到可变长度输出|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

图像分类给固定类别,captioning 要在多个合理句子中产生一个序列。
1
token likelihood 与人类认可质量不完全一致;更流畅也不证明视觉使用更充分。
2
回到前一步:LRCN 与 Show and Tell 在 2014-11-17 同日提交,作为同期问题窗口而非单线因果。
3
向后检验:token likelihood 与人类认可质量不完全一致;更流畅也不证明视觉使用更充分。
向后检验:token likelihood 与人类认可质量不完全一致;更流畅也不证明视觉使用更充分。 在主讲中查看这一停点 ↗

18种语义组合都在训练和保留两侧,测试是新渲染泛化;它不证明未见组合、开放照片或自由语言描述能力。

逐步查看本页
  1. token likelihood 与人类认可质量不完全一致;更流畅也不证明视觉使用更充分。
  2. 回到前一步:LRCN 与 Show and Tell 在 2014-11-17 同日提交,作为同期问题窗口而非单线因果。
  3. 向后检验:token likelihood 与人类认可质量不完全一致;更流畅也不证明视觉使用更充分。

接到下一页:训练前缀与生成前缀不同|问题从哪里出现

训练前缀与生成前缀不同|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

teacher forcing 用真实前缀训练,而生成时只能把自己的输出接回输入,错误会改变后续条件。
1
teacher forcing 用真实前缀训练,而生成时只能把自己的输出接回输入,错误会改变后续条件。
2
观察对象:两条不同长度 caption 组成 batch,列出 token IDs、shifted inputs、targets 与 padding mask。
3
向后检验:用 BOS/EOS、padding 与 loss mask 明确每个位置的输入、目标和是否计入损失。
向后检验:用 BOS/EOS、padding 与 loss mask 明确每个位置的输入、目标和是否计入损失。 在主讲中查看这一停点 ↗

训练时模型通常看到真实前缀,推理时却必须承担自身输出。序列移位只是整理监督,若没有图像、词分布与参数更新,还没有完成caption。

逐步查看本页
  1. teacher forcing 用真实前缀训练,而生成时只能把自己的输出接回输入,错误会改变后续条件。
  2. 观察对象:两条不同长度 caption 组成 batch,列出 token IDs、shifted inputs、targets 与 padding mask。
  3. 向后检验:用 BOS/EOS、padding 与 loss mask 明确每个位置的输入、目标和是否计入损失。

接到下一页:训练前缀与生成前缀不同|核心改动怎样工作

训练前缀与生成前缀不同|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

teacher forcing 用真实前缀训练,而生成时只能把自己的输出接回输入,错误会改变后续条件。
1
用 BOS/EOS、padding 与 loss mask 明确每个位置的输入、目标和是否计入损失。
2
回到前一步:teacher forcing 用真实前缀训练,而生成时只能把自己的输出接回输入,错误会改变后续条件。
3
向后检验:两条不同长度 caption 组成 batch,列出 token IDs、shifted inputs、targets 与 padding mask。
向后检验:两条不同长度 caption 组成 batch,列出 token IDs、shifted inputs、targets 与 padding mask。 在主讲中查看这一停点 ↗

输入[BOS,红色,杯子]对应目标[红色,杯子,EOS]。PAD不计损失,EOS要学习;生成从BOS自回归接续,直到EOS或长度上限。

逐步查看本页
  1. 用 BOS/EOS、padding 与 loss mask 明确每个位置的输入、目标和是否计入损失。
  2. 回到前一步:teacher forcing 用真实前缀训练,而生成时只能把自己的输出接回输入,错误会改变后续条件。
  3. 向后检验:两条不同长度 caption 组成 batch,列出 token IDs、shifted inputs、targets 与 padding mask。

接到下一页:训练前缀与生成前缀不同|一起算一个完整例子

训练前缀与生成前缀不同|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

同一棵概率树:greedy 路径为 0.306,beam 宽度 2 保留的路径为 0.36;示例各路径随后以概率 1 结束。
较高模型概率不等于更真实的描述;还需检查图像条件、句子内容和解码约束。 在主讲中查看这一停点 ↗

首词 A/B 概率 .6/.4;A 后 X/Y 概率 .51/.49,B 后 X/Y 概率 .9/.1。

greedy 得 A→X,概率 .306;beam 宽度 2 可保留 B→X,概率 .36。两路径下一步 EOS 概率都为 1。

较高模型概率不等于更真实的描述;还需检查图像条件、句子内容和解码约束。

概率树中greedy AX=.6×.51=.306,而beam保留B后可得BX=.4×.9=.36。LAB13真实greedy/beam3同为100%,没有提供beam收益的实测证据。

逐步查看本页
  1. 首词 A/B 概率 .6/.4;A 后 X/Y 概率 .51/.49,B 后 X/Y 概率 .9/.1。
  2. greedy 得 A→X,概率 .306;beam 宽度 2 可保留 B→X,概率 .36。两路径下一步 EOS 概率都为 1。
  3. 较高模型概率不等于更真实的描述;还需检查图像条件、句子内容和解码约束。

接到下一页:训练前缀与生成前缀不同|怎样检查这项解释

训练前缀与生成前缀不同|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

LAB13 · CNN–GRU 实际自回归生成;对照零图像与错配图像。
向后检验:beam 不保证人类质量更好,也不能修复模型给正确序列极低概率的问题。 在主讲中查看这一停点 ↗

LAB13保存训练token CE、保留teacher-forced CE、完整句生成与去图/错配对照。三种结果分别检查优化、条件预测和自由生成,不能用一项代替其余。

逐步查看本页
  1. 小概率树比较 greedy 与 beam;search error 与 model error 分开诊断。
  2. 回到前一步:两条不同长度 caption 组成 batch,列出 token IDs、shifted inputs、targets 与 padding mask。
  3. 向后检验:beam 不保证人类质量更好,也不能修复模型给正确序列极低概率的问题。

接到下一页:训练前缀与生成前缀不同|什么结论还不能推出

训练前缀与生成前缀不同|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

teacher forcing 用真实前缀训练,而生成时只能把自己的输出接回输入,错误会改变后续条件。
1
beam 不保证人类质量更好,也不能修复模型给正确序列极低概率的问题。
2
回到前一步:小概率树比较 greedy 与 beam;search error 与 model error 分开诊断。
3
向后检验:beam 不保证人类质量更好,也不能修复模型给正确序列极低概率的问题。
向后检验:beam 不保证人类质量更好,也不能修复模型给正确序列极低概率的问题。 在主讲中查看这一停点 ↗

更高句子概率未必更忠于图片;beam还受长度惩罚、EOS处理与宽度限制。手填greedy字符串不等于执行了解码算法。

逐步查看本页
  1. beam 不保证人类质量更好,也不能修复模型给正确序列极低概率的问题。
  2. 回到前一步:小概率树比较 greedy 与 beam;search error 与 model error 分开诊断。
  3. 向后检验:beam 不保证人类质量更好,也不能修复模型给正确序列极低概率的问题。

接到下一页:问题指定视觉读取,也可能泄露答案先验|问题从哪里出现

问题指定视觉读取,也可能泄露答案先验|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

VQA 需要根据问题选择视觉信息,但语言分布本身可能让无图模型猜对很多答案。
1
VQA 需要根据问题选择视觉信息,但语言分布本身可能让无图模型猜对很多答案。
2
观察对象:同一图分别问“几个杯子”“左边杯子颜色”;再交换颜色而保持问题,检查答案是否随图变化。
3
向后检验:比较 question-only、image-only 与 image+question;同图换问题、同问题换图形成受控对照。
向后检验:比较 question-only、image-only 与 image+question;同图换问题、同问题换图形成受控对照。 在主讲中查看这一停点 ↗

“左边物体什么颜色”可能在训练中大多回答红。question-only能利用这一先验,不读取图片也取得不错成绩,因此视觉分支必须接受同图换问和同问换图检验。

逐步查看本页
  1. VQA 需要根据问题选择视觉信息,但语言分布本身可能让无图模型猜对很多答案。
  2. 观察对象:同一图分别问“几个杯子”“左边杯子颜色”;再交换颜色而保持问题,检查答案是否随图变化。
  3. 向后检验:比较 question-only、image-only 与 image+question;同图换问题、同问题换图形成受控对照。

接到下一页:问题指定视觉读取,也可能泄露答案先验|核心改动怎样工作

问题指定视觉读取,也可能泄露答案先验|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

VQA 需要根据问题选择视觉信息,但语言分布本身可能让无图模型猜对很多答案。
1
比较 question-only、image-only 与 image+question;同图换问题、同问题换图形成受控对照。
2
回到前一步:VQA 需要根据问题选择视觉信息,但语言分布本身可能让无图模型猜对很多答案。
3
向后检验:同一图分别问“几个杯子”“左边杯子颜色”;再交换颜色而保持问题,检查答案是否随图变化。
向后检验:同一图分别问“几个杯子”“左边杯子颜色”;再交换颜色而保持问题,检查答案是否随图变化。 在主讲中查看这一停点 ↗

模型学习p(a|I,q),问题选择要读的属性;先按图划分,再扩展多个问题,避免同图不同问题泄漏到训练与保留两侧。视觉分支必须读像素或可追溯特征。

逐步查看本页
  1. 比较 question-only、image-only 与 image+question;同图换问题、同问题换图形成受控对照。
  2. 回到前一步:VQA 需要根据问题选择视觉信息,但语言分布本身可能让无图模型猜对很多答案。
  3. 向后检验:同一图分别问“几个杯子”“左边杯子颜色”;再交换颜色而保持问题,检查答案是否随图变化。

接到下一页:问题指定视觉读取,也可能泄露答案先验|一起算一个完整例子

问题指定视觉读取,也可能泄露答案先验|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

VQA 需要根据问题选择视觉信息,但语言分布本身可能让无图模型猜对很多答案。
1
LAB14 的 RGB 图像与三个问题共同构成实验;独立本地保留集上视觉模型为 100%。
2
同协议 question-only 为 44.44%;遮图与错图也降到 44.44%,模型确实使用了图像条件。
3
合成场景有限,100% 不代表开放问答能力;还要分别观察同图换问题与同问题改图。
合成场景有限,100% 不代表开放问答能力;还要分别观察同图换问题与同问题改图。 在主讲中查看这一停点 ↗

LAB14 的 RGB 图像与三个问题共同构成实验;独立本地保留集上视觉模型为 100%。

同协议 question-only 为 44.44%;遮图与错图也降到 44.44%,模型确实使用了图像条件。

合成场景有限,100% 不代表开放问答能力;还要分别观察同图换问题与同问题改图。

LAB14训练720图、保留180图×3问题=540对。图问模型100%,Q-only44.44%;其数量50%、颜色33.33%、形状50%。训练颜色先验实测73.61%。

逐步查看本页
  1. LAB14 的 RGB 图像与三个问题共同构成实验;独立本地保留集上视觉模型为 100%。
  2. 同协议 question-only 为 44.44%;遮图与错图也降到 44.44%,模型确实使用了图像条件。
  3. 合成场景有限,100% 不代表开放问答能力;还要分别观察同图换问题与同问题改图。

接到下一页:问题指定视觉读取,也可能泄露答案先验|怎样检查这项解释

问题指定视觉读取,也可能泄露答案先验|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

LAB14 · 同图换问题、同问题改图;实际视觉模型与问题先验分别记录。
向后检验:一次正确回答不能证明因果视觉依赖;attention 热图也不是天然可靠解释。 在主讲中查看这一停点 ↗

固定循环错配总体也是44.44%,分项却为数量83.33%、颜色50%、形状0%。排列残余关联解释这种差异,不能把它当独立随机错配的理论机会率。

逐步查看本页
  1. 早期答案分类与生成式回答的监督和评价不同;基线暴露数据集偏差。
  2. 回到前一步:同一图分别问“几个杯子”“左边杯子颜色”;再交换颜色而保持问题,检查答案是否随图变化。
  3. 向后检验:一次正确回答不能证明因果视觉依赖;attention 热图也不是天然可靠解释。

接到下一页:问题指定视觉读取,也可能泄露答案先验|什么结论还不能推出

问题指定视觉读取,也可能泄露答案先验|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

VQA 需要根据问题选择视觉信息,但语言分布本身可能让无图模型猜对很多答案。
1
一次正确回答不能证明因果视觉依赖;attention 热图也不是天然可靠解释。
2
回到前一步:早期答案分类与生成式回答的监督和评价不同;基线暴露数据集偏差。
3
向后检验:一次正确回答不能证明因果视觉依赖;attention 热图也不是天然可靠解释。
向后检验:一次正确回答不能证明因果视觉依赖;attention 热图也不是天然可靠解释。 在主讲中查看这一停点 ↗

直接读场景字典color/count是oracle规则,不是视觉模型。三模板合成任务满分也不能称开放VQA,需新问法、对象与关系验证。

逐步查看本页
  1. 一次正确回答不能证明因果视觉依赖;attention 热图也不是天然可靠解释。
  2. 回到前一步:早期答案分类与生成式回答的监督和评价不同;基线暴露数据集偏差。
  3. 向后检验:一次正确回答不能证明因果视觉依赖;attention 热图也不是天然可靠解释。

接到下一页:区域 token 让语言预训练接入物体|问题从哪里出现

区域 token 让语言预训练接入物体|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
1
整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
2
观察对象:“红杯在蓝杯左边”拆成两个区域 token 和关系词,比较整图、region、patch 三种粒度。
3
向后检验:ViLBERT 等方法使用检测器区域表示与语言 token,通过跨模态交互和配对任务学习对应。
向后检验:ViLBERT 等方法使用检测器区域表示与语言 token,通过跨模态交互和配对任务学习对应。 在主讲中查看这一停点 ↗

整图CLIP能知道图中有猫和宇航员,却可能分不清谁在左。把表示细分到区域增加了可读取对象,但还必须保留位置与词语对应。

逐步查看本页
  1. 整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
  2. 观察对象:“红杯在蓝杯左边”拆成两个区域 token 和关系词,比较整图、region、patch 三种粒度。
  3. 向后检验:ViLBERT 等方法使用检测器区域表示与语言 token,通过跨模态交互和配对任务学习对应。

接到下一页:区域 token 让语言预训练接入物体|核心改动怎样工作

区域 token 让语言预训练接入物体|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
1
ViLBERT 等方法使用检测器区域表示与语言 token,通过跨模态交互和配对任务学习对应。
2
回到前一步:整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
3
向后检验:“红杯在蓝杯左边”拆成两个区域 token 和关系词,比较整图、region、patch 三种粒度。
向后检验:“红杯在蓝杯左边”拆成两个区域 token 和关系词,比较整图、region、patch 三种粒度。 在主讲中查看这一停点 ↗

区域向量可缓存,查询token/向量决定区域权重,再聚合得分。若聚合对区域顺序不敏感,交换两区域会保留同一总分,无法表达左右关系。

逐步查看本页
  1. ViLBERT 等方法使用检测器区域表示与语言 token,通过跨模态交互和配对任务学习对应。
  2. 回到前一步:整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
  3. 向后检验:“红杯在蓝杯左边”拆成两个区域 token 和关系词,比较整图、region、patch 三种粒度。

接到下一页:区域 token 让语言预训练接入物体|一起算一个完整例子

区域 token 让语言预训练接入物体|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
1
一句“blue cup 左边的 cup”至少包含目标 cup、参照物 blue cup 与 left-of 关系。
2
区域特征需保留对象位置;仅把所有区域求和,交换两个对象的位置可能得到相同向量。
3
token 交互让问题可影响区域读取,但坐标、监督与对照实验仍决定它是否学到空间关系。
token 交互让问题可影响区域读取,但坐标、监督与对照实验仍决定它是否学到空间关系。 在主讲中查看这一停点 ↗

一句“blue cup 左边的 cup”至少包含目标 cup、参照物 blue cup 与 left-of 关系。

区域特征需保留对象位置;仅把所有区域求和,交换两个对象的位置可能得到相同向量。

token 交互让问题可影响区域读取,但坐标、监督与对照实验仍决定它是否学到空间关系。

真实CLIP区域基线问猫时给猫区域权重.9415,问宇航员时给其区域.8008。对左右关系的无位置加权总分在交换图上严格相同,最大差为0。

逐步查看本页
  1. 一句“blue cup 左边的 cup”至少包含目标 cup、参照物 blue cup 与 left-of 关系。
  2. 区域特征需保留对象位置;仅把所有区域求和,交换两个对象的位置可能得到相同向量。
  3. token 交互让问题可影响区域读取,但坐标、监督与对照实验仍决定它是否学到空间关系。

接到下一页:区域 token 让语言预训练接入物体|怎样检查这项解释

区域 token 让语言预训练接入物体|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
1
标出哪些模块来自已训练检测器和语言模型,哪些跨模态关系必须重新训练。
2
回到前一步:“红杯在蓝杯左边”拆成两个区域 token 和关系词,比较整图、region、patch 三种粒度。
3
向后检验:区域检测器的类别与误差会成为上游偏置;2018–2019 是汇合点而非视觉语言起点。
向后检验:区域检测器的类别与误差会成为上游偏置;2018–2019 是汇合点而非视觉语言起点。 在主讲中查看这一停点 ↗

LAB12保存实际区域余弦、权重与两图结果;这是真实编码后的查询依赖聚合,清楚显示“能选择对象”与“能绑定左右关系”不同。

逐步查看本页
  1. 标出哪些模块来自已训练检测器和语言模型,哪些跨模态关系必须重新训练。
  2. 回到前一步:“红杯在蓝杯左边”拆成两个区域 token 和关系词,比较整图、region、patch 三种粒度。
  3. 向后检验:区域检测器的类别与误差会成为上游偏置;2018–2019 是汇合点而非视觉语言起点。

接到下一页:区域 token 让语言预训练接入物体|什么结论还不能推出

区域 token 让语言预训练接入物体|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

整图向量压缩了位置与实例,难以对应句子中的具体名词短语。
1
区域检测器的类别与误差会成为上游偏置;2018–2019 是汇合点而非视觉语言起点。
2
回到前一步:标出哪些模块来自已训练检测器和语言模型,哪些跨模态关系必须重新训练。
3
向后检验:区域检测器的类别与误差会成为上游偏置;2018–2019 是汇合点而非视觉语言起点。
向后检验:区域检测器的类别与误差会成为上游偏置;2018–2019 是汇合点而非视觉语言起点。 在主讲中查看这一停点 ↗

手工候选区域与解析聚合不是训练出的交叉编码器,也不是GLIP。区域裁剪若删掉参照物,上下文关系可能从输入阶段就不可恢复。

逐步查看本页
  1. 区域检测器的类别与误差会成为上游偏置;2018–2019 是汇合点而非视觉语言起点。
  2. 回到前一步:标出哪些模块来自已训练检测器和语言模型,哪些跨模态关系必须重新训练。
  3. 向后检验:区域检测器的类别与误差会成为上游偏置;2018–2019 是汇合点而非视觉语言起点。

接到下一页:交互发生得早或晚,决定缓存与表达|问题从哪里出现

交互发生得早或晚,决定缓存与表达|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

每个图文对都联合编码表达力强但昂贵;完全独立编码易缓存却限制细粒度交互。
1
每个图文对都联合编码表达力强但昂贵;完全独立编码易缓存却限制细粒度交互。
2
观察对象:一百万张图、一个查询:双编码预存图向量;交叉编码需对候选逐对计算;late interaction 保留多个 token。
3
向后检验:比较双编码器、交叉编码器与 late interaction 的可预计算部分、在线计算和索引结构。
向后检验:比较双编码器、交叉编码器与 late interaction 的可预计算部分、在线计算和索引结构。 在主讲中查看这一停点 ↗

如果每个图文对都重算深编码,图库规模会把成本乘大。双编码允许独立缓存,但省下编码后仍需向量搜索和索引。

逐步查看本页
  1. 每个图文对都联合编码表达力强但昂贵;完全独立编码易缓存却限制细粒度交互。
  2. 观察对象:一百万张图、一个查询:双编码预存图向量;交叉编码需对候选逐对计算;late interaction 保留多个 token。
  3. 向后检验:比较双编码器、交叉编码器与 late interaction 的可预计算部分、在线计算和索引结构。

接到下一页:交互发生得早或晚,决定缓存与表达|核心改动怎样工作

交互发生得早或晚,决定缓存与表达|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

每个图文对都联合编码表达力强但昂贵;完全独立编码易缓存却限制细粒度交互。
1
比较双编码器、交叉编码器与 late interaction 的可预计算部分、在线计算和索引结构。
2
回到前一步:每个图文对都联合编码表达力强但昂贵;完全独立编码易缓存却限制细粒度交互。
3
向后检验:一百万张图、一个查询:双编码预存图向量;交叉编码需对候选逐对计算;late interaction 保留多个 token。
向后检验:一百万张图、一个查询:双编码预存图向量;交叉编码需对候选逐对计算;late interaction 保留多个 token。 在主讲中查看这一停点 ↗

N图Q问逐对分别重编码需2NQ个样本编码,缓存则N+Q;精确搜索仍有QNd乘加量,float32图库约4Nd字节。

逐步查看本页
  1. 比较双编码器、交叉编码器与 late interaction 的可预计算部分、在线计算和索引结构。
  2. 回到前一步:每个图文对都联合编码表达力强但昂贵;完全独立编码易缓存却限制细粒度交互。
  3. 向后检验:一百万张图、一个查询:双编码预存图向量;交叉编码需对候选逐对计算;late interaction 保留多个 token。

接到下一页:交互发生得早或晚,决定缓存与表达|一起算一个完整例子

交互发生得早或晚,决定缓存与表达|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

每个图文对都联合编码表达力强但昂贵;完全独立编码易缓存却限制细粒度交互。
1
一百万项、每项 512 维、float32 缓存占 1,000,000×512×4=2.048 GB。
2
精确点积每条查询需约 5.12 亿次乘加;缓存省去重新编码,并未消除搜索成本。
3
LAB12 的小库实际 IVF 有索引与候选开销,测得比 exact 慢;规模和召回要求决定取舍。
LAB12 的小库实际 IVF 有索引与候选开销,测得比 exact 慢;规模和召回要求决定取舍。 在主讲中查看这一停点 ↗

一百万项、每项 512 维、float32 缓存占 1,000,000×512×4=2.048 GB。

精确点积每条查询需约 5.12 亿次乘加;缓存省去重新编码,并未消除搜索成本。

LAB12 的小库实际 IVF 有索引与候选开销,测得比 exact 慢;规模和召回要求决定取舍。

N=24,Q=12时编码样本576→36;百万512维向量约2.048GB。实际12问整批exact中位.04558ms,IVF nprobe1 .10159ms,扫描24→4.17向量。

逐步查看本页
  1. 一百万项、每项 512 维、float32 缓存占 1,000,000×512×4=2.048 GB。
  2. 精确点积每条查询需约 5.12 亿次乘加;缓存省去重新编码,并未消除搜索成本。
  3. LAB12 的小库实际 IVF 有索引与候选开销,测得比 exact 慢;规模和召回要求决定取舍。

接到下一页:交互发生得早或晚,决定缓存与表达|怎样检查这项解释

交互发生得早或晚,决定缓存与表达|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

LAB12 · 实际图像特征缓存与查询结果;12条查询、24个相关视图,不视作独立24张照片。
向后检验:复杂度依赖 token 数、候选筛选与实现,不把符号 O() 直接当实际延迟。 在主讲中查看这一停点 ↗

LAB12固定8簇IVF与exact ID对应:nprobe1 Top3重合率.7778、语义Hit3=1;nprobe2重合率1但中位.10836ms。小库开销让ANN更慢。

逐步查看本页
  1. 成本表区分编码、存储、精确搜索与 ANN 近似误差;Recall@K 定义写清。
  2. 回到前一步:一百万张图、一个查询:双编码预存图向量;交叉编码需对候选逐对计算;late interaction 保留多个 token。
  3. 向后检验:复杂度依赖 token 数、候选筛选与实现,不把符号 O() 直接当实际延迟。

接到下一页:交互发生得早或晚,决定缓存与表达|什么结论还不能推出

交互发生得早或晚,决定缓存与表达|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

每个图文对都联合编码表达力强但昂贵;完全独立编码易缓存却限制细粒度交互。
1
复杂度依赖 token 数、候选筛选与实现,不把符号 O() 直接当实际延迟。
2
回到前一步:成本表区分编码、存储、精确搜索与 ANN 近似误差;Recall@K 定义写清。
3
向后检验:复杂度依赖 token 数、候选筛选与实现,不把符号 O() 直接当实际延迟。
向后检验:复杂度依赖 token 数、候选筛选与实现,不把符号 O() 直接当实际延迟。 在主讲中查看这一停点 ↗

编码计数不是延迟。重编码同一CLIP对仍是双编码函数,不会变成真正交叉编码;ANN重合率与语义相关召回也不是一个指标。

逐步查看本页
  1. 复杂度依赖 token 数、候选筛选与实现,不把符号 O() 直接当实际延迟。
  2. 回到前一步:成本表区分编码、存储、精确搜索与 ANN 近似误差;Recall@K 定义写清。
  3. 向后检验:复杂度依赖 token 数、候选筛选与实现,不把符号 O() 直接当实际延迟。

接到下一页:CLIP 从图文对走到候选接口|问题从哪里出现

CLIP 从图文对走到候选接口|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
1
只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
2
观察对象:3 图×3 文矩阵核对对角配对;下游用多个文字模板构造候选并比较 raw similarity、logit 与 softmax。
3
向后检验:图像与文字分别编码归一化,形成批内相似度矩阵,用 image-to-text 与 text-to-image 双向损失训练。
向后检验:图像与文字分别编码归一化,形成批内相似度矩阵,用 image-to-text 与 text-to-image 双向损失训练。 在主讲中查看这一停点 ↗

图文配对让文本成为训练信号,训练后又能作为临时类别候选。这个接口给候选打分,不自动生成描述或返回对象框。

逐步查看本页
  1. 只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
  2. 观察对象:3 图×3 文矩阵核对对角配对;下游用多个文字模板构造候选并比较 raw similarity、logit 与 softmax。
  3. 向后检验:图像与文字分别编码归一化,形成批内相似度矩阵,用 image-to-text 与 text-to-image 双向损失训练。

接到下一页:CLIP 从图文对走到候选接口|核心改动怎样工作

CLIP 从图文对走到候选接口|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
1
图像与文字分别编码归一化,形成批内相似度矩阵,用 image-to-text 与 text-to-image 双向损失训练。
2
回到前一步:只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
3
向后检验:3 图×3 文矩阵核对对角配对;下游用多个文字模板构造候选并比较 raw similarity、logit 与 softmax。
向后检验:3 图×3 文矩阵核对对角配对;下游用多个文字模板构造候选并比较 raw similarity、logit 与 softmax。 在主讲中查看这一停点 ↗

图像与文字分别归一化为单位向量,S_ij=v_iᵀu_j,按行/列双向交叉熵识别配对。原始余弦、scaled logits和候选softmax依次是不同量。

逐步查看本页
  1. 图像与文字分别编码归一化,形成批内相似度矩阵,用 image-to-text 与 text-to-image 双向损失训练。
  2. 回到前一步:只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
  3. 向后检验:3 图×3 文矩阵核对对角配对;下游用多个文字模板构造候选并比较 raw similarity、logit 与 softmax。

接到下一页:CLIP 从图文对走到候选接口|一起算一个完整例子

CLIP 从图文对走到候选接口|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
1
两图两文的教学相似度为 [[.8,.2],[.1,.7]],温度 τ=.2。
2
两行匹配正例的概率均为 exp(4)/(exp(4)+exp(1))≈.9526;文本方向另按列归一化。
3
训练双向匹配不等于逐词生成;推理候选变化会改变 softmax 的相对分母。
训练双向匹配不等于逐词生成;推理候选变化会改变 softmax 的相对分母。 在主讲中查看这一停点 ↗

两图两文的教学相似度为 [[.8,.2],[.1,.7]],温度 τ=.2。

两行匹配正例的概率均为 exp(4)/(exp(4)+exp(1))≈.9526;文本方向另按列归一化。

训练双向匹配不等于逐词生成;推理候选变化会改变 softmax 的相对分母。

真实猫图基础候选cat余弦.28691、softmax .99577;加入tiger/fox后余弦保持、softmax .98195;删除cat后最高候选为tiger。

逐步查看本页
  1. 两图两文的教学相似度为 [[.8,.2],[.1,.7]],温度 τ=.2。
  2. 两行匹配正例的概率均为 exp(4)/(exp(4)+exp(1))≈.9526;文本方向另按列归一化。
  3. 训练双向匹配不等于逐词生成;推理候选变化会改变 softmax 的相对分母。

接到下一页:CLIP 从图文对走到候选接口|怎样检查这项解释

CLIP 从图文对走到候选接口|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
1
候选集合变化会改变 softmax 值;zero-shot 不使用当前下游数据集再训练模型,不等于概念未在预训练出现。
2
回到前一步:3 图×3 文矩阵核对对角配对;下游用多个文字模板构造候选并比较 raw similarity、logit 与 softmax。
3
向后检验:softmax 分数不是自动校准概率;整图匹配不能替代区域 grounding。
向后检验:softmax 分数不是自动校准概率;整图匹配不能替代区域 grounding。 在主讲中查看这一停点 ↗

新本地CPU推理使用固定OpenAI CLIP ViT-B/32 revision与权重hash,预处理224中心裁剪;猫图新旧余弦最大差1.04e−7。24图库、12查询也来自真实编码。

逐步查看本页
  1. 候选集合变化会改变 softmax 值;zero-shot 不使用当前下游数据集再训练模型,不等于概念未在预训练出现。
  2. 回到前一步:3 图×3 文矩阵核对对角配对;下游用多个文字模板构造候选并比较 raw similarity、logit 与 softmax。
  3. 向后检验:softmax 分数不是自动校准概率;整图匹配不能替代区域 grounding。

接到下一页:CLIP 从图文对走到候选接口|什么结论还不能推出

CLIP 从图文对走到候选接口|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

只看一张图对两句话的分数,会漏掉训练配对、双向目标、候选归一化和检索库。
1
softmax 分数不是自动校准概率;整图匹配不能替代区域 grounding。
2
回到前一步:候选集合变化会改变 softmax 值;zero-shot 不使用当前下游数据集再训练模型,不等于概念未在预训练出现。
3
向后检验:softmax 分数不是自动校准概率;整图匹配不能替代区域 grounding。
向后检验:softmax 分数不是自动校准概率;整图匹配不能替代区域 grounding。 在主讲中查看这一停点 ↗

候选最高项不等于现实真值,softmax不是校准概率。左右交换拼图两次都选同一句,揭示当前关系区分失败;一例不足以裁定所有关系能力。

逐步查看本页
  1. softmax 分数不是自动校准概率;整图匹配不能替代区域 grounding。
  2. 回到前一步:候选集合变化会改变 softmax 值;zero-shot 不使用当前下游数据集再训练模型,不等于概念未在预训练出现。
  3. 向后检验:softmax 分数不是自动校准概率;整图匹配不能替代区域 grounding。

接到下一页:语言指定区域需要新的对应监督|问题从哪里出现

语言指定区域需要新的对应监督|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

“红杯”与“蓝杯左边的杯子”都要求输出坐标,整图相似度无法指出具体实例。
1
“红杯”与“蓝杯左边的杯子”都要求输出坐标,整图相似度无法指出具体实例。
2
观察对象:同图固定三个候选框,改变短语的颜色词和关系词,检查匹配框是否相应变化。
3
向后检验:GLIP 将 phrase 与区域候选连接,在检测与 grounding 数据上训练文字—区域对应。
向后检验:GLIP 将 phrase 与区域候选连接,在检测与 grounding 数据上训练文字—区域对应。 在主讲中查看这一停点 ↗

cup left of blue cup里的blue指参照物,目标是另一只杯子。只见blue就选蓝杯,会把参照物当答案,无法靠“不是预训练模型”解释为正确。

逐步查看本页
  1. “红杯”与“蓝杯左边的杯子”都要求输出坐标,整图相似度无法指出具体实例。
  2. 观察对象:同图固定三个候选框,改变短语的颜色词和关系词,检查匹配框是否相应变化。
  3. 向后检验:GLIP 将 phrase 与区域候选连接,在检测与 grounding 数据上训练文字—区域对应。

接到下一页:语言指定区域需要新的对应监督|核心改动怎样工作

语言指定区域需要新的对应监督|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

“红杯”与“蓝杯左边的杯子”都要求输出坐标,整图相似度无法指出具体实例。
1
GLIP 将 phrase 与区域候选连接,在检测与 grounding 数据上训练文字—区域对应。
2
回到前一步:“红杯”与“蓝杯左边的杯子”都要求输出坐标,整图相似度无法指出具体实例。
3
向后检验:同图固定三个候选框,改变短语的颜色词和关系词,检查匹配框是否相应变化。
向后检验:同图固定三个候选框,改变短语的颜色词和关系词,检查匹配框是否相应变化。 在主讲中查看这一停点 ↗

解析目标类别cup、参照blue cup与left关系;候选a须不同于参照r,并满足cx(a)<cx(r)。再把所选身份映射到其坐标框。

逐步查看本页
  1. GLIP 将 phrase 与区域候选连接,在检测与 grounding 数据上训练文字—区域对应。
  2. 回到前一步:“红杯”与“蓝杯左边的杯子”都要求输出坐标,整图相似度无法指出具体实例。
  3. 向后检验:同图固定三个候选框,改变短语的颜色词和关系词,检查匹配框是否相应变化。

接到下一页:语言指定区域需要新的对应监督|一起算一个完整例子

语言指定区域需要新的对应监督|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

“红杯”与“蓝杯左边的杯子”都要求输出坐标,整图相似度无法指出具体实例。
1
候选中心 x:left-red=20,right-blue=70,book=100;问题为 cup left of blue cup。
2
先锁定参照物 right-blue,再在杯子候选中找中心 x<70 的对象,得到 left-red。
3
关键词 blue 直接返回 right-blue 会选中参照物;LAB15 保留这条错误规则作对照。
关键词 blue 直接返回 right-blue 会选中参照物;LAB15 保留这条错误规则作对照。 在主讲中查看这一停点 ↗

候选中心 x:left-red=20,right-blue=70,book=100;问题为 cup left of blue cup。

先锁定参照物 right-blue,再在杯子候选中找中心 x<70 的对象,得到 left-red。

关键词 blue 直接返回 right-blue 会选中参照物;LAB15 保留这条错误规则作对照。

红杯框[15,19,50,58]中心32.5,蓝杯[109,19,144,58]中心126.5;32.5<126.5故选红杯。书虽在左,但不是cup。

逐步查看本页
  1. 候选中心 x:left-red=20,right-blue=70,book=100;问题为 cup left of blue cup。
  2. 先锁定参照物 right-blue,再在杯子候选中找中心 x<70 的对象,得到 left-red。
  3. 关键词 blue 直接返回 right-blue 会选中参照物;LAB15 保留这条错误规则作对照。

接到下一页:语言指定区域需要新的对应监督|怎样检查这项解释

语言指定区域需要新的对应监督|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

LAB15 · 从像素提取候选,再解析目标、参照物与关系;这是规则定位基线。
向后检验:检测后调用 SAM 的组合系统不等于 SAM 自身理解自然语言。 在主讲中查看这一停点 ↗

LAB15实际像素规则修复关系:遮住红目标返回无目标,交换颜色使蓝参照在左也无left目标,改问right返回右红杯。图和像素差分保留指定干预。

逐步查看本页
  1. 完整 Lab 保存输入短语、候选、匹配分数和框;遮住目标形成反证。
  2. 回到前一步:同图固定三个候选框,改变短语的颜色词和关系词,检查匹配框是否相应变化。
  3. 向后检验:检测后调用 SAM 的组合系统不等于 SAM 自身理解自然语言。

接到下一页:语言指定区域需要新的对应监督|什么结论还不能推出

语言指定区域需要新的对应监督|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

“红杯”与“蓝杯左边的杯子”都要求输出坐标,整图相似度无法指出具体实例。
1
检测后调用 SAM 的组合系统不等于 SAM 自身理解自然语言。
2
回到前一步:完整 Lab 保存输入短语、候选、匹配分数和框;遮住目标形成反证。
3
向后检验:检测后调用 SAM 的组合系统不等于 SAM 自身理解自然语言。
向后检验:检测后调用 SAM 的组合系统不等于 SAM 自身理解自然语言。 在主讲中查看这一停点 ↗

这是有限颜色/词表规则,不是GLIP实跑。GLIP论文的phrase–region学习另有监督和模型证据;检测后传框给SAM也不等于SAM自身理解文本。

逐步查看本页
  1. 检测后调用 SAM 的组合系统不等于 SAM 自身理解自然语言。
  2. 回到前一步:完整 Lab 保存输入短语、候选、匹配分数和框;遮住目标形成反证。
  3. 向后检验:检测后调用 SAM 的组合系统不等于 SAM 自身理解自然语言。

接到下一页:视觉接入语言模型不是连一根线|问题从哪里出现

视觉接入语言模型不是连一根线|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
1
视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
2
观察对象:列出一张图的 patch token 数、连接后维度、文字 token 和回答目标,标明各阶段冻结范围。
3
向后检验:LLaVA 用视觉编码器、连接层与语言模型;先做特征对齐,再以多模态指令数据训练回答。
向后检验:LLaVA 用视觉编码器、连接层与语言模型;先做特征对齐,再以多模态指令数据训练回答。 在主讲中查看这一停点 ↗

视觉网格与语言token在数量、维度和训练分布上不同。连一根投影线提供可通信接口,却不保证小目标、位置与细文字都被保留。

逐步查看本页
  1. 视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
  2. 观察对象:列出一张图的 patch token 数、连接后维度、文字 token 和回答目标,标明各阶段冻结范围。
  3. 向后检验:LLaVA 用视觉编码器、连接层与语言模型;先做特征对齐,再以多模态指令数据训练回答。

接到下一页:视觉接入语言模型不是连一根线|核心改动怎样工作

视觉接入语言模型不是连一根线|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
1
LLaVA 用视觉编码器、连接层与语言模型;先做特征对齐,再以多模态指令数据训练回答。
2
回到前一步:视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
3
向后检验:列出一张图的 patch token 数、连接后维度、文字 token 和回答目标,标明各阶段冻结范围。
向后检验:列出一张图的 patch token 数、连接后维度、文字 token 和回答目标,标明各阶段冻结范围。 在主讲中查看这一停点 ↗

LLaVA用视觉投影接语言模型,BLIP-2用Q-Former选择视觉信息,Flamingo用重采样与交叉注意力。压缩减少后续计算,也改变可供语言读取的细节。

逐步查看本页
  1. LLaVA 用视觉编码器、连接层与语言模型;先做特征对齐,再以多模态指令数据训练回答。
  2. 回到前一步:视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
  3. 向后检验:列出一张图的 patch token 数、连接后维度、文字 token 和回答目标,标明各阶段冻结范围。

接到下一页:视觉接入语言模型不是连一根线|一起算一个完整例子

视觉接入语言模型不是连一根线|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
1
视觉编码器输出 16 个 32 维向量;语言接口期望每项 64 维。
2
线性投影 W∈R^(32×64) 可把张量变成 [16,64];它只解决维度兼容。
3
投影怎样表达图像、语言模型怎样使用它,仍需图文训练目标与遮图、错图等证据。
投影怎样表达图像、语言模型怎样使用它,仍需图文训练目标与遮图、错图等证据。 在主讲中查看这一停点 ↗

视觉编码器输出 16 个 32 维向量;语言接口期望每项 64 维。

线性投影 W∈R^(32×64) 可把张量变成 [16,64];它只解决维度兼容。

投影怎样表达图像、语言模型怎样使用它,仍需图文训练目标与遮图、错图等证据。

同一图像含两杯:若上游grounding误选蓝参照杯,下游分割可把蓝杯边界分得很准,最终目标仍错。正确区域身份与精细mask必须分别核对。

逐步查看本页
  1. 视觉编码器输出 16 个 32 维向量;语言接口期望每项 64 维。
  2. 线性投影 W∈R^(32×64) 可把张量变成 [16,64];它只解决维度兼容。
  3. 投影怎样表达图像、语言模型怎样使用它,仍需图文训练目标与遮图、错图等证据。

接到下一页:视觉接入语言模型不是连一根线|怎样检查这项解释

视觉接入语言模型不是连一根线|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
1
再与 BLIP-2 Q-Former 或 Flamingo resampler/cross-attention 比较压缩与条件读取。
2
回到前一步:列出一张图的 patch token 数、连接后维度、文字 token 和回答目标,标明各阶段冻结范围。
3
向后检验:流畅回答不是视觉利用的充分证据;需无图、换图和关系反事实对照。
向后检验:流畅回答不是视觉利用的充分证据;需无图、换图和关系反事实对照。 在主讲中查看这一停点 ↗

LAB14真实CNN+问题分支通过正确图/去图/错配对照显示视觉依赖;LAB15通过坐标和遮挡定位身份错误。它们提供接口检验方法,不冒称大型多模态模型成绩。

逐步查看本页
  1. 再与 BLIP-2 Q-Former 或 Flamingo resampler/cross-attention 比较压缩与条件读取。
  2. 回到前一步:列出一张图的 patch token 数、连接后维度、文字 token 和回答目标,标明各阶段冻结范围。
  3. 向后检验:流畅回答不是视觉利用的充分证据;需无图、换图和关系反事实对照。

接到下一页:视觉接入语言模型不是连一根线|什么结论还不能推出

视觉接入语言模型不是连一根线|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

视觉编码器输出许多 patch,语言模型接受 token;接口还要解决维度、长度、位置与训练阶段。
1
流畅回答不是视觉利用的充分证据;需无图、换图和关系反事实对照。
2
回到前一步:再与 BLIP-2 Q-Former 或 Flamingo resampler/cross-attention 比较压缩与条件读取。
3
向后检验:流畅回答不是视觉利用的充分证据;需无图、换图和关系反事实对照。
向后检验:流畅回答不是视觉利用的充分证据;需无图、换图和关系反事实对照。 在主讲中查看这一停点 ↗

流畅回答不能单独证明视觉依据。文字生成的指令若原caption/框遗漏细节,后续训练也没有可靠目标教会那项关系。

逐步查看本页
  1. 流畅回答不是视觉利用的充分证据;需无图、换图和关系反事实对照。
  2. 回到前一步:再与 BLIP-2 Q-Former 或 Flamingo resampler/cross-attention 比较压缩与条件读取。
  3. 向后检验:流畅回答不是视觉利用的充分证据;需无图、换图和关系反事实对照。

接到下一页:caption 已经生成文本,第四讲仍有新问题|问题从哪里出现

caption 已经生成文本,第四讲仍有新问题|问题从哪里出现

先把要解释的失败或缺口固定下来。

左右滑动查看完整图解 ↔

第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
1
第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
2
观察对象:同一句“雨夜的红色自行车”对应多幅合理图像,列出满足条件、遗漏条件和视觉矛盾的结果类型。
3
向后检验:区分检索已有样本、确定性回归、局部补全和从条件分布采样;训练目标与采样算法分别检查。
向后检验:区分检索已有样本、确定性回归、局部补全和从条件分布采样;训练目标与采样算法分别检查。 在主讲中查看这一停点 ↗

caption已经生成文字;第四讲的新问题是怎样学习并采样多解条件分布。木桌上的红杯可以有不同位置、视角和光照,单一像素答案不足以描述全部合理结果。

逐步查看本页
  1. 第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
  2. 观察对象:同一句“雨夜的红色自行车”对应多幅合理图像,列出满足条件、遗漏条件和视觉矛盾的结果类型。
  3. 向后检验:区分检索已有样本、确定性回归、局部补全和从条件分布采样;训练目标与采样算法分别检查。

接到下一页:caption 已经生成文本,第四讲仍有新问题|核心改动怎样工作

caption 已经生成文本,第四讲仍有新问题|核心改动怎样工作

沿输入、状态、目标和输出追踪机制。

左右滑动查看完整图解 ↔

第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
1
区分检索已有样本、确定性回归、局部补全和从条件分布采样;训练目标与采样算法分别检查。
2
回到前一步:第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
3
向后检验:同一句“雨夜的红色自行车”对应多幅合理图像,列出满足条件、遗漏条件和视觉矛盾的结果类型。
向后检验:同一句“雨夜的红色自行车”对应多幅合理图像,列出满足条件、遗漏条件和视觉矛盾的结果类型。 在主讲中查看这一停点 ↗

回归找确定预测,检索从已有库选样本,采样从pθ(x|c)取结果。GAN用判别反馈,VAE联系潜后验与先验,扩散学习定义破坏过程下的恢复预测。

逐步查看本页
  1. 区分检索已有样本、确定性回归、局部补全和从条件分布采样;训练目标与采样算法分别检查。
  2. 回到前一步:第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
  3. 向后检验:同一句“雨夜的红色自行车”对应多幅合理图像,列出满足条件、遗漏条件和视觉矛盾的结果类型。

接到下一页:caption 已经生成文本,第四讲仍有新问题|一起算一个完整例子

caption 已经生成文本,第四讲仍有新问题|一起算一个完整例子

让公式、索引或张量在同一对象上对应。

左右滑动查看完整图解 ↔

第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
1
同一条件下,输出等概率为 0 或 1;平方误差预测的最优常数是 0.5。
2
一个正确生成器可以按各一半采到 0 或 1,而不是每次给一个从未出现过的 0.5。
3
描述已是文本生成;第四讲进一步研究怎样学习并采样图像、视频或 3D 的条件分布。
描述已是文本生成;第四讲进一步研究怎样学习并采样图像、视频或 3D 的条件分布。 在主讲中查看这一停点 ↗

同一条件下,输出等概率为 0 或 1;平方误差预测的最优常数是 0.5。

一个正确生成器可以按各一半采到 0 或 1,而不是每次给一个从未出现过的 0.5。

描述已是文本生成;第四讲进一步研究怎样学习并采样图像、视频或 3D 的条件分布。

同条件X以各.5概率取−1/+1,确定预测a的MSE=1+a²,最优a=0却从不是真实样本。正确随机采样与独立真值的配对MSE为2,说明这个指标不衡量分布覆盖。

逐步查看本页
  1. 同一条件下,输出等概率为 0 或 1;平方误差预测的最优常数是 0.5。
  2. 一个正确生成器可以按各一半采到 0 或 1,而不是每次给一个从未出现过的 0.5。
  3. 描述已是文本生成;第四讲进一步研究怎样学习并采样图像、视频或 3D 的条件分布。

接到下一页:caption 已经生成文本,第四讲仍有新问题|怎样检查这项解释

caption 已经生成文本,第四讲仍有新问题|怎样检查这项解释

区分教学算例、真实运行与论文证据。

左右滑动查看完整图解 ↔

第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
1
自回归、VAE、GAN 与 diffusion 是不同学习/采样组织,不排成严格替代史。
2
回到前一步:同一句“雨夜的红色自行车”对应多幅合理图像,列出满足条件、遗漏条件和视觉矛盾的结果类型。
3
向后检验:MAE 重建目标本身不自动给出完整文生图采样系统;Transformer 是可用架构而非某一种目标。
向后检验:MAE 重建目标本身不自动给出完整文生图采样系统;Transformer 是可用架构而非某一种目标。 在主讲中查看这一停点 ↗

CLS13精确概率质量图与三种目标公式连接已有caption、AE与下一讲。LAB24用颜色增强对形状/颜色读出的双任务对照,示范怎样排除单一“loss下降”解释。

逐步查看本页
  1. 自回归、VAE、GAN 与 diffusion 是不同学习/采样组织,不排成严格替代史。
  2. 回到前一步:同一句“雨夜的红色自行车”对应多幅合理图像,列出满足条件、遗漏条件和视觉矛盾的结果类型。
  3. 向后检验:MAE 重建目标本身不自动给出完整文生图采样系统;Transformer 是可用架构而非某一种目标。

接到下一页:caption 已经生成文本,第四讲仍有新问题|什么结论还不能推出

caption 已经生成文本,第四讲仍有新问题|什么结论还不能推出

给出失败条件,并接回相邻章节。

左右滑动查看完整图解 ↔

第三讲不是全都识别;新的问题是怎样表示并采样多解的视觉或结构化条件分布。
1
MAE 重建目标本身不自动给出完整文生图采样系统;Transformer 是可用架构而非某一种目标。
2
回到前一步:自回归、VAE、GAN 与 diffusion 是不同学习/采样组织,不排成严格替代史。
3
向后检验:MAE 重建目标本身不自动给出完整文生图采样系统;Transformer 是可用架构而非某一种目标。
向后检验:MAE 重建目标本身不自动给出完整文生图采样系统;Transformer 是可用架构而非某一种目标。 在主讲中查看这一停点 ↗

CLIP相似度本身不是采样器,普通MAE也不自动成为文生图模型。架构与生成过程要分开;视频还需时间身份连续,3D需几何与多视角一致性。

逐步查看本页
  1. MAE 重建目标本身不自动给出完整文生图采样系统;Transformer 是可用架构而非某一种目标。
  2. 回到前一步:自回归、VAE、GAN 与 diffusion 是不同学习/采样组织,不排成严格替代史。
  3. 向后检验:MAE 重建目标本身不自动给出完整文生图采样系统;Transformer 是可用架构而非某一种目标。

接到下一页:换成文本、视频与 3D,还要保持什么?

换成文本、视频与 3D,还要保持什么?

生成思路可以复用,但对象的表示和一致性要求会改变。

左右滑动查看完整图解 ↔

图像空间结构像素或潜空间文本离散序列token 与位置视频时间与运动一致状态随时间演化3D几何与多视角一致可从不同视角观察的表示Transformer:可以承担预测器的网络架构DiT:扩散 + Transformer 骨干LLaDA:离散 token 的遮挡恢复路线第四讲建立最小接口;第五讲系统展开 attention 与上下文。
Transformer 是预测器的一种架构;自回归与扩散描述不同的建模和生成过程。 在主讲中查看这一停点 ↗

同一个红杯,可以用图像、文字、运动片段和三维表示表达。图像需要空间结构,文本由离散 token 组成,视频需要跨时间的运动与身份一致,3D 需要几何和多视角一致。逐张独立生成图片不是充分的视频模型,一张看起来立体的图片也不是三维表示。

Transformer 是网络架构,可以承担生成过程中的预测器;自回归与扩散描述不同的建模与生成过程。DiT 是扩散使用 Transformer 骨干的例子;LLaDA 提供离散 token 遮挡恢复的扩散语言建模路线。不能将图像高斯噪声原样画到 token 上,也不能据此断言扩散语言模型已取代自回归或必然更快。

第四讲:GAN/VAE/Diffusion 的学习信号,扩散训练与采样、潜空间和条件,文本自回归与 Diffusion LLM,再到视频和 3D 的结构要求。只给理解 DiT 与 Diffusion LLM 所需的最小 Transformer 接口;第五讲继续系统展开 attention、Transformer 与上下文。DreamFusion 可作为借助二维扩散先验优化三维表示的后续选题。

逐步查看本页
  1. 图像要求空间结构;文本是离散 token 序列。
  2. 视频还要时间与运动一致;3D 还要几何与多视角一致。
  3. Transformer 是预测器的一种架构;自回归与扩散描述不同的建模和生成过程。

接到下一页:第四讲:图像、文本、视频与 3D 的生成。第五讲:注意力、Transformer 与上下文。

沿问题继续学习

CLS xx · 后续阅读:序列模型与训练资源

CLS 04 · 序列目标与规模化训练

一句描述不能像一个类别编号那样一次输出完。模型说出“红色”以后,还要决定下一个词是“杯子”还是“汽车”;说完对象,还要决定是否继续描述位置。这就把第二讲的固定输入—输出网络改造成了一个条件不断变化的预测问题。视觉课在这里需要序列模型,因为后面的 caption、VQA 和多模态接口都要交付语言;需要规模化训练,因为一种目标即使数学上成立,也必须能在给定内存和计算条件下实施。

先把三个容易混在一起的选择拆开。架构规定如何计算,例如循环网络或 Transformer;训练目标规定预测哪些变量、允许看到哪些条件;解码规定拿到预测分布以后怎样产生答案。同一个循环网络可以分类一段序列,也可以逐词生成;同一个逐词目标可以用不同架构训练。换架构不等于换目标,训练时计算损失也不等于推理时搜索句子。

状态沿时间变化,参数跨时间共享

设输入词的向量为 xtx_t,处理前 tt 个词后的状态为 hth_t。一个最小循环网络写成

ht=tanh⁡(Wxxt+Whht−1+b),ot=Woht+c.h_t=\tanh(W_xx_t+W_hh_{t-1}+b),\qquad o_t=W_oh_t+c.

oto_t 是词表上的 logits,经 softmax 成为下一个词的分布。hth_t 每读一个词就变一次;Wx,Wh,WoW_x,W_h,W_o 在这次前向中保持不变。处理句子不需要每说一个词就进行梯度下降。训练的参数更新发生在损失汇总并反向传播之后。

这与卷积的联系很直接:卷积核在不同空间位置复用,RNN 的转移矩阵在不同时间位置复用。复用减少参数,也加入归纳假设:相同局部计算规则可以跨位置应用。一个参数在计算图中出现多次,最终梯度就要把每次出现的贡献加起来。时间共享还多了一层依赖:较早状态会影响较晚状态,因此后面的损失也要沿状态链传回。

看一个完全可手算的标量 RNN,暂时去掉 tanh⁡\tanh:ht=wht−1+xth_t=wh_{t-1}+x_t。取 h0=1,w=0.5,x1=1,x2=2h_0=1,w=0.5,x_1=1,x_2=2,得到 h1=1.5,h2=2.75h_1=1.5,h_2=2.75。目标都为 0,损失为 L=(h12+h22)/2=4.90625L=(h_1^2+h_2^2)/2=4.90625。因为

∂h1∂w=1,∂h2∂w=h1+w∂h1∂w=2,\frac{\partial h_1}{\partial w}=1,\qquad \frac{\partial h_2}{\partial w}=h_1+w\frac{\partial h_1}{\partial w}=2,

所以 ∂L/∂w=1.5×1+2.75×2=7\partial L/\partial w=1.5\times1+2.75\times2=7。只计算最后一步的直接贡献 2.75×1.5=4.1252.75\times1.5=4.125 会漏掉经 h1h_1 传来的路径。这正是 through time 的含义,并不是为每个时间点训练不同网络。

展开后的共享参数与两条梯度贡献

图中同一个 ww 被使用两次。第二步的直接贡献为 4.125;第一步承接两个损失后贡献为 2.875;相加才得到 7。图是上述标量计算的展开,不是模型训练曲线。

长序列会形成很多 Jacobian 连乘;乘积反复收缩或放大,分别造成梯度衰减或爆炸。截断 BPTT 在片段边界停止跨片段梯度,可以保留前向状态,但改变了被计算的梯度。梯度裁剪限制更新幅度;LSTM/GRU 改变状态通路。三种办法针对不同问题,不能把“记住更长上下文”全部归给显存增大。推导可对照 D2L §9.7:BPTT 的共享参数与梯度。

数据怎样自己提供下一个预测目标

对句子“红色 杯子”,在两端加开始与结束符后得到 [BOS, 红色, 杯子, EOS]。训练输入是前三项,目标是后三项:

位置 已知前缀 要预测的词
1 BOS 红色
2 BOS 红色 杯子
3 BOS 红色 杯子 EOS

负对数似然为 −∑tlog⁡pθ(yt∣y<t)-\sum_t\log p_\theta(y_t\mid y_{<t})。标签来自文本本身,但可见性约束不能省:预测“杯子”时若直接读到当前位置的“杯子”,任务就泄漏了答案。因果 mask 限制可见位置;padding mask 排除补齐长度产生的假 token;loss mask 决定哪些位置计入目标。它们解决三个不同问题。

训练常把真实前缀送给模型,即 teacher forcing。推理没有真实后续词,只能把自身生成的词继续送回,错误便可能改变后续条件。这个训练—使用差异将在 CLS 10 中用真实解码展开。对于遮挡预测,条件可以同时来自被遮挡位置的左、右上下文;它仍有明确的目标,但与左到右条件分解不同,不能直接把遮挡损失当作自回归句子概率。

同一次更新分到两台设备,平均什么

令设备 rr 有 nrn_r 个样本,本地平均损失的梯度为 grg_r。若目标是所有样本的等权平均,正确全局梯度为

g=∑rnrgr∑rnr.g=\frac{\sum_r n_rg_r}{\sum_r n_r}.

设备甲用 2 个样本得到 g1=(2,4)g_1=(2,4),乙用 6 个样本得到 g2=(6,0)g_2=(6,0),则 g=(5,1)g=(5,1),而不是设备等权的 (4,2)(4,2)。从 θ=(1,2)\theta=(1,2)、学习率 0.1 出发,所有副本应共同更新为 (0.5,1.9)(0.5,1.9)。如果每台设备先按自己的梯度走一步,再随意平均优化器状态,尤其使用 Adam 时,一般不等价于先合并梯度再统一更新。

序列任务还要问分母是什么。如果甲、乙各有两个句子,但有效目标 token 分别为 10 和 30,token 平均损失应按 10:30 加权;按句子平均则是另一个目标。不能只看 batch 中有几行,就决定归并权重。

梯度累积使用多个 microbatch 的反向结果,在参数不更新的前提下累积到一次更新。它与大 batch 等价还需要:相同总损失归一化、相同参数、可加的样本损失,以及一致的随机性和状态处理。BatchNorm 统计会依赖 microbatch;对比学习的分母包含同批其他样本,拆批会改变负例集合。因此“累积四次就得到四倍对比 batch”通常不成立。见 D2L §13.5 数据并行计算与同步,并在 LAB 19 改变样本数核对。

参数装得下,训练为什么仍会溢出

以 1000 万参数、全部 FP32 的 Adam 为例:权重 40 MB,梯度 40 MB,一阶矩与二阶矩合计 80 MB,仅这四项就是 160 MB。这里 MB 按 10610^6 字节计算,还没有激活、临时算子工作区、通信缓冲和内存碎片。混合精度常同时存在低精度权重或梯度、FP32 主副本与优化器状态,因此不能简单把上述总量除以二。

激活常随 batch、分辨率、序列长度增加。纯数据并行复制训练状态,主要增加可处理数据量;状态分片减少每个设备长期持有的状态;激活检查点以重新计算换取较少保存;梯度累积改变每次前向的样本数。每种策略都把压力移到别处,可能增加通信、重计算或等待。ZeRO 原论文 讨论的正是训练状态冗余,而非只压缩 checkpoint。

本册的最短实验路径是 LAB 18:状态与预测 → LAB 19 → LAB 20:内存预算。三者分别检验计算图、全局目标和资源假设。回到 CLS 01,现在可以具体回答:数据变多没有改变链式法则,却会迫使我们改变目标组织、状态保存和通信方式。

CLS 04 · 重建:约束、位置与表示评价

CLS 05 · 重建:词典、PCA、自编码器与 MAE

如果不提供“猫”“杯子”这样的类别标签,图像还有什么可以当答案?最直接的是图像自身:把它压缩、破坏或遮住一部分,再让模型恢复。困难不在于是否有监督数值,而在于我们允许模型怎样取得它。把输入原样复制到输出可以获得零误差,却没有迫使模型形成有用的表示。重建方法之间真正改变的是限制条件:代码可以取什么值、信息从哪里通过、哪些位置可见,以及误差计算在哪里。

同样是压缩,离散词典与线性子空间留下不同东西

把一个 2×22\times2 灰度 patch 展平为 x∈R4x\in\mathbb R^4。K-means 学习 KK 个中心 ckc_k,用最近中心的索引编码:

a(x)=arg⁡min⁡k∥x−ck∥2,x^=ca(x).a(x)=\arg\min_k\|x-c_k\|^2,\qquad \hat x=c_{a(x)}.

若词典恰为 c1=(1,0,1,0)c_1=(1,0,1,0)、c2=(0,1,0,1)c_2=(0,1,0,1),它可以零误差重建左右两种明暗边,但 (0.5,0.5,0.5,0.5)(0.5,0.5,0.5,0.5) 到两中心的平方距离都为 1,只能按约定任选其一。代码被限制为一个离散索引,约需 log⁡2K\log_2 K bit,另须存储词典;这不是任意实数向量的无损压缩。改变 KK 会改变量化误差与存储成本。原 LAB 05 在真实 MNIST patch 上进行 Lloyd 拟合,可查看中心怎样随数据形成,而非只背“无监督”这个标签。

PCA 改用连续线性坐标。对已减去均值的 xx,选列正交矩阵 U∈Rd×kU\in\mathbb R^{d\times k},编码 z=UTxz=U^Tx,重建 x^=Uz\hat x=Uz。最小化平方重建误差等价于保留协方差最大的 kk 个方向。

用四点 (2,0),(−2,0),(0,1),(0,−1)(2,0),(-2,0),(0,1),(0,-1) 手算。均值为 0,按 1/41/4 计算协方差是 diag(2,0.5)\mathrm{diag}(2,0.5)。只保留一维时选横轴,四点重建为 (2,0),(−2,0),(0,0),(0,0)(2,0),(-2,0),(0,0),(0,0);逐点平方误差为 0,0,1,10,0,1,1,平均 0.5。若选纵轴,平均误差为 2。被丢掉的方向方差小,不代表它对任务不重要:如果标签恰好区分纵坐标正负,PCA 的最优重建轴可能删去标签所需的差异。

PCA 的平方误差与 MAE 的位置恢复

左图按真实坐标画出四点和一维投影;右图展示 patch 的乱序、可见项与恢复位置。两者都在重建,但一个限制子空间,一个限制输入可见性。

PCA 为什么可以看成受约束的线性自编码器

自编码器由 z=fθ(x)z=f_\theta(x) 与 x^=gϕ(z)\hat x=g_\phi(z) 组成,以 ∥x−x^∥2\|x-\hat x\|^2 等重建损失更新参数。令 f(x)=UTx,g(z)=Uzf(x)=U^Tx,g(z)=Uz 并要求 UTU=IU^TU=I,就得到上面的 PCA 形式。一般线性、低秩、平方误差自编码器也能学到 PCA 的主子空间,尽管编码坐标不一定等于标准主成分;平移、旋转等参数化差异要与重建子空间区分。

所以 SVD 可以精确说明一种线性自编码约束,但 SVD 本身没有执行一个另行承诺的非线性网络训练。引入非线性编码器和解码器以后,表示可以适应弯曲的数据结构;也可能凭较大容量记忆训练样本。瓶颈维数、正则化、跳连是否绕过瓶颈、训练与保留误差,都影响我们能否把低损失解释为学到了结构。

去噪自编码器进一步改变训练对:先从破坏分布采样 x~∼q(x~∣x)\tilde x\sim q(\tilde x\mid x),再最小化 E∥g(f(x~))−x∥2\mathbb E\|g(f(\tilde x))-x\|^2。输入是带噪图片,目标仍是干净图片。训练时不给模型干净图,不能在可视化时偷偷把目标的边缘或 mask 喂回去。Gaussian 噪声、置零像素和随机遮块提出不同恢复任务;噪声太轻会接近复制,太重可能留下不足以判断的证据。在 去噪自编码器原论文 中,破坏过程正是组织表示学习的一个关键约束。

平方误差还有一个值得记住的性质:最佳预测是给定输入后的条件均值。若一个被遮挡像素在其余条件相同下等概率为 0 或 1,输出 0.5 的平均平方误差是 0.25,而总是输出 0 或 1 的误差是 0.5。模糊有时来自目标的统计偏好,不一定只是网络没有优化好。下一讲讨论采样时会重新遇到这个问题。

MAE 让昂贵编码器只看少量位置

把图像切为 patch 后,MAE 随机选择可见子集,编码器只处理可见 patch 及其位置;轻量解码器补入 mask token,恢复完整位置顺序,再预测被遮挡的像素目标。原 MAE 的一个关键设计是高遮挡率与这种不对称编码—解码结构,见 MAE §3 与图 1。这里不是先让编码器看完整图,再在输出端涂黑几块。

四个原始位置是 [0,1,2,3]。随机排列 ids_shuffle=[2,0,3,1],只保留前两项,所以编码器看到原位置 2、0。解码器先得到 [z2,z0,M,M],再用逆排列 ids_restore=[1,3,0,2] 取回 [z0,M,z2,M]。位置 1、3 的损失可以按

L=1∣M∣∑i∈M∥x^i−xi∥2L=\frac{1}{|\mathcal M|}\sum_{i\in\mathcal M}\|\hat x_i-x_i\|^2

计算,其中 M\mathcal M 为遮挡位置集合。若补 mask 后忘记恢复顺序,即便预测数值合理,也是在与错误位置的目标比较。排列练习可以证明索引正确;它不能证明编码器已经学会图像语义。

再看计算:16 个 patch 只保留 4 个,编码器注意力的成对位置数由 162=25616^2=256 变为 42=164^2=16,这是二次项的 1/16;线性层、patch embedding、解码器和实际硬件开销不按同样比例缩小。因此不能把这个比例直接称为端到端加速 16 倍。高 mask 比例同时改变任务难度与编码成本,需要一起讨论。

方法 输入受什么限制 代码/表示约束 重建好能支持什么判断
K-means 词典 通常看到完整 patch 一个中心索引 该词典的量化误差小
PCA 通常看到完整向量 低维线性子空间 方差被线性子空间有效保留
去噪自编码器 看到明确破坏后的图 架构、瓶颈及正则化 对指定破坏能恢复保留图像
MAE 编码器只看可见 patch 可见位置及编码—解码设计 能利用上下文预测遮挡目标

这四行都没有自动回答“少量标签能否读出类别”“颜色是否保留”“边界是否准确”。那些是另设的评价问题。LAB 08 把索引检查与图像重建分开:先确认输入—mask—目标位置,再比较输入、重建和误差,最后冻结编码器作读出。划分必须先按原图进行,再生成破坏版本;否则同一原图的干净版和带噪版可能分居训练与测试,给出过于乐观的结果。

已运行的图像重建:恢复更好,表示评价另算

LAB 08 在 2026-09-22 本地 CPU 从头训练卷积自编码器。数据是 sklearn load_digits 的 1797 张 8×8 灰度图,先按原图分层随机划分 1257 训练、540 保留,再生成破坏;没有按书写者分组,因此结论是这个原图随机划分下的数字任务。标签只用于划分与读出,不进入重建损失。16 维瓶颈的去噪网络训练 40 epoch,破坏为 25% 像素丢弃加标准差 0.15 的高斯噪声并裁到 [0,1]。

保留集方法 与干净目标的逐像素 MSE
直接使用带噪输入 0.06244
训练集拟合的 rank-16 PCA 重建 0.04160
学到的卷积去噪自编码器 0.03217

真实输入、破坏、重建与遮挡恢复

另一个两通道卷积模型接收“被遮挡图像+可见性 mask”,在 50% 的 2×2 patch 隐藏率下训练 50 epoch。它处理整张密集网格,不是原论文只编码可见 token 的 ViT MAE。固定每图同一排列、让隐藏集合嵌套,测试 25%/50%/75% 遮挡时,隐藏位置 MSE 分别为 0.03933/0.04341/0.05563;相应训练均值基线为 0.07420/0.07402/0.07390。遮挡增加后重建变难,但这个卷积模型并未获得 MAE 的可见 token 计算节省。

冻结编码器、输入干净保留图像作 5NN,去噪架构由随机初始化的 84.26% 到训练后的 95.00%;遮挡架构由 88.52% 到 92.04%。两种架构输入通道不同,随机基线也应分别保留,不能把它们混成同一个起点。重建改善和读出改善在这次实验中同时出现,但它们仍是两项独立测量。配置、输入 hash 与权重均在 LAB 08 对应材料中。

重建为“保存信息”提供了可计算目标;下一册 CLS 06 会主动要求某些变化在表示中不产生差异。二者的张力是具体的:准确重建颜色需要留下颜色,颜色不变的对比目标却可能鼓励忽略它。好的表示要服务什么,必须由下游问题回答。

CLS 05 · 对比学习:视图、投影与历史字典

CLS 06 · 对比学习、队列与评价协议

拍同一只杯子,改变光照、裁剪和背景,类别仍然是杯子。若能把这些变化视为同一对象的不同观察,训练目标就可以来自图像自身:两次观察的表示应该接近,其他图像的表示提供区分参照。但如果下一项任务是分辨红杯和蓝杯,“改变颜色仍然算同一个”就不再无害。对比学习的正例关系,是设计者通过数据和增强作出的任务假设。 它不是无标签数据自动告诉我们的普遍相同性。

从两张视图到一个可微分的选择题

给原图 xx 独立采样增强 t,t′t,t',得到 v=t(x),v+=t′(x)v=t(x),v^+=t'(x)。编码器 fθf_\theta 产生表示 h=fθ(v)h=f_\theta(v);投影头 gϕg_\phi 产生 z=gϕ(h)z=g_\phi(h),通常再做 ℓ2\ell_2 归一化。余弦相似度便是单位向量点积 s(q,k)=qTks(q,k)=q^Tk。正例 key 来自同一原图另一视图,候选负例来自其他原图。

对一个 query qq、一个正例 k+k^+ 和若干负例 kj−k_j^-,写出 InfoNCE 形式:

Lq=−log⁡exp⁡(s(q,k+)/τ)exp⁡(s(q,k+)/τ)+∑jexp⁡(s(q,kj−)/τ).L_q=-\log\frac{\exp(s(q,k^+)/\tau)}{\exp(s(q,k^+)/\tau)+\sum_j\exp(s(q,k_j^-)/\tau)}.

这里 τ>0\tau>0 是温度,分母包含正例。它把“拉近正例、推开负例”写成在当前候选集合里选中正例的交叉熵。候选身份来自采样过程,不是人工类别;两张不同原图可能都是杯子,所以负例并不保证语义类别不同。实例区分与类别聚合之间存在真实张力。

SimCLR 的一个 batch 有 NN 张原图,生成 2N2N 个视图。对其中任一视图,排除自身,余下 2N−12N-1 项中有一个正例和 2N−22N-2 个负例。自身相似度通常接近 1,若误把它留进分母,就额外加入一个不可避免的强竞争者。损失平均两个方向:视图 A 找 B,B 也找 A。可核对 SimCLR §2、式 1 与 Algorithm 1。

温度改变竞争强度,不改变这组相似度的排序

固定三项相似度:正例 0.8,两个负例 0.4、0.2。直接代入上式得到:

温度 τ\tau 正例概率 负例 0.4 的概率 负例 0.2 的概率 损失 −log⁡p+-\log p_+
1.0 0.4506 0.3021 0.2473 0.7971
0.5 0.5713 0.2567 0.1721 0.5599
0.1 0.9796 0.0179 0.0024 0.0206

因为正例已经领先,低温度放大它的优势。若把正例改成 0.3、最强负例仍为 0.4,低温度则会更强地惩罚错误排序。不能仅因降低温度使这张表的损失变小,就宣称表示更好了。

梯度把这个现象写得更精确。令 pjp_j 为候选 softmax 概率,则

∂L∂s+=p+−1τ,∂L∂sj−=pjτ.\frac{\partial L}{\partial s_+}=\frac{p_+-1}{\tau},\qquad \frac{\partial L}{\partial s_j^-}=\frac{p_j}{\tau}.

温度既出现在 1/τ1/\tau 中,也改变 pp。所以“温度越低,所有梯度越大”不成立:本例正例梯度的绝对值在 τ=0.5\tau=0.5 时约 0.8575,在 0.1 时反而约 0.2037,因为预测已饱和。最相似负例会获得更多概率和更强排斥,但过度强调困难负例也可能放大假负例或噪声。

同一相似度的温度变化与 MoCo 队列更新

上半图按表中真实计算值画出候选概率;下半图是长度 6 的 FIFO 队列,加入两个新 key 后移出两个最老 key。温度控制一次比较,队列控制比较对象从哪里来。

为什么损失作用在 z,迁移却常读 h

假设 h=(u,c)h=(u,c),uu 编码形状,cc 编码颜色。若增强经常改变颜色,两个视图可能有相同 uu、不同 cc。直接要求整个 hh 相同,会压制颜色差异;增加投影头以后,g(h)=ug(h)=u 这样的映射可以在 zz 中满足不变性,而 hh 仍可能留下颜色。这是一个可行性构造,不是声称真实网络一定学成两根独立坐标。

损失计算在 zz 不代表编码器没学:链式法则给出 ∂L/∂θ=(∂L/∂z)(∂z/∂h)(∂h/∂θ)\partial L/\partial\theta=(\partial L/\partial z)(\partial z/\partial h)(\partial h/\partial\theta)。梯度穿过投影头更新编码器。SimCLR 通过实验发现非线性投影头有益,并把投影前表示用于下游;这支持区分目标空间与读出空间,不能推广成“h 永远保留全部被增强抹掉的信息”。图像已经被转成灰度时,该视图根本不含原颜色;若所有训练视图都删掉颜色,表示也没有从这些输入恢复真实颜色的依据。

在 LAB 06 中,应同时检查颜色/形状任务、增强设置和 h/zh/z 读出。最有解释力的比较是:同一原图划分、相同模型容量与读出预算,只改变颜色增强;再看形状读出和颜色读出是否朝不同方向变化。不能用颜色损失下降代替形状泛化,也不能把随机二维向量当作实际训练出的特征。

队列解决候选数量,EMA 缓和特征坐标系漂移

当前 batch 较小时,每个 query 可比较的负例有限。MoCo 把近期 batch 的 key 特征保存为队列,下一批仍可使用,因而字典大小不完全受当前 batch 限制。长度 6 的队列从 [a,b,c,d,e,f] 加入 [g,h] 后成为 [c,d,e,f,g,h]。里面存的是先前编码好的向量;它不保存那些图片的完整计算图,也不在每一步重算所有旧向量。

这节省了候选编码计算,却产生一致性问题。若编码器每步剧烈变化,昨天向量的某个方向和今天向量的同一方向可能不再表达类似内容。MoCo 使用 query 编码器参数 θq\theta_q 做正常梯度更新,key 编码器则采用参数指数移动平均:

θk←mθk+(1−m)θq.\theta_k\leftarrow m\theta_k+(1-m)\theta_q.

取 m=0.9m=0.9,旧 θk=(0,2)\theta_k=(0,2),当前 θq=(2,4)\theta_q=(2,4),新 key 参数是 (0.2,2.2)(0.2,2.2)。若下一步 query 仍相同,新 key 为 (0.38,2.38)(0.38,2.38)。平均的是网络参数,不是队列向量,也不是 Adam 的梯度动量;旧 key 不会因这一步 EMA 自动刷新。m=0m=0 令 key 立即跟随 query,m=1m=1 则把 key 冻结。较慢变化让历史 key 更可比,但不能消除全部陈旧性。MoCo §3 与 Algorithm 1 给出队列、动量编码器和停止 key 分支梯度的配合。

组织方式 候选从哪里来 是否保留旧特征 主要计算取舍
SimCLR 批内比较 当前 batch 的两视图 不需要队列 更多候选通常要求更大 batch 及其通信/激活
MoCo 字典 当前正例与历史 key 队列 是 候选数与 batch 部分解耦,需控制 key 漂移

这是计算组织的不同答案,不是一个方法必然取代另一个。扩大队列会让最旧特征更老;增大 batch 会改变优化与负例分布;调整温度则改变同一批候选如何竞争。做消融时不能三项同时改,再把收益全部归给 EMA。

训练学会区分视图以后,还要回答哪个下游问题

冻结线性评价(linear probe)先固定编码器 ff,仅训练 y^=Wh+b\hat y=Wh+b;它检验标签能否用指定线性读出从表示取得。kNN 不更新编码器,用训练集表示及标签给测试点投票,结果仍依赖距离、归一化、kk 与支持集。微调允许 ff 更新,检验的是初始化加适配方案。检测或分割则需要空间特征和任务头,整图线性分类成绩不能自动给出边界能力。

完整协议至少明确:原始样本的训练/验证/测试划分,预训练是否接触无标签测试图,冻结时的 eval/BatchNorm 状态,读 hh 还是 zz,标签预算,验证集选超参数的方法。两视图必须在原图划分之后生成。同一原图一张裁剪放训练、另一张放测试,会把近重复泄漏包装成泛化。

同一个颜色干预,真的改变了学到的表示

LAB 06 已在 2026-09-22 本地 CPU 完成真实两视图训练:600 张训练图、240 张保留图,RGB 16×16,卷积编码器输出 48 维 hh,投影头输出 24 维 zz,InfoNCE 温度 0.2,batch 60,Adam 学习率 0.002,固定种子 20260922、40 epoch。预训练不使用类别标签;标签只供冻结表示的 5NN 与线性读出使用。对照唯一指定变化是每个视图是否以 50% 概率交换红/蓝通道。

表示与训练 形状 5NN 颜色 5NN
随机编码器 hh 72.50% 100.00%
保留颜色增强,训练后 hh 47.50% 100.00%
随机换色增强,训练后 hh 85.83% 49.17%
随机换色增强,训练后 zz 95.42% 52.92%

真实两视图训练与冻结读出

保留颜色时模型可利用容易的颜色区别,形状 5NN 甚至低于随机表示;换色使这种线索不可靠,形状读出提高、颜色读出接近二类机会水平。hh 也会丢失颜色,hh 优于 zz 不是保证:本次 zz 的形状 5NN 反而更高。同一换色 hh 的线性形状读出是 98.75%,再次说明“表示质量”不能脱离读出协议。这里报告的是一个固定种子的小型受控实验,不是 SimCLR 在自然图像上的通用排名。

LAB 07 的小型 MoCo 使用同一图像来源、真实 FIFO 特征队列与 EMA key 编码器,训练 15 epoch。其 hh 形状 5NN 为 38.33%,低于随机基线 72.50%;损失由约 4.79 变到 4.27,也没有保证目标语义变得好读。它完成了训练机制,但给出了一个失败的表示结果。MoCo 与 LAB 06 的训练轮数和组织不同,不能据这些数作方法优劣排名;可以据此检查为什么视图目标、候选和下游形状任务不一致。

LAB 07 把队列/EMA 精确算例和图像两视图训练放在同一条学习链中。阅读训练输出时,先确认参数确实由损失更新,再比较相同协议下随机初始化与训练后表示;若小数据上的自监督结果没有领先,就讨论增强、数据量和读出限制,而不改变测试口径。

从 CLS 05 的重建 到本册,目标从恢复像素变为识别视图关系;下一册 CLS 07 再问:没有显式负例时,为什么表示没有全部变成同一个常量?这些路线共同要求我们区分训练信号、实际优化以及表示的使用证据。

CLS 06 · 表示的三个检查:目标、信息与新域

CLS 07 · 教师、信息、迁移与域变化

对比学习用负例阻止所有样本挤成一点。如果去掉负例,只让同图两视图接近,常量表示 f(x)=cf(x)=c 对任意输入都能达到零距离。这个解完全满足“彼此一致”,却不能区分杯子和书。于是问题从“怎样产生训练目标”推进为:目标本身是否排除了我们不想要的解?本册把教师学习、表示信息和域变化连起来,是因为三者都要求分清模型容易满足的条件和我们真正需要的能力。

教师不一定是更大的模型,也不一定提供真值

传统知识蒸馏用训练好的教师给学生提供输出分布。教师 logits a=(4,2,0)a=(4,2,0) 对应三个类别,温度 TT 下的软目标为 qi=exp⁡(ai/T)/∑jexp⁡(aj/T)q_i=\exp(a_i/T)/\sum_j\exp(a_j/T)。T=1T=1 得到约 (0.8668,0.1173,0.0159)(0.8668,0.1173,0.0159),T=2T=2 得到 (0.6652,0.2447,0.0900)(0.6652,0.2447,0.0900)。硬标签只指出第一类;软目标还表达第二类比第三类更接近教师判断。学生可用交叉熵 −∑iqilog⁡pi-\sum_iq_i\log p_i 或等价的、忽略教师熵常数后的 KL 项拟合。

蒸馏常把软目标项与真实标签项结合,并对温度目标作 T2T^2 缩放以补偿典型梯度尺度变化。温度不是提高事实正确率的按钮;教师若依赖背景,软分布同样可能传递背景捷径。这里传递的是教师行为中的结构,是否有益需要在目标分布上测量。见 Hinton 等,2015:蒸馏与温度软目标。

自监督教师则可以来自学生自身的历史参数。以 EMA 教师为例,教师参数 ξ←mξ+(1−m)θ\xi\leftarrow m\xi+(1-m)\theta,目标分支停止梯度,学生去预测另一视图的教师输出。这节省人工标签,却没有凭空增加关于类别的权威来源。固定预训练教师、监督蒸馏教师和 EMA 自监督教师的来源与更新方式不同;看到“teacher”一词,先问它由什么数据训练、是否更新、哪条分支接收梯度。

设计 谁产生目标 目标是否随学生训练变化 一项必须核对的风险
固定教师蒸馏 已训练模型 通常不变 教师错误和偏差会被模仿
EMA 自监督教师 学生参数的移动平均 平滑变化 常量解或退化解是否受到约束
人工类别监督 标注规则与标注者 数据集内通常固定 类别集合遗漏与标注噪声

BYOL 使用在线/目标网络、预测器和停止梯度等不对称设计;DINO 使用教师—学生分布匹配,并结合 centering、sharpening 等机制。它们给出了不显式使用负例也能学表示的实证路线。BYOL · DINO。不能把结果压缩成“EMA 单独保证不坍塌”:若随意删掉预测器、改变归一化或温度,系统已不是论文中的训练组合;只观察训练损失也识别不了所有退化。

先用三个量区分坍塌与无用读出

若一批表示全部为 (1,1)(1,1),协方差是零,任意两个样本距离为零;仅凭这些表示的分类器只能按先验猜类别。若表示分布有方差,仍可能仅保存背景亮度,不能因“看起来散开了”就判断语义有用。相反,线性分类失败也不必说明标签信息消失。

用四个等概率输入 h∈{(−1,−1),(−1,1),(1,−1),(1,1)}h\in\{(-1,-1),(-1,1),(1,-1),(1,1)\},同号标签 0,异号标签 1。这是 XOR:四点没有碰撞,每一点都唯一确定标签,但两类凸包都经过原点,不能被一条直线严格分开。加入 z=h1h2z=h_1h_2 后,标签为 1[z<0]\mathbf1[z<0],一维阈值就能完全分开。非线性变换没有创造标签信息,只改变了可读出形式。

XOR 保留信息但线性不可分,以及域变化中的两种线索

左图四点的身份与标签均完整保留,却没有线性分界;右图给出一个人为设定的环境分布:颜色线索从 90% 可靠变为 10%,形状线索保持 80%。这些是解释条件的构造数值,不是实测模型成绩。

因此值得分别检查表示方差/秩、冻结读出、允许非线性适配的成绩。每一种检查排除的解释不同。LAB 17 对照软目标和常量表示;LAB 21 则比较信息是否保留与读出是否容易。不要把前者的一次低距离当成后者的高质量表示。

数据处理不等式究竟限制哪一条链

设 X=(A,B)X=(A,B) 为两个独立均匀 bit,标签 Y=AY=A。固定表示 H1=AH_1=A 只存一个 bit,却保留全部标签信息:I(Y;H1)=1I(Y;H_1)=1 bit。另一个一 bit 表示 H2=A⊕BH_2=A\oplus B 与 YY 独立,所以 I(Y;H2)=0I(Y;H_2)=0。两者维数相同、熵相同,任务信息却不同。这比“压缩越强越好”更能说明问题。

在固定的 Markov 链 Y→X→HY\to X\to H 中,数据处理不等式给出 I(Y;H)≤I(Y;X)I(Y;H)\le I(Y;X):后处理不能从已经完全相同的输入状态中恢复被删除的区别。其前提是表示由给定 XX 产生,没有额外关于 YY 的信息通道。模型训练时参数 θ\theta 可从外部训练集获得规律;比较训练前后的 fθf_\theta,并不是在同一条固定前向链上凭空创造信息。连续变量的互信息还可能因确定性映射出现技术问题,不能拿离散 bit 算例的数值直接衡量一张连续特征图。课程采用这个例子是说明条件,而非用互信息替代实际迁移评价。

分布变了,源域最方便的线索可能最危险

考虑二分类图像:训练环境中,颜色与标签一致率为 90%,形状为 80%;新环境中颜色一致率降到 10%,形状仍为 80%。一个只用颜色的规则在源域期望准确率为 90%、目标域为 10%;只用形状则两域都为 80%。这里没有真正训练网络,因此只能证明规则在指定分布下失效,不能声称已经测得迁移带来的负收益。

要声称负迁移,需要同一目标任务、标签预算、训练和评价划分下,比较源预训练初始化与合理的目标域基线,例如从头训练或其他初始化;若前者更差,差值才是当前协议下的迁移负效应。冻结、局部微调、全量微调允许不同程度改写源线索,不能仅比较训练准确率。若目标标签很少,全量更新还可能把小样本噪声写进整个网络。

随机划分若同时把同一背景、拍摄设备或主体身份分进两侧,可能隐藏域变化。按环境或主体分组的保留集更接近“到新场景使用”的问题;验证集仍须用于选择适配强度,不能看完测试环境再挑出最好的一种方法。D2L:环境与分布偏移 给出这些假设变化的基础讨论。LAB 22 的规则翻转与 LAB 02 的实际参数迁移各承担其中一层证据。

第一条主线到这里形成一个闭环:重建规定要保留什么,对比规定哪些变化要忽略,教师规定向谁靠近,而读出与新域评价检查这些选择是否支持使用。下一册 CLS 08 改变的不是标签供给,而是输出要求:即使整图类别判断正确,网络还要交付对象在哪里。

CLS 07 · 检测几何、匹配与评价

CLS 08 · 检测几何、匹配与评价

“这张图有杯子”可以由一个整图类别分数回答;“两只杯子分别在哪里”需要对象数、类别和位置。分类器即便准确,也没有被要求把分数分配给具体区域。全局平均池化还可能把左右位置汇总掉。检测因此要改变输出参数化、训练目标和评价协议,而不是给分类结果补画一个框。

四个数怎样指向图像里的同一区域

轴对齐框可表示为 (xmin⁡,ymin⁡,xmax⁡,ymax⁡)(x_{\min},y_{\min},x_{\max},y_{\max}),也可表示为中心与宽高 (cx,cy,w,h)(c_x,c_y,w,h)。本册用连续边界、右下边界不额外加 1 的约定,并把坐标除以图像宽高归一化到 [0,1][0,1]。这与“像素编号含两端”的面积算法不同,混用会让小框 IoU 尤其失真。

真值 G=(0.2,0.2,0.6,0.6)G=(0.2,0.2,0.6,0.6),预测 P=(0.3,0.2,0.7,0.6)P=(0.3,0.2,0.7,0.6)。二者面积都为 0.16,交集宽 0.3、高 0.4,面积 0.12;并集为 0.16+0.16−0.12=0.200.16+0.16-0.12=0.20,所以

IoU(P,G)=∣P∩G∣∣P∪G∣=0.6.\mathrm{IoU}(P,G)=\frac{|P\cap G|}{|P\cup G|}=0.6.

IoU 对同时缩放两框不变,却对相对位移敏感。把同样 0.1 的横移施加到宽 0.2 的小框,重叠比例会比宽 0.4 的框更差。检测中“小目标难”有一部分来自几何尺度,不能只归因于类别识别。

框重叠的精确几何与检测排序

左图以相同坐标比例展示 IoU=0.6;右表是一类、两个真值对象的排序算例,第二个预测虽也盖住对象,却因重复而算假阳性。

锚框先给坐标一个起点,匹配再赋予训练身份

锚框是预设位置、尺度和长宽比的参考框,不是模型已经检测出的结果。输出头为每个锚框预测类别或 objectness,以及相对坐标改变量。一种不加额外尺度系数的参数化是

tx=(cxg−cxa)/wa,ty=(cyg−cya)/ha,tw=log⁡(wg/wa),th=log⁡(hg/ha).t_x=(c_x^g-c_x^a)/w^a,\quad t_y=(c_y^g-c_y^a)/h^a,\quad t_w=\log(w^g/w^a),\quad t_h=\log(h^g/h^a).

锚框中心 (0.4,0.4)(0.4,0.4)、宽高均为 0.4,真值中心移到 (0.45,0.4)(0.45,0.4) 且大小不变,目标就是 (0.125,0,0,0)(0.125,0,0,0)。解码时用 cxp=cxa+watxc_x^p=c_x^a+w^at_x、wp=waexp⁡(tw)w^p=w^a\exp(t_w) 等逆运算。具体实现可能乘 10、5 等尺度因子,例如 D2L 的一套约定;编码和解码必须成对,不可只复制一边公式。

训练时要把锚框分配为正例、负例或忽略项。常见方案先保障每个真值有匹配,再按 IoU 阈值增加正例,把远离真值的锚框设为背景,中间区域可忽略。两阈值的具体值是协议选择,不是 IoU 的定义。位置回归只对正例计损失;背景没有“应该回归到哪里”的真值。若一幅图没有对象,仍应通过负例分类损失学会不报框,回归项则安全地归零,避免除以零。

写成 L=Lcls+λLboxL=L_{cls}+\lambda L_{box} 仍不够:两个分母怎样归一化、负例是否筛选、ignore 如何 mask,都决定了优化问题。大量背景锚框可能淹没少数正例;hard-negative mining 和 focal loss 是改变贡献权重的不同办法。学生可以沿 D2L §14.4 锚框分配/偏移 与 §14.7 TinySSD 核对输出张量、分类标签和回归 mask。

共享特征减少重复计算,但对象身份仍要保留

早期区域 CNN 为很多候选分别提特征,重复处理重叠像素。Fast R-CNN 把卷积移到整图共享阶段,再在区域内读取特征;Faster R-CNN 用 RPN 从共享特征提出候选;SSD 在多个尺度的特征图上直接预测类别和位置。这些变化围绕候选产生、特征复用和预测阶段数组织,并不意味着所有方法在任何设备或目标尺度上只有一个速度排序。Fast R-CNN · Faster R-CNN · SSD。

共享整图特征不应抹掉区域身份。同一张特征图上取左杯和右杯两个区域,仍要得到各自预测;把所有空间位置先平均成一个向量,再期待检测头重建任意细节,可能遇到表示碰撞。是否保留坐标、感受野与采样密度,应与表示的分类能力一起检查。

NMS 与评价匹配解决两个不同的重复问题

Non-maximum suppression(NMS)是推理后处理:通常按类把预测框按分数排序,保留最高分框,删除与之重叠超过阈值的其他框,再继续。它减少同一对象的重复报告,但不知道真值;挤在一起的不同对象也可能被误删。NMS 阈值影响交付的结果,不能在测试集上追着最好 AP 挑阈值。

评价匹配则拿最终预测与真值比较。在固定类别和 IoU 阈值下,按置信度从高到低,每个预测至多匹配一个尚未被使用的真值;同一真值只能被命中一次。于是“框覆盖了对象”还不保证是真阳性,它可能是已有更高分预测的重复框。

设共有两个真值,四个预测排序后的身份依次为 TP、FP(重复)、FP(背景)、TP。累计 precision 为 1,1/2,1/3,1/21,1/2,1/3,1/2,recall 为 1/2,1/2,1/2,11/2,1/2,1/2,1。若采用本册的全点插值 precision envelope 与 recall 增量积分,AP 为 0.5×1+0.5×0.5=0.750.5\times1+0.5\times0.5=0.75。这是明确定义的简化 AP;COCO 的 101 个 recall 阈值采样、多个 IoU 阈值平均和面积分组是更具体的另一套协议,不能把一个数未经说明叫“COCO AP”。

LAB 09 可改重复框分数,观察排序如何改变 AP;也可改 IoU 阈值,使一个原先合格的框失去匹配。准确率把大量背景当作普通样本时可能很高,却无法体现检测的定位与重复问题。

沿一次真实训练追踪从图像到框

LAB 10 的主实验应按以下对象检查:RGB 图像和类别/框标注进入数据集,卷积骨干产生空间特征,输出头产生类别与偏移,匹配提供监督,损失更新参数,解码及 NMS 产生最终框,最后仅用保留图像评价。真值坐标只用于目标与评价,不能作为图像模型的输入特征。

主实验已在 2026-09-22 本地 CPU 完整运行。输入是 48×48 RGB 合成图,含红矩形、蓝椭圆、可变位置与尺度、多个对象及空图;颜色与形状相关,因此不是自然场景通用检测基准。按原始场景种子划分 768 训练、96 验证、192 保留图。45,806 参数的卷积检测器在单层网格上使用 288 个锚框,训练 28 epoch;正例阈值 0.45、忽略区间 [0.25,0.45),并保障每个真值有独立强制匹配。分类使用 hard-negative CE,位置项为正例 smooth-L1,解码后按类 NMS。

同一保留协议 两类平均 AP@IoU0.50 两类平均 AP@IoU0.75
随机初始化 0.00746 0.00003
训练后,原尺度 0.97303 0.70367
训练后,仅对象尺寸减半 0.61490 0.17987

AP 按各类全局分数排序、一个真值最多匹配一次、precision envelope 全点积分;不是 COCO 多 IoU 平均 AP。保留集有 33 张空图,展示阈值 0.4 下没有空图误报;这不代表所有阈值或所有背景都不会误报。AP50 与 AP75 的差距说明定位仍不够精细,尺度减半的下降说明训练分布外的小对象尤其困难。

真实模型的保留预测与失败

仅对象尺寸减半时的预测

保持权重与输入不变,仅把 NMS IoU 阈值从 0.35 放宽到 0.65,AP50 变为 0.95866;展示阈值下 recall 从 0.98311 到 1.0,precision 则从 0.94175 降到 0.41926。更多预测覆盖了剩余真值,也留下大量重复框。这组结果把 NMS 的取舍落实到了同一模型,而非抽象宣称后处理总会改善成绩。

四维高斯样本上的逻辑回归仍能说明 sigmoid 分类损失和参数更新,但它没有图像和位置输出,应保留为分类热身。完整检测器给出的错误则可以进一步分解:漏检、错类、框偏、重复、空图误报、尺度外推。这些区分决定下一步该改表示、匹配、损失、解码还是数据。

即使检测框全部正确,框里的杯把空洞和两杯接触边界仍未知。下一册 CLS 09 从这个具体缺口走向逐像素和实例输出。

CLS 08 · 密集预测、实例与集合输出

CLS 09 · 密集预测、实例与集合输出

一个框可以同时包住杯身、杯把和杯把中的背景。框坐标全对,仍不代表我们知道每个像素属于谁。若两只杯子接触,语义分割可以把它们都标成“杯子”,但要分别计数和操作,就还需区分实例身份。这里不是同一个答案换显示颜色,而是输出空间和监督单位发生了变化。

一张类别图怎样成为可训练的输出

语义分割的输出通常为 Z∈RN×C×H×WZ\in\mathbb R^{N\times C\times H\times W},其中 NN 是 batch,CC 是类别数,H,WH,W 是空间大小。目标 Y∈{0,…,C−1}N×H×WY\in\{0,\ldots,C-1\}^{N\times H\times W} 是整数类别图。对每个有效像素做 softmax 交叉熵,再按有效像素数平均:

L=−1∣Ω∣∑(n,u,v)∈Ωlog⁡pn,Ynuv,u,v.L=-\frac{1}{|\Omega|}\sum_{(n,u,v)\in\Omega}\log p_{n,Y_{nuv},u,v}.

Ω\Omega 排除 ignore label,例如未标注区域。ignore 不应变成一个额外背景类,也不进入评价混淆矩阵。二类任务可以用一个 foreground logit 加 sigmoid/BCE,也可以用两个 logits 加 softmax;张量形状和损失接口必须与这种选择一致。

FCN 用卷积保持空间网格并输出位置相关分数,再把较粗分辨率恢复到目标大小。U-Net 的编码—解码结构把深层上下文与浅层高分辨率特征通过跳连结合;这种连接提供额外可用信息,而不仅是把同一张粗图放大。D2L §14.11 FCN · U-Net 原论文。图像和 mask 的裁剪、翻转、缩放必须使用同一几何变换,否则网络被要求把一个位置的像素对应到另一个位置的标签。

上采样能增加格子,不能单凭格子恢复被删掉的区别

最近邻复制相邻值;双线性插值对邻域数值加权。给二维网格

F=(0102030),F=\begin{pmatrix}0&10\\20&30\end{pmatrix},

在横坐标 x=0.25x=0.25、纵坐标 y=0.5y=0.5 处,四点权重为 0.375,0.125,0.375,0.1250.375,0.125,0.375,0.125,插值得到 12.5。它精确说明怎样从已有数值取连续位置,不能保证 12.5 就是原始图像那一点的真实内容。

如果两个 2×22\times2 图案“左半亮”和“右半亮”都被平均成 0.5,任何只拿这个平均值的确定性解码器都必须给二者相同输出。增加一个“左减右”通道后才可以区分。这是 LAB 03 的表示碰撞例;它解释为什么需要保留空间信息,而非只提高显示分辨率。

类别 mask 本身是离散 ID,通常用最近邻几何采样。对类别编号 1 和 3 做双线性插值,得到 2 并不意味着中间真的存在第 2 类。模型的连续 logits 或概率图则可以按适当约定插值,再 argmax/阈值。插值坐标约定也要固定,例如是否对齐端点;同样叫 bilinear 的两个设置可能在边界位置不同。

一个 8×8 反例怎样澄清四种指标

设真值前景有 16 像素,从真值 mask 平均降采样再最近邻恢复并阈值化后,预测前景有 24 像素,其中真阳性 16、假阳性 8、假阴性 0、真阴性 40。这是采样机制例,预测过程直接使用了真值 mask,不能当作看图模型的能力证据。

真值掩码、降采样恢复和错误区域

三张网格由同一组 8×8 数组绘制。目标矩形为行 2–5、列 3–6(从 0 计数);阈值化最近邻恢复多出了 8 个前景像素。

指标 计算 本例结果
前景 IoU 16/(16+8+0)16/(16+8+0) 2/32/3
背景 IoU 40/(40+0+8)40/(40+0+8) 5/65/6
两类 mIoU,含背景 (2/3+5/6)/2(2/3+5/6)/2 0.75
像素准确率 (16+40)/64(16+40)/64 0.875

“mIoU=0.667”在这个例子里错在名称:0.667 是单类前景 IoU。若报告不含背景的类均值,应写清类别集合;若某类真值和预测都为空,要说明是忽略该类还是采用约定值。背景占比很高时,全预测背景也可能有高像素准确率,所以要看逐类混淆和边界错误,而不只看一个总数。

真正视觉模型必须从图像推断 mask。LAB 11 先保留上述采样例及最近邻/双线性比较,再进入小型像素模型。两段实验分别检验采样损失和学习能力,结论不互相替代。

主实验在 2026-09-22 本地 CPU 完成训练,384 张训练图、128 张保留图,输入 48×48 RGB。三类为背景、红矩形、蓝椭圆,目标形状为 [B,48,48],logits 为 [B,3,48,48],ignore label 255 在损失与指标中均被排除。20,590 参数的小型 FCN 将 12×12 粗 logits 双线性上采样并融合精细跳连,训练 20 epoch;另训练只有 12 个参数的逐像素 RGB 线性读出作基线。

保留图像条件 小型 FCN 三类 mIoU RGB 逐像素线性读出 mIoU
原始合成图 0.99041 1.00000
对象尺度变为 0.45 倍 0.94396 1.00000
RGB 图作 5×5 模糊 0.92397 0.84996

RGB 基线满分说明原数据颜色已直接泄露类别,不能据 FCN 高分宣称它学会了复杂形状或需要深层上下文。模糊后边缘颜色混合,FCN 在这个干预下更稳健;这才是当前对照支持的具体比较。原始条件下 FCN 的逐类 IoU 为背景 0.99861、矩形 0.99833、椭圆 0.97429,较细曲线边界更难。

真实图像、mask、FCN输出与错误

小对象条件下的错误分布

保持已训练参数,测试时仅把粗 logits 的双线性插值改为最近邻,mIoU 降到 0.91180。这说明当前网络对训练时的采样约定敏感,不能把它读作“最近邻永远更差”,因为网络没有在两种上采样设置下分别重训。前面的已知 mask 热身中,双线性分支前景 IoU 仍为 2/3,背景 IoU 为 0.88462、两类 mIoU 为 0.77564;指标差异与模型泛化仍须分开。

小目标、区域对齐与实例身份各需要哪种结构

深层特征感受野大,适合上下文;浅层特征分辨率高,保留局部细节。FPN 通过自顶向下和横向连接组织多尺度语义特征,供不同尺度对象使用;SSD 也在多尺度图上预测,但不是同一套特征融合结构。FPN。更密的输出位置带来大量易背景项,focal loss 用 −(1−pt)γlog⁡pt-(1-p_t)^\gamma\log p_t 降低易例权重。取 γ=2\gamma=2,正确类概率 0.9 的权重是 0.01,而概率 0.5 的权重是 0.25;它重分配训练贡献,并不直接增加边界分辨率。Focal Loss。

Mask R-CNN 在检测区域上再预测每个实例的 mask。两个杯子类别相同,也有各自的区域和掩码。RoIAlign 用连续坐标取样,减少区域量化带来的错位;上面的双线性例说明了单个采样点怎样获得值。它能更准确读取已有特征,却不会恢复骨干早已完全删去的信息。Mask R-CNN §3。

语义输出关注每个像素的类别,实例输出还要保存“同类中的哪一个”。若把实例 1、2 都映射为类别“杯子”,就得到语义图;逆变换一般不唯一,因为接触区域可能无法仅凭类别图分开。点或框提示分割又多了当前请求:这次分哪一个对象。它将在 CLS 12 接上语言指代。

对象没有天然顺序,损失为何要先匹配

假如真值集合为两只杯子 {A,B}\{A,B\},预测槽位为 {p1,p2}\{p_1,p_2\},把标注数组顺序反过来不应该改变任务。如果直接规定 p1p_1 必须学第一个标注,会把任意标注顺序变成训练障碍。集合预测用二分匹配寻找总成本最小的分配,再计算相应监督。

例如成本矩阵行为预测、列为真值:C=(0.21.31.00.1)C=\begin{pmatrix}0.2&1.3\\1.0&0.1\end{pmatrix}。对角分配总成本 0.3,交换分配为 2.3,所以选对角。实际成本不能凭空填:类别项可来自 −p(c)-p(c) 或选定的分类代价,位置项来自 L1 与 GIoU 等;用于匹配的成本和最终训练损失还可能不同。DETR 用集合预测和二分匹配学习对象槽位,剩余槽位监督为 no-object。DETR §3。

LAB 23 可以换标注顺序,验证最佳集合对应没有改变。这个小矩阵足以讲清置换问题,但不等于训练出了 DETR。至此,整图、框、像素、实例和集合的区别都落实到输出对象与损失;下一条主线将让语言规定我们要哪种答案。

CLS 09 · 图像条件输出:描述与问答

CLS 10 · 图像描述、解码与视觉问答

同一张红杯在左、蓝杯在右的图片,可以产生“桌上有两个杯子”的描述,也可以回答“左边杯子什么颜色”。前者要选择描述哪些内容并组织句子;后者还要依据问题筛选证据。两者都使用语言,却不是将图像分类的最后一个类别名改成长句。输出的条件分布、训练数据和检验方式都随任务改变。

图像特征怎样进入逐词预测

令图像编码为 v=fθ(I)v=f_\theta(I),词嵌入为 e(yt−1)e(y_{t-1})。一个最小条件 RNN 可以令 h0=Avh_0=Av,再按 ht=RNN(ht−1,[e(yt−1);v])h_t=\mathrm{RNN}(h_{t-1},[e(y_{t-1});v]) 更新,输出 p(yt∣y<t,I)=softmax(Wht+b)p(y_t\mid y_{<t},I)=\mathrm{softmax}(Wh_t+b)。视觉特征既可以初始化状态,也可以逐步输入;使用注意力的模型还会在每步读取不同空间位置。学生需要沿实际实现确认这条路径,因为把文件命名为“caption”不会自动使 token 预测依赖图像。

句子概率由链式法则分解:

p(y1,…,yT∣I)=∏t=1Tp(yt∣y<t,I),p(y_1,\ldots,y_T\mid I)=\prod_{t=1}^T p(y_t\mid y_{<t},I),

其中最后一个目标通常是 EOS。训练最小化真实句子的负对数似然,图像与描述配对提供监督。Show and Tell 把视觉编码器与序列解码器结合;Show, Attend and Tell 进一步在生成时读取图像局部。这些工作连接了已有视觉识别与序列建模能力,并没有把 caption 当作无需训练的新界面。Show and Tell · Show, Attend and Tell。

回看 CLS 04,共享参数和逐词交叉熵都保留,只是每项分布新增了图像条件。视觉编码器可以冻结,也可以参与反向传播;需要多少配对数据、会不会破坏原表示,取决于更新范围和任务难度。

训练时看到真实前缀,推理时承担自己的错误

目标句为 [红色, 杯子, EOS]。输入为 [BOS, 红色, 杯子],shifted targets 为 [红色, 杯子, EOS]。若批内另一句较长,就给短句补 PAD,但 PAD 位置不计词损失。EOS 是需要学习的有效目标,不能与 PAD 一起删去,否则模型没有明确的结束监督。

teacher forcing 让每个训练位置看到真实前缀;推理则从 BOS 开始,把上一步生成词继续输入,直到 EOS 或长度上限。假如模型先误说“蓝色”,后续分布是在“蓝色”这个条件下计算,不能再拿真实“红色”偷偷接续。训练 loss 低与自由生成正确相关,却不是同一测试。

图像打乱是一个特别有力的对照:保留句子前缀与网络参数,把匹配图替换为另一张图。如果生成几乎不变,语言先验可能已承担大部分任务;如果明显恶化,支持当前模型使用视觉条件,但仍要排除数据中的简单相关性。把视觉向量置零则检验对这一特定缺失输入的反应,并不等价于训练一个容量相同的纯语言模型。

Greedy 与 beam 真正在搜索什么

设第一步只有 A、B,概率分别为 0.6、0.4。A 之后 X、Y 的概率为 0.51、0.49;B 之后为 0.9、0.1。再下一步四条路径都以概率 1 输出 EOS,所有分布都已规范化。

完整路径 条件概率乘积
A X EOS 0.6×0.51=0.3060.6\times0.51=0.306
A Y EOS 0.6×0.49=0.2940.6\times0.49=0.294
B X EOS 0.4×0.9=0.3600.4\times0.9=0.360
B Y EOS 0.4×0.1=0.0400.4\times0.1=0.040

greedy 第一步选 A,第二步选 X,得到 0.306。beam 宽度 2 第一步保留 A、B,展开后保留 BX、AX,最终选择 BX 的 0.36。在这个小树上 beam 找到了更高概率路径;更大搜索空间里,有限 beam 仍可能提前删掉最终最优前缀。实现时通常累加 log 概率以避免下溢,并明确 EOS 完成路径怎样保留。

规范化概率树中的 greedy 与 beam

每个节点的出边概率和为 1。橙色路径是 greedy,蓝色路径是宽度 2 的 beam;路径联合概率由真实边概率相乘,没有用手填结果字符串冒充搜索。

更长句子的概率乘积通常更小,长度惩罚或归一化会改变搜索分数。搜索得到更高模型概率,未必更符合图片:如果模型本身高估一个幻觉句子,搜索更充分反而更坚定地输出它。必须区分搜索错误、概率模型错误和视觉证据不足。见 D2L §10.8 Beam Search。

小型 CNN–GRU 确实从图像条件生成了词

LAB 13 在 2026-09-22 本地 CPU 新进程中完成训练。720 张训练图、180 张独立渲染的保留图覆盖相同 18 种颜色×形状×位置组合;这是新渲染泛化,不是未见语义组合或自然照片泛化。CNN 把像素编码为 48 维视觉向量,词嵌入 24 维,每一步把两者拼接送入 64 维 GRU,视觉向量也用于初始化 hidden state。训练真实前缀和 shifted targets,推理实际接续模型输出。

同一批 180 张保留图 完整句精确匹配
正确图像,greedy 100.00%
正确图像,beam width 3 100.00%
像素置零 5.56%
图像按固定循环移位错配 0.00%

保留集真实生成与图像条件对照

在固定前缀 BOS a 后,红方块左侧图生成 a red square on left,蓝圆右侧图生成 a blue circle on right。去图和错配图大幅下降,支持模型在这个有限任务上依赖正确视觉条件。greedy 和 beam 同分,说明本实验没有提供 beam 优于 greedy 的经验结果;前面的概率树解释的是搜索机制。中间位置采用较短描述模板,也有 EOS 监督,这使长度不同的真实生成可被检查。

VQA 新增的不是“一个问号”,而是条件选择

VQA 的目标为 p(a∣I,q)p(a\mid I,q)。问题 qq 指出要读颜色、数量、空间关系还是文字,答案 aa 可为固定类别,也可是一段生成序列。固定答案分类通常用交叉熵;开放回答则可用逐词条件目标。选哪种输出决定能回答的范围,也决定准确率怎样计算。真实 VQA 数据还存在多个人类答案、同义表达和歧义,不能用本课程合成例的精确字符串匹配代替所有基准协议。VQA。

看同一对场景:图 A 左红右蓝,图 B 左蓝右红。问题“左边杯子什么颜色”在 A 的答案是红、B 是蓝;同图 A 换成“右边杯子什么颜色”,答案又变成蓝。模型必须同时随图和随问题变化。若训练集中这个问题九成回答红,question-only 模型可以靠问题先验达到看似不错的成绩;这正是需要对照的原因,而非说明它拥有视觉能力。Making the V in VQA Matter 通过成对图像与答案平衡,加强了视觉证据的作用。

对照 保持 改变 能回答的具体问题
同问题换图 问句与模型 与答案有关的像素 输出是否跟随画面?
同图换问题 画面与模型 所问属性或对象 是否按问题选取证据?
question-only 训练/评价问答协议 移去视觉分支 问题先验能做到多少?
错配图 问题、答案集合与模型 图像对应关系 成绩是否依赖正确图文配对?

若视觉分支直接读取场景字典的 color 或 count 字段,它拿到的是答案相关属性的 oracle 输入。这能检查问答规则,却没有检查像素感知。真实视觉分支至少要从图片或可追溯视觉特征取得信息,再与问题融合。LAB 14 保留这两种身份,避免把规则分支说成看图模型。

实际 VQA 对照同样已在 2026-09-22 本地 CPU 训练:720 张训练图和 180 张保留图先按图划分,再各扩展为数量、最左对象颜色、最右对象形状三个问题,保留集共 540 个图问对。训练中左侧红色比例实测 73.61%,保留颜色按构造均匀。CNN+问题模型从像素读取信息;question-only 使用同样问答任务,单独训练语言基线。

保留条件 数量 左侧颜色 右侧形状 全部问题
正确图像+问题 100% 100% 100% 100%
question-only 50% 33.33% 50% 44.44%
已训练视觉模型,像素置零 50% 33.33% 50% 44.44%
固定循环错配图像 83.33% 50% 0% 44.44%

同图换问与同问换图的模型输出

循环错配的分项结果不等于独立随机图的理论机会率:数据排列让错配后数量仍有较强关联,而形状正好反向。总体同为 44.44% 也掩盖了不同错误来源。这个结果支持视觉模型利用正确图像,但要评估更广泛语言泛化,还需新的问句、对象和组合;三个固定模板上的满分不是开放 VQA 能力。

caption 的好句子要与画面对应,VQA 的好答案还要对应问题,而 CLS 11 的 CLIP 只需给已有图文候选评分。三个任务可复用视觉和语言表示,但输出结构和训练目标不同:一个相似度函数没有下一词分布,就不能仅靠不断调用相似度自动成为本册的条件解码器。

CLS 10 · CLIP:配对学习与可复用表示

CLS 11 · CLIP、检索与表示缓存

一张照片旁边的文字通常没有给出每个像素的标签,却能指出“狗在草地上奔跑”。这样的配对可以把语言变成学习信号:图像表示与对应描述靠近,在一批候选中识别正确配对。训练后,文字还可以临时指定候选类别,而不必为每个任务重新定义一个固定分类头。代价是评分只反映模型、输入和候选关系;它并不自动给出完整描述、区域框或校准过的真实性概率。

两个编码器怎样共享一个比较空间

图像编码器给出 vi=f(Ii)/∥f(Ii)∥v_i=f(I_i)/\|f(I_i)\|,文本编码器给出 uj=g(Tj)/∥g(Tj)∥u_j=g(T_j)/\|g(T_j)\|。一个包含 BB 对样本的 batch 得到相似度矩阵 Sij=viTujS_{ij}=v_i^Tu_j,对角线是数据提供的配对。图搜文损失按行做交叉熵,文搜图按列做交叉熵:

LI→T=−1B∑ilog⁡eSii/τ∑jeSij/τ,LT→I=−1B∑jlog⁡eSjj/τ∑ieSij/τ.L_{I\to T}=-\frac1B\sum_i\log\frac{e^{S_{ii}/\tau}}{\sum_j e^{S_{ij}/\tau}},\qquad L_{T\to I}=-\frac1B\sum_j\log\frac{e^{S_{jj}/\tau}}{\sum_i e^{S_{ij}/\tau}}.

训练常取两者平均。归一化让点积成为余弦;温度或其倒数缩放 logits,但不是改变余弦本身。CLIP 学习图像与文字编码器并用图文配对训练,可在下游把类别名写入自然语言模板作为候选。CLIP §2、图 1。批内“未配对”不保证语义无关:两张狗图的描述可能都正确,重复数据和描述遗漏都会影响目标。

一个可手算的例子使用 v1=(1,0),v2=(0,1)v_1=(1,0),v_2=(0,1),u1=(4,1)/17,u2=(1,4)/17u_1=(4,1)/\sqrt{17},u_2=(1,4)/\sqrt{17}。矩阵对角约 0.9701,非对角约 0.2425;行和列都把正确配对排在前面。这些是单位向量构造,只用于核对归一化与索引,不能作为 CLIP 模型准确率。

候选分类、检索与概率是三个不同对象

对同一图像,设两个候选 logits 为猫 2、狗 1。候选 softmax 给猫 e2/(e2+e)=0.7311e^2/(e^2+e)=0.7311。加入另一个 logit 也为 2 的“幼猫”候选,原猫项变为 e2/(2e2+e)=0.4223e^2/(2e^2+e)=0.4223,即便图像和原两个文本的相似度都没变。候选内概率回答“在这一组选项里怎样分配质量”,不是“现实中猫存在的概率”。

删除正确类别后仍会出现最高分;添加近义描述会分摊 softmax;改模板则会改变文本编码向量,可能连 raw similarity 都改变。对比时分别记录图像预处理、模板、候选集合、原始余弦与 scaled logits。若要把分数解释为风险或真实性概率,需要额外校准数据与分布假设,而非只做一次 softmax。

在检索中,查询可能有多个相关结果。Hit@K 只问前 K 是否至少有一个相关项;Recall@K 按相关项数量计算召回;若每查询只有一个正例,两者数值相同。近似索引与精确索引的 Top-K overlap 则问两个算法找到的 ID 重合多少,不问这些图像是否语义相关。报告里必须先定义相关集合,不能把三个口径统称为 Recall。

为什么一个可缓存向量改变了系统成本

图库有 NN 张图,查询有 QQ 段文字。双编码器可以预先编码每张图一次,再每条查询编码一次,得到 N+QN+Q 个样本编码;如果每个图文对都重复分别编码,就需要 2NQ2NQ 个样本编码。取 N=24,Q=12N=24,Q=12,两者分别为 36 与 576。这个数是解析调用量,不是秒数:batch 合并、设备和预处理会改变实际延迟。

编码后仍要搜索。精确点积计算约需 QNdQNd 次乘加,图库矩阵以 float32 存储约 4Nd4Nd 字节。百万个 512 维向量约 2.048 GB(十进制),尚未包含 ID、元数据和索引结构。缓存消除了重复深度编码,不意味着检索没有成本。

双编码相似度矩阵与样本编码量

左侧矩阵由上述单位向量精确生成;右侧 576 与 36 是固定 N=24、Q=12 的编码样本数量。柱形高度不表示延迟。

交叉编码器在查询时让图像区域与文字 token 细粒度交互,通常每对都要进行这部分计算,不能把所有查询相关交互压成一个与查询无关的最终图库向量。late interaction 保存多个局部向量,在查询时对局部相似度做聚合;它处在缓存便利与细粒度交互之间。实践可先用双编码器召回,再对少量候选重排。增加交互提供表达机会,但不保证关系推理正确,还需训练与评价。

方案 能预计算什么 查询阶段主要工作 应付出的代价
单向量双编码 每张图一个向量 查询编码与向量搜索 全局压缩可能弱化局部关系
多向量 late interaction 图像局部向量 token/区域匹配与聚合 索引和查询计算增加
逐对交叉编码 可缓存部分独立特征 候选对的联合交互 候选数量直接影响成本

近似搜索省略了哪些比较,要付多少漏失

以 IVF 为例,先把图库向量分到若干簇;查询先选最接近的 nprobe 个簇,只在这些簇中精确算相似度。nprobe 小通常减少扫描项,却可能漏掉位于其他簇的真正近邻。固定一批查询,先计算 exact Top-K 作为对应,再记录 ANN 的 Top-K overlap、扫描量和延迟,才能知道省了什么、丢了什么。查询本身不能参与拟合图库索引的评价相关标签。

小图库常出现 ANN 更慢:簇选择、Python 循环和额外索引开销大于节省的点积计算。不能看到“近似”两字就写成实测加速。索引构建时间、首次模型加载、图片编码、缓存后的查询延迟也应分别计时。LAB 12 的真实 CLIP 图库把这些阶段分开保存。

在真实 CLIP 缓存上观察一次完整检索

2026-09-22 本地 CPU 推理使用 openai/clip-vit-base-patch32,固定 revision 3d74acf9a28c67741b2f4f2ea7635f0aaf6f0268,权重 SHA-256 为 a63082132ba4f97a80bea76823f544493bffa8082296d62d71581a4feff1576f,与旧包一致。预处理为 RGB、短边 224 双三次缩放、中心裁剪 224×224,再用 checkpoint 配置的 CLIP 均值/标准差归一化;文本用对应 tokenizer,输出归一化为 512 维向量。这是新推理,没有重新训练 CLIP。

图库是六张公开照片各四种关联裁剪,共 24 项,查询为 12 段真实文本。它们不是 24 个独立语义样本,不能用这次小库成绩估计大规模检索泛化。

缓存后搜索 Top-3 与 exact 重合率 语义 Hit@3 每查询扫描向量均值 12 查询整批中位延迟
exact 1.0000 1.0000 24.00 0.04558 ms
IVF,8 簇,nprobe=1 0.7778 1.0000 4.17 0.10159 ms
IVF,8 簇,nprobe=2 1.0000 1.0000 7.67 0.10836 ms

时延是本地单 BLAS 线程、20 次预热后 100 次测量的整批搜索,含 Python/NumPy 排序与索引遍历,不含模型编码、磁盘读取及建索引。小库上 ANN 扫描少却更慢,不能声称本次获得加速。nprobe=1 漏掉了一些 exact ID,但仍命中同一原照片的相关裁剪,因此语义 Hit@3 没有下降;这正好说明两种指标回答不同问题。

新推理也复核原猫图:基础三候选的猫余弦为 0.28691、候选 softmax 为 0.99577;加 tiger、fox 后余弦保持,softmax 降至 0.98195;删除 cat 后 tiger 成为最高项。这些候选内分数不是猫存在的校准概率。新旧猫图余弦最大差约 1.04×10−71.04\times10^{-7},可追溯地连接了历史材料。

同一对照片交换左右之后的真实 CLIP 分数

猫在左、宇航员在右时,两句关系描述余弦为 0.37850、0.38184;交换左右后为 0.35660、0.36301。两图都偏向“宇航员在左、猫在右”,所以第一张答错。另一个查询依赖的局部向量加权基线能在问猫时给猫区域较高权重,却因聚合忽略位置,交换左右后总分严格不变。多向量交互若没有保存关系结构,也不能凭“更细粒度”自动解决左右关系。

关系反例尤其重要。“红色杯子在蓝色杯子左边”与“蓝色杯子在红色杯子左边”包含几乎相同的词和对象,却要求相反对应。固定同一画布,仅交换两个对象的位置,可以让“物体都出现了”与“关系正确”产生不同预测。整图相似度若对两图都选同一句,支持的是关系区分在这个测试上失败,不代表模型从未表示位置。要更广泛判断,需要变化场景、措辞和对象,并防止模板本身成为捷径。

LAB 04 的原猫图历史推理仍保留,用于复核候选与模板变化;新增推理另有当前模型与输入身份,不能混用运行时间。下一册 CLS 12 把问题从“哪段话与整图最相似”推进为“这句话具体指哪一个区域”。

CLS 11 · 语言定位与视觉模型接口

CLS 12 · Grounding、提示与多模态接口

看见一红一蓝两只杯子后,听到“蓝杯左边的杯子”,应返回谁?句子里最显眼的颜色词是蓝,但蓝杯是参照物,目标是它左边的另一只杯子。如果规则只要看到 blue 就返回蓝杯,它完成了关键词检索,却回答错了指代问题。Grounding 把语言条件落实为区域、框或掩码,使这种错误可以用坐标核对,而不是只看回答是否流畅。

把目标、参照物与关系分别放进同一场景

采用 LAB 15 的受控画布。左侧红杯框为 [15,19,50,58],中心横坐标 32.5;右侧蓝杯框为 [109,19,144,58],中心横坐标 126.5;书框为 [60,65,90,80]。坐标采用左上到右下的连续边界约定。

对短语 cup left of blue cup,先识别目标类别是 cup,再确定参照物是 blue cup,最后计算关系。令候选目标为 aa、参照物为 rr,本例关系定义为 cx(a)<cx(r)c_x(a)<c_x(r),且 a≠ra\ne r。蓝杯不能满足自己在自己左边;红杯满足 32.5<126.532.5<126.5,所以返回红杯框。书虽处于蓝杯左边,也不满足 cup 类别约束。

目标、参照物和坐标关系

坐标和框与规则实验一致。蓝杯作为参照物先被识别,横向关系再选择红杯。图中箭头表示两者中心横坐标的比较,用来解释计算,不是模型 attention 可视化。

完整推理并不总有唯一答案:若蓝杯左侧有两只杯子,仅“左边的杯子”可能不够;若参照物不存在,则不能随便选另一个最高分对象。实验需要定义空结果、多个候选或不确定性怎样返回。中心横坐标只是本册选择的一种关系语义;“完全在左侧”可以改用 xmax(a)<xmin(r)x_{max}(a)<x_{min}(r),遮挡或相交场景中两种定义会不同,必须先明确问题。

干预不是换一张相似图,而是改变指定条件

同一画布可作三个精确对照。遮住左红杯后,目标证据消失;只交换两杯颜色,蓝参照物移到左侧,它左边没有另一个杯子;在换色图上把问题改为 cup right of blue cup,目标应变为右红杯。三项分别改变可见证据、属性对应和语言关系,其余坐标保持。

如果图像分支从像素提取连通域、颜色与框,再按上述规则解析短语,它是真正接收图片的规则系统;它有有限词表和固定颜色阈值,不是预训练神经 grounding 模型。若直接读取生成器保存的框与类别,则是已知场景结构的 oracle 几何对照。二者都能帮助检查关系语义,但对感知的证据强度不同。

LAB 15 已在 2026-09-22 保存实际像素规则输出。原关键词规则把 cup left of blue cup 错选为右蓝杯;从图片颜色连通域提框、再作目标/参照物/关系筛选的规则返回左红杯。遮挡左目标后返回无目标;仅交换颜色后,蓝参照杯位于最左,left of 也无目标;将问题改为 right of blue cup 后返回右红杯。

原场景与三种受控干预及返回框

干预实际改变的像素位置

像素差分图给出哪些位置确实改变,避免把独立生成的场景当作单变量干预。这条路径包含图像读取与坐标输出,但感知和短语处理仍是限定颜色/词表的规则;它修复了原关系演示,不作为 GLIP、SAM 或开放词汇 grounding 的实跑成绩。

从整图配对到 phrase–region 学习,需要新的监督位置

CLIP 给整图和整段文字一个相似度;grounding 需要短语与局部区域对应。GLIP 将目标检测与短语定位统一成语言感知的对象级学习,使类别名和描述词与区域共同参与预测。它利用检测/grounding 数据及由模型生成的区域监督扩展训练。GLIP 原论文。这里关键变化是学习对象从 image–text 对变成带区域对应的关系,输出也明确包含位置。

把 CLIP 用在手工裁剪的候选区域上,是一种可运行的区域评分基线;它复用了真实图文编码,但候选框从外部提供,且短语中的相对关系可能依赖裁剪外的参照物。不能据此称为复现了 GLIP。相同地,论文中展示的 grounding 能力可作为方法来源,却不能当成本课程某张干预图的本轮模型输出。学生应能找到输入、模型和预测框三者对应,才有具体推理证据。

框提示怎样把“哪一个”传给分割模型

分割模型需要知道当前要分割的对象。正点可表示应属于目标的位置,负点表示不应属于目标的位置,框给出候选范围。SAM 的提示式分割将图像编码、提示编码和 mask 解码结合,使同一图像可由不同提示产生不同 mask。Segment Anything。正点落在杯身与落在桌面提出不同请求;多义点可能对应局部部件或整个对象,返回多个候选 mask 也就有意义。

组合系统可以先用文字定位得到框,再把框交给提示式分割模型。但这个接口组合不等于后者独立理解了文字:若文字定位选中了蓝参照杯,分割模型可能非常准确地分出蓝杯,最后答案仍错。此时修 mask 边界不能修复上游的目标身份错误。反过来,框身份正确而杯把边界差,则应检查分割与图像分辨率。这就是把误差沿接口分解的价值。

LAB 16 的点/框机制例应明确输入提示如何改变输出集合。连通域或已知 mask 上的选取规则可以讲清提示身份;只有实际加载对应模型并保存结果,才证明某个提示式模型完成了推理。

视觉 token 怎样进入语言模型

视觉编码器输出一组特征,语言模型处理 token 序列,两者维数、数量和训练分布并不天然相同。LLaVA 使用视觉编码器与投影连接视觉特征和语言模型,并通过视觉指令数据训练接口;BLIP-2 用 Q-Former 从冻结视觉编码器提取可供语言模型使用的信息;Flamingo 使用视觉重采样与交叉注意力,把视觉信息接入语言生成。这些是不同的信息选择和交互方式,不是只把图像文件路径插进文本。LLaVA · BLIP-2 · Flamingo。

压缩视觉 token 降低后续计算,但可能丢失小字、细线或小物体;提高输入分辨率与 token 数增加可用细节,也增加内存与交互成本。一个流畅地回答“红杯在左边”的模型可能使用图像,也可能依靠常见描述。判断当前接口是否保留我们关心的信息,仍要回到同图换问、同问换图、遮挡目标、交换关系等具体对照。

训练数据的来源也进入这条链。原 LLaVA 的部分指令数据由文本模型依据已有 caption、类别与框等文字信息生成,并非该数据制作步骤直接读取原图。如果描述遗漏了杯把与书的遮挡关系,后续问答目标就没有可靠依据教会这一细节。增加回答长度不会补足被遗漏的视觉监督;需要补标注、换数据或承认当前任务覆盖不到。

本册把第二条主线的区域身份接到第三条主线的语言条件。下一册 CLS 13 再改变要求:给定描述,我们不只要在已有图像中找到目标,还要产生一个符合条件的新样本。caption 已经展示条件生成;接下来要研究的是分布与采样本身。

CLS xx · 从条件多解走向生成模型

CLS 13 · 条件生成桥梁与研究实践

给定一张图片,caption 模型已经在生成文字:它按 pθ(yt∣y<t,I)p_\theta(y_t\mid y_{<t},I) 一步步产生 token。第四讲因此不是“首次开始生成”,而是把条件分布、训练目标、结构和采样放到研究中心。现在反过来,只给“木桌上的红杯”,我们能否生成图片?杯型、视角、光照和位置有许多合理选择,训练不能再默认每个条件只有一个正确像素数组。

一个条件、两个合理结果,为什么平均值可能不是合理样本

用一个最小随机变量说明多解性。给定同一条件 cc,真实结果 XX 等概率取 −1-1 或 +1+1。若要求输出一个确定数 aa 并最小化平均平方误差,

E[(X−a)2∣c]=12(−1−a)2+12(1−a)2=1+a2,\mathbb E[(X-a)^2\mid c]=\tfrac12(-1-a)^2+\tfrac12(1-a)^2=1+a^2,

最优为 a=0a=0,误差 1。但真实分布从不产生 0。回归最优预测与分布中的合理样本并不是同一对象。映射到图像,两个可能的杯子位置若被逐像素平均,可能出现模糊或重影;“更小 MSE”不能独自说明采样更真实。

若模型正确地随机生成 −1-1 或 +1+1,每次样本都符合分布,但与一份独立抽到的真值逐样本比较,平均平方误差反而为 2。这不是生成模型失败,而是独立样本之间的配对误差没有衡量我们关心的分布目标。评估应分别问条件是否满足、样本是否合理、是否覆盖合理多样性,并检查是否记忆训练样本。

条件均值与合理样本是不同对象

蓝点是等概率的两种真实结果;橙点是 MSE 最优的条件均值。图中概率质量只位于 −1 和 +1,不在 0。它是精确分布构造,不是生成模型实测。

检索、回归、补全和采样各交付什么

检索从已有图库选择 xix_i;回归给条件一个确定输出;补全用已见部分约束未见部分;采样从模型条件分布 pθ(x∣c)p_\theta(x\mid c) 产生一个结果。某个系统可以组合几者,但它们的成功标准不同。CLIP 的 s(I,T)s(I,T) 是相似度函数,给有限候选排序很方便;若没有定义产生图像的变量、过程与训练,它本身就不是文生图采样器。MAE 学习遮挡重建,也不会因名称里有 autoencoder 就自动具备任意文本条件生成能力。

对自回归文本,已训练的下一词分布可以逐步采样。greedy 取每步最大概率,不利用随机性;温度采样把 logits 除以温度后重新归一化;top-k 或 top-p 还会截断候选并再次归一化。这些策略改变实际输出分布。它们不改变训练 checkpoint,却可能影响多样性、重复和错误,因此生成报告要保存采样配置,而不是只写模型名。

三种生成目标怎样组织学习反馈

GAN 用生成器把随机变量 zz 映射为样本,判别器学习区分数据与生成样本,生成器根据判别反馈更新。经典目标可写为

min⁡Gmax⁡D Ex∼pdatalog⁡D(x)+Ez∼p(z)log⁡(1−D(G(z))).\min_G\max_D\ \mathbb E_{x\sim p_{data}}\log D(x)+\mathbb E_{z\sim p(z)}\log(1-D(G(z))).

这个式子说明反馈来源是分布区分,而非为每个噪声指定唯一图片。实践还要处理训练稳定性与模式覆盖;一种看似锐利的输出集合仍可能只覆盖少数类型。GAN 原论文。

VAE 引入潜变量生成模型 pθ(x∣z)p(z)p_\theta(x\mid z)p(z),用近似后验 qϕ(z∣x)q_\phi(z\mid x) 学习。ELBO 为

Eqϕ(z∣x)[log⁡pθ(x∣z)]−KL(qϕ(z∣x)∥p(z)).\mathbb E_{q_\phi(z\mid x)}[\log p_\theta(x\mid z)]-\mathrm{KL}(q_\phi(z\mid x)\|p(z)).

第一项鼓励解释数据,第二项把编码后的分布与可采样先验联系起来。普通自编码器只把训练图映射到某些潜点,不保证从任意简单先验采样再解码得到合理图片;VAE 的概率约束针对这个缺口。Auto-Encoding Variational Bayes。

扩散先规定逐渐破坏数据的前向过程,例如 xt=αˉtx0+1−αˉtϵx_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\epsilon,其中 ϵ∼N(0,I)\epsilon\sim\mathcal N(0,I)。网络接收带噪样本和时间 tt,学习预测噪声或等价目标;生成时从随机状态开始,按定义的反向过程逐步产生样本。这里训练的 xtx_t 可以直接从 x0x_0 构造,反向采样却不是把某张已知训练图的加噪录像倒放。DDPM。

这三段给出下一讲的接口,尚不把它们排成互相淘汰的历史。数据规模、可用算力、表示与采样效率影响各自可行性;比较必须固定任务和评价。Transformer 可作为上述某些过程的预测网络,是架构选择;自回归、潜变量建模和扩散描述分布与训练/采样组织,不能把它们都叫“不同 Transformer”。

把一个研究疑问缩成真正能反驳自己的实验

以本讲已出现的疑问为例:“颜色增强能改善形状表示,又会不会破坏颜色读出?”一种可执行实验从同一组原始图像出发,先按原图划分训练/验证/测试,再训练两套相同编码器与投影头,唯一指定变化是视图生成中是否交换颜色。两边使用相同训练步数、优化器、标签预算和冻结读出;同时报告形状与颜色的保留集成绩,并保留随机初始化基线。

如果形状上升、颜色下降,支持的是这个增强与数据条件下的取舍;如果两项都下降,要检查破坏强度、优化和数据量;如果只看训练损失变小,研究问题还没有被回答。比较 hh 与 zz 可以进一步定位目标空间与读出空间,但不能事后只挑成绩更好的一层而隐去协议。这个实验不是把科研写成固定六字段表,而是让每个对照排除一个具体解释。

另一个问题是“更大输入能改善小物体边界吗?”这里至少要保留同一原始图像、相同对象尺度分组和一致评价口径。若高分辨率版本还换了更多训练样本、不同骨干和不同插值,结果不能单独归因于分辨率。可先用 LAB 11 的模型预测与真值恢复对照判断错误来自感知还是采样,再决定昂贵训练是否值得。

LAB 24 可以把自己的对象换进这条推理:先明确要排除哪一种替代解释,再选择输入、干预和输出。保存配置、代码版本、数据身份和失败样本,是让别人能重新判断证据的必要材料;它们本身不代替实验结果。一个小但闭合的系统可以给出清楚结论,一个规模很大的系统也可能因为条件混杂而无法回答原问题。

下一讲保留什么,又新增什么

本讲留下三项可以直接带走的知识:目标从数据、增强或教师怎样产生;输出从整图变成位置、像素和对象集合怎样改变损失;语言作为描述、查询和任务条件怎样进入模型。第四讲保持这些问题意识,继续研究条件分布与生成过程,并分别处理文本的离散结构、视频的时间与身份连续、3D 的几何和多视角一致性。

一张有立体感的图片不是三维表示;一组独立合理的帧也不保证视频动作连贯。输出结构再次决定约束,这与本讲“类别正确不自动给出 mask”是同一层逻辑。沿 CLS 10 的条件文本生成 走向第四讲,就能看见连续的问题变化,而无需把所有旧方法讲成通往某个单一终点的必然步骤。