黃婷婷 馮 鋒
(寧夏大學信息工程學院 寧夏 銀川 750021)
近年來,前饋神經網絡(FNNs)以其結構的靈活性和良好的表示能力而受到越來越多的關注。前饋神經網絡(FNNs)具有自適應特性和普遍逼近特性,在回歸和分類中得到了廣泛的應用,同時為大量的自然和人為現象提供了研究模型,已經應用于科學研究和工程的各個領域。在傳統的神經網絡理論中,FNNs的所有參數,例如輸入權值、偏置和輸出權值都需要在特定的情況下進行調整,但由于網絡結構的層次性,這一過程復雜并且低效。通常采用基于梯度的優化方法,如反向傳播(BP)算法,但是這種方法通常存在局部極小值、收斂速度慢和學習速度敏感等問題。此外,一些參數,如隱藏節點的數量或學習算法參數,必須手動調整[1-6]。針對這一系列的問題,具有隨機權值的前饋神經網絡(FNNRWs)應運而生。FNNRWs是Schmidt等[7]在1992首次提出的,其中輸入權值和偏置隨機分配,均勻分布在[-1,1]中,輸出權值可以用著名的最小二乘法進行分析確定。許多文獻的仿真研究表明,隨機化模型與完全適應模型相比具有較高的性能,提供了更簡單的實現和更快的訓練速度。
從理論上講,輸入權值和偏置的隨機分配很明顯不能保證全局的逼近能力[8-9]。針對各種各樣的側重點,隨機學習算法層出不窮。例如,文獻[3]提出了一種具有隨機權值的前饋神經網絡迭代學習算法;文獻[6]對隨機權重網絡的稀疏算法及隨機單隱層前饋神經網絡元啟發式優化進行了研究;文獻[9]為了確保普遍逼近性質,針對隨機權值和偏置的約束,推動了神經網絡隨機化方法的發展;文獻[10]對隨機向量函數鏈網絡的分布式學習進行了研究;文獻[11]提出了一種利用隨機權值神經網絡進行魯棒建模的概率學習算法。此外,文獻[12]對于神經網絡的隨機化方法進行了完整的論述。但是,隨著信息技術的不斷發展,數據處在一個爆炸增長的階段。隨之而來的問題就是NNRWs模型中數據樣本或神經網絡隱含層節點的數量變得非常大,從而計算輸出權值的方法非常耗時。針對這個問題,在過去的幾十年里,也有很多關于大規模數據建模問題的研究。文獻[13]描述了如何在大數據集上有效地訓練基于神經網絡的語言模型;文獻[14]介紹了一個用于大規模數據建模和分類的節能框架;文獻[15]分析了一種便于神經網絡大規模建模的種群密度方法;文獻[16]提出了一種用于大規模神經網絡訓練的并行計算平臺;文獻[17]介紹了一種用于大規模神經網絡仿真的多處理機結構。其中處理大規模數據集的最簡單的策略可能是通過子抽樣減少數據集的大小。這種分解方法首先是由Osuna等[18-19]提出的,Lu等[20]也提出過該方法,用于解決模式分類問題。不過本文所采用的對于大規模數據處理的方法與文獻[21-22]提出的貝葉斯委員會支持向量機(Bayesian committee SVM)處理大規模數據的方法類似。這種方法是將數據集劃分為大小相同的子集,并從各個子集派生出一些模型,各個子模型單獨訓練,最后進行匯總得出最終的結論。
本文針對大規模數據集,研究了基于分解技術的具有隨機權值的前饋神經網絡模型。本文主要采用的方法就是將樣本隨機地分為大小相同的小子集,每個子集派生出相對應的子模型。在具有隨機權值的前饋神經網絡中,決定非線性特征映射的隱藏節點的權值和偏差是隨機設置的,不需要學習。選擇適當的區間來選擇權重和偏差是非常重要的。這個話題在很多文獻中還沒有得到充分的探討。本文所采用的方法根據激活函數計算出最優的輸入權值和偏置的取值范圍,每個子模型在該最優取值范圍內初始化相同的輸入權值和閾值,同時采用迭代的方案對輸出權值進行評估。
前饋神經網絡在很多領域都有廣泛的應用,單隱層前饋神經網絡一般描述為:
(1)
式中:x=[x1,x2,…,xn]T∈Rn表示輸入;ωi=[ωi1,ωi2,…,ωin]∈Rn表示輸入權重;bi∈Rn是偏置;g(·)表示激活函數,激活函數一般采用比較常見的Sigmoid函數,如式(2)所示;βi∈R表示輸出權重。前饋神經網絡神經元的數學模型如圖1所示。

