Single Headed Attention RNN: Stop Thinking With Your Head

這篇論文的語言真的很有趣,很多地方我翻譯的不是很好大家諒解,可以儘量欣賞原文!

Abstract

語言建模的主要方法都是癡迷於我年輕時的電視節目——變形金剛和芝麻街。我們選擇了老辦法和經過驗證的技術,並使用了一個新奇的、受密碼啓發的縮寫:單頭注意力Single Headed Attention RNN (SHA-RNN)。作者的唯一目標是表明,如果我們沉迷於一個略有不同的縮略詞和略有不同的結果,整個領域可能會朝着不同的方向發展。我們採取了一個以前強大的語言模型,只基於無聊的LSTMs,並得到它在enwik8上的最新字節級語言模型的結果。這項工作沒有經過密集的超參數優化,完全生活在一臺普通的臺式電腦上,這讓作者的小單間公寓在舊金山的夏天太暖和了。由於作者缺乏耐心,最終的結果可以在正負24小時內完成。注意機制也很容易擴展到大的上下文,只需要很少的計算。就拿芝麻街(Sesame Street)來說吧。


1. Introduction

語言一直是人類的眼中釘,因爲我們進化出了一個足夠複雜的音頻和圖形處理單元,可以發出聲音,更不用說編寫加密貨幣白皮書或意見專欄了。語言一直是人類歷史上每一次衝突的核心,從第二次世界大戰到你和你吵鬧的鄰居之間的Great Border Skirmish (2008)。許多人認爲語言有可取之處。他們聲稱(缺乏證據),語言可以包含有用的知識,我們通常能從中看到這些知識遠遠不止是表面下的廢墟和五顏六色的侮辱,就像生活可能在木星的衛星歐羅巴冰的深處理論上被發現。許多人通過分裂和征服來對抗語言的同質化,就像他們在《通天塔》中所做的那樣(參見:Javascript框架)。不管你對語言的感覺如何,一個賭徒都希望語言至少再存在幾年,因此這是一個值得研究的領域。(博主注:這篇文章作者真的很有趣,雖然有的話可以在博客中省略,但是還算想翻譯出來給大家欣賞)

1.1 Language is humanity’s longest running program

也許自然語言處理和語言建模最令人驚訝的發現是,我們寫的標準文本、我們說的話以及我們交流的方式中蘊含了豐富的知識。不管我們是否打算捕捉,歷史、智慧和計算都被記錄在最乏味的細節中。

認識到語言不僅僅是人類的語言也是很重要的。語言跨越了各種編碼形式:符號、視覺或聲音。世界上的許多複雜性和過程都可以被重寫成一種語言,無論是人工生成的源(通過Van Eck phreaking解碼CRT監視器的圖像)還是自然生成的,正如您可能期望的這篇文本。

自然語言的概念遠遠超出了我們在過去幾個世紀中可能提出的界限。我們從試圖預測這些模式中學到的往往是豐富的知識來源,有意或無意。

1.2 Direct motivation

語言建模是自然語言處理的基礎工作之一。該任務涉及在給定前n個tokens的序列中預測第(n + 1)個token

在自然的情況下,這是一個尷尬的情況,他們拼命地想把你的句子說完,向你展示他們有多聰明——即使他們猜錯了每一個地方。
在算法設置中,它會自動建議給你建議,如果你提到ducking,你的侮辱會變得更傷人。

爲什麼語言和語言模型是如此豐富的知識來源?神經網絡,加上或減去幾個數以百萬計的參數,理論上能夠實現普遍的函數逼近。當你要求一個足夠複雜的神經網絡去近似語言時,你是在要求它去近似文本的所有錯綜複雜之處,而其中的大部分你可能甚至都沒有意識到

至少就目前的情況來看,語言模型並不智能——但它們確實在向我們反射智能。那些創建了定義、描述和擴展我們世界的龐大數據集的人正在從事智力工作。傳遞足夠多的文本的語言模型僅僅是將緩存的人工計算的片段進行顯示和連接。

