人工智能基礎(chǔ)及應(yīng)用 課件 第5章-人工神經(jīng)網(wǎng)絡(luò)_第1頁
人工智能基礎(chǔ)及應(yīng)用 課件 第5章-人工神經(jīng)網(wǎng)絡(luò)_第2頁
人工智能基礎(chǔ)及應(yīng)用 課件 第5章-人工神經(jīng)網(wǎng)絡(luò)_第3頁
人工智能基礎(chǔ)及應(yīng)用 課件 第5章-人工神經(jīng)網(wǎng)絡(luò)_第4頁
人工智能基礎(chǔ)及應(yīng)用 課件 第5章-人工神經(jīng)網(wǎng)絡(luò)_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

人工智能基礎(chǔ)及應(yīng)用第5章人工神經(jīng)網(wǎng)絡(luò)5.1人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程5.2感知機與神經(jīng)網(wǎng)絡(luò)5.3BP神經(jīng)網(wǎng)絡(luò)及其學(xué)習(xí)算法5.4卷積神經(jīng)網(wǎng)絡(luò)2本章學(xué)習(xí)目標(biāo)

了解人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程。理解感知機的工作原理和局限性。掌握BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和BP學(xué)習(xí)算法。

掌握卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和運算過程。3第5章人工神經(jīng)網(wǎng)絡(luò)4深度學(xué)習(xí)(DeepLearning)是機器學(xué)習(xí)的一個分支,而機器學(xué)習(xí)又是實現(xiàn)人工智能的必經(jīng)路徑,故而人工智能、機器學(xué)習(xí)和深度學(xué)習(xí)之間是依次包含的關(guān)系。人工智能的研究內(nèi)容包括:機器學(xué)習(xí)、知識工程、搜索策略、推理、規(guī)劃、模式識別、組合調(diào)度問題、機器人學(xué)等。傳統(tǒng)機器學(xué)習(xí)的研究方向主要包括:人工神經(jīng)網(wǎng)絡(luò)、決策樹、隨機森林、支持向量機、貝葉斯學(xué)習(xí)、關(guān)聯(lián)規(guī)則、Boosting與Bagging集成學(xué)習(xí)算法等,而深度學(xué)習(xí)的概念正是起源于人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN)。由于深度學(xué)習(xí)在計算機視覺、語音識別、機器翻譯、圖像處理、自然語言處理等方面獲得成功應(yīng)用,人工神經(jīng)網(wǎng)絡(luò)的研究熱度反而超過了其他傳統(tǒng)方法,在機器學(xué)習(xí)研究中占據(jù)了主流的地位。55.1人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程(1)1943年,第一個人工神經(jīng)元模型MP模型。MP模型沒有學(xué)習(xí)機制,是最早的人工神經(jīng)網(wǎng)絡(luò)雛形。1949年,赫布提出了赫布理論,即“突觸前神經(jīng)元向突觸后神經(jīng)元的持續(xù)重復(fù)的刺激,可以導(dǎo)致突觸傳遞效能的增加?!奔矗和挥|前給的刺激越強,突觸后的反應(yīng)越大。受到赫布理論的啟發(fā),1957年,美國心理學(xué)家羅森布拉特(Rosenblatt)提出了感知機(Perceptron),這是第一個人工神經(jīng)網(wǎng)絡(luò)。為感知機設(shè)計了第一個神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,首次將神經(jīng)網(wǎng)絡(luò)研究從純理論探討推向工程實現(xiàn)。感知機本質(zhì)是一種僅包含輸入層和輸出層的二元線性分類器,也稱為單層神經(jīng)網(wǎng)絡(luò)。感知機的輸入層可以包含多個單元,而輸出層只有一個單元。65.1人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程(2)與MP模型不同的是,感知機模型可以利用學(xué)習(xí)算法自動更新輸入的權(quán)重和閾值。此后,神經(jīng)網(wǎng)絡(luò)的研究進(jìn)入了第一次高潮。1969年,明斯基與帕普特的《感知機:計算幾何導(dǎo)論》指出了感知機的局限性,使人工智能的連接主義研究流派陷入了長達(dá)10多年的低谷期。1974年,哈佛大學(xué)的韋伯斯在其博士論文中提出利用反向傳播算法訓(xùn)練多層神經(jīng)網(wǎng)絡(luò),但幾乎無人了解這項研究成果。1980年,日本學(xué)者福島邦彥(KunihikoFukushima)提出了名為“Neocognitron”的神經(jīng)網(wǎng)絡(luò),被認(rèn)為是最早的研究卷積神經(jīng)網(wǎng)絡(luò)的工作,也是最早的深度神經(jīng)網(wǎng)絡(luò)模型之一。為此,福島邦彥獲得了2021年鮑爾科學(xué)成就獎,以表彰其對深度學(xué)習(xí)的巨大貢獻(xiàn),尤其是他提出的極具影響力的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。75.1人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程(3)1982年,霍普菲爾德教授提出Hopfield神經(jīng)網(wǎng)絡(luò),可用于實現(xiàn)聯(lián)想記憶和優(yōu)化計算,在旅行商問題上獲得了突破。尤其是1984年又用模擬集成電路實現(xiàn)了Hopfield神經(jīng)網(wǎng)絡(luò),有力地推動了神經(jīng)網(wǎng)絡(luò)的研究,連接主義迎來了第二次高潮。受此啟發(fā),辛頓于1984年提出了一種隨機型的Hopfield網(wǎng)絡(luò),即玻爾茲曼機。它是一種反饋神經(jīng)網(wǎng)絡(luò),借鑒了模擬退火法的思想,具有一定的“跳出局部最優(yōu)”的能力。玻爾茲曼機的特點是:一是包含顯層與隱層兩層結(jié)構(gòu),顯層代表輸入和輸出,隱層則被理解為數(shù)據(jù)的內(nèi)部表達(dá);二是其神經(jīng)元是布爾型的,即只能取0或1值。85.1人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程(4)1986年,魯梅爾哈特、辛頓和威廉姆斯重新獨立地提出了BP算法,采sigmoid函數(shù)作為激活函數(shù),可解決多層NN中參數(shù)優(yōu)化的問題,且成功解決了非線性分類問題,使得BP算法傳播甚廣。1989年,楊樂昆采用BP算法訓(xùn)練LeNet系列的CNN,并將其成功應(yīng)用于美國郵政、銀行支票上手寫數(shù)字的識別。LeNet-5模型成為現(xiàn)代CNN的基礎(chǔ)。楊樂昆被譽為“卷積神經(jīng)網(wǎng)絡(luò)之父”。但BP算法存在梯度消失、梯度爆炸等問題,且當(dāng)時算力不足,BP算法只適合于訓(xùn)練淺層神經(jīng)網(wǎng)絡(luò)。1995年,萬普尼克于提出了支持向量機,SVM可通過核技巧將非線性問題轉(zhuǎn)換成線性問題,其理論基礎(chǔ)清晰、證明完備、可解釋性好,獲得了廣泛的認(rèn)同。同時,統(tǒng)計機器學(xué)習(xí)專家從理論角度懷疑NN的泛化能力,使得神經(jīng)網(wǎng)絡(luò)的研究第二次陷入低谷。95.1人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程(5)進(jìn)入21世紀(jì),有了大數(shù)據(jù)和算力,神經(jīng)網(wǎng)絡(luò)的研究迎來了第三次高潮。2006年,辛頓教授等人首次提出了“深度信念網(wǎng)絡(luò)”(DeepBeliefNetwork),它是由多個受限玻爾茲曼機(RestrictedBoltzmannMachine)串聯(lián)堆疊而組成的一個深度網(wǎng)絡(luò)。深度信念網(wǎng)絡(luò)在分類任務(wù)上的性能超過了傳統(tǒng)經(jīng)典的淺層學(xué)習(xí)模型(如支持向量機),引起了學(xué)術(shù)圈的廣泛關(guān)注。隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的不斷加深,辛頓將這種深層神經(jīng)網(wǎng)絡(luò)上的學(xué)習(xí)方法命名為“深度學(xué)習(xí)”。從此,連接主義研究學(xué)派開始大放異彩。通常,將包含多個(大于3即可)隱藏層的人工神經(jīng)網(wǎng)絡(luò)稱為深度神經(jīng)網(wǎng)絡(luò),在這樣的網(wǎng)絡(luò)上學(xué)習(xí)的過程稱為深度學(xué)習(xí)。105.1人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程(6)2012年,辛頓教授及其學(xué)生提出AlexNet模型,在ILSVRC比賽的圖像分類組一舉奪魁。從此深度學(xué)習(xí)在學(xué)術(shù)圈和產(chǎn)業(yè)界均得到廣泛關(guān)注。深度學(xué)習(xí)發(fā)展至今,神經(jīng)網(wǎng)絡(luò)的層數(shù)不斷加深,模型性能不斷提升,甚至在圖像分類任務(wù)上的能力已超過了人類。2010至2017年間,ImageNet圖像分類的top-5(即排名前5的分類標(biāo)簽)錯誤率從28%降到了3%,目標(biāo)識別的平均準(zhǔn)確率從23%上升到了66%。此外,深度學(xué)習(xí)方法在自然語言處理、機器翻譯、無人駕駛、語音識別、生物信息學(xué)、醫(yī)學(xué)影像分析與金融大數(shù)據(jù)分析等方面也都有廣泛的、成熟的應(yīng)用。115.2感知機與神經(jīng)網(wǎng)絡(luò)科學(xué)家受到人腦或生物神經(jīng)元結(jié)構(gòu)和學(xué)習(xí)機制的啟發(fā),提出了人工神經(jīng)元的數(shù)學(xué)模型,又在此基礎(chǔ)上增加了學(xué)習(xí)機制,研制出了可運行的感知機,即單層人工神經(jīng)網(wǎng)絡(luò)。最后,將若干個感知機連接在一起,形成了人工神經(jīng)網(wǎng)絡(luò)。人工神經(jīng)網(wǎng)絡(luò),簡稱神經(jīng)網(wǎng)絡(luò)(NeuralNetwork,NN)或類神經(jīng)網(wǎng)絡(luò),是模擬人腦或生物神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)機制而建立起來的一種運算模型。它由大量簡單的信息處理單元按照一定拓?fù)浣Y(jié)構(gòu)相互連接而組成人工網(wǎng)絡(luò)。125.2.1生物神經(jīng)元結(jié)構(gòu)生物學(xué)家早在20世紀(jì)初就發(fā)現(xiàn)了生物神經(jīng)元的結(jié)構(gòu),神經(jīng)元(Neuron)也稱為神經(jīng)細(xì)胞。圖5.1生物神經(jīng)元結(jié)構(gòu)13生物神經(jīng)元的兩種狀態(tài)興奮狀態(tài)當(dāng)傳入的神經(jīng)沖動使細(xì)胞膜電位升高超過一個“閾值”時,該細(xì)胞就會被激活,進(jìn)入興奮狀態(tài),產(chǎn)生神經(jīng)沖動,并由軸突經(jīng)過突觸輸出;抑制狀態(tài)當(dāng)傳入的神經(jīng)沖動使細(xì)胞膜電位下降到低于一個“閾值”時,該細(xì)胞就進(jìn)入抑制狀態(tài),不輸出神經(jīng)沖動。145.2.2神經(jīng)元數(shù)學(xué)模型—MP模型人工神經(jīng)元是構(gòu)成人工神經(jīng)網(wǎng)絡(luò)的基本單位,它模擬生物神經(jīng)元的結(jié)構(gòu)和特性,可以接收一組輸入信號,并產(chǎn)生輸出。1943年提出的MP模型是模仿生物神經(jīng)元結(jié)構(gòu)而建立的第一個人工神經(jīng)元數(shù)學(xué)模型。圖5.2神經(jīng)元數(shù)學(xué)模型(MP模型)+1155.2.2神經(jīng)元數(shù)學(xué)模型—MP模型

