数据增强(data augmentation)在计算机视觉领域是一种非常强大的降低过拟合的技术。
计算机视觉在深度学习中之所以过拟合,原因是学习样本太少,导致无法训练出能够泛化到新数据的模型。如果拥有无限的数据,那么模型能够观察到数据分布的所有内容,这样就不会过拟合。
数据增强是从现有的训练样本中生成更多的训练数据,其方法是利用多种能够生成可信图像的随机变换来增加(augment)样本。其目标是,模型在训练时不会两次查看到完全相同的图像。这让模型能观察到数据的更多内容,从而具有更好的泛化能力。
Keras中可以通过ImageDataGenerator实例读取的图像执行多次随机变换来实现。
from keras.preprocessing.image import ImageDataGenerator
datagen = IamgeDataGenerator(
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest'
)
参数含义:
1)rotation_range:角度值(在0~180范围内),表示图像随机旋转的角度范围。
2)width_shift和height_shift是图像在水平或垂直方向上平移的范围(相对于总宽度或总高度的比例)
3)shear_range是随机错切变换的角度
4)zoom_range是图像随机缩放的范围
5)horizontal_flip是随机将一半图像水平翻转。如果没有水平不对称的假设(比如真实世界的图像),这种做法是有意义的。
6)fill_mode是用于填充新创建像素的方法,这些新像素可能来自于旋转或者宽度/高度平移。
如下通过随机数据增强生成的猫图像:<
深度学习中的数据增强技术

数据增强是降低计算机视觉模型过拟合的有效方法,通过应用随机变换如旋转、平移和翻转等来生成更多训练样本。在Keras中,可以使用ImageDataGenerator实现此功能,帮助模型更好地泛化。尽管如此,数据增强可能不足以完全防止过拟合,通常还需结合其他技术如Dropout。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



