跳到主要内容

标签从哪来 — 机器学习范式地图

这一章讲三件事: 用「标签从哪来」这一把尺子,把原书第 2 章那张十几格的 分类大表走一遍;拿『压缩再还原』的练习看清「没有标签时机器到底在学什么」; 最后说清强化学习在这张地图上的位置——为什么它不能被前几格吞掉。 读完你应能回答:手头这个任务,数据长什么样,该往哪一格放。

1. 这一章讲什么

原书第 2 章把机器学习的全部变体罗列了一遍——标签全有的、给一部分的、不给的、自己造题目的、混着用的、借别处本事的、标签只给一整袋的——再从统计推断和训练技巧两个角度各看一遍1它是一本目录,不是一张地图—— 每个条目一两句话,读完记不住。

我们的重排:所有变体其实只沿着一根轴滑动——标签从哪来。 把这一根轴从「全有」滑到「全没有」,整张地图就自己展开了。 这一章也回答第 01 章留下的问题:强化学习和这些格子是什么关系。

2. 顶层全景:一根轴滑出整张地图

「每个样本有没有人给它标答案?」

全有 ─────────► 少数有 ─────► 没有但能自造 ─────► 借别处的 ─────► 全没有
监督学习 半监督 自监督 迁移学习 无监督学习
(答案就是 (少量人工标+ (把数据自己拆成 (拿别的任务 (完全不给答案,
学习目标) 大量无标) 题目和答案) 训好的模型) 只找数据自己的结构)

图说:地图上从左到右只有一件事在变——人工打标签的量。 打标签越贵,格子越靠右;每往右滑一格,机器就得自己多干一件事。

这一章的主走查放在最右格(无监督),因为那一格最反直觉:没有答案,那它在学什么? 第 3 节拿『压缩再还原』的练习走一遍。

3. 核心原理

3.1 监督:答案是什么样,任务就叫什么

监督学习用带标签的历史数据学习,标签由专家标注(提前打上)好;答案是离散的叫分类 (这封邮件是不是垃圾邮件),答案是连续数值的叫回归(这栋房多少钱)2。 书里补了一句实话:这一步「通常要花很多时间和钱」——标签贵,是后面所有格子存在的理由。

监督学习的代表零件是多层感知机(MLP):输入层收原始数据,中间一层层隐藏层(介于输入与输出之间、埋头加工的层)逐层变换,输出层给最终预测3

相邻两层之间,每个连接都带一个可调的权重(这条连接该有多强,由数据学出来)。

把权重调到位的过程就是训练:用反向传播(把『预测差在哪』从输出层往回逐层推,算出每个权重该往哪调)反复修,直到预测和标签的差距最小3

(权重怎么调、误差怎么定义,第 05 章有一整节专门讲;这里只要记住:MLP 是一块能拟合「输入 → 答案」对应关系的通用电路。)

3.2 半监督:标签太贵,就只标一点点

现实里常见的情况是:人工标注(提前打好的答案)的样本很少,没标注的一大堆。半监督学习两样都用4。 它之所以行得通,靠三条假设,书里原样列出5:

假设意思
连续性靠得近的两个样本,答案大概率相同
数据天然成团,同团的样本答案大概率相同
流形数据实际住在比表面维度(描述一个样本要用几个数)低得多的「薄层」上,距离要在薄层里量

书里还指出:这种学法「更接近人类的学习方式」——小孩也不是每样东西都有人教4

3.3 自监督:没有标签,就自己出题

自监督学习从海量无标注数据里学,代表作就是大语言模型:把句子里的一个词遮住, 让模型预测被遮的词——「被遮的词」就是现成的答案,不需要任何人标注6。 学到的表示可以拿去做翻译、摘要、生成等各种下游任务。

书里给它的两步流程:先用这种自造的题目把网络初始化,再用找到的权重去解真正的任务7

3.4 迁移:学过的别浪费

迁移学习(把一个任务上学到的本事,搬去用在相关的新任务上)用一个任务上练好的模型去解新任务,只做最少的再训练——学了认轿车,认卡车就快8

