感知器與梯下降_第1頁
感知器與梯下降_第2頁
感知器與梯下降_第3頁
感知器與梯下降_第4頁
感知器與梯下降_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、神經(jīng)網(wǎng)絡(luò):感知器與梯度下降一、前言1,什么是神經(jīng)網(wǎng)絡(luò)?人工神經(jīng)網(wǎng)絡(luò)(ANN)又稱神經(jīng)網(wǎng)絡(luò)(NN),它是一種受生物學(xué)啟發(fā)而產(chǎn)生的一種模擬人腦的學(xué)習(xí)系統(tǒng)。它通過相互連結(jié)的結(jié)點(diǎn)構(gòu)成一個復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),每一個結(jié)點(diǎn)都具有多個輸入和一個輸出,并且該結(jié)點(diǎn)與其他結(jié)點(diǎn)以一個權(quán)重因子相連在一起。通俗來說,神經(jīng)網(wǎng)絡(luò)是一種學(xué)習(xí)器,給它一組輸入,它會得到一組輸出,神經(jīng)網(wǎng)絡(luò)里的結(jié)點(diǎn)相互連結(jié)決定了輸入的數(shù)據(jù)在里面經(jīng)過怎樣的計算。我們可以通過大量的輸入,讓神經(jīng)網(wǎng)絡(luò)調(diào)整它自身的連接情況從而總是能夠得到我們預(yù)期的輸出。2,神經(jīng)網(wǎng)絡(luò)能干什么嗎?神經(jīng)網(wǎng)絡(luò)對于逼近實(shí)數(shù)值、離散值或向量值的目標(biāo)函數(shù)提供了一種健壯性很強(qiáng)的方法,現(xiàn)在已經(jīng)成功

2、應(yīng)用到很多領(lǐng)域,例如視覺場景分析、手寫字符識別、語音識別、人臉識別等。它可以適用在任何實(shí)例是“屬性-值”FeatureValue的情況中,需要學(xué)習(xí)的目標(biāo)函數(shù)是定義在可以用向量描述的實(shí)例上,向量由預(yù)先定義的特征組成,比如字符識別,那么特征可以是圖像中的每個像素亮度值?,F(xiàn)代計算機(jī)識別的過程通常都可以描述為這樣一個過程:對象 特征類別,理論上都可以用神經(jīng)網(wǎng)絡(luò)來解決。本篇文章將是人工神經(jīng)網(wǎng)絡(luò)這個主題的第一篇文章,主要從最簡單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)入手,介紹一些基本算法原理。后面會陸續(xù)涉及到多層神經(jīng)網(wǎng)絡(luò)的原理及其C+實(shí)現(xiàn),同時隨著深度學(xué)習(xí)的提出,卷積神經(jīng)網(wǎng)絡(luò)也漸漸走進(jìn)人們的視野,它在圖像識別上表現(xiàn)非常

3、不錯,這個主題也將在后面的文章中有全面的介紹。二、感知器一個感知器的結(jié)構(gòu)圖如下:稍后我們會知道感知器實(shí)際上是神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的一個神經(jīng)元,那么一個感知器就夠成了最簡單的神經(jīng)網(wǎng)絡(luò)系統(tǒng)(雖然還算不上是網(wǎng)絡(luò))。感知器是以一組實(shí)數(shù)向量作為輸入,計算這些輸入的線性組合,如果結(jié)果大于某個閾值就輸出1,否則就輸出-1。如果我們用公式表達(dá),則假設(shè)輸入為x1到xn,那么感知器可以表示為一個函數(shù):o(x)=11ifw0+x1w1+xnwn>0otherwise我們把w0看作是上面提到的閾值,w1至wn為一組權(quán)值。o(x)就是將輸入向量按一組權(quán)重進(jìn)行線性加權(quán)求和后做的一個符號函數(shù)。我們可以把感知器看成n維實(shí)例空

4、間(點(diǎn)空間)中的超平面的決策面,平面一側(cè)的所有實(shí)例輸出1,對另一側(cè)的實(shí)例輸出-1,這個決策超平面的方程是a x =0。針對于我們在數(shù)據(jù)分類的應(yīng)用時,就是將我們提供的所有樣本數(shù)據(jù)分為2類,對于其中一類樣本,感知器總是輸出1,而另一類總是輸出-1。但是對于任意樣本總能找出這個超平面嗎,或者是說是找出一組這樣的權(quán)值向量嗎?答案顯然是否定的,只有線性可分的空間可以找到超平面,或者說可以找出一組權(quán)值。那么我們怎么利用感知器呢?或者說我們的目標(biāo)是什么?我們希望找到一組這樣的權(quán)值,對于我們輸入的每一組向量,總是能夠得到一個我們期望的值。但是上面的感知器功能顯然不夠,它只能得到2個結(jié)果,即

5、1和-1。在實(shí)際的模式分類的應(yīng)用中,樣本空間往往并不是線性的,即使是2維數(shù)據(jù)的集合也可能不是線性可分的,比如下面這張圖:而用這樣的感知器結(jié)點(diǎn)來構(gòu)建神經(jīng)網(wǎng)絡(luò)顯然是不行的,因為線性單元連結(jié)在一起得到的仍然是線性單元,我們需要的是一種非線性映射,于是就產(chǎn)生了激活函數(shù)這個概念。激活函數(shù)是一種非線性函數(shù)同時是可微函數(shù)(可以求導(dǎo)數(shù)),為什么要可微呢,因為我們需要知道權(quán)重是怎么影響最終輸出的,我們要根據(jù)輸出來調(diào)節(jié)那些權(quán)重向量,也就是后面講到的梯度下降法則。激活函數(shù)有很多種,關(guān)于激活函數(shù)的種類這里不準(zhǔn)備介紹太多,只要知道我們選用的是S型激活函數(shù),它將整個一維空間映射到0,1或-1,1。下面是S型sigmoid

