论文笔记:Personalized Image Annotation Using Deep Architecture

来源:互联网 发布:cc攻击 linux 编辑:程序博客网 时间:2024/06/05 14:37

感想

这篇文章用的是nice数据集,不知道作者会不会把数据集贡献出来,利用了用户的历史打标签数据,和图片分类alexnet网络来对图片特征进行提取。总体上我觉得工作量还是有的,唯一的期待是希望作者能把源代码和数据集贡献出来,让更多的人参与到研究来。

1 介绍

随着社交网络的出现和移动设备的广泛传播,上传到在线社交网络的图片激增。

上图显示的是nice上的一些照片posts,nice是一个来自中国的移动图片分享应用和服务。这些图片通常用一些单词标注,这对用户和社交网络公司都非常重要。用户可以利用标签来描述图片中的物体,以显示他们的位置或者表达感情。通过分析标签,公司可以很容易的组织和检索图片,连接经常打相同标签的用户。因此,自动图片标注会为图片产生相关的标签,是社交网络中的一项重要任务。

自动图片标注是一个活跃的研究课题。即使纯粹的基于内容的方法已经在图片标注问题上取得了有效的性能,但是在社交图片标注任务上存在着两个明显的瑕疵,因为它只依赖于视觉内容。首先,很多标签是和特定的图片不相关的,仅仅依靠图片内容是不行的。第二,不同的用户在选择单词作为标签的时候会带着偏见。那些没有使用用户信息的方法不能捕捉到用户的打标签偏好。

为了解决这个问题,大多数前面的工作利用了社交网络元数据,例如用户的年龄,性别,城市,位置和摄影的时间,以及图片属于的社区,以此来提高社交图片的理解。这些方法主要是预测与图片内容不相关的的标签,通过引入两种社交网络元数据:一种是提供图片额外信息的图片数据;另一种是用户元数据,它能捕获用户的打标签的偏好。

尽管这些研究在图片标注上取得了不错的效果,但是他们仍然不足以捕获用户的打标签偏好。因此,一些研究通过从用户打标签的历史中来学习个性化的自动图片标注。他们认为用户打过的标签能更有效的反应用户的打标签偏好,这比身份信息(例如年龄,性别等等)好多了。例如上图,一些用户倾向于把sky标记为“beautiful sky”,而其它用户把它标记为“blue sky”,但是通过依赖于他们的资料信息,是几乎不可能对给定的图片推荐“beautifulsky”的。可是,我们可以学到,从包含历史标签“beautiful sky”的用户更喜欢把一张sky图片标记为“beautiful sky”。因此,用户的历史标签可以提供有效的个性化信息。

2 贡献

在这个工作中,我们提出了一个深度结构,把用户的打标签历史和图片的内容特征集成到一起做个性化的自动图片标注。其结构由三部分组成:其中两个部分学习图片的内容特征和用户的历史标签特征,另一个结合这些特征来预测标签。我们也探索了两个可能的对用户历史标签建模的方法:一个是提取用户历史标签的bag of words嵌入的特征。另一个是把用户的历史标签作为一串数据,于是用LSTM-RNN来对用户历史标签进行建模。为了和现有的包含用户历史标签的工作相比,我们提出的结构有着以下的优点。首先,它使用深层结构来处理个性化图片标注任务,深度结构可以端到端的进行训练。第二,这个结构通过考虑历史标签的顺序,能够对用户的历史标签更好的建模,并且考虑以前的结构。最终,这个结构用真实的并且大规模的数据集进行训练,数据集比其它公开的数据集大很多。实验结果证明了我们提出的结构的有效性。

3 提出的方法

A 结构



我们提出的个性化图片标注的整体结构如上。明显地,结构由三部分组成:其中,ConvNet对图片建模,TagNet对用户的历史标签建模,第三部分结构前面两部分的输出来预测图片的标签。这三部分的详细描述如下。

ConvNet

对于第一部分,我们关注对图片进行建模。我们采用ConvNet(convolutional neural network)来学习图片特征,这个网络和AlexNet的网络配置相似。ConvNet从AlexNet的全连接层(fc7)来产生维度n=4096的图片特征.

TagNet

对于第二个部分,我们提出了两个TagNets用来对用户的历史标签进行建模,第一个叫做BOW TagNet,它简单的学习用户历史标签的平均嵌入;另一个叫做LSTMTagNet,它使用LSTM-RNN来对历史标签顺序进行建模。我们现在详细地描述这两个模型。

BOW TagNet

受词嵌入模型的启发,在第一个TagNet中,我们学习每个历史标签在固定词汇表中的高维嵌入,然后把这些嵌入送入前馈神经网络。

其一般的网络结构如图。首先,我们每个历史标签通过嵌入映射到一个稠密的向量表示,然后,我们平均化嵌入,把一个可变长度的表示映射到一个固定大小的稠密输入。
正式地,对于一个给定的图片和上传者,考虑前面用户已经上传的T张图片,并且每张图片都用了一些标签来标记。让〖qi〗^((t))∈{1,2,…,Q}表示第t张图片的第i个tag,n^((t))表示第t张图片的标签数量,历史标签的描述器可以计算为:

