目录
吃瓜背景
Leak现场还愿
用魔法打败魔法
后话
吃瓜背景
事情的起因是看到知乎上一个问题如何看待AAAI22《Mind Your Clever Neighbours》疑似真实标签做无监督?
原问题链接:https://www.zhihu.com/question/504163027
这篇论文完整题目是Mind Your Clever Neighbours: Unsupervised Person Re-identifification via Adaptive Clustering Relationship Modeling
大家争论的焦点是这篇文章是不是利用了泄露(Leak)。
Leak现场还原
抱着严谨吃瓜的态度,周末我仔细去arxiv看了下原文,确认了一下,基本如下:
1.泄露了
2.把泄露的作用,包装到花里胡哨的Graph Correlation Learning上。
3.我可以用一个特别简单的方法,替换掉他的Graph Correlation Learning,取得比他更好的效果,其他都不用变。
文章是解决无监督reid的,基本的原理就是,使用“GCL”优化特征表达,聚类得到伪标签,再用对比学习的方法改善reid的特征表达。
先把那个leak的原理讲一下吧,reID领域有几个的数据集,文件名与标签有关。
连续的视频帧,保持了文件名上的连续,这个leaky太常见了。
而且比赛里面经常用到。。我之前写了很多个关于这种leak的使用方法。
那我们看看作者的问题在哪吧。
作者的方法用那个图表达的比较清楚了
整个pipeline如下
1.resenet抽特征(原始表征)
2.GCL做一个batch内的信息传播,注意力和周围节点做了一次聚合,聚合出特征与第一步的特征拼接(增强表征1)
3.聚类得到伪标签
4.SCL对比学习,训练表征(增强表征2)
5.相似度计算reID
用魔法打魔法
乍一看。12345没毛病。
但其实问题出在第二步中拼接的那个玩意。那个玩意,是有这个batch的全局信息的。而一个batch,毕竟大部分id都是相同的。
其实作者大可不必用这么复杂的东西。
直接把第二步,替换成这样:
一个batch内,算一个batch内所有样本的resnet平均表征,然后拼接上来。真的就这么简单。
我的方法也不用微调,也不用注意力。
感兴趣的同学可以实验下,效果绝对比那个论文里的第二步效果好。
后话
不去讨论作者这么做的动机吧。
作者看起来,绕了一个弯弯利用了泄露,把功劳包装到GCL上。
其实真正的功劳是泄露了不应该属于你的信息。
经常玩比赛的一定都知道,要对顺序,ID,之类的事情足够敏感。这是泄露的重灾区。
我一直把持的观点是,比赛中不反对使用leak,但是你的客观诚实,告诉大家你用了leak。并且公布出来。
论文中不能使用leak,毕竟你吹的东西,跟你起作用的东西就对不上了。
关于leak,我之前有个文章也讲过类似的,就跟下面这个差不多
找leak是个好事,也是一个锻炼人的能力,不要走火入魔啊~
历史精彩文章:
Kaggle GM qrfaction:数据竞赛方法论看这一篇就够了