神經(jīng)網(wǎng)絡(luò)1:多層感知器-MLP
神經(jīng)網(wǎng)絡(luò)是當(dāng)前機(jī)器學(xué)習(xí)領(lǐng)域普遍所應(yīng)用的,例如可利用神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像識(shí)別、語(yǔ)音識(shí)別等,從而將其拓展應(yīng)用于自動(dòng)駕駛汽車。它是一種高度并行的信息處理系統(tǒng),具有很強(qiáng)的自適應(yīng)學(xué)習(xí)能力,不依賴于研究對(duì)象的數(shù)學(xué)模型,對(duì)被控對(duì)象的的系統(tǒng)參數(shù)變化及外界干擾有很好的魯棒性,能處理復(fù)雜的多輸入、多輸出非線性系統(tǒng),神經(jīng)網(wǎng)絡(luò)要解決的基本問(wèn)題是分類問(wèn)題。
目前在機(jī)器學(xué)習(xí)領(lǐng)域火爆的開(kāi)源軟件庫(kù)中,TensorFlow算其中一個(gè),里面有大量的機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方面的研究,畢竟由Google 大腦小組開(kāi)發(fā)出來(lái),其系統(tǒng)的通用性和易用性是無(wú)可比擬的,TensorFlow是一個(gè)采用數(shù)據(jù)流圖(Data flow graphs),用于數(shù)值計(jì)算的開(kāi)源軟件庫(kù)。節(jié)點(diǎn)(Nodes)在圖中表示數(shù)學(xué)操作,圖中的線(edges)則表示在節(jié)點(diǎn)間相互聯(lián)系的多維數(shù)據(jù)數(shù)組,即張量(tensor)。(數(shù)據(jù)流圖用“結(jié)點(diǎn)”(nodes)和“線”(edges)的有向圖來(lái)描述數(shù)學(xué)計(jì)算。“節(jié)點(diǎn)”一般用來(lái)表示施加的數(shù)學(xué)操作,但也可以表示數(shù)據(jù)輸入(feedin)的起點(diǎn)/輸出(push out)的終點(diǎn),或者是讀。瘜懭氤志米兞浚╬ersistent variable)的終點(diǎn)!熬”表示“節(jié)點(diǎn)”之間的輸入/輸出關(guān)系。這些數(shù)據(jù)“線”可以輸運(yùn)“size可動(dòng)態(tài)調(diào)整”的多維數(shù)據(jù)數(shù)組,即“張量”(tensor)。張量從圖中流過(guò)的直觀圖像是這個(gè)工具取名為“Tensorflow”的原因,一旦輸入端的所有張量準(zhǔn)備好,節(jié)點(diǎn)將被分配到各種計(jì)算設(shè)備完成異步并行地執(zhí)行運(yùn)算)。因此對(duì)想快速上手神經(jīng)網(wǎng)絡(luò)做一些有趣的圖像識(shí)別和語(yǔ)音識(shí)別的小伙伴可利用TensorFlow進(jìn)行學(xué)習(xí)。
神經(jīng)網(wǎng)絡(luò)的變種目前有很多,如誤差反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)路、概率神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network ,CNN-適用于圖像識(shí)別)、時(shí)間遞歸神經(jīng)網(wǎng)絡(luò)(Long short-term Memory Network ,LSTM-適用于語(yǔ)音識(shí)別)等。但最簡(jiǎn)單且原汁原味的神經(jīng)網(wǎng)絡(luò)則是多層感知器(Muti-Layer Perception ,MLP),只有理解經(jīng)典的原版,才能更好的去理解功能更加強(qiáng)大的現(xiàn)代變種。
MLP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和原理
理解神經(jīng)網(wǎng)絡(luò)主要包括兩大內(nèi)容,一是神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),其次則是神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和學(xué)習(xí),其就好比我們的大腦結(jié)構(gòu)是怎么構(gòu)成的,而基于該組成我們又是怎樣去學(xué)習(xí)和識(shí)別不同事物的,這次樓主主要講解第一部分,而訓(xùn)練和學(xué)習(xí)則放到后續(xù)更新中。
神經(jīng)網(wǎng)絡(luò)其實(shí)是對(duì)生物神經(jīng)元的模擬和簡(jiǎn)化,生物神經(jīng)元由樹突、細(xì)胞體、軸突等部分組成。樹突是細(xì)胞體的輸入端,其接受四周的神經(jīng)沖動(dòng);軸突是細(xì)胞體的輸出端,其發(fā)揮傳遞神經(jīng)沖動(dòng)給其他神經(jīng)元的作用,生物神經(jīng)元具有興奮和抑制兩種狀態(tài),當(dāng)接受的刺激高于一定閾值時(shí),則會(huì)進(jìn)入興奮狀態(tài)并將神經(jīng)沖動(dòng)由軸突傳出,反之則沒(méi)有神經(jīng)沖動(dòng)。
我們基于生物神經(jīng)元模型可得到多層感知器MLP的基本結(jié)構(gòu),最典型的MLP包括包括三層:輸入層、隱層和輸出層,MLP神經(jīng)網(wǎng)絡(luò)不同層之間是全連接的(全連接的意思就是:上一層的任何一個(gè)神經(jīng)元與下一層的所有神經(jīng)元都有連接)。
由此可知,神經(jīng)網(wǎng)絡(luò)主要有三個(gè)基本要素:權(quán)重、偏置和激活函數(shù)。
權(quán)重:神經(jīng)元之間的連接強(qiáng)度由權(quán)重表示,權(quán)重的大小表示可能性的大小
偏置:偏置的設(shè)置是為了正確分類樣本,是模型中一個(gè)重要的參數(shù),即保證通過(guò)輸入算出的輸出值不能隨便激活。
激活函數(shù):起非線性映射的作用,其可將神經(jīng)元的輸出幅度限制在一定范圍內(nèi),一般限制在(-1~1)或(0~1)之間。最常用的激活函數(shù)是Sigmoid函數(shù),其可將(-∞,+∞)的數(shù)映射到(0~1)的范圍內(nèi)。
激活函數(shù)還有tanh和ReLU等函數(shù),tanh是Sigmoid函數(shù)的變形,tanh的均值是0,在實(shí)際應(yīng)用中有比Sigmoid更好的效果;ReLU是近來(lái)比較流行的激活函數(shù),當(dāng)輸入信號(hào)小于0時(shí),輸出為0;當(dāng)輸入信號(hào)大于0時(shí),輸出等于輸入;具體采用哪種激活函數(shù)需視具體情況定。
從上面可知下層單個(gè)神經(jīng)元的值與上層所有輸入之間的關(guān)系可通過(guò)如下方式表示,其它以此類推。
MLP的最經(jīng)典例子就是數(shù)字識(shí)別,即我們隨便給出一張上面寫有數(shù)字的圖片并作為輸入,由它最終給出圖片上的數(shù)字到底是幾。
對(duì)于一張寫有數(shù)字的圖片,我們可將其分解為由28*28=784個(gè)像素點(diǎn)構(gòu)成,每個(gè)像素點(diǎn)的值在(0~1)之間,其表示灰度值,值越大該像素點(diǎn)則越亮,越低則越暗,以此表達(dá)圖片上的數(shù)字并將這786個(gè)像素點(diǎn)作為神經(jīng)網(wǎng)絡(luò)的輸入。
而輸出則由十個(gè)神經(jīng)元構(gòu)成,分別表示(0~9)這十個(gè)數(shù)字,這十個(gè)神經(jīng)元的值也是在(0~1)之間,也表示灰度值,但神經(jīng)元值越大表示從輸入經(jīng)判斷后是該數(shù)字的可能性越大。
隱層的層數(shù)和神經(jīng)元的選擇需根據(jù)具體情況選擇,此例選擇兩層隱層,每層16個(gè)神經(jīng)元。那么根據(jù)上面的敘述,根據(jù)權(quán)重、偏置的個(gè)數(shù)此神經(jīng)網(wǎng)絡(luò)將會(huì)有13002個(gè)參數(shù)需要去調(diào)節(jié),而如何調(diào)整這些參數(shù),從而使神經(jīng)網(wǎng)絡(luò)有較好的學(xué)習(xí)效果則正是下篇更新的神經(jīng)網(wǎng)絡(luò)訓(xùn)練和學(xué)習(xí)的內(nèi)容。
通過(guò)樓主上面的敘述,該圖像識(shí)別問(wèn)題最終可通過(guò)線性方程的方式表示出來(lái),從而來(lái)描述本篇通過(guò)MLP神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)字識(shí)別的案例,并通過(guò)建立的問(wèn)題描述模型來(lái)編程實(shí)現(xiàn)。
總結(jié)
MLP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)還是挺簡(jiǎn)單的,基本的結(jié)構(gòu)和原理是入門學(xué)習(xí)所必須了解的。神經(jīng)網(wǎng)絡(luò)訓(xùn)練和學(xué)習(xí)這塊等樓主有機(jī)會(huì)再更新,發(fā)現(xiàn)前期給自己挖太多坑都還沒(méi)填,主要在于樓主忙于工作,最近正好是2019上海車展,樓主也去轉(zhuǎn)了一波,基本都待在二層的零部件供應(yīng)商那里,了解下各大供應(yīng)商在智能出行、電驅(qū)、智能網(wǎng)聯(lián)等方面的系統(tǒng)集成和解決方案,收獲還是很多的,也希望能在下篇跟大家做個(gè)分享。
- END -
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
技術(shù)文庫(kù)
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
-
精彩回顧立即查看>> 【線上直播】新能源汽車熱管理行業(yè)應(yīng)用新進(jìn)展
-
精彩回顧立即查看>> 【線上直播】西門子電池行業(yè)研討會(huì)-P4B如何加速電池開(kāi)發(fā)
-
精彩回顧立即查看>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【線下論壇】華邦電子與萊迪思聯(lián)合技術(shù)論壇
- 1 2025上海車展看什么?看這一篇就夠了!
- 2 關(guān)稅大戰(zhàn),汽車芯片會(huì)漲價(jià)嗎
- 3 工信部召開(kāi)智能網(wǎng)聯(lián)汽車產(chǎn)品準(zhǔn)入及軟件在線升級(jí)管理工作推進(jìn)會(huì)提的內(nèi)容,將如何影響智駕行業(yè)發(fā)展?
- 4 地平線智駕方案軟硬結(jié)合,大眾、保時(shí)捷的合作紛至沓來(lái)
- 5 高呼的“全民智駕”真的做到“全民”了嗎?
- 6 一季度汽車產(chǎn)量省份排名大洗牌!誰(shuí)在異軍突起?
- 7 奇瑞的混動(dòng)技術(shù):厚積薄發(fā),從發(fā)動(dòng)機(jī)到混動(dòng)系統(tǒng)
- 8 中國(guó)汽車發(fā)展頂層設(shè)計(jì)思路 - 萬(wàn)鋼主席2025百人會(huì)核心內(nèi)容總結(jié)
- 9 東風(fēng)+華為,還是華為借東風(fēng)?華為ADS3.0技術(shù)詳解
- 10 工信部對(duì)浮躁的智駕說(shuō)“不”