想象你是一家餐厅的主厨。同一批番茄,有人喜欢凉拌、有人喜欢炖汤、有人喜欢烤制——每种做法都让食材焕发出不同的风味。数据增强就是给 AI 模型“换着花样做菜”:把一张猫的图片翻转、旋转、提亮,每一道“花式做法”都构成一个新的训练样本,模型见多识广,自然学得更扎实。但难题在于:该选哪些手艺?力度多大?频率多高?传统做法是老师傅(工程师)凭经验反复试菜,费时费力。AutoAugment 的答案是:训练一位 AI 副厨师长,让它像学徒一样不断尝试新的操作组合,以“菜品受欢迎程度”(模型验证准确率)作为打分,自动摸索出一套最佳“菜谱”(增强策略)。从 AutoAugment 到轻量化的 RandAugment、TrivialAugment,这场“自动做菜”的革命,正在让数据增强彻底告别手工作坊。

岗位关联

掌握自动化增强技术,你就能把调参时间从数周压缩到几小时,用最优数据策略稳定提升图像模型精度——这正是“数据为中心 AI”时代工程师的核心竞争力。

目录
  1. 可视化演示
  2. 增强策略概览
  3. 搜索空间设计
  4. 强化学习搜索
  5. 策略评估优化
  6. RandAugment轻量化
  7. TrivialAugment简化
  8. 权衡与实战
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示AutoAugment通过强化学习搜索最佳数据增强策略的过程,含搜索空间、策略评估与轻量化改进方案对比。

本节配有交互动效(进入视口后自动加载,约 3KB)。

强化学习策略搜索 RL控制器生成增强策略组合 子模型评估策略效果反馈奖励 Policy = RL(Controller, Reward) AutoAugment用RL搜索最优数据增强策略

增强策略概览

想象你是一家餐厅主厨,同一批番茄,有人喜欢凉拌、有人喜欢炖汤、有人喜欢烤制——数据增强就是给模型“换着花样做菜”:把一张猫的图片水平翻转、旋转 15 度、提亮 20%,每一道“花式做法”都构成一个新的训练样本。模型见多识广,自然学得更稳、更鲁棒,这就是数据增强的魔力。

传统做法是老师傅凭经验试菜——工程师手工挑几个操作、设好幅度和概率,训练一轮看效果,不行再调。小数据集上还能应付,一旦遇到 ImageNet 这样上百万张图的规模,人工调参就像没有菜谱地给满汉全席定口味,费时费力还顾此失彼。数据增强的“免费午餐”逐渐变成了“昂贵的人工”。

AutoAugment 的核心思想,是把“选哪些操作、多大力道、多大概率”变成可搜索的配方,让算法自己找。2018 年 Google Brain 团队提出该方法,在 CIFAR-10 上将错误率从约 3.9% 压到 2.9%,在 ImageNet 上也刷新了当时的记录。每个增强操作都可以统一写成如下形式:

所以 AutoAugment 并不是把厨房交给机器,而是让机器先当“试菜学徒”——把增强从老师傅的直觉,变成可以自动寻优的配方工程。

x~=T(x;m,p)\displaystyle \tilde{x} = \mathcal{T}(x; m, p)
这个公式是说:一张原始图片 $x$,经过增强操作 $\mathcal{T}$ 的加工,变成新图片 $\tilde{x}$;其中 $m$ 控制力度(幅度),$p$ 控制被应用的概率。
  1. 输入原图 $x$一张未经加工的原始训练图片,相当于还没下锅的食材。
    xx
  2. 增强操作 $\mathcal{T}$来自搜索空间的一种变换——翻转、旋转、色彩调整等,像一种烹饪手法。
    T\mathcal{T}
  3. 幅度参数 $m$操作强度的量化档位(0~9),像火候的强弱。
    m∈{0,1,2,…,9}m \in \{0, 1, 2, \dots, 9\}
  4. 概率参数 $p$操作被实际应用的可能性(0~1),像这道菜被端上桌的频率。
    p∈(0,1]p \in (0, 1]
  5. 增强结果 $\tilde{x}$变换后产生的新样本,带着“新做法”进入训练。
    x~\tilde{x}

搜索空间设计

厨师光有手艺还不够,还得有一本招式库:切丝、切片、焯水、爆炒、蒸煮……每个招式对应一类食材处理方式。AutoAugment 的“招式库”就叫搜索空间,它决定了 AI 副手能尝试的所有做法上限。

