實錄鄉(xiāng)pos機辦理,預(yù)訓(xùn)練模型在多語言

 新聞資訊2  |   2023-06-14 09:17  |  投稿人:pos機之家

網(wǎng)上有很多關(guān)于實錄鄉(xiāng)pos機辦理,預(yù)訓(xùn)練模型在多語言的知識,也有很多人為大家解答關(guān)于實錄鄉(xiāng)pos機辦理的問題,今天pos機之家(www.dsth100338.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、實錄鄉(xiāng)pos機辦理

實錄鄉(xiāng)pos機辦理

8月29日至30日,由中國科學(xué)技術(shù)協(xié)會、中國科學(xué)院、南京市人民政府為指導(dǎo)單位,中國人工智能學(xué)會、南京市建鄴區(qū)人民政府、江蘇省科學(xué)技術(shù)協(xié)會主辦的主題為“智周萬物”的2020年中國人工智能大會(CCAI 2020)在江蘇南京新加坡·南京生態(tài)科技島舉辦。在大會上,微軟亞洲研究院副院長、國際計算語言學(xué)會(ACL)前任主席周明做了主題為《預(yù)訓(xùn)練模型在多語言、多模態(tài)任務(wù)的進展》的特邀報告。

周明 微軟亞洲研究院副院長、國際計算語言學(xué)會(ACL)前任主席

以下是周明老師的演講實錄:

自然語言處理(NLP),目的是使得計算機具備人類的聽、說、讀、寫、譯、問、答、搜索、摘要、對話和聊天等能力,并可利用知識和常識進行推理和決策,并支持客服、診斷、法律、教學(xué)等場景。自然語言理解,被認為是AI皇冠上的明珠。一旦有突破,則會大幅度推動AI在很多重要場景落地。

過去這五年,對自然語言是一個難忘的五年,它的一個標(biāo)志就是神經(jīng)網(wǎng)絡(luò)全面引入到了自然語言理解。從大規(guī)模的語言數(shù)據(jù)到強有力的算力,加上深度學(xué)習(xí),把整個自然語言帶到一個新的階段。

今天我要講的預(yù)訓(xùn)練模型,它使自然語言處理由原來的手工調(diào)參、依靠ML專家的階段,進入到可以大規(guī)模、可復(fù)制的大工業(yè)施展的階段,令我們這個領(lǐng)域的人感到非常振奮。而且預(yù)訓(xùn)練模型從單語言、擴展到多語言、多模態(tài)任務(wù)。一路銳氣正盛,所向披靡。那么,預(yù)訓(xùn)練模型到底是什么,它是怎么應(yīng)用在很多產(chǎn)品里,未來又有哪些發(fā)展機會和挑戰(zhàn)呢。下面試圖由淺入深地給大家介紹一下。

一、預(yù)訓(xùn)練模型

下面簡要介紹預(yù)訓(xùn)練模型的基礎(chǔ)技術(shù),包括Transformer、自監(jiān)督學(xué)習(xí)、微調(diào)。然后詳細介紹預(yù)訓(xùn)練模型在語言、圖像、文檔和視頻等任務(wù)中的進展,

預(yù)訓(xùn)練通過自監(jiān)督學(xué)習(xí)從大規(guī)模數(shù)據(jù)中獲得與具體任務(wù)無關(guān)的預(yù)訓(xùn)練模型。體現(xiàn)某一個詞在一個特定上下文中的語義表征。第二個步驟是微調(diào),針對具體的任務(wù)修正網(wǎng)絡(luò)。訓(xùn)練數(shù)據(jù)可以是文本、文本-圖像對、文本-視頻對。預(yù)訓(xùn)練模型的訓(xùn)練方法可使用自監(jiān)督學(xué)習(xí)技術(shù)(如自回歸的語言模型和自編碼技術(shù))。可訓(xùn)練單語言、多語言和多模態(tài)的模型。此類模型可經(jīng)過微調(diào)之后,用于支持分類、序列標(biāo)記、結(jié)構(gòu)預(yù)測和序列生成等各項技術(shù),并構(gòu)建文摘、機器翻譯、圖片檢索、視頻注釋等應(yīng)用。

為什么我們要做預(yù)訓(xùn)練模型?首先,預(yù)訓(xùn)練模型是一種遷移學(xué)習(xí)的應(yīng)用,利用幾乎無限的文本,學(xué)習(xí)輸入句子的每一個成員的上下文相關(guān)的表示,它隱式地學(xué)習(xí)到了通用的語法語義知識。第二,它可以將從開放領(lǐng)域?qū)W到的知識遷移到下游任務(wù),以改善低資源任務(wù),對低資源語言處理也非常有利。第三,預(yù)訓(xùn)練模型在幾乎所有 NLP 任務(wù)中都取得了目前最佳的成果。最后,這個預(yù)訓(xùn)練模型+微調(diào)機制具備很好的可擴展性,在支持一個新任務(wù)時,只需要利用該任務(wù)的標(biāo)注數(shù)據(jù)進行微調(diào)即可,一般工程師就可以實現(xiàn)。

