模型总览如下:
解决问题:同种重要性对待每种模态,可能使得得到的特征表示次优,例如过度强调学习到的表示中的特定模态。以MMGCN为例,下图为MMGCN模型总览。
如上图所示MMGCN在每种模态上构建用户-物品二部图,然后在每一个模态二分图上进行GCN,将结果与其他两个特征(id,原始特征)进行combination,得到该模态的representation(因为各模态所处语意空间不同,其实这一步做的是collaboration fusion,限制是不变量为id),论文中将各模态的represention做了sum得到最终的用户/物品特征表示。这就可能存在一个问题,当训练集中的数据因过少等原因,无法表现出用户真实的兴趣,某一模态占有较高的地位时,用这些数据训练模型,模型可能就会“偷懒”,给这个模态较大的权重就可以得到很好的结果。那该怎么办的?根据多模态一致性准则(多模态数据共享某些一致的语义信息),去除某一个模态应不影响用户主要意图,用剩下的模态去训练久好了,那该怎么实现呢?? 这就是这篇论文的主要贡献,请继续阅读。
本文贡献:
一、本文采用了一个多任务训练策略,将最优化评分任务目标和对比学习目标相结合。损失函数如下,共由两部分组成:预测评分和实际评分之间的差距以及对比学习损失(对于每一个用户-物品对,又分别将用户/物品做为锚,所以存在两个对比学习损失):
二、本文提出两种正样本数据增强(对某一模态Masking,边随机变丢弃)以及一种负样本生成方式(挑战负样本)。
Modality Masking:
其中p为掩盖每种模态的概率和为1,这种方法可确保各模态的有效贡献(我们通过在输入层用随机初始化的嵌入替换用户/项目特征的特定模态来实现这种掩蔽操作。)
Modality Edge Dropout:
边丢弃生成的子图仍然可以保留用户的主要意图,在这种增强数据上进行对比学习可以捕捉每种模态图中每个节点的有效模式,再通过concat赋予representation。
Challenging Negative Samples
对hard negative samples进行特征挖掘,对特征融合时某一模态特征可能主导represention的情况很有用。它将物品某一模态的特征换成了其他物品的,迫编码器在仅有一个模态不同的情况下区分正负样本。如下图所示,d(j)为随机下标