假定語言是人類運行時間最長的程序,我們現在注意到人類從來沒有造就出最好的程序員。雖然Whilst spaghetti coding是用於無結構和難以維護的代碼,我們也有spaghetti語言。大量的機會留給了我們,因爲我們不知道如何組織自己。由於調用堆棧返回地址爲空,未被發現和繼續的偉大作品。知識被隱藏起來,直到收垃圾的人毫不留情地來之前,我們都再也不會被提及。這就是我希望語言模型能夠解決的問題。

在這裏,我們通常會討論什麼是token。token是你想要的任何東西。語言模型已經被證明可以處理像素、音頻、字符、單詞等等。基於文本的語言建模傳統上側重於單詞、子單詞和字符。

然而,值得注意的一點是,通過定義單詞或子單詞,我們定義了語言模型的計算和結構的主要部分。從過去幾年機器學習的進步中可以觀察到:人類在僵化地定義機器學習模型上投入的工作越多,我們就越有可能無意中阻礙了它。


2. Motivation

2.1. Alternate history and the genre of research fiction

想象一下,如果我們生活在一個時間軸上,注意力就是你所需要的一切“Attention Is All You Need”(Vaswani et al., 2017)成爲了一首熱門流行歌曲的標題,而最初的作者決定不出版他們的作品。接下來是什麼?我們是否期望研究進展會停滯不前,直到最終在一個祕密地下掩體中重建multi-head attention?這個祕密掩體是爲了保護最後倖存下來的幾個有明亮眼睛的研究人員,使他們免受評論者的無中生有的攻擊。這似乎不可能。進展可能會在一個不同的研究領域,我們將看到周圍的研究領域蓬勃發展,就像一座橋樑建立在以前無法通行的河流上。

我在腦海裏把這個場景演了出來,與“放棄LSTM”的各種呼聲作鬥爭(Hochreiter & Schmidhuber, 1997),它是一種過時的技術,就像汽車電話,或者你女朋友的”iPod,或者…這是我從我的許多研究朋友那裏聽到的,本文中描述的模型就是結果。

澄清一下,如果這個模型失敗了,我很高興,但爲什麼要立即排除這種可能性呢?爲什麼要像飛蛾成羣結隊地爬上燈泡一樣,只朝一個方向前進呢?

2.2. Fighting the direction of research

到目前爲止,我有一個信念,那就是一個集羣一年完成的計算,下一年就會變成一臺消費機器。這並不是因爲科技在過去幾年裏有什麼神奇的進步,而是因爲一旦我們知道某件事是有可能做到的,通常就會有更有效的方法去實現它。

與替代性歷史相似,與摩爾定律的長期趨勢相關,我們不能確定效率最終會實現。沒有確定的最終狀態——相反,這是一個由社區設定的隱含目標。

如果圍繞難以複製的大型計算模型的培訓和研究聚集在一起,那麼只有難以複製的大型計算模型才能從我們這個領域持續的研究改進中受益。如果微型計算機在20世紀晚期衰落了,而大型計算機取得了勝利,那麼我們很可能在談論小型獨立機器這一不可避免的死衚衕。

2.3. A lone GPU

雖然看起來很不理智,但我並不想使用雲中的某個集羣,在我做各種實驗時,看着美元從我的銀行賬戶中流出。因此,這裏的所有工作都是在一個單獨的GPU上完成的。次要的評估和模型的背殼實驗是使用輔助GPU完成的,同時在第一個GPU上繼續訓練。

我並不反對使用很多gpu,我覺得我可以有效地使用它們,但是我還沒有找到一種經濟有效的方法。朋友們主要建議在雲服務上使用免費積分——但這似乎是不可持續的。作爲一個獨立的研究人員,我擔心會失去計算能力,擔心自己會從陡峭的懸崖上摔下來,擔心自己腳下的魔毯會被扯下來,擔心自己的馬車會變成南瓜,還有其他相關的夜驚。也許我是不理智的,我應該抓住我可以得到的計算,而我可以得到它-但我知道,如果我失去這樣的計算,它將影響我的士氣和戰鬥精神。我也不相信我不能做得更好的少,這意味着我一定會做得更糟,更多。

