李牧樵
摘 要 人工神經(jīng)網(wǎng)絡(luò)是人類(lèi)對(duì)計(jì)算工具研究領(lǐng)域取得的重要成果,它以模糊處理與形象思維作為研究方向,以神經(jīng)元模型為基礎(chǔ),配合算法,通過(guò)不斷的數(shù)字化運(yùn)算,從而讓計(jì)算機(jī)軟件具有人腦的信息處理能力,從而完成復(fù)雜的非線性任務(wù)。文章主要介紹了人工神經(jīng)網(wǎng)絡(luò)的概念、特點(diǎn),神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型,并且分析了人工神經(jīng)網(wǎng)絡(luò)發(fā)展過(guò)程中的幾種神經(jīng)網(wǎng)絡(luò)及特點(diǎn),最后對(duì)人工神經(jīng)網(wǎng)絡(luò)的發(fā)展提出了建議。
關(guān)鍵詞 人工神經(jīng)網(wǎng)絡(luò);神經(jīng)元模型;感知器;深度學(xué)習(xí)
中圖分類(lèi)號(hào) G2 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2019)233-0137-2
現(xiàn)代電子計(jì)算機(jī)作為信息處理工具,借助高速數(shù)值運(yùn)算和精確的邏輯運(yùn)算能力,極大地拓展了人腦的能力,在信息處理和控制決策等各方面為人們提供了實(shí)現(xiàn)智能化和自動(dòng)化的先進(jìn)手段。然而,半個(gè)世紀(jì)以來(lái),基于馮氏原理的現(xiàn)代計(jì)算機(jī),受限于傳統(tǒng)邏輯運(yùn)算規(guī)則,在學(xué)習(xí)認(rèn)知、記憶聯(lián)想、推理判斷、綜合決策等方面的信息處理能力遠(yuǎn)不能達(dá)到人腦的智能水平[ 1 ]。
近10多年來(lái),基于大數(shù)據(jù)、深度學(xué)習(xí)及算力的提高,人工神經(jīng)網(wǎng)絡(luò)終于以不容忽視的潛力與活力進(jìn)入了快速發(fā)展的新時(shí)期,其運(yùn)行機(jī)制漸趨成熟,應(yīng)用領(lǐng)域日益擴(kuò)大,顯示了巨大潛力,神經(jīng)網(wǎng)絡(luò)及其相關(guān)模型賦予了傳統(tǒng)計(jì)算機(jī)新的生命力。
1 人工神經(jīng)網(wǎng)絡(luò)概述
1.1 概念
人工神經(jīng)網(wǎng)絡(luò)是近幾十年來(lái)人工智能領(lǐng)域內(nèi)的偉大發(fā)現(xiàn),其以模仿人腦的神經(jīng)網(wǎng)絡(luò)處理問(wèn)題的行為特征,采用廣泛互聯(lián)的神經(jīng)元結(jié)構(gòu),以一定的規(guī)則進(jìn)行學(xué)習(xí),并根據(jù)學(xué)習(xí)結(jié)果進(jìn)行推理判斷,從而達(dá)到處理信息的目的。網(wǎng)絡(luò)中的神經(jīng)元個(gè)數(shù)越多,記憶、識(shí)別的模式也就越多。它是對(duì)人腦的模擬、延伸和擴(kuò)展,是人工智能學(xué)科的重要分支。
1.2 特點(diǎn)
人工神經(jīng)網(wǎng)絡(luò)由大量神經(jīng)元廣泛互連,神經(jīng)元集信息存儲(chǔ)、處理為一體,具有空間上分布存放,時(shí)間上并行處理的特點(diǎn)。分布式存儲(chǔ)使得網(wǎng)絡(luò)具有良好的容錯(cuò)性,當(dāng)網(wǎng)絡(luò)中部分神經(jīng)元損壞或輸入模糊、殘缺、變形信息時(shí),信息仍可存取,重建、聯(lián)想記憶,給出次優(yōu)逼近解,類(lèi)似人腦回憶時(shí)的從部分信息恢復(fù)全部信息的能力。雖然每個(gè)處理單元功能簡(jiǎn)單,但神經(jīng)元的并行處理使得網(wǎng)絡(luò)具有較快的速度并呈現(xiàn)出豐富的功能。神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)和自適應(yīng)的能力。當(dāng)環(huán)境變化時(shí),經(jīng)過(guò)一段時(shí)間的訓(xùn)練或感知,神經(jīng)網(wǎng)絡(luò)能自動(dòng)調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),掌握其中的潛在規(guī)律,并推算輸出結(jié)果[2]。
1.3 神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型
神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本器件,又稱(chēng)為“節(jié)點(diǎn)”。它是對(duì)生物神經(jīng)元的信息處理過(guò)程進(jìn)行抽象,并用數(shù)學(xué)語(yǔ)言予以描述。目前神經(jīng)元模型是由線性元件及閾值元件組成,是大多數(shù)神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)。工作原理可參看圖1所示。
神經(jīng)元的信息處理特征不同,采用的變換函數(shù)也就不同,常用的變換函數(shù)有:閾值變換、非線性變換、分段線性變換和概率型變換函數(shù)。將大量神經(jīng)元按一定規(guī)則連接在一起,并且各神經(jīng)元的連接權(quán)可按一定規(guī)則變化,這就構(gòu)成了人工神經(jīng)網(wǎng)絡(luò)模型。按照網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),人工神經(jīng)網(wǎng)絡(luò)模型可分為層次型結(jié)構(gòu)和互連型結(jié)構(gòu)。根據(jù)內(nèi)部信息的傳遞方向,人工神經(jīng)網(wǎng)絡(luò)模型可分為即前饋型網(wǎng)絡(luò)和反饋型網(wǎng)絡(luò)。實(shí)際應(yīng)用的神經(jīng)網(wǎng)絡(luò)可能同時(shí)兼有其中一種或幾種形式。
1.4 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)
不論是任何復(fù)雜的任務(wù),神經(jīng)網(wǎng)絡(luò)對(duì)問(wèn)題的解算需要不斷對(duì)大量樣本進(jìn)行學(xué)習(xí)訓(xùn)練,從而改變網(wǎng)絡(luò)的連接權(quán)值,使得網(wǎng)絡(luò)的輸出不斷地接近期望的輸出結(jié)果,改變權(quán)值的具體規(guī)則也被稱(chēng)為學(xué)習(xí)算法。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法主要分為兩類(lèi):監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)。
監(jiān)督學(xué)習(xí)也稱(chēng)有導(dǎo)師學(xué)習(xí),其訓(xùn)練方法為:采用糾錯(cuò)規(guī)則,將實(shí)際輸出與參照信息(教師信號(hào))進(jìn)行比較,不相符合時(shí),則根據(jù)差錯(cuò)的方向和大小調(diào)整權(quán)值,以使下一步的輸出結(jié)果更接近期望值。經(jīng)過(guò)學(xué)習(xí)訓(xùn)練,當(dāng)網(wǎng)絡(luò)對(duì)于各種給定的輸入均能產(chǎn)生期望的輸出時(shí),可認(rèn)為網(wǎng)絡(luò)已在導(dǎo)師的訓(xùn)練下“學(xué)會(huì)”了訓(xùn)練集中的知識(shí)和規(guī)則。而相反的是,無(wú)監(jiān)督學(xué)習(xí)需要神經(jīng)網(wǎng)絡(luò)自身設(shè)計(jì)類(lèi)別并完成歸類(lèi),例如,給出一堆由兩種水果組成的“水果堆”,但是不知道是哪兩種水果,神經(jīng)網(wǎng)絡(luò)需要自己完成分類(lèi)任務(wù)。
2 典型神經(jīng)網(wǎng)絡(luò)
2.1 感知器及其衍生神經(jīng)網(wǎng)絡(luò)
感知器是眾多神經(jīng)網(wǎng)絡(luò)中最簡(jiǎn)單的一種神經(jīng)網(wǎng)絡(luò),其也是組成復(fù)雜神經(jīng)網(wǎng)絡(luò)的基本單元。感知器神經(jīng)網(wǎng)絡(luò)模型基于MP模型結(jié)構(gòu),采用監(jiān)督學(xué)習(xí)來(lái)逐步增加模式劃分功能,達(dá)到學(xué)習(xí)目的,是研究其他網(wǎng)絡(luò)的基礎(chǔ)。感知器能做簡(jiǎn)單的線性分類(lèi)任務(wù),無(wú)法解決XOR(異或)類(lèi)的分類(lèi)任務(wù)。于是,出現(xiàn)了多層感知器,在輸入與輸出層之間增加隱層(一層或多層神經(jīng)元),構(gòu)成多層前饋網(wǎng)絡(luò),如圖2所示。
多層感知器模型利用足夠多隱層表達(dá)更為復(fù)雜的非線性函數(shù),以實(shí)現(xiàn)任何模式分類(lèi),也包括異或問(wèn)題。不過(guò),多層感知器模型沒(méi)有合理解決如何確定權(quán)值(學(xué)習(xí)算法),這一度阻礙了神經(jīng)網(wǎng)絡(luò)的發(fā)展,直到反向傳播(BP)算法出現(xiàn)并應(yīng)用于多層感知器的訓(xùn)練。
BP算法的基本原理是誤差的反向傳播,通過(guò)輸入信息求出輸出結(jié)果,上層(輸入)神經(jīng)元的狀態(tài)影響下層(輸出)神經(jīng)元狀態(tài)。當(dāng)輸出層得不到希望的輸出時(shí),則轉(zhuǎn)入反向傳播。反向傳播用于從下層(輸出)向上層(輸入)逐層向后傳遞誤差,逐一修正神經(jīng)元間的連接權(quán)值誤差。當(dāng)參數(shù)適當(dāng)時(shí),此網(wǎng)絡(luò)的實(shí)際輸出能夠以較小的均方誤差收斂到期望輸出。
BP算法解決了非線性的分類(lèi)問(wèn)題,是訓(xùn)練前向多層網(wǎng)絡(luò)的較好算法。不過(guò),BP算法存在梯度消失問(wèn)題,即模型訓(xùn)練超過(guò)一定迭代次數(shù)后容易產(chǎn)生過(guò)擬合,使得訓(xùn)練集和測(cè)試集數(shù)據(jù)分布不一致,無(wú)法有效學(xué)習(xí)。這之后出現(xiàn)了不少改進(jìn)算法,比如增加動(dòng)量項(xiàng)、自適應(yīng)調(diào)節(jié)學(xué)習(xí)率,引入陡度因子等。
在神經(jīng)網(wǎng)絡(luò)的發(fā)展過(guò)程中,還出現(xiàn)了不少神經(jīng)網(wǎng)絡(luò),如自組織特征映射網(wǎng)絡(luò)SOM、徑向基函數(shù)RBF神經(jīng)網(wǎng)絡(luò)、Hopfield神經(jīng)網(wǎng)絡(luò)等,它們是神經(jīng)網(wǎng)絡(luò)發(fā)展史的一個(gè)個(gè)縮影[ 3 ]。
2.2 深度神經(jīng)網(wǎng)絡(luò)
大數(shù)據(jù)時(shí)代的到來(lái)以及算力的提高,掀起了深度學(xué)習(xí)浪潮。深度學(xué)習(xí)能發(fā)現(xiàn)大數(shù)據(jù)中的復(fù)雜結(jié)構(gòu),也因此大幅度提升了神經(jīng)網(wǎng)絡(luò)的效果。
深度神經(jīng)網(wǎng)絡(luò)包含多個(gè)隱層,每層都可以采用監(jiān)督學(xué)習(xí)或非監(jiān)督學(xué)習(xí)進(jìn)行非線性變換,實(shí)現(xiàn)對(duì)上層的特征抽象。深度神經(jīng)網(wǎng)絡(luò)利用逐層特征組合,配合海量的訓(xùn)練數(shù)據(jù),來(lái)學(xué)習(xí)更有用的特征,從而提升分類(lèi)或預(yù)測(cè)的準(zhǔn)確性,即:大量訓(xùn)練數(shù)據(jù)+特征學(xué)習(xí)→數(shù)據(jù)推斷。它的工作原理如圖3所示。
深度學(xué)習(xí)一定程度上改善了以往傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練中所表現(xiàn)出來(lái)的目標(biāo)函數(shù)優(yōu)化的局部極小、不能收斂到穩(wěn)定狀態(tài)等問(wèn)題,可以忽略局部極值問(wèn)題對(duì)于深層網(wǎng)絡(luò)的影響。典型的深度學(xué)習(xí)算法主要包括深信網(wǎng)、深度玻耳茲曼機(jī)、棧式自動(dòng)編碼器和卷積神經(jīng)網(wǎng)絡(luò)。目前,深度學(xué)習(xí)興趣點(diǎn)主要是數(shù)據(jù)標(biāo)注的監(jiān)督學(xué)習(xí),而無(wú)監(jiān)督學(xué)習(xí)和深度學(xué)習(xí)模型的小數(shù)據(jù)泛化能力將是今后關(guān)注方向。語(yǔ)音、圖像和自然語(yǔ)言處理是深度學(xué)習(xí)應(yīng)用最廣泛的3個(gè)領(lǐng)域。
3 結(jié)論
目前,在許多任務(wù)上,人工神經(jīng)網(wǎng)絡(luò)都取得了匹敵甚至超越人類(lèi)的成果,但也還存在不少亟待攻克的問(wèn)題。首先,深度學(xué)習(xí)的訓(xùn)練過(guò)程需要大量數(shù)據(jù),而人工標(biāo)注的成本較高,可考慮加強(qiáng)從未標(biāo)注數(shù)據(jù)的學(xué)習(xí),或者自動(dòng)生成數(shù)據(jù)進(jìn)行訓(xùn)練,如GANs就是一種數(shù)據(jù)生成模型。其次,基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)相對(duì)復(fù)雜,數(shù)據(jù)的訓(xùn)練時(shí)間較長(zhǎng),需要消耗的資源巨大,特別在移動(dòng)設(shè)備上無(wú)法取得較好的效果,可考慮:
1)直接壓縮或設(shè)計(jì)更精巧的模型,從而簡(jiǎn)化模型結(jié)構(gòu);
2)提升算法效率,提高計(jì)算質(zhì)量;
3)提高搭載網(wǎng)絡(luò)的硬件計(jì)算力,縮短處理時(shí)間;
4)發(fā)揮云計(jì)算,使得在小模型上也能跑出大模型的效果;
5)可基于訓(xùn)練和推理的不同特性,實(shí)現(xiàn)網(wǎng)絡(luò)各部分結(jié)構(gòu)化、集成化,提高網(wǎng)絡(luò)調(diào)整的靈活性,便于網(wǎng)絡(luò)功能擴(kuò)展[ 4 ]。另外,還可以拓展應(yīng)用領(lǐng)域,向通用型智能發(fā)展。
參考文獻(xiàn)
[1]焦李成,楊淑媛,劉芳,等.神經(jīng)網(wǎng)絡(luò)七十年:回顧與展望[J].計(jì)算機(jī)學(xué)報(bào),2016,39(8):1697-1716.
[2]韓力群,施彥.人工神經(jīng)網(wǎng)絡(luò)理論及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2017:142-148.
[3]王廣.人工神經(jīng)網(wǎng)絡(luò)發(fā)展現(xiàn)狀綜述[J].中小企業(yè)管理與科技,2017(2):165-167.
[4]李彥冬,郝宗波,雷航.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)應(yīng)用,2016,36(9):2508-2515.