读论文《DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation》

0.Summary:

Title: DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation

Commend:2020-CIKM

Abstract:

异构信息网络被广泛用于解决推荐系统中的稀疏性和冷启动的问题,因为他可以对对用户‑项目交互中的丰富上下文信息进行建模。图神经网络能够通过在图上的传播对这些丰富的上下文信息进行编码。然而,现有的异构图神经网络忽略了来自不同方面的潜在因素的纠缠,且现有的方法中的元路径被简化为边信息的过程中会忽略丰富的语义信息

​ 因此提出了新的解耦异构图注意力网络DisenHAN用于推荐,它从异构信息网络中的不同方面学习分离的用户/项目表示。本文使用元关系来分解节点对之间的高阶连通性,提出了一个分离的嵌入传播层,它可以迭代地识别元关系的主要方面,模型从目标用户/项目的每个元关系中聚合相应的方面特征。通过不同的嵌入传播层,DisenHAN 能够在语义上明确地捕捉协同过滤效果。

1.简介

在这里插入图片描述

​ 基于协同过滤的方法广泛用于推荐算法中,其存在用户-项目交互的稀疏性冷启动的问题。许多方法通过将交互转为实体特征来丰富实例,但这个方法将每个用户记录视为一个独立的实例,却忽略了他们之间的关系

协同过滤推荐算法主要是利用用户对项目的评分数据,通过相似邻居查询,找出与当前用户兴趣最相似的用户群,根据这些用户的兴趣偏好为当前用户提供最可能感兴趣的项目推荐列表。

冷启动问题主要分为三类:
​ (1) 用户冷启动:如何给新用户做个性化推荐的问题,新用户刚使用网站的时候,系统并没有他的行为数据;
​ (2) 物品冷启动:解决如何将新的物品推荐给可能对它感兴趣的用户;
​ (3) 系统冷启动:如何在新开发网站设计个性化推荐系统,此时网站上用户很少,用户行为也少,只有一些商品的信息。

异构信息网络(HIM)可以灵活地对具有丰富上下文信息的用户‑项目交互的异构性和复杂性进行建模。特别是元路径被广泛用于捕获两个节点的相关语义,

从定义上看, 知识图谱是一种知识量丰富的异质网络, 点类型丰富, 关系类型丰富, 约束丰富; 而目前研究的异质信息网络通常是指一种简单的异质网络. 因为都是异质网络, 二者共享一些概念 (metapath, schema等).

这种差异来源于二者起初的定位: 知识图谱的定位是构建知识库来支持决策, 而异质信息网络的定位是完整地建模包含不同类型实体的特定网络.

​ Meta Path 是2011年 Yizhou Sun etc. 提出的针对异质网络中的相似性搜索。 http://www.morganclaypool.com/doi/abs/10.2200/S00433ED1V01Y201207DMK005

​ Meta Path 是一条包含relation序列的路径,而这些 relation 定义在不同类型object之间。

然而无论是利用元路径或知识感知嵌入来编码用户和项目之间的相关性,还是图神经网络强大的表示能力,直接使用GNNs框架通过聚合邻域信息,都存在以下问题。

在这里插入图片描述

一、这些方法都未能将潜在因素解耦,各种类型的连接表示节点的不同方面的特征,所以比起HIM混淆的特征,学习解耦过的表征更加有效

二、先前的方法直接将元路径简化为辅助信息,忽略了每个因素的具体影响。比如用户购买产品反应产品受欢迎,产品是笔记本适合办公人群,品牌是苹果一定受到粉丝的欢迎。不同的语义关系对分开的特征有特定的影响

三、由于以上两点,导致方法非鲁棒性和低可解释性,不能明确的模拟用户对项目的偏好的具体特点,因此需要学习解耦的表示以供推荐,

本文提出了新的Disentangled Heterogeneous Graph Attention Network用于推荐,其明确地对来自不同方面的因素和语义关系的相应影响进行建模。

