我的人工神經(jīng)網(wǎng)絡(luò)-基礎(chǔ)_第1頁
我的人工神經(jīng)網(wǎng)絡(luò)-基礎(chǔ)_第2頁
我的人工神經(jīng)網(wǎng)絡(luò)-基礎(chǔ)_第3頁
我的人工神經(jīng)網(wǎng)絡(luò)-基礎(chǔ)_第4頁
我的人工神經(jīng)網(wǎng)絡(luò)-基礎(chǔ)_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、我的人工神經(jīng)網(wǎng)絡(luò)-基礎(chǔ)主要內(nèi)容主要內(nèi)容n生物神經(jīng)網(wǎng)生物神經(jīng)網(wǎng) n人工神經(jīng)元人工神經(jīng)元 n神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) n示例示例生物體的神經(jīng)系統(tǒng)生物體的神經(jīng)系統(tǒng)圖圖1 生物體的神經(jīng)元生物體的神經(jīng)元n根據(jù)一個簡化的統(tǒng)計,人腦由百億條神經(jīng)組成根據(jù)一個簡化的統(tǒng)計,人腦由百億條神經(jīng)組成 每條神經(jīng)平均連結(jié)到其它幾千條神經(jīng)。通過這種每條神經(jīng)平均連結(jié)到其它幾千條神經(jīng)。通過這種連結(jié)方式,神經(jīng)可以收發(fā)不同數(shù)量的能量。連結(jié)方式,神經(jīng)可以收發(fā)不同數(shù)量的能量。n神經(jīng)的一個非常重要的功能是它們對能量的接受并神經(jīng)的一個非常重要的功能是它們對能量的接受并不是立即作出響應(yīng),而是將它們累加起來,當(dāng)這個不是立即作出響應(yīng),而是將它們累

2、加起來,當(dāng)這個累加的總和達到某個臨界閾值時,它們將它們自己累加的總和達到某個臨界閾值時,它們將它們自己的那部分能量發(fā)送給其它的神經(jīng)。的那部分能量發(fā)送給其它的神經(jīng)。n大腦通過調(diào)節(jié)這些連結(jié)的數(shù)目和強度進行學(xué)習(xí)。盡大腦通過調(diào)節(jié)這些連結(jié)的數(shù)目和強度進行學(xué)習(xí)。盡管這是個生物行為的簡化描述。但同樣可以充分有管這是個生物行為的簡化描述。但同樣可以充分有力地被看作是神經(jīng)網(wǎng)絡(luò)的模型。力地被看作是神經(jīng)網(wǎng)絡(luò)的模型。n根據(jù)生物神經(jīng)系統(tǒng)的工作過程,我們可以大概理解以下根據(jù)生物神經(jīng)系統(tǒng)的工作過程,我們可以大概理解以下這個圖所要表達的含義:這個圖所要表達的含義: 圖圖2 生物體的神經(jīng)系統(tǒng)工作原理生物體的神經(jīng)系統(tǒng)工作原理生活

