深度学习正则化(二)

简介: 深度学习正则化(二)

2.3.4.2 数据增强



数据增强


指通过剪切、旋转/反射/翻转变换、缩放变换、平移变换、尺度变换、对比度变换、噪声扰动、颜色变换等一种或多种组合数据增强变换的方式来增加数据集的大小。



image.png


即使卷积神经网络被放在不同方向上,卷积神经网络对平移、视角、尺寸或照度(或以上组合)保持不变性,都会认为是一个物体。


  • 为什么这样做?


假设数据集中的两个类。左边的代表品牌A(福特),右边的代表品牌B(雪佛兰)。


假设完成了训练,并且输入下面的图像(品牌A),但是你的神经网络输出认为它是品牌B的汽车!

image.png


为什么会发生这种现象? 因为算法可能会寻找区分一个类和另一个类的最明显特征。在这个例子中 ,这个特征就是所有品牌A的汽车朝向左边,所有品牌B的汽车朝向右边。神经网络的好坏取决于输入的数据。


怎么解决这个问题?


我们需要减少数据集中不相关特征的数量。对上面的汽车类型分类器来说,你只需要将现有的数据集中的照片水平翻转,使汽车朝向另一侧。现在,用新的数据集训练神经网络,通过过增强数据集,可以防止神经网络学习到不相关的模式,提升效果。(在没有采集更多的图片前提下)


  • 数据增强类别


那么我们应该在机器学习过程中的什么位置进行数据增强?在向模型输入数据之前增强数据集。


  • 离线增强。预先进行所有必要的变换,从根本上增加数据集的规模(例如,通过翻转所有图像,保存后数据集数量会增加2倍)。


  • 在线增强,或称为动态增强。可通过对即将输入模型的小批量数据的执行相应的变化,这样同一张图片每次训练被随机执行一些变化操作,相当于不同的数据集了。


那么我们的代码中也是进行这种在线增强。


  • 数据增强技术


下面一些方法基础但功能强大的增强技术,目前被广泛应用。


  • 翻转:tf.image.random_flip_left_right


  • 你可以水平或垂直翻转图像。一些架构并不支持垂直翻转图像。但,垂直翻转等价于将图片旋转180再水平翻转。下面就是图像翻转的例子。


image.png


       从左侧开始分别是:原始图像,水平翻转图像,垂直翻转图像


  • 旋转:rotat


image.png


从左到右,图像相对于前一个图像顺时针旋转90度


  • 剪裁:random_crop


  • 随机从原始图像中采样一部分,然后将这部分图像调整为原始图像大小。这个方法更流行的叫法是随机裁剪。


image.png


 从左侧开始分别为:原始图像,从左上角裁剪出一个正方形部分,然后从右下角裁剪出一个正方形部分。剪裁的部分被调整为原始图像大小。


  • 平移、缩放等等方法


数据增强的效果是非常好的,比如下面的例子,绿色和粉色表示没有数据增强之前的损失和准确率效果,红色和蓝色表示数据增强之后的损失和准确率结果,可以看到学习效果也改善较快。


image.png


那么TensorFlow 官方源码都是基于 vgg与inception论文的图像增强介绍,全部通过tf.image相关API来预处理图像。并且提供了各种封装过tf.image之后的API。那么TensorFlow 官网也给我们提供了一些模型的数据增强过程。


2.3.5 总结



  • 掌握偏差与方差的意义
  • 掌握L2正则化与L1正则化的数学原理
  • 权重衰减


  • 掌握droupout原理以及方法
  • Inverted droupout


知道正则化的作用


目录
相关文章
|
6月前
|
机器学习/深度学习 自然语言处理
深度学习中的正则化技术:防止过拟合的利器
在深度学习领域,模型的复杂度往往与其性能成正比,但过高的复杂度也容易导致过拟合现象。本文将深入探讨正则化技术在深度学习中的应用,分析其如何通过引入额外信息或限制来优化模型,从而在保持模型复杂度的同时,有效避免过拟合问题。我们将通过具体实例和数据,展示正则化技术的实际效果,并讨论其在不同场景下的应用策略。
|
7月前
|
机器学习/深度学习 自然语言处理
深度学习中的正则化技术:防止过拟合的策略
深度学习模型因其强大的特征提取能力而广受关注,但复杂的网络结构也容易陷入过拟合的困境。本文将探讨如何通过正则化技术来缓解这一问题,包括L1和L2正则化、Dropout、数据增强以及早停等方法。文章将详细解释每种技术的工作原理,并讨论它们在实际应用中的效果与挑战。
|
6月前
|
机器学习/深度学习 自然语言处理
深入解析深度学习中的正则化技术
【7月更文挑战第21天】深度学习模型在追求高精度的同时,也面临着过拟合的风险。本文将探讨如何通过正则化技术来平衡模型复杂度与泛化能力,包括L1与L2正则化、Dropout、数据增强和早停等策略。我们将分析这些方法的工作原理及其在实际问题中的应用效果,并讨论如何选择合适的正则化技术以优化深度学习模型的性能。
|
6月前
|
机器学习/深度学习
深度学习中的正则化技术探究
【7月更文挑战第15天】 在深度学习的海洋中,正则化技术如同导航灯塔,指引着模型训练的方向,避免其偏离航线进入过拟合的暗礁区。本文将深入探讨正则化技术的奥秘,从它们的起源、种类到实际应用,揭示这些技术如何在防止过拟合的同时,提升模型的泛化能力。我们将穿越不同类型的正则化方法,包括传统的L1和L2正则化,以及更现代的技术如Dropout和数据增强。每种技术都将被剖析其工作原理及适用场景,为深度学习的实践者提供一盏明灯,照亮模型优化之路。
|
7月前
|
机器学习/深度学习
深度学习中的正则化技术
【6月更文挑战第21天】在深度学习领域,正则化技术是防止模型过拟合的重要手段。本文将深入探讨几种常见的正则化方法,包括L1和L2正则化、Dropout、以及数据增强等,并分析它们在实际应用中的效果与挑战。通过比较不同正则化策略的优劣,我们旨在为深度学习研究者和实践者提供实用的指导和建议。
|
7月前
|
机器学习/深度学习 人工智能 算法
【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
97 3
|
8月前
|
机器学习/深度学习 算法 算法框架/工具
【Python机器学习专栏】深度学习中的正则化与优化技术
【4月更文挑战第30天】本文探讨了深度学习中的正则化和优化技术,以提升模型的泛化能力和训练效率。正则化包括L1和L2正则化以及Dropout,防止过拟合。优化技术涵盖梯度下降法、动量法和Adam优化器,加速模型收敛。Python示例展示了如何在Keras中应用这些技术,如L2正则化、Dropout及Adam优化器。
133 0
|
机器学习/深度学习 算法
深度学习正则化
深度学习正则化
97 0
|
机器学习/深度学习 算法 网络架构
深度学习中的正则化的应用(最全)
深度学习中的正则化的应用(最全)
411 0
|
机器学习/深度学习 算法 Serverless
瞎聊深度学习——神经网络基础(概念,正则化)
瞎聊深度学习——神经网络基础(概念,正则化)