下面介紹預(yù)訓(xùn)練模型的三個關(guān)鍵技術(shù)。

首先,第一個關(guān)鍵技術(shù)是Transformer。它在NLP各個任務(wù)中都取得了優(yōu)異的性能,它是預(yù)訓(xùn)練語言模型的核心網(wǎng)絡(luò)。給定一句話或是一個段落作為輸入,首先將輸入序列中各個詞轉(zhuǎn)換為其對應(yīng)的詞向量,同時加上每一個詞的位置向量,體現(xiàn)詞在序列的位置。然后將這些詞向量輸入到多層Transformer網(wǎng)絡(luò)中,通過自注意力(self-attention)機制來學(xué)習(xí)詞與詞之間的關(guān)系,編碼其上下文信息;再通過一個前饋網(wǎng)絡(luò)經(jīng)過非線性變化,輸出綜合了上下文特征的各個詞的向量表示。每一層Transformer網(wǎng)絡(luò)主要由Multi-head self-attention層(多頭自注意力機制)和前饋網(wǎng)絡(luò)層兩個子層構(gòu)成。Multi-head self-attention會并行地執(zhí)行多個不同參數(shù)的self-attention,并將各個self-attention的結(jié)果拼接作為后續(xù)網(wǎng)絡(luò)的輸入,self-attention機制會在后面中做詳細介紹。此后,我們得到了蘊含當(dāng)前上下文信息的各個詞的表示,然后網(wǎng)絡(luò)會將其輸入到前饋網(wǎng)絡(luò)層以計算非線性層次的特征。

在每一層Transformer網(wǎng)絡(luò)中,會將殘差連接(residual connection)把自注意力機制前或者前饋神經(jīng)網(wǎng)絡(luò)之前的向量引入進來,以增強自注意力機制或者前饋網(wǎng)絡(luò)的輸出結(jié)果向量。并且還做一個layer normalization,也就是通過歸一化把同層的各個節(jié)點的多維向量映射到一個區(qū)間里面,這樣各層節(jié)點的向量在一個區(qū)間里面。這兩個操作加入在每個子層后,可更加平滑地訓(xùn)練深層次網(wǎng)絡(luò)。

Transformer可以用于編碼,也可以用于解碼。所謂解碼就是根據(jù)一個句子的輸入得到一個預(yù)想的結(jié)果,比如機器翻譯(輸入源語言句子,輸出目標(biāo)語言句子),或者閱讀理解(輸入文檔和問題,輸出答案)。解碼時,已經(jīng)解碼出來的詞要做一個自注意力機制,之后和編碼得到的隱狀態(tài)的序列再做一個注意力機制。這樣可以做N層。然后通過一個線性層映射到詞表的大小的一個向量。每個向量代表一個詞表詞的輸出可能性,經(jīng)過一個Softmax層得到每個詞的輸出概率。

接下來詳細介紹self-attention機制,以一個head作為示例。假定當(dāng)前輸入包含三個詞,給定其輸入詞向量或是其上一層Transformer網(wǎng)絡(luò)的輸出,將其通過三組線性變換,轉(zhuǎn)換得到三組queries、keys 和 values向量。query和key向量用來計算兩兩詞之間的得分,也就是其依賴關(guān)系,這個得分會同其對應(yīng)的value向量做加權(quán)和,以得到每個詞綜合上下文信息的表示。給定當(dāng)前第一個詞的query向量,其首先同各個詞的key向量通過點積操作得到這兩個詞的得分,這些得分用來表示這兩個詞的依賴或是相關(guān)程度。這些得分之后會根據(jù)query等向量的維度做一定比例的縮放,并將這些得分通過softmax操作做歸一化。之后,各個得分會同其相對應(yīng)的value向量相乘得到針對第一個詞加權(quán)的各個value向量,這些加權(quán)的value向量最終相加以得到當(dāng)前第一個詞的上下文表示。

在得到第一個詞的上下文表示后,給定第二個詞的query向量,我們會重復(fù)之前的操作,計算當(dāng)前query向量同各個詞key向量的得分,對這些得分做Softmax歸一化處理,并將這些得分同其對應(yīng)的value向量做加權(quán)和,以得到其編碼上下文信息的表示。

下面是一個最簡化的例子以便簡單說明自注意力機制。為了簡單起見,這里假設(shè)Q、K和V的變化都不起作用,也就是不變。