圖1 前饋神經網絡神經元的數學模型
s={(xj,tj):xj∈Rn,tj∈R,j=1,2,…,M}為訓練樣本,針對該訓練樣本有Hβ=T,其中:β=[β1,β2,…,βN]T是輸出權重;T=[t1,t2,…,tM]T是目標輸出。并且:
一般情況下,輸入權值和偏置都是隨機分配的,并且ωi~U(ωmin,ωmax),bi~U(bmin,bmax),輸出權值可以通過著名的最小二乘法來確定。
式中:β=(HTH)-1HTT。但最小二乘問題一般是不適定的,可以使用L2正則化方法來解決這類問題:
式中:μ>0是一個正則化因子。如果HTH+μI是可逆的,則式(5)可以寫成:
β=(HTH+μI)-1HTT
(6)
式中:I表示單位矩陣。
針對大規模數據,將樣本隨機分為m個部分,s={s1,s2,…,sm},對于每一個子集si派生出相對應的子模型,初始化相同的輸入權值和偏置,計算隱含層輸出矩陣Hsi,并且使Hsi為正定矩陣。同時,在初始化子模型的過程中,每個子模型的隱含層輸出矩陣Hsi和目標輸出Tsi等相關的參數會確定下來,在后期計算過程中不再發生改變。整體結構如圖2所示。

圖2 整體結構
在本文算法中,激活函數使用最常見的Sigmoid函數,為方便起見,激活函數可以記為:
式中:參數ω是輸入權值,參數b是偏置,根據式(7)可以看出參數b控制g(x)的圖像在x軸上的移動。對激活函數求導如式(8)所示,可以看出當ω>0時,導數也大于零,也就是激活函數g(x)的斜率大于零;同理,當ω<0時,激活函數g(x)的斜率也小于零,所以可以將ω作為g(x)的斜率參數。由圖3可知,當x=0時,g(x)=0.5;x=1時,假設g(x)=r。當r=0.5時,g(x)是最平坦的;當r=0時,g(x)是最陡峭的。可以看出,r控制了激活函數g(x)的陡峭程度。

圖3 激活函數中最平坦的部分
當x=1時,g(x)=r,當偏置b=0時,可以得到:

(9)
通過式(9)得到:
從激活函數的圖像中可以看出,圖像中最平坦的區間在x=1周圍,則:
ω≤-|ω1|或者ω≥|ω1|
(11)
為了更準確地確定參數的范圍,令ω2=s·ω1,其中參數s>1,用來定義最大的輸入權值,也就是激活函數中最陡的部分,則:
ωi∈[-|ω2|,-|ω1|]∪[|ω1|,|ω2|]
(12)
從而得到:
式中:參數s決定了激活函數中最陡的部分,其具體取值通過目標函數來確定。
對于參數b的確定,當x∈[0,1]時,根據圖3可以得到:

