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

    神經(jīng)網(wǎng)絡(luò)誤差反向傳播(神經(jīng)網(wǎng)絡(luò)誤差反向傳播算法)

    發(fā)布時間:2023-04-17 18:15:21     稿源: 創(chuàng)意嶺    閱讀: 104        

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

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

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

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

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

    本文目錄:

    神經(jīng)網(wǎng)絡(luò)誤差反向傳播(神經(jīng)網(wǎng)絡(luò)誤差反向傳播算法)

    一、bp代表什么呀

    BP神經(jīng)網(wǎng)絡(luò) BP (Back Propagation)神經(jīng)網(wǎng)絡(luò)是一種神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,全稱基于誤差反向傳播算法的人工神經(jīng)網(wǎng)絡(luò)。

    如圖所示拓?fù)浣Y(jié)構(gòu)的單隱層前饋網(wǎng)絡(luò),一般稱為三層前饋網(wǎng)或三層感知器,即:輸入層、中間層(也稱隱層)和輸出層。它的特點(diǎn)是:各層神經(jīng)元僅與相鄰層神經(jīng)元之間相互全連接,同層內(nèi)神經(jīng)元之間無連接,各層神經(jīng)元之間無反饋連接,夠成具有層次結(jié)構(gòu)的前饋型神經(jīng)網(wǎng)絡(luò)系統(tǒng)。單計算層前饋神經(jīng)網(wǎng)絡(luò)只能求解線性可分問題,能夠求解非線性問題的網(wǎng)絡(luò)必須是具有隱層的多層神經(jīng)網(wǎng)絡(luò)。

    在人工神經(jīng)網(wǎng)絡(luò)發(fā)展歷史中,很長一段時間里沒有找到隱層的連接權(quán)值調(diào)整問題的有效算法。直到誤差反向傳播算法(BP算法)的提出,成功地解決了求解非線性連續(xù)函數(shù)的多層前饋神經(jīng)網(wǎng)絡(luò)權(quán)重調(diào)整問題。

    BP (Back Propagation)神經(jīng)網(wǎng)絡(luò),即誤差反傳誤差反向傳播算法的學(xué)習(xí)過程,由信息的正向傳播和誤差的反向傳播兩個過程組成。輸入層各神經(jīng)元負(fù)責(zé)接收來自外界的輸入信息,并傳遞給中間層各神經(jīng)元;中間層是內(nèi)部信息處理層,負(fù)責(zé)信息變換,根據(jù)信息變化能力的需求,中間層可以設(shè)計為單隱層或者多隱層結(jié)構(gòu);最后一個隱層傳遞到輸出層各神經(jīng)元的信息,經(jīng)進(jìn)一步處理后,完成一次學(xué)習(xí)的正向傳播處理過程,由輸出層向外界輸出信息處理結(jié)果。當(dāng)實(shí)際輸出與期望輸出不符時,進(jìn)入誤差的反向傳播階段。誤差通過輸出層,按誤差梯度下降的方式修正各層權(quán)值,向隱層、輸入層逐層反傳。周而復(fù)始的信息正向傳播和誤差反向傳播過程,是各層權(quán)值不斷調(diào)整的過程,也是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練的過程,此過程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或者預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。

    神經(jīng)網(wǎng)絡(luò)

    神經(jīng)網(wǎng)絡(luò)是:

    思維學(xué)普遍認(rèn)為,人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。

    邏輯性的思維是指根據(jù)邏輯規(guī)則進(jìn)行推理的過程;它先將信息化成概念,并用符號表示,然后,根據(jù)符號運(yùn)算按串行模式進(jìn)行邏輯推理;這一過程可以寫成串行的指令,讓計算機(jī)執(zhí)行。然而,直觀性的思維是將分布式存儲的信息綜合起來,結(jié)果是忽然間產(chǎn)生想法或解決問題的辦法。這種思維方式的根本之點(diǎn)在于以下兩點(diǎn):1.信息是通過神經(jīng)元上的興奮模式分布儲在網(wǎng)絡(luò)上;2.信息處理是通過神經(jīng)元之間同時相互作用的動態(tài)過程來完成的。

    人工神經(jīng)網(wǎng)絡(luò)就是模擬人思維的第二種方式。這是一個非線性動力學(xué)系統(tǒng),其特色在于信息的分布式存儲和并行協(xié)同處理。雖然單個神經(jīng)元的結(jié)構(gòu)極其簡單,功能有限,但大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)所能實(shí)現(xiàn)的行為卻是極其豐富多彩的。

    神經(jīng)網(wǎng)絡(luò)的研究內(nèi)容相當(dāng)廣泛,反映了多學(xué)科交叉技術(shù)領(lǐng)域的特點(diǎn)。目前,主要的研究工作集中在以下幾個方面:

    (1)生物原型研究。從生理學(xué)、心理學(xué)、解剖學(xué)、腦科學(xué)、病理學(xué)等生物科學(xué)方面研究神經(jīng)細(xì)胞、神經(jīng)網(wǎng)絡(luò)、神經(jīng)系統(tǒng)的生物原型結(jié)構(gòu)及其功能機(jī)理。

    (2)建立理論模型。根據(jù)生物原型的研究,建立神經(jīng)元、神經(jīng)網(wǎng)絡(luò)的理論模型。其中包括概念模型、知識模型、物理化學(xué)模型、數(shù)學(xué)模型等。

    (3)網(wǎng)絡(luò)模型與算法研究。在理論模型研究的基礎(chǔ)上構(gòu)作具體的神經(jīng)網(wǎng)絡(luò)模型,以實(shí)現(xiàn)計算機(jī)饃擬或準(zhǔn)備制作硬件,包括網(wǎng)絡(luò)學(xué)習(xí)算法的研究。這方面的工作也稱為技術(shù)模型研究。

    (4)人工神經(jīng)網(wǎng)絡(luò)應(yīng)用系統(tǒng)。在網(wǎng)絡(luò)模型與算法研究的基礎(chǔ)上,利用人工神經(jīng)網(wǎng)絡(luò)組成實(shí)際的應(yīng)用系統(tǒng),例如,完成某種信號處理或模式識別的功能、構(gòu)作專家系統(tǒng)、制成機(jī)器人等等。

    縱觀當(dāng)代新興科學(xué)技術(shù)的發(fā)展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學(xué)技術(shù)領(lǐng)域的進(jìn)程中歷經(jīng)了崎嶇不平的道路。我們也會看到,探索人腦功能和神經(jīng)網(wǎng)絡(luò)的研究將伴隨著重重困難的克服而日新月異。

    【人工神經(jīng)網(wǎng)絡(luò)的工作原理】

    人工神經(jīng)網(wǎng)絡(luò)首先要以一定的學(xué)習(xí)準(zhǔn)則進(jìn)行學(xué)習(xí),然后才能工作?,F(xiàn)以人工神經(jīng)網(wǎng)絡(luò)對手寫“A”、“B”兩個字母的識別為例進(jìn)行說明,規(guī)定當(dāng)“A”輸入網(wǎng)絡(luò)時,應(yīng)該輸出“1”,而當(dāng)輸入為“B”時,輸出為“0”。

    所以網(wǎng)絡(luò)學(xué)習(xí)的準(zhǔn)則應(yīng)該是:如果網(wǎng)絡(luò)作出錯誤的的判決,則通過網(wǎng)絡(luò)的學(xué)習(xí),應(yīng)使得網(wǎng)絡(luò)減少下次犯同樣錯誤的可能性。首先,給網(wǎng)絡(luò)的各連接權(quán)值賦予(0,1)區(qū)間內(nèi)的隨機(jī)值,將“A”所對應(yīng)的圖象模式輸入給網(wǎng)絡(luò),網(wǎng)絡(luò)將輸入模式加權(quán)求和、與門限比較、再進(jìn)行非線性運(yùn)算,得到網(wǎng)絡(luò)的輸出。在此情況下,網(wǎng)絡(luò)輸出為“1”和“0”的概率各為50%,也就是說是完全隨機(jī)的。這時如果輸出為“1”(結(jié)果正確),則使連接權(quán)值增大,以便使網(wǎng)絡(luò)再次遇到“A”模式輸入時,仍然能作出正確的判斷。

    如果輸出為“0”(即結(jié)果錯誤),則把網(wǎng)絡(luò)連接權(quán)值朝著減小綜合輸入加權(quán)值的方向調(diào)整,其目的在于使網(wǎng)絡(luò)下次再遇到“A”模式輸入時,減小犯同樣錯誤的可能性。如此操作調(diào)整,當(dāng)給網(wǎng)絡(luò)輪番輸入若干個手寫字母“A”、“B”后,經(jīng)過網(wǎng)絡(luò)按以上學(xué)習(xí)方法進(jìn)行若干次學(xué)習(xí)后,網(wǎng)絡(luò)判斷的正確率將大大提高。這說明網(wǎng)絡(luò)對這兩個模式的學(xué)習(xí)已經(jīng)獲得了成功,它已將這兩個模式分布地記憶在網(wǎng)絡(luò)的各個連接權(quán)值上。當(dāng)網(wǎng)絡(luò)再次遇到其中任何一個模式時,能夠作出迅速、準(zhǔn)確的判斷和識別。一般說來,網(wǎng)絡(luò)中所含的神經(jīng)元個數(shù)越多,則它能記憶、識別的模式也就越多。

    “人腦是如何工作的?”

    “人類能否制作模擬人腦的人工神經(jīng)元?”

    多少年以來,人們從醫(yī)學(xué)、生物學(xué)、生理學(xué)、哲學(xué)、信息學(xué)、計算機(jī)科學(xué)、認(rèn)知學(xué)、組織協(xié)同學(xué)等各個角度企圖認(rèn)識并解答上述問題。在尋找上述問題答案的研究過程中,近年來逐漸形成了一個新興的多學(xué)科交叉技術(shù)領(lǐng)域,稱之為“神經(jīng)網(wǎng)絡(luò)”。神經(jīng)網(wǎng)絡(luò)的研究涉及眾多學(xué)科領(lǐng)域,這些領(lǐng)域互相結(jié)合、相互滲透并相互推動。不同領(lǐng)域的科學(xué)家又從各自學(xué)科的興趣與特色出發(fā),提出不同的問題,從不同的角度進(jìn)行研究。

    心理學(xué)家和認(rèn)知科學(xué)家研究神經(jīng)網(wǎng)絡(luò)的目的在于探索人腦加工、儲存和搜索信息的機(jī)制,弄清人腦功能的機(jī)理,建立人類認(rèn)知過程的微結(jié)構(gòu)理論。

    生物學(xué)、醫(yī)學(xué)、腦科學(xué)專家試圖通過神經(jīng)網(wǎng)絡(luò)的研究推動腦科學(xué)向定量、精確和理論化體系發(fā)展,同時也寄希望于臨床醫(yī)學(xué)的新突破;信息處理和計算機(jī)科學(xué)家研究這一問題的目的在于尋求新的途徑以解決目前不能解決或解決起來有極大困難的大量問題,構(gòu)造更加逼近人腦功能的新一代計算機(jī)。

    人工神經(jīng)網(wǎng)絡(luò)是由大量的簡單基本元件——神經(jīng)元相互聯(lián)接而成的自適應(yīng)非線性動態(tài)系統(tǒng)。每個神經(jīng)元的結(jié)構(gòu)和功能比較簡單,但大量神經(jīng)元組合產(chǎn)生的系統(tǒng)行為卻非常復(fù)雜。

    人工神經(jīng)網(wǎng)絡(luò)反映了人腦功能的若干基本特性,但并非生物系統(tǒng)的逼真描述,只是某種模仿、簡化和抽象。

    與數(shù)字計算機(jī)比較,人工神經(jīng)網(wǎng)絡(luò)在構(gòu)成原理和功能特點(diǎn)等方面更加接近人腦,它不是按給定的程序一步一步地執(zhí)行運(yùn)算,而是能夠自身適應(yīng)環(huán)境、總結(jié)規(guī)律、完成某種運(yùn)算、識別或過程控制。

    人工神經(jīng)元的研究起源于腦神經(jīng)元學(xué)說。19世紀(jì)末,在生物、生理學(xué)領(lǐng)域,Waldeger等人創(chuàng)建了神經(jīng)元學(xué)說。人們認(rèn)識到復(fù)雜的神經(jīng)系統(tǒng)是由數(shù)目繁多的神經(jīng)元組合而成。大腦皮層包括有100億個以上的神經(jīng)元,每立方毫米約有數(shù)萬個,它們互相聯(lián)結(jié)形成神經(jīng)網(wǎng)絡(luò),通過感覺器官和神經(jīng)接受來自身體內(nèi)外的各種信息,傳遞至中樞神經(jīng)系統(tǒng)內(nèi),經(jīng)過對信息的分析和綜合,再通過運(yùn)動神經(jīng)發(fā)出控制信息,以此來實(shí)現(xiàn)機(jī)體與內(nèi)外環(huán)境的聯(lián)系,協(xié)調(diào)全身的各種機(jī)能活動。

    神經(jīng)元也和其他類型的細(xì)胞一樣,包括有細(xì)胞膜、細(xì)胞質(zhì)和細(xì)胞核。但是神經(jīng)細(xì)胞的形態(tài)比較特殊,具有許多突起,因此又分為細(xì)胞體、軸突和樹突三部分。細(xì)胞體內(nèi)有細(xì)胞核,突起的作用是傳遞信息。樹突是作為引入輸入信號的突起,而軸突是作為輸出端的突起,它只有一個。

    樹突是細(xì)胞體的延伸部分,它由細(xì)胞體發(fā)出后逐漸變細(xì),全長各部位都可與其他神經(jīng)元的軸突末梢相互聯(lián)系,形成所謂“突觸”。在突觸處兩神經(jīng)元并未連通,它只是發(fā)生信息傳遞功能的結(jié)合部,聯(lián)系界面之間間隙約為(15~50)×10米。突觸可分為興奮性與抑制性兩種類型,它相應(yīng)于神經(jīng)元之間耦合的極性。每個神經(jīng)元的突觸數(shù)目正常,最高可達(dá)10個。各神經(jīng)元之間的連接強(qiáng)度和極性有所不同,并且都可調(diào)整、基于這一特性,人腦具有存儲信息的功能。利用大量神經(jīng)元相互聯(lián)接組成人工神經(jīng)網(wǎng)絡(luò)可顯示出人的大腦的某些特征。下面通過人工神經(jīng)網(wǎng)絡(luò)與通用的計算機(jī)工作特點(diǎn)來對比一下:

    若從速度的角度出發(fā),人腦神經(jīng)元之間傳遞信息的速度要遠(yuǎn)低于計算機(jī),前者為毫秒量級,而后者的頻率往往可達(dá)幾百兆赫。但是,由于人腦是一個大規(guī)模并行與串行組合處理系統(tǒng),因而,在許多問題上可以作出快速判斷、決策和處理,其速度則遠(yuǎn)高于串行結(jié)構(gòu)的普通計算機(jī)。人工神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)模仿人腦,具有并行處理特征,可以大大提高工作速度。

    人腦存貯信息的特點(diǎn)為利用突觸效能的變化來調(diào)整存貯內(nèi)容,也即信息存貯在神經(jīng)元之間連接強(qiáng)度的分布上,存貯區(qū)與計算機(jī)區(qū)合為一體。雖然人腦每日有大量神經(jīng)細(xì)胞死亡 (平均每小時約一千個),但不影響大腦的正常思維活動。

    普通計算機(jī)是具有相互獨(dú)立的存貯器和運(yùn)算器,知識存貯與數(shù)據(jù)運(yùn)算互不相關(guān),只有通過人編出的程序使之溝通,這種溝通不能超越程序編制者的預(yù)想。元器件的局部損壞及程序中的微小錯誤都可能引起嚴(yán)重的失常。

    人類大腦有很強(qiáng)的自適應(yīng)與自組織特性,后天的學(xué)習(xí)與訓(xùn)練可以開發(fā)許多各具特色的活動功能。如盲人的聽覺和觸覺非常靈敏;聾啞人善于運(yùn)用手勢;訓(xùn)練有素的運(yùn)動員可以表現(xiàn)出非凡的運(yùn)動技巧等等。

    普通計算機(jī)的功能取決于程序中給出的知識和能力。顯然,對于智能活動要通過總結(jié)編制程序?qū)⑹掷щy。

    人工神經(jīng)網(wǎng)絡(luò)也具有初步的自適應(yīng)與自組織能力。在學(xué)習(xí)或訓(xùn)練過程中改變突觸權(quán)重值,以適應(yīng)周圍環(huán)境的要求。同一網(wǎng)絡(luò)因?qū)W習(xí)方式及內(nèi)容不同可具有不同的功能。人工神經(jīng)網(wǎng)絡(luò)是一個具有學(xué)習(xí)能力的系統(tǒng),可以發(fā)展知識,以致超過設(shè)計者原有的知識水平。通常,它的學(xué)習(xí)訓(xùn)練方式可分為兩種,一種是有監(jiān)督或稱有導(dǎo)師的學(xué)習(xí),這時利用給定的樣本標(biāo)準(zhǔn)進(jìn)行分類或模仿;另一種是無監(jiān)督學(xué)習(xí)或稱無為導(dǎo)師學(xué)習(xí),這時,只規(guī)定學(xué)習(xí)方式或某些規(guī)則,則具體的學(xué)習(xí)內(nèi)容隨系統(tǒng)所處環(huán)境 (即輸入信號情況)而異,系統(tǒng)可以自動發(fā)現(xiàn)環(huán)境特征和規(guī)律性,具有更近似人腦的功能。

    人工神經(jīng)網(wǎng)絡(luò)早期的研究工作應(yīng)追溯至本世紀(jì)40年代。下面以時間順序,以著名的人物或某一方面突出的研究成果為線索,簡要介紹人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史。

    1943年,心理學(xué)家W·Mcculloch和數(shù)理邏輯學(xué)家W·Pitts在分析、總結(jié)神經(jīng)元基本特性的基礎(chǔ)上首先提出神經(jīng)元的數(shù)學(xué)模型。此模型沿用至今,并且直接影響著這一領(lǐng)域研究的進(jìn)展。因而,他們兩人可稱為人工神經(jīng)網(wǎng)絡(luò)研究的先驅(qū)。

    1945年馮·諾依曼領(lǐng)導(dǎo)的設(shè)計小組試制成功存儲程序式電子計算機(jī),標(biāo)志著電子計算機(jī)時代的開始。1948年,他在研究工作中比較了人腦結(jié)構(gòu)與存儲程序式計算機(jī)的根本區(qū)別,提出了以簡單神經(jīng)元構(gòu)成的再生自動機(jī)網(wǎng)絡(luò)結(jié)構(gòu)。但是,由于指令存儲式計算機(jī)技術(shù)的發(fā)展非常迅速,迫使他放棄了神經(jīng)網(wǎng)絡(luò)研究的新途徑,繼續(xù)投身于指令存儲式計算機(jī)技術(shù)的研究,并在此領(lǐng)域作出了巨大貢獻(xiàn)。雖然,馮·諾依曼的名字是與普通計算機(jī)聯(lián)系在一起的,但他也是人工神經(jīng)網(wǎng)絡(luò)研究的先驅(qū)之一。

    50年代末,F(xiàn)·Rosenblatt設(shè)計制作了“感知機(jī)”,它是一種多層的神經(jīng)網(wǎng)絡(luò)。這項(xiàng)工作首次把人工神經(jīng)網(wǎng)絡(luò)的研究從理論探討付諸工程實(shí)踐。當(dāng)時,世界上許多實(shí)驗(yàn)室仿效制作感知機(jī),分別應(yīng)用于文字識別、聲音識別、聲納信號識別以及學(xué)習(xí)記憶問題的研究。然而,這次人工神經(jīng)網(wǎng)絡(luò)的研究高潮未能持續(xù)很久,許多人陸續(xù)放棄了這方面的研究工作,這是因?yàn)楫?dāng)時數(shù)字計算機(jī)的發(fā)展處于全盛時期,許多人誤以為數(shù)字計算機(jī)可以解決人工智能、模式識別、專家系統(tǒng)等方面的一切問題,使感知機(jī)的工作得不到重視;其次,當(dāng)時的電子技術(shù)工藝水平比較落后,主要的元件是電子管或晶體管,利用它們制作的神經(jīng)網(wǎng)絡(luò)體積龐大,價格昂貴,要制作在規(guī)模上與真實(shí)的神經(jīng)網(wǎng)絡(luò)相似是完全不可能的;另外,在1968年一本名為《感知機(jī)》的著作中指出線性感知機(jī)功能是有限的,它不能解決如異感這樣的基本問題,而且多層網(wǎng)絡(luò)還不能找到有效的計算方法,這些論點(diǎn)促使大批研究人員對于人工神經(jīng)網(wǎng)絡(luò)的前景失去信心。60年代末期,人工神經(jīng)網(wǎng)絡(luò)的研究進(jìn)入了低潮。

    另外,在60年代初期,Widrow提出了自適應(yīng)線性元件網(wǎng)絡(luò),這是一種連續(xù)取值的線性加權(quán)求和閾值網(wǎng)絡(luò)。后來,在此基礎(chǔ)上發(fā)展了非線性多層自適應(yīng)網(wǎng)絡(luò)。當(dāng)時,這些工作雖未標(biāo)出神經(jīng)網(wǎng)絡(luò)的名稱,而實(shí)際上就是一種人工神經(jīng)網(wǎng)絡(luò)模型。

    隨著人們對感知機(jī)興趣的衰退,神經(jīng)網(wǎng)絡(luò)的研究沉寂了相當(dāng)長的時間。80年代初期,模擬與數(shù)字混合的超大規(guī)模集成電路制作技術(shù)提高到新的水平,完全付諸實(shí)用化,此外,數(shù)字計算機(jī)的發(fā)展在若干應(yīng)用領(lǐng)域遇到困難。這一背景預(yù)示,向人工神經(jīng)網(wǎng)絡(luò)尋求出路的時機(jī)已經(jīng)成熟。美國的物理學(xué)家Hopfield于1982年和1984年在美國科學(xué)院院刊上發(fā)表了兩篇關(guān)于人工神經(jīng)網(wǎng)絡(luò)研究的論文,引起了巨大的反響。人們重新認(rèn)識到神經(jīng)網(wǎng)絡(luò)的威力以及付諸應(yīng)用的現(xiàn)實(shí)性。隨即,一大批學(xué)者和研究人員圍繞著 Hopfield提出的方法展開了進(jìn)一步的工作,形成了80年代中期以來人工神經(jīng)網(wǎng)絡(luò)的研究熱潮。

    二、BP神經(jīng)網(wǎng)絡(luò)的梳理

    BP神經(jīng)網(wǎng)絡(luò)被稱為“深度學(xué)習(xí)之旅的開端”,是神經(jīng)網(wǎng)絡(luò)的入門算法。

    各種高大上的神經(jīng)網(wǎng)絡(luò)都是基于BP網(wǎng)絡(luò)出發(fā)的,最基礎(chǔ)的原理都是由BP網(wǎng)絡(luò)而來 [1] ,另外由于BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡單,算法經(jīng)典, 是神經(jīng)網(wǎng)絡(luò)中應(yīng)用最廣泛的一種。

    BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network)全稱是反向傳播神經(jīng)網(wǎng)絡(luò)。

    神經(jīng)網(wǎng)絡(luò)發(fā)展部分背景如下 [2] :

    為解決非線性問題,BP神經(jīng)網(wǎng)絡(luò)應(yīng)運(yùn)而生。

    那么什么是BP神經(jīng)網(wǎng)絡(luò)?稍微專業(yè)點(diǎn)的解釋要怎么說呢?

    很喜歡 最簡單的神經(jīng)網(wǎng)絡(luò)--Bp神經(jīng)網(wǎng)絡(luò) 一文對算法原理的解釋,語言活潑,案例簡單,由淺入深。

    文中提到所謂的 AI 技術(shù),本質(zhì)上是一種數(shù)據(jù)處理處理技術(shù),它的強(qiáng)大來自于兩方面:1.互聯(lián)網(wǎng)的發(fā)展帶來的海量數(shù)據(jù)信息;2.計算機(jī)深度學(xué)習(xí)算法的快速發(fā)展。AI 其實(shí)并沒有什么神秘,只是在算法上更為復(fù)雜 [3] 。

    我們從上面的定義出發(fā)來解釋BP神經(jīng)網(wǎng)絡(luò)的原理。

    BP神經(jīng)網(wǎng)絡(luò)整個網(wǎng)絡(luò)結(jié)構(gòu)包含了:一層輸入層,一到多層隱藏層,一層輸出層。

    一般說L層神經(jīng)網(wǎng)絡(luò),指的是有L個隱層,輸入層和輸出層都不計算在內(nèi)的 [6] 。

    BP神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的學(xué)習(xí)過程由信號的 正向傳播 和誤差的 反向傳播 兩個過程組成。

    什么是信號的正向傳播?顧名思義,就是結(jié)構(gòu)圖從左到右的運(yùn)算過程。

    我們來看看結(jié)構(gòu)圖中每個小圓圈是怎么運(yùn)作的。我們把小圈圈叫做神經(jīng)元,是組成神經(jīng)網(wǎng)絡(luò)的基本單元。

    正向傳播就是輸入數(shù)據(jù)經(jīng)過一層一層的神經(jīng)元運(yùn)算、輸出的過程,最后一層輸出值作為算法預(yù)測值y'。

    前面正向傳播的時候我們提到權(quán)重w、偏置b,但我們并不知道權(quán)重w、偏置b的值應(yīng)該是什么。關(guān)于最優(yōu)參數(shù)的求解,我們在 線性回歸 、 邏輯回歸 兩章中有了詳細(xì)說明。大致來講就是:

    BP神經(jīng)網(wǎng)絡(luò)全稱 back propagation neural network,back propagation反向傳播是什么?

    反向傳播的建設(shè)本質(zhì)上就是尋找最優(yōu)的參數(shù)組合,和上面的流程差不多,根據(jù)算法預(yù)測值和實(shí)際值之間的損失函數(shù)L(y',y),來反方向地計算每一層的z、a、w、b的偏導(dǎo)數(shù),從而更新參數(shù)。

    對反向傳播而言,輸入的內(nèi)容是預(yù)測值和實(shí)際值的誤差,輸出的內(nèi)容是對參數(shù)的更新,方向是從右往左,一層一層的更新每一層的參數(shù)。

    BP神經(jīng)網(wǎng)絡(luò)通過先正向傳播,構(gòu)建參數(shù)和輸入值的關(guān)系,通過預(yù)測值和實(shí)際值的誤差,反向傳播修復(fù)權(quán)重;讀入新數(shù)據(jù)再正向傳播預(yù)測,再反向傳播修正,...,通過多次循環(huán)達(dá)到最小損失值,此時構(gòu)造的模型擁有最優(yōu)的參數(shù)組合。

    以一個簡單的BP神經(jīng)網(wǎng)絡(luò)為例,由3個輸入層,2層隱藏層,每層2個神經(jīng)元,1個輸出層組成。

    【輸入層】傳入

    【第一層隱藏層】

    對于 神經(jīng)元而言,傳入 ,加權(quán)求和加偏置激活函數(shù)處理后,輸出 ;

    對于 神經(jīng)元而言,傳入 ,加權(quán)求和加偏置函數(shù)處理后,輸出 ;

    輸出:

    【第二層隱藏層】

    對于 神經(jīng)元而言,傳入 ,加權(quán)求和加偏置激活函數(shù)處理后,輸出 ;

    對于 神經(jīng)元而言,傳入 ,加權(quán)求和加偏置激活函數(shù)處理后,輸出 ;

    輸出:

    【輸出層】

    對于輸出層神經(jīng)元而言,輸入 ,加權(quán)求和加偏置激活函數(shù)處理后,輸出 ,輸出的是一個值

    第一次運(yùn)行正向傳播這個流程時隨用隨機(jī)參數(shù)就好,通過反向傳播不斷優(yōu)化。因此需要在一開始對 設(shè)置一個隨機(jī)的初始值。

    首先計算正向傳播輸出值 與實(shí)際值的損失 ,是一個數(shù)值。所謂反向是從右到左一步步來的,先回到 ,修正參數(shù) 。

    以此類推,通過對損失函數(shù)求偏導(dǎo)跟新參數(shù) ,再跟新參數(shù) 。這時又回到了起點(diǎn),新的數(shù)據(jù)傳入又可以開始正向傳播了。

    keras可以快速搭建神經(jīng)網(wǎng)絡(luò),例如以下為輸入層包含7129個結(jié)點(diǎn),一層隱藏層,包含128個結(jié)點(diǎn),一個輸出層,是二分類模型。

    神經(jīng)網(wǎng)絡(luò)反向傳播的優(yōu)化目標(biāo)為loss,可以觀察到loss的值在不斷的優(yōu)化。

    可以通過model.get_layer().get_weights()獲得每一層訓(xùn)練后的參數(shù)結(jié)果。通過model.predict()預(yù)測新數(shù)據(jù)。

    至此,BP神經(jīng)網(wǎng)絡(luò)的整個運(yùn)算流程已經(jīng)過了一遍。之前提到BP神經(jīng)網(wǎng)絡(luò)是為解決非線性問題應(yīng)運(yùn)而生的,那么為什么BP神經(jīng)網(wǎng)絡(luò)可以解決非線性問題呢?

    還記得神經(jīng)元里有一個激活函數(shù)的操作嗎?神經(jīng)網(wǎng)絡(luò)通過激活函數(shù)的使用加入非線性因素。

    通過使用非線性的激活函數(shù)可以使神經(jīng)網(wǎng)絡(luò)隨意逼近復(fù)雜函數(shù),從而使BP神經(jīng)網(wǎng)絡(luò)既可以處理線性問題,也可以處理非線性問題。

    為什么激活函數(shù)的使用可以加入非線性因素 [7] ?

    其實(shí)邏輯回歸算法可以看作只有一個神經(jīng)元的單層神經(jīng)網(wǎng)絡(luò),只對線性可分的數(shù)據(jù)進(jìn)行分類。

    輸入?yún)?shù),加權(quán)求和,sigmoid作為激活函數(shù)計算后輸出結(jié)果,模型預(yù)測值和實(shí)際值計算損失Loss,反向傳播梯度下降求編導(dǎo),獲得最優(yōu)參數(shù)。

    BP神經(jīng)網(wǎng)絡(luò)是比 Logistic Regression 復(fù)雜得多的模型,它的擬合能力很強(qiáng),可以處理很多 Logistic Regression處理不了的數(shù)據(jù),但是也更容易過擬合。

    具體用什么算法還是要看訓(xùn)練數(shù)據(jù)的情況,沒有一種算法是使用所有情況的。

    常見的前饋神經(jīng)網(wǎng)絡(luò)有BP網(wǎng)絡(luò),RBF網(wǎng)絡(luò)等。

    BP神經(jīng)網(wǎng)絡(luò)的一個主要問題是:結(jié)構(gòu)不好設(shè)計。

    網(wǎng)絡(luò)隱含層的層數(shù)和單元數(shù)的選擇尚無理論上的指導(dǎo),一般是根據(jù)經(jīng)驗(yàn)或者通過反復(fù)實(shí)驗(yàn)確定。

    但是BP神經(jīng)網(wǎng)絡(luò)簡單、易行、計算量小、并行性強(qiáng),目前仍是多層前向網(wǎng)絡(luò)的首選算法。

    [1] 深度學(xué)習(xí)開端---BP神經(jīng)網(wǎng)絡(luò): https://blog.csdn.net/Chile_Wang/article/details/100557010

    [2] BP神經(jīng)網(wǎng)絡(luò)發(fā)展歷史: https://zhuanlan.zhihu.com/p/47998728

    [3] 最簡單的神經(jīng)網(wǎng)絡(luò)--Bp神經(jīng)網(wǎng)絡(luò): https://blog.csdn.net/weixin_40432828/article/details/82192709

    [4] 神經(jīng)網(wǎng)絡(luò)的基本概念: https://blog.csdn.net/jinyuan7708/article/details/82466653

    [5] 神經(jīng)網(wǎng)絡(luò)中的 “隱藏層” 理解: https://blog.csdn.net/nanhuaibeian/article/details/100183000

    [6] AI學(xué)習(xí)筆記:神經(jīng)元與神經(jīng)網(wǎng)絡(luò): https://www.jianshu.com/p/65eb2fce0e9e

    [7] 線性模型和非線性模型的區(qū)別: https://www.cnblogs.com/toone/p/8574294.html

    [8] BP神經(jīng)網(wǎng)絡(luò)是否優(yōu)于logistic回歸: https://www.zhihu.com/question/27823925/answer/38460833

    三、反向傳播算法 為什么 誤差 那么定義

    自從40年代赫布(D.O.

    Hebb)提出的學(xué)習(xí)規(guī)則以來,人們相繼提出了各種各樣的學(xué)習(xí)算法。其中以在1986年Rumelhart等提出的誤差反向傳播法,即BP(error

    BackPropagation)法影響最為廣泛。直到今天,BP算法仍然是自動控制上最重要、應(yīng)用最多的有效算法。是用于多層神經(jīng)網(wǎng)絡(luò)訓(xùn)練的著名算法,有理論依據(jù)堅實(shí)、推導(dǎo)過程嚴(yán)謹(jǐn)、物理概念清楚、通用性強(qiáng)等優(yōu)點(diǎn)。但是,人們在使用中發(fā)現(xiàn)BP算法存在收斂速度緩慢、易陷入局部極小等缺點(diǎn)。

    BP算法的基本思想是,學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成。

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

    注1:若輸出層實(shí)際輸出與期望輸出(教師信號)不符,則轉(zhuǎn)入2)(誤差反向傳播過程)。

    2)誤差反向傳播:輸出誤差(某種形式)->隱層(逐層)->輸入層 其主要目的是通過將輸出誤差反傳,將誤差分?jǐn)偨o各層所有單元,從而獲得各層單元的誤差信號,進(jìn)而修正各單元的權(quán)值(其過程,是一個權(quán)值調(diào)整的過程)。

    注2:權(quán)值調(diào)整的過程,也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程(學(xué)習(xí)也就是這么的由來,權(quán)值調(diào)整)。

    1)初始化

    2)輸入訓(xùn)練樣本對,計算各層輸出

    3)計算網(wǎng)絡(luò)輸出誤差

    4)計算各層誤差信號

    5)調(diào)整各層權(quán)值

    6)檢查網(wǎng)絡(luò)總誤差是否達(dá)到精度要求

    滿足,則訓(xùn)練結(jié)束;不滿足,則返回步驟2。

    1)易形成局部極小(屬貪婪算法,局部最優(yōu))而得不到全局最優(yōu);

    2)訓(xùn)練次數(shù)多使得學(xué)習(xí)效率低下,收斂速度慢(需做大量運(yùn)算);

    3)隱節(jié)點(diǎn)的選取缺乏理論支持;

    4)訓(xùn)練時學(xué)習(xí)新樣本有遺忘舊樣本趨勢。

    四、神經(jīng)網(wǎng)絡(luò)預(yù)測原理!

    Back Propagation BP (Back Propagation)神經(jīng)網(wǎng)絡(luò),即誤差反傳誤差反向傳播算法的學(xué)習(xí)過程,由信息的正向傳播和誤差的反向傳播兩個過程組成。輸入層各神經(jīng)元負(fù)責(zé)接收來自外界的輸入信息,并傳遞給中間層各神經(jīng)元;中間層是內(nèi)部信息處理層,負(fù)責(zé)信息變換,根據(jù)信息變化能力的需求,中間層(隱含層)可以設(shè)計為單隱層或者多隱層結(jié)構(gòu);最后一個隱層傳遞到輸出層各神經(jīng)元的信息,經(jīng)進(jìn)一步處理后,完成一次學(xué)習(xí)的正向傳播處理過程,由輸出層向外界輸出信息處理結(jié)果。神經(jīng)網(wǎng)絡(luò)很多種,BP神經(jīng)網(wǎng)絡(luò)最常用。

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


    推薦閱讀:

    神經(jīng)內(nèi)科醫(yī)生排行榜(神經(jīng)內(nèi)科醫(yī)生排行榜最新)

    神經(jīng)外科醫(yī)院排行榜(全國神經(jīng)外科最好的醫(yī)院排名)

    圖神經(jīng)網(wǎng)絡(luò)論文推薦

    杭州單身公寓價格(杭州公寓新樓盤)

    信息檢索關(guān)鍵詞提取方法(信息檢索關(guān)鍵詞提取方法是什么)