輸入是The weather is nice today。利用自注意力機制調(diào)整每個詞的表示。比如The。我們認為它要受到其他所有詞的影響。但是影響力可大可小。那么每個詞的影響力是通過計算the 與每個詞的關(guān)聯(lián)度,然后通過一個softmax歸一化得到一個權(quán)值。每個詞一個權(quán)值。這樣the的最后表示就是和每個詞計算關(guān)聯(lián)度的結(jié)果之和。

多頭注意力機制就是對一個節(jié)點,可以設(shè)置幾組K、Q和V,分別計算關(guān)聯(lián)度(通過Q和K計算點積)和加權(quán)調(diào)整的值(通過V和關(guān)聯(lián)度計算)。幾組結(jié)果可以拼在一起,通過一個線性變換,體現(xiàn)多角度的特征抽取。多頭可以是16個頭、12個頭等。

第二個關(guān)鍵技術(shù)是自監(jiān)督學(xué)習(xí)。在預(yù)訓(xùn)練的模型中,AR(自回歸)LM 和 AE(自動編碼器)是最常用的自監(jiān)督學(xué)習(xí)方法,其中,自回歸LM 旨在利用前面的詞序列預(yù)測下個詞的出現(xiàn)概率(語言模型)。自動編碼器旨在對損壞的輸入句子,比如遮掩了句子某個詞、或者打亂了詞序等,重建原始數(shù)據(jù)。通過這些自監(jiān)督學(xué)習(xí)手段來學(xué)習(xí)單詞的上下文相關(guān)表示。

第三個關(guān)鍵技術(shù)就是微調(diào)。在做具體任務(wù)時,微調(diào)旨在利用其標(biāo)注樣本對預(yù)訓(xùn)練網(wǎng)絡(luò)的參數(shù)進行調(diào)整。以我們使用基于BERT(一種流行的預(yù)訓(xùn)練模型)為例來判斷兩個句子是否語義相同。輸入是兩個句子,經(jīng)過BERT得到每個句子的對應(yīng)編碼表示,我們可以簡單地用預(yù)訓(xùn)練模型的第一個隱節(jié)點預(yù)測分類標(biāo)記判斷兩個句子是同義句子的概率,同時需要額外加一個線性層和softmax計算得到分類標(biāo)簽的分布。預(yù)測損失可以反傳給 BERT再對網(wǎng)絡(luò)進行微調(diào)。當(dāng)然也可以針對具體任務(wù)設(shè)計一個新網(wǎng)絡(luò),把預(yù)訓(xùn)練的結(jié)果作為其輸入。

下面介紹預(yù)訓(xùn)練模型的歷史沿革。預(yù)訓(xùn)練模型的發(fā)展雖然這幾年才大熱,但是我覺得源于早期的詞嵌入(word embedding)的工作。比如Word2Vec。它的訓(xùn)練的結(jié)果是詞的嵌入,是一個靜態(tài)的表示;此后ULMFiT 是第一個使用RNN基于LM訓(xùn)練的上下文相關(guān)的預(yù)訓(xùn)練模型;CoVe利用翻譯任務(wù)來訓(xùn)練編碼器-解碼器,并使用編碼器作為預(yù)訓(xùn)練模型;ELMo 使用雙向 LSTM合并兩個方向的隱狀態(tài)獲得上下文相關(guān)表示;GPT采用LM進行訓(xùn)練,它是基于Transformer的單向預(yù)訓(xùn)練模型;BERT是基于Transformer的基于掩碼的預(yù)訓(xùn)練模型;MT-DNN基于BERT增加了一些任務(wù)進行多任務(wù)訓(xùn)練;MASS使用編碼-解碼器來訓(xùn)練預(yù)訓(xùn)練模型;UNILM嘗試同時支持語言理解和生成任務(wù)。把預(yù)訓(xùn)練模型用于多語言任務(wù):XLM是一種支持多語言的BERT模型;Unicoder引入若干新的任務(wù)改進了 XLM;T5把多種自然語言任務(wù)(比如機器翻譯、問答),用了更大的數(shù)據(jù),在一個網(wǎng)絡(luò)訓(xùn)練,同時支持這些任務(wù);BART是一種編碼-解碼器模型,通過還原損壞的句子訓(xùn)練;mBART將 BART理念擴展到多語言。另外還有最新的很多模型恕我這里沒有全部列出。此外也擴展到多模態(tài)。

這是一個更加詳細的總結(jié)。名稱、用途、架構(gòu)、特點,這里就不詳細說明了。

