由于Transformer模型的出現和快速發展,深度學習領域正在經歷一場翻天覆地的變化。這些突破性的架構不僅重新定義了自然語言處理(NLP)的標準,而且拓寬了視野,徹底改變了AI的許多方面。
以其獨特的attention機制和并行處理能力為特征,Transformer模型證明了在理解和生成人類語言方面的創新飛躍,其準確性和效率是以前無法實現的。
谷歌在2017年一篇題為《attention就是你所需要的一切》的文章中首次提出,Transformer架構是ChatGPT等突破性模型的核心。它們在OpenAI的尖端語言模型中發揮了重要作用,并在DeepMind的AlphaStar中發揮了關鍵作用。
在這個AI的變革時代,Transformer模型對有抱負的數據科學家和NLP從業者的重要性怎么強調都不為過。作為大多數最新技術飛躍的核心領域之一,本文旨在破譯這些模型背后的秘密。
什么是Transformer?
Transformer最初是為了解決序列轉導或神經機器翻譯的問題而開發的,這意味著它們旨在解決將輸入序列轉換為輸出序列的任何任務。這就是為什么他們被稱為“Transformer”。
什么是Transformer模型?
Transformer模型是一個神經網絡,它學習順序數據的上下文并從中生成新數據。簡單地說是一種AI模型,它通過分析大量文本數據中的模式來學習理解和生成類似人類的文本。
Transformer是當前最先進的NLP模型,被認為是編碼器-解碼器架構的演變。但編碼器-解碼器架構主要依賴于循環神經網絡(RNN)來提取序列信息,Transformer則完全缺乏這種循環性。
那么,他們是怎么做到的呢?
Transformer是專門設計來通過分析不同元素之間的關系來理解上下文和意義的,它們幾乎完全依賴于一種叫做attention的數學技巧來做到這一點。
歷史背景
Transformer模型起源于谷歌2017年的一篇研究論文,是機器學習領域最新和最有影響力的發展之一。第一個Transformer模型在有影響力的論文《attention就是你所需要的一切》中得到了解釋。
這個開創性的概念不僅是一個理論的進步,而且還找到了實現,特別是在TensorFlow的Tensor2Tensor包中。此外,哈佛NLP小組通過提供論文的注釋指南以及PyTorch實現對這個新興領域做出了貢獻。
它們的引入刺激了該領域的顯著增長,通常被稱為Transformer AI。這個革命性的模型為隨后在大型語言模型領域(包括BERT)的突破奠定了基礎。到2018年,這些發展已經被譽為NLP的分水嶺。
2020年,OpenAI的研究人員宣布了GPT-3。在幾周內,GPT-3的多功能性很快得到了證明,人們用它來創作詩歌、程序、歌曲、網站和更多吸引全球用戶想象力的東西。
在2021年的一篇論文中,斯坦福大學的學者們恰當地將這些創新稱為基礎模型,強調了它們在重塑AI方面的基礎作用。他們的工作突出了Transformer模型如何不僅徹底改變了該領域,而且推動了AI可實現的前沿,預示著一個充滿可能性的新時代。
谷歌的前高級研究科學家、企業家Ashish Vaswani說:“我們正處在這樣一個時代,像神經網絡這樣的簡單方法正在給我們帶來新能力的爆炸式增長。”
從像LSTM這樣的RNN模型到用于NLP問題的transformer的轉變
在Transformer模型引入時,RNN是處理順序數據的首選方法,其特征在于其輸入中的特定順序。RNN的功能類似于前饋神經網絡,但它按順序處理輸入,每次處理一個元素。
Transformer的靈感來自于RNN中的編碼器-解碼器架構。但是,Transformer模型完全基于attention機制,而不是使用遞歸。
除了提高RNN的性能,Transformer還提供了一種新的架構來解決許多其他任務,如文本摘要、圖像字幕和語音識別。
那么,RNN的主要問題是什么呢?它們對于NLP任務是無效的,主要有兩個原因:
它們依次處理輸入數據。這種循環過程不使用現代GPU,GPU是為并行計算而設計的,因此,使得這種模型的訓練相當緩慢。
當元素彼此距離較遠時,它們就變得無效。這是因為信息是在每一步傳遞的,鏈越長,信息在鏈上丟失的可能性越大。
從像LSTM這樣的RNN到NLP中Transformer的轉變是由這兩個主要問題驅動的,Transformer通過利用attention機制的改進來評估這兩個問題的能力:
注意具體的詞語,不管它們相距多遠。
提高性能速度。
因此,Transformer成為RNN的自然改進。接下來,讓我們來看看Transformer是如何工作的。
Transformer架構
概述
最初設計用于序列轉導或神經機器翻譯,Transformer擅長將輸入序列轉換為輸出序列。這是第一個完全依靠自關注來計算輸入和輸出表示的轉導模型,而不使用序列對齊RNN或卷積。Transformer架構的主要核心特征是它們維護編碼器-解碼器模型。
如果我們開始將用于語言翻譯的Transformer視為一個簡單的黑盒,那么它將接受一種語言(例如英語)的句子作為輸入,并輸出其英語翻譯。
如果稍微深入一點,我們會發現這個黑盒子由兩個主要部分組成:
編碼器接受輸入并輸出該輸入的矩陣表示。例如,英語句子“How are you?”
解碼器接受該編碼表示并迭代地生成輸出。在我們的例子中,翻譯后的句子“?Cómo estás?”
然而,編碼器和解碼器實際上都是一個多層的堆棧(每層的數量相同)。所有編碼器都呈現相同的結構,輸入進入每個編碼器并傳遞給下一個編碼器。所有解碼器也呈現相同的結構,并從最后一個編碼器和前一個解碼器獲得輸入。
最初的架構由6個編碼器和6個解碼器組成,但我們可以根據需要復制盡可能多的層。假設每個都有N層。
現在對整個Transformer架構有了一個大致的了解,讓我們把重點放在編碼器和解碼器上,以更好地理解它們的工作流程。
-
編碼器
+關注
關注
45文章
3780瀏覽量
137276 -
模型
+關注
關注
1文章
3499瀏覽量
50058 -
Transformer
+關注
關注
0文章
151瀏覽量
6411
原文標題:Transformer架構詳細解析——概述
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
基于DINO知識蒸餾架構的分層級聯Transformer網絡
關于深度學習模型Transformer模型的具體實現方案

如何更改ABBYY PDF Transformer+界面語言
概述隔離式電源集中式電源架構
CMSIS軟件架構概述?
谷歌將AutoML應用于Transformer架構,翻譯結果飆升!
解析Transformer中的位置編碼 -- ICLR 2021

如何使用Transformer來做物體檢測?

Transformer深度學習架構的應用指南介紹

利用Transformer和CNN 各自的優勢以獲得更好的分割性能
RetNet架構和Transformer架構對比分析

Transformer架構在自然語言處理中的應用
transformer專用ASIC芯片Sohu說明

Transformer架構中編碼器的工作流程

評論