当前位置: 首页 > news >正文

深度学习中的正则化技术 - 数据集增强篇

序言

在机器学习与深度学习的广阔领域中,数据集的质量与规模往往是决定模型性能的关键因素之一。然而,现实世界中高质量、标注完善的数据集往往稀缺且获取成本高昂,这成为了制约算法进步的一大瓶颈。为了缓解这一问题,数据集增强技术应运而生。该技术旨在通过一系列变换手段,在不实质性改变数据本质特征的前提下,人工增加数据集的多样性和数量,从而提升模型的泛化能力和鲁棒性。从简单的图像旋转、缩放,到复杂的颜色变换、噪声添加,乃至基于深度学习的对抗性生成,数据集增强技术为模型的训练提供了丰富的“养分”,使得模型能够学习到更加全面、稳定的知识表示。

数据集增强

  • 让机器学习模型泛化得更好的最好办法是使用更多的数据进行训练
  • 当然,在实践中,我们拥有数据量是有限的。解决这个问题的一种方法是创建假数据并把它添加到训练集。对于一些机器学习任务,创建新的假数据相当简单。
  • 对分类来说这种方法是最简单的。
    • 分类器需要一个复杂的高维输入 x \boldsymbol{x} x,并用单个类别标识 y y y概括 x \boldsymbol{x} x
    • 这意味着分类面临的一个主要任务是要对各种各样的变换保持不变。
    • 我们可以轻易通过转换训练集中的 x \boldsymbol{x} x来生成新的 ( x , y ) (\boldsymbol{x},y) (x,y)对。
    • 这种方法对于其他许多任务来说并不那么容易。例如,除非我们已经解决了密度估计问题,否则在密度估计任务中生成新的假数据是困难的。
  • 数据集增强对一个具体的分类问题来说是特别有效的方法。例如:对象识别。
    • 图像是高维的并包括各种巨大的变化因素,其中有许多可以轻易地模拟。
    • 即使模型已使用卷积和池化技术对部分平移保持不变,沿训练图像每个方向平移几个像素的操作通常可以大大改善泛化。
    • 许多其他操作如旋转图像或缩放图像也已被证明非常有效。
  • 我们必须要小心,不能应用改变正确类别的转换。
    • 例如,光学字符识别任务需要认识到“b”和“d”以及“6”和“9”的区别,所以对这些任务来说,水平翻转和旋转 18 0 ∘ 180^{\circ} 180并不是适当的数据集增强方式。
    • 能保持我们希望的分类不变,但不容易执行的转换也是存在的。例如,平面外绕轴转动难以通过简单的几何运算在输入像素上实现。
  • 数据集曾倩对语音识别任务也是有效的 (Jaitly and Hinton, 2013)。
  • 在神经网络的输入层注入噪声 (Sietsma and Dow, 1991) 也可以被看作是数据增强的一种形式。对于许多分类甚至一些回归任务,即使小的随机噪声被加到输入,任务仍应该是能解决的。
  • 然而,神经网络被证明对噪声不是非常健壮 (Tangand Eliasmith, 2010)。
    • 改善神经网络健壮性的方法之一是简单地将随机噪声施加到输入再进行训练。
    • 输入噪声注入是一些无监督学习算法的一部分,如去噪自编码器(Vincent et al., 2008a)。
    • 向隐藏单元施加噪声也是可行的,这可以被看作在多个抽象层上进行的数据集增强。
    • Poole et al. (2014) 最近表明,噪声的幅度被细心调整后,该方法是非常高效的。 Dropout \text{Dropout} Dropout(一个强大的正则化策略),可以被看作通过乘性噪声构建新输入的过程。
  • 当比较机器学习基准测试的结果时,考虑其采取的数据集增强是很重要的。
    • 通常情况下,人工设计的数据集增强方案可以大大减少机器学习技术的泛化误差
    • 将一个机器学习算法的性能与另一个进行对比时,对照实验是必要的。
    • 当比较机器学习算法A和机器学习算法B时,应该确保这两个算法使用同一人工设计的数据集增强方案进行评估。
    • 假设算法A在没有数据集增强时表现不佳,而B结合大量人工转换的数据后表现良好。
    • 在这样的情况下,很可能是合成转化引起了性能改进,而不是机器学习算法B。
    • 有时候,确定实验是否已经适当控制需要主观判断。例如,向输入注入噪声的机器学习算法是执行数据集增强的一种形式。
    • 通常,普适操作(例如,向输入添加高斯噪声)被认为是机器学习算法的一部分,而特定于一个应用领域(如随机地裁剪图像)的操作被认为是独立的预处理步骤。

总结

综上所述,数据集增强作为机器学习领域的一项重要技术,通过巧妙地利用现有数据资源,有效缓解了高质量数据集稀缺的问题。它不仅丰富了训练样本的多样性,减少了过拟合的风险,还显著提升了模型的泛化能力,使得训练出的模型能够更好地适应复杂多变的实际应用场景。随着技术的不断进步,数据集增强的手段日益丰富和高效,未来必将在推动人工智能技术的发展中发挥更加重要的作用。

往期内容回顾

深度学习中的正则化技术 - 引言篇
深度学习中的正则化技术 - 参数范数惩罚篇
深度学习中的正则化技术 - 正则化和欠约束问题篇

http://www.lryc.cn/news/397228.html

相关文章:

  • 【Docker系列】Docker 镜像源:优化你的容器化开发流程
  • 【Linux】Windows环境下配置虚拟机静态IP
  • 完美解决AttributeError: ‘list‘ object has no attribute ‘shape‘的正确解决方法,亲测有效!!!
  • 链接服务器“XX”的OLEDB访问接口“MSOLEDBSQL”返回了消息“登录超时已过期” 解决方法
  • 【AI伦理与社会责任】讨论人工智能在隐私保护、偏见消除、自动化对就业的影响等伦理和社会问题。
  • Qt编程技巧小知识点(1)TCP缓存区数据读取
  • vue 搭建 pinia
  • 什么是CLR
  • Spring MVC -01
  • 山海鲸可视化——天地图画面和热力图
  • Python 利用pandas处理CSV文件(DataFrame的基础用法)
  • c++ 的(引用)和*(指针)
  • 人工智能算法工程师(中级)课程6-sklearn机器学习之聚类问题与代码详解
  • Objective-C 中的 isa 不再是简单的结构体指针
  • 中介子方程五十二
  • LabVIEW在半导体自动化测试中的应用
  • 政安晨:【Keras机器学习示例演绎】(五十三)—— 使用 TensorFlow 决策森林进行分类
  • 51单片机:电脑通过串口控制LED亮灭(附溢出率和波特率详解)
  • Java中的消息中间件选择与比较
  • react基础语法,模板语法,ui渲染,jsx,useState状态管理
  • OJ-0710
  • 人工智能在自动驾驶中的目标检测研究
  • 【合并两个有序数组】
  • 链表 OJ(一)
  • 《Linux与Windows文件系统的区别》
  • 批量修改Git历史commit信息中的username
  • LabVIEW与ABB工业机器人据监控
  • c++栈内存和堆内存的基本使用
  • 快速入门,springboot知识点汇总
  • Ubuntu20.04系统非root用户安装GAMIT10.71