從頭開始構建,DeepMind新論文用偽代碼詳解Transformer
2017 年 Transformer 橫空出世,由Google在論文《Attention is all you need》中引入。這篇論文拋棄了以往深度學習任務裡面所使用的 CNN 和 RNN。這項開創性的研究顛覆了以往序列建模和 RNN 劃等號的思路,如今被廣泛用於 NLP。大熱的 GPT、BERT 等都是基於 Transformer 建構的。
Transformer 自推出以來,研究者已經提出了許多變體。但大家對 Transformer 的描述似乎都是以口頭形式、圖形解釋等方式介紹架構。關於 Transformer 的偽代碼描述可參考的資料很少。
正如下面這段話所表達的:一位AI 領域非常出名的研究者,曾向一位著名的複雜性理論家發送了一篇自認為寫得非常好的論文。而理論家的回答是:我在論文中找不到任何定理,我不知道這篇論文是關於什麼的。
對於從業者來說,論文可能足夠詳細,但理論家所需的精確度通常更高。由於某些原因,DL 社群似乎不願意為他們的神經網路模型提供偽代碼。
目前看來,DL 社群有以下問題:
DL 出版缺乏科學的準確性和細節。深度學習在過去 5 到 10 年間取得了巨大的成功,每年發表的論文數以千計。許多研究者只是非正式地描述了他們如何改變先前的模型,大約 100 多頁的論文只包含幾行非正式地模型描述。充其量是一些高階圖表,沒有偽代碼,沒有方程式,沒有提到對模型的精確解釋。甚至沒有人為著名的 Transformer 及其編碼器 / 解碼器變體提供偽代碼。
原始碼與偽代碼。開源原始碼非常有用,但與數千行的真實原始碼相比,精心設計的偽代碼通常不到一頁,基本上仍然是完整的。這似乎是一項沒有人願意做的苦工。
解釋訓練過程同樣重要,但有時論文中甚至沒有提到模型的輸入和輸出以及潛在的副作用是什麼。論文中的實驗部分通常不會解釋輸入演算法的內容以及如何輸入。如果方法部分有一些解釋,通常與實驗部分中描述的內容脫節,可能是由於不同的作者編寫了不同的部分造成的。
有人會問:真的需要偽代碼嗎? 偽代碼有什麼用?
來自DeepMind 的研究者認為提供偽代碼有很多用途,與閱讀文章或滾動1000 行實際代碼相比,偽代碼將所有重要的內容濃縮在一頁紙上,更容易開發新的變體。為此,他們最近發表的一篇論文《 Formal Algorithms for Transformers 》,文章以完整的、數學精確的方式來描述 Transformer 架構。
論文簡介
本文涵蓋了什麼是 Transformer、Transformer 如何訓練、Transformer 被用來做什麼、Transformer 關鍵架構元件以及比較出名的模型預覽。
#論文網址:https://arxiv.org/pdf/2207.09238.pdf
不過,閱讀本文,讀者需熟悉基礎ML 術語和簡單的神經網路體系架構(如MLPs)。對於讀者而言,在理解了文中的內容後,將會紮實的掌握 Transformer,並可能使用偽代碼實現自己的 Transformer 變體。
這篇論文的主體部分是第 3-8 章,分別介紹了 Transformer 及其典型任務、tokenization、Transformer 的架構組成、Transformer 的訓練和推理、實際應用。
論文中基本完整的偽代碼大約有 50 行,而實際的真實原始碼則有數千行。論文中表述演算法的偽代碼適用於需要緊湊、完整和精確公式的理論研究者、從頭實現 Transformer 的實驗研究人員,同時對使用形式 Transformer 演算法擴充論文或教科書也大有裨益。
論文中偽代碼範例
#對於熟悉基本的ML 術語和簡單的神經網路架構(例如MLP)的初學者來說,這篇論文將幫助你掌握紮實的Transformer 基礎,並用偽代碼模板實現自己的Transformer 模型。
作者介紹
這篇論文的第一作者是今年 3 月正式入職 DeepMind 的研究員 Mary Phuong。她博士畢業於奧地利科學技術研究所,主要從事機器學習的理論研究。
#論文的另一位作者是DeepMind 的資深研究員Marcus Hutter,也是澳大利亞國立大學(ANU) 電腦科學研究院(RSCS) 的名譽教授。
#Marcus Hutter 多年來一直從事人工智慧數學理論的研究。這個研究領域是基於若干數學和計算科學概念,涉及強化學習、機率論、演算法資訊理論、最佳化、搜尋和計算理論等。他的著作《通用人工智慧:基於演算法機率的順序決策》於 2005 年出版,這是一本技術性和數學性都很強的書。
2002 年,Marcus Hutter 與 Jürgen Schmidhuber 和 Shane Legg 一起提出了基於理想化智能體和獎勵強化學習的人工智慧數學理論 AIXI。 2009 年,Marcus Hutter 又提出了特徵強化學習理論。
以上是從頭開始構建,DeepMind新論文用偽代碼詳解Transformer的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

