对比学习范式是什么?代理任务和目标函数在对比学习中如何起作用?

对比学习的典型范式就是:代理任务+目标函数。代理任务和目标函数也是对比学习与有监督学习最大的区别(划重点!!!)。回忆一下有监督学习的流程,输入x,通过模型输出得到y,输出的y和真实label(ground truth)通过目标函数计算损失,以此进行模型训练。而对于无监督学习或自监督学习来说,是没有ground truth的,那怎么办呢?代理任务就是来解决这个问题的,我们用代理任务来定义对比学习的正负样本,无监督学习一旦有了输出y和真实的label,就需要有一个目标函数来计算两者的损失从而指导模型的学习方向。

代理任务和目标函数在对比学习中如何起作用?下面通过SimCLR提出的对比学习框架来说明。

上面的框架一共包含了4部分。

(1)代理任务作用阶段。对于同一样本x,经过两个代理任务分别生成x~i和x~j两个样本,simCLR属于计算机视觉领域的paper,文中使用数据增强手段来作为代理任务,例如图片的随机裁剪、随机颜色失真、随机高斯模糊,x~i和x~j就称为一个正样本对。

(2)特征提取编码器。f(⋅)就是一个编码器,用什么编码器不做限制,SimCLR中使用的是ResNet,x~i和x~j通过f(⋅)分别得到hi和hj。

(3)MLP层。通过特征提取之后,再进入MLP层,SimCLR中强调了这个MLP层加上会比不加好,MLP层的输出就是对比学习的目标函数作用的地方,通过MLP层输出zi和zj。

(4)目标函数作用阶段。对比学习中的损失函数一般是infoNCE loss,zi和zj的损失函数定义如下:

其中,N代表的是一个batch的样本数,即对于一个batch的N个样本,通过数据增强的得到N对正样本对,此时共有2N个样本,负样本是什么?SimCLR中的做法就是,对于一个给定的正样本对,剩下的2(N-1)个样本都是负样本,也就是负样本都基于这个batch的数据生成。上式中sim(zi,zj)其实就是cosin相似度的计算公式(sim(u,v)=uTv/||u||⋅||v||),1[k≠i]输入0或1,当k不等于i时,结果就为1否则为0。τ是温度系数。

从上式可以看出,分子中只计算正样本对的距离,负样本只会在对比损失的分母中出现,当正样本对距离越小,负样本对距离越大,损失越小。

免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、图像识别、OpenCV、NLP、YOLO、机器学习、pytorch、计算机视觉、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文等。

下面是部分截图,点击文末名片关注我的公众号【AI技术星球】发送暗号 321 领取(一定要发暗号 321)

目录

一、人工智能免费视频课程和项目

二、人工智能必读书籍

三、人工智能论文合集

四、机器学习+计算机视觉基础算法教程

 五、深度学习机器学习速查表(共26张)

学好人工智能,要多看书,多动手,多实践,要想提高自己的水平,一定要学会沉下心来慢慢的系统学习,最终才能有所收获。

点击下方名片,扫码关注【AI技术星球】发送暗号 321 免费领取文中资料。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值