階躍函數(shù)的缺陷:不連續(xù)、不平滑,它在0點處的導(dǎo)數(shù)是無窮大,除了0點處之外,導(dǎo)數(shù)都是0,這意味著:若學(xué)習(xí)算法采用基于梯度的優(yōu)化方法,是不可行的。165.2.2神經(jīng)元數(shù)學(xué)模型—MP模型在MP模型中引入激活函數(shù)的目的是:用于模擬生物神經(jīng)元的工作機制,當(dāng)電位高于一個設(shè)定的閾值時,則進(jìn)入興奮狀態(tài),輸出信號;否則進(jìn)入抑制狀態(tài),不輸出信號。MP模型中的輸入和輸出數(shù)據(jù)只能是二值化數(shù)據(jù)0或1,而且網(wǎng)絡(luò)中的權(quán)重、閾值等參數(shù)都需要人為設(shè)置,無法從數(shù)據(jù)中學(xué)習(xí)得到。MP模型的激活函數(shù)是一個簡單的階躍函數(shù)。MP模型只能處理一些簡單的分類任務(wù),例如線性二分類問題,但無法解決線性不可分問題。175.2.3感知機由一個神經(jīng)元構(gòu)成的神經(jīng)網(wǎng)絡(luò)稱為感知機,也稱為單層神經(jīng)網(wǎng)絡(luò)。1957年提出的感知機是第一個工程實現(xiàn)的人工神經(jīng)網(wǎng)絡(luò),可以運行感知機學(xué)習(xí)算法來訓(xùn)練模型。感知機是一種簡單的非線性神經(jīng)網(wǎng)絡(luò),是人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)。感知機只包含輸入層和輸出層,其輸入層可以包含多個單元,而輸出層只有一個單元。感知機通過采用有監(jiān)督學(xué)習(xí)來逐步增強模式分類的能力,達(dá)到學(xué)習(xí)的目的。18感知機與MP模型的異同點從本質(zhì)上說,感知機與MP模型沒有太大的區(qū)別,兩者的結(jié)構(gòu)相同,計算過程也相同,都能完成線性可分的二分類任務(wù),也都無法解決線性不可分問題。但MP模型與感知機的不同之處在于:①MP模型沒有“學(xué)習(xí)”的機制,其權(quán)值w和偏置θ都是人為設(shè)定的;而感知機引入了“學(xué)習(xí)”的概念,權(quán)值w和偏置θ是通過學(xué)習(xí)得到的,并非人為設(shè)置的,在一定程度上模擬了人腦的“學(xué)習(xí)”功能,這也是兩者最大的區(qū)別。②兩者采用的激活函數(shù)不同,MP模型采用階躍函數(shù)作為激活函數(shù),而感知機通常采用sigmoid函數(shù)作為激活函數(shù)。191.sigmoid函數(shù)

