跳到主要内容

没人标过的一万张照片 — 压缩、分堆、降维(把上万维压成几维)、遮住再补

这一章讲三件事: 为什么「有人给答案」这条路有天花板; 没有答案时,机器能从数据里学到什么(老一派的三样手艺); 以及新一派怎么让数据自己出题——这是第 15 章那个大故事的燃料。

它在全书链条里的位置: 第 04 章立了「反馈信号从哪来」的分野, 这一章把「没有答案」这一类讲完。第 15 章讲的预训练, 就是这一章最后一节的工业化。

1. 标注一张 CT,要多少钱

先感受「有人给答案」的真实价格。书里给了一组数1:

标什么代价
一张医学 CT放射科医生看几分钟到十几分钟,一张的成本可能上百元
一份法律合同的条款分类律师约一小时,成本以千计
一小时语音转文字(语音识别的日常形态)两到三小时人工
ImageNet(1400 多万张图)大量众包标注员长期劳动,总成本数百万美元量级

这张表看的是监督学习的天花板:不是算法,是人的时间。

ImageNet 的故事值得停一秒。2007 年李飞飞启动这个项目时, 很多同行认为标这么多图是「疯狂的」投入;回头看, 它成了 2012 年那场突破的关键燃料之一2但这种规模的标注极难复制——每换一个新领域就得从头标一次。 要做一个什么领域都懂的系统,靠人标,标到天荒地老也标不完。

而另一边,没标过的数据多到荒谬:仅一个定期抓取网页的公益项目, 就有上百 TB 的文本3一边是答案贵得离谱,一边是材料多到免费。 这一章全部的手艺,都在回答同一个问题:没答案的材料,怎么用?

2. 数据自带监督信号

答案藏在一句朴素得像个玩笑的话里:数据本身就蕴含监督信号4

一张猫的照片,可以遮住一块让模型补;一段文字,可以挖掉一个词让模型猜。 这些「游戏」的答案就藏在数据里——不需要任何人写答案, 因为原图、原文本身就是答案。

书里引了一个著名实验:2012 年,Google 的研究者把一个大网络 放到视频网站上看了约 1000 万张没标过的截帧, 没告诉它「猫」这个词。结果网络内部自己出现了对猫脸敏感的单元5。 这个实验的重点不是「机器懂了猫」,而是一个朴素事实: 如果某种结构在数据里反复出现,模型就有机会自己把它抠出来。

这一章的手艺分两代。老一派(第 3–9 节)不问「猜什么」, 只问「数据长什么样」;新一派(第 10–13 节)让数据自己出题、自己对答案。 主走查马上开始,同一批数据走到底。

3. 走查:一万张没人标过的猫狗照片

这一章的主走查:你手上有一万张宠物照片,猫狗都有,但没有任何标注。 没人告诉过你哪张是猫、哪张是狗。能拿它们干什么?能干的比你想的多。

第一件:把它们压小。 每张照片是几十万个像素,但「是猫是狗」 这件事根本用不上几十万个数。第一门手艺就是找到一种压法, 让每张照片变成很短的一串数,还尽量保得住「猫狗有别」(第 5、7 节)。

第二件:把它们分堆。 压小之后,让机器自己把相似的照片归成一堆—— 如果运气好,一万张会大致分成两堆,一堆基本是猫,一堆基本是狗。 注意:机器不知道「猫」这个词,它只知道「这一堆里的照片彼此长得像」(第 3、4 节)。

第三件:把它们画出来。 把每张照片压到只剩两个数, 一万个点画在一张图上,用眼直接看结构(第 6 节)。

第四件:让它们自己出题。 遮住每张照片的一部分,让模型补回来—— 为了补得回来,模型必须学会「猫有胡须、耳朵是尖的」这类结构。 补着补着,它就把猫狗学明白了,而你一个标注都没写过(第 10、11 节)。

四件事,对应四组手艺。下面挨个讲。

4. 不出题也能学:把相似的归成一堆

第一组手艺叫聚类:不猜任何答案,只按「谁和谁像」把数据分成几堆。

最著名的一个算法叫 K 均值,流程简单得像分蛋糕6:

① 随机挑 K 个点当「中心」
② 把每张照片划给离它最近的中心
③ 把每个中心挪到它那堆的平均位置
④ 重复 ②③,直到中心不再动

这张图看的是 K 均值的全部:就这四步循环。

