simclr动图
https://vdn1.vzuu.com/SD/9e10ead6-5a34-11eb-b86b-26b5ae12cbf4.mp4?disable_local_cache=1&auth_key=1629184957-0-0-6f9844a215936bb0f10ab911ee8301ae&f=mp4&bu=pico&expiration=1629184957&v=hw
Simclr核心观点:
- 数据增强(data augmentations)的组合对预测任务的表现有重要影响,对于非监督学习而言,数据增强的提升作用更大;
- 本文定义了一个对比损失和表征之间的可学习非线性转换,大幅提高了表征的质量;
- 具有对比交叉熵损失(contrastive cross entropy loss)的表征学习得益于归一化嵌入和适当地调整温度参数;
-
与监督学习相比,对比学习可以通过更多的训练和更大的Batch Size 获得更好的表现,更深更宽的网络对对比学习表现的提升也有益。
1.simclr涉及的数据增强方法,需要注意的是,在实验中,其只使用了随即裁剪(包括裁剪、大小调整和翻转)、颜色失真和高斯模糊三种手段。
image.png
作者认为单一数据增强方法都不足以学到良好的表征,即使模型可以识别出任务中的正对,组合增强方法会增大预测难度,但是能够显著提升表征质量,最后作者发现,随机裁剪和颜色失真的组合最有利于学习表征。
image.png
实际用到的数据增强方法
image.png
simclr中将数据增强后的图像作为原始图像的相近样本,在这一设定下,作者实验发现rotate等数据增强方法对于simclr是有反作用的,CSI作者解决的异常检测问题,其pretext task设置为分辨出原始图像与增强后的图像,实验发现simclr中性能不佳的rotate反而在异常检测中性能较好。可能的原因是simclr与csi的设定可以认为是相反的,对于csi的设定,rotate等形状变化类数据增强方法对分类任务更敏感(作者认为是引入更显著的分布差异)。
1.CSI论文中涉及的数据增强方法
image.png
2.将原图与增强后的图进行二分类任务
image.png
可以得出perm和rotate这两种涉及形状变换的数据增强分发对于对于二分类任务的贡献最大,说明形状变换的数据增强方法较大的改变了数据的分布。
3.在vanilla SimCLR上自监督学习任务对数据增强方法进行消融实验
Align表示把数据增强当作正样本(认为添加增强的图像与原图相似性高)
Shift表示把数据增强当作负样本(认为添加增强的图像与原图相似性低)
image.png
实验可知,baseline任务性能为87.9,将相关数据增强方法当作正样本会降低vanilla SimCLR的性能,特别是perm和rotate的反作用最明显。
而当作负样本时候,将相关数据增强方法当作正样本会提升vanilla SimCLR的性能,特别是perm和rotate的作用最明显。
接上表,受simclr启发,作者也尝试了使用多种数据增强方法要优于单种数据增强方法,以rotate作为基础,结合其他的数据增强方法。
image.png
4.数据集与数据增强的关系
作者分析了数据集特点与数据增强的关系。对于旋转不变性的数据集,如下图的编织纹理类数据集,旋转不影响语义,故对任务无促进作用,而高斯噪声则对任务有价值。更详细的没有说明,数据集适应的数据增强方法只能通过实验证明。
image.png
一些想法
在将自监督学习引入异常检测方法中,
- 数据增强实际上是让增强后的数据与原数据形成差异,以便于模拟异常数据。(可通过t-sne查看分布)
- 变形类数据增强方法(rotate/perm)更容易与原始图像区分,说明其与原始图像的分布差异更大,原始其他数据增强是在原图基础上做的。
- 不同数据集的正常/异常数据分布不同,像mnist/cifar10等数据集模拟异常检测任务,争产样本与异常样本的分布差异较大,使用变形类数据增强方法可能更能模拟此种差异。而像ped2这种实际场景下的异常事件数据集,正常/异常样本的分布差异可能很小,此时使用变形类数据增强方法是不合适的。可以结合t-sne分析哪些数据增强方法与异常样本集合更像,以及如何量化增强后的正常数据与异常数据的相似度(余弦距离?)
网友评论