<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>

          機器學習之——自動求導

          共 2347字,需瀏覽 5分鐘

           ·

          2021-10-13 19:05

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

          重磅干貨,第一時間送達

          本文轉自|機器學習算法工程師

          隨機梯度下降法(SGD)是訓練深度學習模型最常用的優(yōu)化方法。在前期文章中我們講了梯度是如何計算的,主要采用BP算法,或者說利用鏈式法則。但是深度學習模型是復雜多樣的,你不大可能每次都要自己使用鏈式法則去計算梯度,然后采用硬編程的方式實現(xiàn)。

          而目前的深度學習框架其都是實現(xiàn)了自動求梯度的功能,你只關注模型架構的設計,而不必關注模型背后的梯度是如何計算的。不過,我們還是想說一說自動求導是如何實現(xiàn)的。

          這里我們會講幾種常見的方法,包括數(shù)值微分(Numerical Differentiation),符號微分(Symbolic Differentiation),前向模式(Forward Mode)和反向模式(Reverse Mode)




          數(shù)值微分

          ?

          ???????數(shù)值微分方式應該是最直接而且簡單的一種自動求導方式。從導數(shù)的定義中,我們可以直觀看到:


          ???????

          h接近0時,導數(shù)是可以近似計算出來的。可以看到上面的計算式幾乎適用所有情況,除非該點不可導。可是數(shù)值微分卻有兩個問題,第一個就是求出的導數(shù)可能不準確,這畢竟是近似表示,比如要求f(x)=x^2在零點附近的導數(shù),如果h選取不當,你可能會得到符號相反的結果,此時誤差就比較大了。第二個問題是對于參數(shù)比較多時,對深度學習模型來說,上面的計算是不夠高效的,因為每計算一個參數(shù)的導數(shù),你都需要重新計算f(x+h)。但是數(shù)值運算有一個特殊的用武之地就是在于可以做梯度檢查(Gradient check),你可以用這種不高效但簡單的方法去檢查其他方法得到的梯度是否正確。


          符號模式

          ? ? ???

          符號微分適合符號表達式的自動求導,符號微分技術廣泛應用在數(shù)學軟件如MatlabMapleMathematica等。符號微分的原理是基于下面的簡單求導規(guī)則:



          當我們將符號表達式用表達式樹表示時,可以利用加法規(guī)則和乘法規(guī)則進行自動求導。比如我們要求符號表達式f(x)=2x+x^2,可以展開成如下圖的表達式樹:

          利用求導規(guī)則,可以求出:

          基于表達式樹和求導規(guī)則,我們可以得到最終的導數(shù)。有一點要注意的是,符號微分不一定會得到簡化的導數(shù),因為計算機可能并不能進行智能的簡化。所以,如果表達式樹結構較復雜時,得到的導數(shù)表達式會相當復雜,也許出現(xiàn)表達式爆炸現(xiàn)象。



          向前模式


          ? ? ?? 前向模式最簡單明了,其基于的是二元數(shù)(dual numbers)。我們先來講解一下二元數(shù),其基本格式如下所示:


          其中ab都是實數(shù),而是無窮小量,你可以認為其無限接近0,但是并不等于0,并且,這是借鑒了微積分中的概念。所以,你可以認為是一個接近5的數(shù)。對于二元數(shù),其滿足簡單的加法和乘法規(guī)則:


          對于二元數(shù),其更重要的一個特性是:

          這意味著,我們只需要計算出,就可以得到以及其對應的導數(shù)所以,一個前向計算過程可以同時得到函數(shù)值與其導數(shù),這就是前向模式的原理。舉例來說,如果要計算f(x)=2x+x^2x=2處的函數(shù)值與導數(shù),其計算過程如下所示:



          反向模式


          ? ? 最后要說的就是反向模式,反向模式就是我們常說的BP算法,其基于的原理是鏈式法則。我們僅需要一個前向過程和反向過程就可以計算所有參數(shù)的導數(shù)或者梯度,這對于擁有大量訓練參數(shù)的神經網絡模型梯度的計算特別適合,所以常用的深度學習框架如Tensorflow其自動求導就是基于反向模式。方向模式具體的實現(xiàn)細節(jié)可以參考之前的文章。


          參考資料

          1. Automatic Differentiation in Machine Learning: a Survey,

          https://arxiv.org/pdf/1502.05767.pdf

          2. Hands-On Machine Learning with Scikit-Learn and TensorFlow, Aurélien Géron, 2017.


          好消息,小白學視覺團隊的知識星球開通啦,為了感謝大家的支持與厚愛,團隊決定將價值149元的知識星球現(xiàn)時免費加入。各位小伙伴們要抓住機會哦!


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

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

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

          交流群


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


          瀏覽 82
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  午夜理理伦电影A片无码蜜桃av | 国产精品一区二区在线 | 你懂的视频 | 成人免费视频 国产在线观看 | 四虎成人精品永久免费AV |