你有哪些deep learning(rnn cnn)調參的經驗?

時間 2021-06-03 12:17:26

1樓:智星雲服務

Bag of Tricks for Image Classification with Convolutional Neural Networks,trick 合集 1。

Must Know Tips/Tricks in Deep Neural Networks,trick 合集 2。

33條神經網路訓練秘技,trick 合集 3。

26秒單GPU訓練CIFAR10,工程實踐。

Batch Normalization,雖然玄學,但是養活了很多煉丹師。

Searching for Activation Functions,swish 啟用函式。

煉丹是玄學還是科學?我覺得煉丹是工程學。

有需要GPU的朋友可以再智星雲租用GPU,價效比很高

2樓:吾生而有涯

2. Total batch size (TBS): A large batch size works well but the magnitude is typically constrained by the GPU memory.

If your server has multiple GPUs, the total batch size is the batch size on a GPU multiplied by the number of GPUs. If the architecture is small or your hardware permits very large batch sizes, then you might compare performance of different batch sizes. In addition, recall that small batch sizes add regularization while large batch sizes add less, so utilize this while balancing the proper amount of regularization.

It is often

better to use a larger batch size so a larger learning rate can be used.

3. Momentum: Short runs with momentum values of 0.

99, 0.97, 0.95, and 0.

9 will quickly show the best value for momentum. If using the 1cycle learning rate schedule, it is better to use a cyclical momentum (CM) that starts at this maximum momentum value and decreases with increasing learning rate to a value of 0.8 or 0.

85 (performance is almost independent

of the minimum momentum value). Using cyclical momentum along with the LR range test stabilizes the convergence when using large learning rate values more than a constant momentum does.

4. Weight decay (WD): This requires a grid search to determine the proper magnitude but usually does not require more than one significant figure accuracy.

Use your knowledge of the dataset and architecture to decide which values to test. For example, a more complex dataset requires less regularization so test smaller weight decay values

3樓:嗯哼

萬事不決,先用Adam

今天用SGDmomentum調了一天參,潰敗滿滿。loss是不會下降的,永遠不會下降的。

看了各路煉丹大俠的經驗,果斷上Adam。

個人感覺dp非常需要耐心,以及強大的資料檢索歸納能力,外加一點小小的運氣。

祝各位調參俠都能髮頂會,love and peace~

4樓:Kexin

有一條工作是在有限的資源下,合理的分配哪些引數組值得繼續調,還挺有意思其中比較著名的就是successive halving,步驟是

隨機生成N組引數然後設立乙個評估週期X

每X steps的時候就evaluate所有還在的引數租然後扔掉表現最差的一半

然後繼續,直到只剩乙個為止

詳情請見hyperband

還有這個作者liam寫的blog

liam他們組創立的專門做這塊兒的公司 determined.ai 試了效果真的很不錯!

open sourced的可以看看Ax platform https://ax.dev 也非常的簡單操作!

5樓:

把引數本身作為高維度資料集,自我優化,優勝劣汰。

機器學習的機器自我學習。

比如,CNN的掃瞄運算元,我可以列舉出全部可能性,比如構造乙個2的N方,再淘汰90%以上。

我盡量不需要制定具體規則,讓他們自生自滅,構建淘汰機制,在樣本集中適者生存。

浪費一些機時,節省一些人時。

6樓:清木

參考Andrej Karpathy大佬的部落格~~~

A Recipe for Training Neural Networks

7樓:發狂的洋蔥騎士

"with four parameters i can fit an elephant, and with five i can make him wiggle his trunk"

-- Alan Turing, Enrico Fermi

8樓:二十世紀少年

看到別人都回答了很多,我隨便講幾個自己經常用的。

1.神經元個數一般設定為2的n次方。計算機處理資料是二進位制,設定為2的n次方計算速度據說會變快,我在訓練word2vec時一般都設定為128維輸出,rnn的隱藏層也經常設定128個神經元

2.經常使用BatchNormalization或layer normalization層。BatchNormalization層在每個batch上將前一層的啟用值重新規範化,即使得其輸出資料的均值接近0,標準差接近1。

有著加速收斂速度,控制過擬合等好處。大多數神經網路都可以加這層,加了也沒什麼壞處。注意,由於詞向量的特性,在nlp(自然語言)領域,最好使用layer normalization層做規範化!

