对比学习与多模态任务实战---对比学习

发布时间:2024年01月19日

🌞欢迎来到深度学习的世界?
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏??留言📝

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


对比学习

? 对比学习解决的是什么事情?现有的模型存在着什么问题?

? ? ? 在CV领域,我们常用的预训练模型都是分类任务。在NLP领域,也是分类任务。但是分类模型一定合适嘛?比如在imagnet中的输出一定是1000个类别之一,模型在训练的时候,模型的潜力就会被标签所束缚。对比学习等,这些事好像都不需要我们准备标签。

我们小时候咋学习来着?

? ? ??认识的信息很有限,大部分负例都没见过,通过对比来分析谁是谁,比如一开始我们可能只知道猫,下次我们遇到的动物的时候就可以大致的判断其是猫(正样本),或者不是猫(负样本)


标签

? ? ? 怎么定义正负样本呐?相信我们很快就有了想法,我们可以在海量的数据中打标签,把同一类的放到一起,互为正样本。这里我们好像又打上标签了,其实正负样本不是我们打标签的而是自动生成的。正负样本怎么构建呐?


如何表示特征


SimCLR

正样本:

? ? ? 对同一个样本进行两种不同的数据增强变换,经过Encoder展开成向量,然后经过类似MLP(全连接的操作)变成输出向量(特征对比),计算两者之间的相似度。

下游任务(比如目标检测):

? ? ? 此时我们用的是Encoder后的向量做的下游任务,原生的特征泛化能力更强。


BATCH很大,效果才能好


数据输入


特征提取


基本思想


实现分析


数据增强

对结果的影响


MLP


V2版本


多视角任务


BYOL


SimCSE

DropOut(随机去掉某些特征)

案例

DALLE2-pytorch/dalle2.png at main · lucidrains/DALLE2-pytorch · GitHub

这个例子中,不需准备数据。

文章来源:https://blog.csdn.net/zzqingyun/article/details/135661135
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。