AutoAugment 的搜索空间包含 16 种增强操作:翻转、旋转、平移、裁剪、颜色调整(亮度、对比度、饱和度、色相)、锐化、模糊、噪声、反色、错切、缩放、失真、擦除等。每个操作还带两个“旋钮”:幅度(0~9 共 10 档)和概率(0.0~1.0 每 0.1 一档,共 11 档),就像每道菜既可调火候、也可调上桌频率。

一份完整的“菜谱”(增强策略)由 5 个子策略组成,每个子策略依次做 2 个操作。整个搜索空间的大小可以这样估算:

招式库越大,能做的菜越丰富,但试菜成本也越高。搜索空间的设计本质是在“创新能力”和“搜索效率”之间找平衡——这正是后续轻量化方案做文章的起点。

∣S∣=(∣O∣×M×P)k×n\displaystyle |\mathcal{S}| = (|O| \times M \times P)^{k \times n}
把每个操作的选择项(种类数 × 幅度档 × 概率档)相乘,再按“子策略数 × 每子策略操作数”做幂运算,就得到策略总数——高达约 $10^{32}$ 种,手工穷举完全不现实。
  1. 操作种类数 $|O|$搜索空间共有 16 种增强操作,像厨师掌握的 16 种基础招式。
    ∣O∣=16|O| = 16
  2. 幅度档 $M$ 与概率档 $P$幅度取 0~9 共 10 档,概率按 0.1 步长取 0.0~1.0 共 11 档,两个旋钮分别刻画“多大力”与“多频繁”。
    M=10,P=11M = 10, \quad P = 11
  3. 子策略数 $k$ 与操作数 $n$一个策略由 5 个子策略构成,每个子策略依次做 2 个操作,像一桌菜有 5 道、每道两步工序。
    k=5,n=2k = 5, \quad n = 2
  4. 总空间规模把所有选择组合起来并做幂运算,得到 $10^{32}$ 量级的天文数字,只能靠算法自动搜索。
    ∣S∣=(16×10×11)10≈1032|\mathcal{S}| = (16 \times 10 \times 11)^{10} \approx 10^{32}

强化学习搜索

有了招式库,谁来试菜?AutoAugment 训练一位“AI 副厨师长”——RNN 控制器。它像学徒一样凭感觉开出一张菜单(增强策略),交给厨房执行,等菜品上桌后根据顾客评分(验证准确率)调整自己的出菜习惯。

控制器输出的是一串 token 序列:每个子策略依次生成“操作名、幅度、概率”,连起来就是完整策略。这个策略会被拿去训练一个小模型,用小模型在验证集上的准确率作为奖励。奖励高,说明这张菜单成功;奖励低,就少开这种菜单。

但“评分”是个黑盒,无法直接求导,奖励怎么传回控制器?AutoAugment 采用强化学习中的 REINFORCE 策略梯度算法,用大量采样来近似期望梯度:

换句话说,AI 副厨师长不是靠背菜谱进步,而是靠“尝过的每一道菜”修正自己的口味偏好。试得越多、评分越准,出菜越稳定——这就是强化学习在增强策略搜索中的角色。

∇θJ(θ)=Ea∼πθ(a)[R(a) ∇θlog⁡πθ(a)]\displaystyle \nabla_\theta J(\theta) = \mathbb{E}_{a \sim \pi_\theta(a)} \left[ R(a) \, \nabla_\theta \log \pi_\theta(a) \right]
直觉上,这条公式在说:反复试菜,把“表现好”的菜单对应概率调大、把“表现差”的菜单概率调小,把所有方向平均起来,就是控制器参数的更新方向。
  1. 控制器参数 $\theta$RNN 内部的连接权重,决定它开出不同类型菜单的倾向。
    θ\theta
  2. 策略采样 $a \sim \pi_\theta(a)$控制器按当前概率分布生成一个完整增强策略,像学徒抽签式开出一张菜单。
    a∼πθ(a)a \sim \pi_\theta(a)
  3. 奖励 $R(a)$策略 $a$ 训练出的子模型在验证集上的准确率,对应顾客打分。
    R(a)R(a)
  4. 对数概率梯度表示“沿哪个方向微调参数,会让这张菜单被更频繁地开出”。
    ∇θlog⁡πθ(a)\nabla_\theta \log \pi_\theta(a)
  5. 期望与更新方向大量试菜样本的“奖励 × 梯度”取平均,就是让整体出菜水平不断提高的更新方向。
    ∇θJ(θ)=Ea∼πθ[R(a)∇θlog⁡πθ(a)]\nabla_\theta J(\theta) = \mathbb{E}_{a \sim \pi_\theta}\left[ R(a) \nabla_\theta \log \pi_\theta(a) \right]