總體來講,預(yù)訓(xùn)練模型發(fā)展趨勢:第一,模型越來越大。比如Transformer的層數(shù)變化,從12層的Base模型到24層的Large模型。導(dǎo)致模型的參數(shù)越來越大,比如GPT 110 M,到GPT-2是1.5 Billion,圖靈是17 Billion,而GPT-3達到了驚人的175 Billion。一般而言模型大了,其能力也會越來越強。但是訓(xùn)練代價確實非常大。第二,預(yù)訓(xùn)練方法也在不斷增加,從自回歸LM,到自動編碼的各種方法,以及各種多任務(wù)訓(xùn)練等。第三,還有從語言、多語言到多模態(tài)不斷演進。最后就是模型壓縮,使之能在實際應(yīng)用中經(jīng)濟的使用,比如在手機端。這就涉及到知識蒸餾和teacher-student models,把大模型作為teacher,讓一個小模型作為student來學(xué)習(xí),接近大模型的能力,但是模型的參數(shù)減少很多。

預(yù)訓(xùn)練模型舉例說明

BERT

這里用BERT舉例說明預(yù)訓(xùn)練模型訓(xùn)練方法?;赥ransformer。其基本模型為 12 層模型,還有一個大型模型為 24 層模型。這里說明幾個關(guān)鍵地方。

1. tokenizer,簡單地理解為詞的切分,比如工具BPE。針對一個數(shù)據(jù)集合,BPE工具自動獲得該數(shù)據(jù)集的token的集合,取頻率最高的前N個token作為詞表,其他的token都看作是UNK(unknown word)。

2. 對數(shù)據(jù)集合的每個數(shù)據(jù),通過BPE做tokenize,形成token的序列。

3. 訓(xùn)練時,每個token有一個多維向量表示,比如1 024維。隨機初始化。

4. 計算預(yù)測的損失。該損失反向傳播來調(diào)整各層的網(wǎng)絡(luò)參數(shù)。也包括每個token的多維向量表示。

5. 最后訓(xùn)練的結(jié)果,包括每個token的多維向量表示、每層的網(wǎng)絡(luò)參數(shù),以及各個attention model的參數(shù)等。

6. 在用預(yù)訓(xùn)練模型時,把輸入序列tokenize之后,對每個token,從詞典中得到多維向量表示。然后根據(jù)每層的網(wǎng)絡(luò)參數(shù),計算輸出。

訓(xùn)練任務(wù):BERT使用了掩碼語言模型(就是蓋住一個單詞或者多個單詞,然后讓模型預(yù)測)。損失用來調(diào)整網(wǎng)絡(luò)。

BERT還使用NSP(下一句預(yù)測),旨在預(yù)測第二句是否是第一句的下一句。

UniLM

UniLM由微軟研究院自然語言計算組開發(fā),是一種最先進的預(yù)訓(xùn)練的模型,用于語言理解和生成任務(wù)。首先它是一個transformer機制。用了三個任務(wù)訓(xùn)練:第一個任務(wù)就是掩碼語言模型(就是自編碼)類似于BERT,利用左右詞匯預(yù)測被蓋住的詞;第二個任務(wù)就是自回歸語言模型,類似GPT,利用前面的詞序列預(yù)測下一個詞;第三個任務(wù)就是編碼-解碼模型,利用輸入句子和已經(jīng)輸出的詞來預(yù)測接下來的詞。這三個任務(wù)進行多任務(wù)訓(xùn)練。通過一個掩碼矩陣控制哪些詞可以用來attention。訓(xùn)練得到的模型具備了理解和生成兩種能力。在GLUE任務(wù)集合、文摘生成和答案抽取等任務(wù)上都取得了當(dāng)時最好的水平。

預(yù)訓(xùn)練模型已廣泛應(yīng)用于產(chǎn)品,比如提高搜索的相關(guān)性等。上圖顯示必應(yīng)搜索使用了我們預(yù)訓(xùn)練模型的問答系統(tǒng),給定一個NL問題,系統(tǒng)提取包含答案的文本并確定答案部分。它也可以用于問題生成。給定一個文本,生成關(guān)于這個文本的若干問題??梢杂糜谡Z言教育等領(lǐng)域。

二、預(yù)訓(xùn)練模型在多語言任務(wù)的應(yīng)用

有許多語言中,它們都有大量的單一語言數(shù)據(jù),并且某些語言對之間存在一些對照數(shù)據(jù)。我們可以學(xué)習(xí)一個跨語言的預(yù)訓(xùn)練模型,其中來自兩種不同語言的單詞,如果具有相似的含義,將聯(lián)系在一起。然后,基于預(yù)訓(xùn)練的模型要建立某個具體任務(wù)的系統(tǒng)。對某些語言,如果有帶標(biāo)注的數(shù)據(jù),利用之經(jīng)微調(diào)可以得到一個系統(tǒng)。所得到的模型應(yīng)用于其他語言的同一個任務(wù),即使該語言沒有標(biāo)注數(shù)據(jù),也有一定效果。該語言如有標(biāo)注數(shù)據(jù)也可進一部微調(diào)。這樣實現(xiàn)了跨語言之間的遷移學(xué)習(xí)。

