数据增强(Data Augmentation)策略大全

图像数据增强方法

几何变换

  • 旋转:随机旋转图像一定角度(如±30°)。
  • 翻转:水平或垂直翻转图像。
  • 缩放:随机放大或缩小图像区域。
  • 裁剪:随机裁剪图像的一部分并调整至原尺寸。
  • 平移:沿x或y轴方向平移图像。

颜色空间变换

  • 亮度调整:随机改变图像亮度。
  • 对比度调整:调整图像对比度。
  • 饱和度调整:修改色彩饱和度。
  • 添加噪声:高斯噪声、椒盐噪声等。
  • 颜色抖动:随机调整RGB通道值。

高级增强技术

  • Mixup:混合两张图像及其标签(λ∈0,1)。
  • Cutout:随机遮挡图像部分区域。
  • CutMix:用另一张图像的部分区域替换当前图像。
  • RandAugment:自动化选择增强策略的组合。

文本数据增强方法

词汇替换

  • 同义词替换:使用WordNet或预训练词向量替换单词。
  • 随机插入:在句子中随机插入同义词。
  • 随机交换:交换相邻词汇顺序。
  • 随机删除:以概率删除某些词汇。

语法变换

  • 回译:通过翻译至其他语言再译回原语言。
  • 句子重组:利用依存分析树调整句式结构。

生成模型

  • GPT-3等模型生成语义相似的句子。
  • 变分自编码器(VAE)生成新文本样本。

音频数据增强方法

时域增强

  • 变速:调整音频播放速度(保持音高)。
  • 时移:前后移动音频片段。
  • 裁剪:截取部分音频并填充至原长度。

频域增强

  • 添加噪声:白噪声、环境噪声等。
  • 音高变换:改变音频频率成分。

高级方法

  • SpecAugment:对频谱图进行时间/频率维度的遮挡。

视频数据增强方法

帧级增强

  • 对每一帧应用图像增强技术(如旋转、裁剪)。

时序增强

  • 帧采样:随机跳过或重复部分帧。
  • 时序裁剪:截取视频片段并调整至原长度。

空间-时序增强

  • 3D Cutout:在视频立方体(长×宽×时间)中随机遮挡。

通用注意事项

  • 增强后的数据需保持标签有效性(如翻转后的"6"可能变成"9")。
  • 避免过度增强导致模型学习到虚假模式。
  • 结合任务特性选择策略(如医学影像需谨慎几何变换)。

代码示例(图像旋转):

python 复制代码
from PIL import Image
import random

def rotate_image(image, max_angle=30):
    angle = random.uniform(-max_angle, max_angle)
    return image.rotate(angle)

公式示例(Mixup):

新样本生成公式:

x' = λx_i + (1-λ)x_j, \\quad y' = λy_i + (1-λ)y_j

其中 ( λ \sim Beta(α,α) ),通常 ( α=0.4 )。

相关推荐
冬奇Lab2 小时前
Workflow 系列(06):安全——跨步骤注入传播与四层防御
人工智能·工作流引擎
冬奇Lab2 小时前
每日一个开源项目(第149篇):RAG-Anything - 把图片、表格、公式当成一等公民的多模态 RAG 框架
人工智能·开源
米小虾2 小时前
AI Agent 安全实战指南:当智能体开始"不听话",开发者该如何应对?
人工智能·安全·agent
IT_陈寒4 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
阿里云大数据AI技术6 小时前
构建高转化海外电商搜索:阿里云OpenSearch行业算法版的全链路智能优化策略实战
人工智能·搜索引擎
Awu12276 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
字节跳动视频云技术团队6 小时前
让 Agent 成为音视频工作台:AI MediaKit CLI + Skill 发布
人工智能·音视频开发
魏祖潇6 小时前
framework 整合实战——DDD/TDD/SDD 三件套在 framework 仓的真实落地
人工智能·后端
Token炼金师7 小时前
去噪扩散:从随机噪声到高保真图像的数学之路
人工智能·aigc