知識|深度學習開源框架caffe中的這些超參數你知道嗎

機器學習 深度學習 深度學習思考者 2017-05-31

訓練一個神經網絡模型,自然避免不了其中的solver配置,這裡面的超參數的含義你是否知道呢?本文帶你一窺到底!

知識|深度學習開源框架caffe中的這些超參數你知道嗎

DL

配置文件中的參數:

base_lr: 0.001

lr_policy: "step"

gamma: 0.1

stepsize: 50000

display: 20

average_loss: 100

momentum: 0.9

weight_decay: 0.0005

一、前四個參數都是關於學習率的設置,初始設置大小為0.001,方式為step;

二、average_loss,是指你在命令行中看到的第一個loss,是100次的平均;

三、weight decay(權值衰減)的使用既不是為了提高收斂精確度也不是為了提高收斂速度,其最終目的是防止過擬合。

在損失函數中,weight decay是放在正則項(regularization)前面的一個係數,正則項一般指示模型的複雜度,所以weight decay的作用是調節模型複雜度對損失函數的影響,若weight decay很大,則複雜的模型損失函數的值也就大。

知識|深度學習開源框架caffe中的這些超參數你知道嗎

caffe

四、momentum是梯度下降法中一種常用的加速技術。對於一般的SGD,其表達式為:

知識|深度學習開源框架caffe中的這些超參數你知道嗎

其中x沿負梯度方向下降。而帶momentum項的SGD則寫生如下形式:

知識|深度學習開源框架caffe中的這些超參數你知道嗎

知識|深度學習開源框架caffe中的這些超參數你知道嗎

其中β即momentum係數,通俗的理解上面式子就是,如果上一次的momentum與這一次的負梯度方向是相同的,那這次下降的幅度就會加大,所以這樣做能夠達到加速收斂的過程。

五、normalization,batch normalization的是指在神經網絡中激活函數的前面,將

知識|深度學習開源框架caffe中的這些超參數你知道嗎

按照特徵進行normalization,這樣做的好處有三點:

1、提高梯度在網絡中的流動。Normalization能夠使特徵全部縮放到[0,1],這樣在反向傳播時候的梯度都是在1左右,避免了梯度消失現象。

2、提升學習速率。歸一化後的數據能夠快速的達到收斂。

3、減少模型訓練對初始化的依賴。

知識|深度學習開源框架caffe中的這些超參數你知道嗎

caffe2

歡迎訂閱,為你帶來好玩有有趣的知識與新視界!大家可以踴躍評論你們想看到的內容,下一期專門為你而定製!

相關推薦

推薦中...