HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    bp神經(jīng)網(wǎng)絡(luò)反向傳播算法(bp神經(jīng)網(wǎng)絡(luò)反向傳播算法是什么)

    發(fā)布時(shí)間:2023-04-08 07:56:03     稿源: 創(chuàng)意嶺    閱讀: 143        

    大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于bp神經(jīng)網(wǎng)絡(luò)反向傳播算法的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。

    開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    bp神經(jīng)網(wǎng)絡(luò)反向傳播算法(bp神經(jīng)網(wǎng)絡(luò)反向傳播算法是什么)

    一、什么是BP算法

    bp算法,即反向傳播方法,是用來(lái)訓(xùn)練前向網(wǎng)絡(luò)的一種普遍算法

    二、一文搞懂DNN反向傳播!

    本文主要整理自下面的幾篇博客:

    1、深度神經(jīng)網(wǎng)絡(luò)(DNN)反向傳播算法(BP): https://www.cnblogs.com/pinard/p/6422831.html

    2、機(jī)器學(xué)習(xí)中的矩陣、向量求導(dǎo)。 https://download.csdn.net/download/weixin_42074867/10405246

    1、推導(dǎo)BPNN前需要了解的矩陣求導(dǎo)知識(shí)

    1.1 矩陣/向量值函數(shù)對(duì)實(shí)數(shù)的導(dǎo)數(shù)

    1.2 實(shí)值函數(shù)對(duì)矩陣/向量的導(dǎo)數(shù)

    1.3 向量值函數(shù)對(duì)向量的求導(dǎo)(雅可比矩陣)

    1.4 變量多次出現(xiàn)的求導(dǎo)法則

    規(guī)則:若在函數(shù)表達(dá)式中,某個(gè)變量出現(xiàn)了多次,可以單獨(dú)計(jì)算函數(shù)對(duì)自變量的每一次出現(xiàn)的導(dǎo)數(shù),再把結(jié)果加起來(lái)。

    1.5 向量求導(dǎo)的鏈?zhǔn)椒▌t

    1.6 一一對(duì)應(yīng)關(guān)系下的矩陣求導(dǎo)

    1.7 幾個(gè)重要的結(jié)論

    掌握了上面的一些基本知識(shí)之后,我們就可以順利推導(dǎo)出神經(jīng)網(wǎng)絡(luò)的反向傳播算法。

    2、反向傳播的推導(dǎo)

    具體的推導(dǎo)過(guò)程可以參考文章開(kāi)頭給出的博客,下圖是我手動(dòng)推導(dǎo)的過(guò)程:

    贊賞支持

    鏈接:https://www.jianshu.com/p/ee08ed75844b

    來(lái)源:

    三、bp算法是什么?

    誤差反向傳播算法:

    BP算法的基本思想是,學(xué)習(xí)過(guò)程包括兩個(gè)過(guò)程:信號(hào)前向傳播和誤差后向傳播。

    (1)前向傳播:輸入樣本->輸入層->各隱層(處理)->輸出層。

    (2)錯(cuò)誤反向傳播:輸出錯(cuò)誤(某種形式)->隱藏層(逐層)->輸入層。

    bp神經(jīng)網(wǎng)絡(luò)反向傳播算法(bp神經(jīng)網(wǎng)絡(luò)反向傳播算法是什么)

    BP算法基本介紹:

    多層隱含層前饋網(wǎng)絡(luò)可以極大地提高神經(jīng)網(wǎng)絡(luò)的分類能力,但長(zhǎng)期以來(lái)一直沒(méi)有提出解決權(quán)值調(diào)整問(wèn)題的博弈算法。

    1986年,Rumelhart和McCelland領(lǐng)導(dǎo)的科學(xué)家團(tuán)隊(duì)出版了《并行分布式處理》一書(shū),詳細(xì)分析了具有非線性連續(xù)傳遞函數(shù)的多層前饋網(wǎng)絡(luò)的誤差反向比例(BP)算法,實(shí)現(xiàn)了Minsky關(guān)于多層網(wǎng)絡(luò)的思想。由于誤差的反向傳播算法常用于多層前饋網(wǎng)絡(luò)的訓(xùn)練,人們常直接稱多層前饋網(wǎng)絡(luò)為BP網(wǎng)絡(luò)。

    四、一文徹底搞懂BP算法:原理推導(dǎo)+數(shù)據(jù)演示+項(xiàng)目實(shí)戰(zhàn)(上篇)

    反向傳播算法(Backpropagation Algorithm,簡(jiǎn)稱BP算法)是深度學(xué)習(xí)的重要思想基礎(chǔ),對(duì)于初學(xué)者來(lái)說(shuō)也是必須要掌握的基礎(chǔ)知識(shí)!本文希望以一個(gè)清晰的脈絡(luò)和詳細(xì)的說(shuō)明,來(lái)讓讀者徹底明白BP算法的原理和計(jì)算過(guò)程。

    全文分為上下兩篇,上篇主要介紹BP算法的原理(即公式的推導(dǎo)),介紹完原理之后,我們會(huì)將一些具體的數(shù)據(jù)帶入一個(gè)簡(jiǎn)單的三層神經(jīng)網(wǎng)絡(luò)中,去完整的體驗(yàn)一遍BP算法的計(jì)算過(guò)程;下篇是一個(gè)項(xiàng)目實(shí)戰(zhàn),我們將帶著讀者一起親手實(shí)現(xiàn)一個(gè)BP神經(jīng)網(wǎng)絡(luò)(不使用任何第三方的深度學(xué)習(xí)框架)來(lái)解決一個(gè)具體的問(wèn)題。

    圖 1 所示是一個(gè)簡(jiǎn)單的三層(兩個(gè)隱藏層,一個(gè)輸出層)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),假設(shè)我們使用這個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)解決二分類問(wèn)題,我們給這個(gè)網(wǎng)絡(luò)一個(gè)輸入樣本 ,通過(guò)前向運(yùn)算得到輸出 。輸出值 的值域?yàn)? ,例如 的值越接近0,代表該樣本是"0"類的可能性越大,反之是"1"類的可能性大。

    為了便于理解后續(xù)的內(nèi)容,我們需要先搞清楚前向傳播的計(jì)算過(guò)程,以圖1所示的內(nèi)容為例:

    輸入的樣本為:

    第一層網(wǎng)絡(luò)的參數(shù)為:

    第二層網(wǎng)絡(luò)的參數(shù)為:

    第三層網(wǎng)絡(luò)的參數(shù)為:

    第一層隱藏層有三個(gè)神經(jīng)元: 、 和 。該層的輸入為:

    以 神經(jīng)元為例,則其輸入為:

    同理有:

    假設(shè)我們選擇函數(shù) 作為該層的激活函數(shù)(圖1中的激活函數(shù)都標(biāo)了一個(gè)下標(biāo),一般情況下,同一層的激活函數(shù)都是一樣的,不同層可以選擇不同的激活函數(shù)),那么該層的輸出為: 、 和 。

    第二層隱藏層有兩個(gè)神經(jīng)元: 和 。該層的輸入為:

    即第二層的輸入是第一層的輸出乘以第二層的權(quán)重,再加上第二層的偏置。因此得到和的輸入分別為:

    該層的輸出分別為: 和 。

    輸出層只有一個(gè)神經(jīng)元 :。該層的輸入為:

    即:

    因?yàn)樵摼W(wǎng)絡(luò)要解決的是一個(gè)二分類問(wèn)題,所以輸出層的激活函數(shù)也可以使用一個(gè)Sigmoid型函數(shù),神經(jīng)網(wǎng)絡(luò)最后的輸出為: 。

    在1.1節(jié)里,我們已經(jīng)了解了數(shù)據(jù)沿著神經(jīng)網(wǎng)絡(luò)前向傳播的過(guò)程,這一節(jié)我們來(lái)介紹更重要的反向傳播的計(jì)算過(guò)程。假設(shè)我們使用隨機(jī)梯度下降的方式來(lái)學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的參數(shù),損失函數(shù)定義為 ,其中 是該樣本的真實(shí)類標(biāo)。使用梯度下降進(jìn)行參數(shù)的學(xué)習(xí),我們必須計(jì)算出損失函數(shù)關(guān)于神經(jīng)網(wǎng)絡(luò)中各層參數(shù)(權(quán)重 和偏置 )的偏導(dǎo)數(shù)。

    假設(shè)我們要對(duì)第 層隱藏層的參數(shù) 和 求偏導(dǎo)數(shù),即求 和 。假設(shè) 代表第 層神經(jīng)元的輸入,即 ,其中 為前一層神經(jīng)元的輸出,則根據(jù)鏈?zhǔn)椒▌t有:

    因此,我們只需要計(jì)算偏導(dǎo)數(shù) 、 和 。

    前面說(shuō)過(guò),第k層神經(jīng)元的輸入為: ,因此可以得到:

    上式中, 代表第 層神經(jīng)元的權(quán)重矩陣 的第 行, 代表第 層神經(jīng)元的權(quán)重矩陣 的第 行中的第 列。

    我們以1.1節(jié)中的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)為例,假設(shè)我們要計(jì)算第一層隱藏層的神經(jīng)元關(guān)于權(quán)重矩陣的導(dǎo)數(shù),則有:

    因?yàn)槠胋是一個(gè)常數(shù)項(xiàng),因此偏導(dǎo)數(shù)的計(jì)算也很簡(jiǎn)單:

    依然以第一層隱藏層的神經(jīng)元為例,則有:

    偏導(dǎo)數(shù) 又稱為 誤差項(xiàng)(error term,也稱為“靈敏度”) ,一般用 表示,例如 是第一層神經(jīng)元的誤差項(xiàng),其值的大小代表了第一層神經(jīng)元對(duì)于最終總誤差的影響大小。

    根據(jù)第一節(jié)的前向計(jì)算,我們知道第 層的輸入與第 層的輸出之間的關(guān)系為:

    又因?yàn)? ,根據(jù)鏈?zhǔn)椒▌t,我們可以得到 為:

    由上式我們可以看到,第 層神經(jīng)元的誤差項(xiàng) 是由第 層的誤差項(xiàng)乘以第 層的權(quán)重,再乘以第 層激活函數(shù)的導(dǎo)數(shù)(梯度)得到的。這就是誤差的反向傳播。

    現(xiàn)在我們已經(jīng)計(jì)算出了偏導(dǎo)數(shù) 、 和 ,則 和 可分別表示為:

    下面是基于隨機(jī)梯度下降更新參數(shù)的反向傳播算法:

    單純的公式推導(dǎo)看起來(lái)有些枯燥,下面我們將實(shí)際的數(shù)據(jù)帶入圖1所示的神經(jīng)網(wǎng)絡(luò)中,完整的計(jì)算一遍。

    我們依然使用如圖5所示的簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),其中所有參數(shù)的初始值如下:

    輸入的樣本為(假設(shè)其真實(shí)類標(biāo)為"1"):

    第一層網(wǎng)絡(luò)的參數(shù)為:

    第二層網(wǎng)絡(luò)的參數(shù)為:

    第三層網(wǎng)絡(luò)的參數(shù)為:

    假設(shè)所有的激活函數(shù)均為L(zhǎng)ogistic函數(shù): 。使用均方誤差函數(shù)作為損失函數(shù):

    為了方便求導(dǎo),我們將損失函數(shù)簡(jiǎn)化為:

    我們首先初始化神經(jīng)網(wǎng)絡(luò)的參數(shù),計(jì)算第一層神經(jīng)元:

    上圖中我們計(jì)算出了第一層隱藏層的第一個(gè)神經(jīng)元的輸入 和輸出 ,同理可以計(jì)算第二個(gè)和第三個(gè)神經(jīng)元的輸入和輸出:

    接下來(lái)是第二層隱藏層的計(jì)算,首先我們計(jì)算第二層的第一個(gè)神經(jīng)元的輸入z₄和輸出f₄(z₄):

    同樣方法可以計(jì)算該層的第二個(gè)神經(jīng)元的輸入 和輸出 :

    最后計(jì)算輸出層的輸入 和輸出 :

    首先計(jì)算輸出層的誤差項(xiàng) ,我們的誤差函數(shù)為 ,由于該樣本的類標(biāo)為“1”,而預(yù)測(cè)值為 ,因此誤差為 ,輸出層的誤差項(xiàng)為:

    接著計(jì)算第二層隱藏層的誤差項(xiàng),根據(jù)誤差項(xiàng)的計(jì)算公式有:

    最后是計(jì)算第一層隱藏層的誤差項(xiàng):

    以上就是關(guān)于bp神經(jīng)網(wǎng)絡(luò)反向傳播算法相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    手機(jī)webp轉(zhuǎn)換gif工具(webp轉(zhuǎn)gif手機(jī)軟件)

    抖音bp直達(dá)鏈接生成器(抖音bp直達(dá)鏈接生成器是真的嗎)

    ebpay最新下載網(wǎng)址(eb 下載)

    非著名景觀設(shè)計(jì)師是誰(shuí)(著名的景觀設(shè)計(jì)師)

    bls排行榜(bls榜單)