论文笔记:Personalized Deep Learning for Tag Recommendation

感想

这篇文章主要讲的是提取视觉信息特征,给图片推荐标签;利用了卷积神经网络提取图片的特征,利用最后一个全连接层合并用户和图片交互信息,得到最终的标签排序。还是挺新颖的,毕竟把推荐问题融合到一个网络,输出的直接是标签的排序,充分利用了深度学习的强大的特征表达能力。

1 介绍

用户随意指定标签,用于支持用户组织或查找社交媒体的内容。可是,许多分享的内容有很少或者没有标签的,这是由于打标签的任务是非常耗费时机的。例如,2004年2月到2007年6月,Flickr上大约60%上传的照片有1到3个标签,大约20%的照片是没有标签的。为了鼓励用户标注他们的资源,标签系统用于使得打标签的任务变得方便。这些系统可以是个性化的系统,根据用户的偏好或省略用户兴趣的非个性化偏好(non-personalized ones)来推荐不同的标签,因为标签代表用户对其资源的观点,一个用户的推荐标签列表是一个包含“favorite””关键字的个性化列表。这个个性化模型可以给予用户,项和标签的关系,或者标签信息之间的关系(correlation information of tags)。

个性化方法对没有历史信息的新图片是无效的。正如Sigurbjornsson和Van Zwol提到的,人们通常选择跟内容和环境相关的词语去标注图片,例如地点,时间等。视觉信息可以被用于个性化推荐模型,用以增强预测的质量。基于个性化内容感知的推荐的推荐标签表达了个性和和内容感知的特点,如下图:


U1的推荐标签包含他喜爱的单词italy,和图片内容相关的单词mountain,来自u3的单词nature,u3和u1相似。

在这个工作中,我们用了深度学习的方法来解决一个个性化图片标签推荐问题。对于一个个性化问题,深度学习模型中的特征得包含一个用户和相关图片的信息。我们提出了一个新的添加用户信息到CNN模型的方式。
一个新的层捕捉用户的交互,视觉特征在CNN图像特征提取器和多层感知机上扮演者桥梁的作用,如下图:



另外,我们以不同的方式采用了一个贝叶斯个性化排序优化(Bayesian PersonalizedRanking optimization)用于这个模型中,即NUSWIDE和Flickr-PTR,我们提出的模型超过了最新的个性化推荐模型,因为个性化标签推荐模型完全依靠标签的历史,达到了至少4个百分点。实验也表明,有监督特征增加了预测的质量,至少相比低级别的特征提高了至少2个百分点。

2 提出的模型

2.1 问题定式化

个性化标签推荐是对用户标注特别图片的相关标签的排序列表。这个标签指派集合A可以用来结合用户U,图片I和标签T来表示,用
A=(au,i,t)∈R^(|U|x|I|x|T|),
其中,如果用户u把标签t指派给图片i,那么a_(u,i,t)=1。
观察的标签集合定义为
S={(u,i,t)|a_(u,i,t)∈A∩a_(u,i,t)=1}
相关标签集合的用户-图像元组(u,i)用
T_(u,i)={t∈T|(u,i,t)∈S}
所有的观察的帖子(posts)用Ps表示
P_S={(u,i)|∃t∈T,(u,i,t)∈S}

另外,所有的RGB方形图片的结合用R表示,第i张图片Ri的视觉特征是一个向量zi∈R^m,在这篇文章中,我们把图片截成Q个片段,这是为了增强提取的特征的值,因此我们定义图片集合
R={R_(i,q)∈R^dxdx3∩i∈I∩q∈Q}
推荐模型的得分函数是计算给定post p_(u,i)的标签的分数,这被用来进行排序标签。在给定post下,标签的得分表示为:
y ̂(u,i,t):UxIxT→R
如果y ̂u,i,ta的分数比y ̂u,i,tb大,标签ta就和p_(u,i)更相关。
标签推荐模型提供标签的top-K列表Tu,i,这个列表按照pu,i得分的倒序排列。