拿主走查那一万张照片走一遍(先按第 5 节的办法压小)。 K 取 2:起初两个中心是随机的,分堆自然乱七八糟; 但每一轮,「猫样」的照片会越来越聚向一边,「狗样」的聚向另一边。 十几轮之后,两堆基本分开。全程没有一个标注, 唯一的输入是「谁和谁像」和那个 K。

它的毛病也要知道:K 得事先拍脑袋;只能分出「圆形」的堆; 而且聚类结果不等于客观真相——书里说得一针见血, 这像给衣柜自动分类:按颜色分、按季节分、按价格分, 每种分法看起来都有道理,但它们回答的是不同问题7

还有两个变种各补一个短板:层次聚类不预设堆数, 它把最相似的两堆一路合并、长成一棵树,你想要几堆就在哪一层剪断; 密度聚类按「哪里挤」来分,挤的地方成堆, 落在稀疏处的点直接标成「噪声」——欺诈检测里, 那些「谁都不像」的点往往正是你要找的8

5. 主成分分析:找到变化最大的那几个方向

第 3 节说「先压小」,怎么压?最经典的压法叫主成分分析(PCA)。

想法直观:一群人的身高和体重是高度相关的—— 虽然每个人有两个数,但主要差异其实沿着一条斜线分布。 那条斜线的方向,就是第一个主成分:沿着它看,样本的差异最大9。 PCA 就是找出这样几个「变化最大」的方向, 把数据投影上去,用更少的数表示同一批数据。

它最出名的一次应用是特征脸:研究者把几千张 100×100 的人脸 (每张一万个数)做 PCA,发现只需几十个主成分, 就能重构出每张脸的主要特征10。 于是比对两张脸,不用比一万个像素,只比几十个系数。

PCA 简单、可解释、一步算到底。它的天花板是:只会找直线方向。 照片里「是猫是狗」这种弯弯绕的结构,直线的方向抓不住—— 那是第 7 节的事。

6. t-SNE 与 UMAP:给高维(特征维数成千上万)数据画张地图

PCA 压到几十个数好用,压到两个数就不太行了。 而人眼恰恰只能看两维的图。于是有了一类专门「为了画出来看」的降维: t-SNE 和它的后继 UMAP。

它们的原则和 PCA 不同:不保全局的大方向,专保局部的邻居关系—— 原来是邻居的点,画出来还是邻居。把一万张照片的表示压成一万个二维点, 你会直接看到两大团,中间零星散着一些四不像11

用这类图有一条铁律:能看邻居,不能读距离。 书里的比方是地图投影:能帮你看清街区,但会扭曲面积和距离—— 图上两个团离得远,不代表它们真的差得多; 某个团滚圆漂亮,不代表它真是一个类别。 把它们当显微镜可以,当法官就危险了12

7. 自编码器:压下去,再还原

要抓住「弯弯绕」的结构,得请回神经网络。 自编码器的做法:用两个网络,一个把照片成很短的一串数, 另一个从这一串数还原回照片;训练目标是让还原出来的尽量像原图13

照片(几十万个数) → 编码器 → 瓶颈(比如 32 个数) → 解码器 → 还原的照片

整个训练就是为了逼这 32 个数
装下「重构这张照片所需的一切」

这张图看的是自编码器的机关:中间那个瓶颈。

机关就在瓶颈上:它既要装下还原所需的信息,又只有 32 个数, 自然被迫只留最重要的特征——「猫耳是尖的、狗鼻是凸的」这种, 而「第三行第五列的像素是什么灰度」这种,第一批被扔掉。 瓶颈里那 32 个数,就是这张照片被学会之后的「表示」。 第 3 节分堆、第 6 节画图,用的都是它。

PCA 其实就是它的一个特例:当压缩和还原都不带任何拐弯(纯线性)时, 自编码器学到的和 PCA 等价14

8. 降噪自编码器:故意弄坏,再修好

自编码器有一个反直觉的升级版:训练时故意把输入弄坏。

随机把一些像素置零、或者撒上一层噪点, 然后要求模型从这张破图里还原出干净的原图15

妙处在于:任务变难了,学到的反而更好。 要从残缺中还原,模型不能靠背像素,必须学到数据的深层结构—— 「这里虽然缺了一块,但猫的轮廓应该这么走」。

这个「先弄坏再修好」的思想是全书的一条暗线: 第 21 章的扩散模型,整章就是把它推到极限—— 把一张图彻底毁成雪花屏,再学着一步步修回来。 这条路线第 21 章会全部展开,这里先记住它的源头。

