李文正,崔皖新
(江西理工大學(xué) 電氣工程與自動化學(xué)院,江西 贛州 341000)
人工神經(jīng)網(wǎng)絡(luò)是基于模仿大腦神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能而創(chuàng)建的信息處理系統(tǒng),可以實現(xiàn)逼近、聚類和分類等諸多應(yīng)用。目前已開發(fā)出多種類型的神經(jīng)網(wǎng)絡(luò),這些網(wǎng)絡(luò)可以根據(jù)復(fù)雜程度分為淺層神經(jīng)網(wǎng)絡(luò)和深層神經(jīng)網(wǎng)絡(luò),并根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)區(qū)分為前向神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò),具備不同的結(jié)構(gòu)、激活函數(shù)和訓(xùn)練算法,面向不同的應(yīng)用。在使用神經(jīng)網(wǎng)絡(luò)時,要結(jié)合網(wǎng)絡(luò)的結(jié)構(gòu)和原理了解網(wǎng)絡(luò)的性能差異,才能在處理實際問題時更好地選用合適有效的網(wǎng)絡(luò)[1]。
本文主要針對分類問題,選取感知器網(wǎng)絡(luò)、BP網(wǎng)絡(luò)和霍普菲爾德網(wǎng)絡(luò)進(jìn)行英文字母識別實驗,并對這三種網(wǎng)絡(luò)的表現(xiàn)進(jìn)行對比研究。
創(chuàng)建網(wǎng)絡(luò)前要先對字母進(jìn)行數(shù)字化處理,從而獲得網(wǎng)絡(luò)的輸入輸出。
輸入矢量根據(jù)26個字母確定。每個字母進(jìn)行網(wǎng)格化處理后可以被表示為5×7的矩陣,進(jìn)行簡單變換即可生成一個行數(shù)為35的列向量,共有26個字母,因此輸入矢量Pr×q是35×26的矩陣[2]。
每個輸出包括25個0和1個1,其中1按照字母順序(從A到Z的字母表順序)從第1位移到第26位,因此輸出矢量Ts×q可以被看作為26×26的單位陣。
字母A網(wǎng)格化處理如圖1所示。
圖1 字母A網(wǎng)格化處理
感知器/BP網(wǎng)絡(luò):26個字母,每個字母35維0/1輸入,故輸入是35×26的矩陣,輸出是維數(shù)為26的單位陣。感知器是單層網(wǎng)絡(luò),激活函數(shù)為二值函數(shù);BP網(wǎng)絡(luò)是雙層網(wǎng)絡(luò),含有節(jié)點數(shù)為10的隱含層,隱含層和輸出層的激活函數(shù)均采用S型激活函數(shù)[3]。
霍普菲爾德網(wǎng)絡(luò)(離散):通過設(shè)置收斂域的方式進(jìn)行字母識別,將每個待識別的字母作為35維特征空間內(nèi)的一個穩(wěn)定點(矢量的每一位均為±1),那么存在26個收斂域,待識別的字母會就近收斂到相近的收斂域完成歸類識別。
這三種網(wǎng)絡(luò)是均可執(zhí)行分類操作的淺層神經(jīng)網(wǎng)絡(luò)[4]。結(jié)構(gòu)方面,感知器網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)同屬于前向神經(jīng)網(wǎng)絡(luò),感知器網(wǎng)絡(luò)為單層網(wǎng)絡(luò)且激活函數(shù)為二值型函數(shù),而BP神經(jīng)網(wǎng)絡(luò)具有一層隱含層,隱含層和輸出層的激活函數(shù)均采用對數(shù)型激活函數(shù)(輸出范圍[0,1],易于收斂)。感知器網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)的基本訓(xùn)練算法均屬于梯度下降法,基于網(wǎng)絡(luò)輸出和期望輸出的偏差修正權(quán)值。2個網(wǎng)絡(luò)的訓(xùn)練各自存在局限性:感知器網(wǎng)絡(luò)計算簡單但無法解決線性不可分的分類問題;BP神經(jīng)網(wǎng)絡(luò)雖然理論上進(jìn)行充足的訓(xùn)練后可以帶來更好的分類精度,但可能因訓(xùn)練時間較長,導(dǎo)致陷入激活函數(shù)飽和區(qū)或陷入局部極小值等。
霍普菲爾德[5]可根據(jù)26個字母的數(shù)字化結(jié)果在特征空間內(nèi)設(shè)置平衡點和收斂域。同時霍普菲爾德網(wǎng)絡(luò)屬于全局遞歸的反饋神經(jīng)網(wǎng)絡(luò),選用二值激活函數(shù)。
感知器網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)均需進(jìn)行帶標(biāo)簽的監(jiān)督式學(xué)習(xí)[6]。按照前文給定的輸入、輸出矢量訓(xùn)練,采取相同的誤差平方和作為損失函數(shù),以誤差平方和達(dá)到10-4作為訓(xùn)練目標(biāo)。
感知器網(wǎng)絡(luò)訓(xùn)練結(jié)果如圖2所示。
圖2 感知器網(wǎng)絡(luò)訓(xùn)練結(jié)果
感知器網(wǎng)絡(luò)通過13次迭代完成訓(xùn)練。訓(xùn)練誤差關(guān)于迭代次數(shù)的折線圖如圖3所示。
圖3 感知器網(wǎng)絡(luò)訓(xùn)練誤差變化
對BP神經(jīng)網(wǎng)絡(luò)執(zhí)行同樣的訓(xùn)練。由于在原始BP算法基礎(chǔ)上加入附加動量可以一定程度解決BP神經(jīng)網(wǎng)絡(luò)易陷入局部極小值的問題[7],因此在加入附加動量的基礎(chǔ)上采用自適應(yīng)學(xué)習(xí)速率(GDX)。
圖4是經(jīng)過多次調(diào)參后選取的比較理想的初始權(quán)值、初始學(xué)習(xí)速率和10個隱含層節(jié)點條件下BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差關(guān)于迭代次數(shù)的曲線圖。網(wǎng)絡(luò)經(jīng)過278次訓(xùn)練達(dá)到訓(xùn)練目標(biāo)。
圖4 附加動量自適應(yīng)速率的誤差變化
BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法對收斂速度的影響較大。替換訓(xùn)練算法為彈性梯度下降法(RP),采用trainrp指令進(jìn)行訓(xùn)練,發(fā)現(xiàn)迭代次數(shù)大大減少。彈性梯度下降法訓(xùn)練誤差變化如圖5所示。
圖5 彈性梯度下降法訓(xùn)練誤差變化
當(dāng)訓(xùn)練算法采用彈性BP算法后,會在計算時對符號的變化更加敏感,可更好地避免振蕩問題。訓(xùn)練次數(shù)由278次減少到27次。
目前最高效的BP訓(xùn)練算法是LM算法,采用LM算法進(jìn)行同樣的訓(xùn)練只需六七次即可達(dá)到訓(xùn)練目標(biāo)。LM算法訓(xùn)練誤差變化如圖6所示。
圖6 LM算法訓(xùn)練誤差變化
感知器網(wǎng)絡(luò)和采用不同訓(xùn)練算法的BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)對比見表1所列。
表1 網(wǎng)絡(luò)訓(xùn)練次數(shù)對比
可以看到,感知器網(wǎng)絡(luò)訓(xùn)練算法簡單,只需十余次訓(xùn)練即可達(dá)到目標(biāo),由于激活函數(shù)是二值型函數(shù),因此可以很快地將訓(xùn)練誤差訓(xùn)練至0。
BP網(wǎng)絡(luò)的訓(xùn)練過程更加復(fù)雜,為達(dá)到較高精度,就需要更多的迭代次數(shù)。不同的BP訓(xùn)練算法對收斂次數(shù)的影響極大,雖然權(quán)值的初始化具有一定的隨機(jī)性,但幾種不同的訓(xùn)練算法對應(yīng)的訓(xùn)練次數(shù)不在同一數(shù)量級。雖然改進(jìn)的訓(xùn)練算法所需訓(xùn)練次數(shù)更少,但該訓(xùn)練算法每進(jìn)行一次訓(xùn)練所涉及的計算會更加復(fù)雜(如LM法,結(jié)合牛頓法和梯度下降法,牽涉二次求偏導(dǎo)等復(fù)雜運算)。
抗噪性能指網(wǎng)絡(luò)輸出精度關(guān)于網(wǎng)絡(luò)輸入中添加噪聲的靈敏度。在字母識別問題中,對網(wǎng)絡(luò)輸入添加噪聲相當(dāng)于影響字母的清晰程度。以字母A為例,對添加噪聲前后的字母A做對比,如圖7所示。
圖7 無噪和有噪的字母A
噪聲越大,字母越不清晰,越難以識別。檢驗網(wǎng)絡(luò)抗噪性能的思路:在訓(xùn)練好的網(wǎng)絡(luò)上使用不同噪聲等級的輸入進(jìn)行仿真,計算仿真輸出和實際期望輸出間的偏差。噪聲等級可以以0.02為間距步進(jìn),由低到高,繪出網(wǎng)絡(luò)識別精度關(guān)于輸入施加噪聲的曲線。
在對網(wǎng)絡(luò)訓(xùn)練時,也可加入噪聲以求得抗噪性更優(yōu)的網(wǎng)絡(luò)。以感知器網(wǎng)絡(luò)為例,采用無噪訓(xùn)練和0.4的噪聲強(qiáng)度進(jìn)行有噪訓(xùn)練,檢驗有/無噪網(wǎng)絡(luò)的抗噪性。感知器網(wǎng)絡(luò)的抗噪性能如圖8所示。
圖8 感知器網(wǎng)絡(luò)的抗噪性能
虛線代表無噪訓(xùn)練得到的網(wǎng)絡(luò),實線代表有噪訓(xùn)練得到的網(wǎng)絡(luò)。選用的檢驗噪聲等級從0步進(jìn)至0.2,抗噪性能越好的網(wǎng)絡(luò)曲線越低。顯然,對于感知器網(wǎng)絡(luò)而言,施加噪聲進(jìn)行訓(xùn)練的網(wǎng)絡(luò)抗噪性能遠(yuǎn)強(qiáng)于無噪訓(xùn)練的網(wǎng)絡(luò)抗噪性能。
通過對照選取性能表現(xiàn)良好的一組參數(shù)下的感知器網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò),與霍普菲爾德網(wǎng)絡(luò)進(jìn)行對比,將它們的誤差-噪聲曲線繪制在同一坐標(biāo)系內(nèi),藍(lán)色代表感知器網(wǎng)絡(luò),紅色代表BP神經(jīng)網(wǎng)絡(luò),綠色代表霍普菲爾德網(wǎng)絡(luò)。對于感知器網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)而言,虛線代表無噪聲條件下的訓(xùn)練,實線代表有噪聲條件下的訓(xùn)練。測試噪聲選取0∶0.02∶0.5。訓(xùn)練結(jié)果如圖9所示。
從圖9可以看出,感知器網(wǎng)絡(luò)的抗噪性能最差,霍普菲爾德網(wǎng)絡(luò)擁有最優(yōu)的抗噪性能。同時,對于同一類網(wǎng)絡(luò)而言,加噪訓(xùn)練的網(wǎng)絡(luò)性能總是優(yōu)于無噪訓(xùn)練的網(wǎng)絡(luò)性能。
圖9 抗噪性能對比(0∶0.02∶0.5)
加大測試噪聲到0.8,結(jié)果如圖10所示。
圖10 加大測試噪聲的抗噪 性能對比(0∶0.02∶0.8)
由圖10可知,如果測試噪聲進(jìn)一步加大,BP神經(jīng)網(wǎng)絡(luò)的錯誤率上升趨勢最穩(wěn)健,即線性上升;感知器網(wǎng)絡(luò)的錯誤率上升速率稍稍加快;霍普菲爾德網(wǎng)絡(luò)在噪聲進(jìn)一步加大時,錯誤率基本呈指數(shù)級上升。測試噪聲達(dá)到0.8時,BP神經(jīng)網(wǎng)絡(luò)表現(xiàn)最好,而霍普菲爾德網(wǎng)絡(luò)表現(xiàn)最差。
感知器網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)的抗噪性能曲線上升趨勢較相似,霍普菲爾德網(wǎng)絡(luò)趨勢陡峭,呈指數(shù)級上升。這歸因于網(wǎng)絡(luò)結(jié)構(gòu)、原理和學(xué)習(xí)算法的差異[8]。網(wǎng)絡(luò)抗噪性能對比見表2所列。
表2 網(wǎng)絡(luò)抗噪性能對比
根據(jù)網(wǎng)絡(luò)的訓(xùn)練和抗噪性能檢驗結(jié)果可以看出,三類網(wǎng)絡(luò)在應(yīng)用時處理同樣的分類問題呈現(xiàn)出不同的特點。
感知器網(wǎng)絡(luò)可以處理線性可分的分類問題,計算簡單,訓(xùn)練時間短,迭代次數(shù)少。但訓(xùn)練的網(wǎng)絡(luò)抗噪性能差,可考慮通過施加噪聲進(jìn)行更充分的訓(xùn)練來改善網(wǎng)絡(luò)的抗噪性能。
BP神經(jīng)網(wǎng)絡(luò)需要更長的訓(xùn)練時間,使網(wǎng)絡(luò)訓(xùn)練的更充分??梢圆捎酶倪M(jìn)的訓(xùn)練算法來縮短網(wǎng)絡(luò)的訓(xùn)練時長。訓(xùn)練次數(shù)和采用的訓(xùn)練算法具有很大相關(guān)性,比較先進(jìn)和高效的BP訓(xùn)練算法有牛頓法、共軛梯度法和LM法等(高效的改進(jìn)訓(xùn)練算法牽涉更復(fù)雜的計算)。從網(wǎng)絡(luò)性能上來說,BP神經(jīng)網(wǎng)絡(luò)無論是有噪訓(xùn)練還是無噪訓(xùn)練,相比感知器算法表現(xiàn)更加優(yōu)異。BP神經(jīng)網(wǎng)絡(luò)同樣可以通過進(jìn)行更充分的有噪訓(xùn)練改善抗噪性能。
霍普菲爾德網(wǎng)絡(luò)無需訓(xùn)練即可根據(jù)設(shè)定的平衡點直接生成[9]??梢钥吹剑羝辗茽柕戮W(wǎng)絡(luò)作為一種簡單的遞歸網(wǎng)絡(luò),在可接受的噪聲范圍內(nèi)進(jìn)行字母識別優(yōu)勢明顯。但霍普菲爾德網(wǎng)絡(luò)在處理分類問題時存在自身缺陷:首先,待分類的輸入矢量需控制好噪聲強(qiáng)度范圍,避免霍普菲爾德網(wǎng)絡(luò)的錯誤識別率隨輸入噪聲的增大而急劇升高;其次,霍普菲爾德網(wǎng)絡(luò)可以處理的分類問題具有一定的局限性,因為其原理是設(shè)定平衡點和收斂域,不同于前向網(wǎng)絡(luò)是建立黑箱系統(tǒng)調(diào)整權(quán)值,因此霍普菲爾德網(wǎng)絡(luò)能處理的分類問題中,被分類的對象應(yīng)當(dāng)可以在特征空間內(nèi)按照收斂域劃分,無法建立輸入到分類的映射關(guān)系[10];最后,霍普菲爾德網(wǎng)絡(luò)可能會生成偽平衡點,進(jìn)行錯誤的收斂,從而影響分類結(jié)果。