具体来说,我们将具有丰富上下文信息的用户-项目交互表示为一个HIN,该HIN由不同类型的节点和节点对之间的对应关系组成。我们以节点特征为输入,将其投射到不同的嵌入位置,并提出一个语义嵌入传播层来识别关系中信息流的主要方面,将其视为嵌入空间中的迭代聚类过程。此外,我们不再手工设计元路径,而是采用节点间的单跳关系,采用注意机制软生成元路径。通过叠加多个嵌入传播层,每种类型的节点(尤其是用户和条目)聚合来自不同元路径的嵌入,以获取高阶连接中的语义信息。

2.相关工作

1.基于HIM的CF方法:由于缺乏揭示实体行为相似性的CF信号的显示编码,高阶连接很难被捕获

2.图神经网络:最近,一些基于GNNs的HIM被提出用于信息传播,但仍忽略了节点对之间,语义信息的不同方面。

3.解耦表征学习:旨在学习表示分离背后变化的解释因素,可以使模型更健壮,更具有可解释性。本文想要学习HIM的解耦表征,其节点的类型和关系将会更加复杂

3.问题定义

​ 在本节中定义了一些重要概念,包括HIM、元路径、元关系以及对推荐的定义:预测用户是否有对之前没有互动过的项目的潜在兴趣,特别是如何通过预测功能的不同方面学习低维表示用户和项目

4.模型

4.1 概述

在这里插入图片描述

DisenHAN框架由三部分构成,

在这里插入图片描述

1.对于给定节点,将其源邻居基于元关系进行分组,并将它们的属性投影到不同的子空间中以从不同方面提取特征。

在这里插入图片描述

2.对于每个元关系组,聚合每个方面下的源邻居特征,来捕获特定的语义信息
在这里插入图片描述

3.通过迭代机制来确定每一个元关系的主要方面来获得最优组合信息,通过迭代层,可以聚合高阶信息来丰富节点的表示,用于预测匹配分数

在这里插入图片描述

4.2 解耦内容转换

​ 不同类型的节点总是具有来自HIN 中不同特征空间的属性。对于目标节点t ,讨论如何将其邻居s 根据不同元关系分组。

​ 对于某个组,应用转化函数将t和s进行转化

不同于KGAT将所有关系使用同一个转化矩阵,而是使用K个不同的转化矩阵,将节点投影到K个不同的子空间中

c t , k = σ ( W ϕ ( 𝑡 ) , 𝑘 ⋅ 𝑥 𝑡 ) ∥ σ ( 𝑊 ϕ ( 𝑡 ) , 𝑘 ⋅ 𝑥 𝑡 ) ∥ 2 𝑊 ϕ ( 𝑡 ) , 𝑘 为第 k 个通道的权重 c_{t,k} =\frac{ \sigma(W_{\phi (𝑡),𝑘} · 𝑥_𝑡)}{ ∥\sigma(𝑊_{\phi (𝑡),𝑘} · 𝑥_𝑡) ∥_2}\\ 𝑊_{\phi (𝑡),𝑘 }为第k个通道的权重 ct,k=σ(Wϕ(t),kxt)2σ(Wϕ(t),kxt)Wϕ(t),k为第k个通道的权重

||w||_2 的意思是这个该向量的范数为欧几里得范数,设w=<x1,x2,x3>, ||w||__2=x12+x22+x3^2 的开根号

4.3 解耦传播层

4.3.1 Intra-relation Aggregation

本节目的:整合来自某个边类型的邻居

尽管分组的邻居是相同的类型,但是不同节点仍扮演不平等的角色,本文引入了注意力机制来学习不同方面源节点的权重。得到每个邻居节点的权重
𝑒 𝑡 , 𝑠 𝑘 = R e L U ( α ψ ( 𝑒 ) T ⋅ [ 𝑧 𝑡 , 𝑘 ( 𝑖 − 1 ) ∥ 𝑐 𝑠 , 𝑘 ] ) , 𝑒^𝑘 _{𝑡,𝑠} = ReLU(\alpha^T_{\psi(𝑒)} · [𝑧 ^{(𝑖−1)} _{𝑡,𝑘} ∥ 𝑐_{𝑠,𝑘} ]), et,sk=ReLU(αψ(e)T[zt,k(i1)cs,k]),

邻居节点s在k层次上对于t的权重取决于:边e的类型,s在k上的嵌入,t在k上的嵌入

考虑到节点重要性在各方面的贡献不同,通过所有方面加权来计算节点重要性,

