1. 程式人生 > >image caption筆記(四):Image Captioning with Semantic Attention

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.