0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PiCO核心点—对比学习引入PLL

深度学习自然语言处理 来源:圆圆的算法笔记 作者:圆圆的算法笔记 2022-08-22 11:35 次阅读

今天给大家介绍ICLR 2022最佳论文PICO: CONTRASTIVE LABEL DISAMBIGUATION FOR PARTIAL LABEL LEARNING,这篇文章解决的是Partial Label Learning(PLL)问题,即训练数据中一个图像不是一个确定的label,而是一组可能的label集合,需要预测出每个样本的真实label。

2e372fe2-21c8-11ed-ba43-dac502259ad0.png

下载地址:https://openreview.net/pdf?id=EhYjZy6e1gJ

1什么是Partial Label Learning(PLL)

有监督学习是最常见的一种机器学习问题,给定一个输入样本,预测该样本的label是什么。Partial Label Learning(PLL)问题也是预测一个样本对应的label,但是和有监督学习问题的差异是,PLL问题的训练数据中,一个输入样本对应多个候选label,真正的label是候选label中的一个。

为什么会有PLL这样的问题呢?因为在现实问题中,label来自于人工标注,而有的样本人工标注比较困难,只标注一个label会造成噪声较大的问题。例如下面的例子中,比较难区分这张狗对应的类别是哈士奇、雪橇犬还是萨摩耶,强行让人工标注成一个确定的label容易在数据中引入噪声。PLL放宽了这种限制,在标注的label中可以引入一些不确定性,给一个样本赋予多个候选label,模型学习从这些label中预测ground-truth对应的那个label。

poYBAGMC-4eAYRYNAACACdSoxmk001.png

2PLL问题的难点

PLL的效果目前和有监督学习还有一定差距。PLL问题的难点在于标签消歧,也就是从候选label集合中预测出样本的真实label。业内一般的解法是学习样本高质量的表示,然后根据在特征空间中距离近的样本更可能属于同一类别这个假设,实现标签消歧。

然而,这种方法的问题在于,当label是一个不确定的集合而不是一个确定值时,这种不确定性也会对表示学习的过程造成负面影响。表示学习效果不好,又会对标签消歧的效果造成负面影响。

为了解决这个问题,ICLR 2022的最佳论文提出了基于对比学习的PLL问题求解方法。利用对比学习提升表示学习的效果,再利用良好的表示对label进行消歧,消歧后的label又有助于进一步生成良好的样本表征,形成良性循环,提升整体效果。

这篇文章提出的Partial label learning with COntrastive label disambiguation (PiCO) framework主要包括利用对比学习提升表示生成质量,以及基于聚类的label消歧两个核心模块。下面,我们走进这篇最佳论文,理解其背后的思想。

3PiCO核心点1—对比学习引入PLL

第一个核心点是为了提升PLL中的表示生成效果,作者将对比学习的方法引入到PLL问题中。对比学习在有监督问题上已经取得广泛的应用,但是在PLL问题上目前还没有相关研究。将对比学习应用到PLL的一个最主要的问题是正样本对如何构造。在有监督学习中,每个样本都有其对应的确定性label,天然可以构造出正样本。而PLL问题中,每个样本的label是不确定的,无法直接获取正样本对。

为了解决上述问题,本文提出利用分类器对样本的预测结果作为样本真实label(也就是伪标签persudo label),根据这个label构造正样本对。在得到正样本对后,利用MoCo对比学习框架进行表示学习,将样本的两种view分别输入两个参数共享的Encoder,其中key侧的Encoder使用动量更新的方式减小计算开销。对比学习loss作为一个辅助任务和主任务联合学习。对MoCo等对比学习框架不了解的同学,可以参考我之前的文章:对比学习中的4种经典训练模式。利用对比学习,可以让样本在特征空间形成类簇,这也为后续的标签消歧奠定了基础。

2e652a6e-21c8-11ed-ba43-dac502259ad0.png

4PiCO核心点2—标签消歧

本文采用了一种类似EM算法的思路实现标签消歧。首先,对于每个类别维护一个embedding向量u,它可以视为类的类簇中心。对于每个样本的label,在PLL中也用一个N维向量表示s,N代表类别数量,表示了该样本属于每个类别的概率。接下来为了实现标签消歧,在训练过程中不断更新s,更新方法是看样本表示和哪个类别向量最近,就用滑动平均的方式对s的那一维进行更新,公式可以表示为:

2e78dd8e-21c8-11ed-ba43-dac502259ad0.png

相应的,类别向量u也利用滑动平均的方式进行更新,公式如下:

2e83af52-21c8-11ed-ba43-dac502259ad0.png

通过这两个步骤的迭代进行,逐步实验标签消歧。这其实和Kmean以及Kmeans++这种方法类似,本质上就是一个聚类过程。从PiCO框架整体来看,对比学习提升表示学习效果,表示质量的提升又促进了下游基于聚类的标签消歧效果,标签的确定性增加又进一步提升了表示生成的质量,形成了良性循环。

5实验结果

本文进行了大量实验从多个角度验证了PiCO解决PLL问题的效果。在样本表示的学习上,从下面的t-SNE向量可视化分析图可以看出,PiCO生成不用类别的向量表示非常清晰,类内的内聚性和类间的差异性相比其他方法都是更好的。

2e92e1a2-21c8-11ed-ba43-dac502259ad0.png

下面的实验结果对比了PiCO和和其他方法在PLL问题上的效果,可以看出PiCO要比其他方法效果有非常显著的提升。

