自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

?什么是Transformer機(jī)器學(xué)習(xí)模型?

譯文
人工智能 機(jī)器學(xué)習(xí)
自從2017年首次亮相以來,Transformer 架構(gòu)不斷發(fā)展并擴(kuò)展到多種不同的變體,從語言任務(wù)擴(kuò)展到其他領(lǐng)域。它們已被用于時(shí)間序列預(yù)測(cè)。它們是 DeepMind 的蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)模型 AlphaFold 背后的關(guān)鍵創(chuàng)新。OpenAI 的源代碼生成模型 Codex 也基于 Transformer。Transformer 最近也進(jìn)入了計(jì)算機(jī)視覺領(lǐng)域,在許多復(fù)雜任務(wù)中它們正在慢慢取代卷積神經(jīng)網(wǎng)絡(luò)(C

譯者 | 李睿

審校 | 孫淑娟

?近年來, Transformer 機(jī)器學(xué)習(xí)模型已經(jīng)成為深度學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)步的主要亮點(diǎn)之一。它主要用于自然語言處理中的高級(jí)應(yīng)用。谷歌正在使用它來增強(qiáng)其搜索引擎結(jié)果。OpenAI 使用 Transformer 創(chuàng)建了著名的 GPT-2和 GPT-3模型。

圖片

自從2017年首次亮相以來,Transformer 架構(gòu)不斷發(fā)展并擴(kuò)展到多種不同的變體,從語言任務(wù)擴(kuò)展到其他領(lǐng)域。它們已被用于時(shí)間序列預(yù)測(cè)。它們是 DeepMind 的蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)模型 AlphaFold 背后的關(guān)鍵創(chuàng)新。OpenAI 的源代碼生成模型 Codex 也基于 Transformer。Transformer 最近也進(jìn)入了計(jì)算機(jī)視覺領(lǐng)域,在許多復(fù)雜任務(wù)中它們正在慢慢取代卷積神經(jīng)網(wǎng)絡(luò)(CNN)。

研究人員仍在探索改進(jìn) Transformer 并將其用于新應(yīng)用的方法。以下是關(guān)于 Transformer 令人興奮的原因以及它們?nèi)绾喂ぷ鞯暮?jiǎn)要解釋。

1.采用神經(jīng)網(wǎng)絡(luò)處理序列數(shù)據(jù)

圖片

傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)并非旨在跟蹤序列數(shù)據(jù)并將每個(gè)輸入映射到輸出。它適用于諸如圖像分類之類的任務(wù),但在諸如文本之類的序列數(shù)據(jù)上卻失敗了。處理文本的機(jī)器學(xué)習(xí)模型不僅必須處理每個(gè)單詞,還必須考慮單詞如何按順序排列并相互關(guān)聯(lián)。而一個(gè)單詞的含義可能會(huì)隨著句子中出現(xiàn)在它們之前和之后的其他單詞而改變。

在 Transformer 出現(xiàn)之前,遞歸神經(jīng)網(wǎng)絡(luò)(RNN)是自然語言處理的首選解決方案。當(dāng)提供一個(gè)單詞序列時(shí),遞歸神經(jīng)網(wǎng)絡(luò)(RNN)將處理第一個(gè)單詞,并將結(jié)果反饋到處理下一個(gè)單詞的層。這使它能夠跟蹤整個(gè)句子,而不是單獨(dú)處理每個(gè)單詞。

遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的缺點(diǎn)限制了它們的用處。首先,它們的處理速度非常緩慢。由于它們必須按順序處理數(shù)據(jù),因此無法在訓(xùn)練和推理中利用并行計(jì)算硬件和圖形處理單元(GPU)。其次,它們無法處理長(zhǎng)序列的文本。隨著遞歸神經(jīng)網(wǎng)絡(luò)(RNN)深入到文本摘錄中,句子開頭幾個(gè)單詞起到的效果逐漸減弱。當(dāng)兩個(gè)鏈接的詞在文本中相距很遠(yuǎn)時(shí),這個(gè)被稱為“梯度消失”的問題就會(huì)出現(xiàn)。第三,它們只捕捉到一個(gè)單詞和它之前的單詞之間的關(guān)系。實(shí)際上,單詞的含義取決于它們之前和之后的單詞。

