3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
原文來源:arXiv作者:El Mahdi El Mhamdi、Rachid Guerraoui、Sébastien Rouault(瑞士洛桑聯邦技術研究所)「機器人圈」編譯:嗯~阿童木呀、多啦A亮導語:2016年8月3日,IBM官方宣布了首個人造神經元,可用於製造高密度、低功耗的認知學習晶元。IBM瑞士蘇黎世研究中心製成了世界上第一個人造納米尺度隨機相變神經元。同時,谷歌也在瑞士成立了美國本土之外最大的工程師辦公中心,專註於機器學習。可以說,瑞士已經成為歐洲在機器學習領域最重要的陣地之一。近日,來自EPFL(瑞士洛桑聯邦技術研究所)的三名研究員就針對神經網路、神經元晶元,以及其魯棒性展開了論證和研究。我們一起來看看。現如今,隨著基於神經網路的機器學習的迅速發展及其在關鍵任務應用中的廣泛使用,關於神經網路黑箱方面的質疑越來越多,這主要是因為了解其局限和功能變得至關重要。隨著神經元硬體的興起,了解神經網路作為分散式系統是如何容忍其在計算節點、神經元及其通信通道和突觸的故障變得更為關鍵。在實驗中,我們對神經網路的魯棒性進行的評估,在所有可能的輸入中,對所有可能的故障進行測試的不切實際性,這最終會在第一個的組合爆炸中產生;以及在第二步中收集所有可能輸入的不可能性。在本文中,當神經元的一個子集崩潰時,我們證明出了輸出的預期誤差的上限。這個上限涉及對網路參數的依賴性,在平均情況下可以將其看作是太過悲觀。它涉及對神經元激活函數的Lipschitz係數的多項式依賴性,以及對發生故障的層深度的指數依賴性。我們通過實驗證明了我們的理論成果:我們的預測與網路參數和魯棒性之間的依賴關係相匹配。我們的研究結果表明,神經網路對平均崩潰的魯棒性是可以估計出來的,而不需要對所有故障配置進行網路測試,也不需要訪問用於訓練網路的訓練集,而這兩者也幾乎都是不可能的要求。介紹在V. Mnih和K. Kavukcuoglu等人所著的《通過深度強化學習進行人為控制》中提到的在圍棋比賽中擊敗世界冠軍;在K. He和X. Zhang等人所著的《在整流器中的深入研究:在imagenet分類中超越人類性能》中提及的用超人類精確識別圖像;或者最近,A. Esteva和B. Kuprel等人所著的《用深度神經網路進行皮膚癌的皮膚科—皮膚科分級》中提及的用皮膚科醫師的精度診斷皮膚癌,在過去十年中,之所以能夠在機器學習和人工智慧領域取得如此多令人印象深刻的進展都是因為神經網路的使用。最初,這一點是從F. Rosenblatt所著的《感知器:大腦信息存儲和組織的概率模型》中提及的自然神經系統工作原理獲得的啟發,一個神經網路是一個數學對象,它具有突出但尚不十分了解的計算能力。今天,大多數實現都將神經網路視為一個軟體,一個僅能在圖靈機進行數學抽象模擬。無疑,這導致了一個計算瓶頸,因為從離散的數字計算到連續的模擬計算,每次軟體(模擬一個神經網路)都會查詢硬體並得到結果。擴展機器學習範疇的途徑之一就是使用一種不受上述瓶頸影響的新型硬體。神經元硬體的最新進展帶來了這樣的解決方案,它超越了馮•諾依曼範式(依靠邏輯電路)並且使用本身就是神經網路的電子晶元。一年前,IBM團隊報告了一個成功的關於神經網路的神經元實現,它需要運行功率低至從25 mW至275 mW,只有這樣才能在一台經典電腦上執行需要數量級的圖像識別任務。IBM蘇黎世研究中心製成了世界上第一個人造納米尺度隨機相變神經元現如今,神經網路被認為是關鍵和安全敏感領域的應用,如飛行控制、雷達或自動駕駛。如果一個人還不能闡明神經網路的所有工作原理,那麼至少應該保證他們對故障的魯棒性,以便安全地使用它們。為了實現魯棒性,我們可以將整個神經網路視為一個單一的軟體,在幾台機器上複製這一部分,並使用經典的狀態機複製機制來增強副本的一致性。在這種情況下,沒有一個神經元被認為是獨立的:出現故障的單位是承載網路的整個機器。這種粗粒度的方法是最近關於機器學習中魯棒性研究的成果之一。然而,強制整個網路在單個機器上運行顯然妨礙了如上所述的可擴展性。其實,我們還可以將神經網路的嚴格子集視為不同的軟體,每個軟體都在一個圖靈機上運行。在這種情況下,仍然可以應用經典複製方案,但是必須面對常見的分散式計算問題,例如,處理在網路子集之間交換消息的同步性問題,甚至分佈在機器上的網路子集,其計算仍然會面臨上述的馮•諾依曼瓶頸問題:仍然使用布爾電路模擬神經網路的模擬和連續計算。神經元硬體的可擴展性如果想要進一步發展,就需要將每個神經元考慮為可以獨立出現故障的單個物理實體,即真正分散式神經網路。在這種情況下,故障單位是單個神經元或突觸,而不是整個機器。事實上,關於圍繞神經元硬體效率的熱情探討並不是一種未來主義的炒作。這種類型的硬體已經在敏感應用中使用,其中,單個神經元故障的魯棒性具有至關重要的作用。截至2017年1月,美國空軍承認使用IBM腦晶元,這種晶元的功耗比傳統的軍用應用計算機低20到30倍。這一點毫不奇怪,因為該晶元是由神經形態電路製成的。現在,為了舉例說明這個問題,我們想在衛星上發送一個由150個神經元(相當小的數量)組成的神經元晶元,並且我們希望它(至少)運行10年。那麼我們假設,由於太陽輻射,我們預計在未來這10年裡,最多有50個神經元的損失。顯然,遭到損失的神經元將通過某些輸入相關演算法函數,以改變每個輸入的晶元輸出,而且如果對於某些輸入演算法來說,如果輸入的相關演算法值太大,那麼出於其應用目的考慮,晶元可能變得沒有用處或是相當危險。因此,在確定晶元有用性或安全性之前,我們必須獲得每個可能的輸入的經相關演算法計算后的結果,或至少用max函數來獲得這些輸入演算法的上限結果。在沒有理論保證的情況下,我們將不得不對150個神經元和每個可能的輸入之間的50個神經元的可能組合進行測試。在我們的示例中,所代表的這些不同的神經網路,其後將必須用於測試每一個可能的輸入。如果對上述IBM晶元執行安全評估,其中包含一百萬個神經元,測試將需要比可觀察宇宙中的原子更多的執行操作還多(10的80次方級)。這促使需要有一個理論上可靠的魯棒性保證,不需要不切實際的測試。傳統上,我們認為神經網路是具有魯棒性的,因為神經元的故障常常會地降低其精度,並且這種降低可以通過額外的學習階段來進行補償。據我們所知,在單個神經元水平上的故障研究主要是實驗性的,或者當包含理論分析時,它側重於界定單個神經元的損失或考慮到附加學習時的成本所帶來的影響。眾所周知,通過額外的學習階段,神經元的故障性是可以容忍的。然而,對於關鍵的實時應用來說,停止一個神經網路並啟動額外的學習階段是不可想象的。其實我們還可以預先考慮特定的學習計劃(先驗),使其能夠容忍故障(后驗),例如在學習期間關閉部分網路,以便應對運行時的dropout。然而,沒有理論結果來預測dropout對魯棒性的影響。其實我們提出的問題可以實際上進行如下表述:如果(a)我們不對學習方案做任何假設,並且(b)我們排除在計算開始之後添加學習階段的可能性,一個神經網路可以容忍的有缺陷的神經元的最大數量是多少?正如我們在《當神經元出現故障時的并行與分散式處理研討》中所指出的那樣,這個問題的答案根本就沒有。事實上,如果一個神經網路沒有專門設計這個目的,為什麼會容忍故障的出現呢?更具體地說,如果一些神經元的故障不會影響整體的結果,那麼在最初的設計中就可以將這些神經元淘汰掉。事實上,這個問題的關鍵在於過度供應。神經網路很少用最少數量的神經元來進行計算。如果想要準確估計這個最小的數字,我們需要知道網路應該近似的目標函數,而根據定義來看,這是未知的。事實上,通過實驗可以觀察到,過度供應會導致魯棒性。在最近的研究成果中,基於一個給定的過度供應的預算,我們為神經網路的魯棒性提供了第一個理論保證。然而,我們關注的是最壞的情況,相較於實際的平均情況,這種情況可能過於悲觀。在本文中,我們證明了一個實用的神經網路魯棒性估計器可以直接從網路參數中計算出來,而無需對所有可能的輸入和所有崩潰情況進行昂貴的比較,並且平均情況受到類似依賴性的影響。通過實驗驗證我們的方程,並展示了每個參數的預測依賴關係如何反映在實踐中。我們在隨機生成的小尺寸神經網路(可以測試所有可能的崩潰情況是可能發生的情況下)以及識別手寫數字的實際神經網路(我們測試到了一定數量的故障),建立了這種關係,並提供了神經網路每個關鍵參數所起的作用的實驗證據。為此,我們考慮了多層感知器的經典模型和一般模型,這是數學抽象現代深層學習中使用的拓撲的最通用模型,如流行的卷積方案。通過實驗研究這種預測方法,我們發現諸如圖像識別等實際任務的平均情況。為此,我們引入兩個量:可以使用所有可能的輸入和所有可能的崩潰情況(昂貴的計算)計算的Ω,以及只能由網路的一些常數(廉價計算)計算的Erf。通過實驗顯示了當改變網路的關鍵常數時,Ω如何變化,然後提供實驗證據,證明Erf是Ω的安全估值。實驗表明,激活函數的利普希茨(Lipschitz)係數的值、大型突觸權重的分佈,以及網路的深度是控制誤差如何在神經網路中傳播的關鍵參數。簡而言之,魯棒的神經網路是(1)具有低均勻分佈的突觸權重,(2)如果Lipschitz係數小於1,則較淺,如果該係數大於1,則為深;(3)當深度為一個要求,可以使用低Lipschitz係數的激活函數。如果選擇這樣的激活函數是不可能的(實際上並不是所有的激活函數都不能使網路以相同的效率學習),替代方案是Lipschitz行為被限制在一個狹窄區域的功能。最後,最重要的是,我們的發現了一種方法,當我們考慮所有可能的崩潰時,可以以一種很容易計算的數量來評估網路的魯棒性,而不需要昂貴的測試,而不需要與網路可能的輸入和子網路的組合可能性一樣多的計算。有興趣的讀者可以在以下資料庫中找到我們實驗的源代碼和原始數據。結論在實際重新獲得深度學習的興趣之前,對神經網路的興趣在90年代中期逐漸減弱,對單個神經元失敗的耐受性也引起了人們的興趣。隨著現代神經元硬體的增長,單個神經元失效的魯棒性問題變得至關重要。而最近關於魯棒性的大多數工作都是由粗粒度視圖驅動的,其中故障單位是機器,而不是單個神經元。實際上,從傳統觀點來看,故障單位是一台機器,將神經網路作為軟體抽象託管到更細粒度的視圖,其中單個神經元是故障單元,有點像在Borkar的一篇論文中所採取的方法(「從不可靠的組件設計可靠的系統:晶體管變化和退化的挑戰」)關於單晶體管故障的文章,或Constantinescu在VLSI電路上的論文(「深度亞微米技術對vlsi電路可靠性的影響」)。在所有這些情況下,失敗的單位不是整機,而只是其微觀部分(神經元、晶體管等)。我們的論文表明,神經網路的魯棒性可以僅根據網路的常數進行評估,而不需要分析網路在其生命周期中可以處理的大量輸入,或者測試給定大小的每個可能的神經元子集的關閉情況。更準確地說,我們提供了理論證據和實驗證據,即由於神經元故障而傳播到輸出的誤差是隨著K(激活函數的Lipschitz係數)多項式增長的函數,甚至在平均情況下。這種對K的多項式依賴度具有等於發生故障的層深度的程度(因此,誤差對深度具有指數依賴性)。我們還表明,輸出的傳播誤差與網路上所有層的乘積成正比,每層權重的平均絕對值。這是對由Lipschitz因子創建的依賴關係加起來的深度的又一指數依賴。基於這些觀察,我們得出結論,具有較陡激活函數(Lipschitz係數較高)的神經網路與溫和激活函數對應的神經網路相比,魯棒性較差。抓住這個魯棒性是以學習為代價:對於一個神經網路學習,Lipschitz係數應該足夠高,然而,理論上評估這個係數應該是多高,仍然是一個具有挑戰性的開放問題。感謝:這項工作得到了瑞士國家基金會的支持。有關更多信息,點擊此處查看論文原文。

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