3、中的神經(jīng)網(wǎng)絡(luò)生活中的神經(jīng)網(wǎng)絡(luò)n大家可以想象這樣一種情形:寒冷的冬大家可以想象這樣一種情形:寒冷的冬天,我們伸手到火爐邊烤火,慢慢地,天,我們伸手到火爐邊烤火,慢慢地,你覺得自己快要睡著了,這個時候,突你覺得自己快要睡著了,這個時候,突然發(fā)現(xiàn)自己伸在火爐邊的手特別燙得疼,然發(fā)現(xiàn)自己伸在火爐邊的手特別燙得疼,然后馬上將手縮回去。然后馬上將手縮回去。生活中的神經(jīng)網(wǎng)絡(luò)生活中的神經(jīng)網(wǎng)絡(luò)n這就是一個神經(jīng)網(wǎng)絡(luò)的工作實例,火對這就是一個神經(jīng)網(wǎng)絡(luò)的工作實例,火對手產(chǎn)生的溫度就是圖手產(chǎn)生的溫度就是圖2的輸入層。的輸入層。(Input),而縮手或不縮手就是圖),而縮手或不縮手就是圖2的的輸出層(輸出層(Output

4、)。)。n但是縮手只有在手的溫度達到一定的程但是縮手只有在手的溫度達到一定的程度才發(fā)生的,比如說度才發(fā)生的,比如說40度。度。 數(shù)學(xué)解釋數(shù)學(xué)解釋n用圖用圖2來表示上面所說的情形:來表示上面所說的情形: nX1 = 火對手產(chǎn)生的溫度火對手產(chǎn)生的溫度 nw1 =火對手產(chǎn)生的溫度的權(quán)值(對火對火對手產(chǎn)生的溫度的權(quán)值(對火對手產(chǎn)生的溫度的放大或是縮小,我們讓手產(chǎn)生的溫度的放大或是縮小,我們讓這個值為這個值為1) n激活函數(shù)(激活函數(shù)(Active Function)= 如果如果 x1 * w1 40 激活(縮手),否則抑激活(縮手),否則抑制(不縮手)制(不縮手) n這是單輸入的情況,如果有多個輸入,

5、這是單輸入的情況,如果有多個輸入,則輸出為則輸出為 f(x1 * w1 + x2 * w2 + x3 * w3 ) n其中,其中,f(x)為激活函數(shù)。為激活函數(shù)。 示例示例nAND運算:運算: 常用的求和運算,如:常用的求和運算,如:1 AND 0 = 0 nOR運算:運算: 常用的求并運算,如:常用的求并運算,如:1 OR 0 = 1 2個(多)輸入的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖個(多)輸入的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖nAND運算運算 其中其中f(x) = If (x = 2) return 1; Else return 0; 閾值為閾值為2 。檢驗檢驗n我們可以利用這個結(jié)構(gòu)圖來檢驗一下是否正確:我們可以利用這個結(jié)構(gòu)

6、圖來檢驗一下是否正確: nX1 = 0, x2 = 0, x = x1*w1 + x2*w2 = 0 f(x) = 0;正確正確 nX1 = 0, x2 = 1, x = x1*w1 + x2*w2 = 1 f(x) = 0;正正確確 nX1 = 1, x2 = 0, x = x1*w1 + x2*w2 = 1 f(x) = 0;正確正確 nX1 = 1, x2 = 1, x = x1*w1 + x2*w2 = 2 f(x) = 1;正確正確 OR運算運算 其中其中f(x) = If (x = 1) return 1; Else return 0; 閾值為閾值為1 。2個(多)輸入的神經(jīng)網(wǎng)絡(luò)結(jié)

7、構(gòu)圖個(多)輸入的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖n我們可以利用這個結(jié)構(gòu)圖來檢驗一下是否正確:我們可以利用這個結(jié)構(gòu)圖來檢驗一下是否正確: nX1 = 0, x2 = 0, x = x1*w1 + x2*w2 = 0 f(x) = 0;正正確確 nX1 = 0, x2 = 1, x = x1*w1 + x2*w2 = 1 f(x) = 1;正確正確 nX1 = 1, x2 = 0, x = x1*w1 + x2*w2 = 1 f(x) = 1;正確正確 nX1 = 1, x2 = 1, x = x1*w1 + x2*w2 = 2 f(x) = 1;正確正確生物神經(jīng)網(wǎng)生物神經(jīng)網(wǎng)/ /人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)的基本特

8、性的基本特性n六個基本特征:n1)神經(jīng)元及其聯(lián)接;n2)神經(jīng)元之間的聯(lián)接強度決定信號傳遞的強弱;n3)神經(jīng)元之間的聯(lián)接強度是可以隨學(xué)習(xí)改變的;n4)信號可以是起刺激作用的,也可以是起抑制作用的;n5)一個神經(jīng)元接受的信號的累積效果決定該神經(jīng)元的狀態(tài);n6) 每個神經(jīng)元可以有一個“閾值”。學(xué)習(xí)學(xué)習(xí)n上面上面2個實例,就是我們需要建立的一個個實例,就是我們需要建立的一個神經(jīng)網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)模型。 n但是我們?nèi)绾未_定但是我們?nèi)绾未_定w1,w2和閾值呢?和閾值呢? n這就需要通過神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí),從而確這就需要通過神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí),從而確定定w1,w2和閾值。和閾值。 學(xué)習(xí)學(xué)習(xí)n拿計算拿計算AND運算的

9、模型來說,需要運算的模型來說,需要2個個輸入輸入1個輸出是肯定的。關(guān)鍵就是如何確個輸出是肯定的。關(guān)鍵就是如何確定定2個輸入的權(quán)值和激活函數(shù)的閾值。個輸入的權(quán)值和激活函數(shù)的閾值。 n為了計算激活函數(shù)的閾值,我們可以增為了計算激活函數(shù)的閾值,我們可以增加一個輸入層,變成這個樣子加一個輸入層,變成這個樣子 :其中其中f(x) = If (x = 2) return 1; Else return 0; 閾值讓閾值讓w3去定去定 。原先的問題就轉(zhuǎn)化成了求解原先的問題就轉(zhuǎn)化成了求解w1, w2 ,w3的大小的問題了。的大小的問題了。 學(xué)習(xí)律(規(guī)則)學(xué)習(xí)律(規(guī)則)n我們制定這樣的學(xué)習(xí)規(guī)律:我們制定這樣的學(xué)習(xí)