策略评估优化

菜单开出来,还得有人试做、有人品鉴。AutoAugment 的流程是:对每个采样出的策略训练一个“子模型”(学徒试做),再在验证集上打分(品鉴)。一次完整搜索通常跑几百上千轮,每轮都要训练一个小模型——这也是它算力开销大的原因。

子模型架构比最终模型小得多,训练步数也少,目的是快速给出策略的相对好坏。打分过程可以写成:

搜索结束后还有一步“策略迁移评估”:把搜到的最佳策略重新用于训练一个从头开始、更大的正式模型,看提升是否依然成立。因为搜索阶段用小模型、部署阶段用大模型,两者验证的一致性正是策略质量的重要保障。

整个流程就像餐厅的菜品研发:小灶试菜(子模型)→ 评委打分(验证集)→ 大厨定稿(正式训练)→ 正式菜单(落地部署)。迭代越多口味越稳定,但也越费后厨时间——这就是“效果”与“成本”的首次交锋。

R(S)=Acc(fθ∗(Dval))\displaystyle R(S) = \mathrm{Acc}\left( f_{\theta^*}(D_{\text{val}}) \right)
意思是:给定增强策略 $S$,先在增强后的训练数据上训练出子模型 $f_{\theta^*}$,再用独立验证集算出准确率,作为该策略的奖励分数。
  1. 待评策略 $S$控制器刚采样出的增强策略,即待试做的菜单。
    S={S1,S2,…,S5}S = \{ S_1, S_2, \dots, S_5 \}
  2. 子模型训练 $f_{\theta^*}$在策略 $S$ 增强后的数据上训练一个小网络,参数收敛到 $\theta^*$,像学徒按菜单试做出成品。
    θ∗=arg⁡min⁡θL(fθ(Dtrain,S))\theta^* = \arg\min_\theta \mathcal{L}(f_\theta(D_{\text{train}}, S))
  3. 验证集 $D_{\text{val}}$不参与训练、只用来打分的独立数据,像不提前打招呼的评委团。
    DvalD_{\text{val}}
  4. 奖励分数 $R(S)$子模型在验证集上的准确率,越高代表这道菜的“大众接受度”越好。
    R(S)=Acc(fθ∗(Dval))R(S) = \mathrm{Acc}(f_{\theta^*}(D_{\text{val}}))

RandAugment轻量化

主厨渐渐发现,与其让 AI 副手每天试几百道菜,不如把研发流程彻底简化。Google 在 2019 年推出的 RandAugment 就是这种思路:不做搜索,直接把“做几道工序、用多大劲”变成两个旋钮,剩下的交给随机。

RandAugment 从全部操作中均匀抽取 N 个操作依次施加,且所有操作共享同一个全局幅度 M;它不区分每个操作自己的概率——被抽中就必须应用。变换过程是多个操作的复合:

这样设计的妙处在于:原本“每操作独立概率”会让某些操作长期不被选中,训练分布不稳定;RandAugment 让每个操作以均匀概率登场,配合全局幅度 M 的调节,反而形成天然的正则化。实验表明在 ImageNet 等基准上它与 AutoAugment 效果持平,却省掉了上万 GPU 小时的搜索。

就像连锁餐厅把复杂菜谱统一成“标准烹调流程”,虽然少了定制化的精致,但胜在稳定可复制、人人能快速上手——RandAugment 因此成为工业界最常用的增强基线之一。

