只要你用了ReLU,我們就是好朋就是“淺度學習”。
最近有研究證明,所有基于ReLU的深度神經網絡都可以重寫為功能相同的3層神經網絡。
基于這個證明,倫敦國王學院的研究團隊還提出一種為任意ReLU網絡找到相應淺層網絡的算法。
由此產生的淺層網絡是透明的,可用于解釋網絡的行為。
只要通過算法,就能找到任意深度ReLU網絡的對應淺層網絡。
對此網友驚呼:我要讀這篇論文,立刻馬上!
任何深度ReLU網絡都是淺層的
ReLU是深度學習領域最常用的一種激活函數,由Nair & Hintonw在2010為限制玻爾茲曼機(restricted Boltzmann machines)提出的。
由于常常在實踐中有著比其他常用激勵函數(例如邏輯函數)更好的效果,而被深度神經網絡廣泛用于圖像識別等計算機視覺人工智能領域。
論文指出,每個深度ReLU網絡都可以轉換為一個功能相同且具有“三個隱藏層”的淺層網絡。并提供了一個找到對應淺層網絡權重的算法,提高神經網絡的全局可解釋性。
簡單來說就是,通過劃分輸入空間,使用線性函數對每個分區進行建模,來實現深層網絡淺化。
具體分為這三步。
首先,需要構建一個將線性模型和半空間編碼的第一層,通過使用一個矩陣來表示半空間條件,其中每個行向量表示一個半空間的線性方程。
然后,構建第二層,該層根據輸入的所屬區域決定哪些邊界是活躍的。
最后,構建第三層,通過將輸入與每個線性模型相乘并使用指示函數來選擇正確的模型。
基于此,每一個深度ReLU網絡都可以被轉換為一個功能上相同的三層網絡,其權重值在擴展實數中。
當然要完成淺化,還需要一些咒(suan)語(fa)。
根據論文,使用算法時只需找到H、c、α、β這些參數,并知道每個區域所需的半空間就可以,主要分三步。
首先,識別可行的模式集,對于每個可行模式,計算全局線性規劃的參數A(l)和d(l)。
然后,確定半空間條件,將這些矩陣堆疊起來,確定每個激活模式的半空間條件。最終得到矩陣H和向量c。
最后,計算局部線性模型,根據模型的權重和激活模式,使用顯式公式,計算局部線性模型α和β。
簡單理解,就是根據已訓練好的網絡,通過啟發式搜索在可能的神經元激活空間中找到合適的權重值。
通過構建淺層白盒網絡,能夠快速計算出每個數據點的SHAP值,大大提高數據的可解釋性。
實驗表明,通過上面算法就可以找到給定深度ReLU網絡對應的淺層網絡的顯式權重。
網友:實驗很酷,但也有些問題
論文很新穎的提出一個算法,可以實現“深轉淺”,不過該方法仍有一些缺點。
比如構建淺層網絡使用了無限權重,盡管這些權重可以在Python中實現,但不能使用梯度下降進行微調。
當然,“找茬兒”這塊,怎能少得了熱心腸的網友。
根據論文可以發現,如果使用團隊提供的算法,實驗過程中計算時間其實是會隨著神經元數量增加呈指數增長。
所以就有網友提出疑惑:算法運行時間與神經元數量成指數關系,12個神經元需要近10分鐘,那計算一個普通大小的DNN所需時間豈不是長了去了……
網友指出:假設單層神經網絡可以計算任何函數,那么對于任何神經網絡來說,這不是都成立嗎?
對于這個研究,也有網友犀利表示:這就是個「普遍逼近定理」,沒什么大驚小怪的。
不過無論網友怎么說,這篇論文仍然有一些出彩點。
比如,通過這個方式得到的淺層網絡是透明的,可以用來生成模型行為的解釋。
此外還提供了用于復現實驗的代碼,供其他研究人員使用來探索和實驗。
-
神經網絡
+關注
關注
42文章
4793瀏覽量
102023 -
網絡
+關注
關注
14文章
7684瀏覽量
90012 -
函數
+關注
關注
3文章
4361瀏覽量
63611
原文標題:只要你用ReLU,就是“淺度學習”:任意ReLU神經網絡都有等效3層網絡
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
利用深度循環神經網絡對心電圖降噪
深度神經網絡是什么
深度ReLU網絡的訓練動態過程及其對泛化能力的影響

一種基于深度學習的地下淺層震源定位方法

一種融合深度和淺層特征的多視覺癲癇檢測算法

基于無監督淺層神經網絡聯合學習的表示方法

改進的多尺度深度網絡手勢識別模型
Dynamic ReLU:根據輸入動態確定的ReLU

評論