6、函數(shù)和它的導(dǎo)數(shù):f(x)=11+ex(0<f(x)<1)f(x)=ex(1+ex)2=f(x)1f(x)經(jīng)過這樣的非線性映射,我們的感知器(現(xiàn)在應(yīng)該叫SIMGOID單元)就變成了下面這種結(jié)構(gòu):上面結(jié)構(gòu)中w0我們習(xí)慣稱它為偏置,相當(dāng)于我們多了一個x0=1的輸入。對于上面這種結(jié)構(gòu),我們可以有如下結(jié)論:1)對于任意一組輸入和一個我們預(yù)想的在0,1之間的輸出,我們總可以找到一組w 使得。2)對于很多組這樣的輸入樣本,我們可以通過不斷的調(diào)整權(quán)值,來讓它們的輸出接近于我們預(yù)想的輸出。下面我們該考慮,如何求得這樣的一組權(quán)值向量。三、反向傳播算法我們需要在向量空間中搜索最合適的權(quán)值向量,

7、但是我們不能盲目的搜索,需要有一定的規(guī)則指導(dǎo)我們的搜索,那么梯度下降就是很有用的方法。首先我們來定義輸出誤差,即對于任意一組權(quán)值向量,那它得到的輸出和我們預(yù)想的輸出之間的誤差值。定義誤差的方法很多,不同的誤差計算方法可以得到不同的權(quán)值更新法則,這里我們先用這樣的定義:E(w )=12dD(tdod)2上面公式中D代表了所有的輸入實(shí)例,或者說是樣本,d代表了一個樣本實(shí)例,od表示感知器的輸出,td代表我們預(yù)想的輸出。這樣,我們的目標(biāo)就明確了,就是想找到一組權(quán)值讓這個誤差的值最小,顯然我們用誤差對權(quán)值求導(dǎo)將是一個很好的選擇,導(dǎo)數(shù)的意義是提供了一個方向,沿著這個方向改變權(quán)值,將會讓總的誤差

8、變大,更形象的叫它為梯度。E(wi)=Ew=12dD(tdod)2wi=12dD(tdod)2wi既然梯度確定了E最陡峭的上升的方向,那么梯度下降的訓(xùn)練法則是:wiwi+wi,其中wi=Ewi梯度下降是一種重要最優(yōu)化算法,但在應(yīng)用它的時候通常會有兩個問題:1)有時收斂過程可能非常慢;2)如果誤差曲面上有多個局極小值,那么不能保證這個過程會找到全局最小值。為了解決上面的問題,實(shí)際中我們應(yīng)用的是梯度下降的一種變體被稱為隨機(jī)梯度下降。上面公式中的誤差是針對于所有訓(xùn)練樣本而得到的,而隨機(jī)梯度下降的思想是根據(jù)每個單獨(dú)的訓(xùn)練樣本來更新權(quán)值,這樣我們上面的梯度公式就變成了:Ewi=12(to)2wi=(to

9、)owi經(jīng)過推導(dǎo)后,我們就可以得到最終的權(quán)值更新的公式:wi=wi+wi=(to)o(1o)wi=xi有了上面權(quán)重的更新公式后,我們就可以通過輸入大量的實(shí)例樣本,來根據(jù)我們預(yù)期的結(jié)果不斷地調(diào)整權(quán)值,從而最終得到一組權(quán)值使得我們的SIGMOID能夠?qū)σ粋€新的樣本輸入得到正確的或無限接近的結(jié)果。四、實(shí)例說明上面我們已經(jīng)介紹了經(jīng)過基本的感知器,我們構(gòu)造了一種SIGMOID單元,可以對“輸入向量-值”這種模式的數(shù)據(jù)進(jìn)行目標(biāo)函數(shù)的逼近,但是這畢竟只是單個神經(jīng)元,它逼近不了太復(fù)雜的映射關(guān)系,我們需要構(gòu)造一個多層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來解決更一般的學(xué)習(xí)與分類問題。下面我們通過一個簡單的逼近實(shí)例來說明單個SIMGOI

10、D單元的工作原理。首先,我們假設(shè)我們的輸入是一個4維的向量x=x1,x2,x3,x4,其中xi的值為0或者1。為了簡單其見,我們只設(shè)計了下面4種樣本。x1=1,0,0,0x2=0,1,0,0x3=0,0,1,0x4=0,0,0,1對于這4類樣本,我們希望它們得到4種不同的結(jié)果以說明它們屬于哪一種,也就是我們的目標(biāo)輸出是一個標(biāo)號,像下面這樣:x11x22x33x44上面的樣本只是4種,我們可以讓每一種樣本重復(fù)來構(gòu)建大量的樣本實(shí)例。比如實(shí)際采集到的樣本可能會有所浮動,比如與x1同類的樣本可能采集到的數(shù)據(jù)是這樣的x=0.993,0.002,0.0012,0.019,所以我們可以用很小的隨機(jī)數(shù)來模擬大量的樣本輸入。因為我們的SIMGOID單元輸出值只可能是0,1,所以我們可以將我們的類別標(biāo)號歸一化為1,2,3,4/4,下面我們用C+來模擬這一過程。1,樣本獲?。?,用0,0.05之間的隨機(jī)值初始化權(quán)重。3,向前計算4,更新權(quán)重下面是經(jīng)過15000次迭代后得到的結(jié)果:

溫馨提示

  • 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

提交評論