成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Transformer的核心理解起來也不難,但為什么這么強呢?

人工智能 智能汽車
傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在處理序列數(shù)據(jù)時需要按順序逐步計算,無法并行。而Transformer可以做到”同時計算所有位置的輸出”!它是怎樣做到的呢?

本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

Transformer的強大在于它的設(shè)計。高票答案已經(jīng)詳細講解了Transformer在長距離依賴建模方面的能力,我就試著從設(shè)計方面補充一下“Transformer能夠work很好”的其他幾個原因吧。拋磚引玉,大家輕拍。

并行計算 + 強大的表達與泛化能力

傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在處理序列數(shù)據(jù)時需要按順序逐步計算,無法并行。而Transformer可以做到”同時計算所有位置的輸出”!它是怎樣做到的呢?

圖片

上圖是論文中 Transformer 的內(nèi)部結(jié)構(gòu)圖,左側(cè)為 Encoder block,右側(cè)為 Decoder block。

首先,Transformer使用位置編碼(Position Encoding)來記錄各單詞在語句中的位置或次序,位置編碼的值遵循一定規(guī)則(如由三角函數(shù)生成),每個源單詞(或目標單詞)的Word Embedding與對應(yīng)的位置編碼相加(位置編碼向量與Word Embedding的維度相同)得到自己的編碼,并最終成為Encoder的輸入。

圖片

Transformer的Encoder組件由6個相同結(jié)構(gòu)的Encoder串聯(lián)而成,Decoder組件也是由6個結(jié)構(gòu)相同的Decoder串聯(lián)而成。最后一層Encoder的輸出將傳入Decoder的每一層。

圖片

進一步看,每個Encoder中的Multi-Head Attention,通過多個獨立的注意力頭并行計算,可以從不同的子空間中學(xué)習(xí)到不同的表示,從而使模型擁有關(guān)注語言不同方面的能力。下面是Multi-Head Attention的內(nèi)部結(jié)構(gòu),

圖片

從上圖可以看到 Multi-Head Attention 包含多個 Self-Attention 層,首先將輸入X分別傳遞到 h 個不同的 Self-Attention 中,計算得到 h 個輸出矩陣。

然后,Multi-Head Attention 將它們拼接在一起 (Concat),傳入一個Linear層,得到 Multi-Head Attention 最終的輸出Z

圖片

Linear層(全連接的神經(jīng)網(wǎng)絡(luò)層)的映射是非線性變換,它的作用是對輸入進行維度變換和特征提取。線性變換只能進行簡單的比例縮放和平移操作,而非線性變換可以引入更多的復(fù)雜性,例如曲線形狀、峰值和谷底等。這樣可以使模型更加靈活,能夠更好地適應(yīng)不同類型的數(shù)據(jù)分布,從而增加模型的表達能力。

Multi-Head Attention 上方還包括一個 Add & Norm 層,Add 表示殘差連接 (Residual Connection) 用于防止網(wǎng)絡(luò)退化(這也是RNN的頑疾),而Norm 表示 Layer Normalization,用于對每一層的激活值進行歸一化,也就是將每一層神經(jīng)元的輸入都轉(zhuǎn)成均值方差都一樣的,這樣可以加快收斂。

除了多頭機制,Transformer還使用了Feed Forward前饋網(wǎng)絡(luò),它由兩個線性變換和一個非線性激活函數(shù)(通常是ReLU)組成。輸入的詞向量經(jīng)過一個線性變換,將其映射到一個更高維度的空間。然后,通過ReLU進行非線性變換。最后,再經(jīng)過一個線性變換,將其映射回原始的詞向量維度。通過多層前饋網(wǎng)絡(luò)的堆疊,模型可以學(xué)習(xí)到更復(fù)雜的特征表示,從而更好地捕捉輸入序列中的語義信息。