長(zhǎng)短時(shí)記憶(LSTM)網(wǎng)絡(luò)是遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的繼任者,能夠在一定程度上解決梯度消失問題,并且能夠處理更大的文本序列。但是長(zhǎng)短時(shí)記憶(LSTM)的訓(xùn)練速度甚至比遞歸神經(jīng)網(wǎng)絡(luò)(RNN)還要慢,并且仍然無法充分利用并行計(jì)算。他們?nèi)匀灰蕾囉谖谋拘蛄械拇刑幚怼?/p>

2017年發(fā)表的一篇名為《注意就是所需要的一切》的論文介紹了 Transformer,指出 Transformer
做出了兩個(gè)關(guān)鍵貢獻(xiàn):首先,它們使并行處理整個(gè)序列成為可能,從而可以將順序深度學(xué)習(xí)模型的速度和容量擴(kuò)展到前所未有的速度。其次,它們引入了“注意機(jī)制”,可以在正向和反向的非常長(zhǎng)的文本序列中跟蹤單詞之間的關(guān)系。

圖片

在討論 Transformer 模型的工作原理之前,有必要討論一下序列神經(jīng)網(wǎng)絡(luò)解決的問題類型。

  • “向量到序列”模型采用單個(gè)輸入(例如圖像)并生成數(shù)據(jù)序列(例如描述)。
  • “序列到向量”模型將序列數(shù)據(jù)作為輸入,例如產(chǎn)品評(píng)論或社交媒體帖子,并輸出單個(gè)值,例如情緒分?jǐn)?shù)。
  • “序列到序列”模型將一個(gè)序列作為輸入,例如一個(gè)英文句子,并輸出另一個(gè)序列,例如該句子的法語翻譯。

盡管存在差異,但所有這些類型的模型都有一個(gè)共同點(diǎn)——他們學(xué)習(xí)表達(dá)。神經(jīng)網(wǎng)絡(luò)的工作是將一種類型的數(shù)據(jù)轉(zhuǎn)換為另一種類型的數(shù)據(jù)。在訓(xùn)練期間,神經(jīng)網(wǎng)絡(luò)的隱藏層(位于輸入和輸出之間的層)以最能代表輸入數(shù)據(jù)類型特征的方式調(diào)整其參數(shù),并將其映射到輸出。最初的 Transformer 被設(shè)計(jì)為用于機(jī)器翻譯的序列到序列(seq2seq)模型(當(dāng)然,序列到序列模型不限于翻譯任務(wù))。它由一個(gè)編碼器模塊組成,該模塊將來自源語言的輸入字符串壓縮為一個(gè)向量,該向量表示單詞及其相互之間的關(guān)系。解碼器模塊將編碼向量轉(zhuǎn)換為目標(biāo)語言的文本字符串。

2.標(biāo)記和嵌入 

圖片

輸入文本必須經(jīng)過處理并轉(zhuǎn)換為統(tǒng)一格式,然后才能輸入到 Transformer。首先,文本通過“標(biāo)記器”,將其分解為可以單獨(dú)處理的字符塊。標(biāo)記化算法可以取決于應(yīng)用程序。在大多數(shù)情況下,每個(gè)單詞和標(biāo)點(diǎn)符號(hào)大致算作一個(gè)標(biāo)記。一些后綴和前綴算作單獨(dú)的標(biāo)記(例如,“ize”、“l(fā)y”和“pre”)。標(biāo)記器生成一個(gè)數(shù)字列表,表示輸入文本的標(biāo)記ID。

然后將標(biāo)記轉(zhuǎn)換為“單詞嵌入”。單詞嵌入是一種試圖在多維空間中捕捉單詞價(jià)值的向量。例如,“貓”和“狗”這兩個(gè)詞在某些維度上可能具有相似的值,因?yàn)樗鼈兌加糜陉P(guān)于動(dòng)物和寵物的句子中。然而,在區(qū)分貓科動(dòng)物和犬科動(dòng)物的其他維度上,“貓”比“狼”更接近“獅子”。同樣,“巴黎”和“倫敦”可能彼此更加接近,因?yàn)樗鼈兌际浅鞘小H欢?,“倫敦”更接近于“英格蘭”,“巴黎”更接近于“法國(guó)”,這是因?yàn)樵谝粋€(gè)國(guó)家的區(qū)分維度上。而單詞嵌入通常有數(shù)百個(gè)維度。