T(x)=op1M∘op2M∘⋯∘opNM(x)\displaystyle T(x) = op_{1}^{M} \circ op_{2}^{M} \circ \cdots \circ op_{N}^{M} (x)
这个式子表示把 N 个增强操作一个个叠加:第一道的输出是第二道的输入。关键是操作随机抽取、所有操作共用幅度 M,整张“菜谱”只剩 N 和 M 两个参数。
  1. 随机抽取的 N 个操作每次从 16 种操作中均匀随机抽 N 个组成流水线,像从招式库里随手挑 N 个招式连招。
    opi∼U(O),i=1,2,…,Nop_i \sim \mathcal{U}(\mathcal{O}), \quad i = 1, 2, \dots, N
  2. 全局共享幅度 $M$所有操作共用一个强度档位,把“每操作一个幅度”压缩成一个全局旋钮。
    M∈{0,1,…,9}M \in \{0, 1, \dots, 9\}
  3. 复合变换操作按顺序串联,前一个输出作为后一个输入,最终得到增强后的图像。
    T(x)=op1M(op2M(⋯opNM(x)⋯ ))T(x) = op_1^{M}(op_2^{M}(\cdots op_N^{M}(x) \cdots))

TrivialAugment简化

如果把简化进行到底呢?TrivialAugment(2021 年)的想法近乎“任性”:厨师不看菜单,随手从招式库抓一个招式,力度也随心情。论文标题自称 "Trivial"(琐碎的),因为核心实现只有十几行代码。

对每个训练样本,TrivialAugment 从全部操作中均匀随机抽一个操作,再从 0 到最大幅度之间均匀随机抽一个幅度值,一次性应用。用公式表达就是:

为什么这么简单还管用?关键在“随机性经过精心设计”:操作全集是经过验证的招式、幅度有上界不会把图像破坏成噪声、每个样本独立采样让梯度携带丰富扰动——这等价于一种强正则化。在不少小型数据集上,它的效果甚至能超越 RandAugment。

如果说 RandAugment 是标准化连锁店,TrivialAugment 就像一位随性的街边厨师——招式未必精致,但每一份都新鲜、随机、充满变化,反而让吃客(模型)练出了一身适应力。

op∗∼U(O),m∗∼U[0,mmax⁡]\displaystyle op^{*} \sim \mathcal{U}(\mathcal{O}), \qquad m^{*} \sim \mathcal{U}[0, m_{\max}]
它不再构造“策略”或“流水线”,而是让增强本身变成一个随机的单步变换:每个样本、每个批次看到的增强都在变,等于让模型面对一位“每次做法都不一样”的随机厨师。
  1. 操作均匀采样每次从全部操作中等概率抽取恰好一个,没有偏好、没有权重。
    op∗∼U(O)op^{*} \sim \mathcal{U}(\mathcal{O})
  2. 幅度均匀采样幅度从 0 到预设上限间连续均匀取值,力度每次随机。
    m∗∼U[0,mmax⁡]m^{*} \sim \mathcal{U}[0, m_{\max}]
  3. 在线随机应用采样在训练时对每个样本实时进行,增强效果随训练动态变化,形成持续的“随机菜式供给”。
    x↦op∗(x;m∗)x \mapsto op^{*}(x; m^{*})

权衡与实战

从 AutoAugment 到 TrivialAugment,核心命题永远是:值得为提升一点精度付出多少搜索成本?AutoAugment 在 CIFAR 上要消耗约一万五千 GPU 小时(相当于数百张显卡昼夜不停跑一天),而 RandAugment 和 TrivialAugment 的“搜索成本”几乎为零。

工程上的选择逻辑可以凝练成一个“收益比”指标:单位搜索成本换来的准确率提升。

数据集适配方面:数据量大、域内分布稳定(如 ImageNet)时,AutoAugment 搜出的策略迁移性较好;数据量小、域差异大(如医学影像)时,搜索容易过拟合,更推荐 RandAugment 配合 2~3 组 N、M 的网格测试。落地时要把增强封装成标准模块,保证训练与推理的管线一致性。

就像餐饮行业既需要米其林定制餐厅,也需要快餐连锁:AutoAugment 负责把菜品上限推到极致,RandAugment 和 TrivialAugment 负责让每家分店都能快速复制。你的任务,是根据预算和菜单选对方案。