如果我真的相信“某一年需要集羣來計算的東西,下一年就需要一臺消費機器”,那麼我也應該願意接受它——至少在某種程度上是這樣。無論如何,我所有最好的作品似乎都來自於相對較低的資源和創造力。這恰好也是保持長遠和開放心態的正確策略。如果我得到一種可能性的種子,這種種子運行良好,並且隨着更多的計算而蓬勃發展,那麼計算就會在那裏等着我。

可持續計算是我所追求的。不僅對我自己,而且因爲我真誠地相信,機器學習應該遵循迷你計算機的歷史,它們首先爲我們每個人提供了自己的設備。適當的夥伴關係,而不是零星的免費信貸,與實體從完成的工作中獲得價值。這些夥伴關係可以是個人或公司——更多的是關於一致的價值觀。我們需要一個機器學習的摩爾定律,它鼓勵一個微型計算機的未來,而不是大型機的未來。


3. Model architecture

模型架構是Merity等人(2018a) AWD-LSTM的升級。代碼有點可怕。我承認這一點。我很瞭解代碼庫,cruft不會讓我慢下來。就像《千年隼》裏的漢一樣,它是一堆垃圾,但它是一堆我知道怎麼飛的垃圾

在這篇論文之後,我計劃從頭開始重建代碼庫,既作爲他人的教育工具,也作爲學術界和工業界未來工作的強大平臺。

該模型由可訓練的嵌入層、一層或多層疊加的單頭注意遞歸神經網絡(SHA-RNN)和軟最大分類器組成。利用系權值進行嵌入和softmax分類器(Inanet al., 2016; Press & Wolf, 2016)。

該模型使用一個單一的注意力頭,它更接近於連續緩存(Grave et al., 2016)或指Pointer Sentinel(Merity et al., 2017),以及一個類似於變壓器的修正前饋層,我在內部將其稱爲臂架層。我也可以建議它是一個繁榮層給你太多的樂趣,我說過。爲什麼繁榮?我們取一個從小(1024)到大(4096)到小(1024)的向量。這其實並不難想象——如果需要的話,你可以一邊喊“boooOOOOmmm”一邊用手比劃比劃。

(博主注:Pointer Sentinel和AWD-LSTM都是Merity引用量很高的paper)

3.1. A simplified attention mechanism

許多受Transformer啓發的架構中使用的注意機制在構建中沒有順序性,並且有許多複雜的注意頭——每層有幾十個。人們可能會對此提出異議,因爲簡單總比複雜好。

這項工作中的注意機制被簡化有兩個原因。首先,有人知道我們需要多少注意力嗎(Shazeer, 2019)?第二,爲什麼我們把這麼多工作放在注意力層?我們能肯定這羣注意力所帶來的好處嗎?

只有一個single attention,我的記憶纔不會被耗盡。通過將內存寫入一次而不進行修改(即每一步不進行大的矩陣乘法),類似於連續緩存和指針標記模型,我們避免了大量的計算。生活更簡單了,玫瑰更香了,財富更好地在社會上分配了,你可以用最少的開銷無限地延長你的記憶窗口。

3.2. Boom layer

Boom layer在Transformers和其他結構中的大型前饋層有很強的相關性。不管出於什麼瘋狂的原因,我決定重新整理一下。該層採用v2 RH形式的向量,並使用與GeLU激活的矩陣乘法生成一個向量u2rn×H。然後我們把u分解成N個向量並把它們加起來,得到w2rh。與傳統的下投影層相比,這減少了計算量並刪除了整個參數矩陣。


4. Experiments

我們的工作主要是在字節級的enwik8數據集上進行的,儘管它引用了單詞級的數據WikiText-103數據集,用於討論標記化。

作爲WikiText-103的作者,現在可能需要用新的數據集替換它。這個數據集將再次以Wikipedia爲基礎,但將作爲一個常青的WikiText (EWT),包括它捕獲的實際內容和數據本身的構造。如果你想在任何層面上幫助Evergreen WikiText項目,無論是一個有語言技能的人,還是一個對我現有的tokenization 心懷仇恨的研究人員,一個有+ve目的的公司,還是一個善良的AGI, dx d實驗室都會接受你的幫助。

4.1. Hutter Wikipedia Prize (enwik8)

