image caption笔记(四):Image Captioning with Semantic Attention

     文章来自cvpr2016  

      image caption常见的方法包括top-down和bottom-up。Top-down直接做图像到文本的端到端学习,而bottom-up先抽取出一些关键词,再把关键词组合成一句话。Top-down比较难处理一些图像的细节,因为它将整张图片作为输入。而bottom-up不容易做端到端的学习,将抽取的特征组成一句话也很困难。因此文章在端到端模型中引入了attention机制,结合了两种方法的优势。

       与《show,attend and tell》相比,同样是引入了注意力机制,不同点在于:

       在《show,attend and tell》中,注意力是以固定的分辨率在空间上建模的。在每次重复迭代时,该算法计算一组与预定义的空间位置相对应的注意权值。相反,本文可以在图像中任何分辨率的任何地方使用概念。事实上,本文甚至可以使用在图像中没有直接视觉存在的概念。

       在RNN的输入、输出均引入了注意力机制。

      

    关于属性的选取,共有两种方法。第一种没看懂,第二种就是在caption中挑取频率高的单词作为属性 。

    

    也是只在起始时刻输入图像特征。后续不再使用。

    关键在于输入和输出时刻的两个注意力模型。

    先说输入时刻的注意力模型

    首先是根据前一个单词与不同属性的相关性分配权重(都是从词汇库中得出的 所以都用y表示)用E降一下维度

    本文使用双线性函数表述模型相关性:

                               

    然后组合属性和前一时刻的输出得到当前时刻的输入

                         

    输出的注意力机制与此类似,先计算权重

                                       

    然后根据当前时刻的隐藏态和组合属性计算输出的softmax概率值

                

     最后是损失函数,包括三部分, 后两部分是对权重的限制。第一部分就是希望预测的vocab大小的softmax概率向量中,gt位置的概率尽可能的接近1.

                                

     

                                 

      

    

猜你喜欢

转载自blog.csdn.net/zlrai5895/article/details/84669031