AMNet
图像检索是近些年来的热门,这次介绍记忆增强属性操作神经网络(AMNet),这种神经网络能够修改图像中的一些区域的属性,允许用户给出图片的同时加入一些关键词描述图片中没有的属性,从而能够更好的是检索出的图片符合用户的心理预期。
1. AMNet使用背景
网络时代,随着各种社交网络的兴起,网络中图片,视频数据每天都以惊人的速度增长,逐渐形成强大的图像检索数据库。针对这些具有丰富信息的海量图片,如何有效地从巨大的图像数据库中检索出用户需要的图片,成为信息检索领域研究者感兴趣的一个研究方向。
在一些使用场景中,用户也想要更换图像中的一些属性,使得图像更符合他们的心理预期。前人提出了多种方法,包括提供附加的相关属性描述,以及用预定义操作编辑图像,但是都存在着种种问题。
2. AMNet建模思路
1. 关键词描述
所谓的关键词描述,就是用户给出图片的同时,加上一些自己的想法。(如图)
作者希望用户通过文字来给出关键词描述,先通过LSTM的方法,识别出用户描述中涉及的属性种类和属性数量。之后作者定义了一种内存块来描述用户给图片添加的关键词描述。
首先定义一个 C × Q C \times Q C×Q的矩阵M,用来描述所有的属性的values。其中 C = ∑ m = 1 M C m C=\sum_{m=1}^{M}C_{m} C=∑m=1MCm,这里的M是所有的属性数量, C m C_{m} Cm是第m种属性中拥有的values的数量,(如colors可以拥有蓝色,红色等等很多属性)。Q是每个属性表示的维度,(如一种颜色用多个数字来表示)。通过这种方式,M的每一行都表示了一种属性。
再定义一个C维one-hot向量 h h h,用来描述用户想要修改的属性。例如M的第i行表示红色,并且 h ( i ) = 1 h(i)=1 h(i)=1,则表示用户想把颜色换成红色。为了更好的表示,将h归一化,归一化的结果记作 h ′ h^{'} h′。
所以,用户想要修改的属性值就可以表示为一个 Q Q Q维向量 t t t
t = ∑ i = 1 C h ( i ) ′ ⊗ M ( i , : ) t=\sum_{i=1}^{C}h(i)^{'}\otimes M(i,:) t=i=1∑Ch(i)′⊗M(i,:)
2. 属性操作器
定义 r r