摘要
有噪音标签的数据集应该如何处理?我们提出了MRL方法,这包含两个模块:
RC模块是用来使得深度学习网络专注于clean data而并非noise data.
MC模块是使用对比学习,最大化不同模态数据之间的互信息。
这可以分别用来化解噪音的影响和交叉模态的干扰。
提出方法
1,不同模态的数据映射到同一空间
其中i是模态,j是样本的例子。
2,鲁棒性聚类分配
我们首先找出K个聚类点,把它们的集合定义为:
某个样本属于第k个聚类点的概率是:
其实这个可以类比于softmax:
意义是一样的,只是变量不一样而已。
然后我们就可以使用cross-entropy来使得正确分类的那个概率最大:
它的曲线如蓝色的曲线所示:
可以观察到一个现象,就是CE倾向于优化hard-samples,(个人觉得)因为hard samples主宰了梯度(hard samples对应的斜率最大)。
CE对于clean-data是好用的,但是对于noisy-data反而更容易过拟合,造成效果不好。
所以在这里我们提出了一种新的损失RC,使得easy-samples主宰梯度,实际上easy-samples在这里就是clean-data.
这实际上就是倾向于优化负样本的log-likelihood.(不用乘以那个真正的0-1的q,减去正的就是默认乘了)。
它的效果就是好学的样本,也就是clean-data主宰了梯度,达到了去除噪音的效果。
3,多模态对比学习
这里我们通过pair的参照进行对比学习:
这个公式的意义是,第j个样本和所有模态的pair的样本做内积,与这个第j个样本与所有模态的所有样本做内积然后相加取比值。
这个比值应该最大,所以我们可以最大化以下的公式:
转化为最小化以下的公式:
这样通过pair和instance的监督方式(这个模块不涉及到noise标签),我们就利用上了对比学习。
4.两个模块的损失整合
然后将这两部分的损失整合起来: