偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

?什么是Transformer機器學習模型?

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

譯者 | 李睿

審校 | 孫淑娟

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

圖片

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

研究人員仍在探索改進 Transformer 并將其用于新應用的方法。以下是關于 Transformer 令人興奮的原因以及它們?nèi)绾喂ぷ鞯暮喴忉尅?/p>

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

圖片

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

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

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

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

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

圖片

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

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

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

2.標記和嵌入 

圖片

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

然后將標記轉(zhuǎn)換為“單詞嵌入”。單詞嵌入是一種試圖在多維空間中捕捉單詞價值的向量。例如,“貓”和“狗”這兩個詞在某些維度上可能具有相似的值,因為它們都用于關于動物和寵物的句子中。然而,在區(qū)分貓科動物和犬科動物的其他維度上,“貓”比“狼”更接近“獅子”。同樣,“巴黎”和“倫敦”可能彼此更加接近,因為它們都是城市。然而,“倫敦”更接近于“英格蘭”,“巴黎”更接近于“法國”,這是因為在一個國家的區(qū)分維度上。而單詞嵌入通常有數(shù)百個維度。

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

3.注意層   

圖片

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

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

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

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

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

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

4.訓練Transformer

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

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

5.Transformer的變化

 在以上研究的機器翻譯示例中,Transformer 的編碼器模塊學習英語單詞和句子之間的關系,而解碼器學習英語和法語之間的映射。

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

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

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

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

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

圖片

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2024-02-20 15:17:35

機器學習模型部署

2021-04-26 13:22:55

人工智能機器學習

2021-03-09 19:42:27

機器學習治理機器學習

2020-11-06 09:00:00

機器學習集成學習人工智能

2021-05-24 08:00:00

機器學習數(shù)據(jù)云計算

2021-01-26 15:32:40

機器學習人工智能計算機

2017-05-18 13:23:06

機器學習強化學習分類問題

2023-11-06 08:58:52

正則化機器學習Laplace

2023-05-11 15:24:12

2017-08-17 13:26:34

機器學習監(jiān)督學習強化學習

2021-04-25 10:26:34

Python機器學習人工智能

2020-11-10 16:18:58

機器學習人工智能AI

2016-01-07 12:40:02

機器學習權威定義

2020-08-10 15:05:02

機器學習人工智能計算機

2024-09-09 11:45:15

ONNX部署模型

2017-08-25 14:05:01

機器學習算法模型

2020-07-29 08:34:30

機器學習安全工具

2023-09-21 10:29:01

AI模型

2024-08-15 11:37:05

2022-06-02 11:11:43

AI深度學習
點贊
收藏

51CTO技術棧公眾號