sigmoid函數(shù),現(xiàn)在專指logistic函數(shù)。特點:具有平滑性、連續(xù)性、單調(diào)性和漸近性,且連續(xù)可導(dǎo)。2012年前,sigmoid是最常用的非線性激活函數(shù),其輸出值為(0,1),表示概率或輸入的歸一化。圖5.3sigmoid函數(shù)圖像sigmoid函數(shù)的優(yōu)點:平滑、易于求導(dǎo),其導(dǎo)數(shù)可直接用函數(shù)的輸出計算,簡單高效。sigmoid函數(shù)很好地解釋了神經(jīng)元在受到刺激的情況下是否被激活和向后傳遞的情景。當(dāng)取值接近0時,幾乎沒有被激活;當(dāng)取值接近1時,幾乎完全被激活。sigmoid

函數(shù)的求導(dǎo)公式如下:201.sigmoid函數(shù)sigmoid函數(shù)的缺點:(1)當(dāng)輸入的絕對值大于某個閾值時,會快速進(jìn)入飽和狀態(tài)(即函數(shù)值趨于1或-1,不再有顯著的變化,梯度趨于0),會出現(xiàn)梯度消失的情況,權(quán)重?zé)o法再更新,會導(dǎo)致算法收斂緩慢,甚至無法完成深層網(wǎng)絡(luò)的訓(xùn)練。因此在一些現(xiàn)代的神經(jīng)網(wǎng)絡(luò)中,sigmoid函數(shù)逐漸被ReLU激活函數(shù)取代。(2)sigmoid函數(shù)公式中有冪函數(shù),計算耗時長,在反向傳播誤差梯度時,求導(dǎo)運算涉及除法。(3)sigmoid函數(shù)的輸出恒大于0,非零中心化,在多層神經(jīng)網(wǎng)絡(luò)中,可能會造成后面層神經(jīng)元的輸入發(fā)生偏置偏移,導(dǎo)致梯度下降變慢。212.tanh函數(shù)tanh函數(shù)是sigmoid函數(shù)的一個變形,稱為雙曲正切函數(shù)。tanh函數(shù)的值域為(-1,1),改進(jìn)了sigmoid變化過于平緩的問題,且其輸出是零中心化的,解決了sigmoid函數(shù)的偏置偏移問題。tanh函數(shù)的數(shù)學(xué)表達(dá)式:圖5.4tanh函數(shù)圖像tanh可看作是在縱軸方向上放大到2倍并向下平移的sigmoid函數(shù)。tanh函數(shù)的導(dǎo)數(shù)公式:tanh函數(shù)的優(yōu)點:tanh在線性區(qū)的梯度更大,能加快神經(jīng)網(wǎng)絡(luò)的收斂。tanh函數(shù)的缺點:其兩端的梯度也趨于零,依舊存在梯度消失的問題,同時,冪運算也會導(dǎo)致計算耗時長。225.2.4多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)單個人工神經(jīng)元的結(jié)構(gòu)簡單,功能有限。若想完成復(fù)雜的功能,就需要將許多人工神經(jīng)元按照一定的拓?fù)浣Y(jié)構(gòu)相互連接在一起,相互傳遞信息,協(xié)調(diào)合作。組成神經(jīng)網(wǎng)絡(luò)的所有神經(jīng)元是分層排列的,一個神經(jīng)網(wǎng)絡(luò)包括輸入層、隱藏層(也稱為隱層、隱含層)和輸出層。每個網(wǎng)絡(luò)只能有一個輸入層和一個輸出層,卻可以有0個或多個隱藏層,每個隱藏層上可以有若干個神經(jīng)元。只有輸入層與輸出層的神經(jīng)元可以與外界相連,外界無法直接觸及隱藏層,故而得名“隱藏層”。235.2.4多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包含至少一個隱藏層的神經(jīng)網(wǎng)絡(luò)稱為多層神經(jīng)網(wǎng)絡(luò)。在包含神經(jīng)元個數(shù)最多的一層,神經(jīng)元的個數(shù)稱為該神經(jīng)網(wǎng)絡(luò)的寬度。除輸入層外,其他層的層數(shù)稱為神經(jīng)網(wǎng)絡(luò)的深度,即等于隱藏層個數(shù)加1(輸出層)。感知機沒有隱藏層,只有輸入層和輸出層,因此感知機的層數(shù)為1,稱為單層神經(jīng)網(wǎng)絡(luò)。人工神經(jīng)網(wǎng)絡(luò)的行為并非各個神經(jīng)元行為的簡單相加,而是具有學(xué)習(xí)能力的、行為復(fù)雜的非線性系統(tǒng),既可以提取和表達(dá)樣本的高維特征,又可以完成復(fù)雜的預(yù)測任務(wù)。245.2.4多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)多層神經(jīng)網(wǎng)絡(luò)的每個隱藏層后面都有一個非線性的激活函數(shù)。這里激活函數(shù)的作用比感知機中作為激活函數(shù)的階躍函數(shù)的作用要大得多,因為激活函數(shù)是對所有輸入信號的線性組合結(jié)果進(jìn)行非線性變換,而且多層神經(jīng)網(wǎng)絡(luò)就有多個激活函數(shù)。激活函數(shù)最主要的作用是向模型中加入非線性元素,用以解決非線性問題。一般在同一個網(wǎng)絡(luò)中使用同一種激活函數(shù)。255.2.4多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)根據(jù)神經(jīng)元之間的連接范圍,可以將多層人工神經(jīng)網(wǎng)絡(luò)分為全連接神經(jīng)網(wǎng)絡(luò)和部分連接神經(jīng)網(wǎng)絡(luò)。若每個神經(jīng)元與其相鄰層的所有神經(jīng)元都相連,這種結(jié)構(gòu)的網(wǎng)絡(luò)稱為全連接神經(jīng)網(wǎng)絡(luò)。若每個神經(jīng)元只與相鄰層上的部分神經(jīng)元相連,則是部分連接神經(jīng)網(wǎng)絡(luò)。圖5.5多層前饋全連接神經(jīng)網(wǎng)絡(luò)265.2.4多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)根據(jù)網(wǎng)絡(luò)層之間的連接方式,又可以將多層人工神經(jīng)網(wǎng)絡(luò)分為前饋神經(jīng)網(wǎng)絡(luò)和反饋神經(jīng)網(wǎng)絡(luò)。1.前饋神經(jīng)網(wǎng)絡(luò)前饋神經(jīng)網(wǎng)絡(luò)(FeedforwardNeuralNetwork)是一種多層神經(jīng)網(wǎng)絡(luò),其中每個神經(jīng)元只與其相鄰層上的神經(jīng)元相連,接收前一層的輸出,并輸出給下一層,即第i層神經(jīng)元以第i-1層神經(jīng)元的輸出作為輸入,第i層神經(jīng)元的輸出作為第i+1層神經(jīng)元的輸入。同層的神經(jīng)元之間沒有連接。整個網(wǎng)絡(luò)中的信息是單向傳遞的,即只能按一個方向從輸入層到輸出層的方向傳播,沒有反向的信息傳播,可以用一個有向無環(huán)圖表示。275.2.4多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)若前饋神經(jīng)網(wǎng)絡(luò)采用全連接方式,則稱為前饋全連接神經(jīng)網(wǎng)絡(luò)。前饋神經(jīng)網(wǎng)絡(luò)的優(yōu)點:網(wǎng)絡(luò)結(jié)構(gòu)簡單,易于實現(xiàn)。前饋全連接神經(jīng)網(wǎng)絡(luò)的缺點是:當(dāng)網(wǎng)絡(luò)很深時,參數(shù)量巨大,計算量大,訓(xùn)練耗時。前饋神經(jīng)網(wǎng)絡(luò)包括:BP神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)。前饋NN285.2.4多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)2.反饋神經(jīng)網(wǎng)絡(luò)反饋神經(jīng)網(wǎng)絡(luò)(FeedbackNeuralNetwork)是一種反饋動力學(xué)系統(tǒng)。在這種網(wǎng)絡(luò)中,有些神經(jīng)元不但可以接收其前一層上神經(jīng)元的信息,還可以接收來自于其后面層上神經(jīng)元的信息。神經(jīng)元的連接可以形成有向循環(huán)。反饋神經(jīng)網(wǎng)絡(luò)中的信息既可以單向傳遞,也可以雙向傳遞,且神經(jīng)元具有記憶功能,在不同時刻具有不同的狀態(tài),能建立網(wǎng)絡(luò)的內(nèi)部狀態(tài),可展現(xiàn)動態(tài)的時間特性。反饋NN295.3BP神經(jīng)網(wǎng)絡(luò)及其學(xué)習(xí)算法多層前饋神經(jīng)網(wǎng)絡(luò)的表達(dá)能力比單層感知機要強得多。要訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò),單層感知機的學(xué)習(xí)算法是遠(yuǎn)遠(yuǎn)不夠的,需要更強大的學(xué)習(xí)算法。1974年Werbos提出了BP算法;1986年辛頓等人又重新獨立地提出了BP算法。迄今為止,最成功的多層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法就是反向傳播(Back-Propagation,BP)算法。

