Attention注意力機制

2021-10-05 12:26:09 字數 1369 閱讀 5623

**attention注意力機制及其實現、帶注意力機制的seq2seq翻譯模型

attention注意力機制介紹

自然語言處理中的自注意力機制(self-attention mechanism)

簡要描述就是「你正在做什麼,你就將注意力集中在那一點上」。

attention分為空間注意力時間注意力,即spatial attention 和temporal attention,前者用於影象處理,後者用於自然語言處理。

attention空間注意力:當我們正在看一件物品時,當前時刻關注的一定是該物品的某一區域,當目光轉移別處後,注意力/關注點隨之轉移。這意味著,當人們注意到某個目標或某個場景時,該目標內部記憶該場景內每一處空間位置上的注意分布是不一樣的。

attention時間注意力:當我們試圖描述一件事情,我們當前時刻說到的單詞和句子,和正在描述的事情的對應片段最相關,而其他部分隨著描述的進行,相關性也在逐漸改變。例如我們在思考將句子「我是乙個學生」翻譯成英文的時候,腦子中首先想到的就是「我」 <=>"i"的這樣一種對映(而不是先想到其它部分),這就是注意力機制在人腦中的表現。即,我們在按片語依次翻譯這句話的過程中,當我們翻譯到某個部分時,我們的大腦就只會聯想到(將注意力集中到)最與其相關(相似)的英文對映。

上述為從應用層面上的分類,而從attention的作用方法上,可以將其分為soft attentionhard attention,即attention輸出的向量分布是一種one-hot的獨熱分布還是soft的軟分布,這直接影響對於上下文資訊的選擇作用。

解釋1:我們知道在seq2seq模型中,原始編譯碼模型的encode過程會生成乙個中間向量c,用於儲存原序列的語義資訊。但是這個向量長度是固定的,當輸入原序列的長度比較長時,向量c無法儲存全部的語義資訊,上下文語義資訊受到了限制,這也限制了模型的理解能力。所以使用attention機制來打破這種原始編譯碼模型對固定向量的限制。

解釋2:要提出注意力機制就是為了解決當解碼的序列太長時,越到後面效果就越差。因為在未引入注意力機制之前,解碼時僅僅只依靠上一時刻的輸出而忽略了編碼階段每個時刻的輸出(「稱之為記憶」)。注意力機制的思想在於,希望在解碼的時刻能夠參考編碼階段的記憶,對上一時刻輸出的資訊做一定的處理(也就是只注意其中某一部分),然後再餵給下一時刻做解碼處理。這樣就達到了解碼當前時刻時,僅僅只接受與當前時刻有關的輸入,類似於先對資訊做了乙個篩選(注意力選擇)。

參考attention注意力機制介紹

keras 使用 self-attention

keras-self-attention

attention注意力機制

attention注意力機制的定義和本質 顧名思義 注意力機制的意思就是將注意力集中在重要的點上,忽略那些不重要的因素。注意力機制的本質其實就是對特徵分配注意力權重的過程。現在的重點就是注意力權重的獲取過程。encoder decoder模型定義 以機器翻譯為例,來講解attention機制。機器翻...

attention注意力機制學習

目前主流的attention方法都有哪些?jaylou婁傑的回答 知乎 目前主流的attention方法都有哪些?張戎的回答 知乎 attention機制解讀 高峰ouc的文章 知乎 transformer詳解 一 attention機制詳解 被包養的程式猿丶的文章 知乎 簡說seq2seq原理及實...

Attention注意力機制 原理與應用

注意力機制即attention mechanism在序列學習任務上具有巨大的提公升作用,在編解碼器框架內,通過在編碼段加入a模型,對源資料序列進行資料加權變換,或者在解碼端引入a模型,對目標資料進行加權變化,可以有效提高序列對序列的自然方式下的系統表現。attention模型的基本表述可以這樣理解成...