單詞嵌入是通過嵌入模型創(chuàng)建的,這些模型與 Transformer 分開訓(xùn)練。有幾種用于語言任務(wù)的預(yù)訓(xùn)練嵌入模型。

3.注意層   

圖片

一旦句子被轉(zhuǎn)換成一個(gè)單詞嵌入列表,它就會(huì)被輸入到 Transformer 的編碼器模塊中。與遞歸神經(jīng)網(wǎng)絡(luò)(RNN)和長(zhǎng)短時(shí)記憶(LSTM)模型不同,Transformer 一次不會(huì)接收一個(gè)輸入。它可以接收整個(gè)句子的嵌入值,并并行處理它們。這使得 Transformer 比它們的前輩更具有計(jì)算效率,并且還使它們能夠在正向和反向序列中檢查文本的場(chǎng)景。

為了保持句子中單詞的順序,Transformer 應(yīng)用“位置編碼”,這基本上意味著它修改每個(gè)嵌入向量的值,以表示其在文本中的位置。

接下來,輸入被傳遞到第一個(gè)編碼器塊,它通過“注意層”對(duì)其進(jìn)行處理。注意層試圖捕捉句子中單詞之間的關(guān)系。例如,考慮 “一只大黑貓碰掉一個(gè)瓶子之后橫穿馬路”(The big black cat crossed the road after it dropped a bottle on its side)這個(gè)句子。在這里,模型必須將“it”與“cat”相關(guān)聯(lián),將“its”與“bottle”相關(guān)聯(lián)。因此,它應(yīng)該建立其他關(guān)聯(lián),例如“big”和“cat”或“crossed”和“cat”。否則,注意層接收表示單個(gè)單詞值的單詞嵌入列表,并生成表示單個(gè)單詞及其相互關(guān)系的向量列表。注意層包含多個(gè)“attention heads” (注意頭),每個(gè)“attention heads”都可以捕獲單詞之間的不同類型的關(guān)系。

注意層的輸出被饋送到前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)將其轉(zhuǎn)換為向量表示,并將其發(fā)送到下一個(gè)注意層。Transformers
包含幾個(gè)注意塊和前饋層,以逐漸捕捉更復(fù)雜的關(guān)系。

解碼器模塊的任務(wù)是將編碼器的注意向量轉(zhuǎn)換為輸出數(shù)據(jù)(例如,輸入文本的翻譯版本)。在訓(xùn)練階段,解碼器可以訪問編碼器產(chǎn)生的注意向量和預(yù)期的結(jié)果(例如,翻譯的字符串)。

解碼器使用相同的標(biāo)記化、單詞嵌入和注意機(jī)制來處理預(yù)期結(jié)果并創(chuàng)建注意向量。然后,它在編碼器模塊中傳遞該注意向量和注意層,從而在輸入和輸出值之間建立關(guān)系。在翻譯應(yīng)用程序中,這是源語言和目標(biāo)語言中的單詞相互映射的部分。與編碼器模塊一樣,解碼器注意向量通過前饋層傳遞。然后其結(jié)果被映射到一個(gè)非常大的向量池,即目標(biāo)數(shù)據(jù)的大小(在翻譯的情況下,這可以涉及數(shù)萬個(gè)單詞)。

4.訓(xùn)練Transformer

在訓(xùn)練期間,Transformer 提供了非常大的配對(duì)示例語料庫(kù)(例如,英語句子及其相應(yīng)的法語翻譯)。編碼器模塊接收并處理完整的輸入字符串。然而,解碼器接收到輸出字符串的掩碼版本(一次一個(gè)單詞),并嘗試建立編碼的注意向量和預(yù)期結(jié)果之間的映射。編碼器嘗試預(yù)測(cè)下一個(gè)單詞,并根據(jù)其輸出與預(yù)期結(jié)果之間的差異進(jìn)行更正。這種反饋使轉(zhuǎn)換器能夠修改編碼器和解碼器的參數(shù),并逐漸在輸入和輸出語言之間創(chuàng)建正確的映射。

Transformer 擁有的訓(xùn)練數(shù)據(jù)和參數(shù)越多,它就越有能力在較長(zhǎng)文本序列中保持連貫性和一致性。