标准做法两阶段:预训练(在大数据上练出通用底子)和微调(在小数据上按新任务调整)9

对本书最重要的那句:书里明确说,迁移学习「也可以用来提高强化学习智能体的采样(从攒下的经验里抽例子来学)效率」8—— 先在仿真里学会走,再搬到真机器人身上接着练,这是第 14 章机器人一节的实际做法。

3.5 无监督(主走查):自编码器到底在学什么

没有答案时,学习信号从哪来?自编码器——就是『压缩再重建』的机器——的回答:把「重建出输入」当成任务。

它的结构分两半:编码器(负责往小压的那一半)把输入压扁,压出来的结果就叫

另一半是解码器(照着码往回还原),拿码把输入复原10

拿 6 个像素(每个 0 或 1)走一遍(码上的数是为演示编的):

输入 [1, 0, 1, 1, 0, 1] 六个像素
│ 编码器:压扁(只许留 3 个数)

码 [0.9, 0.2, 0.8] 中间那层
│ 解码器:复原

重建 [0.95, 0.1, 1.0, 0.9, 0.15, 0.9]
与输入的差距:每个位置差不到 0.2,六个位置平均差约 0.1

关键在「只许留 3 个数」这个限制:要重建成功,码里必须只放这串像素里最有用的信息。 如果第 1、3、4 号像素总是同时亮,一个数就够了——编码器会把它们合并。 学到的不是任何答案,是数据自己的结构(哪些像素总绑在一起)。 这就是无监督学习的「学习信号」:重建误差。

书里两点补充:只压一层、用线性(输入乘上系数再相加、不拐弯)变换的自编码器,等价于经典的主成分分析(把数据投影到最分散方向的统计方法)11

给码加不同约束就得到变体:稀疏(码里大部分位置是零)版只留最要紧的线索;去噪版故意喂坏数据,让网络学会复原。

变分版则给码配上一套概率(每种可能各占多少机会的账本),从这套账本里就能采样出新样本12

3.6 混合与多实例:剩下的两格

书里还列了两格。生成式(能自己造新样本的那一支)里最有名的是生成对抗网络:两个网络互相博弈来造新样本——完整机制连同它与演员-评论员结构的对照表,留到第 10 章讲。

混合学习:生成式和判别式(专门学『这是不是』的判断)各有长短——生成式能吃无标注数据,判别式在有标注时更准。

混的办法是把两个叠起来用,比如自编码器打底、CNN(专吃图像的那种网络,第 07 章细讲)做分类13多实例学习:标签只给「袋」不给「袋里每个东西」——一袋 X 光片标成「有病灶」, 但没人说病灶在哪张上;只要正袋里至少有一个正样本,学习仍可进行14

3.7 两个再看的角度

统计视角:同样的监督学习,从「从例子归纳一般规则」看是归纳;从「先有规则再套新例子」 看是演绎;还有第三条——直推:干脆不求一般规则,只对眼前这批测试点给答案, 统计学家 Vapnik 的理由是「解一个特定问题,比解一般问题容易」15

技巧视角:多任务学习(几个任务一起学,共享的特征互相帮忙,适合任务多而数据少的情形)、 主动学习(模型自己挑「最值得人工标注」的样本去问「老师」)、在线学习(数据一条条来, 边来边更新)、集成学习(训一群弱模型投票,靠 bagging/boosting/stacking 三种组装方式, 书里点破它的实质:用额外的计算量,补偿单个学习器的不足)16

4. 作者的判断与证据

  • 书里给证据的: 半监督的三条假设、自编码器的变体清单、集成的三种组装方式, 都是书里明确列出的51216
  • 作者的判断: 「半监督更接近人类学习」是作者的评论,不是实验结论4
  • 书的章法判断(我们的观察): 第 2 章把同一些网络(MLP、LSTM、GAN、自编码器) 讲了两遍——第 1 章按「它是什么」,第 2 章按「它怎么学」。拆解把两遍合成一遍, 按机制各归其位(反向传播归第 05 章,LSTM 归第 10 章)。此为章内孤立判断;若它错了会错在哪,见总纲 §5 判断二的自曝。

