DSD:Dense-sparse-dense training for deep neural networks論文詳解

目的:本文是對韓鬆博士ICLR 2017論文 DSD:Dense-sparse-dense training for deep neural networksde的詳細解析。

論文地址:https://arxiv.org/pdf/1607.04381.pdf

代碼地址:https://songhan.github.io/DSD.

目錄

一、摘要

貢獻點:

1.1 全新模型

1.2 提升模型準確率

1.3. 易於實施

二、方法

2.1 區別

與dropout的區別

與模型壓縮的區別

2.2 算法流程

2.3 相應權重的變化

2.4 具體流程及解釋

Initial Dense Training

Sparse Training

Final Dense Training

三、實驗

四、討論與原理

跳過了鞍點(Saddle Point)

更好的局部極小值(Better Minima)

正則化與稀疏訓練

魯棒的再次初始化

打破了對稱性(Symmetry)


一、摘要

貢獻點:

1.1 全新模型

提出了一個全新的DSD的訓練流程,來使網絡得到更好的訓練。先Dense訓練,獲得一個網絡權重;然後spars將網絡剪枝,然後繼續dense訓練。從而獲得更好的性能。

1.2 提升模型準確率

實驗顯示DSD在CNN,RNN,LSTM等圖像分類、圖像識別,語音識別等模型上都取得了很好的效果。

  • 將GoogleNet的Top1 accuracy提升了 1.1%
  • VGG-16提升了4.3%
  • ResNet-18提升了1.2%
  • ResNet-50提升了1.1%

1.3. 易於實施

DSD易於實施,只在S階段引入一個超參數,其他階段也更易實現。

二、方法

2.1 區別

與dropout的區別

雖然都是在訓練過程中有prune(剪枝)操作,但是DSD是有一定依據來選擇去掉哪些connection,而dropout是隨機去掉

與模型壓縮的區別

DSD的目的是提升準確率,不能帶來模型的精簡。

2.2 算法流程

 

D:將網絡正常訓練,獲得相應的權重

S:將網絡剪枝,將小於某值的權重去掉,然後繼續訓練。

D:將剪枝的權重恢復爲0,重新訓練網絡。

2.3 相應權重的變化

(a)上圖爲權重的直方圖。我們看到第一次Dense訓練之後,權重分佈都有,且在各處分佈

(b)將絕對值小於某值的權重刪除掉,我們看到某絕對值一下的權重都沒有了

(c)進行sparse訓練,我們看到邊緣變得平滑。

(d)恢復剪枝的權重,全部置爲0。則0值有一個高峯。

(e)再次進行訓練,權重各處都有分佈。

2.4 具體流程及解釋

Initial Dense Training

即普通神經網絡的訓練方法,但此步的目的是1.學出權重的值 2.學出哪些權重更重要(絕對值越大則權重越重要)。

Sparse Training

按比例將小於某絕對值權重值的值置爲0。

進行剪枝的數學推導:

假定我們有一個loss,loss受到權重值的影響,是權重值的函數。

權重值變化會帶來Loss值的變化:

所以權重值越小,則置爲0帶來的權重的變化越小,Loss值的變化也越小。

Final Dense Training

恢復被剪枝的權重置爲0,重新訓練。

三、實驗

各個數據集上均帶來了性能的提升。

四、討論與原理

DSD帶來了準確率的提升,作者進行了下面這些討論:

跳過了鞍點(Saddle Point)

鞍點:鞍點(Saddle point)在微分方程中,沿着某一方向是穩定的,另一條方向是不穩定的奇點,叫做鞍點。在矩陣中,一個數在所在行中是最大值,在所在列中是最小值,則被稱爲鞍點。在物理上要廣泛一些,指在一個方向是極大值,另一個方向是極小值的點。

鞍點梯度接近於0,模型接近於收斂。但是剪枝的過程跳過了這些點。

更好的局部極小值(Better Minima)

低權重置爲0就獲得了更好的局部極小值。(對此作者沒有具體解釋)

正則化與稀疏訓練

稀疏的正則化將模型拉到了更低的維度,因此可以對於噪聲更加魯棒。

魯棒的再次初始化

普通的模型只初始化一次,但是DSD進行了兩次(或更多)的權值初始化。這裏作者給出了一個猜想,作者採用的是0值初始化的方法,其他的初始化方法值得嘗試。

打破了對稱性(Symmetry)

剪枝能破壞權值的對稱性,所以獲得更好的訓練。(此處不明意義,作者未給出詳盡解釋,我對於symmetry的理解不夠好。貼出原文)

Break Symmetry: The permutation symmetry of the hidden units makes the weights symmetrical,thus prone to co-adaptation in training. In DSD, pruning the weights breaks the symmetry of the hidden units associated with the weights, and the weights are asymmetrical in the final dense phase.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章