将任一组在其任一层次上的节点嵌入进行加权聚合
𝑒 𝑡 , 𝑠 ψ ( 𝑒 ) = ∑ 𝑘 = 1 k 𝑟 ψ ( 𝑒 ) , 𝑘 ( 𝑖 − 1 ) ⋅ 𝑒 𝑡 , s 𝑘 𝑒^{\psi (𝑒)} _{𝑡,𝑠} = \sum\limits ^k_ {𝑘=1} 𝑟^{(𝑖−1)}_{ \psi(𝑒),𝑘} · 𝑒^𝑘 _{𝑡,s} et,sψ(e)=k=1krψ(e),k(i1)et,sk

节点s的整体重要性为k个层次上的重要性之和

然后,我们可以对分组后的源节点进行归一化的注意权值,并在每个方面下聚合它们的特征

将每个组在K层次上的聚合表示为z
α 𝑡 , 𝑠 ψ ( 𝑒 ) = s o f t m a x ( 𝑒 𝑡 , 𝑠 ψ ( 𝑒 ) ) = e x p ( 𝑒 𝑡 , 𝑠 ψ ( 𝑒 ) ) ∑ 𝑠 ′ ∈ 𝑁 ψ ( 𝑒 ) e x p ( 𝑒 𝑡 , 𝑠 ′ ψ ( 𝑒 ) ) , 𝑧 𝑡 , 𝑘 ψ ( 𝑒 ) = σ ( ∑ 𝑠 ∈ 𝑁 ψ ( 𝑒 ) α 𝑡 , 𝑠 ψ ( 𝑒 ) ⋅ 𝑐 𝑠 , 𝑘 ) , \alpha^{\psi (𝑒)} _{𝑡,𝑠} = softmax(𝑒^{\psi (𝑒)} _{𝑡,𝑠} ) = \frac {exp(𝑒^{\psi (𝑒)} _{𝑡,𝑠} ) }{\sum _{𝑠^′∈𝑁_{\psi (𝑒)}} exp(𝑒^{\psi (𝑒)} _{𝑡,𝑠^′} )}, \\𝑧^{\psi (𝑒)} _{𝑡,𝑘} = \sigma( \sum \limits_{𝑠 ∈𝑁_{\psi (𝑒)}} \alpha^{\psi (𝑒)} _{𝑡,𝑠} ·𝑐_{𝑠,𝑘} ), αt,sψ(e)=softmax(et,sψ(e))=sNψ(e)exp(et,sψ(e))exp(et,sψ(e)),zt,kψ(e)=σ(sNψ(e)αt,sψ(e)cs,k),

4.3.2 Inter-relation Aggregation

本节目的:整合不同的分组邻居

​ 在这个阶段,我们需要结合所有元关系所揭示的语义信息。因为每个元关系都专注于特定的方面,对于每一个聚合的方面特征,我们可以得到相关性权重如下
𝑟 ~ ψ ( 𝑒 ) , 𝑘 ( 𝑖 ) = 𝑞 ψ ( 𝑒 ) T ⋅ t a n h ( 𝑊 𝑧 𝑡 , 𝑘 ψ ( 𝑒 ) ) , \tilde 𝑟^{(𝑖)}_{ \psi (𝑒),𝑘} = 𝑞^T_{ \psi(𝑒)} · tanh(𝑊 𝑧^{ \psi (𝑒)} _{𝑡,𝑘} ), r~ψ(e),k(i)=qψ(e)Ttanh(Wzt,kψ(e)),
​ 接下来使用softmax 对相关概率归一化
𝑟 ψ ( 𝑒 ) , 𝑘 ( 𝑖 ) = s o f t m a x ( 𝑟 ~ ψ ( 𝑒 ) , 𝑘 ( 𝑖 ) ) 𝑟^{(𝑖)}_{ \psi (𝑒),𝑘}=softmax(\tilde 𝑟^{(𝑖)}_{ \psi (𝑒),𝑘}) rψ(e),k(i)=softmax(r~ψ(e),k(i))

这样就可以确定每种边类型的邻居对于t在K个层次上的重要性