Ratio=ΔAccCsearch\displaystyle \text{Ratio} = \frac{\Delta \mathrm{Acc}}{C_{\text{search}}}
分子是用增强策略比人工基线提升的验证准确率,分母是为搜索策略消耗的算力(GPU 小时)。收益比越高,自动化增强的性价比就越高。
  1. 准确率提升 $\Delta \mathrm{Acc}$采用搜索策略后相对“无增强或简单人工增强”基线的验证准确率增量。
    ΔAcc=Accnew−Accbase\Delta \mathrm{Acc} = \mathrm{Acc}_{\text{new}} - \mathrm{Acc}_{\text{base}}
  2. 搜索成本 $C_{\text{search}}$整个搜索过程消耗的算力。AutoAugment 达数千 GPU 小时,RandAugment 与 TrivialAugment 接近零。
    Csearch=GPU hoursC_{\text{search}} = \text{GPU hours}
  3. 收益比的含义每投入单位算力换回多少精度;高价值、长期复用的任务适合 AutoAugment,快速迭代的任务用轻量化方案。
    Ratio=ΔAccCsearch\text{Ratio} = \frac{\Delta \mathrm{Acc}}{C_{\text{search}}}

AI 应用场景

医学影像小样本训练

阶段:数据准备与增强

解决的问题:医学影像标注成本高、样本量少,人工设计增强(旋转、平移)全凭直觉、不成体系。AutoAugment 能在小数据集上自动搜出贴合医学图像分布的策略(如特定尺度的缩放、局部对比增强),把有限的标注数据“用出花来”。

具体案例:某肺结节 CT 分类项目中,团队只有 2000 张标注图。用 AutoAugment 在小子模型上搜索出 5 个子策略,验证准确率从人工增强的 83.5% 提升到 86.4%,且策略迁移到正式大模型后提升依然稳定。

工业质检快速换型

阶段:模型训练流水线

解决的问题:产线换型后需快速重训质检模型,AutoAugment 的搜索成本不可接受。RandAugment 免搜索,只有 N、M 两个旋钮,随机组合增强操作即可适配每次换型,把“试菜时间”压缩到零。

具体案例:手机屏幕缺陷检测团队把人工增强代码替换为 RandAugment(N=2, M=9),换型后的模型上线周期从 2 周缩短到 2 天,缺陷召回率与之前持平,人力成本大减。

自动驾驶域适应

阶段:模型鲁棒性提升

解决的问题:白天训练的感知模型在夜晚、雨天性能骤降,需要大量仿真增强。TrivialAugment 每次随机单操作+随机幅度,在训练中天然形成“增强环境漂移”,省去策略搜索,最适合数据分布不断变化的场景。

具体案例:自动驾驶感知团队在夜间图像稀少时采用 TrivialAugment 在线增强,夜间目标检测 mAP 提升 5.2 个点,且无任何搜索成本,直接嵌入现有训练脚本。

Python 演示

python49 行
import random random.seed(42) # 模拟搜索空间: 每种增强操作对验证集分数的真实贡献op_scores = {    'crop': 0.8, 'flip': 0.6, 'rotate': 0.5, 'contrast': 0.4,    'bright': 0.2, 'sharp': 0.1, 'noise': -0.3, 'blur': -0.5}  def apply_augment(image, op):    """模拟一次增强操作, 返回增强后的分数化图像"""    strength = random.uniform(0.5, 1.0)    return image + op_scores[op] * strength  def evaluate_policy(policy, samples=50):    """模拟子模型训练后的验证, 返回平均验证准确率"""    total = 0.0    for _ in range(samples):        score = 0.6  # 无增强时的基线准确率        for op in policy:            score += op_scores[op] * 0.2            score = max(0.0, min(1.0, score))        total += score    return total / samples  def search_policy(ops, iters=200):    """随机搜索增强策略, 模拟 AutoAugment 的迭代寻优"""    best_policy, best_reward = [], -1.0    for _ in range(iters):        policy = random.sample(ops, 2)  # 子策略: 随机取 2 个操作        reward = evaluate_policy(policy)  # 子模型验证得分        if reward > best_reward:            best_reward = reward            best_policy = policy    return best_policy, best_reward  if __name__ == '__main__':    ops = list(op_scores)  # 搜索空间 = 所有操作    best_policy, best_reward = search_policy(ops)    baseline = evaluate_policy([], 200)  # 无增强对照    print('基线验证准确率: %.4f' % baseline)    print('搜索到的最优策略: %s' % ' + '.join(best_policy))    print('最优策略验证准确率: %.4f' % best_reward)    print('自动增强提升幅度: %.4f' % (best_reward - baseline))
目的:用一个纯 Python 的随机搜索 Demo,模拟 AutoAugment“定义搜索空间 → 采样策略 → 子模型打分 → 保留最优”的完整流程,让读者直观看到自动化增强如何取代人工调参。
  1. op_scores = {...}定义搜索空间:每个操作的“真实效果分”,代表它对验证准确率的贡献方向与大小
  2. def evaluate_policy(policy, samples=50)对应 AutoAugment 的“子模型训练+验证”,用多次采样取平均作为奖励
  3. score += op_scores[op] * 0.2子策略中每个操作按权重叠加影响,模拟多个增强操作组合的效果
  4. def search_policy(ops, iters=200)搜索主循环:相当于强化学习控制器反复采样策略并评估
  5. policy = random.sample(ops, 2)采样一个含 2 个操作的子策略,与 AutoAugment 的子策略结构一致
  6. if reward > best_reward:保留目前最优策略,对应 RL 中“奖励最大化”的优化目标
  7. baseline = evaluate_policy([], 200)无增强基线,用来量化自动化增强的净收益