Hutter Prize Wikipedia數據集(Hutter, 2018),也稱爲enwik8,是一個字節級的數據集,包含Wikipedia XML轉儲的前1億個字節。對於我們的實驗,我們遵循一個標準設置,其中訓練集、驗證集和測試集分別由前90M、5M和5M字符組成。

雖然我認爲這個數據集需要更新,從2006年的數據,它有許多積極的。首先,以純文本形式出現在排行榜上的傳統壓縮的詳細歷史令人振奮。其次,缺少預處理,因此包含Wikipedia標記具有一些有趣的語言優勢。想知道汽車的名字是怎麼縮短的嗎?嗯,它提到了[[寶馬M1|M1]]超級跑車。Cobol是什麼?嗯,[[COBOL]]或[[APL編程語言|APL]]。Ordo-vikki什麼?[[奧陶紀-志留紀滅絕事件|結束奧陶紀]]。你怎樣把化學物質變成動詞?乙烯可以[[氯化氯化氯|]]生產…這樣的例子豐富了標記。

4.2. WikiText

Merity等人(2017)引入的WikiText-2 (WT2)和WikiText-103 (WT103)數據集包含了經過輕度預處理的維基百科文章,詞彙表是封閉的。詞彙表是通過分隔空格和標點符號來構建的,標點符號丟棄所有計數低於3的單詞。WT2和WT103數據集在訓練集中分別包含200萬和1.03億單詞。兩者都有由相同文本組成的20萬個驗證和測試集。由於Wikipedia的文章相對較長,並且集中於一個主題,因此捕獲和利用長期依賴關係是模型獲得良好性能的關鍵。

4.2.1. WORDPIECE WIKITEXT-103

由該數據集的愚蠢創建者發佈的WikiText數據集有一個封閉的詞彙表。這曾經是一個合理的想法——只有機器翻譯才使用單詞。

Wordpieces允許更小的模型,更好地利用model s參數,以及更好地實現語言本身的組合性。模型參數的利用是一個重要的概念。詞彙量越大,選擇一個給定的單詞就越困難(例如,用近似的softmaxes和softmaxes混合處理的問題),在給定上下文中訪問給定標記的參數的可能性就越小。

由於語言分佈的Zipfian性質,大多數單詞不會出現在大多數上下文中。這意味着,通過擴展,稀有單詞的參數在大多數情況下對模型沒用。這種罕見的參數也爲過度擬合提供了一個容易的機會。因此,這些token不僅佔用大量空間,而且很少被使用,而且在使用它們時可能會產生問題。

WikiText-103數據集已從267,735個標記的封閉詞彙錶轉換爲使用YouTokenToMe9 8000。


5. Results and analysis

5.1. SHA-RNN on enwik8

在對代碼庫進行切割之後生成以上結果令人滿意。遺憾的是,我並沒有達到最先進的結果,至少現在是這樣,只進行了很少的超參數探索。然而,與早期論文中許多仍在發展的Transformer模型相比,這些結果可能是最先進的。更具體地說,我認爲它們很好地證明了,我們在任務中使用的模型類型仍然存在競爭和多樣性——特別是在許多人使用的語言建模現在構成了預訓練的基礎領域的NLP任務。

對於給定的參數計數,SHA-RNN模型的性能非常好。LSTMs被迫主要通過遞歸來表達其隱藏狀態,從而限制了它們的表達能力。注意機制以及後來的SHA-LSTM層使用的鍵、值和位置信息也必須編碼到模型在每一層生成的h = 1024維向量中

在提交論文的前一天晚上,我決定再做一個實驗——它是一個單頭的注意力RNN,還是一個單頭的注意力RNN,在每個RNN層都有注意力?爲什麼不是兩個?

原來我開了個模棱兩可的玩笑。一個人的注意力幾乎可以獲得四層注意力的全部收益。單頭SHA-LSTM的另一個優勢是,每個epoch幾乎花費1800 1秒(30分鐘),而4頭SHA-LSTM花費4020秒(67分鐘)。由於內存使用量較低,該模型能夠使用16而不是8的批處理大小。訓練使用了25個epoch,後兩個佔用一半的學習率。

