--百度转载20240512--复现论文算法-Deep Self-Learning From Noisy Labels-

上周读了几篇关于如何处理noisy label的论文,这里记录一下对于论文Deep Self-Learning From Noisy Labels的一些理解以及自己的代码实现。

文中主要提出了一个矫正noisy label的方法,以及如果利用这些矫正过的标签。从上图可以看出,整个流程分为两个部分,上半部分其实就是普通的分类网络,网络结构任意,只是在计算loss时,同时计算了原始label的loss以及下半部分矫正过的label的loss。文章的重点在下半部分,即如果矫正noisy label。

作者通过相似性评测计算,为每个类别选出了若干个prototypes,然后再计算所有数据和这些prototypes的相似性均值,与哪一类的值小,说明越接近那一类,则将label改成那一类。在计算相似性上,作者没有使用常用的距离来算,而是使用了cosine来算相似性。

为了为每个类别选出具有代表性的而他们之间又有一定差异的prototypes,作者又使用了一个不是很复杂的trick,具体可以参考论文描述。

作者上边的这个矫正noisy label的操作,其实相当于对数据做了一次聚类,只是将聚类相似性计算换成了cosine,并且选出了多个prototypes,即多个中心点。

从论文的结果看效果还不错,作者分别手动生成了不等比例的symmetric和asymmetric的noisy label进行测试。由于作者没有开源代码,而且网上也没找到其他人的实现,刚好我对这方面也比较熟悉,所以自己动手复现了一下。

我自己测试集使用的是fashion-mnist,分别进行了symmetric测试和asymmetric测试,发现结果不够稳定。对于symmetric的效果比较明显,而对于asymmetric noisy label的处理基本无效。而且我又尝试了一下对于聚类结果的label再用此算法矫正,发现结果很平稳,没有下降,也没有提升,基本无效。

比较失望,先将代码公布一下,有不完善的地方,欢迎交流指正。

https://github.com/sarsbug/SMP

参考链接百度安全验证icon-default.png?t=N7T8https://baijiahao.baidu.com/s?id=1663333704137002338

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值