9. 变分自编码器:让隐空间可以被采样

普通自编码器会压缩,但不会生成。 你问它「能不能凭空画一张新猫」,它就尴尬了: 瓶颈那 32 个数该填什么?随便填一串,解码出来多半是一团糊—— 因为你不知道「像正常照片」的 32 个数长什么样16

变分自编码器(VAE)的改动:训练时就强制瓶颈里的数 服从一个人为规定的简单形状(标准的高斯分布——一口以零为中心的钟形)。 于是训练完之后,从这个已知的形状里随机抓一串数, 解码出来的就是一张说得过去的新图17

代价:它生成的图通常偏糊。但回报独一份: 那个隐空间变得规整、连续——在空间里平滑地挪一步, 图就从「猫」渐变到「狗」;沿着某个方向挪,猫就「加上了微笑」。 会压缩不等于会生成,生成的门票是「知道该从哪儿采」18

10. 下一词元预测:一个空逼出全部本事

从这一节起进入新一派:让数据自己出题。 第一道题,你已经见过它无数次:猜下一个词

给模型一句话的前半截,让它猜下一个词元。 这道题简单到可笑,但书里点破了它的厉害之处: 许多下一个词,只靠语法是猜不出来的,得知道句子背后的世界19:

  • 「鸡蛋通常是___的」——要接「椭圆」,得知道形状;
  • 「我们把香蕉递给猴子,因为它们___」——接「饿了」还是说香蕉「熟透了」, 得先弄清「它们」指谁;
  • 「12 × 3 + 9 = 」——得会算术。

模型在海量文本上反复接受这种小测验,该接「椭圆」时接了「方」, 损失就上升。为了少犯错,它只能把语法、常识、指代、算术的规律 全压进参数里。表面上学的是文字的分布,深层上学的是 「什么样的世界更可能生成这样的文字」20

这道题的工业化,就是第 15 章。这里只记住:它不是小把戏, 是一道把全部本事都逼出来的题。

11. 掩码建模:遮住 75%,也能补回来

第二道题是「遮住再补」,文字图像都能出。

文字上: 随机遮住句子里 15% 的词,让模型猜。 和猜下一个词的区别在于方向——猜词只能看前文, 而遮住的词前后文都能看,所以它更适合「理解」类任务21

图像上: 把照片切成 14 × 14 = 196 块, 随机遮住 75%,只留 49 块,让模型重建整张图22

75% 这个数字让很多人意外:遮掉四分之三,剩下的信息够吗? 实验表明够,而且效果很好。原因:图像冗余得惊人—— 相邻像素本来就很像,剩下 25% 加上「自然图像长什么样」的常识, 已经足够推断大部分内容23而正因为遮得多,靠邻近像素糊弄是不够的,模型必须学到 「猫的整张脸该长什么样」这种整体结构。

拿主走查的照片走一遍:遮住一万张照片各 75%,模型学着补。 补到后来,它内部对「猫」和「狗」的区分已经相当清楚—— 此时把第 3 节的分堆再做一遍,两堆会分得更干净。 没写一个标注,结构自己长了出来。

12. 对比学习:不猜内容,只判断谁和谁像

第三道题最特别:不预测任何内容,只学习「谁和谁像」。

SimCLR 的做法:拿同一张照片做两次不同的随机变换 (裁一块、调个色),得到两个「变体」。 模型要学的是:同一张照片的两个变体,在表示空间里必须靠得近; 不同照片,离得远24

猫A-变体1 ● ● 猫A-变体2 ← 拉近(同一张图)
╲ ╱
╲ ╱
狗B-变体1 ● ← 推远(不同的图)

这张图看的是对比学习的全部目标:拉近自己人,推远别人。

直觉一句话:如果模型真的理解了照片的内容, 那么同一张照片的任何变体,都应该被看成同一个东西。 这个判断不需要任何标注——「来自同一张原图」就是免费的答案25

13. CLIP:把文字和图像放进同一个空间

对比学习最有影响力的应用,把第二样东西拉了进来:文字

CLIP 用 4 亿对「图片 + 它的文字描述」训练: 配对的图文,在表示空间里拉近;不配对的,推远26

训完之后,文字和图像住进了同一个空间—— 「一只戴着眼镜的柴犬」这句话的表示, 和一张柴犬照片的表示,在空间里是邻居。 于是你可以用文字去检索图片,用图片去检索文字27