常见误区

误区我以为是像 GAN 一样凭空造出新图片,把数据量扩大好几倍,所以整个训练集都被“补全”了。

正解AutoAugment 搜索的是“如何对已有图片做变换”的策略,图片数量并不增加。每张图在训练时以某种方式被翻转、裁剪、调色,效果来自“同一张图以多种形态参与训练”,而不是“造出更多新图”。就像厨师是把同一块豆腐做出十种口味,而不是凭空变出新豆腐。

为何常见:“增强”两个字太容易让人联想到“增加数据量”,忽略了它的本质是“变换组合”。

误区在 ImageNet 上搜到的好策略,直接用在医学影像、卫星图上肯定也强,省得再搜。

正解策略是在特定数据集上优化出来的,会隐式过拟合该数据的分布。域差距大时,它可能不如简单人工增强,甚至降低精度。换数据集必须先小规模评估,必要时重新搜索或改用轻量化方案。川菜菜谱直接搬到粤菜馆未必受欢迎。

为何常见:迁移学习的成功让大家默认“在 A 上搜的好东西在 B 上也通用”,忽略了增强策略与数据分布强耦合。

误区没有花几千 GPU 小时去搜索,RandAugment 肯定比 AutoAugment 差一大截。

正解实验表明 RandAugment 在 ImageNet、CIFAR 等多个基准上与 AutoAugment 相当,甚至更好。原因在于它避免了搜索过程对验证集的过拟合,且均匀随机的操作选择带来更稳健的正则化。差别主要在“通用性”而非“效果上限”。

为何常见:“投入越大收获越大”的直觉让人高估了搜索的边际收益,忽略了过拟合成本。

误区随机选操作+随机幅度,跟随便往菜里撒调料没区别,怎么可能有用?

正解它的随机性是有界的、精心设计的:操作全集是经过验证的增强招式,幅度上限可控,且每个样本独立采样形成梯度扰动,等价于强正则化。随机不等于胡乱,而是“受约束的随机”——就像分子料理看似随意,实则每一步都有讲究。

为何常见:把“随机性”直接等同于“不讲究、没技术含量”。

误区既然免搜索,N 和 M 就不用管了,默认值万事大吉。

正解RandAugment 把几十个参数压缩成 2 个(操作数 N、全局幅度 M),但这两个参数对效果敏感:幅度过小提升有限,过大破坏信息。实践中用 2~3 组取值的网格测试就能完成校准,仍比 AutoAugment 省力几个数量级。

为何常见:“免搜索”被误读为“零超参”,混淆了“自动搜索”与“无需调参”。

面试题

Q1. AutoAugment 的搜索目标是下列哪一项?

单选题 · easy

  • A.最大化验证集准确率← 正确答案
  • B.最大化训练集拟合度
  • C.最小化模型推理时间
  • D.最小化数据存储空间

答案:A。AutoAugment 的目标是找到让模型在验证集上准确率最高的增强策略,不优化训练速度、模型体积或存储。就像主厨追求顾客评分最高,而不是上菜最快——验证准确率就是那道“评分”。

Q2. AutoAugment 搜索完成后交付的成果是什么?

单选题 · easy

  • A.一组增强操作策略← 正确答案
  • B.一个预训练好的模型
  • C.一个新的网络结构
  • D.一套图像标注规则

