分享:

DeepMind詳解機器學習架構幫助構建算法模型

2022-08-09 14:38 中國航空報

中國航空報訊:機器學習架構Transformer自2017年被谷歌推出后,在自然語言處理(NLP,Natural Language Processing)和計算機視覺領域得到廣泛應用且獲得巨大成功,一定程度上對此前的遞歸神經網絡(RNN,Recurrent Neural Network)形成了替代。

5年以來,行業人士針對Transformer 開發出了眾多變體,但人們對其描述通常都是圖形化或口頭形式的。盡管它們很受歡迎,但幾乎沒有人為任何變體發布過偽代碼。

在計算機科學中,偽代碼是對算法或其他系統如何實現的重點描述,用于人類閱讀而不是機器閱讀,比傳統的編程語言代碼更易理解,類似于自然語言,可讀性好。

偽代碼的語法沒有具體標準,因為它并不是用于可執行程序。偽代碼的主要意義在于使算法被各種編程語言更容易地表示。

不過,不知什么原因,深度學習領域的從業者好像并不想為自己的模型寫偽代碼。

近日,與谷歌同為Alphabet子公司的DeepMind,將Transformer架構進行了詳細解讀,并將相關論文以《Transformers架構的形式化算法》(Formal Algorithms for Transformers)為題提交在arXiv上。

據了解,Transformer非常擅長NLP或建模序列數據,常用于的兩種任務類型是序列建模和序列到序列的預測。許多預訓練模型,如GPT-2、GPT-3、BERT、XLNet和RoBERTa,證明了Transformer執行各種NLP相關任務的能力,并可應用于機器翻譯、文檔生成、生物序列分析、視頻理解等方面。

本次的研究論文旨在成為Transformer獨立的、數學上精確的算法概述,并對Transformer的定義、訓練方法、用途和關鍵架構組件、較有名的模型做了說明。

論文開篇有一段引言,DeepMind寫道:“曾有同事給一位著名的復雜性理論家寄過一篇非常好的論文。但理論家卻表示,在論文中找不到一個定理,不知道這篇論文是關于什么的。”

該公司提到,這個真實故事很好地表達了他們在瀏覽許多深度學習論文時的感覺:無法準確地找出算法建議。

在過去的幾年里,深度學習取得了極大進步,每年發表的關于該方面的論文可達數千篇。

但這些論文往往缺乏科學的精確性和細節,其中很多只是介紹了他們的模型相較之前有何變化,甚至有的論文只包含幾行散文式的描述,最多有一些圖表,而沒有對模型的精確解釋,完全沒有偽代碼。

也有人會說,大多數深度學習模型都是一些核心架構的微小變化,因此,一個增加了對變化的描述的參考應該就足夠了。

但模型的核心算法應該附帶調用它們的包裝器算法,例如(前)訓練、微調、提示、推理、部署。對于行業人士,這些論文也許已經十分精簡,但理論家一般要更細致地介紹說明。

無論如何,如果這些事情沒有被較好地說明,算法模型仍然很難被人所理解。

正確地解釋這些模型是如何被訓練和使用的也同樣重要,因為有時甚至不清楚所描述的模型的輸入和輸出是什么。當然,有經驗的人通常能夠正確地猜測,但這顯然不是一個能夠科學應用的方法。

值得一提的是,開放源代碼很有效,但這并不能很好地替代偽代碼的作用。在基本將算法完整描述的情況下,源代碼往往要幾千行,而一個包含所有重要內容的偽代碼通常還不到一個頁面。但很少有深度學習從業者能在設計算法的同時寫出偽代碼。

有人也對偽代碼的必要性提出疑問,它有什么用處,真的有人需要偽代碼嗎?

在深度學習中,提供偽代碼可以用于許多用途。相比動輒上千行的實際代碼,偽代碼能讓研究者更簡單地開發新模型。

研究人員在論文中提到:“偽代碼能夠對需要完整和精確公式的理論研究者、從零實現Transformer的實驗者和使用形式Transformer算法擴充論文或書籍的人提供非常大的幫助。”

理論家需要緊湊、完整和精確的描述來進行推理,并最終證明算法的性質。他們通常不愿意或無法對實際代碼進行反向工程,或去猜測單詞、圖表的具體含義。

綜上所述DeepMind的研究人員因此正式描述了Transformer架構、典型任務、標記化(文本的表示方式)、訓練和推理的所有方面。

在論文中,DeepMind還表示,當在消化了論文中的內容后,人們可進一步地更深刻理解Transformer,并在此基礎上,能夠為有關Transformer領域的文獻作出貢獻,且能基于偽代碼從零創建Transformer模型。

責任編輯:intern2