下面介紹一個典型多語言預(yù)訓(xùn)練模型XLM。它將BERT擴展到多語言理解任務(wù)。XLM中使用了兩個任務(wù)。第一個是掩碼(屏蔽)語言模型,它與BERT中類似,輸入是一個句子,可以是A語言、也可以是B語言。通過共享所有語言的模型參數(shù)和詞匯,XLM可以獲得跨語言功能。第二個任務(wù)是TLM(翻譯語言模型),它叫做翻譯,其實并沒有考慮對譯關(guān)系。輸入是雙語對照句對,看作一個語言,去訓(xùn)練掩碼語言模型。

我們開發(fā)的Unicoder-1進一步增加了跨語言訓(xùn)練新任務(wù)。除了在單語句子上進行單詞和短語層面的“掩碼LM”,以及對雙語句子進行掩碼LM(稱作翻譯LM)之外,我們增加一個新的訓(xùn)練任務(wù):在利用了Giza+做了單詞對齊之后,通過預(yù)測兩個單詞的對譯關(guān)系是否存在。這個任務(wù)可以在單詞級別做、短語級別做,也可以在句子級別做。不僅用正例,也引入了反例,通過對比式學(xué)習(xí),加強學(xué)習(xí)效果。

我們還將 Unicoder 擴展到跨語言生成任務(wù)。這個預(yù)訓(xùn)練模型UNICODER-2做了如下任務(wù)訓(xùn)練:給定來自多語言語料庫的輸入句子,首先打亂其句子,對文本加噪音,然后通過解碼器嘗試恢復(fù)。解碼時可以傳統(tǒng)方法每次僅預(yù)測一個token,也可通過我們最近的Prophet(先知)網(wǎng)絡(luò)一起預(yù)測兩個token或者多個token,然后取第一個詞輸出,再預(yù)測下一位置的token。這樣做預(yù)測能力有新的提高。

我們建立了多語言任務(wù)的評測數(shù)據(jù)集XGLUE。XLGUE中的 11 個下游任務(wù),其中包括NER(命名實體識別)、POS(詞性標(biāo)注)等。現(xiàn)在XGLUE已經(jīng)發(fā)布。這些任務(wù)現(xiàn)在涵蓋 19 種語言。

我們在XGLUE上評測了多個跨語言預(yù)訓(xùn)練模型(包括 MBERT、XLM、XLM-R 和 Unicoder),并在上表中列出比較結(jié)果??梢钥吹?,我們的Unicoder 在許多理解和生成任務(wù)上實現(xiàn)了最佳的平均性能。

多語言預(yù)訓(xùn)練模型可以把英語的模型應(yīng)用到其他語言。英語的標(biāo)注數(shù)據(jù)比較多,而其他語言往往缺少標(biāo)注數(shù)據(jù)。因此,利用多語言預(yù)訓(xùn)練模型可以對新的語言,做zero-shot或者few-shot的學(xué)習(xí)。比如這里展示了問答系統(tǒng)。英文問答數(shù)據(jù)finetune訓(xùn)練的QA在法語、德語上也有很好的效果。也可以產(chǎn)生新聞的標(biāo)題。同樣也是在英語標(biāo)注集合finetune訓(xùn)練之后的系統(tǒng),也可以生成其他語言的標(biāo)題。

這里總結(jié)一下多語言預(yù)訓(xùn)練模型。它緩解了多種語言的資源短缺問題。多語言預(yù)訓(xùn)練模型幫助多語言搜索、QA、廣告、新聞、文本摘要、低資源神經(jīng)機器翻譯等取得新的提升。

多語言預(yù)訓(xùn)練模型仍然面臨許多挑戰(zhàn),首先最有效的預(yù)訓(xùn)練任務(wù)仍然是掩碼LM(在多語種或雙語語料庫上),我們要拓展新的任務(wù)以便充分利用多語言/雙語的特點。第二,詞匯表比單語言的預(yù)訓(xùn)練模型(例如BERT / RoBERTa)大得多,單語3萬,多語25萬。這樣導(dǎo)致要學(xué)的模型參數(shù)就會增加很多,訓(xùn)練的開銷更大。第三,有的語言對有詞匯、語法的同源關(guān)系,遷移學(xué)習(xí)效果好,比如英語的finetune結(jié)果對法語、意大利語、西班牙語比較好,而對漢語的效果不太明顯。下一步可以考慮在語系內(nèi)部進行多語言模型訓(xùn)練。