BP算法能解決對參數(shù)逐一求偏導(dǎo)、計算效率低下的問題。目前,學(xué)術(shù)界和產(chǎn)業(yè)界依然在用BP算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)。305.3.1BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)由于前饋神經(jīng)網(wǎng)絡(luò)大多采用反向傳播學(xué)習(xí)算法來進(jìn)行訓(xùn)練模型,故被稱為BP神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò)。每個節(jié)點就是一個神經(jīng)元,神經(jīng)元之間帶有箭頭的連線表示信息傳遞的方向。此BP神經(jīng)網(wǎng)絡(luò)的深度為m-1信息傳遞方向誤差傳遞方向315.3.1BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖5.7BP網(wǎng)絡(luò)中相鄰兩層的各變量之間關(guān)系

325.3.2BP學(xué)習(xí)算法

335.3.2BP學(xué)習(xí)算法

BP學(xué)習(xí)算法的目的:使得目標(biāo)函數(shù)(即損失函數(shù))E達(dá)到極小值。損失函數(shù)的值越小,表示神經(jīng)網(wǎng)的預(yù)測結(jié)果越接近真實值。345.3.2BP學(xué)習(xí)算法

第5步:采用公式(5.11)計算出的修正值,依次更新所有權(quán)重和偏置;第6步:轉(zhuǎn)向第2步。35BP算法的具體執(zhí)行過程假設(shè)輸入樣本為(x1=0.05,x2=0.1),期望輸出值為(y1=0.03,y2=0.05)。正向傳播(1)由輸入層向隱藏層傳播信息。隱藏層中第一個神經(jīng)元h1的輸出為:圖5.8BP神經(jīng)網(wǎng)絡(luò)示例隱藏層中第一個神經(jīng)元h2的輸出為:(2)由隱藏層向輸出層傳播信息。輸出層中兩個神經(jīng)元的輸出分別為:

