论文阅读笔记——数据增强

一、 核心思想:什么是数据增强?

一句话概括:数据增强就是通过一系列技术手段,从现有的训练数据中,人工制造出更多、更多样的新数据。

一个简单的比喻:

你的模型就像一个学生,训练数据就是它的习题册

  • 情况一(无数据增强) :学生只有一本薄薄的习题册,他通过反复刷这几道题来备考。结果一上考场,发现题型全都变了,直接考砸。这就是过拟合------他只会死记硬背原题。

  • 情况二(有数据增强) :我们利用原有的习题册,通过改变题目条件、数字、表述方式 ,生成了厚厚的十本新习题册。学生通过做这些"万变不离其宗"的题目,真正理解了知识点背后的原理。上了考场,无论题型怎么变,他都能灵活应对。这就是提升模型的泛化能力

所以,数据增强的根本目的就是:

  1. 增加数据量,防止模型过拟合。

  2. 提升数据多样性,让模型见识更多可能的情况,从而学到更鲁棒、更本质的特征。


二、 为什么我们需要数据增强?(必要性)

  1. 数据饥渴:深度学习模型是"数据怪兽",参数动辄百万、千万,需要海量数据才能充分训练,避免过拟合。但收集和标注高质量数据的成本极其高昂。

  2. 覆盖"长尾":真实世界是复杂多样的,总存在一些罕见场景(比如侧脸、遮挡、特殊光照)。原始数据集很难覆盖所有情况,数据增强可以模拟这些边缘情况,让模型更健壮。

  3. 引入不变性:我们希望模型能识别一只猫,无论这只猫是正着、倒着、在明处还是暗处。通过增强,我们可以主动教会模型这些不变性(旋转不变性、光照不变性等)。


三、 常见的数据增强技术("十八般武艺")

数据增强技术主要分为两大类:基础增强高级增强

A. 基础增强(像素级/空间变换)

这类方法直接对图像本身的像素或几何形状进行操作,简单有效。

  1. 几何变换

    • 旋转/翻转:将图像顺时针旋转10度、20度等;水平或垂直翻转。这教会模型目标的方向不是关键特征。

    • 裁剪:随机从图像中截取一部分。这迫使模型不依赖于目标的绝对位置,并关注局部特征。

    • 缩放/拉伸:将图像放大或缩小,或者进行非等比拉伸。

    • 平移:将图像在画布内上下左右移动。

  2. 像素变换

    • 颜色抖动:调整图像的亮度、对比度、饱和度和色调。让模型不依赖于特定的颜色分布。

    • 添加噪声:在图像上加入高斯噪声、椒盐噪声等。让模型对图像质量不敏感,更抗干扰。

    • 模糊/锐化:使用高斯模糊等滤波器。模拟图像失焦或远距离拍摄的情况。

    • 擦除 :随机将图像中的一小块矩形区域置为0或随机值。这是非常有效的一种方法,它能强迫模型不去只依赖某一个明显的特征(比如只靠猫脸识别猫),而是必须去学习多个特征。

B. 高级增强(混合式与智能增强)

这类方法更"智能",通常会将多张图像或其特征进行混合,能生成更复杂、更具挑战性的样本。

  1. MixUp

    • 做法 :取两张图片 x1x2,以及它们对应的标签 y1y2,然后按一个比例 λ 进行线性混合。

      • 新图片:x_new = λ * x1 + (1-λ) * x2

      • 新标签:y_new = λ * y1 + (1-λ) * y2

    • 思想:让模型学会"模糊的"决策边界,使其更加平滑,提升泛化能力。标签也是混合的,比如新图片60%是"猫",40%是"狗"。

  2. CutMix

    • 做法:从图片A随机裁剪一个区域,然后用图片B对应位置的区域来填充,生成一张新图片。新图片的标签也会按裁剪区域的比例进行混合。

      • 新图片:x_new = M * x_A + (1-M) * x_BM 是一个二进制掩码,表示裁剪区域)

      • 新标签:y_new = λ * y_A + (1-λ) * y_B

    • 优点 :相比MixUp,生成的新图片更加自然(因为粘贴的是完整的图像块,而不是像素混合),同时保留了区域定位的信息。它既增加了多样性,又没有完全丢失重要的特征信息。

  3. 基于模型/对抗的增强

    • 神经风格迁移:保留图片A的内容,但套用图片B的风格,生成新的训练图片。

    • 生成对抗网络(GAN):直接使用GAN来生成全新的、逼真的训练图像。这是"终极"的数据增强,但技术复杂且可能引入伪影。

    • AutoAugment / RandAugment:使用强化学习或搜索算法,自动为特定数据集找到最有效的一系列增强策略组合。

相关推荐
种时光的人14 分钟前
CANN仓库核心解读:ops-nn打造AIGC模型的神经网络算子核心支撑
人工智能·神经网络·aigc
晚霞的不甘16 分钟前
守护智能边界:CANN 的 AI 安全机制深度解析
人工智能·安全·语言模型·自然语言处理·前端框架
谢璞18 分钟前
中国AI最疯狂的一周:50亿金元肉搏,争夺未来的突围之战
人工智能
池央18 分钟前
CANN 算子生态的深度演进:稀疏计算支持与 PyPTO 范式的抽象层级
运维·人工智能·信号处理
方见华Richard19 分钟前
世毫九实验室(Shardy Lab)研究成果清单(2025版)
人工智能·经验分享·交互·原型模式·空间计算
Maynor99619 分钟前
OpenClaw 玩家必备:用 AI 自动追踪社区最新动态
java·服务器·人工智能
aini_lovee20 分钟前
MATLAB基于小波技术的图像融合实现
开发语言·人工智能·matlab
ujainu29 分钟前
CANN仓库中的AIGC多模态统一抽象工程:昇腾AI软件栈如何用一套接口驾驭图文音视
人工智能·aigc
AC赳赳老秦34 分钟前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek
液态不合群36 分钟前
推荐算法中的位置消偏,如何解决?
人工智能·机器学习·推荐算法