答案:A。AutoAugment 交付的是一份“菜谱”——若干子策略及其操作、幅度、概率的组合,而不是模型、网络结构或标注规则。策略随后用于正式模型的训练,好比 AI 副手交出的是菜谱,而不是做好的菜。

Q3. 下列哪一项不属于 AutoAugment 搜索空间的要素?

单选题 · easy

  • A.操作类型
  • B.操作幅度
  • C.应用概率
  • D.模型优化器← 正确答案

答案:D。搜索空间只包含“操作类型、幅度、概率”三个维度;模型优化器属于训练配置,与数据增强无关。招式库只管招式本身,不管用什么锅铲——优化器是锅铲,不是招式。

Q4. AutoAugment 中的控制器通常用什么网络实现?

单选题 · mid

  • A.循环神经网络← 正确答案
  • B.卷积神经网络
  • C.图神经网络
  • D.生成对抗网络

答案:A。AutoAugment 用 RNN 作为控制器,逐步输出“操作名、幅度、概率”的 token 序列,这种序列决策任务需要记住上一步的语境。CNN 处理图像、GNN 处理图结构、GAN 用于生成,都不承担序列决策。

Q5. AutoAugment 用强化学习搜索时,奖励信号取什么值?

单选题 · mid

  • A.子模型验证准确率← 正确答案
  • B.子模型训练速度
  • C.增强操作的数量
  • D.搜索空间的规模

答案:A。奖励直接取子模型在验证集上的准确率,这是衡量策略好坏的唯一标准。训练速度和操作数量不代表增强质量——评分只看菜好不好吃,不看做得快不快、工序多不多。

Q6. RandAugment 相较于 AutoAugment 最主要的简化是什么?

单选题 · mid

  • A.免去搜索只留两参数← 正确答案
  • B.采用更大的搜索空间
  • C.改用卷积做控制器
  • D.增加子策略的数量

答案:A。RandAugment 把几十个搜索参数压缩成两个全局参数 N(操作数)和 M(幅度),完全删掉搜索过程。它没有扩大搜索空间或换控制器,只是把“试菜”这件事整个省略了。

Q7. TrivialAugment 对每个训练样本应用增强的方式是?

单选题 · hard

  • A.随机选一个操作随机幅度← 正确答案
  • B.固定操作和固定幅度
  • C.随机选多个操作固定幅度
  • D.网格搜索操作最佳组合

答案:A。TrivialAugment 对每个样本随机抽一个操作、随机抽一个幅度,且不做多操作组合。固定操作、网格搜索或叠加全部操作都是它的对立面。它像随性厨师那样“抓一个招式、随手一记”,随机但有界。

Q8. 关于 RandAugment 与 TrivialAugment,下列说法正确的有?

单选题 · mid

  • A.两者都大幅简化了搜索← 正确答案
  • B.两者都需要人工设计策略
  • C.两者都保留了随机性
  • D.两者都显著增加参数量

答案:A。RandAugment 与 TrivialAugment 都是轻量化方案,前者免搜索只留两个旋钮,后者简化成单操作随机;两者都保留随机性、都大幅减少人工干预。“需要人工设计策略”和“显著增加参数量”都与它们的轻量化定位相反。

Q9. AutoAugment 的搜索空间包含哪些维度?

多选题 · mid

  • A.增强操作的类型← 正确答案
  • B.操作的强度幅度← 正确答案
  • C.操作被应用的概率← 正确答案
  • D.模型的层数深度

答案:ABC。搜索空间由操作类型(16 种)、幅度档位(10 档)、概率档位(11 档)三个维度叉乘构成。模型的层数深度属于网络架构搜索范畴,不属于增强策略搜索——那是另一口锅里的菜。

Q10. 关于 AutoAugment 搜到的策略迁移到新数据集,正确的说法是?

多选题 · hard

  • A.可能存在过拟合风险← 正确答案
  • B.一定优于人工策略
  • C.需要重新验证评估← 正确答案
  • D.无需任何适配直接最优

答案:AC。搜索出的策略可能过拟合到搜索所用数据集,迁移到新数据需要重新验证,且不一定优于人工策略,更不能“无脑直接用”。就像川菜菜谱直接端到粤菜馆未必受欢迎——跨域迁移必须谨慎评估。