這就是我所說的另類研究歷史。如果我們在兩年前做這個單頭注意力實驗呢?如果我們在快速層標準化塊稀疏LSTMs上花費了我們的工程努力和實驗令牌呢?我在這裏不是要討論哪一種方法是正確的或者錯誤的,但簡單地說,作爲一個社區,我們已經走了一個特定的方向,不管有意還是無意。


6. Discussion

6.1. Tokenization attacks may break perplexity

作者注:本文首先給出了一個帶有不同記號的WikiText-103字組的結果。然而,實驗公式沒有正確地考慮歸一化常數,單詞詞彙的構造方式也沒有考慮到適當的比較10。未來的材料將致力於提供一個有約束的實驗來證明變化的標記化的影響。

當比較在數據集上訓練的具有不同標記的語言模型時,通常使用轉換過程。一些論文使用可逆的字塊標記器重新標記了字級數據集,如WikiText-103。然後根據每個測試數據集中的令牌數量對產生的perplexity進行重新規整(Mikolov et al., 2012;黃,唱,2017)。

例如,有一個公式可以將每個字符的比特(BPC)模型轉換爲字級複雜度

這樣的公式假定構成標記之間的熵相等,並且不考慮在語言建模過程中引入的信息。

熵在特徵上的分佈是不均勻的。傳統的實驗表明,在字符級模型中,熵主要集中在傳統分詞的前幾個字符上(Elman, 1990)。

可逆字元標記化的目的是平滑地將熵分佈到令牌上,進一步放大了與字元級模型的熵分佈差異。

例如,幾乎所有的單詞標記化都會將前綴和後綴從不同的單詞中分離出來,從而使單詞片段的構成更加平衡。再加上在訓練和考試中都存在的教師強迫,這可能會產生相當深遠的影響。

這種不均勻性被現代組件加劇,如注意機制,它可以有效地複製之前未知序列的發生,當正確的上下文切換(al - rfou et al., 2019)。這獎勵了那些允許早期上下文切換(即標記的第一個字符)並將高熵標記分解爲低熵標記序列的模型。

舉一個極端的例子,假設您正在嘗試猜測我的筆記本電腦(lolcats)的密碼。如果你試圖在我的筆記本電腦上輸入它,你只能在提交整個短語時得到反饋,而不是在單個字符上。

在密碼學中,定時攻擊是一種邊信道攻擊,在這種攻擊中,定時信號(用我們的話說,就是對操作的時間序列進行標記化)泄漏信息。由於我們已經在使用SHA-RNN了,並且與密碼術中的定時攻擊有粗略的比較,我們將其稱爲標記化攻擊。如果我們一次檢查一個字符,當字符不匹配時停止,我們知道我們的候選密碼有多少是正確的,並且可以在其餘的可能性中進行搜索。由於教師告訴攻擊者正確的令牌實際上是什麼(密碼以L開頭,而不是T),並且每個令牌揭示的信息要多得多,所以令牌化的情況更糟。

如前所述,自然語言的熵分佈是不均勻的,而精心設計的密碼應該始終保持接近恆定的熵。需要注意的是,這些標記化攻擊是我們的語言模型訪問和依賴側通道信息的自然結果,而研究人員可能沒有意識到他們正在提供這些側通道信息。深度學習是最終的意大利麪條代碼。你的模型會找出最糟糕的技巧,找到並利用每一個邊緣情況,把它弄得一團糟,然後欺騙你,讓你認爲它是有效的。符號化攻擊只是一個例子。

6.1.1. EXAMPLES OF TOKENIZATION ATTACKS

任何時候,你需要在專門化和專門化之間進行猜測,分別在訓練數據中出現1091次和430次,對於一個詞級模型來說,你將會得到一個比你的詞級模型將它們分解成專門化或類似的更大的困惑。在注意力機制的強烈幫助下,複製單詞和命名實體時也是如此。如果我們回答誰被殺了?鄧布利多還是甘道夫?對於單詞級模型,我們只有一個猜測。一個單詞模型有一個巨大的優勢,然而,熵可能主要加載在第一個標記(Dumbledore)上。

6.2. Improvements: easy in theory, hard in practice