362.反向傳播反向?qū)W習(xí)的目的:利用梯度下降法更新網(wǎng)絡(luò)中的參數(shù),使得損失函數(shù)達(dá)到極小值。反向?qū)W習(xí)的過程:誤差信息從輸出層經(jīng)過隱藏層傳向輸入層,逐層使權(quán)值沿?fù)p失函數(shù)的負(fù)梯度方向更新。

更新誤差的過程是一個始于輸出層向輸入層傳播的遞歸過程,故稱為反向傳播學(xué)習(xí)算法。37BP算法中反向傳播階段的具體執(zhí)行過程(1)

(1)計算總誤差

38BP算法中反向傳播階段的具體執(zhí)行過程(2)②計算偏置項的修正量。

39BP算法中反向傳播階段的具體執(zhí)行過程(3)

這4項在第(2)步的權(quán)值更新中均已有計算值。

第2項:第3項:

405.3.2BP學(xué)習(xí)算法第1個訓(xùn)練樣本(x1=0.05,x2=0.1),目標(biāo)輸出為[0.03,0.05],實際輸出為[0.694,0.718],總誤差為0.444;完成第1輪參數(shù)更新;繼續(xù)將第1個訓(xùn)練樣本(x1=0.05,x2=0.1)輸入到已更新參數(shù)的神經(jīng)網(wǎng)絡(luò)中,進(jìn)行第二次訓(xùn)練,得到實際輸出為[0.667,0.693],總誤差為0.44356;可見,總誤差在逐漸減小,隨著迭代次數(shù)的增加,輸出值會越來越接近目標(biāo)值,直到總誤差小于設(shè)定的閾值,再輸入下一個訓(xùn)練樣本,繼續(xù)訓(xùn)練,直到輸入所有訓(xùn)練樣本訓(xùn)練完畢為止。41BP神經(jīng)網(wǎng)絡(luò)及學(xué)習(xí)算法的局限性(1)BP學(xué)習(xí)算法是有監(jiān)督學(xué)習(xí),需要大量帶標(biāo)簽的訓(xùn)練數(shù)據(jù)。(2)BP神經(jīng)網(wǎng)絡(luò)中的參數(shù)量大,收斂速度慢,需要較長的訓(xùn)練時間,學(xué)習(xí)效率低。(3)BP學(xué)習(xí)算法采用梯度下降法更新學(xué)習(xí)參數(shù),容易陷入局部極值,從而找不到全局最優(yōu)解。(4)尚無理論指導(dǎo)如何選擇網(wǎng)絡(luò)隱藏層的層數(shù)和神經(jīng)元的個數(shù),一般是根據(jù)經(jīng)驗或通過反復(fù)實驗確定。因此,網(wǎng)絡(luò)往往存在很大的冗余性,在一定程度上也增加了網(wǎng)絡(luò)學(xué)習(xí)的負(fù)擔(dān)。425.4卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)是一種特殊的多層前饋神經(jīng)網(wǎng)絡(luò),常用于監(jiān)督學(xué)習(xí)。早期的BP神經(jīng)網(wǎng)絡(luò)是全連接的,需要學(xué)習(xí)的參數(shù)量巨大,網(wǎng)絡(luò)訓(xùn)練時間較長。科學(xué)家發(fā)現(xiàn):生物神經(jīng)元有感受野(ReceptiveField)機制,研究人員受此啟發(fā),提出了卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)模仿了感受野的機制,采用卷積運算,使得人工神經(jīng)元只連接其周圍一定范圍內(nèi)的神經(jīng)元,連接數(shù)量減少了,權(quán)重(參數(shù))量也減少了。卷積神經(jīng)網(wǎng)絡(luò)最早用來完成圖像處理任務(wù),特別是在圖像分類、目標(biāo)檢測和語義分割等任務(wù)上不斷取得突破性進(jìn)展。5.4卷積神經(jīng)網(wǎng)絡(luò)對卷積神經(jīng)網(wǎng)絡(luò)的研究最早可以追溯到1979年,日本學(xué)者福島邦彥(KunihikoFukushima)提出了命名為“neocognitron”的神經(jīng)網(wǎng)絡(luò),它是一個具有深層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),也是最早被提出的深度學(xué)習(xí)算法之一。1989年,楊樂昆(YannLeCun)等人在《BackpropagationAppliedtoHandwrittenZipCode》一文中第一次使用“convoluation”和“kernel”術(shù)語。提出采用隨機梯度下降法訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,并首次使用了“卷積神經(jīng)網(wǎng)絡(luò)”一詞,因此,楊樂昆被譽為“卷積神經(jīng)網(wǎng)絡(luò)之父”。43445.4.1卷積神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)一個CNN可以包含多個網(wǎng)絡(luò)層,每層網(wǎng)絡(luò)由多個獨立的神經(jīng)元組成。CNN中的網(wǎng)絡(luò)層主要分為3種類型:卷積層、池化層和全連接層。通常,每個卷積層與最后一個全連接層之后都會采用激活函數(shù)。與多層前饋神經(jīng)網(wǎng)絡(luò)一樣,CNN也可以像搭積木一樣,通過疊加多個網(wǎng)絡(luò)層來組裝。多層前饋神經(jīng)網(wǎng)絡(luò)可以看成是由“全連接層+ReLU層”組合拼裝而成的,而CNN可以看成是由“卷積層+ReLU層+池化層”(有時也省略池化層)組合拼裝而成的。CNN具有3個重要特性:權(quán)重共享、局部感知和亞采樣。在卷積神經(jīng)網(wǎng)絡(luò)中,輸入層輸入的數(shù)據(jù)是訓(xùn)練樣本或測試樣本,其他網(wǎng)絡(luò)層輸入/輸出的數(shù)據(jù)均稱為特征圖(FeatureMap)。455.4.1卷積神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)不需要額外的特征工程,可以直接從圖像中自動提取視覺特征,稱為學(xué)習(xí)式特征;不用像傳統(tǒng)圖像處理技術(shù)那樣提取手工式特征(如HOG、SIFT特征等)。CNN可識別具有極端可變性的模式,如手寫體字符,且具有一定程度的扭曲、平移、旋轉(zhuǎn)、縮放不變性,從而可以保留圖像的空間特性,在圖像處理方面具有顯著優(yōu)勢。與幾乎所有其他的神經(jīng)網(wǎng)絡(luò)一樣,CNN也采用反向傳播算法訓(xùn)練模型。CNN通常包括1個輸入層多個“卷積層+ReLU層+池化層”組合塊,也可能是

