Graph Neural Networks for Social Recommendation
论文创新点一般,网上的评价不高特别是针对代码和实验效果质疑声很大, 但是作者写了一手好八股,我们借鉴一下实验思维(八股文怎么写)
原文代码:https://github.com/wenqifan03/GraphRec-WWW19 (据说没人复现)
第三方代码:
https://github.com/Wang-Shuo/GraphRec_PyTorch
ABSTRACT
作者提出了三个挑战;
-
用户存在两种类型的图中(user-user社交关系图,user-item的交互图), 如何整合两种图信息;
-
user-item图包含了交互和反馈(评分), 如何构建交互和反馈(评分);
-
如何区分社交关系的不同强度;
作者提出的三个创新点:
-
网络结构整合 user-user graph和 user-item graph;
-
通过embedding表达更好的捕获user-item间的联系以及user对item的评分;
-
用Attention网络区分了各种关系的重要性;
INTRODUCTION
-
user-user图 表达了用户的社交关系, user-item 图表达用户和物品的交互关系;
-
用户在其中起到了桥梁的连接作用;
a social graph denoting the relationships between users, and a user-item graph denoting interactions between users and items
Figure 1: Graph Data in Social Recommendation. It contains two graphs including the user-item graph (left part) and the user-user social graph (right part). Note that the number on the edges of the user-item graph denotes the opinions (or rating score) of users on the items via the interactions.
作者提出了框架GraphRec, 和主要贡献
-
一个社交推荐的神经网络GraphRec;
-
同时构建交互和反馈(评分)的方法;
-
考虑不同社交关系强度的方法;
-
在真实数据上展示工作效果;
a novel graph neural network GraphRec, which can model graph data in social recommendations coherently;We provide a principled approach to jointly capture interactions and opinions in the user-item graph;We introduce a method to consider heterogeneous strengths of social relations mathematically;
THE PROPOSED FRAMEWORK
接下来作者展示这篇文章的符号系统, 一开始看的时候我头都大了,这什么乱七八糟的, 但是梳理完后结合后面论文的描述,作者能将一篇中规中矩的论文借助这套符号系统描述的非常清楚,也算是作者过人之处
-
虽然符号设计的很繁琐,几乎每个环节都有对应的符号,对于形式化表达挺方便的;
Definitions and Notations
-
虽水但清晰,水的让人有点舒服, 算是这篇文章的亮点之一
再次对一些基本符号进行了说明,
An Overview of the Proposed Framework
介绍了下面这张图,说模型包含了三个模块
-
user modeling
-
item modeling
-
rating prediction
提到了几个概念(名词满天飞):
User Modeling
-
连这两个东西都需要用文字(item-space user latent factor & social-space user latent factor)和符号(h_i^I,h_i^S)来表达,;
-
实际上,几乎所有东西都用符号编码了;
Item Aggregation
-
目的是构建出用户在二部图上的表达(embedding):聚合用户所有交互过的物品作为用户item-space的embedding
Social Aggregation
后面就不细着介绍每个负号了,大体处理跟上面差不多
-
目的是构建出用户在关系图上的表达(embedding):聚合用户所有的社交用户作为用户social-space的embedding
Learning User Latent Factor
-
将用户的二部图表达和社交图表达连接后,过一个三层MLP
Item Modeling
-
对于候选物品i, 将操作过物品i 的其他用户信息聚合过来,作为物品的embedding;
user aggregation
Rating Prediction
-
将用户表达 和 物品表达 连接起来过一个三层MLP
Model Training
Experiment
数据集
-
Ciao: http://www.ciao.co.uk
-
Epinions: www.epinions.com
评估方式
-
Mean Absolute Error (MAE)
-
Root Mean Square Error(RMSE)
Baselines
-
PMF: Probabilistic Matrix Factorization
-
SoRec: Social Recommendation
-
SoReg: Social Regularization
-
SocialMF
-
TrustMF
-
NeuMF
-
DeepSoR
-
GCMC+SN
参数设置
-
代码用pytorch开发;
-
80%或60%作为训练集,剩下的20%或40再划分一半作为验证集和测试集,验证集用于调超参数;
-
embedding长度尝试了[ 8, 16, 32, 64, 128, 256 ];
-
learning rate尝试了[ 0.0005, 0.001, 0.005, 0.01, 0.05, 0.1 ];
-
激活函数用了ReLU;
-
默认隐层为三层;
-
当RMSE连续5个epochs 增加的时候就停止训练;
Performance Comparison of Recommender Systems
-
有吹牛逼的嫌疑,但是作者在文章中顺带分析其他工作的利弊得到了三个总结
-
社交网络信息有助于推荐;
-
神经网络能提升推荐性能;
-
作者的框架最牛逼;
Model Analysis
-
整篇文章最大亮点之二: 通过实验详细对比了各个模块的效用
-
探究 Social Network and User Opinions 的效用
-
GraphRec-SN(橙色), 只用交互图的用户表达,去掉社交图的用户表达;
-
GraphRec-Opinion(红色), 去掉opinion embedding;
-
探究Attention的效用
-
一共有三种attention :item attention , socail attention , user attention
-
GraphRec-α(橙色),去掉item attention
-
GraphRec-β(红色), 去掉socail attention
-
GraphRec-α&β(黄色), 去掉item attention和socail attention
-
GraphRec-µ(绿色), 去掉user attention
-
探究embedding size的效用
-
embedding size 增大后,效果是先增后减, 最好是在64;
RELATED WORK
-
讲了一下别人的工作(引入了baseline及其他工作)
CONCLUSION AND FUTURE WORK
-
表扬了一下自己
-
改进计划:
-
用户和物品有更多的特征(side information), 可以用上这部分信息;
-
现在二部图和关系图是静态的,可以构建动态的图;
原文始发于微信公众号(风物长宜 AI):图神经网络系列三:社交关系推荐GraphRec
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论