雖然我們處在深度學習框架的黃金時代,但我們仍然有一些基本的限制需要我們去考慮。

定製的高性能組件仍然很難編寫。例如,如果不擔心在出血的邊緣上切開動脈,仍然很難編寫快速的LSTM內核。在層規範化、塊稀疏權值等方面,還沒有經過調優並得到廣泛支持的實現。NVIDIA還沒有在他們的cuDNN包中爲許多SotA發佈LSTM的新變種。

混合精度(即fp16)仍然是一個噩夢,即使有一個相對可愛的庫或框架來處理許多問題。NVIDIA Apex圖書館值得我手寫一張感謝信,但它仍然是一層薄薄的裝飾,上面是一桶冒泡的酸。由於這些原因,以及主要作者是懶惰又無效兩者兼而有之,SHA-RNN的實現在低級別和高級別上的效率可能更高。

雖然這在本文中只是一個小悲劇,但更廣泛的悲劇與之前的歷史交替討論有關。成功的方法在學術改進和實踐中都得到了優先考慮。這在多大程度上決定了我們這個領域的進展?我們怎樣才能使野外實驗更容易得到我們這個領域的知識和實踐工具的支持?

如果我使用一層標準化的LSTM12,它已經被證明在字節級別上比壓縮設置中的轉換器工作得更好(Bellard, 2019),我們會看到更大的跳躍嗎?這是一個很重要甚至是很重要的問題,但如果你敢於提出這個問題,你就不僅是在與研究的趨勢作鬥爭,也是在與工程的趨勢作鬥爭。一個方向的戰鬥已經夠累人了,更不用說兩個方向了。

6.3. Minimum Trust LAMB

爲了提高收斂性,我們使用LAMB優化器(You et al., 2019)。LAMB優化器主要用於殘餘層標準化網絡(如Transformer體系結構),但當層不是殘餘時,它似乎無法收斂於模型(如SHA-RNN)。爲了處理這個問題,我們向LAMB優化器引入了最小信任,以確保在每個pass13上取得的進展最少。對於所有實驗,我們將最小信任比設置爲0:25。

6.4. Over-paramaterizing static learned vectors

在開發過程中我犯了錯誤。許多錯誤。錯誤太多了。我發現更讓我擔心的是,在我作爲一名職業神經網絡推手的歷史中,我犯過無數的錯誤,而這些錯誤最終幫助了我。在這一節中,我將首先描述錯誤,然後把它寫得好像我一直都打算用我的直覺來做它爲什麼會有幫助。如果你打算向會議提交學術論文,最後一部分尤爲重要。

對於注意力的傳遞,我想讓模型有機會忽略向量空間的某些部分。這將是很重要的,因爲向量的一部分可能會被保留爲LSTM(本地信息),而向量的其他部分可能會被保留爲長期關注(全局信息)。最簡單的方法是將給定的向量o乘以一個sigmoid(即從0到1)掩模m。o·m.看起來很簡單。嗯,我犯了個錯誤,不小心讓m通過了QRNN——如果你沒有跟上我在Salesforce時代的研究,它基本上是LSTM的一個快速版本。這種情況持續了很長一段時間。

好消息是它本質上應該是一個空操作!一個瘋狂的大矩陣乘法的m,然後是tanh激活,其中只有部分結果是公開感謝另一個大矩陣乘法後,一個乙狀結腸!最後,這只是一個無聊的向量作爲輸出-因此,如果你簡單地設置m = QRNN(m),那麼你會得到完全相同的結果。

幾乎是這樣,因爲這適用於靜態模型,但如果我嘗試訓練它沒有這個奇怪的QRNN初始化結果更糟。自慰嗎?的確是我的敏銳的讀者。我有理論,但我從來沒有真正量化所有的理論,只有猜測。然而,在宏大的學術傳統中,讓我們假設我一直打算這麼做。

在許多複雜的深度學習系統中,存在v2 RH形式的靜態學習向量,其中H爲模型s維。這些靜態學習向量在訓練過程中會發生移位,但在生產過程中是固定的。它們通過在初始隱藏狀態、門控機制等方面的使用與數百萬或數十億動態生成的向量交互,以優化特定的目標。這導致了一個複雜的優化景觀,低維和無歷史的15向量是無法處理的。