【n個“卷積層+ReLU層”+1個池化層】的組合多個連續(xù)的全連接層(中間不加激活函數(shù))1個采用softmax函數(shù)的輸出層。卷積神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)46(卷積層+ReLU+

池化層)的組合多次出現(xiàn):用于提取特征

多個全連接或特殊的CNN結(jié)構(gòu)作為輸出層:用作分類器/檢測器/分割器475.4.1卷積神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)(1)輸入層。灰度圖:W×H矩陣,其中W為寬度,H為高度,圖像深度為1;彩色圖:W×H×3像素矩陣,“3”表示R、G、B三個顏色通道,即圖像深度。(2)卷積層。卷積操作就是點積運算。卷積層的功能:用卷積操作對輸入的原始數(shù)據(jù)/特征圖提取特征,輸出卷積運算后產(chǎn)生的特征圖。卷積層是CNN的核心部分,一個卷積層可以包含若干個卷積核(Kernel),一個卷積核就是一個二維的、高度和寬度相同的權(quán)重矩陣,記為ConvF×F,F(xiàn)<<W。F×F的區(qū)域就是卷積核的感受野,卷積核與輸入的圖像或特征圖只有F×F大小的局部連接;在全連接神經(jīng)網(wǎng)絡(luò)中,隱藏層的神經(jīng)元的感受視野是輸入圖像或特征圖的全部大小,進(jìn)行的是全局連接。48(2)卷積層對灰色圖像作卷積操作,用一個卷積核即可,因為一張灰色圖像只有一個顏色通道;對彩色圖像作卷積操作,則同時需要有3個大小相同的卷積核,分別對彩色圖像的R、G、B三個通道進(jìn)行卷積運算,那么這個由若干個大?。⊿ize,也稱為尺寸)相同的卷積核堆疊而成的卷積核組就稱為一個濾波器,記為ConvF×F×D,其中D為該濾波器中包含的卷積核的個數(shù),稱為濾波器的深度(Depth),也稱為濾波器的通道數(shù),記為#channel。濾波器的深度取決于輸入的圖像或特征圖的深度。對于灰度圖像,一個卷積核可以看作是深度為1的濾波器。49(2)卷積層一個卷積層中可以包含多個濾波器,而濾波器的個數(shù)是人為設(shè)定的,一個濾波器就是一個神經(jīng)元。通常,同層上的多個濾波器的大小、深度都相同,也是人為設(shè)定的,即超參數(shù);只是權(quán)重和偏置不同,需要訓(xùn)練得到,即學(xué)習(xí)參數(shù)。每個濾波器,即神經(jīng)元,只對輸入圖像或特征圖的部分區(qū)域進(jìn)行卷積運算,負(fù)責(zé)提取圖像或特征圖中的局部特征。靠近輸入層的卷積層提取的特征往往是局部的,越靠近輸出層,卷積層提取的特征越是全局化的。一個濾波器只關(guān)注一個特征,不同的濾波器用于提取不同的特征,如邊緣、輪廓、紋理、顏色等。每個濾波器只產(chǎn)生一層特征圖,故有多少個濾波器,就會產(chǎn)生多少層特征圖。一個神經(jīng)網(wǎng)絡(luò)中的所有神經(jīng)元,就是構(gòu)成了整張圖像的特征提取器的集合。505.4.1卷積神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)(3)池化層。池化層也稱為下采樣層、子采樣、亞采樣。池化層的作用:選擇具有代表性的特征,去除不重要的或冗余的特征,用以降低特征維數(shù),從而減少參數(shù)量和計算開銷。(4)全連接層。全連接層通常置于CNN尾部,它與傳統(tǒng)的全連接神經(jīng)網(wǎng)絡(luò)的連接方式相同,都是相鄰兩層上的所有神經(jīng)元兩兩相連,每個連接都有權(quán)重。兩個相鄰全連接層之間只進(jìn)行線性轉(zhuǎn)換,不用激活函數(shù)。全連接層的作用主要是對卷積層和池化層提取的局部特征進(jìn)行重新組合,得到全局信息,以減少特征信息的丟失。全連接的操作方式先將經(jīng)過卷積、激活函數(shù)、池化的多層特征向量抻直成一個一維的向量;再采用全連接的方式將上述一維向量與輸出層連接。51525.4.1卷積神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)(5)輸出層。輸出層用于輸出結(jié)果,實際上就是最后一個全連接層之后的激活函數(shù)層。根據(jù)回歸或分類問題的需要選擇不同激活函數(shù),以獲得最終想要的結(jié)果。例如,二分類任務(wù)可以選擇sigmoid作為激活函數(shù),若是多分類任務(wù),可以選擇softmax作為激活函數(shù)。CNN的結(jié)構(gòu)比傳統(tǒng)多層全連接神經(jīng)網(wǎng)絡(luò)具有以下兩個方面優(yōu)勢。(1)連接方式不同,CNN的局部連接可大大減少參數(shù)量和計算量。(2)對輸入圖像處理的方式不同,CNN保留了圖像固有的空間特征。535.4.2卷積運算卷積是泛函分析中一種重要的運算。圖像處理中的卷積是二維的。1.灰色圖像上的卷積運算灰度圖像:W×H的像素矩陣,是單通道圖像。其中每個像素的取值范圍為[0,255],表示像素的強度。圖像處理的底層就是對圖像像素點進(jìn)行操作。卷積運算是對像素矩陣與卷積核矩陣重疊部分作內(nèi)積的操作,即計算兩個重疊矩陣中對應(yīng)元素的乘積之和。在圖像上作卷積操作是用同一個卷積核在圖像上從左到右、從上到下,按某個固定的步長進(jìn)行“Z”字形滑動,遍歷圖像的每一個局部位置,并將每個位置的內(nèi)積運算結(jié)果保存到輸出特征圖的相應(yīng)位置。步長是指卷積核窗口在像素矩陣上滑動的位置間隔,以像素為計數(shù)單位。54灰度圖上單個卷積核的卷積運算示例在下列灰度圖像上,假設(shè)給定4×4的像素矩陣,卷積核大小為2×2,滑動步長為2。圖5.12灰度圖像的卷積運算示例555.4.2卷積運算2.RGB圖像上的卷積運算輸入的彩色圖像通常表示為W×H×3的像素矩陣,其中“深度”

