论文笔记:Personalized Tag Recommendation for Images Using Deep Transfer Learning

感想

这是我发现的利用深度迁移学习做标签推荐的,不过百度是搜不到这篇论文的,这应该是一篇B类论文,利用了YOLOv2提取图片对象特征,利用VGG提取图片分类特征,这样用FM和PITF来整合这些特征,作为最终的输出。取得的效果还蛮不错,不过我个人感觉这几个网络不是在一起训练的,这可以作为一个研究的点继续做下去。

1 介绍

每天都有大量的数字资源被世界各地的用户存储、共享和访问。为了辅助图片的组织和检索,社交媒体服务允许用户用他们的关键词来标注他们的资源,这些关键词叫做tags。即使tagging是一个相对简单的工作,但是它是枯燥、耗时的,结果会使得用户放弃对图片进行打标签。Van Zwol等人的研究表明大多数上传到Flickr的标签只有少量标签,甚至没有,他们分析了2004年2月到2007年6月的照片,然后报道称大约有64%的标签有1到3个标签,20%的图片根本没有标签。
Tag recommendation被用于节省用户的时间,它会建议与上传内容相关的标签,这些建议偏向于用户的标签偏好和上传资源的内容。可是,在实践中,标签推荐系统经常仅基于用户的打标签历史,经常省略了上传物品的内容。
狭义的大众分类系统(narrow folksonomy systems)的一个缺点是物品的冷启动问题,狭义的大众分类系统允许一个或几个人对给定的资源提供标签,大多数上载到平台(例如Flickr)的图片,只有很少用户会打标签,例如只有图片的拥有者,以及拥有者授予权限的其它用户。因此,对于只基于用户偏好的个性化标签推荐模型,它会在提供有用的预测方面有很大的问题,特别是已经上传的图片,于是,这些模型经常会预测最流行的tags。
根据Van Zwol等人的研究,人们通常选择和内容和环境相关的词来标注图片,例如位置或者时间,图片的特征可用于解决冷启动问题,低级特征例如颜色直方图,经常用于个性化内容感知的标签推荐来克服这个问题。

2 贡献

这篇文章,我们提出了一个个性化标签推荐,它利用了多种深度学习技术,用于图片分类和目标检测的公共数据集来抽取强大的图片特征,这些图片特征和因子模型结合来提升预测性能。我们提出在著名的ImageNet上来训练卷积神经网络,他可以从我们的图片数据集上提取有用的特征。另外,我们正训练一个卷积神经网络来检测MS COCO数据集上的80个不同的物体。这两个任务和我们的任务不一样,并且使用不同的数据集。可是,结果表明我们可以从图片中提取有用的特征,这会帮助我们更好的做标签推荐。为了得到最终的推进,提取的视觉信息最终会用到因子分解机(factorization machines,FM)和成对的交互张量分解(pairwise interaction tensor factorization,PITF)。实验使用的是真实世界数据集NUS-WIDE,我们提取图片特征的方法使得标签推荐提升了至少1%。

我们的方法的动机的解释很容易,遵循人类如何标注图片的方式,


如上图,用户给这幅图片标注了“urban”,”motorcycle”, “downtown”。而COCO数据集仅使我们区分80种不同的物体,这和我们的任务完全无关,我们尽管检测到了person,motorbike, car和一些其它的物体。这也是人类会做的,看起来像motorbike的物体被打上了标签“motorcycle”。可是,目标检测也会推荐像“urban”的标签,这个标签很明显不是你图片上看到的物体,但是推荐系统可以学到无论何时motorbikes,cars和people在图片上检测到,这就是一个urban area或者city。相似的方式,分类算法可以提取图片特征,例如特定的形状,颜色等等。

3 问题定式化

在给定用户和图片的情况下,个性化标签推荐会给出一个标签排序列表,历史标签指派集合用A表示,是一个用户U,图片I和标签T的关系集合。如果用户u为图片i指派标签t,则a_(u,i,t)=1,否则a_(u,i,t)=0.
标签的观察集合定义为:

所有的观察对(u,i)被分为一个集合里,叫做posts,其定义如下:

我们的内容感知的推荐从颜色图片集合中提取不同的图片特征,R≔{R_i |i∈I}, 图片i∈I的视觉特征是通过图片分类网络提取的,表示为z_i∈R^m,目标检测特征通过向量o_i∈R^n表示。
基于图片推荐模型的得分函数y ̂(u,z_i,o_i |t)是计算给定postp_(u,i)的标签的得分,用来对标签排序,如果y ̂u,z_i,o_i,t_a比y ̂u,z_i,o_i,t_b的得分高,标签t_a与postp_(u,i)比t_b更相关。
内容感知的标签推荐模型期望提供一个top-K标签列表T ̂_(u,i),它是按照postp_(u,i)的标签分数的倒序排列。
 