如果我們有固定的輸入(也就是說,我們可以固定與這些向量交互的動態生成的向量),那麼通過優化整個數據集就可以獲得最佳的靜態向量。在小批量的情況下,我們期望靜態學習向量的值在訓練過程中可能會發生巨大的偏差,在整個數據集中收斂到一個最優的穩定值之前,需要許多時間和一個衰減的學習率。

然而,在複雜的深度學習系統中,我們沒有固定的輸入。在訓練過程中,我們學習的向量與動態生成的向量相互作用,改變整個系統的優化軌跡的靜態學習向量沒有歷史方面的任何先前的優化會立即丟失,放大在訓練中看到的潛在的野生偏差,並阻止穩定的訓練。

通過對靜態學習向量進行參數化,我們可以爲這些低維度實體提供歷史的一個方面。與破壞性地修改值不同,模型現在可以選擇通過改變模型、初始向量或sigmoid門中的權重來更改最終值。

一個簡單的例子想象有兩個最優值在最優訓練——零矢量z和麪具m。如果我們只是學習正確的乙狀結腸蓋茨g這樣的輸出是m·g模型可以跳(每個模型重量更新)輸出零向量和輸出面具向量之間無需從頭開始重新學習的價值。歷史被存儲在m中,並由只改變g的模型保護。

這對於複雜的模型來說是一個巨大的過度簡化,

6.5. So you’re saying Transformers are useless?

等待,真的嗎?我可沒說過類似的話!在很多情況下,擁有18個百萬注意力頭可能是最好的選擇。任何涉及最小或不確定順序的情況都突然嚴重地傾向於多頭注意力方法。然而,我們確定要朝着這個方向努力嗎?有沒有可能我們開始支付一項從未明確的複雜性稅?

如果說我的方法有什麼不同的話,那就是它只是表明,有許多不同的途徑,都是可行的,可以解決我們面臨的任務。沒有一種單一的架構可能會無限期地接管世界,或成爲解決我們所有問題的最佳方案。對於語言建模的任務,我提交了SHA-RNN作爲對重複的和過度的Transformer暴露的解決方案。也許我們太急於拋棄過去的模式時代,只是因爲一個新的進展。

也許我們太專注於現有的墊腳石而無法回頭,反而發現自己被困在一條既定的道路上。

不管我們是否有意識地提出這些問題,作爲一個社區,我們仍然在積極地做出這些決定。我們所做的每一個決定,以及我們所拋棄和建立偏見的每一個簡單的解決方案,都可能決定我們的道路。


7. Conclusion

單頭注意神經網絡(SHA-RNN)幾乎不需要超參數調整就能獲得很好的效果。即使這個架構沒有流行起來,它仍然顯示出模型性能和注意力頭之間的交互作用並不像我們所猜測的那樣清晰。我們希望LSTMs還沒有死。這種說法是否仍然正確,既是一個研究問題,也是一個工程問題。

如果SHA-RNN真的流行起來,它可能會成爲模型蒸餾技術的基礎,或者在不久的將來被訓練成一個可怕的戰場,戰場上有瘋狂的布偶和變形汽車。我們也介紹了一個記號攻擊的概念,並說明了爲什麼不同的記號攻擊方案在考慮教師強迫時可能會阻止模型之間的直接比較。


Acknowledge

這項工作幾乎完全運行在一個孤獨的泰坦V GPU由英偉達捐贈給我的前一段時間。乍一看,泰坦5似乎比《我的世界》中隨機生成的世界所包含的黃金更多。我還想讚揚Adaptive Transformer (Sukhbaatar et al., 2019),因爲它是少數幾個基於Transformer的架構之一,可以在一個GPU上在幾小時內獲得強大的結果。感謝Bryan McCann、Yaroslav Bulatov、Otavio Good和其他人進行了長時間的討論,討論了在改變記號化時困惑分數的重整化。作者還搬到了舊金山的一套一居室公寓,遠離了充滿可疑氣味和令人討厭的噪音的小巷。

發佈了261 篇原創文章 · 獲贊 142 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章