DualGNN: Dual Graph Neural Network for Multimedia Recommendation
概
多模态 + user co-occureence graph -> recommendation.
文章中提到的 modality-missing 问题挺好的, 但是我并没有看到有什么特别的设计是解决这个问题的.
符号说明
- U, users, |U|=N;
- I, micor-videos, |I|=M;
- G=(V,E), interaction graph, V=U∪I;
- m∈M={v,a,t}, modality, v: visual, a: acoustic, t: textual;
- u(0)m, 随机初始化的 user embedding for modality m;
- i(0)m, modality features.
DualGCN
-
首先, 通过 user-item interaction graph, 对 user/item 的信息进行初步的转换, 这部分对于每个模态是独立的:
u(l+1)m=∑i∈Nu1√|Nu|√|Ni|i(l)m,i(l+1)m=∑i∈Nu1√|Nu|√|Ni|i(l)m,然后, 对各层求和:
um=L∑l=0u(l)m,im=L∑l=0i(l)m. -
然后是, 多模态信息的一个融合, 用于得到用户的一个表征, 作者给了三种方案:
- Attentively concatenation construction:umul=Wmhu+bm,hu=αu,vuv‖
- Attentively sum construction:\bm{u}_{mul} = \alpha_{u,v} \bm{u}_v + \alpha_{u, a} \bm{u}_a + \alpha_{u, t} \bm{u}_t.
- Attentively maximum construction:\bm{u}_{mul} = \max( \alpha_{u, v} \bm{u}_v, \alpha_{u,a} \bm{u}_a, \alpha_{u, t} \bm{u}_t ).
- Attentively concatenation construction:
-
接着 \bm{u}_{mul} 还要通过 user-user graph 来进行进一步的转换. 构造 co-occurrence graph, 对于每个 user, 作者取它的 top-K 个 frequent users 作为邻居, 便的权重赋为 1, 其它为 0. 接下来通过下列二者之一的方式进行转换:
- Mean aggregation:\bm{u}_{mul}^{(l'+1)} = \bm{u}_{mul}^{(l')} + \sum_{u' \in \mathcal{N}_{u, c}} \frac{1}{|\mathcal{N}_{u, c}|} {\bm{u}_{mul}'}^{(l')},其中 \mathcal{N}_{u,c} 表示 user u 的 top-K 邻居.
- Softmax weighted aggregation:\bm{u}_{mul}^{(l'+1)} = \bm{u}_{mul}^{(l')} + \sum_{u' \in \mathcal{N}_{u, c}} \frac{ \exp(C_{u, u'}) }{ \sum_{u' \in \mathcal{N}_{u, c}} \exp(C_{u, u'}) } {\bm{u}_{mul}'}^{(l')},其中 C_{u, u'} 表示 users u, u' 的 co-occurrence times.
- Mean aggregation:
-
最后得到最终 user/item 的表示:
\bm{u}^* = \bm{u}_{mul}^{(L')}, \quad \bm{i}^* = \bm{i}_v + \bm{i}_a + \bm{i}_t.然后 score 的预测通过内积得到
y_{u,i} = {\bm{u}^*}^T \bm{i}^*. -
训练通过 BPR 损失.
代码
[official]
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略
2020-03-23 图片 Augmentation整理