2.2 个性化内容感知标签推荐(PersonalizedContent-Aware Tag Recommendation

模型叫做CNN-PerMLP,其结构是基于给定图片的用户和视觉特征的关系,如上图2.把图片i的片段q送入CNN特征提取器来获得视觉特征。

为了使视觉特征个性化,个性化全连接层是从下面的提取器获得的。这层捕获用户和每个视觉特征的交互,产生post pu,i的隐式特征。

神经网络作为一个预测器,用来计算相关标签的可能性。网络用用户-图像特征作为输入,输出用来作为推荐标签的排序。
在这篇论文中,我们把图片分成一些片段,标签的最终得分是不同片段的平均得分。如果对于给定post pu,i和一个片段q的标签得分用如下表示:

最终的标签得分为:

CNN

CNN能够表达高阶抽象图片特征。用一层或多层卷积层产生一些特征图,这些特征图是通过在图片上平滑移动核窗口得到的。给定层的第k个特征图用Τk表示,滤波器的权重和偏置用Wk和bk表示。W^k∈R^p1 xR^p2 xR^p3, p1是前面一层的特征图,p2是核窗口的维度。Tk在位置(I,j)的元素用下面公式获得:


其中*为卷积操作,ξa是前面一层的第a个特征图,φ为激励函数。子采样层是对前面一层的矩形区域进行池化,用以产生当前的特征图的一个单元,子采样层接着卷积层。如果使用了最大池化操作,元素位置(I,j)的第k个特征图,Tk表示为:

其中a和b和池化单元相关的位置元素,CNN特征提取器的输出是一个稠密的图片特征表示向量。第I张图片的提取过程q的定义为

个性化全连接层

CNN提取的特征仅仅包含图片i的信息,为了得到一张图片的个性化视觉特征,需要加入用户的信息或者结合这些特征。对于这个原因,在特征层和预测器之间的加了一层,用以产生用户感知特征,这些特征作为预测器的输入。
如果模型仅仅使用用户的id作为个性化信息,用户的特征u用一个系数的向量表示Ku={0,1}|U|。视觉特征向量z_i^q和稀疏向量K_u作为这一层的输入。这层可以捕捉用户和每个视觉特征的交互信息。如果这层的输出使用ψ∈R^m表示,则:


其中W^per∈R^m,为视觉特征的权重,V∈R^(mx|U|)是用户特征的权重。和卷积层一样,使用了元素级别(elementwise activation function)的激励函数φ,φ结合了视觉特征和用户特征。

多层感知机作为预测器

为了计算标签的分数,我们使用了多层感知机作为预测器,它的输入是个性化全连接层ψ的输出。网络的输出是这个post (u,i)标签的相关分数,图片i的片段q.因为这个网络有一个隐藏层,我们用如下的神经网络分数函数(neural network score function)表示:

其中,W^hidden和b^hidden是隐藏层的权重和偏置,w^out j∈W^out和b^out是输出层的权重和偏置。

2.3 优化

我们以不同的方式用贝叶斯个性化排(Bayesian Personalized Ranking,BPR)序优化准则,使得这个算法可用于深度学习个性化图片标签推荐。


BPR是利用最大化相关标签和不相关标签的差别来找模型的参数的,另外,BPR关于四元组(u,I,t+,t-)上利用了SGD,例如,对于每一个(u,i,t+)∈S_train和一个随机选择的未被观察的标签pu,i。损失是用来更新模型的参数的。前面的BPR对学习这个模型效率不高。对于posts的BPR标准为

其中

是用户u对图片i的标签选择的集合,其它的标签为未观察的标签,表示如下:

函数σ(x)为


相关标签和不相关标签的分数的差别的定义如下:

模型的参数学习过程如算法1.对于每个随机的post,相关图片的一个随机片段提取的特征。一个有N个标签的不相关集合是从post的未被观察的标签中随机选择的。系统计算了所有相关标签和不相关标签的分数,BPR模型参数的梯度如下:

其中


为了学习这个模型,我们需要计算两个梯度:

梯度依赖于不同层的权重,例如,如果参数θj依赖于相关标签t+j,则公式(9)变为:

为了找CNN参数的梯度,和视觉特征相关的导数反向传播到CNN.由公式(6)和(9),导数计算如下:

3评估

在评估中,我们用实验来处理有监督视觉特征和个性化因素在标签推荐过程上的影响。

3.1 数据集

实验的数据集是多标签数据集NUS-WIDE上和Flickr-PTR的子集,NUS-WIDE包含269648张图片,Flickr-PTR是由爬虫爬取的2百万张Flickr图片。我们对WIDE数据集进行如下预处理:
保留为图片标注的100个最流行的标签,从1000个用户中进行采样,根据用户和标签把他们分为10个核心数据集,其中用户或者标签至少出现在10个posts上,移除了用户为超过50%的图片打的标签,这是为了避免用户用对所有的标签都打相同的关键字。相似的,我们把Flickr-PTR的所有标签映射到WordNet上,细化数据集已得到40个核心用户,400个核心标签数据集。这是通过从500个用户中采样和移除用户给超过50%的图片指派的标签实现的。

我们对用户使用leave-one-post-out去分割数据集。对于每个用户,随机选择Flickr-PTR posts和2 NUS-WIDE posts的20%来当测试集,这个子数据集可以用表1来描述。


从Flickr API爬取的图片是从纵横比为75*75的NUS-WIDE或纵横比为50*50的Flickr-PTR上截取3个片段,从三个位置左上,中心,右下,这用于训练和预测的输入片段。

3.2 实验装置

用于两个数据集的结构包含3个卷积层(ConvL),两个最大池化层(MaxPoolL)。在这些结构中国,ConvL有相同的核,第一层有10个核,第二层有30个核,第三层有128个核。因为图片的大小不同,卷积核和池化块的维数是不同的,如图2:


预测器的隐藏层的维数为128,用rectifier函数max(0,x)作为激励函数。这篇文章的评估矩阵是:


其中



网格搜索策略被用于寻找最佳学习率α,其中ConvLs层的学习率是{0.001, 0.0001, 0.00001},全连接层的学习率是{0.01, 0.0001, 0.0001},最佳的L2正则λ的范围为λ∈{0.0,0.0001,0.00001},momentum的值μ固定为0.9。 64维的颜色直方图(CH)和225维块级别的颜色矩(CM55),这是NUS-WIDE作者提供的,Flickr-PTR图片的64维颜色直方图(CH)用来做比较实验。

CNN-PerMLP和下面的个性化标签推荐方法作比较,这些标签推荐方法仅仅使用用户的偏好信息,不考虑视觉信息:Pairwise Interaction Tensor Factorization(PITF),Factorization Machine (FM),most popular tags by users(MP-u)。

我们也比较了非个性化模型,包括most popular tags (MP),the multilabel neural networks (BP-MLLs),BP-MLLs用低级别的视觉特征(CH-BPMLL, CM55-BPMLL)作为输入,CNNs用来做图片标注,优化成对排序损失来学习参数(optimizes the pairwise ranking loss to learn
the parameters)。就在ROC曲线下优化损失而言,复现的CNN和Gong等人的模型很像。

为了作比较,CH-PerMLP 和 CM55-PerMLP使用低级别的特征,我们使用Tagrec framework去学习MP和MP-u,使用Mulan llibrary去学习CH-BPMLL 和 CM55-BPMLL。

4.3 结果


如上图,给个性化模型不能捕捉用户的交互,仅仅推荐与内容相关的标签。模型的预测质量很低,可是,用了CNN有监督特征能捕获更多的信息,性能提高了2%。


视觉特征提高了预测质量,在测试中,我们有很多新图片,和这些图片相关的权重没有进行学习。因此,个性化内容忽略的模型仅依赖于用户,例如FM和PITF.他们的结果在预测MP-u上的差别明显,个性化内容感知模型在这个情况下的效果更好,视觉特征大约提高了4%的预测质量。有监督特征也证明他们在推荐质量上的优势,使用学到的视觉特征,效果提高了大约2%到3%。


表3显示,我们的模型与MP-u相比,既可以预测个性化标签又可以预测内容标签,MP-u纯粹预测个性化标签和CNN推荐的内容标签。结果,CNN-PerMLP推荐了和图片相关的标签。例如,在第一幅图片上,推荐器会推进个性化标签,例如“flowers”,“ flower”,“ orange”,内容标签如“white”或“red”。


如表4和表5,在这种情况下,CNN-PerMLP工作得很好,人们使用他们频繁的标签或者和图片内容相关的标签去标注一个新图片。可是,如果模型为新图片指派和内容不相关的标签,模型的预测质量很差。


4 参考文献

[1]. Hanh T. H. Nguyen, Martin Wistuba, Josif Grabocka, Lucas Rêgo Drumond, Lars Schmidt-Thieme: Personalized Deep Learning for Tag Recommendation. PAKDD (1) 2017: 186-197

[2]. Leandro Balby Marinho, Andreas Hotho, Robert Jäschke, Alexandros Nanopoulos, Steffen Rendle, Lars Schmidt-Thieme, Gerd Stumme, Panagiotis Symeonidis:Recommender Systems for Social Tagging Systems. Springer Briefs in Electrical and Computer Engineering, Springer 2012, ISBN 978-1-4614-1893-1, pp. i-ix, 1-111
[3]. 交叉验证(Cross Validation)方法思想简介. http://blog.csdn.net/chl033/article/details/4671750


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

农民小飞侠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值