 三種注意力層)_transformer架構(gòu))
本文將從Transformer的本質(zhì)、Transformer_的原理_、_Transformer的應(yīng)用__三個(gè)方面帶您一文搞懂Transformer總體架構(gòu) 三種注意力層。一、Transformer 的本質(zhì)Transformer的起源Google Brain 翻譯團(tuán)隊(duì)通過論文《Attention is all you need》提出了一種全新的簡(jiǎn)單網(wǎng)絡(luò)架構(gòu)——Transformer它完全基于注意力機(jī)制摒棄了循環(huán)和卷積操作。注意力機(jī)制是全部所需主流的序列轉(zhuǎn)換模型RNNTransformer出來之前主流的序列轉(zhuǎn)換模型都基于復(fù)雜的循環(huán)神經(jīng)網(wǎng)絡(luò)RNN包含編碼器和解碼器兩部分。當(dāng)時(shí)表現(xiàn)最好的模型還通過注意力機(jī)制將編碼器和解碼器連接起來。Transformer vs RNN循環(huán)神經(jīng)網(wǎng)絡(luò)RNN、特別是長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)LSTM和門控循環(huán)單元網(wǎng)絡(luò)GRU已經(jīng)在序列建模和轉(zhuǎn)換問題中牢固確立了其作為最先進(jìn)方法的地位這些問題包括語言建模和機(jī)器翻譯。RNN LSTM GRURNN編碼器-解碼器架構(gòu)存在一個(gè)顯著的缺陷處理長(zhǎng)序列時(shí)會(huì)存在信息丟失。編碼器在轉(zhuǎn)化序列x1, x2, x3, x4為單個(gè)向量c時(shí)信息可能丟失。因?yàn)樗行畔⒈粔嚎s到這一個(gè)向量中增加了信息損失的風(fēng)險(xiǎn)。解碼器從這一向量中提取信息也很復(fù)雜。RNN編碼器-解碼器架構(gòu)注意力機(jī)制一種允許模型在處理信息時(shí)專注于關(guān)鍵部分忽略不相關(guān)信息從而提高處理效率和準(zhǔn)確性的機(jī)制。它模仿了人類視覺處理信息時(shí)選擇性關(guān)注的特點(diǎn)。注意力機(jī)制當(dāng)人類的視覺機(jī)制識(shí)別一個(gè)場(chǎng)景時(shí)通常不會(huì)全面掃描整個(gè)場(chǎng)景而是根據(jù)興趣或需求集中關(guān)注特定的部分如在這張圖中我們首先會(huì)注意到動(dòng)物的臉部正如注意力圖所示顏色更深的區(qū)域通常是我們最先注意到的部分從而初步判斷這可能是一只狼。注意力機(jī)制Q、K、V注意力機(jī)制通過查詢Q匹配鍵K計(jì)算注意力分?jǐn)?shù)向量點(diǎn)乘并調(diào)整將分?jǐn)?shù)轉(zhuǎn)換為權(quán)重后加權(quán)值V矩陣得到最終注意力向量。Q、K、V計(jì)算注意力分?jǐn)?shù)注意力分?jǐn)?shù)的價(jià)值量化注意力機(jī)制中某一部分信息被關(guān)注的程度反映了信息在注意力機(jī)制中的重要性。注意力分?jǐn)?shù)的價(jià)值Transformer的本質(zhì)Transformer是一種基于自注意力機(jī)制的深度學(xué)習(xí)模型為了解決自然語言處理中的序列到序列sequence-to-sequence問題而設(shè)計(jì)的。相較于RNN模型Transformer模型具有2個(gè)顯著的優(yōu)勢(shì)。優(yōu)勢(shì)一處理長(zhǎng)序列數(shù)據(jù)。Transformer采用自注意力機(jī)制能夠同時(shí)處理序列中的所有位置捕捉長(zhǎng)距離依賴關(guān)系從而更準(zhǔn)確地理解文本含義。而RNN模型則受限于其循環(huán)結(jié)構(gòu)難以處理長(zhǎng)序列數(shù)據(jù)。優(yōu)勢(shì)二實(shí)現(xiàn)并行化計(jì)算。由于RNN模型需要依次處理序列中的每個(gè)元素其計(jì)算速度受到較大限制。而Transformer模型則可以同時(shí)處理整個(gè)序列大大提高了計(jì)算效率。Transformer vs RNN二、Transformer 的原理編碼器-解碼器架構(gòu)Encoder-Decoder架構(gòu)是自然語言處理NLP和其他序列到序列Seq2Seq轉(zhuǎn)換任務(wù)中的一種常見框架。這種架構(gòu)的核心思想是將輸入序列編碼成一個(gè)固定大小的向量表示然后利用這個(gè)向量來生成輸出序列。RNN編碼器-解碼器架構(gòu)機(jī)器翻譯機(jī)器翻譯就是典型Seq2Seq模型架構(gòu)包括編碼器和解碼器兩部分。能實(shí)現(xiàn)從一個(gè)序列到另外一個(gè)序列的映射而且兩個(gè)序列的長(zhǎng)度可以不相等。機(jī)器翻譯Transformer的架構(gòu)Transformer也遵循編碼器-解碼器總體架構(gòu)使用堆疊的自注意力機(jī)制和逐位置的全連接層分別用于編碼器和解碼器如圖中的左半部分和右半部分所示。Transformer的架構(gòu)Encoder編碼器Transformer的編碼器由6個(gè)相同的層組成每個(gè)層包括兩個(gè)子層一個(gè)多頭自注意力層和一個(gè)逐位置的前饋神經(jīng)網(wǎng)絡(luò)。在每個(gè)子層之后都會(huì)使用殘差連接和層歸一化操作這些操作統(tǒng)稱為AddNorm。這樣的結(jié)構(gòu)幫助編碼器捕獲輸入序列中所有位置的依賴關(guān)系。Encoder編碼器架構(gòu)Decoder解碼器Transformer的解碼器由6個(gè)相同的層組成每層包含三個(gè)子層掩蔽自注意力層、Encoder-Decoder注意力層和逐位置的前饋神經(jīng)網(wǎng)絡(luò)。每個(gè)子層后都有殘差連接和層歸一化操作簡(jiǎn)稱AddNorm。這樣的結(jié)構(gòu)確保解碼器在生成序列時(shí)能夠考慮到之前的輸出并避免未來信息的影響。Decoder解碼器架構(gòu)編碼器與解碼器的本質(zhì)區(qū)別在于Self-Attention的Mask機(jī)制。編碼器與解碼器的本質(zhì)區(qū)別Transformer的核心組件Transformer模型包含輸入嵌入、位置編碼、多頭注意力、殘差連接和層歸一化、帶掩碼的多頭注意力以及前饋網(wǎng)絡(luò)等組件。Transformer的核心組件輸入嵌入將輸入的文本轉(zhuǎn)換為向量便于模型處理。位置編碼給輸入向量添加位置信息因?yàn)門ransformer并行處理數(shù)據(jù)而不依賴順序。多頭注意力讓模型同時(shí)關(guān)注輸入序列的不同部分捕獲復(fù)雜的依賴關(guān)系。殘差連接與層歸一化通過添加跨層連接和標(biāo)準(zhǔn)化輸出幫助模型更好地訓(xùn)練防止梯度問題。帶掩碼的多頭注意力在生成文本時(shí)確保模型只依賴已知的信息而不是未來的內(nèi)容。前饋網(wǎng)絡(luò)對(duì)輸入進(jìn)行非線性變換提取更高級(jí)別的特征。Transformer的核心組件Transformer的3種注意力層在Transformer架構(gòu)中有3種不同的注意力層Self Attention自注意力、Cross Attention 交叉注意力、Causal Attention因果注意力編碼器中的自注意力層Self Attention layer編碼器輸入序列通過Multi-Head Self Attention多頭自注意力計(jì)算注意力權(quán)重。解碼器中的交叉注意力層Cross Attention layer編碼器-解碼器兩個(gè)序列通過Multi-Head Cross Attention多頭交叉注意力進(jìn)行注意力轉(zhuǎn)移。解碼器中的因果自注意力層Causal Attention layer解碼器的單個(gè)序列通過Multi-Head Causal Self Attention多頭因果自注意力進(jìn)行注意力計(jì)算Transformer的3種注意力層先了解一些概念Scaled Dot-Product Attention、Self Attention、Multi-Head Attention、Cross Attention、Causal AttentionScaled Dot-Product Attention和Multi-Head AttentionScaled Dot-Product Attention縮放點(diǎn)積注意力輸入包括維度為dk的查詢queries和鍵keys以及維度為dv的值values。我們計(jì)算查詢與所有鍵的點(diǎn)積每個(gè)點(diǎn)積結(jié)果都除以√dk然后應(yīng)用softmax函數(shù)以得到注意力分?jǐn)?shù)。體現(xiàn)如何計(jì)算注意力分?jǐn)?shù)關(guān)注Q、K、V計(jì)算公式。Scaled Dot-Product Attention縮放點(diǎn)積注意力Self Attention自注意力對(duì)同一個(gè)序列通過縮放點(diǎn)積注意力計(jì)算注意力分?jǐn)?shù)最終對(duì)值向量進(jìn)行加權(quán)求和從而得到輸入序列中每個(gè)位置的加權(quán)表示。表達(dá)的是一種注意力機(jī)制如何使用縮放點(diǎn)積注意力對(duì)同一個(gè)序列計(jì)算注意力分?jǐn)?shù)從而得到同一序列中每個(gè)位置的注意力權(quán)重。Self Attention自注意力Multi-Head Attention多頭注意力多個(gè)注意力頭并行運(yùn)行每個(gè)頭都會(huì)獨(dú)立地計(jì)算注意力權(quán)重和輸出然后將所有頭的輸出拼接起來得到最終的輸出。強(qiáng)調(diào)的是一種實(shí)操方法實(shí)際操作中我們并不會(huì)使用單個(gè)維度來執(zhí)行單一的注意力函數(shù)而是通過h8個(gè)頭分別計(jì)算然后加權(quán)平均。這樣為了避免單個(gè)計(jì)算的誤差。Multi-Head Attention多頭注意力Cross Attention交叉注意力輸入來自兩個(gè)不同的序列一個(gè)序列用作查詢Q另一個(gè)序列提供鍵K和值V實(shí)現(xiàn)跨序列的交互。Cross Attention交叉注意力Causal Attention因果注意力為了確保模型在生成序列時(shí)只依賴于之前的輸入信息而不會(huì)受到未來信息的影響。Causal Attention通過掩蓋mask未來的位置來實(shí)現(xiàn)這一點(diǎn)使得模型在預(yù)測(cè)某個(gè)位置的輸出時(shí)只能看到該位置及其之前的輸入。Causal Attention因果注意力疑問一圖中編碼器明明寫的是Multi-Head Attention怎么就說是Self Attention編碼器的Self Attention疑問一解答Scaled Dot-Product Attention、Self Attention、Multi-Head Attention實(shí)際上說的是同一件事從不同維度解答如何獲取同一個(gè)序列中每個(gè)位置的注意力權(quán)重。圖上標(biāo)注Multi-Head Attention強(qiáng)調(diào)需要多個(gè)頭計(jì)算注意力權(quán)重。疑問二圖中編碼器明明寫的也是Multi-Head Attention怎么就說是Cross Attention編碼器-解碼器的Cross Attention疑問二解答Cross Attention、Multi-Head Attention實(shí)際上說的是也同一件事從不同維度解答兩個(gè)不同序列之間如何進(jìn)行注意力轉(zhuǎn)移。圖上標(biāo)注Multi-Head Attention強(qiáng)調(diào)需要多個(gè)頭進(jìn)行注意力轉(zhuǎn)移計(jì)算。疑問三圖中編碼器明明寫的也是Masked Multi-Head Attention怎么就說是Causal Attention解碼器的Causal Attention疑問三解答Causal Attention、Mask Multi-Head Attention實(shí)際上說的是也同一件事解碼器中Self Attention如何結(jié)合Causal Attention來保持自回歸屬性。Mask Multi-Head Attention強(qiáng)調(diào)使用了多個(gè)獨(dú)立的注意力頭每個(gè)頭都可以學(xué)習(xí)不同的注意力權(quán)重從而增強(qiáng)模型的表示能力。而Causal Attention則強(qiáng)調(diào)了模型在預(yù)測(cè)時(shí)只能依賴于已經(jīng)生成的信息不能看到未來的信息。三、 Transformer的應(yīng)用Transformer應(yīng)用NLP由于Transformer強(qiáng)大的性能Transformer模型及其變體已經(jīng)被廣泛應(yīng)用于各種自然語言處理任務(wù)如機(jī)器翻譯、文本摘要、問答系統(tǒng)等。TransformerVaswani等人首次提出了基于注意力機(jī)制的Transformer用于機(jī)器翻譯和英語句法結(jié)構(gòu)解析任務(wù)。BERTDevlin等人介紹了一種新的語言表示模型BERT該模型通過考慮每個(gè)單詞的上下文。因?yàn)樗请p向的在無標(biāo)簽文本上預(yù)訓(xùn)練了一個(gè)Transformer。當(dāng)BERT發(fā)布時(shí)它在11個(gè)NLP任務(wù)上取得了最先進(jìn)的性能。GPTBrown等人在一個(gè)包含45TB壓縮純文本數(shù)據(jù)的數(shù)據(jù)集上使用1750億個(gè)參數(shù)預(yù)訓(xùn)練了一個(gè)基于Transformer的龐大模型稱為GPT-3。它在不同類型的下游自然語言任務(wù)上取得了強(qiáng)大的性能而無需進(jìn)行任何微調(diào)。Transformer模型及其變體Transformer應(yīng)用CVVision TransformerViT是一種革命性的深度學(xué)習(xí)模型它徹底改變了傳統(tǒng)計(jì)算機(jī)視覺領(lǐng)域處理圖像的方式。ViT采用了Transformer模型中的自注意力機(jī)制來建模圖像的特征這與CNN通過卷積層和池化層來提取圖像的局部特征的方式有所不同。ViT模型主體的Block結(jié)構(gòu)基于Transformer的Encoder結(jié)構(gòu)包含Multi-head Attention結(jié)構(gòu)。Vision TransformerViT的本質(zhì)將圖像視為一系列的“視覺單詞”或“令牌”tokens而不是連續(xù)的像素?cái)?shù)組。ViT的本質(zhì)ViT的工作流程將圖像分割為固定大小的圖像塊patches將其轉(zhuǎn)換為Patch Embeddings添加位置編碼信息通過包含多頭自注意力和前饋神經(jīng)網(wǎng)絡(luò)的Transformer編碼器處理這些嵌入最后利用分類標(biāo)記進(jìn)行圖像分類等任務(wù)。ViT的工作流程如何學(xué)習(xí)AI大模型作為一名熱心腸的互聯(lián)網(wǎng)老兵我決定把寶貴的AI知識(shí)分享給大家。 至于能學(xué)習(xí)到多少就看你的學(xué)習(xí)毅力和能力了 。我已將重要的AI大模型資料包括AI大模型入門學(xué)習(xí)思維導(dǎo)圖、精品AI大模型學(xué)習(xí)書籍手冊(cè)、視頻教程、實(shí)戰(zhàn)學(xué)習(xí)等錄播視頻免費(fèi)分享出來。這份完整版的大模型 AI 學(xué)習(xí)資料已經(jīng)上傳CSDN朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認(rèn)證二維碼免費(fèi)領(lǐng)取【保證100%免費(fèi)】一、全套AGI大模型學(xué)習(xí)路線AI大模型時(shí)代的學(xué)習(xí)之旅從基礎(chǔ)到前沿掌握人工智能的核心技能二、640套AI大模型報(bào)告合集這套包含640份報(bào)告的合集涵蓋了AI大模型的理論研究、技術(shù)實(shí)現(xiàn)、行業(yè)應(yīng)用等多個(gè)方面。無論您是科研人員、工程師還是對(duì)AI大模型感興趣的愛好者這套報(bào)告合集都將為您提供寶貴的信息和啟示。三、AI大模型經(jīng)典PDF籍隨著人工智能技術(shù)的飛速發(fā)展AI大模型已經(jīng)成為了當(dāng)今科技領(lǐng)域的一大熱點(diǎn)。這些大型預(yù)訓(xùn)練模型如GPT-3、BERT、XLNet等以其強(qiáng)大的語言理解和生成能力正在改變我們對(duì)人工智能的認(rèn)識(shí)。 那以下這些PDF籍就是非常不錯(cuò)的學(xué)習(xí)資源。四、AI大模型商業(yè)化落地方案作為普通人入局大模型時(shí)代需要持續(xù)學(xué)習(xí)和實(shí)踐不斷提高自己的技能和認(rèn)知水平同時(shí)也需要有責(zé)任感和倫理意識(shí)為人工智能的健康發(fā)展貢獻(xiàn)力量。