收藏!一文讀懂 15 種注意力機(jī)制
在人工智能領(lǐng)域,尤其是深度學(xué)習(xí)中,注意力機(jī)制已經(jīng)成為一種不可或缺的技術(shù),它賦予了模型類似人類的“聚焦”能力,讓模型能夠從海量信息中篩選出關(guān)鍵部分進(jìn)行處理。今天,我們就來(lái)深入探討一下 15 種常見的注意力機(jī)制,幫助大家更好地理解它們的特點(diǎn)和應(yīng)用場(chǎng)景。
1. 軟注意力(確定性注意力)
軟注意力機(jī)制是一種確定性的注意力分配方式。它會(huì)給輸入數(shù)據(jù)的每個(gè)部分都分配一個(gè)權(quán)重,這些權(quán)重通過(guò)某種可學(xué)習(xí)的函數(shù)計(jì)算得出,通常是基于輸入數(shù)據(jù)和查詢向量之間的相似性。然后,模型會(huì)根據(jù)這些權(quán)重對(duì)輸入數(shù)據(jù)進(jìn)行加權(quán)求和,得到一個(gè)加權(quán)后的表示,用于后續(xù)的處理。這種方式的優(yōu)點(diǎn)是計(jì)算過(guò)程是可微的,便于通過(guò)反向傳播進(jìn)行訓(xùn)練。不過(guò),它可能會(huì)對(duì)一些不那么重要的信息也分配一定的權(quán)重,導(dǎo)致模型在某些情況下不夠聚焦。
相關(guān)論文:《Neural Machine Translation by Jointly Learning to Align and Translate》
論文地址:https://arxiv.org/abs/1409.0473
2. 硬注意力(隨機(jī)注意力)
與軟注意力不同,硬注意力機(jī)制是隨機(jī)的。它會(huì)在輸入數(shù)據(jù)的不同部分之間進(jìn)行采樣,每次只關(guān)注一個(gè)特定的部分,而不是像軟注意力那樣對(duì)所有部分都分配權(quán)重。這種隨機(jī)性使得硬注意力在某些任務(wù)中能夠更有效地探索數(shù)據(jù)的不同方面,但同時(shí)也帶來(lái)了訓(xùn)練上的困難,因?yàn)殡S機(jī)采樣過(guò)程是不可微的,需要一些特殊的技巧來(lái)進(jìn)行優(yōu)化。
相關(guān)論文:《Effective Approaches to Attention-based Neural Machine Translation》
論文地址:https://arxiv.org/abs/1508.04025
3. 自我注意力
自我注意力機(jī)制主要關(guān)注輸入數(shù)據(jù)內(nèi)部不同部分之間的關(guān)系。它不需要額外的上下文信息,而是通過(guò)計(jì)算輸入序列中每個(gè)元素與其他元素之間的相似性來(lái)分配注意力權(quán)重。這種機(jī)制在處理序列數(shù)據(jù)時(shí)非常有效,因?yàn)樗軌虿蹲降叫蛄袃?nèi)部的長(zhǎng)距離依賴關(guān)系,例如在自然語(yǔ)言處理中的句子結(jié)構(gòu)分析中,可以更好地理解句子中不同單詞之間的語(yǔ)義聯(lián)系。
相關(guān)論文:《Attention Is All You Need》
論文地址:https://arxiv.org/abs/1706.03762
4. 交叉注意(編碼器 - 解碼器注意)
交叉注意力主要用于編碼器 - 解碼器架構(gòu)中,它讓解碼器能夠關(guān)注編碼器生成的上下文信息。具體來(lái)說(shuō),解碼器在生成輸出的過(guò)程中,會(huì)根據(jù)當(dāng)前的解碼狀態(tài)和編碼器的輸出來(lái)計(jì)算注意力權(quán)重,從而選擇性地關(guān)注編碼器中與當(dāng)前解碼任務(wù)最相關(guān)的部分。這種機(jī)制在機(jī)器翻譯、文本摘要等任務(wù)中發(fā)揮著重要作用,使得模型能夠更好地在源語(yǔ)言和目標(biāo)語(yǔ)言之間建立對(duì)應(yīng)關(guān)系。
相關(guān)論文:《Cross-Attention is All You Need: Adapting Pretrained Transformers for Machine Translation》
論文地址:https://arxiv.org/abs/2104.08771
5. 多頭注意力 (MHA)
多頭注意力機(jī)制是對(duì)自我注意力的一種擴(kuò)展。它通過(guò)將輸入數(shù)據(jù)分成多個(gè)不同的“頭”,每個(gè)頭都獨(dú)立地計(jì)算注意力權(quán)重,然后將這些頭的輸出進(jìn)行拼接或加權(quán)求和,得到最終的注意力表示。這樣做的好處是可以讓模型從多個(gè)不同的角度來(lái)關(guān)注輸入數(shù)據(jù),捕捉到更多樣化的特征和關(guān)系,從而提高模型的表達(dá)能力和性能。多頭注意力是 Transformer 架構(gòu)中的核心組件之一,在各種自然語(yǔ)言處理任務(wù)中都取得了顯著的效果。
相關(guān)論文:《Attention Is All You Need》
論文地址:https://arxiv.org/abs/1706.03762
6. 多頭潛在注意力 (MLA)
多頭潛在注意力是在多頭注意力的基礎(chǔ)上引入了潛在變量的概念。它試圖通過(guò)學(xué)習(xí)潛在的注意力分布來(lái)更好地捕捉數(shù)據(jù)中的復(fù)雜結(jié)構(gòu)和不確定性。與傳統(tǒng)的多頭注意力相比,多頭潛在注意力可以更加靈活地建模注意力權(quán)重的變化,從而在一些復(fù)雜的任務(wù)中表現(xiàn)出更好的適應(yīng)性和魯棒性,例如在處理具有噪聲或模糊性的數(shù)據(jù)時(shí),能夠更有效地提取有用的信息。
相關(guān)論文:《DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model》
論文地址:https://arxiv.org/abs/2405.04434
7. 基于記憶的注意力
基于記憶的注意力機(jī)制引入了記憶模塊,模型在計(jì)算注意力權(quán)重時(shí)會(huì)同時(shí)考慮輸入數(shù)據(jù)和記憶中的信息。記憶可以存儲(chǔ)之前處理過(guò)的數(shù)據(jù)或者一些先驗(yàn)知識(shí),這樣模型在當(dāng)前的處理過(guò)程中就可以參考這些記憶來(lái)做出更準(zhǔn)確的決策。例如,在對(duì)話系統(tǒng)中,基于記憶的注意力可以讓模型更好地理解對(duì)話的歷史上下文,從而生成更加連貫和準(zhǔn)確的回答。
相關(guān)論文:《End-To-End Memory Networks》
論文地址:https://arxiv.org/abs/1503.08895
8. 自適應(yīng)注意力
自適應(yīng)注意力機(jī)制的核心思想是讓模型能夠根據(jù)當(dāng)前的任務(wù)需求和輸入數(shù)據(jù)的特性,自動(dòng)調(diào)整注意力的分配方式。它通常通過(guò)學(xué)習(xí)一組參數(shù)來(lái)控制注意力機(jī)制的行為,使得模型在不同的情況下都能夠選擇最適合的注意力策略。這種機(jī)制提高了模型的靈活性和泛化能力,使其能夠更好地應(yīng)對(duì)各種復(fù)雜多變的任務(wù)場(chǎng)景,例如在圖像識(shí)別中,可以根據(jù)圖像的不同內(nèi)容自動(dòng)調(diào)整對(duì)不同區(qū)域的關(guān)注程度。
相關(guān)論文:《Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning》
論文地址:https://arxiv.org/pdf/1612.01887
9. 縮放點(diǎn)積注意力
縮放點(diǎn)積注意力是一種常用的注意力計(jì)算方式,它通過(guò)計(jì)算查詢向量和鍵向量之間的點(diǎn)積來(lái)得到注意力得分,然后對(duì)這些得分進(jìn)行縮放處理,最后通過(guò) softmax 函數(shù)進(jìn)行歸一化,得到注意力權(quán)重。縮放操作是為了防止點(diǎn)積結(jié)果過(guò)大而導(dǎo)致數(shù)值不穩(wěn)定問(wèn)題。這種注意力機(jī)制簡(jiǎn)單高效,在許多基于 Transformer 的模型中被廣泛應(yīng)用,為模型提供了強(qiáng)大的表示能力。
相關(guān)論文:《Implementing and Optimizing the Scaled Dot-Product Attention on Streaming Dataflow》
論文地址:https://arxiv.org/abs/2404.16629
10. 加性注意力
加性注意力又稱為 Bahdanau 注意力,它的計(jì)算方式是通過(guò)一個(gè)前饋神經(jīng)網(wǎng)絡(luò)來(lái)計(jì)算查詢向量和鍵向量之間的相似性得分。具體來(lái)說(shuō),將查詢向量和鍵向量拼接后輸入到神經(jīng)網(wǎng)絡(luò)中,經(jīng)過(guò)一系列的非線性變換得到注意力得分。這種方式可以捕捉到查詢和鍵之間的復(fù)雜關(guān)系,但計(jì)算成本相對(duì)較高。加性注意力在早期的序列到序列模型中得到了廣泛應(yīng)用,為后續(xù)注意力機(jī)制的發(fā)展奠定了基礎(chǔ)。
相關(guān)論文:《Neural Machine Translation by Jointly Learning to Align and Translate》
論文地址:https://arxiv.org/abs/1409.0473
11. 全局注意力
全局注意力機(jī)制會(huì)同時(shí)考慮輸入數(shù)據(jù)的所有部分,在計(jì)算注意力權(quán)重時(shí)不會(huì)對(duì)輸入數(shù)據(jù)進(jìn)行任何局部限制。這意味著模型在任何時(shí)候都能夠訪問(wèn)到輸入數(shù)據(jù)的全局信息,從而可以更好地捕捉到數(shù)據(jù)中的整體特征和結(jié)構(gòu)。全局注意力在處理一些需要全局理解的任務(wù)中非常有效,例如在文本分類中,可以更好地把握整個(gè)文本的主題和情感傾向。
相關(guān)論文:《Effective Approaches to Attention-based Neural Machine Translation》
論文地址:https://arxiv.org/abs/1508.04025
12. 局部注意力
與全局注意力相反,局部注意力機(jī)制只關(guān)注輸入數(shù)據(jù)的局部區(qū)域。它通常會(huì)限制注意力的范圍,例如只在當(dāng)前元素的鄰域內(nèi)計(jì)算注意力權(quán)重。這種方式可以減少計(jì)算量,同時(shí)也有助于模型更好地捕捉到局部特征和細(xì)節(jié)信息。在圖像處理中,局部注意力可以用于關(guān)注圖像中的特定區(qū)域,例如在目標(biāo)檢測(cè)任務(wù)中,更好地定位和識(shí)別目標(biāo)物體。
相關(guān)論文:《Effective Approaches to Attention-based Neural Machine Translation》
論文地址:https://arxiv.org/abs/1508.04025
13. 稀疏注意力
稀疏注意力機(jī)制旨在減少注意力計(jì)算中的冗余信息,通過(guò)引入稀疏性約束,使得注意力權(quán)重分布更加稀疏,即只有少數(shù)幾個(gè)元素的權(quán)重較大,而大部分元素的權(quán)重接近于零。這樣可以提高模型的計(jì)算效率和可擴(kuò)展性,同時(shí)也有助于模型更加專注于重要的信息。稀疏注意力在處理大規(guī)模數(shù)據(jù)和復(fù)雜任務(wù)時(shí)具有優(yōu)勢(shì),例如在處理長(zhǎng)文本或高分辨率圖像時(shí),可以有效地降低計(jì)算資源的消耗。
相關(guān)論文:《From Softmax to Sparsemax: A Sparse Model of Attention and Multi-Label Classification》
論文地址:https://arxiv.org/abs/1602.02068
14. 分層注意力
分層注意力機(jī)制將注意力分為多個(gè)層次,每個(gè)層次關(guān)注不同級(jí)別的特征或信息。例如,在文本處理中,底層的注意力可能關(guān)注單詞級(jí)別的特征,而高層的注意力則關(guān)注句子或段落級(jí)別的特征。通過(guò)這種分層的方式,模型可以更好地捕捉到數(shù)據(jù)中的層次結(jié)構(gòu)和語(yǔ)義信息,從而提高對(duì)復(fù)雜數(shù)據(jù)的理解能力。分層注意力在自然語(yǔ)言處理中的許多任務(wù)中都取得了良好的效果,如文本生成、問(wèn)答系統(tǒng)等。
相關(guān)論文:《Hierarchical Attention Networks for Document Classification》
論文地址:https://www.cs.cmu.edu/~./hovy/papers/16HLT-hierarchical-attention-networks.pdf
15. 時(shí)間注意力
時(shí)間注意力機(jī)制特別關(guān)注數(shù)據(jù)中的時(shí)間序列特征,它會(huì)根據(jù)時(shí)間的先后順序來(lái)分配注意力權(quán)重。在處理時(shí)間序列數(shù)據(jù)時(shí),例如語(yǔ)音識(shí)別、視頻分析等任務(wù)中,時(shí)間注意力可以讓模型更好地理解數(shù)據(jù)中的時(shí)間依賴關(guān)系和動(dòng)態(tài)變化。通過(guò)關(guān)注不同時(shí)刻的數(shù)據(jù)點(diǎn),模型可以捕捉到時(shí)間序列中的關(guān)鍵信息,從而提高對(duì)時(shí)間序列數(shù)據(jù)的建模和預(yù)測(cè)能力。
相關(guān)論文:《Describing Videos by Exploiting Temporal Structure》
論文地址:https://arxiv.org/abs/1502.08029
總結(jié)
注意力機(jī)制在深度學(xué)習(xí)領(lǐng)域的發(fā)展已經(jīng)取得了巨大的成果,從最初的簡(jiǎn)單注意力模型到如今各種復(fù)雜多樣的注意力機(jī)制,它們?yōu)槟P吞峁┝烁鼜?qiáng)大的表示能力和更靈活的信息處理方式。不同的注意力機(jī)制適用于不同的任務(wù)和數(shù)據(jù)類型,了解它們的特點(diǎn)和應(yīng)用場(chǎng)景可以幫助我們?cè)趯?shí)際應(yīng)用中更好地選擇和設(shè)計(jì)合適的模型架構(gòu)。
本文轉(zhuǎn)載自??智駐未來(lái)??,作者:小智
