深度学习

使用数据增强

2019-04-16  本文已影响0人  庵下桃花仙
训练精度和验证精度.png 训练损失和验证损失.png

发生了过拟合。训练精度随着时间线性增加,直到接近 100%,而验证精度则停留在 70%~72%。验证损失仅在 5 轮后就达到最小值,然后保持不变,而训练损失则一直线性下降,直到接近于 0。

不使用前面介绍的降低过拟合技巧,使用一种针对于计算机视觉领域的新方法,在用深度学习模型处理图像时几乎都会用到这种方法,它就是数据增强(data augmentation)。

使用数据增强

从现有的训练样本中生成更多的训练数据,其方法是利用多种能够生成可信图像的随机变换来增加(augment)样本。其目标是,模型在训练时不会两次查看完全相同的图像。这让模型能够观察到数据的更多内容,从而具有更好的泛化能力。

利用 ImageDataGenerator 来设置数据增强
datagen = ImageDataGenerator(
    rotation_range=40, # 角度值(0~180范围内),表示图像随机旋转的角度范围
    width_shift_range=0.2, # 水平方向上平移的范围(相对于总宽度的比例)
    height_shift_range=0.2, # 垂直方向上平移的范围(相对于总高度的比例)
    shear_range=0.2, # 随机错切变换的角度
    zoom_range=0.2, # 图像随机缩放的范围
    horizontal_flip=True, # 随机将图像水平翻转
    fill_mode='nearest' # 用于填充新创建像素的方法,这些新像素可能来自于旋转或宽度/高度平移
)
上一篇 下一篇

猜你喜欢

热点阅读