<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          深度學習七個實用技巧

          共 3701字,需瀏覽 8分鐘

           ·

          2021-09-08 06:15

          點擊上方小白學視覺”,選擇加"星標"或“置頂

          重磅干貨,第一時間送達

          深度學習已經(jīng)成為解決許多具有挑戰(zhàn)性的現(xiàn)實世界問題的方法。對目標檢測,語音識別和語言翻譯來說,這是迄今為止表現(xiàn)最好的方法。許多人將深度神經(jīng)網(wǎng)絡(luò)(DNNs)視為神奇的黑盒子,我們放進去一堆數(shù)據(jù),出來的就是我們的解決方案!事實上,事情沒那么簡單。

          在設(shè)計和應(yīng)用DNN到一個特定的問題上可能會遇到很多挑戰(zhàn)。為了達到現(xiàn)實世界應(yīng)用所需的性能標準,對數(shù)據(jù)準備,網(wǎng)絡(luò)設(shè)計,訓練和推斷等各個階段的正確設(shè)計和執(zhí)行至關(guān)重要。在這里,我將與大家分享7個實用技巧,讓您的深度神經(jīng)網(wǎng)絡(luò)發(fā)揮最大作用。

          1 - 數(shù)據(jù),數(shù)據(jù),數(shù)據(jù)


          這不是一個大秘密。一直工作得很好的深度學習機器需要燃料 - 大量的燃料; 燃料是數(shù)據(jù)。我們擁有的標記數(shù)據(jù)越多,模型的表現(xiàn)就越好。更多的數(shù)據(jù)導致更好的性能,已經(jīng)由谷歌大規(guī)模的探索3億圖像的數(shù)據(jù)集印證!

          在實際應(yīng)用中部署Deep Learning模型時,您應(yīng)該不斷地為其提供更多的數(shù)據(jù)和微調(diào)以繼續(xù)提高其性能。喂飽怪獸:如果你想提高你的模型的性能,那就獲得更多的數(shù)據(jù)!

          不斷增加的數(shù)據(jù)產(chǎn)生更好的性能

          2 - 你應(yīng)該使用哪個優(yōu)化器?


          多年來,已經(jīng)開發(fā)了許多梯度下降優(yōu)化算法,各有其優(yōu)缺點。一些最流行的包括:

          · 隨機梯度下降(SGD)+動量方法

          · Adam

          · RMSprop

          · Adadelta

          RMSprop,Adadelta和Adam被認為是自適應(yīng)優(yōu)化算法,因為它們會自動更新學習速率。使用SGD時,您必須手動選擇學習率和動量參數(shù),通常會隨著時間的推移而降低學習率。

          在實踐中,自適應(yīng)優(yōu)化器傾向于比SGD更快地收斂,然而,他們的最終表現(xiàn)通常稍差。SGD通常會達到更好的最小值,從而獲得更好的最終準確性,但這可能需要比某些優(yōu)化程序長得多的時間。它也更依賴于強大的初始化和學習速率衰減時間表,這在實踐中可能非常困難。

          因此,如果你需要一些快速的結(jié)果,或者只是想測試一個新的技術(shù),選擇自適應(yīng)優(yōu)化器。我發(fā)現(xiàn)Adam很容易使用,因為它對你選擇完美的學習率并不是很敏感。如果您想獲得絕對最佳的最終表現(xiàn),請使用SGD + Momentum,并使用學習率,衰減和動量值來最大化表現(xiàn)。

          兩全其美的方法有木有!

          它最近的研究顯示,你可以做到兩全其美:高速訓練頂尖的性能通過切換從Adam到SGD!這個想法是,訓練的早期階段實際上是SGD對參數(shù)調(diào)整和初始化非常敏感的時候。因此,我們可以通過使用Adam來啟動我們的訓練,這將使您節(jié)省相當長的時間,而不必擔心初始化和參數(shù)調(diào)整。那么,一旦Adam運轉(zhuǎn)起來,我們可以切換到SGD +動量優(yōu)化,以達到最佳性能!

          Adam vs SGD表現(xiàn)。由于魯棒性和自適應(yīng)學習速度,Adam在一開始表現(xiàn)更好,而SGD最終達到更好的全局最小值。

          3 - 如何處理不平衡的數(shù)據(jù)


          在很多情況下,您將處理不平衡的 數(shù)據(jù),特別是在現(xiàn)實世界的應(yīng)用程序中。舉一個簡單而實際的例子:為了安全起見,您正在訓練您的深度網(wǎng)絡(luò)以預(yù)測視頻流中是否有人持有致命武器。但是在你的訓練數(shù)據(jù)中,你只有50個拿著武器的人的視頻和1000個沒有武器的人的視頻!如果你只是用這些數(shù)據(jù)來訓練你的網(wǎng)絡(luò),那么你的模型肯定會非常偏向于預(yù)測沒有人有武器!

          有幾件事你可以做到這一點:

          · 在損失函數(shù)中使用類權(quán)重:本質(zhì)上,代表性不足的類在損失函數(shù)中獲得更高的權(quán)重,因此對該特定類的任何錯誤分類將導致?lián)p失函數(shù)中的非常高的誤差。

          · 過度抽樣:重復(fù)一些包含代表性不足的訓練樣例,有助于平衡分配。如果可用的數(shù)據(jù)很小,這最好。

          · 欠采樣:您可以簡單地跳過一些包含過度表示類的訓練示例。如果可用數(shù)據(jù)非常大,這最好。

          · 數(shù)據(jù)增加為少數(shù)類:您可以綜合創(chuàng)建更多的代表性不足的訓練示例!例如,在前面檢測致命武器的例子中,你可以改變屬于具有致命武器的類別的視頻的一些顏色和光照。

          4 - 遷移學習


          正如我們在第一個提示中所看到的,深層網(wǎng)絡(luò)需要大量的數(shù)據(jù)。不幸的是,對于許多新的應(yīng)用程序來說,這些數(shù)據(jù)可能很難并且花費很高。如果我們希望我們的模型表現(xiàn)良好,我們可能需要數(shù)十或數(shù)十萬個新的訓練樣例進行訓練。如果數(shù)據(jù)集不易獲取,則必須全部收集并手動標記。

          這就是遷移學習的起點。通過遷移學習,我們不需要太多的數(shù)據(jù)!這個想法是從一個以前在數(shù)百萬圖像上訓練過的網(wǎng)絡(luò)開始的,比如在ImageNet上預(yù)訓練的ResNet。然后,我們將通過僅重新訓練最后幾個層并使其他層獨立來微調(diào)ResNet模型。那樣的話,我們正在將ResNet從數(shù)百萬圖像中學到的信息(圖像特征)進行微調(diào),以便我們可以將它應(yīng)用于不同的任務(wù)。這是可能的,因為跨域的圖像的特征信息通常非常相似,但是這些特征的分析可以根據(jù)應(yīng)用而不同。

          一個基本的遷移學習通道

          5 - 快速簡單的數(shù)據(jù)增強,以提高性能


          我們現(xiàn)在說過幾次:更多的數(shù)據(jù)=更好的表現(xiàn)。除了遷移學習之外,另一種快速而簡單的方法來提高模型的性能,即數(shù)據(jù)增強。數(shù)據(jù)增強涉及通過在使用原始類別標簽的同時通過改變數(shù)據(jù)集中的一些原始圖像來生成合成訓練示例。例如,圖像數(shù)據(jù)增強的常見方式包括:

          · 水平和垂直旋轉(zhuǎn)或翻轉(zhuǎn)圖像

          · 改變圖像的亮度和顏色

          · 隨機模糊圖像

          · 隨機從圖像裁剪補丁

          基本上,你可以進行任何改變,改變圖像的外觀,但不是整體的內(nèi)容,即你可以制作一個藍色的狗的照片,但你仍然應(yīng)該能夠清楚地看到,照片上是一個狗。

          數(shù)據(jù)裂變!

          6 - 訓練模型的合奏!


          在機器學習中,集合訓練多個模型,然后將它們組合在一起以獲得更高的性能。因此,這個想法是在相同的數(shù)據(jù)集上訓練同一個任務(wù)上的多個深度網(wǎng)絡(luò)模型。模型的結(jié)果然后可以通過投票方案來進行組合,即具有最高票數(shù)的勝出。

          為了確保所有模型不同,可以使用隨機權(quán)重初始化和隨機數(shù)據(jù)增強。眾所周知,由于使用了多個模型,因此集合通常比單個模型精確得多,因此從不同角度接近任務(wù)。在現(xiàn)實世界的應(yīng)用中,尤其是挑戰(zhàn)或競爭中,幾乎所有頂級模型都使用合奏。

          合奏模型

          7 - 加快修剪


          我們知道模型精度隨深度而增加,但速度又如何呢?更多的圖層意味著更多的參數(shù),更多的參數(shù)意味著更多的計算,更多的內(nèi)存消耗和更慢的速度。理想情況下,我們希望在提高速度的同時保持高精度。我們可以通過修剪來做到這一點。

          深度神經(jīng)網(wǎng)絡(luò)修剪的步驟

          這個想法是,在網(wǎng)絡(luò)中的許多參數(shù)中,有些是多余的,對輸出沒有太大貢獻。如果您可以根據(jù)對網(wǎng)絡(luò)的貢獻排列網(wǎng)絡(luò)中的神經(jīng)元,則可以從網(wǎng)絡(luò)中移除低排名的神經(jīng)元,從而形成更小,更快的網(wǎng)絡(luò)。可以根據(jù)神經(jīng)元權(quán)重的L1 / L2均值,平均激活,一些驗證集上神經(jīng)元不為零的次數(shù)以及其他創(chuàng)造性方法來進行排序。獲得更快/更小的網(wǎng)絡(luò)對于在移動設(shè)備上運行深度學習網(wǎng)絡(luò)非常重要。

          修剪網(wǎng)絡(luò)的最基本的方法是簡單地放棄某些卷積濾波器。在近期的一篇文章中,這樣做是相當成功的。這項工作中的神經(jīng)元排名相當簡單:它是每個濾波器權(quán)重的L1范數(shù)。在每個修剪迭代中,他們對所有的過濾器進行排序,在全部層中修剪m個排名最低的過濾器,重新訓練和重復(fù)!

          在近期的另一篇分析剩余網(wǎng)絡(luò)結(jié)構(gòu)的文章中提出了修剪過濾器的一個關(guān)鍵洞察。作者指出,在刪除層的時候,具有剩余快捷連接的網(wǎng)絡(luò)(例如ResNets)與沒有使用任何快捷連接的網(wǎng)絡(luò)(如VGG或AlexNet)相比,保留更加良好的精度并且穩(wěn)健得多。這個有趣的發(fā)現(xiàn)具有重要的實際意義,因為它告訴我們在修剪網(wǎng)絡(luò)進行部署和應(yīng)用時,網(wǎng)絡(luò)設(shè)計是至關(guān)重要的(使用ResNets?。K允褂米钚伦詈玫姆椒偸呛芎玫?!

          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學視覺」公眾號后臺回復(fù):擴展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目52講
          小白學視覺公眾號后臺回復(fù):Python視覺實戰(zhàn)項目即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學視覺公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學習進階。

          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 58
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧洲亚洲无码视频 | 亚洲无码精品专业 | 天天日天天干天天舔天天射 | 激情国产福利 | 欧美黄片免费观看 |