【论文笔记】2020ICML SimCLR
论文链接
论文链接:https://arxiv.org/pdf/2002.05709.pdf
代码链接:https://github.com/google-research/simclr
基本思想
对同一张图像x进行不同的data augmentation,得到多个view,这些view要相互吸引;对于来自不同图像的view,要相互远离。论文相当关键的一部份就是研究了data augmentation对于unsupervised contrastive learning的帮助。
Data augmentation对于特征学习的重要性
Data augmentation对于训练好unsupervised contrastive learning的模型非常的关键。一些强力的augmentation技巧可以大幅提升SimCLR,但对于原本supervised的方法却不见得有帮助。论文中提到一个细节:单纯使用random crop其实没什麽效果,要加上color distortion后才会有显著的效果。这是因为原本的 random crop 切出来的图片 在pixel value的分布其实相差不大,主要是在scale与offset上的不同,相当不利于CNN的contrastive learning,而这两种加上color distortion后的 pixel value的分布就会有明显的变化,使得适合作为contrastive learning的学习对象。
Backbone
ResNet-50(4x),即网络宽度是ResNet-50的4倍。
在representation和contrastive loss之间添加全连接层
通过MLP,也就是全连接层,可以学习出数据的非线性信息,是对上一步的一个增强。通过这一步的学习就可以得出同一类别数据的共同信息特点。在representation与contrastive loss间使用可学习的non-linear projection,避免计算 similarity 的 loss function在训练时丢掉一些重要的feature。论文中使用非常简单的单层MLP,配上ReLU activation function作为non-linear projection。
SimCLR性能如何?
在ImageNet数据集上,SimCLR能得到与2012年AlexNet相同的性能,但是仅仅使用了1%的标签,这归功于两点:
- 首先在具有残差连接的深度卷积网络上做无监督表征学习。
- 之后在具有标签的少量数据集上微调。
参考资料
[1] https://zhuanlan.zhihu.com/p/197802321
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通