深度學習裡的Attention model其實模拟的是人腦的注意力模型,舉個例子來說,當我們觀賞一幅畫時,雖然我們可以看到整幅畫的全貌,但是在我們深入仔細地觀察時,其實眼睛聚焦的就隻有很小的一塊,這個時候人的大腦主要關注在這一小塊圖案上,也就是說這個時候人腦對整幅圖的關注并不是均衡的,是有一定的權重區分的。這就是深度學習裡的Attention Model的核心思想。
AM剛開始也确實是應用在圖像領域裡的,AM在圖像處理領域取得了非常好的效果!于是,就有人開始研究怎麼将AM模型引入到NLP領域。最有名的當屬“Neural machine translation by jointly learning to align and translate”這篇論文了,這篇論文最早提出了Soft Attention Model,并将其應用到了機器翻譯領域。
Soft Attention Model: 這裡其實是上面圖的拆解,“Neural machine translation by jointly learning to align and translate”這篇論文提出了soft Attention Model,并将其應用到了機器翻譯上面。其實,所謂Soft,意思是在求注意力配置設定機率分布的時候,對于輸入句子X中任意一個單詞都給出個機率,是個機率分布。
其實有Soft AM,對應也有一個Hard AM。既然Soft是給每個單詞都賦予一個單詞對齊機率,那麼如果不這樣做,直接從輸入句子裡面找到某個特定的單詞,然後把目标句子單詞和這個單詞對齊,而其它輸入句子中的單詞硬性地認為對齊機率為0,這就是Hard Attention Model的思想。Hard AM在圖像裡證明有用,但是在文本裡面用處不大,因為這種單詞一一對齊明顯要求太高,如果對不齊對後續處理負面影響很大。
但是,斯坦福大學的一篇paper“Effective Approaches to Attention-based Neural Machine Translation”提出了一個混合Soft AM 和Hard AM的模型,論文中,他們提出了兩種模型:Global Attention Model和Local Attention Model,Global Attention Model其實就是Soft Attention Model,Local Attention Model本質上是Soft AM和 Hard AM的一個混合。一般首先預估一個對齊位置Pt,然後在Pt左右大小為D的視窗範圍來取類似于Soft AM的機率分布。