伏公子今天读了一篇文章,看到了在线数据增强这个名词,感到很困惑,因此探索了一下,把自己理解的写在这里,伏公子不会去讲定义,只会讲容易理解的解释。
这个在线和离线和我们的是否上网没关系,和QQ的在线状态和离线状态毫无关系,其实我觉得这个在线和离线这个名字起的非常不好,还不如叫静态数据增强和动态数据增强更加形象。
离线数据增强
简单来说,就是把已有的数据进行一些增强(比如,裁剪、旋转、缩放、对比度、光照、镜像、颜色、拉伸等),然后存储起来,放到硬盘中,等需要用的时候,放到运行内存或者是显存中使用。
举个例子,比如你有一个数据集,里面有一万张图片,你进行了一些数据增强操作,现在共有10万张图片了,都在硬盘中,这就是离线的增强,需要用的时候拿出去用。
离线数据增强用的较少,因为比较浪费空间。我们实际上用的也很少。
在线数据增强
就是等到送入深度网络之前,才进行数据的增强操作,比如pytorch的transform,就是用来做数据增强的。原始图片还是那些,每次都有不同的变化,那么就相当于有着不同增强效果的数据了。变化好之后送入神经网络中,动态的,数据集中数据数量不变化。
在线数据增强是我们比较常用,这种变换也是比较合适的,尤其是对于大型数据集。
以上是个人的理解,讲解比较口语化,但是相对来说,更像“人话”。如果有不对的地方,还请指正。