Transformer架構(gòu)強大的表達與泛化能力使之成為GPT等大語言模型的底層核心,如果你也對Transformer和大模型感興趣,想掌握使用和開發(fā)大模型的必備技巧,最終進入這一領(lǐng)域,那么選擇一門相應(yīng)的網(wǎng)課是比較快的路徑。

自注意力模型的設(shè)計

傳統(tǒng)序列模型在處理長序列時,由于信息的傳遞是依次進行的,容易出現(xiàn)梯度消失或梯度爆炸的問題,同時也無法充分捕捉到序列中不同位置之間的依賴關(guān)系。

通過引入注意力機制,我們可以對每個位置的注意力權(quán)重進行獨立計算,不需要像傳統(tǒng)序列模型那樣依次進行計算,從而實現(xiàn)全局的信息交互。這也使得自注意力模型在處理長序列時具有更高的效率。

圖片

在這個模型中,MatMul是矩陣乘法的操作。具體來說,MatMul將查詢矩陣Q與鍵矩陣K相乘,得到一個注意力分數(shù)矩陣。這個注意力分數(shù)矩陣表示了查詢與每個鍵之間的相關(guān)性或相似度,從而決定在注意力機制中分配多少注意力權(quán)重給每個鍵對應(yīng)的值(Value)。通過將注意力分數(shù)矩陣與值矩陣V相乘,可以得到最終的注意力表示。

Scale是指對注意力分數(shù)進行縮放的操作。在計算注意力分數(shù)時,通常會將點積的結(jié)果除以一個縮放因子,這個縮放因子是注意力機制中的一個超參數(shù)。縮放的目的是為了控制注意力分數(shù)的大小,使其更穩(wěn)定和可解釋。

具體來說,計算注意力分數(shù)的公式為:Attention(Q, K) = softmax(QK^T / sqrt(d_k)) * V

其中,Q表示查詢(Query),K表示鍵(Key),V表示值(Value),d_k表示鍵的維度。在計算注意力分數(shù)時,將點積結(jié)果除以sqrt(d_k)來進行縮放。這個縮放因子可以使得注意力分數(shù)的范圍更合適,避免了點積結(jié)果過大或過小的情況。

較大的縮放因子可以增加注意力分數(shù)的范圍,使得模型更加關(guān)注不同位置之間的差異;較小的縮放因子可以減小注意力分數(shù)的范圍,使得模型更加平均地分配注意力權(quán)重。

這種注意力機制不依賴于外部的上下文信息,而是通過內(nèi)部的自我關(guān)注來計算注意力權(quán)重。因此,它被稱為self-attention自注意力機制。

Mask是一種用于控制注意力機制的操作。它被用來屏蔽或限制模型在計算注意力分數(shù)時對某些位置的關(guān)注。在自注意力模型中,常見的mask操作有兩種:padding mask和sequence mask。

  1. Padding mask(填充掩碼):在處理變長序列時,為了保持序列的長度一致,通常會在序列的末尾添加一些特殊的填充符號(如0)。Padding mask的作用是將這些填充符號對應(yīng)的位置的注意力分數(shù)設(shè)為一個很小的值(如負無窮),從而使模型在計算注意力分數(shù)時忽略這些padding符號。這樣可以避免填充的內(nèi)容對計算產(chǎn)生干擾。
  2. Sequence mask(序列掩碼):在某些任務(wù)中,為了避免模型在生成序列時看到未來的信息,需要對注意力分數(shù)進行掩碼操作。Sequence mask的作用是將當前位置之后的位置的注意力分數(shù)設(shè)為一個很小的值,從而使模型只能關(guān)注當前位置之前的信息。這樣可以保證模型在生成序列時只依賴于已經(jīng)生成的部分,而不會受到未來信息的影響。

通過使用mask操作,自注意力模型可以更好地處理變長序列和生成任務(wù),并且能夠控制模型在計算注意力分數(shù)時的關(guān)注范圍。不同的任務(wù)和應(yīng)用場景可能需要不同類型的mask操作。

