IJCAI2019-Convolutional Factorization Machines for Context-Aware Recommendation翻译,何向南大佬19年论文,结合FM,注意力机制,卷积

CFM: Convolutional Factorization Machines for Context-Aware Recommendation

摘要

因子分解机是一种基于内积的感知推荐系统,通过内积建模二阶交互特征。但是,它仍然不足以捕获高阶非线性信号。最近很多工作都用神经网络增强FM性能。这些方案假设嵌入层彼此独立,并以隐式的方式建模高阶交互。这篇论文,提出卷积因子分解机模型解决上述问题。CFM通过外积建模二阶交互,产生图像类数据,捕捉嵌入层之间的相关性。然后,所有生成图像数据被堆叠起来,形成交互矩阵集合,在此基础上,应用卷积学习高阶交互信号。此外,论文还利用自我关注机制执行特征(pooling)池化,减少时间复杂度,论文在三个数据集进行了实验证明了方法有显著改进。

介绍

描述用户行为数据时,除了用户/项目ID,还提供了丰富的上下文信息。包括但不限于,人口描述,项目属性,时间/地点信息,历史记录和最近交易信息。通用的方法是将他们转化为高维特征向量,在特征输入上建立模型。

不同于图像和音频中自然发现的连续实值特征,感知推荐系统输入大多是离散的,就导致高维且稀疏的特征向量。

现有特征建模分为两类:

1手动构造交叉特征。2自动学习特征交互,将特征学习为嵌入,将特征交互表示为嵌入之上的函数。

论文为了减少构造交叉特征的工作量,提出CMF自动学习特征交互。专业来说,特征嵌入首先被送入self-attention池化(pooling)层,可以大大降低计算量,削弱了噪音特征的影响,然后,用外积建模二阶交互模型,生成了一个二维矩阵set.和内积相比,更容易捕获嵌入层之间相关性,将生成的矩阵堆叠起来,得到一个三维矩阵---编码了所有二阶交互。为了显式学习高阶信号。论文在三维矩阵上使用卷积,并叠加多层卷积神经网络。

论文利用self-attention对特征池化操作,降低计算量和时间复杂度。

Convolutional Factorization Machine

扫描二维码关注公众号,回复: 8342192 查看本文章

原始FM模型仅仅以线性方式,通过内积建模二阶交互。CMF:

最后一项是核心交互组件,下面会介绍如何学习。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

输入和嵌入层

输入感知向量x,包括用户ID,历史项目multi-hot features,然后,每个特征,通过嵌入层映射到D维密集向量表示 。

Self-Attention Pooling Layer

对特征进行池化(Pooling)操作对每一个field学习单个嵌入。以往的池化操作包括最大池化和平均池化,但是这样不能有效捕获不同特征重要性。故论文提出注意力机制(通过MLP映射)

 

将隐藏层映射到注意力得分。

的重要性通过归一化注意力得分函数实现:

上式计算的,就作为的池化核函数(核函数代表特征重要度):

Interaction Cube

池化层之后,论文使用交互矩阵集(3D立方)表示特征交互,和由外积进行交互。

总结:

1MLP多层感知机获取重要度矩阵(作为池化基进行第一步池化)

2对特征矩阵进行池化,获得(多通道矩阵)

3和外积(特征交互),作为卷积操作。

多维数据交互的优点:

1外积更能捕获维度相关性

2显式方案模拟高阶交互-立方体不同层之间交互。代表层,后的下标,代表层内元素。

3.卷积核是多维矩阵,故能将层数降维。

卷积操作:

1.卷积(3维卷积核)

2.偏差,激活函数RELU

3.第一层   卷积核形状:[2,2,14]   步长[2,2,1] (对应宽高深) 

后序卷积核和步长 形状:[2,2,2]

三维卷积输出的是一维向量,然后采用全连接层进行映射:

损失函数:

Top-k推荐

是对应的负采样样本,是激活函数。

首先采集 正样本,(通过mini-batch),包括用户上下文感知和项目属性。然后对每一个特定的用户,随机采集负样本。然后结合负样本特征建立负样本和用户的交互。最后,正的交互和负的交互都fed to训练,得到损失。

Data

Dataset

#users

#items

#transactions

#fields

Frappe

957

4,082

96,203

10

Last.fm

1,000

20,301

214,574

4

MovieLens

6,040

3,665

939,809

4

Experiments

RQ1 Does CFM model outperform state-of-the-art methods
for CARS top-k recommendation?
RQ2 How do the special designs of CFM (i.e., interaction
cube and 3DCNN) affect the model performance?
RQ3 What’s the effect of the attention-based feature pooling?

Experimental Settings

Frappe

app推荐数据

数据包含96203app使用日志,每个日志包含10个上下文特征域,包含用户ID,项目ID,时间,其他信息。

Last.fm

音乐推荐数据集

提取了最新的1000用户听歌记录

用户上下文描述为:用户ID,用户90分钟内听的音乐ID,项目属性包括,音乐ID,艺术家ID(歌手)

MovieLens

 

评价指标

leave-one-out

对于last.fm和movielens数据,用户最新交互取出做测试,剩下的做训练集。对frappe,因为没时间戳信息,故任意选择一个交互做测试,推荐性能指标HR、NDCG(它将更高的分数分配给排名靠前的项目)

参数设置

性能对比

Interaction Cube的性能评价(特征外积)

为证明立方有效性,论文将交互三维矩阵转化为二维矩阵/或在深度方向执行最大池化操作,结果不如CMF好。

CFM>平铺>最大池化>FM                         证明了CNN外积学习的有效性

Study of Feature Pooling(注意力部分)

自我关注机制执行池化。替换为最大池化和均值池化进行对比。注意力池会为不同特征分配不同的重要性。保留了丰富的特征信息,削弱了噪音的影响。

CMF和没有特征池的模型比较。发现:特征池可以减少训练时间,带来好的推荐质量。

总结

新的上下文感知推荐算法,结合了FM和CNN,关键设计是,一个基于外积的交互立方体。

猜你喜欢

转载自www.cnblogs.com/liheyong/p/12111512.html
今日推荐