这件事是第 21、22 两章的地基:正因为文字和图像在同一张地图上, 「照着一句话画一张图」才第一次变得可控。

诚实地说一句:这 4 亿个图文配对不算完全「没答案」—— 图片旁边的文字本身就是一种天然的弱标签。 自监督、弱监督和多模态在这里交织,书里的评语很传神: 方法分类很清楚,工程现场很热闹28

14. 自监督为什么等到 2018 年才爆发

最后回答一个历史问题。这些想法其实都不新—— 自编码器是 1980 年代的,2013 年的词向量已经证明过「数据自己出题」的威力。 为什么爆发要等到 2018 年前后?

书里的答案:四个条件在那几年同时到位29:

条件到位的是什么
算力显卡集群第一次撑得起把几百亿词元完整喂给模型
数据网页、维基、代码仓库堆出了前所未有的规模
架构第 09、10 章那块积木解决了并行和长距离
任务设计猜词、填空、文图对比,一个接一个被证明有效

这张表是第 08 章那条主线在「学习范式」上的重演: 想法早就在,等的是配套件配齐。

2018 年之后的故事你已经知道了:猜下一个词的那一支长成了 GPT, 填空的那一支长成了 BERT,文图对比的那一支长成了 CLIP。 它们共同的起点,就是这一章那句朴素的话:数据自带监督信号。

15. 作者的判断与证据

有证据的部分。 标注成本、ImageNet 的规模与成本、 75% 遮蔽有效、CLIP 的 4 亿对,都是公开记录; 各算法的流程是教科书标准内容。

要分开看的三处:

  1. 「机器先在网上学会了看猫」。 那个实验是真的, 但书里自己提醒:它说明的不是「机器懂了猫」, 而是「反复出现的结构会被抠出来」。别讲成拟人故事。
  2. 「75% 够补」。 这是图像上的实验结论,依赖图像的高冗余。 同样的比例搬到文字上完全不成立——文字 15% 就已经很难。
  3. 「自监督比监督更具扩展性」。 这是这一时代的强共识, 但书里同时提醒:数据不是越多越好, 干净、合法、多样、不过度重复的才真正有价值30

判断(我们的,不是书里的):这一章最反直觉的一课是第 8、11 两节共享的那个原则—— 把任务故意变难,学到的反而更好。 加噪比干净学得好,遮 75% 比遮 15% 学得好。 因为它堵死了「靠背答案过关」这条捷径,只剩下「学懂结构」一条路。 如果错,会错在: 这个原则有边界——难到某个程度,模型不是学得更好, 是直接学不动。书里给的原则是「适度难」:难到必须综合多种特征, 但又仍在可学区间31。75% 恰好落在区间里,不是「越难越好」的证据。

16. 边界与局限

  • 每个算法都只讲了思想。 K 均值怎么初始化更稳、PCA 的数学、 VAE 的训练目标,这一版一律不展开——第 15 章也不需要它们。
  • 分堆的「干净程度」没有量化指标。 主走查说「两堆基本分开」, 真实数据上堆与堆常常交叠,书里没给评估办法。
  • 词向量(2013)只出现在历史线里。 它的两种训练方式, 第 02 章已经借「平行四边形」讲过结果,过程这一版不重复。
  • 语音上的自监督只给了名字。 遮住音频片段学语音表示, 书里有清单没展开32
  • 「自监督」和「无监督」的边界,学术界本身有争议。 书里给了一个有共识的区分: 不构造预测任务的(分堆、降维)叫无监督;刻意构造预测任务的叫自监督33

17. 可带走的

  1. 监督学习的天花板是人的时间:一张 CT 几分钟、上百元。 而没标过的数据多到免费。
  2. 数据自带监督信号:遮住再补、打乱再排、判断谁和谁像,答案都在数据里。
  3. K 均值只要一个 K 和四步循环。 但聚类结果不等于客观真相——分法回答的是不同问题。
  4. PCA 找「变化最大」的方向:一万维的脸,几十个系数就重构得出来。
  5. t-SNE 的图能看邻居、不能读距离。 当显微镜可以,当法官危险。
  6. 自编码器的产物是瓶颈:被迫只留最重要特征的那几个数。
  7. 把任务故意变难,学到的反而更好——因为它堵死了「背答案」的捷径。这是扩散模型的思想源头。
  8. 会压缩不等于会生成。 VAE 的门票是「隐空间必须能被采样」。
  9. 猜下一个词逼出全部本事:语法、常识、指代、算术,全藏在「下一个词是哪个」里。
  10. 图像冗余得惊人:遮 75% 也补得回来,而正因为它难,模型才学到整体结构。
  11. 对比学习的免费答案:「来自同一张原图」。 CLIP 用它把文字和图像放进同一空间——文生图的地基。
  12. 爆发等到 2018 年,是算力、数据、架构、任务设计四件事同时到位。 想法早就在,等的是配套件。