其中,V∈R^(Q*d),是历史标签嵌入矩阵,V_k代表第V行的第k个的索引。

LSTM TagNet

第二个TagNet对用户标签历史提供了一个更复杂的方法,目的是捕获用户过去变化的偏好。直觉上,用户最近用的标签对当前的标签结果影响更大。

如上图,TagNet由上面的单个LSTM层组成,后面接了平均池化。首先,t时刻的历史标签的表示为h^((t))通过标签的平均嵌入来计算。于是,由一个输入序列h^((1) ),h^((2) ),…,h^((T) ),LSTM的记忆单元会产生一个表示序列r^((1)),r^((2)),…,r^((T))。这个表示序列是所有时间步的平均值,产生了表示q。
正式地,这个结构的历史标签描述器q可以被定义如下:
·

结合

最后一部分用来结合图片特征和用户的历史标签特征来预测图片标签。正式地,令p∈R^n为ConvNet的输出,q∈R^m为TagNet的输出。这部分的输出可以就这样计算:


其中,f和g是全连接网络,逗号表示行向量拼接,MLP是一个多层全连接网络。ConvNet和TagNet的输出首先分别通过f和g变换,之后把转换的输出拼接成一个宽层,后面接一个全连接层。

B训练

所提出结构的学习过程包含两个阶段:第一个阶段是在一个相对“clean”的数据集上学习初始化参数,数据集从nice上筹集的;第二个阶段学习这个结构的所有参数。

       第一阶段包括预训练ConvNet,大量的研究促使有监督卷积网络在ImageNet数据集上训练,然后作为特征提取器。我们发现ConvNet经过ImageNet训练以后提取的图片特征不能代表社交图片的内容。因此,我们在我们自己150万张图片上训练ConvNet,图片来自己nice,ConvNet被训练用于分类几千个不同的概念,这些概念延伸到许多类,例如Person, Food, Animals, Fashion, Scenes, Cars等等。

       第二个阶段包括学习整个结构。图片可能和多个标签相关,所以图片标注是一个多类别分类任务,我们用多类别逻辑损失来最小化正标签概率和的负值,我们用AdaGrad算法来最小化损失,batch size为128。ConvNet的权重是从第一阶段的预训练网络初始化的,其它的权重随机初始化。

4 实验

A 数据集

我们用从nice上筹集的大规模数据集来训练我们的模型。数据集按照时间顺序分成了三个子集:上传时间为t1到t2的图片作为训练集,图片上传时间为t2到t3的为验证集和测试集,其中t1<t2<t3.训练集中每个标签有500张图片,验证集中每个标签有40张图片,测试集中每个标签选择了40张图片。我们也移除了无意义的和垃圾标签以减少噪声。于是标签词汇表包含7963个高质量的标签,平均每张图片的标签数量为1.15.

       数据集中标签的分布是不一致的:它的概率很大程度上是由几个标签来计算的,为了避免这些标签来主导学习过程,我们限制训练集中的每个标签至少有12000张图片。另外,为了创造一个均衡的数据集版本,我们对每个标签一致采样图片。特定地,我们随机从7963个高质量标签中选择一个标签,随机选择与这个标签相关的图片作为正样本,所有其他的对应图片的标签被认为是负的,甚至是和图片相关的也会被认为是负的。我们的实验结果显示这个步骤表现得很好,尽管它为学习过程引入了噪声。为了均衡评估,我们把训练集上和测试集上每个标签的图片限制在40张。最后,我们得到了一个数据集,由2280万张公共图片组成,由469万用户上传。

       决定历史标签词汇表有两种策略:其中一种使用标签词汇表(label vocabulary),把8963个高质量标签作为历史标签词汇表(tags vocabulary);另一种不考虑标签的质量,因此使用有400 000标签的词汇表。在开始的实验中,我们用我们提出的深度结构尝试了两种策略。我们发现前面的策略表现更好,并且训练速度很快。在我们的模型中,视觉特征信息提供信息来决定图片内容,这可以来标注一些相似的标签,用户的历史标签提供了个性化信息来决定在这些相似标签中哪个标签用户是更喜欢的。那些没有在标签词汇表里面的用户历史标签几乎是无帮助的,并且可能会在预测标签时引入噪声。因此,我们采用了第一个策略,它使用分类标签词汇表(label vocabulary)来作为历史标签词汇表(history tagsvocabulary),一次作为我们数据集的用户历史标签输入。

B 模型结构

用户历史标签的嵌入维度设置为128,在concatenation层之前,我们使用relu方程作为全连接层的激励函数,每层有128个隐藏单元。最后的全连接层隐藏单元的大小和分类标签词汇表一样,用的是softmax函数。在所有的实验中,我们用0.001的学习率来预训练ConvNet,以0.1的学习率来训练其它的层。所有模型的迭代次数由验证集决定。

C 结果