三、預(yù)訓(xùn)練模型在多模態(tài)任務(wù)的應(yīng)用

圖像-語言的預(yù)訓(xùn)練模型

圖像-語言的預(yù)訓(xùn)練模型的目的,可以是用于理解或者生成。這里僅介紹理解用的預(yù)訓(xùn)練模型。做法如下:給定一個包含一幅圖片和對應(yīng)的caption(就是文字描述)的數(shù)據(jù)庫。比如這個例子包括圖片和對應(yīng)的文字描述。首先對這個數(shù)據(jù)庫進行預(yù)處理,用FASTER-RCNN 得到圖片每個對象label的分布,以及對象的輸出向量表示(softmax之前的輸出向量表示)。一個圖片的所有對象按照從左到右、從上到下的順序排列,可以形成一個序列。和文本序列排列在一起。我們可以用BERT方式訓(xùn)練一個預(yù)訓(xùn)練模型,比如掩碼的方式,蓋住文字段的某個token來預(yù)測這個token?;蛘呱w住對象序列的某一個對象來預(yù)測這個對象的輸出向量表示,或者直接預(yù)測這個對象的label。另外預(yù)測對象序列和text是否是相互描述。

現(xiàn)有工作基于大致相似的網(wǎng)絡(luò)結(jié)構(gòu)。我們是最早發(fā)表的工作之一。我們增加了一個新的訓(xùn)練任務(wù),即對象的輸出向量還原為對象的FASTER-RCNN的原始向量,取得了改進效果。

在Flickr30K(image retrieval和captioning的數(shù)據(jù)集),image2text和text2image兩個任務(wù)。Text2image任務(wù)是給定text,從1 K的圖片(給定)排序,得到最優(yōu)的匹配。MSCOCO(微軟提供的數(shù)據(jù)集)任務(wù)完全與Flick30K一樣。Pre-training dataset是三百萬image-caption pairs 的谷歌提供的 Conceptual Captions。目前最好的系統(tǒng):ViLBERT來自facebook,UNITER來自微軟產(chǎn)品組。UNICODER-VL由于增加了新的訓(xùn)練任務(wù)(如前述),預(yù)訓(xùn)練模型對圖片和文本的編碼能力有所提升,得到了較好效果。

文檔-語言的預(yù)訓(xùn)練模型

我們開發(fā)的多模態(tài)的預(yù)訓(xùn)練模型LayoutLM,通過對掃描的文檔,利用OCR識別之后的文字片段和文字對照的圖像同時進行預(yù)訓(xùn)練?;谠擃A(yù)訓(xùn)練模型,抽取表格里的重要信息,包括語義類別和值。獲得了目前在相關(guān)任務(wù)評測集的最高的水平(發(fā)表在KDD2020)。

這是目前可用的訓(xùn)練數(shù)據(jù)集合,含有11 Million掃描文檔和識別的結(jié)果。NIST發(fā)表的,最主要的16類數(shù)據(jù)(信件、表格、收據(jù)等),包含了掃描文檔及其對應(yīng)的OCR結(jié)果。我們重新用OCR(開源工具)https://github.com/tesseract-ocr/tesseract,以便得到識別對象的坐標(biāo)信息。

我這里解釋一下我們做的LayoutLM預(yù)訓(xùn)練模型。

首先一個掃描的文檔(digital burned doc),進入OCR引擎可以得到識別的結(jié)果,就是一個個的字符(以BPE分詞之后表示)串,以及在文檔中的起始位置坐標(biāo)。字符串的序列和位置坐標(biāo)(四個數(shù)字)作為預(yù)訓(xùn)練輸入。然后通過類似BERT的掩碼方式(就是蓋住其中某些token)通過12層(或者24層)的Transformer來預(yù)測被蓋住的token。預(yù)測的損失回傳調(diào)整網(wǎng)絡(luò)的全部參數(shù)。當(dāng)然可以增加其他的訓(xùn)練任務(wù),比如判斷文檔的分類。通過對大規(guī)模的OCR識別的數(shù)據(jù)進行訓(xùn)練,可以得到一個預(yù)訓(xùn)練模型。這個預(yù)訓(xùn)練模型在進行下游任務(wù)時要微調(diào)。微調(diào)時,可以直接用預(yù)訓(xùn)練模型作為輸入進行微調(diào),也可以把文檔中的對應(yīng)token的圖像編碼也作為輸入,增強預(yù)訓(xùn)練的信號。

訓(xùn)練任務(wù)1:掩碼訓(xùn)練類似于BERT。預(yù)測被蓋住的token,其損失回傳,調(diào)整網(wǎng)絡(luò)。

