多层感知机和神经网络的区别_学习笔记-从神经元到神经网络
人的大腦神經(jīng)網(wǎng)絡(luò)的復(fù)雜程度有人說,只有銀河系可以比擬。總所周知,神經(jīng)網(wǎng)絡(luò)就是模仿大腦神經(jīng)網(wǎng)絡(luò)用數(shù)學(xué)知識構(gòu)造的模型。單個神經(jīng)元還是比較簡單的。
神經(jīng)元
一個神經(jīng)元有樹突,軸突,和細胞體等部分。樹突接受輸入信息,細胞核處理信息,軸突傳出處理后的信息。
由神經(jīng)元細胞,抽象出了它的數(shù)學(xué)模型如圖:
像這種神經(jīng)元就叫感知器,也叫感知機。感知機是一類人造神經(jīng)元,在許多神經(jīng)網(wǎng)絡(luò)中,主要的神經(jīng)元模型是sigmoid神經(jīng)元。
感知機通過二進制輸入X的矩陣,產(chǎn)生一個二進制的輸出。每個X代表一個屬性,然后w也叫權(quán)重,權(quán)重值的大小代表每個屬性的重要程度,或者對結(jié)果的影響程度。
神經(jīng)元的輸出,要么是0要么是1,由權(quán)重和∑jwjxj∑jwjxj的值是否小于或者大于某一閾值。和權(quán)重一樣,閾值(threshold)也是一個實數(shù),它是神經(jīng)元的一個參數(shù)。
我們簡化一下,用W·X代替∑jwjxj ,其中W和X分別是權(quán)重值和輸入值所組成的向量。其次,我們可以把閾值threshold移到不等式的另一邊,用b代替?thresholdb,其中b被稱為感知機的偏差。得到:
下面是一個更多層次的感知機,可以感知更復(fù)雜的輸入。
Sigmoid神經(jīng)元
當(dāng)我們拿著感知機去學(xué)習(xí)解決一些問題時,舉個例子,比如我們要識別貓,和老虎,我們知道小貓,和小老虎是挺像的,不像區(qū)別貓和狗那樣簡單,我們想辦法對網(wǎng)絡(luò)的權(quán)重和偏差做一些小的改變,使得網(wǎng)絡(luò)可以區(qū)分貓和狗。一次又一次調(diào)整權(quán)重和偏差,使得輸出越來越好,網(wǎng)絡(luò)就得到了學(xué)習(xí)。理論很美好,現(xiàn)實確很殘酷。事實上,任何一個感知機上發(fā)生一點小的改變有時可能導(dǎo)致感知機的結(jié)果翻轉(zhuǎn)(要么翻轉(zhuǎn)要么不變),由0變?yōu)?或者相反。這樣的翻轉(zhuǎn)可能造成其他所有感知機的復(fù)雜變化。所以操作十分困難。
于是升級版的神經(jīng)元誕生了——sigmoid神經(jīng)元。sigmoid神經(jīng)元和感知機非常相似,但是它的輸入向量不在局限于0和1,而是0到1之間的連續(xù)值。
sigmoid神經(jīng)元對每個輸入都有分配權(quán)重和一個總的偏差。但是輸出也不再是0和1,而是σ(w?x)+b,其中σ被稱為sigmoid函數(shù),定義為:
一個擁有輸入x1,x2...權(quán)重w1,w2...偏差b的sigmoid神經(jīng)元的輸出為:
說當(dāng)z=w?x+b是一個很大的正數(shù)時,sigmoid神經(jīng)元的輸出就接近于1,這就像一個感知機一樣。反之當(dāng)z=w?x+b是一個很小的負數(shù)時,sigmoid的輸出結(jié)果趨近于0,這和感知機的行為很相似。只有當(dāng)w?x+b的值不大不小的時候,sigmoid的輸出才和感知機不一樣。如圖:
可以看出,sigmoid函數(shù)是一條平滑曲線,而感應(yīng)機應(yīng)該是這樣的:
這就是激活函數(shù)的效果,通過計算發(fā)現(xiàn),使用σ這樣一個指數(shù)函數(shù)對于分化是有好處的。σ函數(shù)是最常見的激活函數(shù)。感知機和sigmoid神經(jīng)元之間最大的不同在于,sigmoid輸出的值不止0和1.他們可以輸出0到1之間的所有實數(shù)。
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)就是上述神經(jīng)的升級版。最左邊一層叫輸入層,這一層有輸入神經(jīng)元,中間兩層為隱藏層,最后為輸出層,有輸出神經(jīng)元。
這樣的多層網(wǎng)絡(luò)有時候被稱作多層感知機(MLPs),盡管這個網(wǎng)絡(luò)是有sigmoid組成的而不是感知機。
我們所討論的神經(jīng)網(wǎng)絡(luò)都是上一層的輸出作為下一層的輸入。也就是前反饋神經(jīng)網(wǎng)絡(luò),信息總是往前走的,不會反向。在這個是函數(shù)σ作為激活函數(shù)時,沒有環(huán)形的神經(jīng)網(wǎng)絡(luò)。這樣的神經(jīng)網(wǎng)絡(luò)也叫前饋神經(jīng)網(wǎng)絡(luò)。
而遞歸神經(jīng)網(wǎng)絡(luò)是可能存在返饋回路的。它讓神經(jīng)元在有限時間里激活,然后保持非激活狀態(tài)。這種激活可以刺激其他神經(jīng)元在稍后一段時間激活。
遞歸神經(jīng)網(wǎng)絡(luò)的熱度比前饋神經(jīng)網(wǎng)絡(luò)的小,有一部分原因遞歸網(wǎng)絡(luò)的學(xué)習(xí)算法目前不那么強大。個人感覺它比前饋神經(jīng)網(wǎng)絡(luò)復(fù)雜一些。
總結(jié)
以上是生活随笔為你收集整理的多层感知机和神经网络的区别_学习笔记-从神经元到神经网络的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ups容量计算和配置方法_UPS电路设计
- 下一篇: 输卵管堵塞多卵怎么能治好