以下文章来源于皮皮嬉 ,作者嬉嬉皮
我们知道Supervised Meta-training是通过不断随机采样不同类别数据构建episode的,那么Unsupervised Meta-training呢?episode该如何构建才能保证任务多样性?
一是可以基于伪标签,但如果伪标记策略在元训练过程中固定不变,则可能出现从头错到尾的尴尬局面;二是可以基于生成算法,但生成式方法严重依赖于生成样本的质量,并且难以扩展到大规模问题中。
本文所提出的Pseudo-supervised Contrast (PsCo)借鉴对比学习给出了解决方案:
在元训练过程中,使用momentum network动态地逐步改进伪标签策略;
为构建多样化任务,PsCo使用momentum queue以online的方式使用previous mini-batches构建不同的任务。
上图中,是Online network,是momentum network,是的指数滑动平均(EMA),和分别是一强一弱两个数据增强,是特征提取器,是projector MLP,是predictor MLP,momentum queue维护了Previous mini-batches中的数据momentum representations 。由于大量的负样本在对比学习中起着至关重要的作用,因此可以通过维护queue来重用previous mini-batches的key表示。
根据上图,具体来说:
随机给定一个包括个无标签样本的mini-batch ,PsCo将其视为个不同类别的query(测试样本),即-way。
对每个类别,基于momentum network 提取的特征表示,PsCo在momentum queue为每个类别再match top-个shots(support samples),即-shot。
以上,我们得到了当前的-way -shot episode,简单说是在当前mini-batch中找-way,在previous mini-batches中找-shot。
最后,作者通过有监督对比学习优化模型。
上述过程中,一个关键问题是如何match到support samples才能保证episode多样性,且如何在无标签限制下为每个类别match到语义相近的support sample。
先看下对比学习目标函数:
其中和是L2标准化后的query和key(在PsCo中是support samples)特征表示。
表示和是positive(1)还是negative(0)。
对比损失中的的构建依赖于根据当前mini-batch样本在previous mini-batches中的匹配问题。
根据上述需要,作者定义了下属分配问题:
是先前mini-batch样本的数量,是当前mini-batch中的数量,和分别是和中的样本。A对正相关pair为1,负相关pair为0,因此通过可以搞定分配问题。约束条件保证了每个query可以匹配到个support sample,且每个support sample最多只归属于一个query类别,保证了match到的每个support sample都是不同的。
对于本文的目的来说,为每次训练迭代获得上述分配问题的精确最优解可能代价太大,所以实现中作者使用Sinkhorn-Knopp算法:
上式中对熵的最大化可以使样本分配更均匀。
关于Sinkhorn算法推荐阅读:
https://michielstock.github.io/posts/2017/2017-11-5-OptimalTransport/
得到最优后,作者选择其中每行的top- 用来构建N-way K-shot伪任务pseudo-task,其中包括了query ,support ,以及伪标签分配矩阵。
给定一个随机mini-batch,query和key的特征表示可由下式计算:
其中Normalize表示L2标准化。
元训练:使用伪任务的有监督对比学习
把对比学习框架应用至构建的元任务中:
又因为PsCo使用了MoCo框架,所以作者也把MoCo的目标函数加入总目标函数中:
其中,当且仅当时。由的滑动平衡计算。
动量表示的弱增强
为了成功地找到伪标签分配矩阵A,作者应用了弱数据增强(即A2弱于A1)。这减少了momentum representation中的噪声,从而增强了的PsCo的性能。
元测试
元测试时将忽略动量网络,仅使用online network 。
分别计算query和support特征为:
query标签预测可以通过计算query特征与原型特征之间的内积相似度得到:,其中即原型特征。
cross-domain额外使用自适应策略。
当面对跨域问题时,需要进一步的适应meta-test domain。
作者使用support作为queries,使用support 分别计算:
以及标签分配矩阵,当且仅当时 (注意support是有标签的)。
然后作者仅通过对比学习并使用少量的迭代次数优化和参数(参数不动):
实验
基准测试与跨域问题
PsCo在基准测试中与有监督meta learning算法(MAML,ProtoNets)相当,在小规模跨域fsl问题上大幅优于有监督meta learning算法(MAML,ProtoNets),但在大规模跨域fsl问题上,与有监督baseline勉强相当。
消融实验
(a) 为了进一步验证任务构造在元学习期间得到了逐步改进,论文评估了query和相应的support样本具有相同的真实标签的准确率随着训练过程的变化(下图)。
(b) 论文通过测量不同伪标签之间所选support samples的重叠率,进一步分析了Sinkhorn-Knopp算法的效果。可见Sinkhorn的使用使重叠率稳定为0。
(cd) 论文分别在in-domain和cross-domain使用了面对cross-domain时额外使用自适应策略,发现自适应方案在cross-domain基准测试中比在in-domain基准测试中更有用。
上文中提到了对online network使用strong augmentation,对monmentum network使用weak augmentation,其中strong是指同时使用几何和颜色变换,而weak只使用集合变换。上表证明了论文所使用策略的正确选择。
在训练过程中,需要不断匹配-shot,取值多少合适也是需要考虑周全的问题,上表所汇报的结果说明了PsCo对并不是很敏感,但从结果上看,时在miniImagenet数据集上表现最优。
总结
尽管无监督元学习(UML)和自监督学习(SSL)具有相同的目的,即利用未标记的数据学习可泛化的知识来完成未见的任务,但UML和SSL之间仍然存在差异。在本文中,作者通过为UML定制各种SSL组件来弥补这一差异。或许UML是元学习更具前景的解决方案。
转自:“arXiv每日学术速递”微信公众号
如有侵权,请联系本站删除!