預(yù)訓(xùn)練任務(wù)2:判斷圖像的分類。按照原來數(shù)據(jù)集的分類標(biāo)注,進行訓(xùn)練。

下游任務(wù)之一是表單理解。給一個文檔,識別出文檔中包含key-value,就是實體語義類型(比如時間、地點、數(shù)目)和實體的值。通過標(biāo)記BIO風(fēng)格的序列,就可以得到識別結(jié)果。

我們的LayoutLM對幾個重要的下游任務(wù)都取得了最佳的結(jié)果。比如表單理解、收據(jù)信息抽取等等。這里不再贅述。

視頻-語言的預(yù)訓(xùn)練模型

下面介紹Video-NL預(yù)訓(xùn)練模型。對每個Video片段和對應(yīng)的NL描述(語音識別的結(jié)果)建立這樣的網(wǎng)絡(luò)結(jié)構(gòu),左邊NL的token序列,右邊是視頻按照時間序列均勻切分(1.5 秒)的video clip的序列,可以用S3D等工具,每個video clip對應(yīng)一個輸出向量表示。進入Video encoder。文本序列和video clip序列拼接起來進入Transformer。多層(比如三層、四層),后面跟著一個解碼,利用一個encoder-decoder結(jié)果來做預(yù)訓(xùn)練。使用了如下四個任務(wù)進行預(yù)訓(xùn)練。

? Video-text alignment任務(wù)用來判斷輸入的video clip和text是否相互描述。

? Masked language model任務(wù)用來預(yù)測transcript里被mask掉的單詞。

? Transcript generation任務(wù)基于輸入的video clip,生成對應(yīng)的video transcript,這時還有NL段置空了。

? Masked frame model任務(wù)用來預(yù)測被mask掉的video clip對應(yīng)的video feature vector。

UNICODER-VL擴展到video。與其他工作相比,我們把理解和生成集成在一個預(yù)訓(xùn)練模型,既可以理解,也有生成能力。預(yù)訓(xùn)練的語料是,HowTo100M作為pre-train語料。它是從Youtube上抓下來的1.2 M視頻,切分成136 M視頻片段,根據(jù)時間軸配上文字說明(youtube自帶的)。下游任務(wù)finetune目前我們使用YouCook2的菜譜視頻,以及MSR-VTT微軟發(fā)布的(視頻-caption)對的數(shù)據(jù)集合。

下游任務(wù)包括視頻搜索和視頻caption生成兩個任務(wù)。首先是檢索任務(wù)——給定NL的query,從一個固定視頻片段中搜索最匹配的視頻片段。然后是caption任務(wù)——給定一段視頻,加上transcript,生成對應(yīng)的caption。我們的提交系統(tǒng)目前取得了最好的評測結(jié)果。

這樣的預(yù)訓(xùn)練模型有很多應(yīng)用。這里用Video chaptering來說明。它分為兩個任務(wù),一個是video segmentation,用于對輸入video進行clip切分;一個是video captioning,用于對每個video clip生成一個總結(jié)性的內(nèi)容。

我總結(jié)一下多模態(tài)預(yù)訓(xùn)練模型。目前它尚處于初期階段。遵循大多數(shù)NLP預(yù)訓(xùn)練模型,用Transformer機制,從有限的圖像/視頻-語言數(shù)據(jù)集中學(xué)習(xí)聯(lián)合表示,可以計算圖像/視頻片段和文字描述的距離,并實現(xiàn)圖像/視頻-文字之間的轉(zhuǎn)換。多模態(tài)預(yù)訓(xùn)練模型雖然剛剛開始還不成熟,但是已經(jīng)在圖像/視頻的搜索,以及生成文字描述當(dāng)任務(wù)中顯示出不錯的前景。

當(dāng)然,多模態(tài)預(yù)訓(xùn)練模型仍然面臨許多挑戰(zhàn)。首先,圖像/視頻-語言對的數(shù)據(jù)的大小仍然比自然語言語料庫小得多。第二,CV僅僅用于特征提取,目前并沒有將CV模型和NLP模型共同訓(xùn)練。當(dāng)然目前沒有好的算法,而且訓(xùn)練的cost非常大。第三,與之有關(guān),就是CV的對象識別,目前的類別僅限于1 000類左右,對真實場景的覆蓋不夠,而且識別的精度也不夠,導(dǎo)致預(yù)訓(xùn)練的輸入信號天然帶有誤差。第四,對于多模態(tài)預(yù)訓(xùn)練模型,目前都是用Transformer機制,但是它的代價比較大,而且是否最合適對圖像/視頻-文字建立關(guān)聯(lián),還需要進一步探索。第五,圖片和視頻的預(yù)訓(xùn)練模型也不一樣,由于視頻有時序,因此視頻的分割按照固定時長分割,缺乏邏輯意義。而且視頻的token會比NL多很多,導(dǎo)致訓(xùn)練的代價比圖片和文字的預(yù)訓(xùn)練大很多。

