




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
總結深度學習技巧第1篇總結深度學習技巧第1篇我們知道模型精度隨深度而增加,但速度又如何呢?更多的層意味著更多的參數,更多的參數意味著更多的計算,更多的內存消耗和更慢的速度。理想情況下,我們希望在提高速度的同時保持高精度。我們可以通過剪枝來做到這一點。
深度神經網絡剪枝策略
這個想法是,網絡中的許多參數是多余的,對輸出沒有太大貢獻。如果可以根據貢獻值對網絡中的神經元進行排名,那么就可以從網絡中移除低排名的神經元,從而形成更小更快的網絡。可以根據神經元權重的L1/L2均值(平均激活)、一些驗證集上神經元不為零的次數以及其他方法來進行排序。獲得更快/更小的網絡對于在移動設備上運行深度學習網絡非常重要。
修剪網絡的最基本的方法是簡單地放棄某些卷積濾波器。最近文章表明,這樣做是相當成功的。這項工作中的神經元排名相當簡單:每個濾波器的權重按照L1規范排名。在每個修剪迭代中,對所有的過濾器進行排序,在所有層中修剪m個排名最低的過濾器,重新訓練和重復!
總結深度學習技巧第2篇我們現在說過幾次:更多的數據=更好的表現。除了遷移學習之外,另一種快速而簡單的方法來提高模型的性能,即數據增強。數據增強涉及通過在使用原始類別標簽的同時通過改變數據集中的一些原始圖像來生成合成訓練示例。例如,圖像數據增強的常見方式包括:·水平和垂直旋轉或翻轉圖像·改變圖像的亮度和顏色·隨機模糊圖像·隨機從圖像裁剪補丁基本上,你可以進行任何改變,改變圖像的外觀,但不是整體的內容,即你可以制作一個藍色的狗的照片,但你仍然應該能夠清楚地看到,照片上是一個狗。
數據裂變!
總結深度學習技巧第3篇多年來,已經開發了許多梯度下降優化算法,他們各有其優缺點。一些最流行的方法如下:
·StochasticGradientDescent(SGD)withmomentum
·Adam
·RMSprop
·Adadelta
RMSprop,Adadelta和Adam被認為是自適應優化算法,因為它們會自動更新學習率。使用SGD時,您必須手動選擇學習率和動量參數,通常會隨著時間的推移而降低學習率。
在實踐中,自適應優化器傾向于比SGD更快地收斂,然而,他們的最終表現通常稍差。SGD通常會達到更好的minimum,從而獲得更好的最終準確性。但這可能需要比某些優化程序長得多的時間。它的性能也更依賴于強大的初始化和學習率衰減時間表,這在實踐中可能非常困難。
因此,如果你需要一個優化器來快速得到結果,或者測試一個新的技術。我發現Adam
很實用,因為它對學習率并不是很敏感。如果您想要獲得絕對最佳的表現,請使用SGD+Momentum,并調整學習率,衰減和動量值來使性能最優化。
總結深度學習技巧第4篇正如我們在第一個提示中所看到的,深層網絡需要大量的數據。不幸的是,對于許多新的應用程序來說,這些數據可能很難并且花費很高。如果我們希望我們的模型表現良好,我們可能需要數十或數十萬個新的訓練樣例進行訓練。如果數據集不易獲取,則必須全部收集并手動標記。這就是遷移學習的起點。通過遷移學習,我們不需要太多的數據!這個想法是從一個以前在數百萬圖像上訓練過的網絡開始的,比如在ImageNet上預訓練的ResNet。然后,我們將通過僅重新訓練最后幾個層并使其他層獨立來微調ResNet模型。那樣的話,我們正在將ResNet從數百萬圖像中學到的信息(圖像特征)進行微調,以便我們可以將它應用于不同的任務。這是可能的,因為跨域的圖像的特征信息通常非常相似,但是這些特征的分析可以根據應用而不同。
一個基本的遷移學習通道
總結深度學習技巧第5篇“欠擬合”常常在模型學習能力較弱,而數據復雜度較高的情況出現,此時模型由于學習能力不足,無法學習到數據集中的“一般規律”,因而導致泛化能力弱。與之相反,“過擬合”常常出現在模型學習
能力過強的情況,此時的模型學習能力太強,以至于將訓練集單個樣本自身的特點都能捕捉到,并將其認為是“一般規律”,同樣這種情況也會導致模型泛化能力下降。過擬合與欠擬合的區別在于,欠擬合在訓練集和測試集上的性能都較差,而過擬合往往能完美學習訓練集數據的性質,而在測試集上的性能較差。
下圖(a)與圖(b)分別展示了對二維數據進行擬合時過擬合與欠擬合的情況。其中藍色虛線代表數據的真實分布,橙色圓點為訓練數據,黑色實線代表模型的擬合結果。圖(a)使用簡單的線性模型擬合,由于模型過于簡單,沒有能力捕捉模型的真實分布,產生了欠擬合。圖(b)使用了高次多項式模型進行擬合,由于模型過于復雜,因此對每個測試數據都能精確預測,但模型擬合的結果沒有抓住數據分布的本質特征,出現了過擬合。
總結深度學習技巧第6篇前面已經說過:更多的數據=更好的表現。除了遷移學習之外,另一種快速而簡單提高模型的性能的方法是數據增強。數據增強是使用原始類別標簽的同時,改變數據集的原始圖像以合成一些新的訓練示例。例如,用于圖像數據增強的常見方式包括:
·水平和/或垂直旋轉翻轉圖像
·改變圖像的亮度和顏色
·隨機模糊圖像
·隨機從圖像裁剪塊
基本上,你可以進行任何改變,改變圖像的外觀但不改變整體內容。
10.通過集成提升模型!
在機器學習中,集成訓練多個模型,然后將它們組合在一起以獲得更高的性能。這個想法是在相同的數據集上對同一任務訓練多個深度網絡模型。然后,模型的結果可以通過投票進行組合,即具有最高票數的類勝出。
為了確保所有模型不同,可以使用隨機權重初始化和隨機數據增強。眾所周知,由于使用了多個模型,因此集成通常比單個模型更精確,從而從不同角度完成任務。在實際應用中,尤其是競賽中,幾乎所有頂級模型都使用集合方式。
集成模型
總結深度學習技巧第7篇了解模型的外觀通常是很重要的。如果使用的是Keras工具,搭建出來的模型會很抽象,并且不允許深入分析模型的各個部分。幸運的是,下面的代碼可以直接用Python直觀地看到構建的模型(代碼太長,見原文):
以下代碼將繪制模型的圖形并將其保存為png文件:
plot有兩個參數可供選擇:
以上即為個人的全部建模經驗,讀者如果有不同意見或有其它優方法的話可以留言探討。
以上為譯文,由阿里云云棲社區組織翻譯。
譯文鏈接文章原標題《DeepLearningTipsandTricks》
譯者:海棠,審校:Uncle_LLD。文章為簡譯,更為詳細的內容,請查看原文。
更多技術干貨敬請關注云棲社區知乎機構號:阿里云云棲社區-知乎
總結深度學習技巧第8篇這不是什么大秘密,深度學習機需要大量的“燃料”,那“燃料”就是數據。擁有的標簽數據越多,模型的表現就越好。更多數據產生能更好性能的想法,已經由谷歌的大規模數據集(有3億圖像)證明!為了感受數據帶給深度學習模型的性能提升,在部署DeepLearning模型時,你應該不斷地為其提供更多的數據和微調以繼續提高其性能。Feedthebeast:如果你想提高你的模型的性能,就要提供更多的數據!
上圖顯示數據量的增加會得到更好的性能
總結深度學習技巧第9篇在機器學習中,集合訓練多個模型,然后將它們組合在一起以獲得更高的性能。因此,這個想法是在相同的數據集上訓練同一個任務上的多個深度網絡模型。模型的結果然后可以通過投票方案來進行組合,即具有最高票數的勝出。為了確保所有模型不同,可以使用隨機權重初始化和隨機數據增強。眾所周知,由于使用了多個模型,因此集合通常比單個模型精確得多,因此從不同角度接近任務。在現實世界的應用中,尤其是挑戰或競爭中,幾乎所有頂級模型都使用合奏。
合奏模型
總結深度學習技巧第10篇正如我們所看到的,深層網絡需要大量的數據。遺憾的是,對于許多新的應用程序來說,這些數據可能很難得到并且開銷很大。如果我們希望模型表現良好,可能需要數萬或數十萬個新的訓練樣例來進行訓練。如果數據集不易獲取,則必須全部手動收集并標記。
這就是遷移學習的起點。通過遷移學習,我們不需要太多的數據!這個想法是從一個在數百萬圖像上訓練過的網絡開始的,比如在ImageNet上預訓練的ResNet。然后,我們將“重新調整ResNet模型,只重新訓練最后幾層。
我們將ResNet從數百萬圖像中學到的信息(圖像特征)進行微調,以便將其應用于不同的任務。因為跨域的圖像的特征信息經常是非常相似的所以這個方法是可行的,但是這些特征的分析根據應用而不同。
一個基本的遷移學習示例
總結深度學習技巧第11篇多年來,已經開發了許多梯度下降優化算法,各有其優缺點。一些最流行的包括:·隨機梯度下降(SGD)+動量方法·Adam·RMSprop·AdadeltaRMSprop,Adadelta和Adam被認為是自適應優化算法,因為它們會自動更新學習速率。使用SGD時,您必須手動選擇學習率和動量參數,通常會隨著時間的推移而降低學習率。在實踐中,自適應優化器傾向于比SGD更快地收斂,然而,他們的最終表現通常稍差。SGD通常會達到更好的最小值,從而獲得更好的最終準確性,但這可能需要比某些優化程序長得多的時間。它也更依賴于強大的初始化和學習速率衰減時間表,這在實踐中可能非常困難。因此,如果你需要一些快速的結果,或者只是想測試一個新的技術,選擇自適應優化器。我發現Adam很容易使用,因為它對你選擇完美的學習率并不是很敏感。如果您想獲得絕對最佳的最終表現,請使用SGD+Momentum,并使用學習率,衰減和動量值來最大化表現。兩全其美的方法有木有!它最近的研究顯示,你可以做到兩全其美:高速訓練頂尖的性能通過切換從Adam到SGD!這個想法是,訓練的早期階段實際上是SGD對參數調整和初始化非常敏感的時候。因此,我們可以通過使用Adam來啟動我們的訓練,這將使您節省相當長的時間,而不必擔心初始化和參數調整。那么,一旦Adam運轉起來,我們可以切換到SGD+動量優化,以達到最佳性能!
AdamvsSGD表現。由于魯棒性和自適應學習速度,Adam在一開始表現更好,而SGD最終達到更好的全局最小值。
總結深度學習技巧第12篇在很多情況下,都要處理不平衡的數據,特別是實際應用程序中。一個簡單而實際的例子如下:訓練您的深度網絡以預測視頻流中是否有人持有致命武器。但是在你的訓練數據中,你只有50個拿著武器的人的視頻和1000個沒有武器的人的視頻!如果你只是用這些數據來訓練你的網絡,那么你的模型肯定會非常偏向于預測沒有人有武器!
你可以做用以下的方法來解決它:
·在損失函數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 毛巾產品的生命周期評估考核試卷
- 社會心理學在人機交互設計中的應用考核試卷
- 涂料配方設計考核試卷
- 電子元器件識別與應用考核試卷
- 社交心理學與消費者心理分析考核試卷
- 紡織機械的邊緣計算服務發展趨勢預測考核試卷
- 服裝批發過程中的質量控制考核試卷
- 禽類屠宰行業綠色可持續發展考核試卷
- 海底設施施工質量控制與驗收考核試卷
- 竹木材料在環境工程中的應用考核試卷
- 2025年江蘇省徐州市銅山區中考一模道德與法治試題(原卷版+解析版)
- 制造業自檢自控流程優化計劃
- 《人工智能的進展》課件
- 風濕免疫病患者結核病診治及預防實踐指南(2025版)解讀課件
- 大建安-大連市建筑工程安全檔案編制指南
- 上海2024-2025學年五年級數學第二學期期末聯考模擬試題含答案
- GB/T 45421-2025城市公共設施非物流用智能儲物柜服務規范
- 高中家長會 高三高考沖刺家長會課件
- 2025年湖南韶旅集團招聘筆試參考題庫含答案解析
- 2024年全國統一高考英語試卷(新課標Ⅰ卷)含答案
- 讀書分享讀書交流會《你當像鳥飛往你的山》課件
評論
0/150
提交評論