[2020]利用属性图神经网络解决推荐系统冷启动问题
概要
本文提出一种新的框架(属性图神经网络AGNN)来解决推荐系统冷启动问题。主要是利用属性图网络而不仅仅是user-item交互行为,这样对冷启动users/item会有比较好的表征能力。
注:本文中 特征向量(the preference embedding)是表征user/item的兴趣/特性,是根据user/item历史行为数据的得到。针对warm-user/item,这部分向量应该是利用 用户行为预训练生成的。
创新点
(1)AGNN模型通过 拓展的变分自编码器学习属性分布,生成冷启动user/item 特征向量(the preference embedding)
- 针对冷启动user/item,认为user/item的特征向量分布 与 属性向量分布 一致
- 通过变分自编码器,利用属性 生成冷启动 特征向量
拓展的变分自编码器
:利用warm-user/item的特征向量来约束变分自编码器,使变分自编码器生成的向量空间与 warm-user/item的特征向量空间一致。这样就可以利用 变分自编码器,将冷启动user/item的属性编码为 特征向量
(2)提出一种新的图神经网络结构来聚合不同模态属性的邻居信息=> 门控图神经网络(gated-GNN)
这部分的工作与HERS
Modeling Influential Contexts with
Heterogeneous Relations for Sparse and Cold-Start Recommendation非常类似,均是定义门控单元来聚合neighbors信息。具体的细节不一样。
模型
模型的主要架构如图所示:
模型主要分为四个部分:
input layer 输入层
输入层主要是构建关系图。通过两个参数指标来衡量图的相似性
- preference proximity:特征相似性
- attribute proximity:属性相似性
通过式(1)可以计算 图中相邻两个节点的 特征或属性向量的相似度,将两种近似度min-max正则化后求和,最终产生的score 评估构图的准确性
一般的图神经网络都是采样固定数量的neighbors;而本文模型中是考虑属性,由于属性的多样性,直接固定邻居效果并不好;本文采用动态图构建策略,每次迭代,都在候选的neighbors节点池中随机选取一定量的neighbors。
Attribute Interaction Layer 属性交互层
- 将高维稀疏特征映射为低维稠密特征,便于network计算
- 利用双向交互操作,得到高阶交互运算。具体运算过程类似于FM特征交叉模式。
其中第一项为 元素级相乘。紧接着 是混合多阶 特征进行计算
这样就都生成了 attribute embedding
x
u
{x}_{u}
xu
最后将 attribute embedding与 预训练的 embedding 拼接起来作为下一层的输入。
3. Gated GNN Layer 门控图神经网络层
本文提出的gated-GNN 包含 聚合门 和 过滤门。
a
g
a
t
e
{a}_{gate}
agate 控制从neighbors中应该聚合哪些信息
f
g
a
t
e
{f}_{gate}
fgate控制着哪些目标item 应该被过滤掉
式(6)转换得到
a
g
a
t
e
{a}_{gate}
agate权重,式(7)则是根据权重进行加权平均。
最后将两类向量聚合起来统一变换。
最终产出的向量是目标向量。
Prediction Layer 预测层
预测层是一个多层感知机,具体计算如下:
关键点
采用拓展变分自编码器 eVAE来解决冷启动特征embedding问题。
具体结构如下图:
基础假设:属性向量与 特征向量不仅在潜在的空间中接近,而且有相似的分布
;因此,可以通过采用变分自编码器结构,从属性分布中重建 缺失的特征分布。
拓展变分自编码器 eVAE主要分为3各部分,inference, generation, and approximation。其中 inference, generation与标准的VAE是一致的。approximation部分通过添加损失来达到监督学习目的。
具体训练方式:
- 基于有行为的user/item 训练生成预训练特征向量
- 通过user/item预训练特征向量,训练user/item的属性变分自编码器,使得编码生成的特征向量与 预训练特征向量相似:即 利用预训练向量 监督训练变分自编码器,使得 变分自编码器生成的cold-user/item特征向量和预训练特征向量在一个空间中。
最终的损失函数:
思考
本文最大的亮点在于 引入 拓展的变分自编码器来解决冷启动问题。 这样既 利用了 warm-user/item 的行为信息(the preference embedding),也利用了user/ item的属性信息(attribute embedding)。
参考文献
pdf论文 Solving Cold Start Problem in Recommendation with Attribute Graph Neural Networks
【学习笔记】生成模型——变分自编码器http://www.gwylab.com/note-vae.html