網(wǎng)上有很多關(guān)于實(shí)錄鄉(xiāng)pos機(jī)辦理,預(yù)訓(xùn)練模型在多語(yǔ)言的知識(shí),也有很多人為大家解答關(guān)于實(shí)錄鄉(xiāng)pos機(jī)辦理的問題,今天pos機(jī)之家(m.afbey.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
實(shí)錄鄉(xiāng)pos機(jī)辦理
8月29日至30日,由中國(guó)科學(xué)技術(shù)協(xié)會(huì)、中國(guó)科學(xué)院、南京市人民政府為指導(dǎo)單位,中國(guó)人工智能學(xué)會(huì)、南京市建鄴區(qū)人民政府、江蘇省科學(xué)技術(shù)協(xié)會(huì)主辦的主題為“智周萬(wàn)物”的2020年中國(guó)人工智能大會(huì)(CCAI 2020)在江蘇南京新加坡·南京生態(tài)科技島舉辦。在大會(huì)上,微軟亞洲研究院副院長(zhǎng)、國(guó)際計(jì)算語(yǔ)言學(xué)會(huì)(ACL)前任主席周明做了主題為《預(yù)訓(xùn)練模型在多語(yǔ)言、多模態(tài)任務(wù)的進(jìn)展》的特邀報(bào)告。
周明 微軟亞洲研究院副院長(zhǎng)、國(guó)際計(jì)算語(yǔ)言學(xué)會(huì)(ACL)前任主席
以下是周明老師的演講實(shí)錄:
自然語(yǔ)言處理(NLP),目的是使得計(jì)算機(jī)具備人類的聽、說(shuō)、讀、寫、譯、問、答、搜索、摘要、對(duì)話和聊天等能力,并可利用知識(shí)和常識(shí)進(jìn)行推理和決策,并支持客服、診斷、法律、教學(xué)等場(chǎng)景。自然語(yǔ)言理解,被認(rèn)為是AI皇冠上的明珠。一旦有突破,則會(huì)大幅度推動(dòng)AI在很多重要場(chǎng)景落地。
過去這五年,對(duì)自然語(yǔ)言是一個(gè)難忘的五年,它的一個(gè)標(biāo)志就是神經(jīng)網(wǎng)絡(luò)全面引入到了自然語(yǔ)言理解。從大規(guī)模的語(yǔ)言數(shù)據(jù)到強(qiáng)有力的算力,加上深度學(xué)習(xí),把整個(gè)自然語(yǔ)言帶到一個(gè)新的階段。
今天我要講的預(yù)訓(xùn)練模型,它使自然語(yǔ)言處理由原來(lái)的手工調(diào)參、依靠ML專家的階段,進(jìn)入到可以大規(guī)模、可復(fù)制的大工業(yè)施展的階段,令我們這個(gè)領(lǐng)域的人感到非常振奮。而且預(yù)訓(xùn)練模型從單語(yǔ)言、擴(kuò)展到多語(yǔ)言、多模態(tài)任務(wù)。一路銳氣正盛,所向披靡。那么,預(yù)訓(xùn)練模型到底是什么,它是怎么應(yīng)用在很多產(chǎn)品里,未來(lái)又有哪些發(fā)展機(jī)會(huì)和挑戰(zhàn)呢。下面試圖由淺入深地給大家介紹一下。
一、預(yù)訓(xùn)練模型
下面簡(jiǎn)要介紹預(yù)訓(xùn)練模型的基礎(chǔ)技術(shù),包括Transformer、自監(jiān)督學(xué)習(xí)、微調(diào)。然后詳細(xì)介紹預(yù)訓(xùn)練模型在語(yǔ)言、圖像、文檔和視頻等任務(wù)中的進(jìn)展,
預(yù)訓(xùn)練通過自監(jiān)督學(xué)習(xí)從大規(guī)模數(shù)據(jù)中獲得與具體任務(wù)無(wú)關(guān)的預(yù)訓(xùn)練模型。體現(xiàn)某一個(gè)詞在一個(gè)特定上下文中的語(yǔ)義表征。第二個(gè)步驟是微調(diào),針對(duì)具體的任務(wù)修正網(wǎng)絡(luò)。訓(xùn)練數(shù)據(jù)可以是文本、文本-圖像對(duì)、文本-視頻對(duì)。預(yù)訓(xùn)練模型的訓(xùn)練方法可使用自監(jiān)督學(xué)習(xí)技術(shù)(如自回歸的語(yǔ)言模型和自編碼技術(shù))??捎?xùn)練單語(yǔ)言、多語(yǔ)言和多模態(tài)的模型。此類模型可經(jīng)過微調(diào)之后,用于支持分類、序列標(biāo)記、結(jié)構(gòu)預(yù)測(cè)和序列生成等各項(xiàng)技術(shù),并構(gòu)建文摘、機(jī)器翻譯、圖片檢索、視頻注釋等應(yīng)用。
為什么我們要做預(yù)訓(xùn)練模型?首先,預(yù)訓(xùn)練模型是一種遷移學(xué)習(xí)的應(yīng)用,利用幾乎無(wú)限的文本,學(xué)習(xí)輸入句子的每一個(gè)成員的上下文相關(guān)的表示,它隱式地學(xué)習(xí)到了通用的語(yǔ)法語(yǔ)義知識(shí)。第二,它可以將從開放領(lǐng)域?qū)W到的知識(shí)遷移到下游任務(wù),以改善低資源任務(wù),對(duì)低資源語(yǔ)言處理也非常有利。第三,預(yù)訓(xùn)練模型在幾乎所有 NLP 任務(wù)中都取得了目前最佳的成果。最后,這個(gè)預(yù)訓(xùn)練模型+微調(diào)機(jī)制具備很好的可擴(kuò)展性,在支持一個(gè)新任務(wù)時(shí),只需要利用該任務(wù)的標(biāo)注數(shù)據(jù)進(jìn)行微調(diào)即可,一般工程師就可以實(shí)現(xiàn)。
下面介紹預(yù)訓(xùn)練模型的三個(gè)關(guān)鍵技術(shù)。
首先,第一個(gè)關(guān)鍵技術(shù)是Transformer。它在NLP各個(gè)任務(wù)中都取得了優(yōu)異的性能,它是預(yù)訓(xùn)練語(yǔ)言模型的核心網(wǎng)絡(luò)。給定一句話或是一個(gè)段落作為輸入,首先將輸入序列中各個(gè)詞轉(zhuǎn)換為其對(duì)應(yīng)的詞向量,同時(shí)加上每一個(gè)詞的位置向量,體現(xiàn)詞在序列的位置。然后將這些詞向量輸入到多層Transformer網(wǎng)絡(luò)中,通過自注意力(self-attention)機(jī)制來(lái)學(xué)習(xí)詞與詞之間的關(guān)系,編碼其上下文信息;再通過一個(gè)前饋網(wǎng)絡(luò)經(jīng)過非線性變化,輸出綜合了上下文特征的各個(gè)詞的向量表示。每一層Transformer網(wǎng)絡(luò)主要由Multi-head self-attention層(多頭自注意力機(jī)制)和前饋網(wǎng)絡(luò)層兩個(gè)子層構(gòu)成。Multi-head self-attention會(huì)并行地執(zhí)行多個(gè)不同參數(shù)的self-attention,并將各個(gè)self-attention的結(jié)果拼接作為后續(xù)網(wǎng)絡(luò)的輸入,self-attention機(jī)制會(huì)在后面中做詳細(xì)介紹。此后,我們得到了蘊(yùn)含當(dāng)前上下文信息的各個(gè)詞的表示,然后網(wǎng)絡(luò)會(huì)將其輸入到前饋網(wǎng)絡(luò)層以計(jì)算非線性層次的特征。
在每一層Transformer網(wǎng)絡(luò)中,會(huì)將殘差連接(residual connection)把自注意力機(jī)制前或者前饋神經(jīng)網(wǎng)絡(luò)之前的向量引入進(jìn)來(lái),以增強(qiáng)自注意力機(jī)制或者前饋網(wǎng)絡(luò)的輸出結(jié)果向量。并且還做一個(gè)layer normalization,也就是通過歸一化把同層的各個(gè)節(jié)點(diǎn)的多維向量映射到一個(gè)區(qū)間里面,這樣各層節(jié)點(diǎn)的向量在一個(gè)區(qū)間里面。這兩個(gè)操作加入在每個(gè)子層后,可更加平滑地訓(xùn)練深層次網(wǎng)絡(luò)。
Transformer可以用于編碼,也可以用于解碼。所謂解碼就是根據(jù)一個(gè)句子的輸入得到一個(gè)預(yù)想的結(jié)果,比如機(jī)器翻譯(輸入源語(yǔ)言句子,輸出目標(biāo)語(yǔ)言句子),或者閱讀理解(輸入文檔和問題,輸出答案)。解碼時(shí),已經(jīng)解碼出來(lái)的詞要做一個(gè)自注意力機(jī)制,之后和編碼得到的隱狀態(tài)的序列再做一個(gè)注意力機(jī)制。這樣可以做N層。然后通過一個(gè)線性層映射到詞表的大小的一個(gè)向量。每個(gè)向量代表一個(gè)詞表詞的輸出可能性,經(jīng)過一個(gè)Softmax層得到每個(gè)詞的輸出概率。
接下來(lái)詳細(xì)介紹self-attention機(jī)制,以一個(gè)head作為示例。假定當(dāng)前輸入包含三個(gè)詞,給定其輸入詞向量或是其上一層Transformer網(wǎng)絡(luò)的輸出,將其通過三組線性變換,轉(zhuǎn)換得到三組queries、keys 和 values向量。query和key向量用來(lái)計(jì)算兩兩詞之間的得分,也就是其依賴關(guān)系,這個(gè)得分會(huì)同其對(duì)應(yīng)的value向量做加權(quán)和,以得到每個(gè)詞綜合上下文信息的表示。給定當(dāng)前第一個(gè)詞的query向量,其首先同各個(gè)詞的key向量通過點(diǎn)積操作得到這兩個(gè)詞的得分,這些得分用來(lái)表示這兩個(gè)詞的依賴或是相關(guān)程度。這些得分之后會(huì)根據(jù)query等向量的維度做一定比例的縮放,并將這些得分通過softmax操作做歸一化。之后,各個(gè)得分會(huì)同其相對(duì)應(yīng)的value向量相乘得到針對(duì)第一個(gè)詞加權(quán)的各個(gè)value向量,這些加權(quán)的value向量最終相加以得到當(dāng)前第一個(gè)詞的上下文表示。
在得到第一個(gè)詞的上下文表示后,給定第二個(gè)詞的query向量,我們會(huì)重復(fù)之前的操作,計(jì)算當(dāng)前query向量同各個(gè)詞key向量的得分,對(duì)這些得分做Softmax歸一化處理,并將這些得分同其對(duì)應(yīng)的value向量做加權(quán)和,以得到其編碼上下文信息的表示。
下面是一個(gè)最簡(jiǎn)化的例子以便簡(jiǎn)單說(shuō)明自注意力機(jī)制。為了簡(jiǎn)單起見,這里假設(shè)Q、K和V的變化都不起作用,也就是不變。
輸入是The weather is nice today。利用自注意力機(jī)制調(diào)整每個(gè)詞的表示。比如The。我們認(rèn)為它要受到其他所有詞的影響。但是影響力可大可小。那么每個(gè)詞的影響力是通過計(jì)算the 與每個(gè)詞的關(guān)聯(lián)度,然后通過一個(gè)softmax歸一化得到一個(gè)權(quán)值。每個(gè)詞一個(gè)權(quán)值。這樣the的最后表示就是和每個(gè)詞計(jì)算關(guān)聯(lián)度的結(jié)果之和。
多頭注意力機(jī)制就是對(duì)一個(gè)節(jié)點(diǎn),可以設(shè)置幾組K、Q和V,分別計(jì)算關(guān)聯(lián)度(通過Q和K計(jì)算點(diǎn)積)和加權(quán)調(diào)整的值(通過V和關(guān)聯(lián)度計(jì)算)。幾組結(jié)果可以拼在一起,通過一個(gè)線性變換,體現(xiàn)多角度的特征抽取。多頭可以是16個(gè)頭、12個(gè)頭等。
第二個(gè)關(guān)鍵技術(shù)是自監(jiān)督學(xué)習(xí)。在預(yù)訓(xùn)練的模型中,AR(自回歸)LM 和 AE(自動(dòng)編碼器)是最常用的自監(jiān)督學(xué)習(xí)方法,其中,自回歸LM 旨在利用前面的詞序列預(yù)測(cè)下個(gè)詞的出現(xiàn)概率(語(yǔ)言模型)。自動(dòng)編碼器旨在對(duì)損壞的輸入句子,比如遮掩了句子某個(gè)詞、或者打亂了詞序等,重建原始數(shù)據(jù)。通過這些自監(jiān)督學(xué)習(xí)手段來(lái)學(xué)習(xí)單詞的上下文相關(guān)表示。
第三個(gè)關(guān)鍵技術(shù)就是微調(diào)。在做具體任務(wù)時(shí),微調(diào)旨在利用其標(biāo)注樣本對(duì)預(yù)訓(xùn)練網(wǎng)絡(luò)的參數(shù)進(jìn)行調(diào)整。以我們使用基于BERT(一種流行的預(yù)訓(xùn)練模型)為例來(lái)判斷兩個(gè)句子是否語(yǔ)義相同。輸入是兩個(gè)句子,經(jīng)過BERT得到每個(gè)句子的對(duì)應(yīng)編碼表示,我們可以簡(jiǎn)單地用預(yù)訓(xùn)練模型的第一個(gè)隱節(jié)點(diǎn)預(yù)測(cè)分類標(biāo)記判斷兩個(gè)句子是同義句子的概率,同時(shí)需要額外加一個(gè)線性層和softmax計(jì)算得到分類標(biāo)簽的分布。預(yù)測(cè)損失可以反傳給 BERT再對(duì)網(wǎng)絡(luò)進(jìn)行微調(diào)。當(dāng)然也可以針對(duì)具體任務(wù)設(shè)計(jì)一個(gè)新網(wǎng)絡(luò),把預(yù)訓(xùn)練的結(jié)果作為其輸入。
下面介紹預(yù)訓(xùn)練模型的歷史沿革。預(yù)訓(xùn)練模型的發(fā)展雖然這幾年才大熱,但是我覺得源于早期的詞嵌入(word embedding)的工作。比如Word2Vec。它的訓(xùn)練的結(jié)果是詞的嵌入,是一個(gè)靜態(tài)的表示;此后ULMFiT 是第一個(gè)使用RNN基于LM訓(xùn)練的上下文相關(guān)的預(yù)訓(xùn)練模型;CoVe利用翻譯任務(wù)來(lái)訓(xùn)練編碼器-解碼器,并使用編碼器作為預(yù)訓(xùn)練模型;ELMo 使用雙向 LSTM合并兩個(gè)方向的隱狀態(tài)獲得上下文相關(guān)表示;GPT采用LM進(jìn)行訓(xùn)練,它是基于Transformer的單向預(yù)訓(xùn)練模型;BERT是基于Transformer的基于掩碼的預(yù)訓(xùn)練模型;MT-DNN基于BERT增加了一些任務(wù)進(jìn)行多任務(wù)訓(xùn)練;MASS使用編碼-解碼器來(lái)訓(xùn)練預(yù)訓(xùn)練模型;UNILM嘗試同時(shí)支持語(yǔ)言理解和生成任務(wù)。把預(yù)訓(xùn)練模型用于多語(yǔ)言任務(wù):XLM是一種支持多語(yǔ)言的BERT模型;Unicoder引入若干新的任務(wù)改進(jìn)了 XLM;T5把多種自然語(yǔ)言任務(wù)(比如機(jī)器翻譯、問答),用了更大的數(shù)據(jù),在一個(gè)網(wǎng)絡(luò)訓(xùn)練,同時(shí)支持這些任務(wù);BART是一種編碼-解碼器模型,通過還原損壞的句子訓(xùn)練;mBART將 BART理念擴(kuò)展到多語(yǔ)言。另外還有最新的很多模型恕我這里沒有全部列出。此外也擴(kuò)展到多模態(tài)。
這是一個(gè)更加詳細(xì)的總結(jié)。名稱、用途、架構(gòu)、特點(diǎn),這里就不詳細(xì)說(shuō)明了。
總體來(lái)講,預(yù)訓(xùn)練模型發(fā)展趨勢(shì):第一,模型越來(lái)越大。比如Transformer的層數(shù)變化,從12層的Base模型到24層的Large模型。導(dǎo)致模型的參數(shù)越來(lái)越大,比如GPT 110 M,到GPT-2是1.5 Billion,圖靈是17 Billion,而GPT-3達(dá)到了驚人的175 Billion。一般而言模型大了,其能力也會(huì)越來(lái)越強(qiáng)。但是訓(xùn)練代價(jià)確實(shí)非常大。第二,預(yù)訓(xùn)練方法也在不斷增加,從自回歸LM,到自動(dòng)編碼的各種方法,以及各種多任務(wù)訓(xùn)練等。第三,還有從語(yǔ)言、多語(yǔ)言到多模態(tài)不斷演進(jìn)。最后就是模型壓縮,使之能在實(shí)際應(yīng)用中經(jīng)濟(jì)的使用,比如在手機(jī)端。這就涉及到知識(shí)蒸餾和teacher-student models,把大模型作為teacher,讓一個(gè)小模型作為student來(lái)學(xué)習(xí),接近大模型的能力,但是模型的參數(shù)減少很多。
預(yù)訓(xùn)練模型舉例說(shuō)明
BERT
這里用BERT舉例說(shuō)明預(yù)訓(xùn)練模型訓(xùn)練方法。基于Transformer。其基本模型為 12 層模型,還有一個(gè)大型模型為 24 層模型。這里說(shuō)明幾個(gè)關(guān)鍵地方。
1. tokenizer,簡(jiǎn)單地理解為詞的切分,比如工具BPE。針對(duì)一個(gè)數(shù)據(jù)集合,BPE工具自動(dòng)獲得該數(shù)據(jù)集的token的集合,取頻率最高的前N個(gè)token作為詞表,其他的token都看作是UNK(unknown word)。
2. 對(duì)數(shù)據(jù)集合的每個(gè)數(shù)據(jù),通過BPE做tokenize,形成token的序列。
3. 訓(xùn)練時(shí),每個(gè)token有一個(gè)多維向量表示,比如1 024維。隨機(jī)初始化。
4. 計(jì)算預(yù)測(cè)的損失。該損失反向傳播來(lái)調(diào)整各層的網(wǎng)絡(luò)參數(shù)。也包括每個(gè)token的多維向量表示。
5. 最后訓(xùn)練的結(jié)果,包括每個(gè)token的多維向量表示、每層的網(wǎng)絡(luò)參數(shù),以及各個(gè)attention model的參數(shù)等。
6. 在用預(yù)訓(xùn)練模型時(shí),把輸入序列tokenize之后,對(duì)每個(gè)token,從詞典中得到多維向量表示。然后根據(jù)每層的網(wǎng)絡(luò)參數(shù),計(jì)算輸出。
訓(xùn)練任務(wù):BERT使用了掩碼語(yǔ)言模型(就是蓋住一個(gè)單詞或者多個(gè)單詞,然后讓模型預(yù)測(cè))。損失用來(lái)調(diào)整網(wǎng)絡(luò)。
BERT還使用NSP(下一句預(yù)測(cè)),旨在預(yù)測(cè)第二句是否是第一句的下一句。
UniLM
UniLM由微軟研究院自然語(yǔ)言計(jì)算組開發(fā),是一種最先進(jìn)的預(yù)訓(xùn)練的模型,用于語(yǔ)言理解和生成任務(wù)。首先它是一個(gè)transformer機(jī)制。用了三個(gè)任務(wù)訓(xùn)練:第一個(gè)任務(wù)就是掩碼語(yǔ)言模型(就是自編碼)類似于BERT,利用左右詞匯預(yù)測(cè)被蓋住的詞;第二個(gè)任務(wù)就是自回歸語(yǔ)言模型,類似GPT,利用前面的詞序列預(yù)測(cè)下一個(gè)詞;第三個(gè)任務(wù)就是編碼-解碼模型,利用輸入句子和已經(jīng)輸出的詞來(lái)預(yù)測(cè)接下來(lái)的詞。這三個(gè)任務(wù)進(jìn)行多任務(wù)訓(xùn)練。通過一個(gè)掩碼矩陣控制哪些詞可以用來(lái)attention。訓(xùn)練得到的模型具備了理解和生成兩種能力。在GLUE任務(wù)集合、文摘生成和答案抽取等任務(wù)上都取得了當(dāng)時(shí)最好的水平。
預(yù)訓(xùn)練模型已廣泛應(yīng)用于產(chǎn)品,比如提高搜索的相關(guān)性等。上圖顯示必應(yīng)搜索使用了我們預(yù)訓(xùn)練模型的問答系統(tǒng),給定一個(gè)NL問題,系統(tǒng)提取包含答案的文本并確定答案部分。它也可以用于問題生成。給定一個(gè)文本,生成關(guān)于這個(gè)文本的若干問題??梢杂糜谡Z(yǔ)言教育等領(lǐng)域。
二、預(yù)訓(xùn)練模型在多語(yǔ)言任務(wù)的應(yīng)用
有許多語(yǔ)言中,它們都有大量的單一語(yǔ)言數(shù)據(jù),并且某些語(yǔ)言對(duì)之間存在一些對(duì)照數(shù)據(jù)。我們可以學(xué)習(xí)一個(gè)跨語(yǔ)言的預(yù)訓(xùn)練模型,其中來(lái)自兩種不同語(yǔ)言的單詞,如果具有相似的含義,將聯(lián)系在一起。然后,基于預(yù)訓(xùn)練的模型要建立某個(gè)具體任務(wù)的系統(tǒng)。對(duì)某些語(yǔ)言,如果有帶標(biāo)注的數(shù)據(jù),利用之經(jīng)微調(diào)可以得到一個(gè)系統(tǒng)。所得到的模型應(yīng)用于其他語(yǔ)言的同一個(gè)任務(wù),即使該語(yǔ)言沒有標(biāo)注數(shù)據(jù),也有一定效果。該語(yǔ)言如有標(biāo)注數(shù)據(jù)也可進(jìn)一部微調(diào)。這樣實(shí)現(xiàn)了跨語(yǔ)言之間的遷移學(xué)習(xí)。
下面介紹一個(gè)典型多語(yǔ)言預(yù)訓(xùn)練模型XLM。它將BERT擴(kuò)展到多語(yǔ)言理解任務(wù)。XLM中使用了兩個(gè)任務(wù)。第一個(gè)是掩碼(屏蔽)語(yǔ)言模型,它與BERT中類似,輸入是一個(gè)句子,可以是A語(yǔ)言、也可以是B語(yǔ)言。通過共享所有語(yǔ)言的模型參數(shù)和詞匯,XLM可以獲得跨語(yǔ)言功能。第二個(gè)任務(wù)是TLM(翻譯語(yǔ)言模型),它叫做翻譯,其實(shí)并沒有考慮對(duì)譯關(guān)系。輸入是雙語(yǔ)對(duì)照句對(duì),看作一個(gè)語(yǔ)言,去訓(xùn)練掩碼語(yǔ)言模型。
我們開發(fā)的Unicoder-1進(jìn)一步增加了跨語(yǔ)言訓(xùn)練新任務(wù)。除了在單語(yǔ)句子上進(jìn)行單詞和短語(yǔ)層面的“掩碼LM”,以及對(duì)雙語(yǔ)句子進(jìn)行掩碼LM(稱作翻譯LM)之外,我們?cè)黾右粋€(gè)新的訓(xùn)練任務(wù):在利用了Giza+做了單詞對(duì)齊之后,通過預(yù)測(cè)兩個(gè)單詞的對(duì)譯關(guān)系是否存在。這個(gè)任務(wù)可以在單詞級(jí)別做、短語(yǔ)級(jí)別做,也可以在句子級(jí)別做。不僅用正例,也引入了反例,通過對(duì)比式學(xué)習(xí),加強(qiáng)學(xué)習(xí)效果。
我們還將 Unicoder 擴(kuò)展到跨語(yǔ)言生成任務(wù)。這個(gè)預(yù)訓(xùn)練模型UNICODER-2做了如下任務(wù)訓(xùn)練:給定來(lái)自多語(yǔ)言語(yǔ)料庫(kù)的輸入句子,首先打亂其句子,對(duì)文本加噪音,然后通過解碼器嘗試恢復(fù)。解碼時(shí)可以傳統(tǒng)方法每次僅預(yù)測(cè)一個(gè)token,也可通過我們最近的Prophet(先知)網(wǎng)絡(luò)一起預(yù)測(cè)兩個(gè)token或者多個(gè)token,然后取第一個(gè)詞輸出,再預(yù)測(cè)下一位置的token。這樣做預(yù)測(cè)能力有新的提高。
我們建立了多語(yǔ)言任務(wù)的評(píng)測(cè)數(shù)據(jù)集XGLUE。XLGUE中的 11 個(gè)下游任務(wù),其中包括NER(命名實(shí)體識(shí)別)、POS(詞性標(biāo)注)等?,F(xiàn)在XGLUE已經(jīng)發(fā)布。這些任務(wù)現(xiàn)在涵蓋 19 種語(yǔ)言。
我們?cè)赬GLUE上評(píng)測(cè)了多個(gè)跨語(yǔ)言預(yù)訓(xùn)練模型(包括 MBERT、XLM、XLM-R 和 Unicoder),并在上表中列出比較結(jié)果??梢钥吹剑覀兊腢nicoder 在許多理解和生成任務(wù)上實(shí)現(xiàn)了最佳的平均性能。
多語(yǔ)言預(yù)訓(xùn)練模型可以把英語(yǔ)的模型應(yīng)用到其他語(yǔ)言。英語(yǔ)的標(biāo)注數(shù)據(jù)比較多,而其他語(yǔ)言往往缺少標(biāo)注數(shù)據(jù)。因此,利用多語(yǔ)言預(yù)訓(xùn)練模型可以對(duì)新的語(yǔ)言,做zero-shot或者few-shot的學(xué)習(xí)。比如這里展示了問答系統(tǒng)。英文問答數(shù)據(jù)finetune訓(xùn)練的QA在法語(yǔ)、德語(yǔ)上也有很好的效果。也可以產(chǎn)生新聞的標(biāo)題。同樣也是在英語(yǔ)標(biāo)注集合finetune訓(xùn)練之后的系統(tǒng),也可以生成其他語(yǔ)言的標(biāo)題。
這里總結(jié)一下多語(yǔ)言預(yù)訓(xùn)練模型。它緩解了多種語(yǔ)言的資源短缺問題。多語(yǔ)言預(yù)訓(xùn)練模型幫助多語(yǔ)言搜索、QA、廣告、新聞、文本摘要、低資源神經(jīng)機(jī)器翻譯等取得新的提升。
多語(yǔ)言預(yù)訓(xùn)練模型仍然面臨許多挑戰(zhàn),首先最有效的預(yù)訓(xùn)練任務(wù)仍然是掩碼LM(在多語(yǔ)種或雙語(yǔ)語(yǔ)料庫(kù)上),我們要拓展新的任務(wù)以便充分利用多語(yǔ)言/雙語(yǔ)的特點(diǎn)。第二,詞匯表比單語(yǔ)言的預(yù)訓(xùn)練模型(例如BERT / RoBERTa)大得多,單語(yǔ)3萬(wàn),多語(yǔ)25萬(wàn)。這樣導(dǎo)致要學(xué)的模型參數(shù)就會(huì)增加很多,訓(xùn)練的開銷更大。第三,有的語(yǔ)言對(duì)有詞匯、語(yǔ)法的同源關(guān)系,遷移學(xué)習(xí)效果好,比如英語(yǔ)的finetune結(jié)果對(duì)法語(yǔ)、意大利語(yǔ)、西班牙語(yǔ)比較好,而對(duì)漢語(yǔ)的效果不太明顯。下一步可以考慮在語(yǔ)系內(nèi)部進(jìn)行多語(yǔ)言模型訓(xùn)練。
三、預(yù)訓(xùn)練模型在多模態(tài)任務(wù)的應(yīng)用
圖像-語(yǔ)言的預(yù)訓(xùn)練模型
圖像-語(yǔ)言的預(yù)訓(xùn)練模型的目的,可以是用于理解或者生成。這里僅介紹理解用的預(yù)訓(xùn)練模型。做法如下:給定一個(gè)包含一幅圖片和對(duì)應(yīng)的caption(就是文字描述)的數(shù)據(jù)庫(kù)。比如這個(gè)例子包括圖片和對(duì)應(yīng)的文字描述。首先對(duì)這個(gè)數(shù)據(jù)庫(kù)進(jìn)行預(yù)處理,用FASTER-RCNN 得到圖片每個(gè)對(duì)象label的分布,以及對(duì)象的輸出向量表示(softmax之前的輸出向量表示)。一個(gè)圖片的所有對(duì)象按照從左到右、從上到下的順序排列,可以形成一個(gè)序列。和文本序列排列在一起。我們可以用BERT方式訓(xùn)練一個(gè)預(yù)訓(xùn)練模型,比如掩碼的方式,蓋住文字段的某個(gè)token來(lái)預(yù)測(cè)這個(gè)token?;蛘呱w住對(duì)象序列的某一個(gè)對(duì)象來(lái)預(yù)測(cè)這個(gè)對(duì)象的輸出向量表示,或者直接預(yù)測(cè)這個(gè)對(duì)象的label。另外預(yù)測(cè)對(duì)象序列和text是否是相互描述。
現(xiàn)有工作基于大致相似的網(wǎng)絡(luò)結(jié)構(gòu)。我們是最早發(fā)表的工作之一。我們?cè)黾恿艘粋€(gè)新的訓(xùn)練任務(wù),即對(duì)象的輸出向量還原為對(duì)象的FASTER-RCNN的原始向量,取得了改進(jìn)效果。
在Flickr30K(image retrieval和captioning的數(shù)據(jù)集),image2text和text2image兩個(gè)任務(wù)。Text2image任務(wù)是給定text,從1 K的圖片(給定)排序,得到最優(yōu)的匹配。MSCOCO(微軟提供的數(shù)據(jù)集)任務(wù)完全與Flick30K一樣。Pre-training dataset是三百萬(wàn)image-caption pairs 的谷歌提供的 Conceptual Captions。目前最好的系統(tǒng):ViLBERT來(lái)自facebook,UNITER來(lái)自微軟產(chǎn)品組。UNICODER-VL由于增加了新的訓(xùn)練任務(wù)(如前述),預(yù)訓(xùn)練模型對(duì)圖片和文本的編碼能力有所提升,得到了較好效果。
文檔-語(yǔ)言的預(yù)訓(xùn)練模型
我們開發(fā)的多模態(tài)的預(yù)訓(xùn)練模型LayoutLM,通過對(duì)掃描的文檔,利用OCR識(shí)別之后的文字片段和文字對(duì)照的圖像同時(shí)進(jìn)行預(yù)訓(xùn)練?;谠擃A(yù)訓(xùn)練模型,抽取表格里的重要信息,包括語(yǔ)義類別和值。獲得了目前在相關(guān)任務(wù)評(píng)測(cè)集的最高的水平(發(fā)表在KDD2020)。
這是目前可用的訓(xùn)練數(shù)據(jù)集合,含有11 Million掃描文檔和識(shí)別的結(jié)果。NIST發(fā)表的,最主要的16類數(shù)據(jù)(信件、表格、收據(jù)等),包含了掃描文檔及其對(duì)應(yīng)的OCR結(jié)果。我們重新用OCR(開源工具)https://github.com/tesseract-ocr/tesseract,以便得到識(shí)別對(duì)象的坐標(biāo)信息。
我這里解釋一下我們做的LayoutLM預(yù)訓(xùn)練模型。
首先一個(gè)掃描的文檔(digital burned doc),進(jìn)入OCR引擎可以得到識(shí)別的結(jié)果,就是一個(gè)個(gè)的字符(以BPE分詞之后表示)串,以及在文檔中的起始位置坐標(biāo)。字符串的序列和位置坐標(biāo)(四個(gè)數(shù)字)作為預(yù)訓(xùn)練輸入。然后通過類似BERT的掩碼方式(就是蓋住其中某些token)通過12層(或者24層)的Transformer來(lái)預(yù)測(cè)被蓋住的token。預(yù)測(cè)的損失回傳調(diào)整網(wǎng)絡(luò)的全部參數(shù)。當(dāng)然可以增加其他的訓(xùn)練任務(wù),比如判斷文檔的分類。通過對(duì)大規(guī)模的OCR識(shí)別的數(shù)據(jù)進(jìn)行訓(xùn)練,可以得到一個(gè)預(yù)訓(xùn)練模型。這個(gè)預(yù)訓(xùn)練模型在進(jìn)行下游任務(wù)時(shí)要微調(diào)。微調(diào)時(shí),可以直接用預(yù)訓(xùn)練模型作為輸入進(jìn)行微調(diào),也可以把文檔中的對(duì)應(yīng)token的圖像編碼也作為輸入,增強(qiáng)預(yù)訓(xùn)練的信號(hào)。
訓(xùn)練任務(wù)1:掩碼訓(xùn)練類似于BERT。預(yù)測(cè)被蓋住的token,其損失回傳,調(diào)整網(wǎng)絡(luò)。
預(yù)訓(xùn)練任務(wù)2:判斷圖像的分類。按照原來(lái)數(shù)據(jù)集的分類標(biāo)注,進(jìn)行訓(xùn)練。
下游任務(wù)之一是表單理解。給一個(gè)文檔,識(shí)別出文檔中包含key-value,就是實(shí)體語(yǔ)義類型(比如時(shí)間、地點(diǎn)、數(shù)目)和實(shí)體的值。通過標(biāo)記BIO風(fēng)格的序列,就可以得到識(shí)別結(jié)果。
我們的LayoutLM對(duì)幾個(gè)重要的下游任務(wù)都取得了最佳的結(jié)果。比如表單理解、收據(jù)信息抽取等等。這里不再贅述。
視頻-語(yǔ)言的預(yù)訓(xùn)練模型
下面介紹Video-NL預(yù)訓(xùn)練模型。對(duì)每個(gè)Video片段和對(duì)應(yīng)的NL描述(語(yǔ)音識(shí)別的結(jié)果)建立這樣的網(wǎng)絡(luò)結(jié)構(gòu),左邊NL的token序列,右邊是視頻按照時(shí)間序列均勻切分(1.5 秒)的video clip的序列,可以用S3D等工具,每個(gè)video clip對(duì)應(yīng)一個(gè)輸出向量表示。進(jìn)入Video encoder。文本序列和video clip序列拼接起來(lái)進(jìn)入Transformer。多層(比如三層、四層),后面跟著一個(gè)解碼,利用一個(gè)encoder-decoder結(jié)果來(lái)做預(yù)訓(xùn)練。使用了如下四個(gè)任務(wù)進(jìn)行預(yù)訓(xùn)練。
? Video-text alignment任務(wù)用來(lái)判斷輸入的video clip和text是否相互描述。
? Masked language model任務(wù)用來(lái)預(yù)測(cè)transcript里被mask掉的單詞。
? Transcript generation任務(wù)基于輸入的video clip,生成對(duì)應(yīng)的video transcript,這時(shí)還有NL段置空了。
? Masked frame model任務(wù)用來(lái)預(yù)測(cè)被mask掉的video clip對(duì)應(yīng)的video feature vector。
UNICODER-VL擴(kuò)展到video。與其他工作相比,我們把理解和生成集成在一個(gè)預(yù)訓(xùn)練模型,既可以理解,也有生成能力。預(yù)訓(xùn)練的語(yǔ)料是,HowTo100M作為pre-train語(yǔ)料。它是從Youtube上抓下來(lái)的1.2 M視頻,切分成136 M視頻片段,根據(jù)時(shí)間軸配上文字說(shuō)明(youtube自帶的)。下游任務(wù)finetune目前我們使用YouCook2的菜譜視頻,以及MSR-VTT微軟發(fā)布的(視頻-caption)對(duì)的數(shù)據(jù)集合。
下游任務(wù)包括視頻搜索和視頻caption生成兩個(gè)任務(wù)。首先是檢索任務(wù)——給定NL的query,從一個(gè)固定視頻片段中搜索最匹配的視頻片段。然后是caption任務(wù)——給定一段視頻,加上transcript,生成對(duì)應(yīng)的caption。我們的提交系統(tǒng)目前取得了最好的評(píng)測(cè)結(jié)果。
這樣的預(yù)訓(xùn)練模型有很多應(yīng)用。這里用Video chaptering來(lái)說(shuō)明。它分為兩個(gè)任務(wù),一個(gè)是video segmentation,用于對(duì)輸入video進(jìn)行clip切分;一個(gè)是video captioning,用于對(duì)每個(gè)video clip生成一個(gè)總結(jié)性的內(nèi)容。
我總結(jié)一下多模態(tài)預(yù)訓(xùn)練模型。目前它尚處于初期階段。遵循大多數(shù)NLP預(yù)訓(xùn)練模型,用Transformer機(jī)制,從有限的圖像/視頻-語(yǔ)言數(shù)據(jù)集中學(xué)習(xí)聯(lián)合表示,可以計(jì)算圖像/視頻片段和文字描述的距離,并實(shí)現(xiàn)圖像/視頻-文字之間的轉(zhuǎn)換。多模態(tài)預(yù)訓(xùn)練模型雖然剛剛開始還不成熟,但是已經(jīng)在圖像/視頻的搜索,以及生成文字描述當(dāng)任務(wù)中顯示出不錯(cuò)的前景。
當(dāng)然,多模態(tài)預(yù)訓(xùn)練模型仍然面臨許多挑戰(zhàn)。首先,圖像/視頻-語(yǔ)言對(duì)的數(shù)據(jù)的大小仍然比自然語(yǔ)言語(yǔ)料庫(kù)小得多。第二,CV僅僅用于特征提取,目前并沒有將CV模型和NLP模型共同訓(xùn)練。當(dāng)然目前沒有好的算法,而且訓(xùn)練的cost非常大。第三,與之有關(guān),就是CV的對(duì)象識(shí)別,目前的類別僅限于1 000類左右,對(duì)真實(shí)場(chǎng)景的覆蓋不夠,而且識(shí)別的精度也不夠,導(dǎo)致預(yù)訓(xùn)練的輸入信號(hào)天然帶有誤差。第四,對(duì)于多模態(tài)預(yù)訓(xùn)練模型,目前都是用Transformer機(jī)制,但是它的代價(jià)比較大,而且是否最合適對(duì)圖像/視頻-文字建立關(guān)聯(lián),還需要進(jìn)一步探索。第五,圖片和視頻的預(yù)訓(xùn)練模型也不一樣,由于視頻有時(shí)序,因此視頻的分割按照固定時(shí)長(zhǎng)分割,缺乏邏輯意義。而且視頻的token會(huì)比NL多很多,導(dǎo)致訓(xùn)練的代價(jià)比圖片和文字的預(yù)訓(xùn)練大很多。
結(jié)束語(yǔ)
NLP經(jīng)歷了第一代的基于規(guī)則的NLP;第二代的基于統(tǒng)計(jì)的NLP;五年前進(jìn)入到基于神經(jīng)網(wǎng)絡(luò)的第三代NLP(NN-NLP),在大數(shù)據(jù)、大模型、神經(jīng)網(wǎng)絡(luò)框架下取得了很好的進(jìn)展,形成了一整套的技術(shù)。而現(xiàn)在更進(jìn)一步,預(yù)訓(xùn)練+微調(diào)形成了工業(yè)化可擴(kuò)展的解決方案。預(yù)訓(xùn)練模型把遷移學(xué)習(xí)很好地用起來(lái)了,讓我們感到眼前一亮。這和小孩子讀書一樣,一開始語(yǔ)文、數(shù)學(xué)、化學(xué)都學(xué),讀書、網(wǎng)上游戲等,在腦子里積攢了很多。當(dāng)他學(xué)習(xí)計(jì)算機(jī)時(shí),實(shí)際上把他以前學(xué)到的所有知識(shí)都帶進(jìn)去了。如果他以前沒上過中學(xué),沒上過小學(xué),突然學(xué)計(jì)算機(jī)就不懂這里有什么道理。這和我們預(yù)訓(xùn)練模型一樣,預(yù)訓(xùn)練模型就意味著把人類的語(yǔ)言知識(shí),先學(xué)了一個(gè)東西,然后再代入到某個(gè)具體任務(wù),就順手了,就是這么一個(gè)簡(jiǎn)單的道理。這要感謝楊強(qiáng)老師做的遷移學(xué)習(xí),真的是有效。
預(yù)訓(xùn)練體現(xiàn)出所有的自監(jiān)督的訓(xùn)練。如果為了做預(yù)訓(xùn)練要標(biāo)數(shù)據(jù)則失去意義,因?yàn)闃?biāo)不了太大數(shù)據(jù),很多知識(shí)體現(xiàn)不出來(lái)。恰好自然語(yǔ)言有幾乎無(wú)限的語(yǔ)料,用語(yǔ)言模型或者用自編碼方法自監(jiān)督學(xué)習(xí)。一個(gè)預(yù)訓(xùn)練模型,只要訓(xùn)出來(lái)以后,后續(xù)所有任務(wù),都可以得到很好的處理。對(duì)一個(gè)任務(wù),只要數(shù)據(jù)足夠大的任務(wù),預(yù)訓(xùn)練加微調(diào)機(jī)制基本可以搞定了。當(dāng)然還需要研究zero-shot,few-shot等問題,這些還有研究空間。
預(yù)訓(xùn)練模型在多語(yǔ)言任務(wù)中,rich-resource 的模型會(huì)遷移到low-resource語(yǔ)言任務(wù)中,減輕了數(shù)據(jù)不足的問題。預(yù)訓(xùn)練模型在文本中表現(xiàn)出色,基本可以實(shí)用。而在多模態(tài)任務(wù)中,則方興未艾,還有巨大探索空間。比如圖片/視頻的預(yù)處理、訓(xùn)練任務(wù)的設(shè)計(jì)都將有很多有趣的研究。
要想邁向下一個(gè)階段也有很多問題,比如現(xiàn)有的預(yù)訓(xùn)練模型是不是最優(yōu)的?有沒有更好的訓(xùn)練任務(wù)、更好的神經(jīng)網(wǎng)絡(luò)架構(gòu)?訓(xùn)練是否可以更快?模型是否可以更小?現(xiàn)在瘋狂追求大模型,耗盡計(jì)算資源,同時(shí)也污染了環(huán)境,是不是我們可以接受的?還有現(xiàn)有的模型在利用知識(shí)、嘗試、進(jìn)行推理,并且提供解釋等方面仍然沒有看到任何清晰的解決前景。這些都是難題。我希望大家一起繼續(xù)努力,把這些問題好好想想,努力把NLP推向一個(gè)新的高度。
致謝:
本文所涉及的許多研究項(xiàng)目為微軟亞洲研究院自然語(yǔ)言計(jì)算組的許多同事和同學(xué)共同完成。非常感謝他們的貢獻(xiàn)。這里要特別感謝段楠對(duì)本講座提供了豐富材料并幫助完善PPT。同時(shí)我也感謝韋福如、崔磊和王文輝提供了部分重要內(nèi)容。
(本報(bào)告根據(jù)速記整理)
CAAI原創(chuàng) 丨 作者周明
未經(jīng)授權(quán)嚴(yán)禁轉(zhuǎn)載及翻譯
如需轉(zhuǎn)載合作請(qǐng)向?qū)W會(huì)或本人申請(qǐng)
轉(zhuǎn)發(fā)請(qǐng)注明轉(zhuǎn)自中國(guó)人工智能學(xué)會(huì)
以上就是關(guān)于實(shí)錄鄉(xiāng)pos機(jī)辦理,預(yù)訓(xùn)練模型在多語(yǔ)言的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于實(shí)錄鄉(xiāng)pos機(jī)辦理的知識(shí),希望能夠幫助到大家!