公式太长可以左右滑动哦
Concept-Aware Denoising Graph Neural Networkfor Micro-Video Recommendation
https://dl.acm.org/doi/pdf/10.1145/3459637.3482417
1. 背景
本文提出的概念感知的去噪图神经网络CONDE进行短视频推荐。主要包含三个步骤:warm-up propagation, graph denoising and preference refinement。构建三方异构图:用户-视频,视频-概念。
概念(concept):笔者进行了直译,具体含义无需纠结,这个所谓的概念就是从视频标题和评论中提取出来的内容,包括命名实体和语义关键短语。这部分应该可以由预训练好的nlp相关模型进行提取。示例如下:
2. 方法
image.png
2.1 Warm-up Propagation
图定义为,V和E分别表示节点和边。节点包含用户,视频和概念;边包含两类:user-item,item-concept如上图所示。通过图卷积的相关操作将concept的相关信息注入到用户和视频表征当中。对于视频和与其相关的邻居concept节点,采用GAT进行信息聚合,公式如下,其中h表示视频m在聚合后得到的特征向量,c表示视频m周围的邻居concept节点,分别表示视频和concept的embedding,表示leakyrelu激活函数,||表示拼接。采用同样的方式可以在用户-视频的子图中将信息传播给用户表征。因此这部分先进行视频-concept子图,将concept的信息传播给视频;然后进行用户-视频的子图,将concept和视频的信息传播给用户表征,,M表示用户u相邻的视频节点。
作者认为视频表征不能单纯只是注入concept,因为有些concept并不能很好地体现视频内容,因此,作者在此利用上式向视频表征中注入其周围邻居的用户信息,U表示视频节点m周围的邻居用户集合。
2.2 Graph Denoising
不同的用户会有不同的兴趣,在点击和concept中可能存在噪声,即用户可能存在误点,取标题和评论相关内容也不一定是完全符合的。本节采用广度优先搜索进行去噪,这里其实就是以用户节点为基点,对其周围的相邻节点进行聚合和去噪。作者利用GRU识别用户u和他的邻居视频节点之间的相关性,公式如下:
在计算相关性之后,利用无替换采样进行去噪,仅保留 n 个微视频邻居:
上述方法得到的n个视频,这 n 个微视频有望更准确地传达用户的偏好。详细地说,我们可以利用具有 softmax 函数的全连接层来推导保留每个微视频邻居 m 的可能性,如下所示:
然后利用 Gumbel-Softmax 实例化Den()函数
,
,x从(0,1)的均匀分布中采样得到,τ为温度系数,τ比较小时,整体偏向于多模态分布;反之,偏向于均匀分布。在上述经过用户一阶邻居的计算之后,接下来计算用户基于视频
的二阶邻居,用户u的二阶邻居
可以是用户也可以是concept,本文只考虑concept,混合两者一起使用效果不好。计算新的相关系数公式如下,其中
,然后采用与上述相同的方式进行去噪:
,
经过上述去噪,可以从原始图
中得到新的子图
,节点为
。
2.3 Preference Refinement
从上述得到的新的子图中可以得到用户更加细化的偏好,首先细化视频表征
,然后细化用户表征
,此处的AGG等计算方式与warmup propagation处一致,计算匹配分数:
2.4 模型优化
对于每一个用户u,我们都可以通过执行k次去噪,得到k个他的子图(有种多头注意力的感觉),然后对于每一个子图计算交叉熵损失函数为下式,
总损失函数如下:
3. 结果
作者在视频推荐和非视频推荐上进行了实验,结果如下。
4. 总结
本文针对视频推荐领域提出的图神经网络推荐算法,主要是通过在图神经网络中对原始数据进行去噪,从而提升模型性能。该方法主要包含三个步骤:warm-up propagation,graph denoising, preference refinement。warm-up阶段主要是在原始构造的图上进行信息传播,得到注入了concept的用户和视频表征;然后在graph denosing阶段对用户交互过程中存在的噪声进行去噪处理,主要依靠计算分数和采样的方式;最后refinement阶段可以理解为再次进行类似warm-up阶段的信息传播,得到更细化的用户和视频表征,然后计算两者分数。