3.及時early stop。盯著模型訓練時在驗證集上每輪的度量指標值,選擇乙個指標值很好的時間點,及時停止繼續batch,防止過擬合

9樓:陳運文

cnn的調參主要是在優化函式、embedding的維度還要殘差網路的層數幾個方面。

優化函式方面有兩個選擇:sgd、adam,相對來說adam要簡單很多,不需要設定引數,效果也還不錯。

embedding隨著維度的增大會出現乙個最大值點,也就是開始時是隨維度的增加效果逐漸變好,到達乙個點後,而後隨維度的增加,效果會變差。

殘差網路的層數與embedding的維度有關係,隨層數的增加,效果變化也是乙個凸函式。

另外還有啟用函式,dropout層和batchnormalize層的使用。啟用函式推薦使用relu,dropout層數不易設定過大,過大會導致不收斂,調節步長可以是0.05,一般調整到0.

4或者0.5就可找到最佳值。

以上是個人調參的一些經驗,可供參考。

10樓:王潛公升

基於網格搜尋,用座標下降法調參。然而這個方法太容易收斂到區域性最優,所以容易想到加入模擬退火的策略。

分享乙個自己寫的自動調參工具chncwang/laozhongyi

11樓:

做 hyper-parameter tuning 的話,感覺過去幾年用 bayesian optimization 的很多。有幾個商業和開源的實現。

近來也有基於 random sampling 的 Hyperband 方法出現,效果都是 case by case 的。

最重要的還是找到正確的 loss function,其它就交給這些方法去調吧。

12樓:

1、optimizer可以用adam或者rmsprop,效果上看adam最好,但是優化速度太慢了

2、嘗試縮小learning rate,或者直接用learning rate decay來動態調整

3、batch_norm

4、dropout(必備佳品)

13樓:劉溫如

小白一枚,在這裡總結一下我在試驗中觀察到的現象(必然有理解錯誤的地方):

1. Adam收斂速度的確要快一些,可是結果總是不如其他優化演算法,如果很看重結果不在乎速度還是用其他的試試。

2. Dropout的放置位置以及大小非常重要,求大神能分享經驗.....

3. Relu並不是一定比Tanh好,如果不太懂的話,用的不合適,可能會導致梯度消失?(不知道是不是網路結構問題,為什麼一用relu梯度一會兒就變成Nan)

4. pretrain 的 Embedding在訓練中不調優泛化能力要更好一些,調優的話引數會增加好多啊。

另:心得體會

1. 深度學習真是一門實驗科學,很多地方解釋不了為什麼好,為什麼不好。

2.如果你機器配置很不到位,也沒有人帶你,畢業設計千萬別選深度學習,天天愁,好坑啊。

未完待續

你有哪些買書原則?

第一條剛好和前面一位答主不同 看見毛姆余華莫言我就買 名著我買中國現當代文學史裡出現過的都買古代文學裡的買歷史相關的買長得好看的買 懸疑的買 一定要挑封面最好看的,或者至少也是矮子裡拔將軍 最不醜的那個中文書要買靠譜出版社或書商,中文翻譯要選靠譜譯者原版書優先買Penguin Vintage New...

說說你有哪些煩惱?

南半球的沙耶加 煩惱1 學習壓力,我必須要把英語學好,然後考乙個好大學,但是人生六七年甚至大部分的時間已經讓我荒廢了,想從頭再來改變命運又談何容易呢?人生不是偶像劇,沒有人會隨隨便便的成功,鹹魚翻身屌絲逆襲談何容易,把什麼事做好都不容易 煩惱2 馬上要進入社會的壓力,感覺自己學歷低,工資低,沒有一技...

最近你有哪些煩惱

嗯哼 1 不自律,經常熬夜,菸癮很大,不懂克制,生活一點不規律,身體變差。2 明明工作能力很強,工作也完成的很好,就因為不會拍馬屁沒能得到好回報 3.因為家庭及工作的瑣事已經很久沒有笑過了,抑鬱症有些嚴重4.因為收入低沒法改變自己的生活,和提高家人的生活質量而內疚。 羅耶啵 1.大學生,感覺自己日子...