有的用戶在安裝設備的時候遇到了錯誤,提示錯誤代碼28,其實這主要是由於驅動程式的原因,我們只要解決win7驅動程式碼28的問題就可以了,下面就一起來看一下應該怎麼來操作吧。 win7驅動程式碼28怎麼辦:首先,我們需要點擊螢幕左下角的開始選單。接著,在彈出的選單中找到並點擊“控制面板”選項。這個選項通常位於選單的底部或附近。點擊後,系統會自動開啟控制面板介面。在控制面板中,我們可以進行各種系統設定和管理操作。這是懷舊大掃除關卡中的第一步,希望對大家有幫助。然後,我們需要繼續操作,進入系統和

藍屏代碼0x0000001怎麼辦藍屏錯誤是電腦系統或硬體出現問題時的一種警告機制,代碼0x0000001通常表示出現了硬體或驅動程式故障。當使用者在使用電腦時突然遇到藍色畫面錯誤,可能會感到驚慌失措。幸運的是,大多數藍色畫面錯誤都可以透過一些簡單的步驟來排除和處理。本文將為讀者介紹一些解決藍屏錯誤代碼0x0000001的方法。首先,當遇到藍色畫面錯誤時,我們可以嘗試重

但可能打不過公園裡的老大爺?巴黎奧運正在如火如荼地進行中,乒乓球項目備受關注。同時,機器人打乒乓球也取得了新突破。剛剛,DeepMind提出了第一個在競技乒乓球比賽中達到人類業餘選手等級的學習型機器人智能體。論文地址:https://arxiv.org/pdf/2408.03906DeepMind這個機器人打乒乓球什麼程度呢?大概和人類業餘選手不相上下:正手反手都會:對手採用多種打法,機器人也能招架得住:接不同旋轉的發球:不過,比賽激烈程度似乎不如公園老大爺對戰。對機器人來說,乒乓球運動

解決C++程式碼中出現的「error:expectedinitializerbefore'datatype'」問題在C++程式設計中,有時我們在寫程式碼時會遇到一些編譯錯誤,其中一個常見的錯誤是「error:expectedinitializerbefore'datatype'」。這個錯誤通常在變數宣告或函數定義中發生,可能導致程式無法正確編譯或

win10系統是一款非常優秀的高智慧系統強大的智慧可以為使用者帶來最好的使用體驗,一般正常的情況下使用者的win10系統電腦都不會出現任何的問題!但在優秀的電腦也難免會出現各種故障最近一直有小伙伴們反應自己的win10系統遇到了頻繁藍屏的問題!今天小編就為大家帶來了win10電腦頻繁藍屏不同代碼的解決方法讓我們一起來看看吧。電腦頻繁藍屏而且每次代碼不一樣的解決辦法:造成各種故障碼的原因以及解決建議1、0×000000116故障原因:應該是顯示卡驅動不相容。解決建議:建議更換廠商原帶驅動。 2、

如果您需要遠端編程任何設備,這篇文章會為您帶來幫助。我們將分享編程任何設備的頂級GE通用遠端代碼。通用電氣的遙控器是什麼? GEUniversalRemote是一款遙控器,可用於控制多個設備,如智慧電視、LG、Vizio、索尼、藍光、DVD、DVR、Roku、AppleTV、串流媒體播放器等。 GEUniversal遙控器有各種型號,具有不同的功能和功能。 GEUniversalRemote最多可以控制四台設備。頂級通用遙控器代碼,可在任何裝置上編程GE遙控器配備一組代碼,使其能夠與不同設備配合。您可

身為一名程式設計師,對於能夠簡化程式設計體驗的工具,我感到非常興奮。借助人工智慧工具的幫助,我們可以產生演示程式碼,並根據需求進行必要的修改。在VisualStudioCode中新引入的Copilot工具讓我們能夠創建具有自然語言聊天互動的AI生成程式碼。透過解釋功能,我們可以更好地理解現有程式碼的含義。如何使用Copilot產生程式碼?要開始,我們首先需要取得最新的PowerPlatformTools擴充。要實現這一點,你需要進入擴充頁面,搜尋“PowerPlatformTool”,然後點擊Install按鈕

終止代碼0xc000007b在使用電腦時,有時會遇到各種各樣的問題和錯誤代碼。其中,終止代碼最為令人困擾,尤其是終止代碼0xc000007b。這個程式碼表示某個應用程式無法正常啟動,給用戶帶來了不便。首先,我們來了解終止碼0xc000007b的意思。這個程式碼是Windows作業系統的錯誤代碼,通常發生在32位元應用程式嘗試在64位元作業系統上執行時。它表示應
