這7 個深度學(xué)習(xí)實用技巧,你掌握了嗎?
前幾天,深度學(xué)習(xí)工程師George Seif發(fā)表了一篇博文,總結(jié)了7個深度學(xué)習(xí)的技巧,主要從提高深度學(xué)習(xí)模型的準確性和速度兩個角度來分析這些小技巧。在使用深度學(xué)習(xí)的時候,我們不能僅僅把它看成一個黑盒子,因為網(wǎng)絡(luò)設(shè)計、訓(xùn)練過程、數(shù)據(jù)處理等很多步驟都需要精心的設(shè)計。作者分別介紹了7個非常實用小技巧:數(shù)據(jù)量、優(yōu)化器選擇、處理不平衡數(shù)據(jù)、遷移學(xué)習(xí)、數(shù)據(jù)增強、多個模型集成、加快剪枝。相信掌握了這7個技巧,能讓你在實際工作中事半功倍!
本文引用地址:http://www.ex-cimer.com/article/201802/375972.htm
7 Practical Deep Learni ng Tips
7個實用的深度學(xué)習(xí)技巧
深度學(xué)習(xí)已經(jīng)成為解決許多具有挑戰(zhàn)性問題的方法。 在目標檢測,語音識別和語言翻譯方面,深度學(xué)習(xí)是迄今為止表現(xiàn)最好的方法。 許多人將深度神經(jīng)網(wǎng)絡(luò)(DNNs)視為神奇的黑盒子,我們輸入一些數(shù)據(jù),出來的就是我們的解決方案! 事實上,事情要復(fù)雜得多。
在設(shè)計和應(yīng)用中,把DNN用到一個特定的問題上可能會遇到很多挑戰(zhàn)。 為了達到實際應(yīng)用所需的性能標準,數(shù)據(jù)處理、網(wǎng)絡(luò)設(shè)計、訓(xùn)練和推斷等各個階段的正確設(shè)計和執(zhí)行至關(guān)重要。 在這里,我將與大家分享7個實用技巧,讓你的深度神經(jīng)網(wǎng)絡(luò)發(fā)揮最大作用。
▌ 1-數(shù)據(jù),數(shù)據(jù),數(shù)據(jù)
這不是什么大秘密,深度學(xué)習(xí)機需要大量的“燃料”, 那“燃料”就是數(shù)據(jù)。擁有的標簽數(shù)據(jù)越多,模型的表現(xiàn)就越好。 更多數(shù)據(jù)產(chǎn)生能更好性能的想法,已經(jīng)由谷歌的大規(guī)模數(shù)據(jù)集(有3億圖像)證明!為了感受數(shù)據(jù)帶給深度學(xué)習(xí)模型的性能提升,在部署Deep Learning模型時,你應(yīng)該不斷地為其提供更多的數(shù)據(jù)和微調(diào)以繼續(xù)提高其性能。 Feed the beast:如果你想提高你的模型的性能,就要提供更多的數(shù)據(jù)!
圖顯示數(shù)據(jù)量的增加會得到更好的性能
▌ 2-你應(yīng)該選擇哪一個優(yōu)化器
多年來,已經(jīng)開發(fā)了許多梯度下降優(yōu)化算法,他們各有其優(yōu)缺點。 一些最流行的方法如下:
Stochastic Gradient Descent (SGD) with momentum
Adam
RMSprop
Adadelta
RMSprop,Adadelta和Adam被認為是自適應(yīng)優(yōu)化算法,因為它們會自動更新學(xué)習(xí)率。 使用SGD時,您必須手動選擇學(xué)習(xí)率和動量參數(shù),通常會隨著時間的推移而降低學(xué)習(xí)率。
在實踐中,自適應(yīng)優(yōu)化器傾向于比SGD更快地收斂, 然而,他們的最終表現(xiàn)通常稍差。 SGD通常會達到更好的minimum,從而獲得更好的最終準確性。但這可能需要比某些優(yōu)化程序長得多的時間。 它的性能也更依賴于強大的初始化和學(xué)習(xí)率衰減時間表,這在實踐中可能非常困難。
因此,如果你需要一個優(yōu)化器來快速得到結(jié)果,或者測試一個新的技術(shù)。 我發(fā)現(xiàn)Adam
很實用,因為它對學(xué)習(xí)率并不是很敏感。 如果您想要獲得絕對最佳的表現(xiàn),請使用SGD + Momentum,并調(diào)整學(xué)習(xí)率,衰減和動量值來使性能最優(yōu)化。
評論