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