比如在機器翻譯任務(wù)中,我們希望將一個源語言句子逐步翻譯成目標語言句子。使用sequence mask可以確保模型只能依賴于之前已生成的部分,逐步生成目標語言句子。

而在文本分類任務(wù)中,輸入的文本長度可能不一致。使用padding mask可以將填充部分的注意力權(quán)重設(shè)為0,忽略填充部分的影響,確保模型只關(guān)注真實的文本內(nèi)容。

演化

如今當我們談?wù)揟ransformer時,其實是在談?wù)撘粋€大家族。2018年年初,AllenNLP發(fā)布了一個新模型ELMo。ELMo是一種比Word2vec更好的訓(xùn)練詞向量的模型。而之后的BERT、RoBERTa、XLNet、T5、ALBERT、GPT-3等模型從自然語言理解及自然語言生成等角度,不斷刷新自然語言處理領(lǐng)域任務(wù)的SotA(State of the Art)表現(xiàn)。

Transformer架構(gòu)也像其他AI新技術(shù)一樣,會不斷迭代和更新,如果你也對Transformer大家族感興趣,想進入大模型開發(fā)這一熱門領(lǐng)域,那么通過學(xué)習(xí)一門靠譜的網(wǎng)課會是比較快的路徑。

責(zé)任編輯:張燕妮 來源: 自動駕駛之心
相關(guān)推薦

2015-05-18 13:49:37

OpenStack云計算應(yīng)用

2020-02-21 16:43:00

C語言編程語言程序員

2024-09-04 10:44:19

2022-07-08 08:37:23

Nacos服務(wù)注冊動態(tài)配置

2024-05-27 09:01:22

2024-03-01 17:01:15

GraphQL后端

2021-03-10 18:05:16

JavaProtobuf序列化

2021-01-26 05:39:57

Protobuf java

2021-03-03 11:09:25

Windows鴻蒙系統(tǒng)操作系統(tǒng)

2018-08-16 08:03:21

Python語言解釋器

2019-08-30 14:58:47

JavaScript程序員編程語言

2013-03-04 10:10:36

WebKit瀏覽器

2022-06-02 08:03:19

PyCharmPython代碼

2024-02-26 21:15:20

Kafka緩存參數(shù)

2020-02-27 15:44:41

Nginx服務(wù)器反向代理

2021-08-01 22:32:59

加密貨幣貨幣比特幣

2025-05-27 04:00:01

Docker容器掛載

2020-02-27 21:03:30

調(diào)度器架構(gòu)效率

2022-06-13 21:52:02

CDN網(wǎng)絡(luò)節(jié)點

2016-12-28 11:28:19

.NET反射
點贊
收藏

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

主站蜘蛛池模板: 国产精品精品久久久 | 性欧美xxxx | 日韩精品 电影一区 亚洲 | 国产精品视频在线播放 | 99精品99| 欧美亚洲一区二区三区 | 午夜在线视频一区二区三区 | 欧美精品福利 | 久久精点视频 | 日韩插插 | 欧美一区二区三区的 | 日本精品一区二区三区四区 | 九色 在线 | av毛片在线免费观看 | 我想看国产一级毛片 | 精品三级在线观看 | 日韩精品一区二区三区四区 | 黄网站免费在线 | 九九精品在线 | 能看的av | 国产成人精品一区二区三 | 久久69精品久久久久久久电影好 | 拍拍无遮挡人做人爱视频免费观看 | 国产精品欧美一区二区三区不卡 | 九九av| 国产免费一二三区 | 九九热这里只有精品在线观看 | 伊人久久在线 | 天天操综合网站 | 午夜精品在线观看 | 伊人精品久久久久77777 | 国产亚洲精品美女久久久久久久久久 | 日韩在线免费 | 亚洲风情在线观看 | 超碰97人人人人人蜜桃 | 蜜桃视频在线观看www社区 | 最新高清无码专区 | 日韩1区2区| av在线影院 | h视频免费在线观看 | 精品无码久久久久久国产 |