2ea22838-21c8-11ed-ba43-dac502259ad0.png

6总结

本文介绍了ICLR 2022的最佳论文,在Partial Label Learning问题上的解决方法。通过这篇文章,核心是理解顶会最佳论文的设计思路,本文用的求解方法比较优雅,背后的设计思路也非常清晰,背后的思考非常值得学习。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • pll
    pll
    +关注

    关注

    6

    文章

    740

    浏览量

    134576
  • 机器学习
    +关注

    关注

    66

    文章

    8123

    浏览量

    130567

原文标题:ICLR2022最佳论文解读:对比学习解决Partial Label Learning问题

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ESP32-PICO系列技术规格书

    ESP32-PICO 系列是基于 ESP32 芯片 的系统级封装 (SiP) 产品。ESP32-PICO 系列产品包括 ESP32-PICO-D4、 ESP32-PICO-V3、ESP
    发表于 12-12 16:56 0次下载
    ESP32-<b class='flag-5'>PICO</b>系列技术规格书

    【LuckFox Pico Plus开发板免费试用】一根线玩转开发板

    拉高的时间也还好。还是上图吧。 体会 最近工作比较还没时间玩。偶尔在学习这个SDK。 发现luckfox的sdk 还挺好,git 记录了成长进程,可以供我们学习板子一点点增加功能。
    发表于 11-30 11:16

    在树莓派Pico RP2040上怎样使用MicroPython呢?

    RP2040 是一款由树莓派公司设计的 32 位双核 ARM Cortex-M0+ 微控制器芯片,于 2021 年 1 月发布,作为树莓派 Pico 开发板的核心部件。
    的头像 发表于 11-08 14:29 1399次阅读
    在树莓派<b class='flag-5'>Pico</b> RP2040上怎样使用MicroPython呢?

    硬件iic对比模拟iic是好用吗?

    硬件iic对比模拟iic是好用么?为什么很多库函数里面都自带硬件的,而没有模拟的?
    发表于 11-08 06:31

    如何评估分布式PLL系统的相位噪声?

    到参考信号的相位。相位噪声是指PLL系统在输出信号中引入的相位不稳定性,通常由震荡器(oscillator)本身的噪声引起。 分布式PLL系统是一种由多个PLL系统组成的系统,其中每个
    的头像 发表于 11-06 10:26 275次阅读

    【LuckFox Pico 开发板免费试用】1.初次开箱

    首先让AI给大家介绍一下这个板子 ———————————— 当试用LuckFox Pico开发板时,我深刻体验到了其强大的性能和丰富的功能。这一系列开发板基于瑞芯微的RV1103芯片,专为
    发表于 11-02 20:41

    【LuckFox Pico 开发板免费试用】2 LuckFox Pico画的扩展板分享

    花了一时间为LuckFox Pico画了一个扩展板。 将网口接出来了。然后就是USB转串口,还有几个按键和一个摇杆。 打样回来PCB如下: 板子焊好的样子: 通过USB转串口连接开发板
    发表于 11-02 20:03

    【LuckFox Pico 开发板免费试用】+ 系统烧写

    样貌: 板子引脚: 板子学习资料连接: 这个是官方的Github SDK https://github.com/LuckfoxTECH/luckfox-pico LuckFOX的wiki https
    发表于 10-29 20:05

    【LuckFox Pico Plus开发板免费试用】LuckFox Pico Plus开发板测评(一)

    能力高达 0.5TOPs。。 LuckFox Pico Plus核心板基础参数如下: 处理器 Cortex A7 1.2GHz 神经网络处理器(NPU) 0.5TOPS,支持int4、in8
    发表于 10-22 22:40

    树莓派Pico Flash驱动踩坑记录

    树莓派 pico 带有 2MB 的 Flash 资源,以下是我基于官方 Pico C/C++ SDK 对接 Flash 驱动时踩到的一些坑和解决办法。
    的头像 发表于 10-20 11:44 814次阅读

    GPU的张量核心: 深度学习的秘密武器

    GPU最初是为图形渲染而设计的,但是由于其卓越的并行计算能力,它们很快被引入深度学习中。深度学习的迅速发展离不开计算机图形处理单元(GPU)的支持,而GPU中的张量核心则被誉为深度
    的头像 发表于 09-26 08:29 529次阅读
    GPU的张量<b class='flag-5'>核心</b>: 深度<b class='flag-5'>学习</b>的秘密武器

    ESP32-PICO-V3-ZERO技术规格书

    功能。该模组集成 1 个 4 MB 串行外围设备接口 (SPI) flash。 ESP32-PICO-V3-ZERO 的核心是 ESP32 芯片 *。ESP32 是集成 2.4 GHz Wi-Fi
    发表于 09-18 07:07

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器学习算法对比 机器学习算法入门、介绍和对比 随着机器
    的头像 发表于 08-17 16:27 630次阅读

    Pico W的无线功能

    去年6月,我们推出了树莓派Pico W(https://www.raspberrypi.com/news/raspberry-pi-pico-w-your-6-iot-platform/),这是我们
    的头像 发表于 06-19 14:51 645次阅读
    <b class='flag-5'>Pico</b> W的无线功能

    如何让树莓派Pico支持LoRaWAN?

      LoRaWAN是由LoRa联盟推出的一个低功耗广域网规范,这一技术可以为电池供电的无线设备提供区域、国家甚至全球的网络。   它瞄准了物联网中的一些核心需求,比如安全的双向通讯、移动化和本地服务
    发表于 05-11 10:44