谷歌AI出品的神經(jīng)網(wǎng)絡(luò)模型優(yōu)化技術(shù)MorphNet
本文經(jīng)AI新媒體量子位(公眾號 ID: QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
本文引用地址:http://m.butianyuan.cn/article/201907/403023.htm想要調(diào)整你的神經(jīng)網(wǎng)絡(luò)來完成特定任務(wù)?這件事并沒有想象中那么簡單。
深度神經(jīng)網(wǎng)絡(luò)(DNN)是塊好磚,不過想要搬動它,需要耗費的計算資源和時間成本可能非常昂貴。
現(xiàn)在,Google AI放出了MorphNet。他們用流行的圖像分類神經(jīng)網(wǎng)絡(luò)Inception V2對其進(jìn)行測試之后發(fā)現(xiàn),在不犧牲精度的情況下,神經(jīng)網(wǎng)絡(luò)變得更快更小,算力消耗還減少了!
MorphNet是什么
MorphNet是一種神經(jīng)網(wǎng)絡(luò)模型優(yōu)化( refinement)技術(shù),走的是利用現(xiàn)有架構(gòu),針對特定任務(wù)優(yōu)化的路線。
也就是說這是一個遷移學(xué)習(xí)問題。遷移學(xué)習(xí)的難點在于找出不變量,模型需要處理許多與此前訓(xùn)練的任務(wù)目標(biāo)相近,但又不完全一樣的任務(wù),這會使模型性能大打折扣甚至崩潰。
而MorphNet的成功之處在于,只要將針對類似問題構(gòu)建的神經(jīng)網(wǎng)絡(luò)作為輸入,就能為新任務(wù)創(chuàng)造更小、更快、更合身的新架構(gòu)。
Google AI出品:讓神經(jīng)網(wǎng)絡(luò)更快更小更高效的模型優(yōu)化技術(shù)MorphNet
MorphNet通過循環(huán)收縮和擴展兩個階段來優(yōu)化神經(jīng)網(wǎng)絡(luò)。
收縮階段
在收縮階段,MorphNet會識別出低效神經(jīng)元,并運用稀疏正則化器來修剪它們。
需要說明的是MorphNet會在考慮目標(biāo)資源的情況下來計算一個神經(jīng)元的損失,因此在訓(xùn)練過程之中,優(yōu)化器能夠意識到資源損失,從而認(rèn)識到哪些神經(jīng)元是高效的,哪些又是可以被移除的。
有些不明白?那么來看看下面這個例子,看MorphNet是如何計算神經(jīng)網(wǎng)絡(luò)的計算成本(如FLOPs,即每秒浮點運算次數(shù))的:
假設(shè)一個表示為矩陣乘法的神經(jīng)網(wǎng)絡(luò)層,該層具有 2 個輸入(Xn),6 個權(quán)重(a, b, …, f)以及 3 個輸出(Yn;神經(jīng)元)。也就是說評估這一層需要 6 次乘法。
Google AI出品:讓神經(jīng)網(wǎng)絡(luò)更快更小更高效的模型優(yōu)化技術(shù)MorphNet
MorphNet將乘法數(shù)視作輸入數(shù)和輸出數(shù)的乘積。在左側(cè)的示例當(dāng)中,雖然有兩個權(quán)重為0,進(jìn)行評估時仍然需要執(zhí)行所有的乘法。但中間的示例顯示了結(jié)構(gòu)的稀疏性,MorphNet能夠識別它的輸出數(shù)為 2,并且該層的乘法數(shù)從 6 減少到了4。按照這個想法,MorphNet可以確定網(wǎng)絡(luò)中每一個神經(jīng)元的增量成本,以產(chǎn)生右側(cè)這樣更為有效的模型。
擴展階段
在擴展階段,MorphNet使用寬度乘數(shù)來均勻地擴展所有層的大小。
舉個例子,如果擴展50%,那么對于低效層來說,神經(jīng)元從 100 個收縮到 10 個之后,只會重新擴展到15個;而對于重要層來說,神經(jīng)元只會從 100 個收縮到 80 個,重新擴展后則可能達(dá)到 120 個,并且獲得更多可支配的資源。
也就是說,MorphNet的最終效果是將計算資源從網(wǎng)絡(luò)中效率低的部分重新分配到效率高的部分。
效果怎么樣
Google AI團隊用MorphNet對Inception V2網(wǎng)絡(luò)模型進(jìn)行了訓(xùn)練。
基線方法是使用寬度乘數(shù),通過均勻縮小每個卷積的輸出數(shù)量來權(quán)衡精度和算力消耗(紅色)。
MorphNet方法則直接以算力消耗為目標(biāo),在收縮模型時生成更好的權(quán)衡曲線(藍(lán)色)。
在同等精度之下,MorphNet方法將算力消耗降低了11%到15%。
在對Inception V2的優(yōu)化上MorphNet表現(xiàn)出色,對于其他的網(wǎng)絡(luò)模型,MorphNet也同樣好用。
既成功壓縮了模型尺寸/ FLOPs,在質(zhì)量上又幾乎沒有損失,果然Google出品,必屬精品。
這么好用的東西,Google已經(jīng)自己用起來了。Google AI團隊表示,MorphNet已應(yīng)用于Google多個生產(chǎn)規(guī)模的圖像處理模型。
評論