# Learning both weights and connections for efficient neural network, NIPS 2015 ## 3. Learning Connections in Addition to Weights  Figure 2 說明三步驟的 pruning 流程 ### 3.1. Regularization 選擇正確的 regularization 方法會影響 performance。L1 regularization 會在 pruning 之後、retraining 之前 有更好的 accuracy,但是 retraining 之後的 performance 比 L2 regularization 差,因此整體而言,**L2 regularization 給予最佳的 pruning 結果**。 ### 3.2. Dropout Ratio Adjustment Dropout 用來避免 overfitting, 且套用在本篇中 train 及 retrain 過程中。由於三階段中 pruning 後模型已簡化,因此在 retrain 階段中 drpoout ratio 應該更小,將之 ratio 稱為 $D_r$ ,公式為: $C_i = N_iN_{i-1}$ $D_r = D_o \sqrt{\frac{C_{ir}}{C_{io}}}$ ### 3.3. Local Pruning and Parameter Co-adaptation * 在 retrain 完 pruned 過的模型後,應該保留這些 weight 做為下一次 retrain 初始化的 weight。 * 為了避免模型越深層時造成梯度消失,而使得 pruning error 在retrain model 時越無法回復,本篇將固定 conv layer 的 weight 來 retrain FC layer,**反之亦然(???)**。 ### 3.4. Iterative Pruning learning the right connections 是一個迭代的過程,「pruning 之後 retraining」是一個 iteration,經過許多這樣的 iteration 之後可以找到一個最小數量的 connections (即最小的網路)。在不損失 accuracy 的情況下,本方法可以將 AlexNet 的 pruning rate 從 5倍 變成 9倍 (和 single-step aggressive pruning 比較)。 - **每次 iteration 都是一個想找最佳 connections 的 greedy search。 (???)** - **同時也做了實驗根據 parameter 的絕對值來隨機刪除,但得到更差的結果 (???)** ### 3.5. Pruning Neurons pruned 階段會將 connection weight 為零的刪掉。且利用 Regularization 將訓練的 weight 趨近於零,**dead neuron 會在下次 retain 的時候自動去除。(???)** ###### tags: `model compression`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up