欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

反向傳播BP學(xué)習(xí)算法Gradient?Descent的推導(dǎo)過程

 更新時(shí)間:2022年05月10日 14:06:27   作者:Cyril_KI  
這篇文章主要為大家介紹了反向傳播BP學(xué)習(xí)算法-Gradient?Descent的推導(dǎo)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

BP算法是適用于多層神經(jīng)網(wǎng)絡(luò)的一種算法,它是建立在梯度下降法的基礎(chǔ)上的。本文著重推導(dǎo)怎樣利用梯度下降法來minimise Loss Function。

給出多層神經(jīng)網(wǎng)絡(luò)的示意圖:

1.定義Loss Function

每一個(gè)輸出都對應(yīng)一個(gè)損失函數(shù)L,將所有L加起來就是total loss。

那么每一個(gè)L該如何定義呢?這里還是采用了交叉熵,如下所示:

最終Total Loss的表達(dá)式如下:

2.Gradient Descent

L對應(yīng)了一個(gè)參數(shù),即Network parameters θ(w1,w2…b1,b2…),那么Gradient Descent就是求出參數(shù) θ∗來minimise Loss Function,即:

梯度下降的具體步驟為:

圖源:李宏毅機(jī)器學(xué)習(xí)講稿

3.求偏微分

從上圖可以看出,這里難點(diǎn)主要是求偏微分,由于L是所有損失之和,因此我們只需要對其中一個(gè)損失求偏微分,最后再求和即可。

先抽取一個(gè)簡單的神經(jīng)元來解釋:

因?yàn)槲覀儾⒉恢篮竺娴降子卸嗌賹?,也不知道情況到底有多復(fù)雜,我們不妨先取一種最簡單的情況,如下所示:

4.反向傳播

l對兩個(gè)z的偏導(dǎo)我們假設(shè)是已知的,并且在這里是作為輸入,三角形結(jié)構(gòu)可以理解為一個(gè)乘法運(yùn)算電路,其放大系數(shù)為 σ′(z)。但是在實(shí)際情況中,l對兩個(gè)z的偏導(dǎo)是未知的。假設(shè)神經(jīng)網(wǎng)絡(luò)最終的結(jié)構(gòu)就是如上圖所示,那么我們的問題已經(jīng)解決了:

其中:

但是假如該神經(jīng)元不是最后一層,我們又該如何呢?比如又多了一層,如下所示:

原理跟上面類似,如下所示:

那假設(shè)我們再加一層呢?再加兩層呢?再加三層呢?。。。,情況還是一樣的,還是先求l對最后一層z的導(dǎo)數(shù),乘以權(quán)重相加后最后再乘上 σ′(z′′,z′′′,...)即可。

最后給一個(gè)實(shí)例:

它的反向傳播圖長這樣:

我們不難發(fā)現(xiàn),這種計(jì)算方式很清楚明了地體現(xiàn)了“反向傳播”四個(gè)字。好了,目標(biāo)達(dá)成??!

5.總結(jié)

以上就是反向傳播BP學(xué)習(xí)算法-Gradient Descent的推導(dǎo)過程的詳細(xì)內(nèi)容,更多關(guān)于BP反向傳播Gradient Descent推導(dǎo)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • GIt的基本操作詳解

    GIt的基本操作詳解

    本文主要介紹了GIt的基本操作。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • 在Linux下搭建Git服務(wù)器的方法詳解

    在Linux下搭建Git服務(wù)器的方法詳解

    雖然用Git的人不多,但是git不僅僅是svn等版本控制系統(tǒng)的替換工具,它自己強(qiáng)大的功能,穩(wěn)定的性能,方便快捷等優(yōu)點(diǎn)自然不需多說,不了解的人自行去網(wǎng)上查看。本文將會(huì)詳細(xì)介紹在Linux下搭建Git服務(wù)器的方法,有需要的朋友們可以參考借鑒。
    2016-09-09
  • 微信小程序?qū)W習(xí)之初探小程序

    微信小程序?qū)W習(xí)之初探小程序

    這兩天“微信小程序”這個(gè)詞占據(jù)了朋友圈,大有一番風(fēng)起云涌之勢,當(dāng)然,還不可能夸張到使原生App開發(fā)人員失業(yè)這種程度。當(dāng)然,作為一名技術(shù)人員,時(shí)刻保持對新技術(shù)的好奇心是必須的,所以在網(wǎng)上找大神的教程,搭建了一下開發(fā)環(huán)境,來學(xué)習(xí)一下這個(gè)新的開發(fā)框架。
    2016-09-09
  • 詳解git使用小結(jié)(本地分支與遠(yuǎn)程分支、git命令)

    詳解git使用小結(jié)(本地分支與遠(yuǎn)程分支、git命令)

    這篇文章主要介紹了git使用小結(jié)(本地分支與遠(yuǎn)程分支、git命令),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 在IDEA(2020.2)中配置Git及使用Git的圖文詳解

    在IDEA(2020.2)中配置Git及使用Git的圖文詳解

    這篇文章主要介紹了在IDEA(2020.2)中配置Git及使用Git的圖文詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 反向傳播BP學(xué)習(xí)算法Gradient?Descent的推導(dǎo)過程

    反向傳播BP學(xué)習(xí)算法Gradient?Descent的推導(dǎo)過程

    這篇文章主要為大家介紹了反向傳播BP學(xué)習(xí)算法-Gradient?Descent的推導(dǎo)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • vscode修改默認(rèn)瀏覽器的方法

    vscode修改默認(rèn)瀏覽器的方法

    本文給大家介紹的是如何實(shí)現(xiàn)Vscode瀏覽器打開html頁面的方法,非常的實(shí)用,有需要的小伙伴可以查看下
    2020-02-02
  • Web 開發(fā)中遇到的UTF-8編碼的問題總結(jié)

    Web 開發(fā)中遇到的UTF-8編碼的問題總結(jié)

    一個(gè)網(wǎng)站如果需要國際化,就需要將編碼從GB2312轉(zhuǎn)成UTF-8,其中有很多的問題需要注意,如果沒有轉(zhuǎn)換徹底,將會(huì)有很多的編碼問題出現(xiàn)!
    2010-02-02
  • 使用VSCode如何從github拉取項(xiàng)目的實(shí)現(xiàn)

    使用VSCode如何從github拉取項(xiàng)目的實(shí)現(xiàn)

    這篇文章主要介紹了使用VSCode如何從github拉取項(xiàng)目的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 使用git checkout到歷史某個(gè)版本

    使用git checkout到歷史某個(gè)版本

    這篇文章主要介紹了使用git checkout到歷史某個(gè)版本,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論