孫 峰,龔曉玲,張炳杰,柳毓松,王延江
(中國(guó)石油大學(xué)(華東), 山東 青島 266580)
人工神經(jīng)網(wǎng)絡(luò)是一種模仿人腦神經(jīng)元的結(jié)構(gòu)和信息傳遞過(guò)程所建立的數(shù)學(xué)模型,具有學(xué)習(xí)、記憶等功能.近三十年來(lái)神經(jīng)網(wǎng)絡(luò)得到迅速的發(fā)展并在模式識(shí)別等領(lǐng)域有著廣泛的應(yīng)用,尤其在未來(lái)智能化城市發(fā)展中會(huì)起到關(guān)鍵作用.其中,應(yīng)用最廣泛的就是采用了反向傳播(back propagation)學(xué)習(xí)算法[1]的前饋神經(jīng)網(wǎng)絡(luò),這種網(wǎng)絡(luò)也稱(chēng)為BP神經(jīng)網(wǎng)絡(luò),自1986年被提出之后,至今仍在神經(jīng)網(wǎng)絡(luò)中占據(jù)重要地位.該網(wǎng)絡(luò)在訓(xùn)練時(shí)信息從前向后逐層傳播,而網(wǎng)絡(luò)中的權(quán)重則通過(guò)誤差反向傳播來(lái)調(diào)整.這種算法結(jié)構(gòu)簡(jiǎn)單且能夠以任意精度逼近任意非線性函數(shù)[2-3],但也存在一些缺陷:由于網(wǎng)絡(luò)收斂速度慢,導(dǎo)致訓(xùn)練花費(fèi)時(shí)間過(guò)長(zhǎng);由于采用梯度下降法易陷入局部極小值;易過(guò)擬合訓(xùn)練使其泛化能力變差等.
為了加快網(wǎng)絡(luò)的訓(xùn)練速度,黃廣斌等提出了一種針對(duì)單隱層前饋神經(jīng)網(wǎng)絡(luò)的快速構(gòu)建與學(xué)習(xí)算法[4],因其快速特性而稱(chēng)之為超限學(xué)習(xí)機(jī)(extreme learning machine, ELM).ELM算法的整個(gè)學(xué)習(xí)過(guò)程一次完成,使得網(wǎng)絡(luò)訓(xùn)練大大簡(jiǎn)化,運(yùn)算速度幾十倍甚至幾千倍于BP算法[5-6],ELM在許多領(lǐng)域都取得了突出成果[7-9].雖然網(wǎng)絡(luò)訓(xùn)練效果很好,但ELM相對(duì)于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),需要更多的隱層節(jié)點(diǎn)才能達(dá)到同樣的訓(xùn)練精度[10].由于使用大量隱層節(jié)點(diǎn),計(jì)算工作量會(huì)大大增加,特別是樣本超高維時(shí),測(cè)試速度明顯變慢;過(guò)多的隱層節(jié)點(diǎn)也會(huì)使網(wǎng)絡(luò)過(guò)擬合而降低泛化能力.
針對(duì)ELM存在的問(wèn)題,文獻(xiàn)[11]提出了用梯度下降法來(lái)選擇合適權(quán)值的upper-layer-solution-aware(USA)算法.使用最速下降法來(lái)更新從輸入層到隱層的權(quán)值.它與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)的區(qū)別在于是用廣義逆一步得出,相當(dāng)于傳統(tǒng)BP算法和ELM算法的結(jié)合.與BP神經(jīng)網(wǎng)絡(luò)相比,它的速度大大提高了;與ELM算法相比,它需要的隱層節(jié)點(diǎn)數(shù)減少了.相比于ELM,它在訓(xùn)練上需要浪費(fèi)一些時(shí)間,但是實(shí)際應(yīng)用中,往往測(cè)試時(shí)間比訓(xùn)練時(shí)間更加關(guān)鍵,減少隱層節(jié)點(diǎn)數(shù),有利于縮短測(cè)試時(shí)間,更符合實(shí)際工程需要.
筆者借鑒ELM的一次學(xué)習(xí)思想,提出了一種基于共軛梯度法的快速學(xué)習(xí)算法,由于共軛梯度法計(jì)算復(fù)雜度不高于最速下降法,但是收斂速度優(yōu)于最速下降法,使得筆者算法在保持快速這一優(yōu)勢(shì)前提下,網(wǎng)絡(luò)訓(xùn)練精度得到進(jìn)一步提高.
在介紹筆者算法前,先簡(jiǎn)單介紹一下ELM的基本算法以及ELM算法和BP算法相結(jié)合的USA算法.這兩種算法都應(yīng)用于單隱層前饋神經(jīng)網(wǎng)絡(luò)且有良好的數(shù)值表現(xiàn),ELM算法隨機(jī)賦予輸入層到隱層的權(quán)值,無(wú)需迭代,因此訓(xùn)練時(shí)間極快.USA算法用最速下降法對(duì)輸入層到隱層的權(quán)值進(jìn)行優(yōu)化,雖訓(xùn)練時(shí)間稍慢,但達(dá)到相同網(wǎng)絡(luò)訓(xùn)練精度所需隱層節(jié)點(diǎn)個(gè)數(shù)要大大少于ELM.
(1)
式中:wi=[wi1,wi2,…,win]T為連接輸入層到隱層第i個(gè)單元之間的權(quán)值;ui=[ui1,ui2,…,uin]T為連接隱層第i個(gè)單元到輸出層之間的權(quán)值;bi為第i個(gè)隱節(jié)點(diǎn)的閾值.
如果這個(gè)網(wǎng)絡(luò)可以零誤差地學(xué)習(xí)這N個(gè)樣本,即
(2)
上式表示成矩陣的形式為:
HU=T,
(3)
式中:H為隱層輸出矩陣[12-13].
(4)
U=H-1T,
(5)
U=H?T,
(6)
式中:H?=(HTH)-1HT.
通過(guò)以上原理,可以看出ELM最大的優(yōu)點(diǎn)在于它無(wú)需迭代,一步就能求出隱層權(quán)值U.
USA算法是文獻(xiàn)[11]中提出的一種算法.下面簡(jiǎn)單介紹其原理.
(7)
然后沿負(fù)梯度方向優(yōu)化W,即
(8)
式中:η為學(xué)習(xí)率.
這樣在每次迭代后只優(yōu)化更新連接輸入層和隱藏層的權(quán)值W,使誤差逐步減小,達(dá)到可接受誤差或最大迭代次數(shù)時(shí)迭代結(jié)束,得到了優(yōu)化的網(wǎng)絡(luò)結(jié)構(gòu).
要想降低網(wǎng)絡(luò)的隱層節(jié)點(diǎn)個(gè)數(shù),一種有效方法就是對(duì)其權(quán)值進(jìn)行優(yōu)化.從最優(yōu)化原理來(lái)說(shuō),優(yōu)化權(quán)值的方法有最速下降法、共軛梯度法、牛頓法等.BP算法就是采用最速下降法達(dá)到優(yōu)化權(quán)值的目的.
共軛梯度法是一類(lèi)效果較好的共軛方向法,最早由Hestenes和Stiefel提出并用于求解線性方程組[14],后來(lái)被Fletcher和Reeves引入求解無(wú)約束最優(yōu)化問(wèn)題[15].共軛梯度法的原理是:在尋優(yōu)過(guò)程中,利用當(dāng)前點(diǎn)xk處的梯度向量g(xk)和前一迭代點(diǎn)xk-1處的搜索方向dk-1對(duì)最速下降方向進(jìn)行如下修正:
dk=-g(xk)+βkdk-1,
(9)
并保證新的搜索方向dk與之前的搜索方向dk-1,dk-2,…,d0之間滿足共軛關(guān)系.其中,修正系數(shù)βk的不同又進(jìn)一步形成了不同的共軛梯度法.
共軛梯度法與最速下降法同樣用到一階導(dǎo)數(shù)信息,但它克服了梯度下降法收斂慢的缺點(diǎn),又避免了牛頓法需要存儲(chǔ)和計(jì)算Hesse矩陣并求逆的缺點(diǎn).其優(yōu)點(diǎn)是所需存儲(chǔ)量小,具有有限步收斂性,穩(wěn)定性高,而且不需要任何外來(lái)參數(shù).
(10)
隱層到輸出層間的權(quán)值矩陣為:
(11)
那么該網(wǎng)絡(luò)的隱層輸出矩陣為:
H=g(WTX),
(12)
式中:g(·)為隱層激活函數(shù),一般選用Sigmoid函數(shù).根據(jù)輸出值是否包含負(fù)值,分為L(zhǎng)og-Sigmoid函數(shù)和Tan-Sigmoid函數(shù),本算法選用函數(shù)值在0~1的簡(jiǎn)單Log-Sigmoid函數(shù),即
(13)
網(wǎng)絡(luò)的輸出層激活函數(shù)為簡(jiǎn)單線性函數(shù),則網(wǎng)絡(luò)的實(shí)際輸出為:
Y=UTH.
(14)
對(duì)于確定網(wǎng)絡(luò)的權(quán)值U,可以將網(wǎng)絡(luò)結(jié)構(gòu)看成一個(gè)線性系統(tǒng),
UTH=T.
(15)
U=(HT)?TT=(HHT)-1HTT.
(16)
由于H=g(WTX),所以隱層到輸出層的權(quán)值U可以看作是輸入層到隱層的權(quán)值W的函數(shù).本算法采用共軛梯度法來(lái)對(duì)輸入層到隱層之間的權(quán)值W進(jìn)行優(yōu)化.網(wǎng)絡(luò)的誤差函數(shù)可以定義為:
(17)
首先求誤差函數(shù)的梯度,由式(14)和式(17)得:
(18)
再將式(16)帶入式(18),得到梯度的計(jì)算公式為:
=2X[HTo(I-H)To[H?(HTT)(TH?-TT(TH?))]],
(19)
式中:
H?=HT(HHT)-1.
(20)
本算法采用F-R共軛梯度法,搜索方向?yàn)椋?/p>
(21)
式中:gk即為第k次迭代的梯度,修正項(xiàng)系數(shù)為:
(22)
從輸入層到隱層的權(quán)值W的更新公式為:
Wk+1=Wk+ηkdk,
(23)
式中:學(xué)習(xí)率ηk通過(guò)線搜索的方式獲得.
將筆者提出的算法與USA算法[11]、ELM算法[4]在3種數(shù)據(jù)庫(kù)上進(jìn)行實(shí)數(shù)值試驗(yàn),驗(yàn)證算法效果.為了公平評(píng)判算法的性能,網(wǎng)絡(luò)的初始權(quán)值均相同,并重復(fù)選取不同的隨機(jī)初始權(quán)值進(jìn)行10次試驗(yàn),從訓(xùn)練及測(cè)試誤差(函數(shù)擬合)或精度(分類(lèi))、訓(xùn)練時(shí)間幾個(gè)方面來(lái)評(píng)價(jià)試驗(yàn)結(jié)果(結(jié)果為平均值).因?yàn)闇y(cè)試時(shí)間僅與隱藏層節(jié)點(diǎn)數(shù)有關(guān),與算法無(wú)關(guān),所以在這里不做比較.
Sin C函數(shù)表達(dá)式為:
(24)
Sin C數(shù)據(jù)的產(chǎn)生方法為在(-10,10)內(nèi)隨機(jī)產(chǎn)生5 000組訓(xùn)練樣本和5 000組測(cè)試樣本.通過(guò)網(wǎng)絡(luò)在訓(xùn)練集及測(cè)試集上的誤差可以衡量網(wǎng)絡(luò)的學(xué)習(xí)能力.
MNIST手寫(xiě)數(shù)字?jǐn)?shù)據(jù)庫(kù)也是一種衡量分類(lèi)算法性能的數(shù)據(jù)庫(kù),它源于美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)局收集的NIST數(shù)據(jù)庫(kù),數(shù)字圖像已被標(biāo)準(zhǔn)化為一張28×28的圖片.該數(shù)據(jù)庫(kù)以矩陣的形式存放,其中每個(gè)樣本即每個(gè)手寫(xiě)數(shù)字都是一個(gè)1×784的向量,向量中的每個(gè)元素都是0~255的數(shù)字,代表的是該像素點(diǎn)的灰度值.MNIST數(shù)據(jù)庫(kù)一共有60 000個(gè)訓(xùn)練樣本和10 000個(gè)測(cè)試樣本.
在Sin C數(shù)據(jù)庫(kù)上的試驗(yàn)選取網(wǎng)絡(luò)的隱層節(jié)點(diǎn)數(shù)為30,在Diabetes數(shù)據(jù)庫(kù)上的試驗(yàn)選取網(wǎng)絡(luò)的隱層節(jié)點(diǎn)數(shù)為150,在這兩個(gè)數(shù)據(jù)庫(kù)上USA和筆者算法的迭代次數(shù)為10次.訓(xùn)練及測(cè)試結(jié)果見(jiàn)表1和表2.可以看出,ELM算法訓(xùn)練時(shí)間最短,符合ELM算法原理.筆者算法在訓(xùn)練時(shí)間與USA 算法相當(dāng)?shù)那闆r下,訓(xùn)練及測(cè)試誤差是3種算法中最小的,精度是3種算法中最高的.
由于MNIST數(shù)據(jù)庫(kù)較大,分別選取隱層節(jié)點(diǎn)個(gè)數(shù)為:64、128、256、512、1 024進(jìn)行試驗(yàn),計(jì)算相應(yīng)的分類(lèi)精度.USA和筆者算法的迭代次數(shù)為15次.訓(xùn)練及測(cè)試結(jié)果見(jiàn)表3.可以看出在時(shí)間上本算法雖然沒(méi)有優(yōu)勢(shì),但是精度相比于其他兩種算法有所提高.
表1 不同算法在Sin C數(shù)據(jù)庫(kù)上的誤差比較
表2 不同算法在Diabetes數(shù)據(jù)庫(kù)上的精度比較
表3 不同算法在MNIST數(shù)據(jù)庫(kù)上的誤差比較
從表3中一方面可以看出,若要達(dá)到相同的測(cè)試精度,如90%,ELM大約需要512個(gè)隱節(jié)點(diǎn),USA算法大約需要128個(gè)隱節(jié)點(diǎn),而筆者算法大約需要90個(gè)隱層節(jié)點(diǎn).說(shuō)明筆者算法在保證相同精度的前提下,可有效地減少了隱層節(jié)點(diǎn)數(shù),簡(jiǎn)化了網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)了網(wǎng)絡(luò)的泛化能力.另一方面,對(duì)于相同的隱層節(jié)點(diǎn)個(gè)數(shù),ELM、USA和筆者算法的測(cè)試精度依次增高,且USA算法和筆者算法的精度均明顯高于ELM算法.說(shuō)明筆者算法在保證訓(xùn)練時(shí)間不是太長(zhǎng)的情況下,有效地優(yōu)化了初始權(quán)值,使網(wǎng)絡(luò)在相同的隱層節(jié)點(diǎn)個(gè)數(shù)下,得到更高的訓(xùn)練精度.
針對(duì)前饋神經(jīng)網(wǎng)絡(luò)中傳統(tǒng)算法所需時(shí)間過(guò)長(zhǎng),而ELM算法所需要的隱層節(jié)點(diǎn)數(shù)過(guò)多的缺陷,筆者算法在保證算法訓(xùn)練速度的前提下,有效提高了網(wǎng)絡(luò)的精度和泛化能力.從各類(lèi)數(shù)據(jù)庫(kù)的試驗(yàn)可以證明,筆者算法是一個(gè)更有效的單隱層前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法.
參考文獻(xiàn):
[1]WERBOS P J. Beyond regression: new tools for prediction and analysis in the behavioral sciences[D]. Harvard University, Cambridge,1974.
[2]HORNIK K. Approximation capabilities of multilayer feedforward networks[J]. Neural networks,1991, 4 (2): 251-257
[3]LESHNO M, LIN V Y, PINKUS A, et al. Multilayer feedforward networks with a nonpolynomial activation function can approximate any function[J]. Neural networks, 1993, 6 (6): 861-867.
[4]HUANG G B, ZHU Q Y, SIEW C K. Extreme learning machine: theory and applications[J]. Neurocomputing, 2006, 70(123): 489-501.
[5]BARTLETT P L. The sample complexity of pattern classification with neural networks: the size of the weights is more important than the size of the network[J]. IEEE trans. Inf. theory, 1998, 44 (2): 525-536.
[6]WIDROW B, GREENBLATT A, KIM Y, et al. The No-Prop algorithm: a new learning algorithm for multilayer neural networks[J]. Neural networks, 2013(37): 182-188.
[7]郝向東, 毛曉波, 梁靜. ELM與Mean Shift相結(jié)合的抗遮擋目標(biāo)跟蹤算法[J]. 鄭州大學(xué)學(xué)報(bào)(工學(xué)版), 2016, 37(1):1-5.
[8]王杰, 萇群康, 彭金柱. 極限學(xué)習(xí)機(jī)優(yōu)化及其擬合性分析[J]. 鄭州大學(xué)學(xué)報(bào)(工學(xué)版), 2016, 37(2):20-24.
[9]鄧萬(wàn)宇, 李力, ?;劬? 基于Spark的并行極速神經(jīng)網(wǎng)絡(luò)[J]. 鄭州大學(xué)學(xué)報(bào)(工學(xué)版), 2016, 37(5):47-56.
[10] ZHU Q Y, QIN A K, SUGANTHAN P N, et al. Evolutionary extreme learning machine[J]. Pattern recognition, 2005, 38(10): 1759-1763.
[11] YU D, DENG L. Efficient and effective algorithms for training single-hidden-layer neural networks[J]. Pattern recognition letters, 2012, 33(5):554-558.
[12] HUANG G B, BABRI H A. Upper bounds on the number of hidden neurons in feedforward networks with arbitrary bounded nonlinear activation functions[J]. IEEE transactions on neural networks,1998, 9 (1): 224-229.
[13] HUANG G B. Learning capability and storage capacity of two hidden-layer feedforward networks[J]. IEEE transactions on neural networks, 2003, 14 (2): 274-281.
[14] ARMIJO L. Minimization of functions having Lipschitz continuous first partial derivatives[J]. Pacific journal of mathematics, 1966(16):1-3.
[15] GOLDSTEIN A. On steepest descent[J]. SIAM journal on control, 1965(3):147-151.