人工智能导论 第 4 章 · 第四节
课程 › 第 4 章 › 第四节 训练的难处三种技巧数据增广图像增广混合样本文本增广增广的分寸
第 4 章 深度学习新方法 · 第四节

数据增广

不用多标一张图,把手上的数据变出更多花样
本 节 知 识 点
  1. 25为什么训练越来越难
  2. 26三种训练技巧
  3. 27数据增广:让数据更丰富
  4. 28图像增广的基本假设
  5. 29把两张图混在一起
  6. 30文本增广:改字不能改意思
  7. 31其他数据的增广与分寸
25
第 4 章 · 第四节

为什么训练越来越难

好数据不够多,算力和显存也不够用。

第 25 页课件

重 点难处来自两头

一头是数据:好的标注数据少,模型见识不到足够多的情况。另一头是资源:模型参数越来越多,训练要算得更久,显存和传输数据的带宽也更吃紧。

关键术语

带宽Bandwidth
每秒能传多少数据,就像水管的粗细。

打个比方

盖一栋越来越高的楼,一边缺砖,一边起重机又不够高。只补砖或只换起重机,楼都盖不上去。

26
第 4 章 · 第四节

三种训练技巧

补数据、补算力、省显存,各有一种办法。

第 26 页课件

重 点三个框各管一头

数据增广把已有的数据变出新样子,解决数据不够。分布式训练让很多张显卡一起算,解决一张卡算不完。混合精度训练在合适的地方用更短的数,既省显存又算得快。这一节讲第一种,下一节讲后两种。

随堂练习

模型大到一张显卡放不下,最直接相关的是哪种技巧?

  1. 数据增广
  2. 分布式训练
  3. 多标注一些数据
  4. 换一个损失函数
查看答案
答案 B。分布式训练把任务拆给多张显卡,模型可以切开分着放。数据增广和多标注解决的是数据不够,换损失函数也不会让模型变小。
27
第 4 章 · 第四节

数据增广:让数据更丰富

不用多标注,对已有数据做变换,扩充训练集。

第 27 页课件

关键术语

数据增广Data Augmentation
对已有数据做变换或合成新样本,扩充训练集的数量和多样性。也叫数据增强。

重 点右下角的例子

一张人脸照片,改色调、翻转、调亮度、调饱和度、旋转、调对比度,就变出了六张。对人来说还是同一个人,对模型来说是六个新样本,标签也不用重新标。

知道更多从 AlexNet 到生成模型

2012 年的 AlexNet 训练时就随机裁剪和翻转图片,这是它赢得那年图像识别比赛的原因之一。今天还可以用生成模型直接造数据,比如英伟达的 Cosmos 能生成现实中很少遇到的场景。

28
第 4 章 · 第四节

图像增广的基本假设

换个位置、方向、光线和颜色,猫还是那只猫。

第 28 页课件

重 点四类变化,四类做法

位置变了用随机裁剪和平移,方向变了用翻转和旋转,光线变了调亮度和对比度,颜色变了调饱和度和色彩。右边 (a) 是原图,(b) 到 (h) 是七种变换,(h) 是随机擦掉一块。

知道更多假设不成立的时候

识别文字时,左右翻转会让字变成反的。识别手写数字时,把 6 转 180 度就成了 9。增广之前要先想清楚,这个变换会不会改变正确答案。

随堂练习

训练一个识别手写数字的模型,下面哪种增广最不合适?

  1. 稍微调亮一点
  2. 平移几个像素
  3. 旋转 180 度
  4. 稍微放大一点
查看答案
答案 C。把 6 旋转 180 度会变成 9,正确答案跟着变了,这样的新样本会教错模型。另外三种变换都不会改变数字是几。
29
第 4 章 · 第四节

把两张图混在一起

图片按比例混合,标签也按同样的比例混合。

第 29 页课件

关键术语

MixUpMixUp
两张图的每个像素按比例加权平均,标签也按这个比例混合。
CutMixCutMix
从一张图上剪下一块贴到另一张上,标签按面积比例混合。

重 点看表格最后一行

两张图的标签原本各是“山 1.0”和“瀑布 1.0”。MixUp 取 0.6 份山、0.4 份瀑布叠在一起,标签是“山 0.6,瀑布 0.4”。CutMix 那张图里贴上的瀑布约占两成,按面积算,标签应接近“山 0.8,瀑布 0.2”,表里的 0.6 和 0.4 只是示意。

随堂练习

用 CutMix 从一张狗的图上剪下一块,贴到猫的图上,贴上去的部分占整张图的 25%。新图的标签是什么?

  1. 猫 1.0
  2. 猫 0.5,狗 0.5
  3. 猫 0.75,狗 0.25
  4. 猫 0.25,狗 0.75
查看答案
答案 C。标签按面积来分,狗占 25%,猫还剩 75%。
30
第 4 章 · 第四节

文本增广:改字不能改意思

文字改一个字就可能变了意思,增广时要格外小心。

第 30 页 文本增广

原句:这部电影的表演绝对是精彩的。

方法做法改完的句子
同义词替换换掉一两个词这部电影的演出绝对是出色的。
随机插入把某个词的同义词插到随机位置这部电影的表演卓越且绝对是精彩的。
随机交换交换两个词的位置这部电影的表演是绝对精彩的。
随机删除随机删掉一个词这部电影的表演是精彩的。
回译翻成外语,再翻回来这部电影的演技简直出神入化。
生成让大模型按要求写新句子该片演员的表演堪称精湛。
改完的句子都还在夸这部电影,“正面评价”这个标签没有变。如果把“这家店的菜不太好吃”里的“不”删掉,意思就从批评变成了夸奖,这条数据反而会教错模型。

关键术语

回译Back Translation
把句子翻译成另一种语言,再翻译回来,得到说法不同、意思相同的句子。
语义Semantics
一句话表达的意思。

重 点难在哪里

图片调亮一点,猫还是猫。文字不一样,增删一个字就可能让意思完全改变。所以文本增广要守住两条:意思不能变,语法要通顺。表里随机插入、随机交换的结果读着有点别扭,这类简单做法改完常要再筛一遍。

31
第 4 章 · 第四节

其他数据的增广与分寸

不同数据有不同的增广办法,增广也不是越多越好。

第 31 页 其他形式的数据增广

每种数据都在问:改了哪里,答案不变

数据常见做法说得直白些
时序信号动态时间规整、频域扰动把一段心电图或声音稍微拉长、压短,或加一点细小的波动
雷达点云目标级粘贴、极端天气仿真把别处扫到的汽车、行人“贴”进场景,或模拟雨雪雾天
跨模态数据时空维度严格对齐视频和声音要一起裁剪,图片左右翻转时,文字描述里的“左”“右”也要对调
强化学习域随机化在模拟器里随机改变摩擦、光照、颜色,让机器人不挑环境
变换太强,或者翻来覆去只用少数几种,模型可能出现坍缩:学到的特征越来越单一,原本不同的东西也分不清了。

关键术语

点云Point Cloud
激光雷达扫出的一大堆三维坐标点,每个点记录空间里的一个位置。
域随机化Domain Randomization
在模拟环境里随机改变各种条件,让学到的本领在真实环境里也能用。
坍缩Collapse
模型学到的特征退化,越来越单一,失去区分能力。

重 点怎样把握分寸

控制每种变换的强度和使用的概率,挑和任务相符的多种变换搭配着用。训练时还要随时检查,不同类别的样本在模型眼里是不是还分得开。

保山学院·人工智能教研室·曹鼎鼎