圖片來源: 

Google

Google AI研究團隊最近發布一項專為神經網路模型優化的成熟技術MorphNet,並將相關的研究成果發表成論文,該技術利用現有的神經網路當作輸入資料,並產生一個更小、更快的全新神經網路模型,Google已經將MorphNet這項技術用來設計生產規模的網路,將神經網路變得更小、更準確,Google也將MorphNet技術用TensorFlow實現,並在GitHub開源釋出

目前深度神經網路已經能有效地解決影像分類、文字辨識和語音轉文字等問題,但是要針對特定問題,設計出一個合適的深度神經網路架構,一直都是一項挑戰,要從無到有開發出合適的神經網路,需要耗費大量的時間和運算資源,目前常見的作法,是採用與問題類似的現有架構來做改善。

而MorphNet技術就是針對現有的神經網路架構進行優化,優化的過程主要是需要經過縮小(shrinking)和擴增(expanding)兩個階段的循環處理,在縮小的階段中,MorphNet會利用稀疏正規化的分類方法(sparsity regularization),來辨識低效率的神經元,並將這些神經元從網路中修剪掉,而神經網路的總遺失函數會包含每個神經元的代價(cost),但是,MorphNet並不是對每個神經元用統一的代價,而是透過與目標資源的關係,來計算每個神經元代價,在訓練過程進行中,優化器在計算梯度時,就會發現資源代價,因此,能夠學習哪個神經元是資源有效型( resource-efficient),而哪些神經元又是可以被移除的。

在擴增的階段中,Google利用寬度乘數(width multiplier )來統一所有層數的擴增,舉例來說,如果要擴增50%,一個一開始有100個神經元的低效率層,縮減到10個神經元,經過擴增階段後,只會擴增回到15個神經元,同時,若是一個重要的層,在縮減階段後剩下80個,經過擴增變120個,並且擁有更多資源,如此一來,計算資源將能夠有效地重新分配。

除此之外,使用者可以在縮小階段後,停止執行MorphNet,來降低神經網路所需的資源,進而精簡資源預算,Google已經將MorphNet技術用在自家影像處理模型,以大幅縮小模型,同時幾乎不影響品質。


Advertisement

更多 iThome相關內容