5. 边界与局限

  • 这一章是「地图」不是「手册」。 每个范式只讲到「信号从哪来、代表作是谁」; 训练细节(损失怎么算、梯度怎么走)全部推给第 05 章。
  • 书中未讲: 卷积(拿一个小窗在图上滑动、扫出局部特征的那类操作)网络、循环网络为什么各自长成那样(第 07、10 章用到时再讲);自监督在大模型时代的主流做法(遮词预测之外的另一路)书里没展开。
  • 书里没交代的事: 强化学习在第 2 章的分类表里排在「Self-supervised」之后一行, 和其他范式并排——但严格说它不属于这条「标签多少」的轴:它的困难不是标签贵, 是标签(正确动作)原则上写不出来。这是我们对那张表的一点修正,见下一节。

6. 可带走的

  1. 一张地图一把尺:标签从哪来——全有(监督)、部分(半监督)、自造(自监督)、 借用(迁移)、全无(无监督);
  2. 标签贵是地图的原动力:标注越贵,格子越靠右,机器自己干的活越多;
  3. 监督的两个子类看答案类型:分类(离散)与回归(连续)2;
  4. 半监督靠三条假设站得住:近处同答案、成团同答案、数据住在低维薄层上;
  5. 自监督 = 自己出题自己答(遮词预测),这是大语言模型时代的主力训练方式;
  6. 迁移 = 预训练 + 微调两阶段;对 RL 的用法是「仿真练底子,真机接着调」;
  7. 无监督的学习信号是重建误差:自编码器被迫用几个数重建全部输入, 于是码里只剩下数据结构里最有用的那部分;
  8. RL 不该放进「标签多少」这条轴:它的标签(每步的正确动作)不是贵,是不存在; 它自成一格,从第 03 章起单独展开;
  9. 集成的实质是拿计算换精度——一群弱模型胜过一个孤勇者。

7. 原文地图

主题原书章原文位置
分类大表(表 2.1)2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:52(搜「Learning from Problems」) · text/06-ch02-01-2-1-learning-from-problems.txt:60(搜「Table 2.1」)
监督=标注数据、分类/回归2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:144(搜「labels are tagged」)
MLP 组件、反向传播训练2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:161(搜「Backpropagation algorithm」) · text/06-ch02-01-2-1-learning-from-problems.txt:182(搜「weight learned during the training」)
半监督、标签贵2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:265(搜「Acquisition of labeled data」)
半监督三假设2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:275(搜「Continuity」)
自监督遮词、SEER2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:526(搜「mask a word」) · text/06-ch02-01-2-1-learning-from-problems.txt:531(搜「1 billion images」)
自监督两步流程2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:541(搜「pseudo-labeled」)
迁移、车→卡车、RL 采样效率2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:599(搜「recognizing cars」)
预训练-微调两阶段2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:603(搜「pre-training and fine-tuning」)
自编码器三件套、线性版=PCA2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:417(搜「Encoder compresses」) · text/06-ch02-01-2-1-learning-from-problems.txt:431(搜「principal component analysis」)
AE 变体(SAE/DAE/VAE)2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:440(搜「sparsity penalty」) · text/06-ch02-01-2-1-learning-from-problems.txt:445(搜「denoising」) · text/06-ch02-01-2-1-learning-from-problems.txt:98(搜「Variational AE」)
混合学习三路2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:576(搜「Approach 1」)
多实例「袋」2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:637(搜「bags」)
归纳/演绎/直推2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:677(搜「Transductive learning」)
多任务/主动/在线/集成2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:691(搜「Multitask」) · text/06-ch02-01-2-1-learning-from-problems.txt:708(搜「queries a user」) · text/06-ch02-01-2-1-learning-from-problems.txt:713(搜「Online Learning」) · text/06-ch02-01-2-1-learning-from-problems.txt:762(搜「compensates for poor」)
集成三组装2.1 Learning from Problemstext/06-ch02-01-2-1-learning-from-problems.txt:744(搜「Bagging」)

