数据增强之mixup算法详解
(一)、什么是数据增强?
(1). 数据增强主要指在计算机视觉领域中对图像进行数据增强,从而弥补训练图像数据集不足,达到对训练数据扩充的目的。
(2). 数据增强是一种数据扩充方法,可分为同类增强(如:翻转、旋转、缩放、移位、模糊等)和混类增强(如mixup)两种方式。
(二)、同类数据增强方式主要有哪些?
(1). 翻转Flip
可分为水平翻转,垂直翻转
(2). 旋转Rotation
(3). 缩放Scale(向外缩放,向内缩放)
向外缩放时,最终图像尺寸将大于原始图像尺寸,大多数图像框架从新图像中剪切出一个部分,其大小等于原始图像。而向内缩放,因为它会缩小图像大小,迫使我们对超出边界的内容做出假设。
(4). 随机裁剪(Random Crop)
与缩放不同,随机裁剪只是从原始图像中随机抽样一个部分,然后我们将此部分的大小调整为原始图像大小。
(5). 移位(Translation)
移位只涉及沿X或Y方向(或两者)移动图像。这种增强方法非常有用,因为大多数对象几乎可以位于图像的任何位置,移位时我们需要对边界作出假设。
(6). 模糊(Gaussian Noise)
当您的神经网络试图学习可能无用的高频特征(大量出现的特征)时,通常会发生过拟合。具有零均值的高斯噪声基本上在所有频率中具有数据点,从而有效地扭曲高频特征。但是这也意味着较低频率的数据(通常是您的预期数据)也会失真,但您的神经网络可以学会超越它。添加适量的噪声可以增强网络学习能力。
(三)、mixup混类数据增强方式
(1). mixup介绍
mixup是一种运用在计算机视觉中的对图像进行混类增强的算法,它可以将不同类之间的图像进行混合,从而扩充训练数据集。
(2). mixup原理
假设b a t c h x 1 batch_{x1}batchx1是一个b a t c h batchbatch样本,b a t c h y 1 batch_{y1}batchy1是该b a t c h batchbatch样本对应的标签;b a t c h x 2 batch_{x2}batchx2是另一个b a t c h batchbatch样本,b a t c h y 2 batch_{y2}batchy2是该b a t c h batchbatch样本对应的标签,λ \lambdaλ是由参数为α \alphaα,β \betaβ的贝塔分布计算出来的混合系数,由此我们可以得到mixup原理公式为:λ = B e t a ( α , β ) (3.1) {\lambda=Beta(\alpha,\beta)\tag{3.1}}λ=Beta(α,β)(3.1)m i x e d _ b a t c h x = λ ∗ b a t c h x 1 + ( 1 − λ ) ∗ b a t c h x 2 (3.2) mixed\_ batch_x=\lambda*batch_{x1}+(1-\lambda)*batch_{x2}\tag{3.2}mixed_batchx=λ∗batch