5.Transformer的變化

 在以上研究的機(jī)器翻譯示例中,Transformer 的編碼器模塊學(xué)習(xí)英語單詞和句子之間的關(guān)系,而解碼器學(xué)習(xí)英語和法語之間的映射。

但并非所有 Transformer 應(yīng)用都需要編碼器和解碼器模塊。例如,大型語言模型的GPT系列使用解碼器模塊堆棧來生成文本。BERT是谷歌研究人員開發(fā)的 Transformer 模型的另一種變體,而它只使用編碼器模塊。

其中一些架構(gòu)的優(yōu)點(diǎn)是它們可以通過自我監(jiān)督學(xué)習(xí)或無監(jiān)督方法進(jìn)行訓(xùn)練。例如,BERT 通過獲取大量未標(biāo)記文本的語料庫(kù),可以屏蔽其中的一部分,并嘗試預(yù)測(cè)缺失的部分來進(jìn)行大部分訓(xùn)練。然后,它根據(jù)其預(yù)測(cè)接近或遠(yuǎn)離實(shí)際數(shù)據(jù)的程度調(diào)整其參數(shù)。通過不斷地重復(fù)這個(gè)過程,BERT 捕捉到了不同場(chǎng)景中不同單詞之間的關(guān)系。在這個(gè)預(yù)訓(xùn)練階段之后,BERT 可以通過在少量標(biāo)記示例上進(jìn)行訓(xùn)練來針對(duì)下游任務(wù)進(jìn)行微調(diào),例如問答、文本摘要或情感分析。使用無監(jiān)督和自我監(jiān)督的預(yù)訓(xùn)練可以減少注釋訓(xùn)練數(shù)據(jù)所需的工作量。

關(guān)于 Transformer 和他們正在解鎖的新應(yīng)用程序還有更多,這超出了本文的范圍。研究人員如今仍在尋找從Transformer中獲得更多幫助的方法。

Transformer 還引發(fā)了關(guān)于語言理解和通用人工智能的討論。顯而易見的是,Transformer 與其他神經(jīng)網(wǎng)絡(luò)一樣是一種統(tǒng)計(jì)模型,能夠以巧妙而復(fù)雜的方式捕捉數(shù)據(jù)中的規(guī)律性。雖然它們不像人類那樣“理解”語言,但是其發(fā)展仍然令人興奮并且可以提供更多新事物。

原文鏈接:https://bdtechtalks.com/2022/05/02/what-is-the-transformer/

圖片

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2024-02-20 15:17:35

機(jī)器學(xué)習(xí)模型部署

2021-04-26 13:22:55

人工智能機(jī)器學(xué)習(xí)

2021-03-09 19:42:27

機(jī)器學(xué)習(xí)治理機(jī)器學(xué)習(xí)

2020-11-06 09:00:00

機(jī)器學(xué)習(xí)集成學(xué)習(xí)人工智能

2021-05-24 08:00:00

機(jī)器學(xué)習(xí)數(shù)據(jù)云計(jì)算

2021-01-26 15:32:40

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2017-05-18 13:23:06

機(jī)器學(xué)習(xí)強(qiáng)化學(xué)習(xí)分類問題

2023-11-06 08:58:52

正則化機(jī)器學(xué)習(xí)Laplace

2023-05-11 15:24:12

2017-08-17 13:26:34

機(jī)器學(xué)習(xí)監(jiān)督學(xué)習(xí)強(qiáng)化學(xué)習(xí)

2021-04-25 10:26:34

Python機(jī)器學(xué)習(xí)人工智能

2020-11-10 16:18:58

機(jī)器學(xué)習(xí)人工智能AI

2016-01-07 12:40:02

機(jī)器學(xué)習(xí)權(quán)威定義

2024-09-09 11:45:15

ONNX部署模型

2020-08-10 15:05:02

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2017-08-25 14:05:01

機(jī)器學(xué)習(xí)算法模型

2020-07-29 08:34:30

機(jī)器學(xué)習(xí)安全工具

2023-09-21 10:29:01

AI模型

2022-06-02 11:11:43

AI深度學(xué)習(xí)

2011-11-28 10:26:45

SIPOC原創(chuàng)輸出
點(diǎn)贊
收藏

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