业界盘点|为什么推荐算法都开始结合图神经网络了?(一)

简介: 业界盘点|为什么推荐算法都开始结合图神经网络了?(一)

大家好,我是对白。


图神经网络(GNN)相信大家也不陌生了,在还没有Graph Embedding之前,节点的属性信息可以通过Item2vec这种序列化Embedding的方式去学习,效果虽然不错,但它忽略了节点的结构信息。而GNN能够自然地整合节点属性信息和拓扑结构信息,因此在许多领域广泛应用。


在推荐系统中,目前的主要挑战是从用户-物品交互以及辅助信息中学习有效的User-Item Embedding。由于大部分的信息本质上都是图结构,并且GNN在表示学习方面具有先天优势,因此在推荐系统中蓬勃发展。


本文对基于GNN的推荐算法进行了总结,汇总了从2018至2020年期间工业界和学术界比较有代表性的29个基于的GNN推荐模型****。此外,我从近三年KDD的论文中挑选了六篇值得一读的GNN推荐模型为大家解读,分别是4篇阿里的论文,1篇滴滴的论文和1篇亚马逊的论文,话不多说,让我们一起欣赏一下GNN在推荐系统中的花式玩法吧~


41.png


基于图神经网络的推荐算法分类


564f542c160a8b72d939c1800c574915.png


基于图神经网络的推荐模型总结


b482bde22f681daea81fa0dee7ace07a.png


1 General Recommendation


1.1 General RS without side information


620e58724f31dd7df162d19d308e05bd.png


Neighbor Aggregation:区分邻居的影响大小,比mean-pooling,degree normalization效果好


Information Update:当后续没有显式的特征交叉步骤时,mean pooling, sum pooling表现足够好,若有,则concat能保留更多信息


Final Node representation:有些使用GNN的最后一层向量作为表示,有些则用所有层(可能表示更好一些)


1.2 General RS with social network


f3f891f7cba04906a68c54c08349afea (1).png


Influence modeling:区分社交网络不同的好友的影响力可以提升效果,进一步的,考虑朋友在不同的Item上的影响力也不一样,可以在item稀疏时提升较大


**Preference Integration:**将social network 和user-item bipartite 两个图分开建模和统一建模都可,没有明显区别。


1.3 General RS with knowledge graph


adf4242c971f38013691796da2c149cb.png


Graph simplification:为了将GNN较为高效地应用于KG,需要对图进行简化(同时图信息有损),例如AKGE利用最短路径来重构子图,IntentGC仅保留一部分结点来构造i2i和u2u


Multi-relation propagation:KG有多重类型的边,因此需要使用attention 机制来聚集来自邻居的信息


User intergration:有些工作利用GNN来学习item表示,假设用户具有静态的表示;另外的则将user作为KG中一种entity来学习


2 Sequential recommendation


2.1 SR without side information


4e1aaa8f4da36ac6e32db890286e4205.png


Graph construction:将sequence 转为graph,转化的方法决定了GNN的效果,一般将按时序出现的相邻K(一般K=2)个item之间进行连边


Information propagation:在聚集邻居特征时,相比mean-pooling, GRU在序列建模中效果更好一些


Sequential preference:将序列的结点表示集成为最终的结点表示,attention, GRU皆可


2.2 SR with social network


DGRec:使用LSTM来抽取用户的动态兴趣,再使用GAT来对不同好友的影响进行聚集


相关文章
|
2月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
334 0
|
2月前
|
机器学习/深度学习 并行计算 算法
粒子群算法优化RBF神经网络的MATLAB实现
粒子群算法优化RBF神经网络的MATLAB实现
360 123
|
1月前
|
机器学习/深度学习 算法
采用蚁群算法对BP神经网络进行优化
使用蚁群算法来优化BP神经网络的权重和偏置,克服传统BP算法容易陷入局部极小值、收敛速度慢、对初始权重敏感等问题。
262 5
|
2月前
|
存储 算法 安全
即时通讯安全篇(三):一文读懂常用加解密算法与网络通讯安全
作为开发者,也会经常遇到用户对数据安全的需求,当我们碰到了这些需求后如何解决,如何何种方式保证数据安全,哪种方式最有效,这些问题经常困惑着我们。52im社区本次着重整理了常见的通讯安全问题和加解密算法知识与即时通讯/IM开发同行们一起分享和学习。
285 9
|
2月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
203 2
|
1月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
116 0
|
2月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
2月前
|
算法 数据挖掘 区块链
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
112 2
|
2月前
|
机器学习/深度学习 传感器 算法
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
220 7
|
2月前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)

热门文章

最新文章