也稱為通道。彩色圖像可以看作3個二維像素矩陣,每個像素矩陣存放所有像素的一種顏色值,像素取值范圍為[0~255]。RGB圖上2個濾波器的卷積運算過程粉色矩陣是兩個濾波器/神經(jīng)元:(w0,w1)濾波器的步長設(shè)為2輸入RGB圖像RGB第1個濾波器,即第1個神經(jīng)元第2個濾波器,即第2個神經(jīng)元第1個濾波器的輸出第2個濾波器的輸出濾波器的偏差56575.4.2卷積運算CNN的每個卷積層中都可以使用多個濾波器(其個數(shù)由人為設(shè)定)。在每個卷積層上,一個濾波器只能輸出一個通道數(shù)為1的特征圖;若有K個濾波器,則輸出一個通道數(shù)為K的特征圖。針對輸入的RGB圖像,第一個卷積層的所有濾波器的深度必須是3,因為顏色通道為3。在其后的卷積層上,濾波器的深度取決于前一層輸出的特征圖的通道數(shù)。一個濾波器提取一種局部特征,多個濾波器可以提取多種不同的局部特征。585.4.2卷積運算3.圖像填充(padding)每做一次卷積運算,輸出的特征圖的尺寸都會減少若干個像素,經(jīng)過若干個卷積層后,特征圖尺寸會變得非常小。另外,在卷積核移動的過程中,圖像邊緣的像素參與卷積運算的次數(shù)遠(yuǎn)少于圖像內(nèi)部的像素,這是因為邊緣上的像素永遠(yuǎn)不會位于卷積核的中心,而卷積核也不能擴展到圖像邊緣區(qū)域以外,因此會導(dǎo)致圖像邊緣的大部分信息丟失。若想盡可能多地保留原始輸入圖像的信息,可以在卷積操作之前,在原圖像的周圍填充p圈固定的常數(shù),例如,填充常數(shù)0,這種操作稱為填充(padding)。595.4.2卷積運算填充的主要目的是調(diào)整輸入數(shù)據(jù)的大小,使得輸出數(shù)據(jù)的形狀保持與輸入數(shù)據(jù)一致。需要根據(jù)具體情況來確定超參數(shù)p的值。在實踐中,當(dāng)設(shè)置padding=valid時,表示不填充0值,當(dāng)padding=same時,表示自動計算p值來填補0值,使得卷積運算前、后的特征圖的尺寸相同。采用填充技術(shù)有以下兩個作用:①CNN的深度不再受卷積核大小的限制,CNN可以不斷地堆疊卷積層。若不作填充,當(dāng)前一層輸出的特征圖的尺寸比卷積核還小時,就無法再進(jìn)行卷積操作,也就無法再增加卷積層了。②可以充分利用圖像的邊界信息,避免遺漏圖像邊界附近的重要信息。605.4.2卷積運算4.卷積運算后特征圖尺寸的計算公式填充的p值和步長s的值都會影響卷積輸出特征圖的大小。設(shè)當(dāng)前卷積層中濾波器的個數(shù)為K,輸入特征圖的尺寸為H×W×D(D為通道數(shù)),卷積核的尺寸為F×F,填充為

p,步長為