4. 结构

我们的个性化图片感知标签推荐旨在利用深度学习方法来提取视觉信息,提升分解模型的推荐能力。


深度神经网络在ImageNet数据集上训练,用于分类任务,另一个网络用COCO数据集进行训练,用于目标检测任务。网络的参数转移到标签推荐系统,并且用于建立特征提取器。
图片特征和历史标签指派被送进一个自适应的分解模型,来计算标签分数。

4.1 视觉特征提取

CNN最近在图片分类上取得了巨大的进步。他们可以作为一个强提取器来获得图片的有价值的视觉特征。在这些网络中,通过在图片上滑动核窗口的方式,我们用一层或者更多卷积层来产生特征图,卷积层后面可以接一些池化层。
我们没有用反向传播来训练所有网络的权重,也没有花费大量的时间来学习这些参数,我们使用的是预训练的CNN,它在大型数据集上训练的,例如ImageNet,这种手法非常普遍。之后,卷积层的参数就固定住了,作为一个给定的特征提取层。
CNN结构中在图片分类最好的模型之一为VGG模型,其结构包括,在5个序列块上有多个卷积层,在这些blocks之间有一些可选的池化层。预测器块包含一些全连接层,用来预测不同标签的概率。其结构图如下:

我们在ImageNet数据集上训练一个网络,得到了一个强图片特征提取器,把它用于标签推荐。首先,我们用VGG-16结构来训练一个深度神经网络用于ImageNet图片分类任务,随后,我们把所有全连接和softmax层从网络中移除,用一个全局平均池化来代替网络的这些层。最后,网络被用于标签推荐系统的特征提取器,网络的输出被用于图片的新表示。特征提取的过程被定义为:

4.2 目标检测

深度学习不仅在图片分类上取得了最好的成绩,也成功的把它应用到了目标检测上了。现在最好的其中之YOLOv2,快速且高效。


它是基于DarkNet19结构,如上表。是YOLO的改进版本,YOLO使用一个卷积网络来预测多边界框和这些框的分类标签概率值。
网络由多个卷积层组成,大多数卷积层有3*3的滤波器,经过每次池化后,特征图的数量成倍增加。
我们提出的结构是使用检测目标的概率值作为特征。如果一个目标被检测了很多次,我们使用目标的最大概率。方框的信息在模型中没有用,在提取过程中被忽略了。我们在COCO数据集上训练YOLOv2。之后,网络用于标签推荐中图片的物体表示。网络的输出是一个稀疏的向量表示,用于检测80个类别的概率。其表示如下:

4.3 分解(Factorization)模型

广泛用于标签推荐的分解模型是分解机(factorization machines,FM)和两两交互张量分解(pairwise interaction tensor factorization,PITF),PITF用于对标签指派的不同元素的交互来建模。PITF区分标签的潜在特征,用于不同对之间的交互。FM分享所有交互对的特征。更详细地,这些模型的输入定义为:

FM模型的得分函数表示为

