避免过拟合的基本方法之一是从数据源获得更多数据,当训练数据有限时,可以通过数据增强(data augmentation)变换原有的数据生成新的数据来扩大训练集。即使拥有大量数据,进行数据增强也是有必要的,因为可以防止神经网络学习到不相干的模式,从根本上提升整体性能。还要注意在使用增强技术的同时,必须确保不增加无关(无意义)的数据。
数据增强的主要方法有:
第一种:图像处理型(利用一定手段生成样本空间没有的样本)
翻转flip
将图片水平或垂直翻转。
旋转rotate
旋转后图像维度可能不会被保留,如果是正方形图像,旋转90度后图像的尺寸会被保存;
如果图像是长方形,旋转180度后图像的尺寸也会被保存;
但用更小的角度旋转图像将会改变最终图像的尺寸。
缩放re-scale
图像可以被放大或缩小,放大时大多数图像处理框架会按原始尺寸对放大后的图像进行裁剪;缩小时由于图像尺寸比原来的尺寸小,不得不对图像边界之外的内容做出假设。先考虑放大的情况:
裁剪crop
随机从原始图像中采样一部分,然后将这部分图像调整为原始图像大小。注意裁剪和缩放的区别。
平移pad