官术网_书友最值得收藏!

2.1.1 基本概念

Transformer最初由Vaswani等人在2017年的論文“Attention Is All You Need”中提出。這篇論文顛覆了以往將循環神經網絡和卷積神經網絡視為NLP主流模型的觀點,提出了一種基于自注意力機制的全新模型。Transformer模型憑借其強大的表示學習能力和高效的并行計算性能,在短時間內便成為NLP領域的標準配置。

Transformer的核心結構由編碼器(encoder)和解碼器(decoder)兩部分組成,它們都是基于自注意力機制的多層堆疊結構,如圖2-1所示。

圖2-1 Transformer的核心結構

1. 編碼器

編碼器由N個相同的層堆疊而成,每一層都包含兩個子層——多頭自注意力層和全連接前饋層。這兩個子層均采用殘差連接(residual connection)和層歸一化(layer normalization)進行優化。編碼器的主要功能是將輸入語句中的每個詞表示為一個連續的向量,以便后續解碼器進行處理。

2. 解碼器

解碼器同樣由N個相同的層堆疊而成。除了與編碼器相似的多頭自注意力層和全連接前饋層以外,解碼器還多了一個額外的編碼-解碼注意力層(encoder-decoder attention),用于關聯輸入語句和生成的輸出語句。解碼器的主要任務是基于編碼器的輸出生成目標語句。

3. 自注意力機制

自注意力機制是Transformer模型的核心部分,其結構如圖2-2所示。它允許模型在一個序列內部學習各個元素之間的依賴關系,從而捕捉到文本中長距離的信息。

圖2-2 自注意力機制的結構

自注意力機制可以分為以下3個步驟。

1)注意力分數計算

將輸入序列的每個詞的嵌入表示通過線性變換后得到查詢(query)、鍵(key)和值(value)3個矩陣,然后計算查詢和鍵之間的點積,再除以一個縮放因子(通常為詞向量長度的平方根),得到注意力分數。

2)注意力權重與值向量

對注意力分數進行softmax操作,得到注意力權重。這些權重表示在計算當前詞的表示時,其他詞與當前詞之間的相關程度。

3)多頭注意力

為了更好地捕捉不同位置和不同維度上的信息,Transformer引入了多頭注意力機制。將初始輸入分成多個子空間后,分別進行自注意力計算,再將各個子空間的結果拼接起來。這樣,模型就可以關注到多種不同的信息,進而提高表達能力。

通過引入自注意力機制,Transformer不僅能夠并行處理整個文本序列,而且具有更強大的長距離依賴捕捉能力。這使得Transformer在NLP任務中具有顯著的優勢。

主站蜘蛛池模板: 那曲县| 松桃| 柘荣县| 武平县| 普兰县| 北票市| 临沂市| 大厂| 长宁区| 澄江县| 怀柔区| 东至县| 安图县| 通渭县| 本溪| 阿巴嘎旗| 沧州市| 象山县| 桓台县| 雷山县| 惠州市| 南昌市| 衡水市| 嘉兴市| 东乌| 广南县| 罗定市| 郯城县| 高密市| 阿尔山市| 南华县| 青河县| 策勒县| 嘉祥县| 长宁区| 吉隆县| 明光市| 阿拉尔市| 江安县| 金华市| 古丈县|