18. 原文地图

主题原书章原文位置
标注成本第6章 无师自通:从数据中自学text/07-ch06.txt:20(搜「放射科医生」)
ImageNet 与李飞飞第6章 无师自通:从数据中自学text/07-ch06.txt:24(搜「1400 多万张」) · :26(搜「疯狂的」)
无标签数据的海量第6章 无师自通:从数据中自学text/07-ch06.txt:38(搜「上百 TB」)
数据自带监督信号第6章 无师自通:从数据中自学text/07-ch06.txt:49(搜「数据本身就蕴含了监督信号」)
看视频学猫实验第6章 无师自通:从数据中自学text/07-ch06.txt:59(搜「1000 万张无标签图像」)
K 均值第6章 无师自通:从数据中自学text/07-ch06.txt:296(搜「分蛋糕」) · :305(搜「衣柜自动分类」)
层次聚类与密度聚类第6章 无师自通:从数据中自学text/07-ch06.txt:309(搜「层次聚类」) · :316(搜「DBSCAN」)
PCA 与特征脸第6章 无师自通:从数据中自学text/07-ch06.txt:117(搜「第一个主成分」) · :128(搜「特征脸」)
t-SNE 与 UMAP第6章 无师自通:从数据中自学text/07-ch06.txt:321(搜「UMAP」) · :328(搜「地图投影」)
自编码器第6章 无师自通:从数据中自学text/07-ch06.txt:161(搜「编码器和解码器」) · :177(搜「瓶颈」)
降噪自编码器第6章 无师自通:从数据中自学text/07-ch06.txt:182(搜「降噪自编码器」)
变分自编码器第6章 无师自通:从数据中自学text/07-ch06.txt:201(搜「变分自编码器」)
下一词元预测第6章 无师自通:从数据中自学text/07-ch06.txt:368(搜「下一词元预测」) · :372(搜「语法、常识、事实」)
掩码建模 15% 与 75%第6章 无师自通:从数据中自学text/07-ch06.txt:391(搜「15%」) · :395(搜「75%」) · :397(搜「空间冗余」)
对比学习与 SimCLR第6章 无师自通:从数据中自学text/07-ch06.txt:421(搜「SimCLR」) · :427(搜「任何变体」)
CLIP第6章 无师自通:从数据中自学text/07-ch06.txt:431(搜「对比学习最具影响力的应用之一」)
2018 爆发四条件第6章 无师自通:从数据中自学text/07-ch06.txt:282(搜「同时成熟」)
数据不是越多越好第6章 无师自通:从数据中自学text/07-ch06.txt:533(搜「干净、合法、多样」)
适度难第6章 无师自通:从数据中自学text/07-ch06.txt:563(搜「适度难」)

