自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

快速學(xué)會一個算法,Transformer

人工智能
與傳統(tǒng)的序列模型(如 RNN 和 LSTM)相比,Transformer 的主要優(yōu)勢在于其能夠更好地處理長距離依賴關(guān)系,同時顯著提高了計算效率。

大家好,我是小寒

今天給大家分享一個強大的算法模型,Transformer

Transformer 是近年來在自然語言處理(NLP)領(lǐng)域取得顯著成果的一種深度學(xué)習(xí)模型,最初由 Vaswani et al. 在 2017 年提出。

與傳統(tǒng)的序列模型(如 RNN 和 LSTM)相比,Transformer 的主要優(yōu)勢在于其能夠更好地處理長距離依賴關(guān)系,同時顯著提高了計算效率。

Transformer 架構(gòu)

Transformer 模型的核心由編碼器(Encoder)和解碼器(Decoder)兩部分組成,每部分由多個相同的層(Layer)堆疊而成。

圖片圖片

編碼器

編碼器部分由六個相同的層(來自原始論文)堆疊而成,每層分為 2 個子層。

  • 多頭自注意力機制
    通過計算輸入序列中每個位置與其他位置之間的注意力權(quán)重,來捕捉序列中的長距離依賴關(guān)系。
  • 前饋神經(jīng)網(wǎng)絡(luò)
    對每個位置的表示進(jìn)行進(jìn)一步的非線性變換。

每個子層后面都緊跟著一個殘差連接(Residual Connection)和層歸一化(Layer Normalization)。

圖片圖片

下面,我們來對編碼器的組件進(jìn)行詳細(xì)的描述。

  1. 詞向量

原始形式的單詞對機器來說毫無意義。

詞向量是將離散的詞表示成連續(xù)的向量,以捕捉詞與詞之間的語義關(guān)系。

詞向量通過嵌入層(Embedding Layer)實現(xiàn),將每個詞映射到一個高維的向量空間中。

這使得模型可以處理輸入序列中的詞,并在訓(xùn)練過程中學(xué)習(xí)詞與詞之間的語義關(guān)系。

圖片圖片

  1. 位置編碼

由于 Transformer 不像 RNN 那樣具有順序信息,因此需要顯式地將位置信息加入到輸入中。

位置編碼通過將每個位置映射到一個向量,提供了詞在序列中的位置信息。

常見的方法是使用正弦和余弦函數(shù)來生成位置編碼。

其中,pos 是位置,i 是維度索引,d 是嵌入維度。位置編碼將被添加到詞向量中,使得每個詞的表示包含了位置信息。

圖片圖片

  1. 自注意力
    自注意力機制是 Transformer 的核心組件,它通過計算輸入序列中每個位置與其他位置之間的注意力權(quán)重,來捕捉序列中的長距離依賴關(guān)系。
    具體步驟如下:
  • 查詢(Query)、鍵(Key)、值(Value)向量通過線性變換得到查詢、鍵和值向量。

圖片圖片

  • 注意力權(quán)重
    通過查詢和鍵向量的點積計算注意力權(quán)重,然后應(yīng)用 softmax 函數(shù)。

    圖片
  • 加權(quán)和
    利用注意力權(quán)重對值向量進(jìn)行加權(quán)求和。
  1. 殘差連接和層歸一化
    殘差連接和層歸一化用于穩(wěn)定訓(xùn)練過程,并加速模型的收斂。
    殘差連接將子層的輸入直接添加到輸出中,使得每一層都可以直接訪問輸入信號。
    層歸一化則對每一層的輸出進(jìn)行標(biāo)準(zhǔn)化,減少內(nèi)部協(xié)變量偏移。
  2. 前饋層
    前饋層是一個簡單的兩層全連接神經(jīng)網(wǎng)絡(luò),用于對每個位置的表示進(jìn)行進(jìn)一步的非線性變換。
    它在每個位置上獨立操作,不共享參數(shù)。
  3. 輸出
    編碼器的輸出是一個大小為 (N, T, d) 的張量,其中每個位置的向量表示是經(jīng)過多層編碼器后的最終表示。
    這些表示將被傳遞到解碼器或用于下游任務(wù)(如分類、翻譯等)。

解碼器

解碼器層除了包含與編碼器層相同的兩個子層外,還額外包含一個用于處理編碼器輸出與解碼器輸入之間關(guān)系的多頭注意力機制。

具體來說,解碼器層包括以下三個子層:

  • Masked 多頭自注意力子層(Masked Multi-Head Self-Attention Sub-layer)
  • 編碼器-解碼器注意力子層(Encoder-Decoder Multi-Head Attention Sub-layer)
  • 前饋神經(jīng)網(wǎng)絡(luò)

同樣,每個子層后面都有殘差連接和層歸一化。

圖片圖片

  1. Masked 多頭自注意力子層


在標(biāo)準(zhǔn)的多頭注意力機制中,每個位置的查詢(Query)會與所有位置的鍵(Key)進(jìn)行點積計算,得到注意力分?jǐn)?shù),然后與值(Value)加權(quán)求和,生成最終的輸出。

然而,在解碼器中,生成序列時不能訪問未來的信息。因此需要使用掩碼(Mask)機制來屏蔽掉未來位置的信息,防止信息泄露。

具體來說,在計算注意力得分時,對未來的位置進(jìn)行屏蔽,將這些位置的得分設(shè)為負(fù)無窮大,使得 Softmax 歸一化后的權(quán)重為零。

圖片圖片

  1. 編碼器-解碼器注意力子層

編碼器-解碼器多頭注意力子層在 Transformer 解碼器中起到了關(guān)鍵作用,它使解碼器能夠有效地關(guān)注輸入序列(編碼器的輸出),從而在生成序列時參考原始輸入信息。

具體來說,編碼器-解碼器多頭注意力的基本思想是通過對編碼器輸出(Key 和 Value)和解碼器當(dāng)前輸入(Query)來生成新的表示。

這種機制使得解碼器能夠在生成序列時動態(tài)地選擇性關(guān)注輸入序列的不同部分。

圖片圖片

  1. 前饋神經(jīng)網(wǎng)絡(luò)子層
    這是一個完全連接的前饋神經(jīng)網(wǎng)絡(luò),通常由兩個線性變換和一個ReLU激活函數(shù)組成。
    它在每個位置上獨立地應(yīng)用相同的網(wǎng)絡(luò),處理每個位置的表示。
責(zé)任編輯:武曉燕 來源: 程序員學(xué)長
相關(guān)推薦

2024-07-12 08:38:05

2024-07-19 08:21:24

2024-06-06 09:44:33

2024-12-19 00:16:43

2024-06-03 08:09:39

2024-08-21 08:21:45

CNN算法神經(jīng)網(wǎng)絡(luò)

2024-06-20 08:52:10

2024-09-09 23:04:04

2024-11-11 00:00:02

卷積神經(jīng)網(wǎng)絡(luò)算法

2024-12-04 10:33:17

2024-08-29 09:18:55

2024-08-22 08:24:51

算法CNN深度學(xué)習(xí)

2024-06-19 09:47:21

2024-07-30 08:08:49

2024-08-08 12:33:55

算法

2024-08-12 00:00:05

集成學(xué)習(xí)典型算法代碼

2024-08-22 08:21:10

算法神經(jīng)網(wǎng)絡(luò)參數(shù)

2020-04-10 10:15:29

算法開源Github

2021-07-29 07:55:19

Demo 工作池

2024-09-24 07:28:10

點贊
收藏

51CTO技術(shù)棧公眾號