0
本文作者: MrBear | 編輯:幸麗娟 | 2019-06-03 11:01 | 專題:ICLR 2019 |
雷鋒網(wǎng) AI 科技評論按: 作為某種程度上的技術黑盒,神經(jīng)網(wǎng)絡的諸多工作原理仍然有待探索。年初,F(xiàn)rankle 和 Carbin 的論文「 The Lottery Ticket Hypothesis:Finding Sparse,Trainable Neural Networks」提出了一種生成稀疏的高性能網(wǎng)絡的簡單方法,可以有效進行網(wǎng)絡剪枝,這一突破性進展也讓這篇論文成為 ICLR 2019 最佳論文的得主之一。在本文,Uber AI 研究院對這一「彩票假設」成果進行了深度解構,意外得到了具備強大剪枝能力的通用「超級掩?!?/span>(Supermask)!雷鋒網(wǎng) AI 科技評論編譯如下。
在 Uber,我們利用神經(jīng)網(wǎng)絡從根本上提升我們對城市中的人和物的運動的理解。在其他用例中,我們使用神經(jīng)網(wǎng)絡,通過自然語言模型來加速客戶服務響應速度,并通過跨城市需求的時空預測來縮短用戶等待時間。在此過程中,我們已經(jīng)開發(fā)出了相應的基礎設施來擴展模型的訓練并支持更快的模型開發(fā)。
盡管神經(jīng)網(wǎng)絡是強大且被廣泛使用的工具,但它們的許多微妙的屬性仍然鮮為人知。隨著世界各地的科學家在理解網(wǎng)絡的基本屬性方面取得的重要進展,Uber AI 的大部分研究也在這個方向上迅速跟進。相關工作包括評估內(nèi)在的網(wǎng)絡復雜性,尋找更自然的輸入空間以及揭示流行模型中的隱藏缺陷。
我們最近發(fā)布了一篇論文「Deconstructing Lottery Tickets: Zeros, Signs, and the Supermask」(https://arxiv.org/abs/1905.01067),就旨在揭開神經(jīng)網(wǎng)絡神秘的面紗。我們基于 Frankle 和 Carbin 提出的引人關注的「彩票假設」展開這項研究。他們的工作展示了一個非常簡單的算法刪除其較小的權重并進行重訓練,可以在性能與全網(wǎng)絡相當?shù)拇笮途W(wǎng)絡中找到稀疏的可訓練子網(wǎng)絡或「彩票」,給很多研究者帶來了驚喜。然而他們(和通常發(fā)生在出色的研究中的情況一樣)提出了與它們回答的問題一樣多的問題,而且也尚未很好地理解許多底層的機制。我們的論文提出了對這些機制的解釋,揭示了這些子網(wǎng)的有趣的特殊模式,引入了與「彩票」算法相競爭的變體,并獲得了意外發(fā)現(xiàn)的衍生品:「超級掩?!?。
首先,我們簡要總結 Frankle 和 Carbin 的論文「 The Lottery Ticket Hypothesis:Finding Sparse,Trainable Neural Networks」(https://arxiv.org/abs/1803.03635),論文標題簡寫為「LT」。在本文中,作者提出了一種生成稀疏的高性能網(wǎng)絡的簡單方法:在對網(wǎng)絡進行訓練后,將所有小于某個閾值的權重設置為「0」(對其進行剪枝),將其余權重重置回其初始配置,然后在保證被剪枝的權重處于凍結狀態(tài)的情況下(未經(jīng)過訓練),從這個起始配置重新訓練網(wǎng)絡。通過使用這種方法,他們得到了兩個有趣的結果。
首先,他們證明了剪枝后的網(wǎng)絡性能良好。經(jīng)過深度剪枝的網(wǎng)絡(剪掉了 95% 到 99.5% 的權重)與規(guī)模較大的未經(jīng)剪枝的網(wǎng)絡相比,性能并沒有下降。此外,僅僅被適度剪枝的網(wǎng)絡(剪掉了 50% 到 90% 的權重)的性能往往還優(yōu)于未剪枝的競爭模型。
其次,除了這些讓人眼前一亮的結果,剩余網(wǎng)絡的結構和權重的特征同樣有趣。通常情況下,如果你使用經(jīng)過訓練的網(wǎng)絡,通過隨機權重對其重新進行初始化,然后重新訓練它,其性能將與之前大致相當。但是對于精簡的骨架彩票(LT)網(wǎng)絡來說,這個特性并不成立。只有當網(wǎng)絡重新回到其初始狀態(tài)時(包括使用的特定初始權重),網(wǎng)絡才能很好地訓練。用新的權重重新初始化會導致訓練效果不佳。正如 Frankle 和 Carbin 的研究所指出的那樣,剪枝掩模的特定組合(對于每個權重來說,顯示是否刪除該權重的 0-1 值)和掩模之下的權重構成了一個在更大的網(wǎng)路中找出的幸運子網(wǎng)絡。或者正如最初的研究中所命名的那樣,這是一個通往勝利的「彩票」模型。
我們發(fā)現(xiàn)這個例子很有趣,因為所有人都不知道為什么會出現(xiàn)這樣的結果。LT 網(wǎng)絡是如何使它們表現(xiàn)出更好的性能?剪枝掩模和初始權重集合為何如此緊密的耦合,而重新初始化的網(wǎng)絡較難訓練?為什么直接選擇較大的權重是選擇掩模的有效標準?其它創(chuàng)建掩模的標準是否也有效呢?
在開始調(diào)查研究時,我們觀察了一些需要解釋的奇怪現(xiàn)象。在訓練 LT 網(wǎng)絡時,我們觀察到許多重置的、用掩模處理過的網(wǎng)絡的準確率可能明顯高于初始化。也就是說,對未經(jīng)訓練的網(wǎng)絡應用特定掩模會得到一個部分工作的網(wǎng)絡。
這可能會讓人感到意外,因為如果你使用一個隨機初始化的、未經(jīng)訓練的網(wǎng)絡來進行諸如對 MNIST 數(shù)據(jù)集(https://en.wikipedia.org/wiki/MNIST_database)中的手寫數(shù)字進行分類的任務,你會發(fā)現(xiàn)這樣得到的準確率并不比隨機運行要好(準確率大約為 10%)。但是現(xiàn)在,假設你將網(wǎng)絡權重與一個僅僅包含「0」、「1」的掩模相乘。在這種情況下,權重要么維持不變,要么完全被刪除,但最終得到的網(wǎng)絡現(xiàn)在就可以達到近 40% 的準確率了!這很奇怪,然而在使用選擇具有較大最終值權重的 LT 論文中的步驟(我們稱之為「large final」的掩模準則)來應用創(chuàng)建好的掩模時,確實發(fā)生了這樣的情況:
圖 1:未經(jīng)訓練的網(wǎng)絡隨機運行的結果(例如,如圖所示,在 MNIST 數(shù)據(jù)集上的準確率為 10%),如果這些網(wǎng)絡被隨機初始化、或隨機初始化并被隨機地進行掩模處理。然而,應用 LT 掩模會提高網(wǎng)絡的準確率,使其超過隨機的情況。
我們將具備「可以在不訓練底層權重的情況下,立即生成部分工作的網(wǎng)絡」的特性的掩模稱為超級掩模(Supermask)。
如圖 1 所示,在隨機初始化網(wǎng)絡和帶有隨機掩模的隨機初始化網(wǎng)絡中,權重和掩模都不包含任何關于標簽的信息,因此其準確性不一定能比隨機的情況更好。在具有 LT「large final」掩模的隨機初始化網(wǎng)絡中,得到優(yōu)于隨機情況的性能并非不可能,因為掩模確實是在訓練過程中產(chǎn)生的。但這還是有些出乎意料,因為從訓練回傳到初始網(wǎng)絡的唯一信息是通過「0-1」掩模傳輸?shù)?,并且應用掩模的標準只是選擇有大最終值的權重。
那么,為什么我們認為,只需應用 LT 掩模就可以大大提高測試的準確率呢?
LT 論文中實現(xiàn)的掩模運算過程將執(zhí)行兩個操作:將權重設置為零,以及凍結這些權重。通過確定這兩個部分中的哪一個會提高訓練好的網(wǎng)絡的性能,我們還發(fā)現(xiàn)了未經(jīng)訓練網(wǎng)絡的這種獨特性能的底層原理。
為了分開上述兩個因素,我們進行了一個簡單的實驗:我們復現(xiàn)了 LT 迭代剪枝實驗,其中網(wǎng)絡權重在交替的「訓練/掩模/重置」的循環(huán)中被掩模處理,但我們還嘗試了其它的處理方式:將「零掩?!固幚淼臋嘀貎鼋Y為其初始值,而不是將其凍結為零。如果零不是特殊的,那么這兩種方法得到的性能應該相似。我們遵循 Frankle 和 Carbin(2019)的做法,在 CIFAR-10 數(shù)據(jù)集上訓練三個卷積神經(jīng)網(wǎng)絡(CNN),Conv2,Conv4 和 Conv6(具有 2/4/6 卷積層的小型 CNN,這與 LT 論文中使用的相同)。
下方圖 2 為實驗結果,通過剪枝操作(或者更準確地說:「凍結為一定的值」)將左側的未剪枝的網(wǎng)絡修改為右側的修剪后的網(wǎng)絡。水平黑線表示原始未剪枝網(wǎng)絡五次運行的平均性能。此處和其他圖中的不確定性代表五次運行中的最小值和最大值。藍色實線代表使用將剪枝后的權重設置為零并凍結它們的 LT 算法訓練的網(wǎng)絡。藍色虛線則代表使用沒有將剪枝權重凍結成其初始值的 LT 算法訓練的網(wǎng)絡:
圖2:當在 CIFAR-10 數(shù)據(jù)集上測試上述的三個卷積神經(jīng)網(wǎng)絡時,我們發(fā)現(xiàn)具有被凍結為其初始值的剪枝后權重的網(wǎng)絡的準確率比具有被設置為零的剪枝后權重的網(wǎng)絡的準確率明顯要低一些。
我們看到,當權重被特意凍結為零而不是隨機初始值時,網(wǎng)絡的表現(xiàn)更好。對于通過 LT「final large」標準進行掩模處理的這些網(wǎng)絡,當它們具有小的最終值時,將權重設置為零似乎是非常好的選擇。
那么為什么零是理想的值?一種假設是,我們使用的掩模標準傾向于將那些趨向于零的權重通過掩模處理為零。為了驗證這個假設,讓我們考慮一種新的凍結方法。我們在前兩個實驗之間插入另一個實驗:對將要被凍結的任意權重,如果它在訓練過程中趨向于零,我們會將它凍結為零;而如果它逐漸遠離零,那么我們將它凍結為其隨機初始值。結果如下面的圖 3 所示:
圖3:根據(jù)權重在訓練期間移動的方向,有選擇性地將權重凍結為其初始值或零,會得到比將所有權重一律初始化為零或其初始值更好的性能。
我們看到這種處理方法的性能比將所有權重凍結為零或初始值更好!這印證了我們的假設,即將值凍結為的性能較好,是由于這些值無論如何都會趨向于零的事實。如果了解關于為什么「final large」掩模標準偏向于選擇那些趨向于零的權重的深入討論,請參閱我們的論文(https://arxiv.org/abs/1905.01067)。
因此,我們發(fā)現(xiàn)對于某些諸如「large final」的掩模標準,掩模是在訓練中得出的:掩模操作傾向于將權重朝著它們在訓練時移動的方向移動。
這同時解釋了為什么存在「超級掩?!梗㈤g接說明其它的掩模標準可能會得到更好的「超級掩?!梗ㄈ绻鼈兡軆?yōu)先將在訓練中趨向于為零的權重掩模為零)。
現(xiàn)在我們已經(jīng)對原始的 LT 掩模標準「large final」表現(xiàn)出色的原因進行了探索,那么我們不妨想想還有什么其它的掩模標準也會有很好的性能?!竘arge final」標準保留具有較大最終值的權重并將其余權重設置為零。我們可以將這種剪枝標準和許多其它的標準視為將二維(w i =初始權重,wf =最終權重)空間劃分為對應于應該保持的權重(「1」掩模)與應該剪枝的區(qū)域(「0」掩模)。工作原理如圖 5 所示:
圖 5:不同的掩模標準可以被認為是將(wi,wf)空間分割成與掩模值「1」或「0」相對應的區(qū)域。橢圓以動畫的形式表示出某給定層的正相關的初始值和最終權重占據(jù)的區(qū)域。圖中的掩模對應于LT論文中使用的「large final」標準:保持具有大的最終值的權重,并且對具有接近零的最終值的權重進行剪枝。請注意,此標準忽略了權重的初始值。
在上一部分中,我們展示了一些證據(jù)來支撐下面的假設:將已經(jīng)趨向于零的權重設置為零會得到很好的網(wǎng)絡性能。該假設表明,如果他們遵循這一基本規(guī)則,這對其它的掩模標準可能也有效。其中一個此類掩模標準是:優(yōu)先保持那些移動得離零最遠的權重,我們可以將其寫為評分函數(shù) |wf|-|wi| 的形式。我們將此標準稱為「magnitude increase」,并將其與其他標準一起表示為圖 6 中的條件控制示例,如下所示:
圖 6:從 LT 論文中出現(xiàn)的「large final」標準開始,從左到右依次為本研究中考慮的八個掩模標準。我們給出了用來指代各種方法的名稱以及將每個(wi,wf)對投影到一個分數(shù)上的公式。我們保留具有最高分數(shù)(彩色區(qū)域)的權重,并且對具有最小分數(shù)(灰色區(qū)域)的權重進行剪枝。
這種「magnitude increase」標準與「large final」標準一樣有效,在某些情況下明顯還要更好一些。對于全連接(FC)和 Conv4 網(wǎng)絡,所有標準的結果如圖 7 所示;要想了解其他網(wǎng)絡的性能結果,請參閱我們的論文(https://arxiv.org/abs/1905.01067)。作為對比基線,我們還顯示了使用隨機剪枝標準得到的結果,該標準直接選擇具有所需的剪枝百分比的隨機掩模。請注意,八個標準中的前六個標準形成了三對相反的情況:在每種情況下,我們看到當該對中的一個成員比隨機基線表現(xiàn)更好時,相對的另一個成員的性能就比隨機基線更差。
圖 7:兩個網(wǎng)絡的準確率與剪枝百分比的測量結果,MNIST 數(shù)據(jù)集上的全連接網(wǎng)絡(左圖)和 CIFAR-10 數(shù)據(jù)集上的 Conv4 網(wǎng)絡(右圖)。表明多個掩模標準——「large final」,「magnitude increase」,以及另外兩個標準,確實優(yōu)于黑色的隨機剪枝基線。在Conv4網(wǎng)絡中,「magnitude increase」的性能提升大于其他掩模標準; 星號標記出了「large final」和「magnitude increase」之間的差異在 p = 0.05 的水平上具有統(tǒng)計顯著性的情況。
通常而言,我們觀察到,那些傾向于保留具有較大最終值的權重的方法能夠發(fā)現(xiàn)高性能子網(wǎng)絡。
我們已經(jīng)探索了各種方法,用來選擇應該對哪些權重進行剪枝以及應該將剪枝后的權重設置為何值。現(xiàn)在,我們將考慮應該將保留下來的權重設置為何值。特別是,我們想研究 Frankle 和 Carbin(2019)的工作中一個有趣的觀察結果,該結果表明,當你將其重置為原始初始值時,經(jīng)過剪枝的骨架 LT 網(wǎng)絡可以很好地進行訓練。但是,當你隨機重新初始化網(wǎng)絡時,訓練的性能會降低。
為什么重新初始化導致 LT 網(wǎng)絡訓練不佳?初始化過程中的哪些因素很重要呢?
為了找到問題的答案,我們評估了一些重新初始化了的變體。
「Reint」實驗:基于原始的初始化分布重新初始化保留的權重。
「Reshuffle」實驗:在遵循該層中剩余權重的原始分布的情況下進行重新初始化,這是通過重新調(diào)整保留下來的權重的初始值來實現(xiàn)的。
「Constant」實驗:通過將剩余權重值設置為正或負的常量來重新初始化,將常量設置為每層的原始初始值的標準差。
所有重新初始化實驗都是基于相同的原始網(wǎng)絡實現(xiàn)的,并使用了「large final」掩模標準和迭代剪枝。我們將原始 LT 網(wǎng)絡(權重重置,使用了 large ginal 標準)和隨機剪枝網(wǎng)絡作為對比基線。
我們發(fā)現(xiàn)這三種變體中沒有一種能夠像原始 LT 網(wǎng)絡那樣進行訓練,如下圖 8 中的虛線所示:
圖 8:我們展示了測試準確率與兩個網(wǎng)絡的剪枝百分比,全連接網(wǎng)絡(左圖)和 Conv4 (右圖),同時使用不同的重新初始化方法。在遵循符號一致性的那些與不符合符號一致性的初始化方法之間的明顯的性能區(qū)別表明,保留權重的特定初始值并不像它們的符號那么重要。
然而,當我們通過確?!笧楸A粝聛淼臋嘀刂匦路峙涞闹蹬c其原始的初始值具有相同符號」來控制符號的一致性時,所有三種變體都能取得更好的性能。圖 8 中顯示的純色實線說明了這種情況。顯然,使得所有變體的性能都比隨機情況更好的共同要素(包括原始的「重置」方法)就是符號!這表明只要你保持符號一致,重新初始化就不會損害模型的性能。事實上,只要我們沿用原始的符號,即使直接將所有保留的權值設置為常量也能得到很好的模型效果!
在文章的開頭,我們介紹了「超級掩?!?/span>的概念,它是二值掩碼,當應用于隨機初始化網(wǎng)絡時,無需進行額外的訓練即可得到比隨機情況更高的測試準確率。我們現(xiàn)在將注意力轉而投向尋找可以得到最佳的「超級掩?!沟姆椒ā?/span>
我們可以評估圖 7 中所示的相同剪枝方法和剪枝百分比,來查看「超級掩模」的潛能。我們還可以考慮為生成「超級掩模」而優(yōu)化的其它掩模標準?;趯?nbsp;LT 權重的初始符號的重要性的觀察以及使權重接近其最終值的想法,我們引入了一個新的掩模標準,該標準選擇具有大的最終值的權重,該權重也在訓練的最后保持相同的符號。這種方法被稱為「large final, same sign」,如圖 9 所示。我們還添加了「large final, same sign」作為條件控制案例,它會尋找在訓練結束時符號有所改變的權重。
圖9:「large final, same sign」的掩模標準在本研究中得到了性能最好的「超級掩?!埂Ec圖 5 中的「large final」掩模相反,請注意該標準對 wi 和 wf 符號不同的象限進行了掩模運算。
通過使用「large final, same sign」的簡單掩碼標準,我們可以創(chuàng)建在 MNIST 數(shù)據(jù)集上獲得性能卓越的具有 80% 測試準確率的網(wǎng)絡。在不進行訓練的情況下,可以在 CIFAR-10 數(shù)據(jù)集上獲得 24% 的測試準確率。另一個奇妙的觀察結果是,如果我們將掩模應用于有符號常數(shù)(如上一節(jié)所述)而不是實際的初始權重,我們可以在 MNIST 數(shù)據(jù)集上得到高達 86% 的更高的測試準確率,在 CIFAR-10 數(shù)據(jù)集上得到 41% 的測試準確率。
圖 10:我們評估了應用各種掩模時,在 MNIST 數(shù)據(jù)集上單個全連接網(wǎng)絡的初始條件下(沒有經(jīng)過訓練)得到的準確率。X 軸代表網(wǎng)絡中剩余權重的百分比;所有其余的權重都被設置為零。「large final, same sign」的掩碼可以創(chuàng)建性能遠高于其他方法的「超級掩?!?。請注意,除了為繪制此圖生成不確定帶的五次獨立運行之外,繪圖上的每個數(shù)據(jù)點都使用了相同的底層網(wǎng)絡,只不過應用了不同的掩碼。
我們發(fā)現(xiàn)這樣的「超級掩模」是存在的,并且可以通過這樣簡單的標準找到它是非常有趣的。除了是一個科學上的有趣發(fā)現(xiàn),這還可能對遷移學習和元學習產(chǎn)生影響——可以對網(wǎng)絡進行近似求解。例如,只需使用不同的掩碼,就可以求得 MNIST 輸入像素的任何排列和輸出類的排列。它們還為我們提供了一種網(wǎng)絡壓縮方法,因為我們只需要保存二值掩碼和單個隨機種子就可以重建網(wǎng)絡的全部權重。
如果你想了解我們能夠在多大程度上提升這些「超級掩模」的性能,請參閱我們的論文(https://arxiv.org/abs/1905.01067),在論文中我們嘗試了直接對它們進行訓練的方法。
via https://eng.uber.com/deconstructing-lottery-tickets/ 雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。