介绍
该文致力于处理神经网络中的过度拟合。
过度拟合将是你主要担心的问题,因为你仅使用 2000 个数据样本训练模型。存在一些有助于克服过度拟合的方法,即 dropout 和权重衰减(L2 正则化)。
我们将讨论数据增强,这是计算机视觉独有的,在使用深度学习模型解释图像时,数据增强在任何地方都会用到。
学习示例不足会阻止你训练可以泛化到新数据的模型,从而导致过度拟合。如果你有无限的数据,你的模型将暴露于当前数据分布的所有特征,从而防止过度拟合。
通过增加具有不同随机变化的样本来产生逼真的图像,数据增强使用现有的训练样本来生成更多的训练数据。
你的模型不应在训练期间两次查看同一图像。这使模型更加通用并暴露了数据的其他特征。
Keras 可以通过使用ImageDataGenerator函数定义要应用于图像的各种随机变换来实现这一点。
让我们从一个插图开始。
- ####-----data augmentation configuration via ImageDataGenerator-------####
- datagen = ImageDataGenerator(
- rotation=40,
- width_shift=0.2,
- height_shift=0.2,
- shear=0.2,
- zoom=0.2,
- horizontal_flip=True,
- fill_mode='nearest')
让我们快速回顾一下这段代码:
rotation:这是图像随机旋转的范围。它的容量在(0-180)度之间。
width_shift 和 height_shift:范围(作为总宽度或高度的一部分),在其中垂直或水平随机翻转图片。
shear:用于随机应用剪切变换。
zoom:用于随机缩放图像。
Horizontal_flip :用于随机水平翻转一半图像
fill_mode:是用于填充新生成的像素的