我们把我们的模型和那些利用图片信息的模型进行了比较。比较通过增加历史标签信息得来的收益。我们也显示了模型只使用用户历史信息的结果,这些结果可以显示用户历史标签的角色。对于所有包含用户历史标签的模型,我们变化T来理解其性能,T表示用户最近历史标注的结果的数目。因此,我们把图像标注问题转换成了图片分类问题,每张图片的平均标签数量接近于1,我们用最流行的分类尺度来评估模型:Precision@k。为了描述,依赖于图片信息的模型作为image-only模型,仅依赖于用户历史标签的模型作为history-tags-only模型,同时使用图片和历史标签信息的模型作为multi-modal模型。


上表显示的是所有的模型的结果,从结果上我们可以得出下面的观察。

首先,image-only模型和history-tags-only模型取得了很好的效果。样例T=5时,对于P@1,image-only模型的的精度为9.54%,BOW TagNet和LSTMTagNet模型精度分别为8.14%和10.5%。这些模型比随机猜测模型精度更高。结果显示,图片和用户历史标签可以为个性化图片标注提供有用的信息。

第二,在这三个基准线模型中,对于任意值T,在P@5和P@10上,image-only基准线超过了两个history-tags-only基准线,但是在P@1上表现得比LSTM TagNet差。另外,image-only的P@5和P@1的鸿沟比其他模型更大。这主要是由两种情况导致的。

第一种情况,模型已经准确地预测了图片的内容,但是不能决定该用哪张图片来标注图片。


如图5,“(cole flower fields)”,”(sea of cole flowers)”,“(cole flowers)” 和 “(blossoming cole flowers)”是用来描述第一张图片的,但是image-only模型已经正确识别出了” cole  owers”,但是不能确定哪一个标签最可能选择。第二个例子显示的效果一样。

第二种情况,image-only模型不能捕获图片的特定内容,只是基于对图片内容的理解,给予了相对合理的猜测。如上图最右边的图片,image-only模型未能精确地预测motorcycle brand,但是捕捉到了这张图片与motorcycles相关,于是在首先的5个位置预测了5个motorcycle brands。

在这两种情况下,ground-truth标签经常没有被排在第1的位置,但是可能排在前5的位置。总结,图片信息可以为理解图片的语义信息提供更有效的信息,但是不能够精确的决定使用哪个标签。

返回到上表,我们发现两个multi-modal模型比其它模型的效果都要好,拿T=5作为例子,和三个baseline模型最好的结果对比,最佳的multi-modal模型在P@1上提升了50.2%,在P@5上提升了27.5,在P@10上提升了21.7%.



上图显示的是image-only和multi-modal模型比较的两个例子。在第一个例子中,ground-truth标签为“cappuccino”和“(latte art)”。 image-only模型预测的5个标签都和cappuccino或者coffee相关。相比较之下,两个multi-modal模型能够做到,整个历史标签包含“cappuccino”和“(latte art)”的用户更偏向用这两个标签来描述cappuccino,因此,这两个标签就排在结果的前三位置。在第二个例子中,ground-truth标签为一个clothing brand,“visvim”, image-only可以识别图片和鞋子相关,于是,在top5的预测中,给出了4个和鞋子相关的标签:两个鞋子品牌,“buscemi”和“timberlan”和两个一般的关于鞋子的标签,“(sneakers lover)”和“(fashion shoes lover)”。可是,这里面没有和ground truth标签,这两个multi-modal模型学到了,用户的历史标签包含“visvim”,不包含其它鞋子标签,就更偏向于使用“visivim”标签,而不会使用描述鞋子的一般标签。结果,两个multi-modal模型的第一个预测为ground-truth标签。总结,multi-modal模型可以利用用户的历史标签来学习用户的打标签偏好,最终会提升图片标注的效果。

我们也发现包含LSTM TagNet的模型比包含BOW TagNet的模型表现更好,那T=5作为自理,和BOWTagNet相比,在P@1上,LSTM TagNet提升了29%,在P@5上提升了24.4%,在P@10上提升了19.7%。和BOW Tag-Net+Image相比,在P@1上,LSTM TagNet+image提升了13.4%,在P@5上提升了6.9%,在P@10上提升了5.4%.另外,包含BOWTagNet的模型标签的更差,随着历史标注结果的数量上T增加,LSTMTagNet会表现得相对稳定一点,这表明考虑用户历史标签顺序的重要性。用户打标签的历史是一串数据,用LSTMTagNet模型比BOW TagNet模型更好。LSTMTagNet的一个优点是LSTM TagNet可以对这个事实建模,即最近的历史标签对标签结果的影响更大。可是,在基于BOW TagNet的模型中,所有用户历史标签对个性化打标签看成是同等重要。

5 参考文献

[1]. FangxiangFeng, Ruishan Liu, Xiaojie Wang, Xueming Li, Song Bi: Personalized ImageAnnotation Using Deep Architecture. IEEE Access 5: 23078-23085 (2017)








阅读全文
0 0
原创粉丝点击