Footnotes

  1. 出处:「第6章 无师自通:从数据中自学」第 20 段(text/07-ch06.txt:20,搜「放射科医生」) 与第 24 段(text/07-ch06.txt:24,搜「1400 多万张」)。

  2. 出处:「第6章 无师自通:从数据中自学」第 26 段(text/07-ch06.txt:26,搜「疯狂的」)。 原文:「普林斯顿大学的李飞飞教授在 2007 年启动这个项目时, 很多同行认为这是一个『疯狂的』投入……这个项目成了 2012 年深度学习起飞的关键燃料之一」。

  3. 出处:「第6章 无师自通:从数据中自学」第 38 段(text/07-ch06.txt:38,搜「上百 TB」)。 这个项目叫 Common Crawl。

  4. 出处:「第6章 无师自通:从数据中自学」第 49 段(text/07-ch06.txt:49,搜「数据本身就蕴含了监督信号」)。

  5. 出处:「第6章 无师自通:从数据中自学」第 59 段(text/07-ch06.txt:59,搜「1000 万张无标签图像」)。

  6. 出处:「第6章 无师自通:从数据中自学」第 296 段(text/07-ch06.txt:296,搜「分蛋糕」)。 四步流程照原文;走查里「一万张猫狗照片」是我们编的演示输入,书里没有一个字面上的这个例子。

  7. 出处:「第6章 无师自通:从数据中自学」第 305 段(text/07-ch06.txt:305,搜「衣柜自动分类」)。

  8. 出处:「第6章 无师自通:从数据中自学」第 309 段(text/07-ch06.txt:309,搜「层次聚类」) 与第 316 段(text/07-ch06.txt:316,搜「DBSCAN」)。

  9. 出处:「第6章 无师自通:从数据中自学」第 117 段(text/07-ch06.txt:117,搜「第一个主成分」)。

  10. 出处:「第6章 无师自通:从数据中自学」第 128 段(text/07-ch06.txt:128,搜「特征脸」)。

  11. 出处:「第6章 无师自通:从数据中自学」第 321 段(text/07-ch06.txt:321,搜「UMAP」)。 t-SNE 2008 年提出,UMAP 2018 年,速度快几十倍且全局结构保持更好,见第 324 段。

  12. 出处:「第6章 无师自通:从数据中自学」第 328 段(text/07-ch06.txt:328,搜「地图投影」)。 原文:「把它们当显微镜可以,当法官就危险了」。

  13. 出处:「第6章 无师自通:从数据中自学」第 161 段(text/07-ch06.txt:161,搜「编码器和解码器」)。

  14. 出处:「第6章 无师自通:从数据中自学」第 180 段(text/07-ch06.txt:180,搜「线性特例」)。

  15. 出处:「第6章 无师自通:从数据中自学」第 182 段(text/07-ch06.txt:182,搜「降噪自编码器」)。 原文:「给模型加了更难的任务,它反而学得更好」。

  16. 出处:「第6章 无师自通:从数据中自学」第 196 段(text/07-ch06.txt:196,搜「凭空画一张新图」)。

  17. 出处:「第6章 无师自通:从数据中自学」第 201 段(text/07-ch06.txt:201,搜「变分自编码器」)。

  18. 出处:「第6章 无师自通:从数据中自学」第 214 段(text/07-ch06.txt:214,搜「偏糊」) 与第 215 段(text/07-ch06.txt:215,搜「平滑插值」)。

  19. 出处:「第6章 无师自通:从数据中自学」第 374 段(text/07-ch06.txt:374,搜「神奇之处」)。

  20. 出处:「第6章 无师自通:从数据中自学」第 378 段(text/07-ch06.txt:378,搜「隐含地卷进」)。 原文:「要准确预测下一个词,模型必须顺带掌握语法、事实、推理,乃至上下文歧义消解」。

  21. 出处:「第6章 无师自通:从数据中自学」第 391 段(text/07-ch06.txt:391,搜「15%」)。

  22. 出处:「第6章 无师自通:从数据中自学」第 395 段(text/07-ch06.txt:395,搜「75%」)。 这个工作是 MAE,2021 年。

  23. 出处:「第6章 无师自通:从数据中自学」第 397 段(text/07-ch06.txt:397,搜「空间冗余」)。

  24. 出处:「第6章 无师自通:从数据中自学」第 421 段(text/07-ch06.txt:421,搜「SimCLR」)。

  25. 出处:「第6章 无师自通:从数据中自学」第 427 段(text/07-ch06.txt:427,搜「任何变体」)。

  26. 出处:「第6章 无师自通:从数据中自学」第 431 段(text/07-ch06.txt:431,搜「对比学习最具影响力的应用之一」)。

  27. 出处:「第6章 无师自通:从数据中自学」第 434 段(text/07-ch06.txt:434,搜「同一个空间」)。

  28. 出处:「第6章 无师自通:从数据中自学」第 440 段(text/07-ch06.txt:440,搜「弱标签」) 与第 442 段(text/07-ch06.txt:442,搜「工程现场很热闹」)。

  29. 出处:「第6章 无师自通:从数据中自学」第 282 段(text/07-ch06.txt:282,搜「同时成熟」)。

  30. 出处:「第6章 无师自通:从数据中自学」第 533 段(text/07-ch06.txt:533,搜「干净、合法、多样」)。

  31. 出处:「第6章 无师自通:从数据中自学」第 563 段(text/07-ch06.txt:563,搜「适度难」)。

  32. 出处:「第6章 无师自通:从数据中自学」第 352 段(text/07-ch06.txt:352,搜「wav2vec」)。

  33. 出处:「第6章 无师自通:从数据中自学」第 269 段(text/07-ch06.txt:269,搜「没有严格界线」)。