其中,p=|U|+|I|+|T|,v_j∈R^k是第j个特征的潜在特征(latent features)。另外,<v_j,v_(j`)>的计算如下:

由于x_u, x_i和x_t是1,其它的都为0,我们用的是一个成对的损失函数(pair-wise loss function),FM的预测函数可以简化为

其中,k是潜在特征的数量,V^U∈R^(|U|*k), V^I∈R^(|I|*k)和V^T∈R^(|T|*k)分别为用户的潜在特征,图片的潜在特征,标签的潜在特征。
相似地,PITF预测模型简化为

其中模型的参数用V^U∈R^(|U|*k), V^I∈R^(|I|*k)和V^(T^U )∈R^(|T|*k)和V^(T^I )∈R^(|T|*k)表示。
模型明显是基于不同元素之间的关系,使用所有元素的索引作为他们的输入。我们不能直接把这些模型应用到内容感知推荐,其输入包含图片的信息,表示在特征向量中。

4.4 图片感知的标签推荐的分解模型

前面提到的分解模型关注的是使用用户偏好,而不是使用图片的内容信息。为了把基于图片的特征应用到分解模型中,我们把因子分解模型的输入改为

根据用于预测标记分数的特征类型,未用的特征的部分将会从输入中移除。
基于输入的描述,我们提出了不同基于FM和PITF的分解模型,用来产生得分函数。
如果两种类型的特征用于预测相关的标签,得分函数被定义为:
基于FM的公式为:

基于PITF的函数为:

如果输入包含一种类型的特征,和未使用特征相关的参数就会从公式中移除。
取决于基于图片特征的类型和得分函数,模型的命名也不一样。详细地,FM-OD和PITF-OD只使用目标检测特征,而FM-IC和PITF-IC是用图片分类提取的特征。FM-ID-OD和PITF-IC-OD使用所有基于图片的特征。

4.5 优化

使用的优化准则是Bayesian Personalized Ranking(BPR)优化准则。参数满足使得相关标签和不相关标签的差别最大化。
关于四元组(u,i,t^+,t^-),BPR使用SGD;例如,对于每个(u,i,t^-)∈S_train和p_(u,i)的未观察的标签,从t^-上随机取的。计算其损失,用于更新模型的参数


用户u给图片i指派的标签叫做t^+,(u,i)对未观察的标签t^-表示为

另外,这两种类型的标签的差别为

其学习算法如算法1,对于每个随机的post,采样相关的标签和不相关的标签,计算这些标签的分数。代价函数的梯度计算如下,用来更新模型的参数:


为了学习这个模型,需要计算梯度
例如,例如,由公式6,这些标签的参数的导数计算:

5 评估

5.1 数据集

我们在公共数据集NUS-WIDE的子集来做实验,包含269 648张图片。我们对第一个子集合进行预处理,保留打上100个最流行的标签的图片,采样了1 000个用户,把它们分为10个数据集,涉及用户和标签,其中每个用户或者标签出现至少10个posts。随后,我们用户给50%的标签打上的标签,以避免用户把所有它们的图片打上相同的单词。

相似的方式,首先,通过映射到WordNet的方式来过滤掉tags,只有English tags保留了下来,并且移除了用户给50%的图片标注的标签。

我们使用leave-one-post-out的方式了分割我们的训练和测试集,对于NUS-WIDE-1, 2 的每一个用户,随意选择posts,然后把它放入测试集。相似地,采样每个用户的20%的NUS-WIDE-2 posts,并且放入测试集合。


这些数据集的描述如上表2,用于提取特征的颜色图片是从Flickr爬取的,调整为224*224维,NUS-WIDE-1每个标签的posts的分布比NUS-WIDE-2更加均衡,NUS-WIDE-2中超过50%的标签出现少于500次。

5.2 实验设置

提取的视觉特征结合在512维的向量中,而给定图片的目标识别的概率附加成了80维的向量。

       两个分解结构的因子维度固定为128,这篇文章的评价尺度是top- K标签的F1-measure,其中K的范围是1到10.


最佳学习率α在{0.01,0.001,0.0001}上寻找,最佳的L2-正则λ在{0.00 001, 0.000 001, 0.0 000 001}上寻找。FM-IC-OD和PITF-IC-OD模型和下面的个性化标签推荐方法进行了比较,这些方法只基于用户偏好:PITF和FM。

       另外,这些模型也和使用视觉特征或者目标检测特征的分解模型进行了比较:FM-OD,PITF-OD,FM-IC和PITF-IC。

5.3 结果





如上图4和图5,个性化模型FM和PITF表现最差,它们没有考虑内容信息,仅仅依赖于用户偏好和它们捕捉有其它元素的新图片间的交互不是高效的。在NUS数据集中,大多数在测试集合的图片未出现在训练集中,他们的潜在参数不是学到的。

       图片特征提升了预测的质量,在这些图上明显的显现了出来。这些特征使得性能从1%到3%。目标检测特征和其它特征相比不怎么有效,而结合了基于图片的特征帮助有效的提升了精度。因为在这个数据集上最流行的标签和颜色相关,例如blue和green。目标检测不能捕捉到这些信息,模型使用他们会损失这些标签。

       否则,视觉特征捕获了图片上更多的唯一的特征。因为这个原因,使用视觉特征模型的性能比只使用目标检测信息的模型更好。基于图片特征的结合被证明能够强有力的提升性能。他们可以捕获给定图片的一般的目标信息和唯一的视觉信息。因此这些特征比其他特征更丰富,FM-IC-OD和PITF-IC-OD模型的精度提供了最好的结果。

       另外,大部分情况下,基于PITF的模型一般比基于FM的模型更好。根据他们他们交互的元素,他们分离标签的潜在特征。因此他们可以捕获不同的有代表性的标签并且把每次计算的交互分数结合到最终的分数。基于PITF和基于FM的方法的差别在模型使用视觉或者目标特征方面很明显,而模型使用两种特征几乎是一致的。



表3显示的是我们的模型可以捕获基于视觉的标签和对象标签,而其他仅仅依赖于一种类型的图片特征的不行。例如,在第三张图片中,FM-IC-OD给一个给定用户一个基于目标的标签,“bird”,基于视觉的标签,“black”。

参考文献

[1]. Personalized Tag Recommendation forImages Using Deep Transfer Learning. http://ecmlpkdd2017.ijs.si/papers/paperID229.pdf