Footnotes

  1. 出处:「2.1 Learning from Problems」第 16 段(text/06-ch02-01-2-1-learning-from-problems.txt:16,搜「many different approaches」)与第 56 段(text/06-ch02-01-2-1-learning-from-problems.txt:56,搜「nonexhaustive list」)。

  2. 出处:「2.1 Learning from Problems」第 144 段(text/06-ch02-01-2-1-learning-from-problems.txt:144,搜「classification」)。原文:离散标签的学习叫分类,连续标签的叫回归;这一步通常耗时耗钱。 2

  3. 出处:「2.1 Learning from Problems」第 161–200 段(text/06-ch02-01-2-1-learning-from-problems.txt:161,搜「Backpropagation algorithm」)。权重定义见第 182 段;隐藏层与超参数见第 172 段。反向传播的完整机制,是补充(不在书里,依据我们的 ai-book-reference 书架)。依据: shelf=ai-book-reference/nndl-2e#11-backprop-and-autodiff.md @未提交(工作区) 事实=一次前向、一次反向即可拿到全部参数的梯度,代价约是一次前向的常数倍。 2

  4. 出处:「2.1 Learning from Problems」第 265 段(text/06-ch02-01-2-1-learning-from-problems.txt:265,搜「mimics the way humans learn」)。 2 3

  5. 出处:「2.1 Learning from Problems」第 275–285 段(text/06-ch02-01-2-1-learning-from-problems.txt:275,搜「Continuity」)。连续性、簇、流形三条假设。 2

  6. 出处:「2.1 Learning from Problems」第 526 段(text/06-ch02-01-2-1-learning-from-problems.txt:526,搜「mask a word」)。原文:遮住一个词、预测周围的词,模型不需要任何标签就能捕捉词与词的关系。

  7. 出处:「2.1 Learning from Problems」第 541 段(text/06-ch02-01-2-1-learning-from-problems.txt:541,搜「pseudo-labeled」)。

  8. 出处:「2.1 Learning from Problems」第 599 段(text/06-ch02-01-2-1-learning-from-problems.txt:599,搜「recognizing cars」)。原文:认轿车学到的知识可以部分用于认卡车;也可用于提高强化学习智能体的采样效率。 2

  9. 出处:「2.1 Learning from Problems」第 603 段(text/06-ch02-01-2-1-learning-from-problems.txt:603,搜「pre-training and fine-tuning」)。

  10. 出处:「2.1 Learning from Problems」第 417 段(text/06-ch02-01-2-1-learning-from-problems.txt:417,搜「Encoder compresses」)。编码器压缩输入、生成码,解码器用码重建输入。

  11. 出处:「2.1 Learning from Problems」第 431 段(text/06-ch02-01-2-1-learning-from-problems.txt:431,搜「principal component analysis」)。线性激活的单层自编码器与主成分分析相似。

  12. 出处:「2.1 Learning from Problems」第 437–479 段(text/06-ch02-01-2-1-learning-from-problems.txt:440,搜「sparsity penalty」;:445 搜「denoising」;:464 搜「Variational AE」)。稀疏版的罚项、去噪版的坏输入、变分版的分布参数与采样。 2

  13. 出处:「2.1 Learning from Problems」第 560–590 段(text/06-ch02-01-2-1-learning-from-problems.txt:65,搜「Discriminative」)。生成式能学无标注数据、判别式在标注数据上更强;混合方式三路见第 576 段。

  14. 出处:「2.1 Learning from Problems」第 637 段(text/06-ch02-01-2-1-learning-from-problems.txt:637,搜「bags」)。负袋全为负,正袋至少含一个正样本;X 光片之例是我们为演示补的场景,书里只讲袋的结构。

  15. 出处:「2.1 Learning from Problems」第 677 段(text/06-ch02-01-2-1-learning-from-problems.txt:677,搜「Transductive learning」)。Vapnik 的动机:解特定问题比解一般问题容易;直推支持向量机是其例。

  16. 出处:「2.1 Learning from Problems」第 726–762 段(text/06-ch02-01-2-1-learning-from-problems.txt:722,搜「Ensemble Learning」)。bagging/boosting/stacking 三种组装见第 744–754 段;「用额外计算补偿弱的算法」见第 762 段(搜「compensates for poor」)。 2