获取所有与节点相连的元关系,进行迭代搜索他们的主要方面并获取t的表示:
𝑧 𝑡 , 𝑘 ( 𝑖 ) = 𝑐 𝑡 , 𝑘 + ∑ ψ ( 𝑒 ) ∈ ψ 𝑡 𝑟 ψ ( 𝑒 ) , 𝑘 ( 𝑖 ) 𝑊 𝑧 𝑡 , 𝑘 ψ ( 𝑒 ) ∥ 𝑐 𝑡 , 𝑘 + ∑ ψ ( 𝑒 ) ∈ ψ 𝑡 𝑟 ψ ( 𝑒 ) , 𝑘 ( 𝑖 ) 𝑊 𝑧 𝑡 , 𝑘 ψ ( 𝑒 ) ∣ ∣ 2 , 𝑧 ^{(𝑖)} _{𝑡,𝑘} =\frac{ 𝑐_{𝑡,𝑘} + \sum_{ \psi (𝑒) ∈ \psi_𝑡} 𝑟^{(𝑖)}_ { \psi (𝑒),𝑘}𝑊 𝑧^{ \psi (𝑒)} _{𝑡,𝑘}}{ ∥𝑐_{𝑡,𝑘} + \sum_{ \psi (𝑒) ∈ \psi_𝑡} 𝑟^{(𝑖)}_ { \psi (𝑒),𝑘}𝑊 𝑧^{ \psi (𝑒)} _{𝑡,𝑘} ||_2}, zt,k(i)=ct,k+ψ(e)ψtrψ(e),k(i)Wzt,kψ(e)2ct,k+ψ(e)ψtrψ(e),k(i)Wzt,kψ(e),
就此对不同分组的聚合表示做最终聚合

整个迭代过程如算法1所示

在这里插入图片描述

4.4 推荐

​ 对于最终top-𝑁的推荐,我们只需对各个方面的内积进行运算,估计用户在𝑘方面对目标商品的偏好,并将所有方面相加作为最终的匹配得分:
s u v = ∑ K = 1 K z u , k T ⋅ z v , 𝑘 s_{uv}=\sum\limits^K_{K=1}z^T_{u,k}·z_{v,𝑘 } suv=K=1Kzu,kTzv,k

4.5 训练

​ 为了优化具有隐式反馈的top-N推荐,将其优化为一个二元分类问题,我们将匹配分数S_uv限制在[0,1]的范围内,该范围可以通过Logistic等概率函数估计,
𝑦 ~ 𝑢 𝑣 = s i g m o d ( 𝑠 𝑢 𝑣 ) \tilde 𝑦_{𝑢𝑣} = sigmod(𝑠_{𝑢𝑣} ) y~uv=sigmod(suv)
完全损失函数为:
L = − ∑ ( 𝑢 , 𝑣 ) ∈ y l o g 𝑦 ~ 𝑢 𝑣 − ∑ ( 𝑢 , 𝑣 − ) ∈ Y − l o g ( 1 − 𝑦 ~ 𝑢 𝑣 − ) , L = − \sum \limits _{(𝑢,𝑣) ∈y} log\tilde 𝑦_{𝑢𝑣} − \sum \limits _{(𝑢,𝑣^−) ∈Y^−} log(1 − \tilde 𝑦_{𝑢𝑣^-} ), L=(u,v)ylogy~uv(u,v)Ylog(1y~uv),

4.6 分析DisenHAN

​ 本节分析HIN迭代传播过程

迭代前向传播:迭代前向传播实际上是一个搜索分组邻居的主簇并将其特征聚集到目标节点的聚类过程。每次迭代计算每个元关系的方面权值,使其能够在最大的簇中参与源节点,修剪噪声,达到快速收敛的目的。

收敛性分析:迭代前向传播过程相当于混合模型的期望最大化(EM)算法

EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,其中一个为期望步(E步),另一个为极大步(M步),其基本思想是:首先根据己经给出的观测数据,估计出模型参数的值;然后再依据上一步估计出的参数值估计缺失数据的值,再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计,然后反复迭代,直至最后收敛,迭代结束。

​ EM算法使𝑝(𝐶;𝑍)最大化,对数似然函数可以表示为

在这里插入图片描述

​ 第一项是通过ELBO证明下界,第二项是相对熵的散度。模型通过单调修改(设置最佳的q)似然函数,函数收敛

