数据增强可以扩充样本、防止过拟合、提高模型鲁棒性,实乃一道美味的餐前小菜。常见的方法有:Random flipping、DropOut、Random Cropping、Batch Normallization等。
近日读了一篇使用随机擦除进行数据增强的方法——《Random Erasing Data Augmentation》,遂总结并记录在此篇博客中,以作备忘。有兴趣的朋友可以点击文章链接查看原文。
1、论文摘要
原文摘要如上,大意为:
本文介绍了一种新的用于训练卷积神经网络的数据增强方法——Random Erasing(随机擦除)。训练时,随机擦除方法会在原图随机选择一个矩形区域,将该区域的像素替换为随机值。这个过程中,参与训练的图片会做不同程度的遮挡,这样可以降低过拟合的风险并提高模型的鲁棒性。随机擦除是独立于参数学习过程的,因此可以整合到任何基于CNN的识别模型中。此方法虽然简单,但却是诸如random cropping、flipping等通用数据增强方法的一个补充,并且普遍地比没有使用随机擦除方法的对比算法效果要好。
作者还贴心的给出了该方法的GitHub地址:https://github.com/zhunzhong07/Random-Erasing 。
2、Random Erasing算法介绍
其实只读摘要就可以了解该方法的思想了,实际应用也是十分简单。不过还是了解下作者提供的算法伪代码:
算法过程不难理解,不过有几点需要说明下:
- Sl、Sh分别是需要随机擦除的矩形面积大小上下阈值;
- r1、r2分别是矩形长宽比re的上下阈值;
- 矩形的长和宽的设置分别是 算法中He、We,其乘积刚好是矩形面积Se,其比值刚好是re。
3、随机擦除的图像
如图:经过随机擦除,原图部分区域被一个布满随机值的矩形框给覆盖了,作者借此来表示图片被遮挡,并以此进行样本数据的增强。
4、利用随机擦除进行数据增强后的效果
首先是图片分类:
然后是 目标检测:
最后是行人追踪:
无一例外,经过随机擦除,基线算法的性能均有一定程度的提升,这也反映了该数据增强的方法是普遍有效的。
5、几点总结
- 数据增强是一种外显式正则化,目的是人工扩展样本,提高模型鲁棒性,降低过拟合风险;
- 随机擦除方法是一种独立于参数学习过程的方法,相当于图像预处理;
- 与其他数据增强算法结合使用,可进一步提高算法性能;