神經網路剪枝

2021-08-16 17:21:09 字數 1493 閱讀 4080

對神經網路(主要是cnn)進行剪枝,使模型執行速度變快,大小變小,且準確率與原來相近。

參考** 1,對所有濾波器(filters)計算l1範數,移除值較小的濾波器。

參考** 2

3,移除權值小於一定閾值的連線。

batch normalization 的引數可以合併到上乙個卷積/全連線的引數中

如設卷積的引數為

w w

, b' role="presentation">b

b,則卷積可表示為 y=

wx+b

y =w

x+

bbatch normalization 的引數為 scale, bias, mean, variance

batch normalization 可表示為 y=

scal

evar

ianc

e+ε√

⋅x+(

bias

−sca

le⋅m

eanv

aria

nce+

ε√) y=s

cale

vari

ance

+ε⋅x

+(bi

as−s

cale

⋅mea

nvar

ianc

e+ε)

batch normalization 的引數合併後卷積的引數為w′

=w⋅s

cale

vari

ance

+ε√ w′=

w⋅sc

alev

aria

nce+

εb′

=(b−

mean

)⋅sc

alev

aria

nce+

ε√+b

ias b′=

(b−m

ean)

⋅sca

leva

rian

ce+ε

+bia

s逐層剪枝比一次性剪枝效果好

每層剪枝比例應根據敏感度分析去刪減

移除濾波器時,計算l1移除值較小的比隨機移除、其它計算方法效果好

剪枝後進行 finetune 比 train from scratch 效果好

剪枝後固定較為敏感的層的權值再訓練的效果比較好

(iclr 2017) pruning filters for efficient convnets

↩(iclr 2016) deep compression: compressing deep neural networks with pruning, trained quantization and huffman coding

↩(nips 2015) learning both weights and connections for efficient neural networks

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...

神經網路 卷積神經網路

1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...

神經網路簡介 多層神經網路

如上圖所示,該神經網路有三層。我們標記第一層 也就是輸入層 為a 1 第一層與第二層連線權重為w 1 然後第一層輸入與第一層權重的線性和為z 1 第一層神經元個數為n 1 並依次標記剩餘網路層。可以看出,存在 z l j i 1 n l a l i w l i,j a l w l j a l 1 f...