10、規(guī)律: nW(i) = W(i) + (正確值正確值-實際計算實際計算的值的值)*x(i). 通過一定次數(shù)的訓(xùn)練,我們就可以讓通過一定次數(shù)的訓(xùn)練,我們就可以讓 (正確值正確值-實際計實際計算的值算的值)變得相當(dāng)下,這樣最后的結(jié)果也就穩(wěn)定了,變得相當(dāng)下,這樣最后的結(jié)果也就穩(wěn)定了,同時求出了我們需要的同時求出了我們需要的w1, w2 ,w3的近似值。的近似值。實際執(zhí)行過程實際執(zhí)行過程n得到訓(xùn)練集合(合理的輸入和期望的輸?shù)玫接?xùn)練集合(合理的輸入和期望的輸出(如:輸入出(如:輸入x1=1,x2=1輸出輸出1) n隨機給隨機給w1, w2,w3賦值賦值 n執(zhí)行一定次數(shù)的訓(xùn)練執(zhí)行一定次數(shù)的訓(xùn)練 人工神經(jīng)網(wǎng)

11、絡(luò)的學(xué)習(xí) n人工神經(jīng)網(wǎng)絡(luò)最具有吸引力的特點是它的學(xué)習(xí)能力。n1962年,Rosenblatt給出了人工神經(jīng)網(wǎng)絡(luò)著名的學(xué)習(xí)定理:人工神經(jīng)網(wǎng)絡(luò)可以學(xué)會它可以表達的任何東西。n人工神經(jīng)網(wǎng)絡(luò)的表達能力大大地限制了它的學(xué)習(xí)能力。n人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程就是對它的學(xué)習(xí)過程人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí) n確定的內(nèi)容 權(quán)值wi和n確定的方式 學(xué)習(xí)(訓(xùn)練) 有監(jiān)督的學(xué)習(xí):已知一組正確的輸入輸出結(jié)果的條件下,神經(jīng)網(wǎng)絡(luò)依據(jù)這些數(shù)據(jù),調(diào)整并確定權(quán)值; 無監(jiān)督的學(xué)習(xí):只有輸入數(shù)據(jù),沒有正確的輸出結(jié)果情況下,確定權(quán)值。無監(jiān)督學(xué)習(xí) n無監(jiān)督學(xué)習(xí)(Unsupervised Learning)與無監(jiān)督學(xué)習(xí)(Unsupervised Tr

12、aining)相對應(yīng) n抽取樣本集合中蘊含的統(tǒng)計特性,并以神經(jīng)元之間的聯(lián)接權(quán)的形式存于網(wǎng)絡(luò)中。無監(jiān)督學(xué)習(xí)無監(jiān)督學(xué)習(xí)nHebb學(xué)習(xí)律、競爭與協(xié)同(Competitive and Cooperative)學(xué)習(xí)、隨機聯(lián)接系統(tǒng)(Randomly Connected Learning)等。nHebb算法算法D. O. Hebb在在1961年年的核心的核心:n當(dāng)兩個神經(jīng)元同時處于激發(fā)狀態(tài)時被加強,否則被減弱。n數(shù)學(xué)表達式表示:nWij(t+1)=Wij(t)+Vi(t)Vj(t)HebbHebb學(xué)習(xí)規(guī)則學(xué)習(xí)規(guī)則n如果兩個神經(jīng)元同時興奮(即同時被激活),則它們之間的突觸連接加強 na為學(xué)習(xí)速率,Vi, Vj

13、為神經(jīng)元i和j的輸出nHebb學(xué)習(xí)規(guī)則是人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的基本規(guī)則,幾乎所有神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則都可以看作Hebb學(xué)習(xí)規(guī)則的變形 有監(jiān)督學(xué)習(xí)有監(jiān)督學(xué)習(xí) n有監(jiān)督學(xué)習(xí)(Supervised Learning)與有監(jiān)督學(xué)習(xí)(Supervised Training)相對應(yīng)。n輸入向量與其對應(yīng)的輸出向量構(gòu)成一個“學(xué)習(xí)對”。n有監(jiān)督學(xué)習(xí)的學(xué)習(xí)算法的主要步驟包括:1) 從樣本集合中取一個樣本(Ai,Bi);2) 計算出網(wǎng)絡(luò)的實際輸出O; 3) 求D=Bi-O;4) 根據(jù)D調(diào)整權(quán)矩陣W; 5) 對每個樣本重復(fù)上述過程,直到對整個樣本集來說,誤差不超過規(guī)定范圍。 人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí) n學(xué)習(xí)與工