s,則執(zhí)行卷積運算后,輸出特征圖的尺寸H′×W′×D′的計算公式為:其中,主要超參數(shù)包括:每個卷積層中濾波器的個數(shù)K、卷積核或濾波器的大小F、步長s、填充p。當(dāng)前卷積層中學(xué)習(xí)參數(shù)的個數(shù)為(F×F×D+1)×K。61卷積運算示例圖5.15兩個卷積層的運算過程625.4.2卷積運算5.轉(zhuǎn)置卷積卷積操作可看作是下采樣。對于某些特定任務(wù),需要將圖像恢復(fù)到原來的尺寸,這個將圖像由小尺寸轉(zhuǎn)換為大尺寸的操作稱為上采樣。傳統(tǒng)的上采樣方法有:最近鄰插值法、線性插值法和雙線性插值法等。然而,這些上采樣方法都是基于人們已有的先驗經(jīng)驗設(shè)計的。但在很多應(yīng)用場景中,人們并不具有正確的先驗知識,因此上采樣的效果不理想。我們希望神經(jīng)網(wǎng)絡(luò)能夠自動學(xué)習(xí)如何更好地進(jìn)行上采樣,轉(zhuǎn)置卷積就是一種自動上采樣的方法。轉(zhuǎn)置卷積又稱為反卷積或逆卷積。63轉(zhuǎn)置卷積的示例圖5.16F=3,s=1,p=2轉(zhuǎn)置卷積的運算過程645.轉(zhuǎn)置卷積確定p值的公式為p=F-1。卷積是用一個小窗口看大世界,而轉(zhuǎn)置卷積是用一個大窗口的一部分去看小世界,即卷積核比原輸入圖像尺寸大。需要注意的是:卷積操作和轉(zhuǎn)置卷積并不是互逆的兩個操作。一個特征圖A經(jīng)過卷積操作后,得到特征圖B,而B再經(jīng)過轉(zhuǎn)置卷積操作后,并不能恢復(fù)到A中原始的元素值,只是保留了原始的形狀,即大小相同而已。所以,轉(zhuǎn)置卷積雖然又叫逆卷積,但事實上,它不是原來卷積操作的逆運算。655.4.2卷積運算6.卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的特點(1)局部連接。人類對外界的認(rèn)知一般是從局部到全局,先感知局部,再逐步認(rèn)知全局。卷積即局部感受野。CNN模仿了人類的認(rèn)識模式:一個神經(jīng)元只與特征圖局部區(qū)域中的元素相連。每個卷積層的輸入特征圖或卷積核的大小是不同的,卷積核大小的不同意味著感受野范圍的不同。隨著網(wǎng)絡(luò)的加深,神經(jīng)元的感受野范圍逐層擴大,所提取圖像特征的全局化程度越來越高,直到全連接層,全連接層中每個神經(jīng)元的感受野覆蓋了前一網(wǎng)絡(luò)層的全部輸出,得到的就是全局特征。665.4.2卷積運算CNN是:在卷積層,先用感受野小的卷積提取圖像的局部特征;在全連接層,再用全連接將所有特征重新組合在一起,提取全局特征。局部連接實際上減少了神經(jīng)元之間的連接數(shù),也就減少了參數(shù)量,起到了降低計算量的作用。675.4.2卷積運算(2)權(quán)值共享。權(quán)值共享是指卷積核在滑過整個圖像時,其參數(shù)是固定不變的。計算同一個通道的特征圖的不同窗口時,卷積核中的權(quán)值是共享的,這樣可以極大地減少參數(shù)量。需要指出的是:同一卷積核只是針對同一通道的特征圖共享權(quán)值,不同濾波器在同一通道上的卷積核不共享權(quán)值,不同通道上的卷積核也不共享權(quán)值。一個濾波器的多個卷積核共享同一個偏置值。在CNN的隱藏層中,共享卷積核的參數(shù)可以減少學(xué)習(xí)參數(shù)的數(shù)量,降低處理高維數(shù)據(jù)的計算壓力。例如:AlexNet的參數(shù)有1億,采用共享權(quán)值后,減至6000萬。可見,卷積神經(jīng)網(wǎng)絡(luò)的兩個特點(局部連接和權(quán)值共享),都是減少學(xué)習(xí)參數(shù)量的方法。68卷積神經(jīng)網(wǎng)絡(luò)的局限性①訓(xùn)練網(wǎng)絡(luò)模型時,不僅需要大量的訓(xùn)練樣本,還需要高性能算力,例如需要使用GPU,還需要花大量的時間調(diào)試超參數(shù);②所提取特征的物理含義不明確,即不知道每個卷積層提取到的特征表示什么含義,神經(jīng)網(wǎng)絡(luò)本身就是一種難以解釋的“黑箱模型”;③深度神經(jīng)網(wǎng)絡(luò)缺乏完備的數(shù)學(xué)理論證明,這也是深度學(xué)習(xí)一直面臨的問題,目前仍無法解決。695.4.3激活函數(shù)在多層CNN中,第i個卷積層的輸出與第i+1個卷積層的輸入之間有一個函數(shù)映射,即激活函數(shù)。激活函數(shù)是NN中的重要組成部分,它是對網(wǎng)絡(luò)層輸出的線性組合結(jié)果做非線性映射。若激活函數(shù)是線性函數(shù),則無論神經(jīng)網(wǎng)絡(luò)有多少層,整個網(wǎng)絡(luò)的功能等價于感知機,網(wǎng)絡(luò)的逼近能力十分有限。激活函數(shù)的作用就是給網(wǎng)絡(luò)模型提供非線性的建模能力。在現(xiàn)代CNN中,每個卷積層后面都有非線性激活函數(shù),目的是向模型中加入非線性元素,以解決非線性問題。一般在同一個網(wǎng)絡(luò)中使用同一種激活函數(shù)。早期,CNN的隱藏層大多采用sigmoid函數(shù)作為激活函數(shù),自從2012年起,幾乎所有的CNN均采用ReLU系列函數(shù)做激活函數(shù)了。705.4.3激活函數(shù)1.ReLU函數(shù)ReLU是修正線性單元的簡稱,是最常用的激活函數(shù)。AlexNet模型采用的激活函數(shù)是ReLU,從此ReLU成為深度神經(jīng)網(wǎng)絡(luò)模型中應(yīng)用最廣泛的激活函數(shù)。ReLU是一個簡單的分段線性函數(shù),但從整體看,ReLU是一個非線性函數(shù):ReLU函數(shù)是分段可導(dǎo)的,并人為規(guī)定在0處的梯度為0,其導(dǎo)數(shù)形式如下:71ReLU函數(shù)的優(yōu)點(1)計算簡單且快,求梯度簡單,收斂速度比sigmoid與tanh函數(shù)快得多,ReLU僅需要做簡單的閾值運算。(2)S型函數(shù)在x趨近于正負(fù)無窮時,函數(shù)的導(dǎo)數(shù)趨近于零,而ReLU的導(dǎo)數(shù)為0或常數(shù),在一定程度上緩解了梯度消失的問題。(3)ReLU具有生物上的可解釋性,有研究表明:人腦中同一時刻大概只有1%~4%的神經(jīng)元處于激活狀態(tài),同時只響應(yīng)小部分輸入信號,屏蔽了大部分信號。sigmoid函數(shù)和tanh函數(shù)會導(dǎo)致形成一個稠密的神經(jīng)網(wǎng)絡(luò);而ReLU函數(shù)在x<0的負(fù)半?yún)^(qū)的導(dǎo)數(shù)為0,當(dāng)神經(jīng)元激活函數(shù)的值進(jìn)入負(fù)半?yún)^(qū)時,該神經(jīng)元不會被訓(xùn)練,使得網(wǎng)絡(luò)具有稀疏性??梢?,ReLU只有大約50%的神經(jīng)元保持處于激活狀態(tài),引入了稀疏激活性,使神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時會有更好的表現(xiàn)。72ReLU函數(shù)的缺點(1)ReLU函數(shù)的輸出是非零中心化的,使得后一層神經(jīng)網(wǎng)絡(luò)的偏置偏移,影響梯度下降的速度。(2)采用ReLU函數(shù),神經(jīng)元在訓(xùn)練時比較容易“死亡”,即在某次不恰當(dāng)?shù)馗聟?shù)后,所有輸入都無法激活某個神經(jīng)元,則該神經(jīng)元的梯度固定為0,導(dǎo)致無法更新參數(shù),而且在之后的訓(xùn)練中,此神經(jīng)元再也不會被激活,這種現(xiàn)象稱為“神經(jīng)元死亡”問題。在實際使用中,為了避免上述情況,提出了若干ReLU的變種,如LeakyReLU函數(shù)等。735.4.3激活函數(shù)2.LeakyReLU函數(shù)LeakyReLU稱為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論