动机
在以往的基于GCN的多模态推荐的工作中,大多利用下图所示的方法进行图级别的多模态融合。
- 如(a)所示,该方法为每个模态单独创建一个子图,最终通过拼接或者注意机制等操作进行多模态融合。模态信息在自己的子图中进行传播,不同模态之间的信息不会相互影响,忽略了模态之间的潜在联系;
- 如(b)所示,该方法是基于节点对齐的方法,物品的每一个模态都被视为一个节点,与其他模态和用户连接。模态之间的信息可以在这个异质图中进行传播,但会引入额外的噪声,并且该方法只适用于小规模数据,否则会带来巨大的内存消耗。
主要工作
如下图所示,为了解决上述提到的问题,研究提出了Edge-wise Multimodal Modulated Graph Convolutional Network(EgoGCN)的模型。它在保留图(a)单模态子图的基础上,添加了一个自适应的融合操作模块(EGO)来指导传播模态之间的信息。EGO融合能够学习一个edge-wise多模态调制器,在模态内部信息传播的过程中通过邻居节点其他模态的信息来调制节点的特征。
该调制器包括两个部分:
- 基于重要度感知的硬调制 E G O hard \mathrm{EGO}_{\text {hard }} EGOhard :基于用户-物品交互的重要程度融合部分邻居节点的模态信息
- 基于影响驱动的软调制 E G O soft \mathrm{EGO}_{\text {soft }} EGOsoft :基于其他模态的影响程度指导所有邻居节点信息的融合。
以往的工作
-
MMGCN
为每个模态创建一个子图来学习用户对物品某个模态的偏好。 -
HUIGN
在每个模态图上还建模层内和层之间的关系(学习多层次的用户意图,从细粒度到粗粒度) -
GRCN
GRCN探讨了隐式反馈的影响,并在多模态图中整合了软剪枝机制。 -
LATTICE
LATTICE考虑了在合并多模态图中注入物品与物品之间的关系。这种方法不善于捕捉各模态之间潜在的相互关系。
模型设计
模型的框架如下图所示,主要包括三个部分:多模态传播、ID嵌入传播以及预测层。
多模态传播
为了既保留模态内部的信息又有模态之间的信息传播,作者提供了两种策略:硬调制和软调制。
硬调制
首先给出一个定义:
亲和度(affinity)——衡量用户和物品之间的关联程度。
其中,
i
m
,
(
0
)
T
i_{m,(0)}^{T}
im,(0)T代表物品的单模态特征映射到用户嵌入空间的可学习得嵌入向量。
u
m
,
(
0
)
u_{m,(0)}
um,(0)代表用户u对模态m的偏好表征。上述公式以类似softmax的形式计算亲和度分数。
s
i
→
u
m
s_{i \rightarrow u}^{m}
si→um值越大,代表
i
m
,
(
0
)
T
i_{m,(0)}^{T}
im,(0)T对建模用户u在模态m下的贡献越大。基于这个推论,提出了硬调制的方法,用于学习由该分数控制的是融合还是保留邻居节点模态信息。公式如下:
i ^ m , ( 0 ) , u \hat{i}_{m,(0), u} i^m,(0),u:如果物品i对用户u的亲和度分数超过了阈值,则将物品i在其他模态下的表征取平均值作为u聚合的邻居特征。若未超过,代表i对u的影响不大,则不引入其其他模态下的信息,取原模态下的初始值。同理 u ^ m , ( 0 ) , i \hat{u}_{m,(0), i} u^m,(0),i。
软调制
其实就是不同模态的加权和。
模态影响门——物品i对用户u,建模模态h对模态m的影响程度。计算公式如下:
其中,h代表除模态m以外的其他模态。
对于中心节点
u
m
u_{m}
um,其聚合的邻居特征计算公式如下:
邻居聚合
首先基于更新的特征重新计算亲和度分数。
随后更新中心节点的值:
基于上述过程,传播了多模态之间的信息。后续层继续融合模态之间的信息对实验结果并没有什么提升,同时还会映入一些噪声。EGO融合的关键思想就在于传播适当数量的多模态信息。因此,在后续的层中,执行常规的节点聚合和图更新操作:
最终以最后一层的输出作为用户和节点的表征:
ID嵌入传播
引入ID Embedding传播,遵循LightGCN的方法,在用户-物品二部图上进行图卷积,捕捉semantic-free的用户-物品协同嵌入。
最后得到的ID embeddings为多层嵌入之和:
在本模型中,多模态部分和ID的部分是分开的,这样的解耦设计简化了模型并提高了性能(重点在于多模态而非协同信号,因此使用了最简单有效的ID embedding进行GCN的方法)
预测层
将多模态嵌入和ID嵌入拼接作为最终的表征:
预测得分以内积的方式计算:
实验结果
基线对比试验
在Movielens上使用硬调制效果最好,在Tiktok上使用软调制效果最好。两者均优于其他极限模型。
消融实验
variant 1:去掉Ego融合,只保留ID embedding,效果急剧下降;
variant 2:ID embedding同时
variant 3 & varaint 4:分别是使用图聚合以及节点对齐的方式实现多模态融合。前者忽略了模态之间的相互影响,后者引入大量噪声,效果均没有EgoGCN好;
参数 ε \varepsilon ε
较小的
ε
\varepsilon
ε 使模态之间的信息传播优于模态内部之间的信息传播,因为它允许即使较小关联的用户和物品,也能传播其他模态的信息。
ε
\varepsilon
ε 参数影响结果如下所示:
先上升后下降的趋势符合预期。在Tiktok上最佳取0.6,在Movielens上取0.4。
参数K和L
K是Ego融合传播的层数,L是ID embedding在GCN中传播的层数。实验结果如下:
EgoGCN-NA严重依赖于L的数量,这表明基于节点对齐的方法更依赖于I嵌入而不是多模态嵌入。