14、作的關(guān)系 先學(xué)習(xí)再工作閾值邏輯單元(閾值邏輯單元(Threshold Logic Unit,TLU)n理解神經(jīng)網(wǎng)絡(luò)的第一步是從對抽象生物神理解神經(jīng)網(wǎng)絡(luò)的第一步是從對抽象生物神經(jīng)開始,并把重點放在經(jīng)開始,并把重點放在閾值邏輯單元(閾值邏輯單元(TLU)這一特征上。一個這一特征上。一個 TLU 是一個對象,它可是一個對象,它可以輸入一組加權(quán)系數(shù)的量,對它們進行求以輸入一組加權(quán)系數(shù)的量,對它們進行求和,如果這個和達到或者超過了某個閾值,和,如果這個和達到或者超過了某個閾值,輸出一個量。輸出一個量。閾值邏輯單元(閾值邏輯單元(Threshold Logic Unit,TLU)n用符號標(biāo)注這些功能:用符

15、號標(biāo)注這些功能: 輸入值:輸入值: X1, X2, ., Xn 權(quán)系數(shù):權(quán)系數(shù): W1, W2, ., Wn激發(fā)層激發(fā)層 a:求和計算出的:求和計算出的 Xi*Wi ,即:,即: a = (X1 * W1)+(X2 * W2)+.+(Xi * Wi)+.+ (Xn * Wn)閾值邏輯單元(閾值邏輯單元(Threshold Logic Unit,TLU)n閾值:閾值: thetan輸出結(jié)果:輸出結(jié)果: y當(dāng)當(dāng) a =theta 時時 y=1,反之,反之 y=0。n注意:輸出可以是連續(xù)的,因為它也可以注意:輸出可以是連續(xù)的,因為它也可以由一個由一個 squash 函數(shù)函數(shù) s(或(或 sigma)

16、判定,)判定,該函數(shù)的自變量是該函數(shù)的自變量是 a,函數(shù)值在,函數(shù)值在 0 和和 1 之之間,間,y=s(a)。 /初始化訓(xùn)練集合初始化訓(xùn)練集合 TrainSet sets = new TrainSet new TrainSet(0, 0, 0), new TrainSet(0, 1, 0), new TrainSet(1, 0, 0), new TrainSet(1, 1, 1) ; /構(gòu)造單層神經(jīng)網(wǎng)絡(luò)構(gòu)造單層神經(jīng)網(wǎng)絡(luò) 2 個輸入節(jié)點個輸入節(jié)點 1個輸出節(jié)點個輸出節(jié)點 NeuralNetwork nn = new NeuralNetwork(2, 1); slnn = new SingleL

17、ayerNeuralNetworks(nn, sets); /訓(xùn)練訓(xùn)練 slnn.Train(); MessageBox.Show(AND運算訓(xùn)練結(jié)束運算訓(xùn)練結(jié)束); this.button2.Enabled = true; this.button3.Enabled = true; this.button4.Enabled = true; this.button1.Enabled = true; this.Text = AND運算運算;AND計算的總體運行過程計算的總體運行過程 n閾值邏輯單元,帶有 sigma 函數(shù)(頂部)和 cutoff 函數(shù)(底部) 激活函數(shù)(Activation Fun

18、ction) n激活函數(shù)執(zhí)行對該神經(jīng)元所獲得的網(wǎng)絡(luò)輸入的變換,也可以稱為激勵函數(shù)、活化函數(shù): o=f(net) n1、線性函數(shù)(Liner Function) f(net)=k*net+c netooc非線性斜面函數(shù)(Ramp Function) if netf(net)= k*netif |net|0為一常數(shù),被稱為飽和值,為該神經(jīng)元的最大輸出。 非線性斜面函數(shù)(Ramp Function) - - net o 閾值函數(shù)(Threshold Function)階躍函數(shù)if netf(net)=-if net 、均為非負(fù)實數(shù),為閾值二值形式:1if netf(net)=0if net 雙極形式:1if netf(net)=-1if net 3、閾值函數(shù)(Threshold Function)階躍函數(shù) -onet04、S形函數(shù) 壓縮函數(shù)(Squashing Function)和邏輯斯特函數(shù)(Logistic Function)。f(net)=a+b/(1+exp(-d*net)a,b,d為常數(shù)。它的飽和值為a和a+b。最簡單形式為:f(net)= 1/(1+exp(-d*net) 函數(shù)的飽和值為0和1。nS形函數(shù)有較好的增益控制 4、S形函數(shù) a+b o(0,c)netac=a+b/2n 這三個點正處

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論