日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何直观地解释 back propagation 算法?

發布時間:2024/9/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何直观地解释 back propagation 算法? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡單的理解,它的確就是復合函數的鏈式法則,但其在實際運算中的意義比鏈式法則要大的多。

多層神經網絡的本質就是一個多層復合的函數。借用網上找到的一幅圖[1],來直觀描繪一下這種復合關系。

其對應的表達式如下:

上面式中的Wij就是相鄰兩層神經元之間的權值,它們就是深度學習需要學習的參數,也就相當于直線擬合y=k*x+b中的待求參數k和b。

和直線擬合一樣,深度學習的訓練也有一個目標函數,這個目標函數定義了什么樣的參數才算一組“好參數”,不過在機器學習中,一般是采用成本函數(cost function),然后,訓練目標就是通過調整每一個權值Wij來使得cost達到最小。cost函數也可以看成是由所有待求權值Wij為自變量的復合函數,而且基本上是非凸的,即含有許多局部最小值。但實際中發現,采用我們常用的梯度下降法就可以有效的求解最小化cost函數的問題。
梯度下降法需要給定一個初始點,并求出該點的梯度向量,然后以負梯度方向為搜索方向,以一定的步長進行搜索,從而確定下一個迭代點,再計算該新的梯度方向,如此重復直到cost收斂。那么如何計算梯度呢?

假設我們把cost函數表示為,那么它的梯度向量[2]就等于, 其中表示正交單位向量。為此,我們需求出cost函數H對每一個權值Wij的偏導數。而BP算法正是用來求解這種多層復合函數的所有變量的偏導數的利器。





利用鏈式法則我們知道:
以及

大家也許已經注意到,這樣做是十分冗余的,因為很多路徑被重復訪問了。對于權值動則數萬的深度模型中的神經網絡,這樣的冗余所導致的計算量是相當大的。


同樣是利用鏈式法則,BP算法則機智地避開了這種冗余,它對于每一個路徑只訪問一次就能求頂點對所有下層節點的偏導值。
正如反向傳播(BP)算法的名字說的那樣,BP算法是反向(自上往下)來尋找路徑的。





總結

以上是生活随笔為你收集整理的如何直观地解释 back propagation 算法?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。