(14)
從而可以得到:
b=-ω·x
(15)
對于x=0,可以得到b的第一個邊界b1=0;對于x=1,可以得到b的第二個邊界b2=-ω。可以看出,偏置b是依賴于輸入權重ω的,從而可以得到偏置b的范圍為:
在輸入權值ω和偏置b的隨機確定過程中,最優的確定范圍如式(16)所示。
在輸出權值的確定過程中,隨機初始化輸出矩陣為β(0),分別計算局部梯度為:
和全局梯度:
同時計算出:
式中:Tsi是第i個局部模型的目標輸出。
在進行每次迭代運算時對每個局部模型進行優化:
(20)
為了更好地理解這個局部模型,引入Bregman散度:
Bψ(β,β′)=ψ(β)-ψ(β′)-▽ψ(β′)·(β-β′)
(21)
在本算法中,對于每個fsi(β),有:
式中:σ是正則化參數。其對應的Bregman散度為:
(23)
根據式(23),式(20)可以轉化為:
與此同時,根據泰勒展開式,Bregman散度轉化為:
(β-β(t-1))
(25)
從而,式(20)可以更進一步轉化為:
由上述推導,可以得到最終的輸出權值為:
▽fs(β(t-1))
(27)
本節對本文算法的性能進行了驗證,所有實驗均在MATLAB 7.10.0 (2010a)環境下進行,運行奔騰(R)雙核E5400處理器,速度2.70 GHz,內存2 GB。算法使用的激活函數是Sigmoid函數g(x)=1/(1+e-x)。由于是針對大規模數據的處理,因此,本文采用的數據集是UCI標準數據集中的Statlog數據集、Bank Marketing數據集和Letter Recognition數據集。為驗證算法的有效性,首先將樣本分為m個相等的子集,并對所有樣本進行歸一化處理。在實驗過程中,在計算輸入權重和閾值的過程中選用的參數r=0.1、s=3。采用的正則化參數σ=0.05、學習速率η=10-3、閾值ε=10-3。
表1-表3分別展示了當子集個數m=15時的Statlog數據集、子集個數m=15時的Bank Marketing數據集和子集個數m=10時的Letter Recognition數據集的FNNRWs學習算法和優化后的FNNRWs學習算法的精確度對比。可以看出,隨著樣本的大小或者隱含層節點數量的增大,優化后的FNNRWs學習算法的精確度高于FNNRWs學習算法的精確度。圖4、圖5和圖6從折線圖的角度更直觀地展示了優化后的FNNRWs學習算法的精確度和FNNRWs學習算法的精確度隨著隱含層節點數量的增大,其訓練精度和測試精度的對比,可以非常直觀地看到優化后的FNNRWs學習算法在精確度方面的優勢。圖7通過計算相對誤差,從相對誤差方面展示了優化后的FNNRWs學習算法在三個數據集上的性能優勢。

表1 算法在Statlog數據集上的精度

表2 算法在Bank Marketing數據集上的精度

表3 算法在Letter Recognition數據集上的精度

(a)

(b)圖4 算法在Statlog數據集的訓練精確度和測試精確度對比

圖5 算法在Bank Marketing數據集的訓練精確 度和測試精確度對比

(a)

(b)圖6 算法在Letter Recognition數據集的訓練精確 度和測試精確度對比

(a) Statlog數據集

(b) Bank Marketing數據集

(c) Letter Recognition數據集圖7 算法的誤差對比
本文在具有隨機權值的前饋神經網絡(FNNRWs)的基礎之上,針對大規模數據集,研究基于分解技術的具有隨機權值的前饋神經網絡模型。將樣本分為大小相同的子集,每個子集派生出相應的子模型。本文主要是通過對于三個參數的產生方法的優化來提高整體的性能。在具有隨機權值的前饋神經網絡中,輸入權值和偏置是隨機設置的,不需要學習,選擇適當的區間是非常重要的。本文根據激活函數計算出最優取值范圍,從輸入權值和偏置的取值范圍入手,提高整體性能。同時采用迭代方案克服隨機模型輸出權重評估的困難。在UCI標準數據集上進行了實驗,實驗結果表明了該算法的有效性。