注意力是一種重要的機制,可用于跨許多不同領域和任務的各種深度學習模型。這項綜述提供了一個關于深度學習注意力機制的重要概述。各種注意力機制通過一個由注意力模型,統一符號,和一個全面的分類注意力機制組成的框架來進行解釋。在此基礎上,本文綜述了注意力模型評價的各種方法,并討論了基于該框架的注意力模型結構表征方法。最后,對注意力模型領域的未來工作進行了展望。
**模擬人類注意力的想法最早出現在計算機視覺領域[1],[2],試圖通過引入一個只關注圖像特定區域而不是整個圖像的模型來降低圖像處理的計算復雜度,同時提高性能。然而,我們今天所知道的注意力機制的真正起點通常是源于自然語言處理領域[3]。Bahdanau等人的[3]在機器翻譯模型中實現了注意力,以解決循環神經網絡結構中的某些問題。在Bahdanau等人的[3]強調了注意力的優點后,注意力技術得到了改進,[4],并迅速流行于各種任務,如文本分類[5]、[6]、圖像字幕[7]、[8]、情感分析[6]、[9],以及語音識別[10]、[11]、[12]。
注意力已經成為深度學習中的一種流行技術,原因有幾個。首先,整合了注意力機制的模型在上述所有任務和許多其他任務中都獲得了最先進的結果。此外,大多數注意力機制可以與基本模型聯合訓練,如使用規則反向傳播[3]的循環神經網絡或卷積神經網絡。此外,attention向神經網絡模型[8]引入了一種特定類型的解釋,這種解釋通常被認為非常復雜。此外,Transformer模型[13]的引入進一步證明了注意力的有效性,進一步提高了注意力機制的受歡迎程度。注意力最初是作為循環神經網絡[14]的擴展而引入的。然而,在[13]中提出的Transformer模型是注意力研究的一個重大發展,因為它證明了注意力機制足以建立一個最先進的模型。這意味著可以避免一些缺點,比如遞歸神經網絡特別難以并行化的事實。就像引入最初的注意力機制[3]一樣,Transformer模型是為機器翻譯創建的,但很快就被用于其他任務,如圖像處理[15]、視頻處理[16]和推薦系統[17]。
本綜述的目的是解釋注意力的一般形式,并提供一個在深度學習注意力技術的全面概述。關于注意力模型的其他綜述已經發表。例如,在[18]中,給出了計算機視覺中注意力的調研,[19]提供了圖模型中注意力的概述,[20],[21],[22]都是自然語言處理中注意力的調研。本文部分地建立在上述綜述所提供的資料之上。本綜述與前面提到的綜述的主要區別在于,其他的綜述一般都關注某個領域內的注意力模型。然而,這項綜述提供了一個跨領域的注意力技術概述。我們將以一種通用的方式討論注意力技術,使它們能夠被理解并應用于各種領域。此外,我們發現以往研究中提出的分類方法缺乏恰當區分各種注意力機制所需的深度和結構。此外,某些重要的注意力技巧在以前的綜述中還沒有得到適當的討論,而其他提出的注意力機制似乎缺乏技術細節或直觀的解釋。因此在本文中,我們通過使用統一符號的單一框架,結合技術和直觀的解釋,提出了重要的注意力技術,并對注意力機制進行了全面的分類。 本文的結構如下:第2節介紹了一個一般的注意力模型,為讀者提供了一個基本的了解注意力的屬性和如何應用它。本文的主要貢獻之一是在第3節中介紹的注意力技術的分類。在本節中,將根據所提供的分類法對注意機制進行解釋和分類。第4節概述了評估注意力模型的性能測量和方法。此外,該分類方法還用于評價各種注意模型的結構。最后,在第五部分,我們給出了結論和進一步研究的建議。
本節介紹一種注意力一般性與相應的符號。這里介紹的符號是基于[23]中引入并在[13]中普及的符號。本節中介紹的框架將在本文的其余部分中使用。為了實現一個通用的注意力模型,首先需要描述一個可以使用注意力的模型的一般特征。首先,我們將完整的模型稱為任務模型,其結構如圖1所示。這個模型只接受一個輸入,執行指定的任務,并產生所需的輸出。例如,任務模型可以是一種語言模型,它將一段文本作為輸入,并將內容摘要、情緒分類或逐字翻譯成另一種語言的文本作為輸出。或者,任務模型可以獲取圖像,并為該圖像生成標題或分割。任務模型由四個子模型組成: 特征模型、查詢模型、注意力模型和輸出模型。在2.1小節中,我們討論了特征模型和查詢模型,它們是用來為注意力計算準備輸入的。在2.2小節中,我們討論了注意力模型和輸出模型,它們與產生輸出有關。
有許多不同類型的注意力機制和擴展,一個模型可以使用這些注意技術的不同組合。因此,我們提出了一種分類法,可以用來對不同類型的注意機制進行分類。圖3提供了不同類別和子類別的視覺概述,注意力機制可以涵蓋在其中。基于是否關注技術是設計來處理特定類型的特征向量(相關特性),特定類型的模型查詢(查詢相關),或者它僅僅是一個通用的機制, 分成三大類。這些類別及其子類別的進一步解釋將在下面的小節中提供。本節中討論的每一種機制要么是對第2節中介紹的一般注意模塊現有內部機制的修改,要么是對其的擴展。
注意力機制分類法
特征相關注意力機制
**基于特定的一組輸入數據,特征模型提取特征向量,從而使注意力模型能夠關注這些不同的向量。這些特征可能具有特定的結構,需要特殊的注意力機制來處理它們。可以對這些機制進行分類,以處理以下特征特征之一: 特征的多樣性、特征的級別或特征的表示。
通用注意力機制
這個主要的類別包括了可以應用于任何類型的注意力模型的注意力機制。該組件的結構可以分解為以下幾個子方面:注意力評分函數、注意力對齊和注意力維度。
查詢相關的注意力機制查詢是任何注意力模型的重要組成部分,因為它們直接決定從特征向量中提取哪些信息。這些查詢基于任務模型的期望輸出,可以解釋為文字問題。有些查詢具有特定的特征,需要特定類型的機制來處理它們。因此,這一類封裝了處理特定類型查詢特征的注意力機制。這一類中的機制處理以下兩個查詢特征之一:查詢的類型或查詢的多樣性。**
在本節中,我們介紹了各種類型的注意力模型的評估。首先,我們可以使用第3節中介紹的分類法來評估注意力模型的結構。對于這樣的分析,我們考慮注意力機制類別(見圖3)作為模型的正交維數。可以通過確定模型對每個類別使用的機制來分析模型的結構。表3提供了文獻中發現的注意模型的概述,并基于模型實現的注意力機制進行了相應的分析。其次,我們討論了評價注意力模型表現的各種技術。注意力模型的性能可以通過外部或內部性能測量來評估,這將分別在第4.1和4.2小節中討論。
本研究綜述了近年來關于深度學習中的注意力模型的研究進展。注意力機制已經成為深度學習模型的一個顯著發展,因為它們已經表明可以顯著提高模型性能,在幾個研究領域的各種任務中產生了最先進的結果。我們提出了一個全面的分類,可以用來分類和解釋不同數量的注意力機制提出的文獻。分類法的組織基于任務模型的結構,該任務模型由一個特征模型、一個注意力模型、一個查詢模型和一個輸出模型組成。此外,還使用基于查詢、鍵和值的框架討論了注意力機制。最后,我們展示了如何使用外在和內在的測量方法來評估注意力模型的表現,以及如何使用分類方法來分析注意力模型的結構。
[1] H. Larochelle and G. E. Hinton, “Learning to combine foveal glimpses with a third-order Boltzmann machine,” in 24th Annual Conference in Neural Information Processing Systems (NIPS 2010). Curran Associates, Inc., 2010, pp. 1243–1251. [2] V. Mnih, N. Heess, A. Graves, and k. kavukcuoglu, “Recurrent models of visual attention,” in 27th Annual Conference on Neural Information Processing Systems (NIPS 2014). Curran Associates, Inc., 2014, pp. 2204–2212.
現在注意力機制已廣泛地應用在深度學習的諸多領域。基于注意力機制的結構模型不僅能夠記錄信息間的位置關系,還能依據信息的權重去度量不同信息特征的重要性。通過對信息特征進行相關與不相關的抉擇建立動態權重參數,以加強關鍵信息弱化無用信息,從而提高深度學習算法效率同時也改進了傳統深度學習的一些缺陷。因此從圖像處理領域、自然語言處理、數據預測等不同應用方面介紹了一些與注意力機制結合的算法結構,并對近幾年大火的基于注意力機制的transformer和reformer算法進行了綜述。鑒于注意力機制的重要性,綜述了注意力機制的研究發展,分析了注意力機制目前的發展現狀并探討了該機制未來可行的研究方向。
Attention模型目前已經成為神經網絡中的一個重要概念,注意力模型(AM)自機器翻譯任務【Bahdanau et al 2014】首次引入進來,現在已經成為主流的神經網絡概念。這一模型在研究社區中非常受歡迎,適用領域非常廣泛,包括自然語言處理、統計學習、語音和計算機視覺方面的應用。本篇綜述提供了關于注意力模型的全面概述,并且提供了一種將現有注意力模型進行有效分類的分類法,調查了用于不同網絡結構的注意力模型,并顯示了注意力機制如何提高模型的可解釋性,最后,討論了一些受到注意力模型較大影響的應用問題。