張雨濃,鄧健豪,金 龍,劉錦榮,殷勇華
(1.中山大學(xué)信息科學(xué)與技術(shù)學(xué)院,廣東廣州 510006;2.中山大學(xué)軟件學(xué)院,廣東廣州 510006)
人工神經(jīng)網(wǎng)絡(luò) (Artificial Neural Network,以下簡稱神經(jīng)網(wǎng)絡(luò))是模擬生物神經(jīng)系統(tǒng)的組織結(jié)構(gòu)、處理方式和系統(tǒng)功能的簡化系統(tǒng)[1]。神經(jīng)網(wǎng)絡(luò)作為一種并行的計(jì)算模型,能夠在被建模對象的結(jié)構(gòu)及參數(shù)均未知的情況下,通過訓(xùn)練,自適應(yīng)地獲取輸入與輸出之間的非線性映射關(guān)系[2]。由于其優(yōu)秀的非線性映射、泛化、自組織及自我學(xué)習(xí)能力,神經(jīng)網(wǎng)絡(luò)已被廣泛地應(yīng)用于計(jì)算機(jī)科學(xué)技術(shù)、信息與通信工程、電氣工程、人工智能、模式識(shí)別和控制工程等學(xué)科和領(lǐng)域[1,3]。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是由Rumelhart和McClelland等人于1986年提出的一種前向監(jiān)督型神經(jīng)網(wǎng)絡(luò)[4],由于其采用基于梯度下降思想的誤差回傳 (即BP)學(xué)習(xí)算法而得名。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡單,具有較強(qiáng)的非線性映射能力,是目前應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)模型及算法之一[1,4-5]。
本文創(chuàng)新地提出了唯一性邏輯,并展望了唯一性邏輯可能的應(yīng)用前景。通過計(jì)算機(jī)數(shù)值實(shí)驗(yàn)驗(yàn)證,我們發(fā)現(xiàn)所提出的基于BP神經(jīng)網(wǎng)絡(luò)的模型可以準(zhǔn)確有效地實(shí)現(xiàn)唯一性偵測。
所謂唯一性邏輯,就是判斷輸入向量中是否存在唯一分量的邏輯。
定義 對于輸入向量(x1,x2,…,xm),若有且只有一個(gè)輸入分量xk,使得xk≠xi,i∈{a|a=1,2,…,m且a≠k},則稱輸入向量 (x1,x2,…,xm)具有唯一性,其中輸入分量xk是唯一的。
例如,對于二值四輸入的情況,若輸入向量為(0,0,1,1),則不具有唯一性;若輸入為(1,0,0,0),則第一個(gè)輸入分量1是唯一的。
以下列舉部分唯一性邏輯可能的應(yīng)用前景。
首先,唯一性邏輯可以用于查找異常。例如,在生產(chǎn)工業(yè)中,需要對大量的同種類產(chǎn)品進(jìn)行檢驗(yàn)時(shí),可以設(shè)定一系列的測試用例;對于這些測試用例,所有的產(chǎn)品都應(yīng)具有相同的響應(yīng)。若某一件產(chǎn)品的響應(yīng)與其它產(chǎn)品的均不相同,通過唯一性檢測,就可以馬上定位出該產(chǎn)品,然后對其進(jìn)行檢查。
另外,若輸入表示投票,則可以找出與眾不同的一票。由于該票是唯一的、與眾不同的,它代表了不同的意見,也許有著特殊的意義,需要作進(jìn)一步探究。
總的來說,由于唯一性邏輯是新穎的,它的應(yīng)用還有待開發(fā)。
BP神經(jīng)網(wǎng)絡(luò)泛指那些采用誤差后向傳播算法的多層前向神經(jīng)網(wǎng)絡(luò)模型[1]。圖1給出了一個(gè)三層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò)模型,包含輸入層、隱含層和輸出層。相鄰兩層的各個(gè)神經(jīng)元彼此相連,且神經(jīng)元之間的連接強(qiáng)度用連接權(quán)值來表示。當(dāng)神經(jīng)元將輸入端的各個(gè)信號進(jìn)行加權(quán)求和后,神經(jīng)元的第二步工作就是通過激勵(lì)函數(shù)對求和信號進(jìn)行變換處理[1],處理后的信號則為神經(jīng)元的最終輸出。
BP學(xué)習(xí)算法的思想是,依據(jù)神經(jīng)網(wǎng)絡(luò)實(shí)際輸出與期望輸出之間誤差的負(fù)梯度方向,通過迭代,從后往前逐層地修正各層神經(jīng)元之間的連接權(quán)值[6-9],以使網(wǎng)絡(luò)獲得良好的逼近能力。
BP 學(xué)習(xí)算法的主要步驟為[10-11]:
1)初始化網(wǎng)絡(luò)的權(quán)值和閾值;
2)計(jì)算網(wǎng)絡(luò)各層輸出向量和輸出誤差;
3)根據(jù)網(wǎng)絡(luò)的輸出誤差,通過反向傳播來修正權(quán)值和閾值;
4)重復(fù)2)和3),直到符合特定條件。
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法是決定神經(jīng)網(wǎng)絡(luò)預(yù)測效率和收斂速度的關(guān)鍵[12]。傳統(tǒng)BP訓(xùn)練算法存在著一些固有的缺陷[6-8],例如易陷入局部極小點(diǎn)、學(xué)習(xí)收斂速度慢和網(wǎng)絡(luò)結(jié)構(gòu)難以確定等。為了克服傳統(tǒng)BP算法的缺點(diǎn),有許多新的改進(jìn)算法和方法被提出[6-7,13]。這些方法包括增加動(dòng)量項(xiàng)的 BP 學(xué)習(xí)算法、可變學(xué)習(xí)率的BP算法、彈性BP學(xué)習(xí)算法、共軛梯度法改進(jìn)算法和Levenberg-Marquardt算法等。
本文實(shí)驗(yàn)采用了Levenberg-Marquardt算法,該算法同時(shí)具有梯度法和牛頓法的優(yōu)點(diǎn),是BP神經(jīng)網(wǎng)絡(luò)中最優(yōu)越的算法之一[14],具有訓(xùn)練速度快的特點(diǎn)。
一般而言,具有一層隱含層的BP神經(jīng)網(wǎng)絡(luò)足夠應(yīng)付大多數(shù)應(yīng)用[15]。相關(guān)理論研究證明[16-17],一個(gè)以Sigmoid函數(shù)為隱含層神經(jīng)元激勵(lì)函數(shù)的三層神經(jīng)網(wǎng)絡(luò)可以逼近任意連續(xù)函數(shù),具有強(qiáng)大的非線性映射能力。然而,當(dāng)BP神經(jīng)網(wǎng)絡(luò)含有多個(gè)隱含層時(shí),網(wǎng)絡(luò)會(huì)變得過于復(fù)雜,有可能產(chǎn)生多個(gè)局部極小值以及導(dǎo)致較慢的收斂速度和較大的誤差[15]。因此,本文采用單隱含層結(jié)構(gòu),單極Sigmoid函數(shù)作為隱含層和輸出層的激勵(lì)函數(shù),理論上可以實(shí)現(xiàn)唯一性邏輯。
單極 Sigmoid 激勵(lì)函數(shù)為[6-7]
其中,c為傾斜參數(shù),其變化會(huì)影響Sigmoid函數(shù)的形狀。由于該函數(shù)是全局可微的,這一優(yōu)點(diǎn)在BP等梯度類學(xué)習(xí)算法中有著良好的效果。
由于輸出層使用Sigmoid激勵(lì)函數(shù),這使得輸出值為介于0到1的實(shí)數(shù),因此,需通過四舍五入將最后輸出值轉(zhuǎn)換成整數(shù)0或1。
由于三層BP神經(jīng)網(wǎng)絡(luò)只有一層隱含層,因此,隱含層神經(jīng)元數(shù)是比較重要的一個(gè)參數(shù)。計(jì)算機(jī)數(shù)值實(shí)驗(yàn)中,首先給定較小初始隱含層神經(jīng)元數(shù),構(gòu)成一個(gè)結(jié)構(gòu)較小的BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練。如果在規(guī)定的訓(xùn)練次數(shù)內(nèi)沒有滿足收斂條件,則停止訓(xùn)練,并逐漸增加隱含層神經(jīng)元數(shù),形成新的BP神經(jīng)網(wǎng)絡(luò)再重新訓(xùn)練。
圖1 一個(gè)三層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò)模型Fig.1 A 3-layer BP neural network model
本文使用三層BP神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)三輸入唯一性偵測。輸入層神經(jīng)元數(shù)為3,輸出層神經(jīng)元數(shù)為2。經(jīng)過計(jì)算機(jī)數(shù)值實(shí)驗(yàn),我們發(fā)現(xiàn)隱含層神經(jīng)元數(shù)為5時(shí)網(wǎng)絡(luò)收斂速度和訓(xùn)練效果最好。
在本次實(shí)驗(yàn)中,所有樣本都是二值的 (0或1)。唯一性偵測網(wǎng)絡(luò)的輸出為唯一輸入分量的位置的二進(jìn)制表示。
對于三輸入的BP神經(jīng)網(wǎng)絡(luò),有兩個(gè)輸出,代表四種情況,分別是:沒有唯一性,第1分量是唯一的,第2分量是唯一的和第3分量是唯一的。所有8個(gè)訓(xùn)練樣本及其含義如表1所示。
計(jì)算機(jī)實(shí)驗(yàn)的目標(biāo)就是把網(wǎng)絡(luò)訓(xùn)練到可以正確識(shí)別所有樣本,即實(shí)現(xiàn)唯一性偵測。
表1 三輸入唯一性偵測網(wǎng)絡(luò)的訓(xùn)練樣本Table 1 Training examples for 3-input uniqueness detection network
經(jīng)過多次實(shí)驗(yàn),我們發(fā)現(xiàn),使用上述的三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和Levenberg-Marquardt算法,可以在短時(shí)間內(nèi)成功地訓(xùn)練出用于唯一性偵測的三輸入神經(jīng)網(wǎng)絡(luò)。
圖2為三輸入唯一性偵測網(wǎng)絡(luò)在訓(xùn)練過程中的均方誤差 (Mean Squared Error,MSE)變化圖。具體而言,均方誤差為測試值與目標(biāo)值之差的平方的均值:
從圖2可以看出,在第10次迭代完成時(shí),MSE下降到目標(biāo)誤差值以下,訓(xùn)練結(jié)束。為了便于觀察實(shí)驗(yàn)結(jié)果,將多輸出向量轉(zhuǎn)換成十進(jìn)制的數(shù)字。從圖3可以看出,訓(xùn)練完成后的網(wǎng)絡(luò)對全部8個(gè)樣本的測試結(jié)果與樣本目標(biāo)值完全一致。
四輸入的唯一性偵測網(wǎng)絡(luò)的輸入層神經(jīng)元數(shù)為4,輸出層神經(jīng)元數(shù)為3。經(jīng)過計(jì)算機(jī)數(shù)值實(shí)驗(yàn),我們發(fā)現(xiàn)隱含層神經(jīng)元數(shù)為15時(shí)網(wǎng)絡(luò)收斂速度和訓(xùn)練效果最好。
對于四輸入的BP神經(jīng)網(wǎng)絡(luò),有三個(gè)輸出,代表五種情況,分別是:沒有唯一性,第1分量是唯一的,第2分量是唯一的,第3分量是唯一的和第4分量是唯一的。表2為四輸入的唯一性偵測網(wǎng)絡(luò)的全部16個(gè)訓(xùn)練樣本及其含義。
圖4為四輸入唯一性偵測網(wǎng)絡(luò)在訓(xùn)練過程中的MSE變化圖,圖5為訓(xùn)練后網(wǎng)絡(luò)的測試結(jié)果。
表2 四輸入唯一性偵測網(wǎng)絡(luò)的訓(xùn)練樣本Table 2 Training examples for 4-input uniqueness detection network
圖4 四輸入唯一性偵測網(wǎng)絡(luò)的MSE變化圖Fig.4 MSE curve of 4-input uniqueness detection network
從圖4可以看出,在第42次迭代完成時(shí),MSE下降到目標(biāo)誤差值以下,訓(xùn)練結(jié)束。從圖5可以看出,學(xué)習(xí)完成后的網(wǎng)絡(luò)對全部16個(gè)樣本的測試結(jié)果與樣本目標(biāo)值完全一致。
圖5 四輸入唯一性偵測網(wǎng)絡(luò)的測試結(jié)果Fig.5 Results of 4-input uniqueness detection network
五輸入的唯一性偵測網(wǎng)絡(luò)的訓(xùn)練方法與三、四輸入的類似。表3為五輸入的唯一性偵測網(wǎng)絡(luò)的全部32個(gè)訓(xùn)練樣本。
圖6為5輸入唯一性偵測網(wǎng)絡(luò)在訓(xùn)練過程中的MSE變化圖,圖7為訓(xùn)練后網(wǎng)絡(luò)的測試結(jié)果。實(shí)驗(yàn)結(jié)果顯示訓(xùn)練完成后的五輸入的網(wǎng)絡(luò)對全部32個(gè)樣本的測試結(jié)果與樣本目標(biāo)值完全一致。
圖6 五輸入唯一性偵測網(wǎng)絡(luò)的MSE變化圖Fig.6 MSE curve of 5-input uniqueness detection network
表3 五輸入唯一性偵測網(wǎng)絡(luò)的訓(xùn)練樣本Table 3 Training examples for 5-input uniqueness detection network
本文首先提出了唯一性邏輯的概念并給出其定義,指出了唯一性邏輯可能的應(yīng)用前景。然后,通過計(jì)算機(jī)數(shù)值實(shí)驗(yàn)驗(yàn)證了BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)唯一性偵測的可行性。實(shí)驗(yàn)證明,使用Levenberg-Marquardt算法可以快速、有效地訓(xùn)練出用于唯一性偵測的三層BP神經(jīng)網(wǎng)絡(luò)。
我們實(shí)現(xiàn)了三、四和五輸入唯一性邏輯的BP神經(jīng)網(wǎng)絡(luò)偵測,為唯一性邏輯打下了理論和實(shí)驗(yàn)基礎(chǔ),有利于未來的實(shí)際應(yīng)用以及推廣到多輸入的唯一性邏輯。
圖7 五輸入唯一性偵測網(wǎng)絡(luò)的測試結(jié)果Fig.7 Results of 5-input uniqueness detection network
[1]張雨濃,楊逸文,李巍.神經(jīng)網(wǎng)絡(luò)權(quán)值直接確定法[M].廣州:中山大學(xué)出版社,2010.
[2]ZHANG Y N,LI W,YI C F,et al.A weights-directlydeter-mined simple neural network for nonlinear system identification[C]∥Proceedings of the IEEE International Conference on Fuzzy Systems,2008:455 -460.
[3]STATAKE T,KATSUMI M,NAKAMURA N.Neural network approach for minimizing the makespan of the general job-shop[J].International Journal of Production Economics,1994,33:67 -74.
[4]RUMELHART D,MCCLELLAND J.Parallel Distributed Processing:Explorations in the Microstructure of Cognition[M].Cambridge:MIT Press,1986.
[5]張雨濃,譚寧,李展,等.求解線性不定方程組所展現(xiàn)的BP與Hopfield類型神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)同質(zhì)性研究[J].中山大學(xué)學(xué)報(bào):自然科學(xué)版,2010,49(2):1-7.
[6]張青貴.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:中國水利水電出版社,2004.
[7]HAM F M,KOSTANIC I.Principles of neurocom-puting for science and engineering[M].New York:McGraw-Hill Companies Inc,2001.
[8]成素梅,郝中華.BP神經(jīng)網(wǎng)絡(luò)的哲學(xué)思考[J].科學(xué)技術(shù)與辯證法,2008,25(4):20-25.
[9]周政.BP神經(jīng)網(wǎng)絡(luò)的發(fā)展現(xiàn)狀綜述[J].山西電子技術(shù),2008,2:90-92.
[10]HAGAN M,DEMUTH H,BEALE M.Neural network design[M].Beijing:China Machine Press,2002.
[11]HAYKIN S.Neural networks and learning machines[M].Beijing:China Machine Press,2009.
[12]陳志堅(jiān),孟建熠,嚴(yán)曉浪,等.基于神經(jīng)網(wǎng)絡(luò)的重構(gòu)指令預(yù)取機(jī)制及其可擴(kuò)展架構(gòu)[J].電子學(xué)報(bào),2012,40(7):1476-1480.
[13]高雪鵬,叢爽.BP網(wǎng)絡(luò)改進(jìn)算法的性能對比研究[J].控制與決策,2001,16(2):167-171.
[14]蘇高利,鄧芳萍.論基于MATLAB語言的BP神經(jīng)網(wǎng)絡(luò)的改進(jìn)算法[J].科技通報(bào),2003,19(2):130-135.
[15]FUH K H,WANG S B.Force modeling and forecasting in creep feed grinding using improved BP neural network[J].International Journal of Machine Tools and Manufacture,1997,37(8):1167 -1178.
[16]HORNIK K,STINCHCOMBE M,WHITE H.Multilayer feed forward networks are universal approximators[J].Neural Networks,1989,2(5):359-366.
[17]CHEN T,CHEN H.Universal approximation to nonlinear operators by neural networks with arbitrary activation functions and its application to dynamical systems[J].IEEE Transactions on Neural Networks,1995,6(4):911-917.