ELBO,全称为 Evidence Lower Bound,即证据下界。这里的证据指数据或可观测变量的概率密度。

变分推理的目标是近似潜在变量(latent variables)在观测变量(observed variables)下的条件概率。解决该问题,需要使用优化方法。在变分推断中,需要使用到的一个重要理论,是平均场理论

自动元路径选择:模型可以迭代地确定每个元关系的方面权重,这可以看作是节点之间的语义关联。对于每一层,我们加入一跳邻居信息。通过多层叠加,所提出的注意机制能够自动聚合多跳远的相关方面信息,可以看作是一种选择元路径的软方法。

5.实验

提出以下问题

1.对于top-N推荐,与最先进的模型相比,DisenHAN的表现如何?是否有缓解冷启动问题的潜力?

2.是否有必要保留DisnHAN的关键组件,如解纠缠表示、元关系方面的权重迭代计算?超参数如何影响推荐性能?

3.DisenHAN会解释HIN中元关系的不同语义以供推荐吗?

数据集:Yelp,Amazon-electricity,MovieLens

评估指标:为了评估所有方法的top-N推荐性能,我们采用了三个广泛使用的指标:Precision, Recall and Normalized Discounted Cumulative Gain(NDCG).精确度、查全率与归一化折现累积获得(NDCG)

基线:(A)经典的CF方法;(B)基于HIN的推荐方法(有丰富的上下文信息)©基于GNN的推荐方法(利用信息传播运用高阶传播性)

在这里插入图片描述

5.1 问题一:

在这里插入图片描述

与基于HIN的方法和基于GNN的方法相比,DisenHAN方法可以捕获不同方面的语义信息,显著的改进表明对实现更好的推荐表示具有积极作用。

冷启动问题:稀疏性问题通常会限制推荐系统的性能,因为很少的用户条目交互不足以生成高质量的表示。HIM通过考虑用户和条目的上下文信息来缓解这个问题

在这里插入图片描述

DisenHAN在数据量不大的情况下性能要远远优于其他基准方法

5.2 问题2 :

研究解耦对性能的影响
在这里插入图片描述

当有5个方面的时候DisenHAN性能最好,这也符合数据集 Amazon的实际情况

迭代次数的影响

在这里插入图片描述

DisenHAN对迭代次数并不敏感

传输层层数的影响

在这里插入图片描述

2层比1层性能要好,但是不推荐三层,可能会导致过拟合问题

5.3 问题3:

通过将节点嵌入可视化,展现语义解释的性能

在这里插入图片描述

​ 左边第一层,右边第二层

​ DisenHAN可以识别不同元关系的主要方面的语义信息

在这里插入图片描述

模型可以有效地将用户和项目节点划分为两个不同的组。同时,与不同用户相关的节点表现出可识别的聚类,这表明语义信息的不同方面对HIN的学习表示有重要贡献。

​ 为了编码用户和条目之间的协作信号,我们利用嵌入传播来显式地合并具有丰富语义结构的上下文信息。我们利用元关系对HIN中的高阶连接进行分解,并提出一个解纠缠的嵌入传播层,分别聚合用户和条目的不同方面的语义信息。在此基础上,我们可以自动生成包含语义信息的元路径,并在高阶连接中获取信息流的主要方面。

​ 在未来的工作中,将探索模型是否能够捕获时间图中用户与物品的动态交互。此外,还计划将DisenHAN扩展到HIN中的一般机器学习任务,如节点分类和节点聚类任务。

相关的节点表现出可识别的聚类,这表明语义信息的不同方面对HIN的学习表示有重要贡献。

​ 为了编码用户和条目之间的协作信号,我们利用嵌入传播来显式地合并具有丰富语义结构的上下文信息。我们利用元关系对HIN中的高阶连接进行分解,并提出一个解纠缠的嵌入传播层,分别聚合用户和条目的不同方面的语义信息。在此基础上,我们可以自动生成包含语义信息的元路径,并在高阶连接中获取信息流的主要方面。

​ 在未来的工作中,将探索模型是否能够捕获时间图中用户与物品的动态交互。此外,还计划将DisenHAN扩展到HIN中的一般机器学习任务,如节点分类和节点聚类任务。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请站在我身后

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值