《深度學(xué)習(xí)入門(mén)-基于Python的實(shí)現(xiàn)》課件 6 PyTorch文本數(shù)據(jù)分析_第1頁(yè)
《深度學(xué)習(xí)入門(mén)-基于Python的實(shí)現(xiàn)》課件 6 PyTorch文本數(shù)據(jù)分析_第2頁(yè)
《深度學(xué)習(xí)入門(mén)-基于Python的實(shí)現(xiàn)》課件 6 PyTorch文本數(shù)據(jù)分析_第3頁(yè)
《深度學(xué)習(xí)入門(mén)-基于Python的實(shí)現(xiàn)》課件 6 PyTorch文本數(shù)據(jù)分析_第4頁(yè)
《深度學(xué)習(xí)入門(mén)-基于Python的實(shí)現(xiàn)》課件 6 PyTorch文本數(shù)據(jù)分析_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

October15,2024PAGE10/22張敏October15,2024PAGE10/22張敏《深度學(xué)習(xí)入門(mén)—基于Python的實(shí)現(xiàn)》(吳喜之張敏)用于自然語(yǔ)言處理的變換器張敏October15,2024變換器的原理圖1:變換器示意圖,上為總體,下面左右圖分別為編碼器和解碼器細(xì)節(jié)自我專(zhuān)注的原理 每個(gè)字或詞都在進(jìn)入變換器后的第一個(gè)編碼器中嵌入成為(假定512大小的向量中(512)向量列表.在第一個(gè)編碼器中輸入的是單詞嵌入,而在其他編碼器中的輸入是前一個(gè)編碼器的輸出.在將單詞嵌入輸入序列后,每個(gè)單詞都通過(guò)編碼器的兩層.變換器的一個(gè)關(guān)鍵屬性就是每個(gè)位置的單詞都流經(jīng)編碼器中自己的路徑.自我專(zhuān)注層中這些路徑之間存在依賴(lài)關(guān)系.但前向傳播層不具有這些依賴(lài)性,因此可以在流過(guò)前向傳播層的同時(shí)按各種路徑進(jìn)行并行計(jì)算(見(jiàn)圖2).圖2:字詞從進(jìn)入一個(gè)編碼器到輸出的過(guò)程假定一句話中只有四個(gè)單詞tookthechallenge”,然后看(見(jiàn)圖3).這句話中的“took”指的是什么?對(duì)于人類(lèi)來(lái)說(shuō),這是一個(gè)簡(jiǎn)單的問(wèn)題,但對(duì)于算法而言卻并非如此簡(jiǎn)單.當(dāng)模型處理“took”一詞時(shí),自我專(zhuān)注使它與每個(gè)其他詞相關(guān)聯(lián),“we”為“whotook”;“challenge”代表“tookwhat”,而如“the”僅僅是冠詞而已.圖3:自我專(zhuān)注的示意圖多頭專(zhuān)注 ( )一組權(quán)重矩陣 W(q),W(k),W(v) 稱(chēng)為專(zhuān)注頭(attention( )head),而變換器模型中的每一層都有多個(gè)專(zhuān)注頭.一個(gè)專(zhuān)注(token),通過(guò)多個(gè)專(zhuān)注頭例如對(duì)于每個(gè)詞,都有一些專(zhuān)注頭,主要是關(guān)注下一個(gè)單詞,或者主要關(guān)注動(dòng)詞到其直接賓語(yǔ).由于變換器模型具有多個(gè)專(zhuān)注頭,因此它們有可能捕獲許多級(jí)別和類(lèi)型的相關(guān)關(guān)系,從表面級(jí)別到語(yǔ)義.多專(zhuān)注頭層的多個(gè)輸出被傳遞到前向傳播層.( )在多頭專(zhuān)注具有多組權(quán)重矩陣 W(q),W(k),W(v) ,如果變換( )器使用8個(gè)專(zhuān)注頭,則每對(duì)編碼器/解碼器最終得到8組.這些集合中的每一個(gè)都是隨機(jī)初始化的,然后,通過(guò)訓(xùn)練將每個(gè)集合用于將輸入的嵌入(或來(lái)自較低編碼器/解碼器的向量)(X表示投影到不同的表示子空間中8個(gè)專(zhuān)注頭N下面是多頭專(zhuān)注的功能說(shuō)明.N×64X ()(),() N×64

(i=0,1,...,7)?[Z|Z|...|Z

];(1.1)N×64 ? i

0 1 7N×(64×8)ZN×64

=[Z0Z1...Z7]| | |N×(64×| | |

W(o)(64×8)×64

. (1.2)使用位置編碼表示序列的順序 為了解決輸入序列中單詞順序的信息,變換器增加一個(gè)向量到每個(gè)輸入嵌入中.這些向量遵循模型學(xué)習(xí)的特定模式以確定每個(gè)單詞的位置或序列中不同單詞之間的距離.這些值添加到嵌入中后,QKV向量中,在點(diǎn)積專(zhuān)注時(shí)就可以提供嵌入向量之間有意義的距離.( ;具體來(lái)說(shuō),由于我們的模型不包含遞歸和卷積,為了使模型能夠利用序列的順序,必須注入一些有關(guān)詞語(yǔ)在序列中的相對(duì)或絕對(duì)位置的信息.為此,在編碼器和解碼器組合的輸入嵌入(dm(positionalencoding),因?yàn)榫S度相同,則二者可以相加.位置編碼有很多選擇,可以是學(xué)習(xí)來(lái)的或者是固定的.作為一種固定的位置編碼的例子,使用不同頻率的正弦和余弦函數(shù)( ;PE(pos,2i)

sin pos =cos pos100002i/=cos pos

(1.3)PE(pos,2i+1)

100002i/dm).預(yù)訓(xùn)練模塊TransformerOctober15,October15,2024PAGE15/22張敏兩個(gè)簡(jiǎn)單的即時(shí)例子 情感分析輸入預(yù)先訓(xùn)練好的情感分析模型'sentiment-analysis'來(lái)判斷是正面還是負(fù)面情感:classifier=pipeline('sentiment-analysis')#classifier=pipeline('sentiment-analysis')#下載需要時(shí)間輸入一句話“Itisgreattolearndeeplearning.”classifier('Itisgreattolearndeeplearning.')[{'label':'POSITIVE','score':classifier('Itisgreattolearndeeplearning.')[{'label':'POSITIVE','score':0.9998034238815308}]顯然是正面,而且以很高得分來(lái)肯定.如果換一個(gè)句子:“Hedislikesanyparty.”:classifier('Hedislikesanyclassifier('Hedislikesanyparty.')輸出為:[{'label':'NEGATIVE','score':[{'label':'NEGATIVE','score':0.9949379563331604}]這就確定是負(fù)面的了.question_answerer({'question':'Whatisthefutureofdatascience?','context':'Dataquestion_answerer({'question':'Whatisthefutureofdatascience?','context':'Datascienceshouldabandonsignificanceandapplymachine})輸入預(yù)先訓(xùn)練好的模型'question-answering':question_answererquestion_answerer=pipeline('question-answering')(“Whatisthefutureofdatascience?”)及上下文(“DatascienceshouldabandonsignificanceandapplymachineOctober15,2024PAGE17/22張敏October15,2024PAGE17/22張敏輸出的答案為:{'score':0.3156715929508209,{'score':0.3156715929508209,'start':45,'end':66,'answer':'applymachinelerning.'}包含的模型 Transformers包含了來(lái)自不同創(chuàng)造者的各種模型(括號(hào)內(nèi)為創(chuàng)造者):BERT(Google),GPT(OpenAI),GPT-2(OpenAI),Transformer-XL(Google/CMU),XLNet(Google/CMU),XLM(Facebook),Facebook),DistilBERT(HuggingFace),CTRL(Salesforce),CamemBERT(Inria/Facebook/Sorbonne),ALBERT(GoogleResearchTechnologicalInstituteatChicago),T5(GoogleAI),XLM-RoBERTa(FacebookAI),MMBT(Facebook),Flau-BERT(CNRS),BART(Facebook),ELECTRA(GoogleResearch/StanfordUniversity),DialoGPT(MicrosoftResearch),Reformer(GoogleResearch),MarianMTMachinetranslationmodelstrainedusingOPUSdata(MicrosoftLongformer(AllenAI),DPR(Facebook),Pegasus(Google),MBart(Facebook),LXMERT(UNCChapelHill),Funnel(CMU/GoogleBrain),LayoutLM(MicrosoftResearchAsia),以及其他各社區(qū)貢獻(xiàn)的模型.BERT模型 BERT1(從變換器的雙向編碼器表示模型)設(shè)計(jì)為事先訓(xùn)練的關(guān)于英語(yǔ)的深度學(xué)習(xí)模型(maskedlanguagemodeling,MLM)對(duì)象.作為一種變換器,BERT以自我監(jiān)督的方式在大量的英語(yǔ)數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練.這意味著只對(duì)原始文本進(jìn)行了預(yù)訓(xùn)練,在沒(méi)有以任何人為方式為它們加上標(biāo)簽的情況下,產(chǎn)生輸入及標(biāo)簽的自動(dòng)過(guò)程,這就是它可以使用大量公開(kāi)數(shù)據(jù)的原因.1BidirectionalEncoderRepresentationsfromTransformers的縮略語(yǔ).GPT-2模型 GPT-2(causallanguagemodeling,CLM)的英語(yǔ)預(yù)訓(xùn)練模型它以自我監(jiān)督的方式在非常大的英語(yǔ)數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練.這意味著只對(duì)原始文本進(jìn)行了預(yù)訓(xùn)練,沒(méi)有以任何人為方式為其加上標(biāo)簽,它是可以自動(dòng)產(chǎn)生輸入及標(biāo)簽的自動(dòng)過(guò)程.經(jīng)過(guò)訓(xùn)練可以猜測(cè)句子中的下一個(gè)詞.GPT-2模型的輸入是一定長(zhǎng)度的連續(xù)文本序列,目標(biāo)是向右位移一個(gè)單詞的相同序列.它在內(nèi)部使用掩蓋機(jī)制來(lái)確保對(duì)詞的預(yù)測(cè)不使用將來(lái)的詞.模型以這種方式學(xué)習(xí)了英語(yǔ)的內(nèi)部表示形式,用來(lái)提取對(duì)下游任務(wù)有用的功能.該模型最擅長(zhǎng)根據(jù)提示生成文本的預(yù)訓(xùn)練方法.seq2seq變換器示范代碼October15,202422/22張敏October15,202422/22張敏本節(jié)案例代碼來(lái)自網(wǎng)上2,它相當(dāng)清楚地展示了前面介紹的變換器的各種功能,但由于使用了比較概括的模塊,想了解細(xì)節(jié)則需要查詢(xún)那些模塊.這里通過(guò)的變換編碼器模型nn.TransformerEncoder來(lái)處理一個(gè)語(yǔ)言建模的任務(wù),目的是給出一個(gè)句子(詞序列)后面應(yīng)該跟隨的詞或詞序列的概率.編碼器的運(yùn)作順序如下:首先將一個(gè)詞序列轉(zhuǎn)換成嵌入.然后

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論