結(jié)束語

NLP經(jīng)歷了第一代的基于規(guī)則的NLP;第二代的基于統(tǒng)計的NLP;五年前進入到基于神經(jīng)網(wǎng)絡(luò)的第三代NLP(NN-NLP),在大數(shù)據(jù)、大模型、神經(jīng)網(wǎng)絡(luò)框架下取得了很好的進展,形成了一整套的技術(shù)。而現(xiàn)在更進一步,預(yù)訓(xùn)練+微調(diào)形成了工業(yè)化可擴展的解決方案。預(yù)訓(xùn)練模型把遷移學(xué)習(xí)很好地用起來了,讓我們感到眼前一亮。這和小孩子讀書一樣,一開始語文、數(shù)學(xué)、化學(xué)都學(xué),讀書、網(wǎng)上游戲等,在腦子里積攢了很多。當(dāng)他學(xué)習(xí)計算機時,實際上把他以前學(xué)到的所有知識都帶進去了。如果他以前沒上過中學(xué),沒上過小學(xué),突然學(xué)計算機就不懂這里有什么道理。這和我們預(yù)訓(xùn)練模型一樣,預(yù)訓(xùn)練模型就意味著把人類的語言知識,先學(xué)了一個東西,然后再代入到某個具體任務(wù),就順手了,就是這么一個簡單的道理。這要感謝楊強老師做的遷移學(xué)習(xí),真的是有效。

預(yù)訓(xùn)練體現(xiàn)出所有的自監(jiān)督的訓(xùn)練。如果為了做預(yù)訓(xùn)練要標(biāo)數(shù)據(jù)則失去意義,因為標(biāo)不了太大數(shù)據(jù),很多知識體現(xiàn)不出來。恰好自然語言有幾乎無限的語料,用語言模型或者用自編碼方法自監(jiān)督學(xué)習(xí)。一個預(yù)訓(xùn)練模型,只要訓(xùn)出來以后,后續(xù)所有任務(wù),都可以得到很好的處理。對一個任務(wù),只要數(shù)據(jù)足夠大的任務(wù),預(yù)訓(xùn)練加微調(diào)機制基本可以搞定了。當(dāng)然還需要研究zero-shot,few-shot等問題,這些還有研究空間。

預(yù)訓(xùn)練模型在多語言任務(wù)中,rich-resource 的模型會遷移到low-resource語言任務(wù)中,減輕了數(shù)據(jù)不足的問題。預(yù)訓(xùn)練模型在文本中表現(xiàn)出色,基本可以實用。而在多模態(tài)任務(wù)中,則方興未艾,還有巨大探索空間。比如圖片/視頻的預(yù)處理、訓(xùn)練任務(wù)的設(shè)計都將有很多有趣的研究。

要想邁向下一個階段也有很多問題,比如現(xiàn)有的預(yù)訓(xùn)練模型是不是最優(yōu)的?有沒有更好的訓(xùn)練任務(wù)、更好的神經(jīng)網(wǎng)絡(luò)架構(gòu)?訓(xùn)練是否可以更快?模型是否可以更?。楷F(xiàn)在瘋狂追求大模型,耗盡計算資源,同時也污染了環(huán)境,是不是我們可以接受的?還有現(xiàn)有的模型在利用知識、嘗試、進行推理,并且提供解釋等方面仍然沒有看到任何清晰的解決前景。這些都是難題。我希望大家一起繼續(xù)努力,把這些問題好好想想,努力把NLP推向一個新的高度。

致謝:

本文所涉及的許多研究項目為微軟亞洲研究院自然語言計算組的許多同事和同學(xué)共同完成。非常感謝他們的貢獻。這里要特別感謝段楠對本講座提供了豐富材料并幫助完善PPT。同時我也感謝韋福如、崔磊和王文輝提供了部分重要內(nèi)容。

(本報告根據(jù)速記整理)

CAAI原創(chuàng) 丨 作者周明

未經(jīng)授權(quán)嚴禁轉(zhuǎn)載及翻譯

如需轉(zhuǎn)載合作請向?qū)W會或本人申請

轉(zhuǎn)發(fā)請注明轉(zhuǎn)自中國人工智能學(xué)會

以上就是關(guān)于實錄鄉(xiāng)pos機辦理,預(yù)訓(xùn)練模型在多語言的知識,后面我們會繼續(xù)為大家整理關(guān)于實錄鄉(xiāng)pos機辦理的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.dsth100338.com/newsone/67577.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。