国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于共軛梯度法的廣義單隱層神經(jīng)網(wǎng)絡(luò)

2018-04-13 02:33:21龔曉玲張炳杰柳毓松王延江
鄭州大學學報(工學版) 2018年2期
關(guān)鍵詞:隱層共軛權(quán)值

孫 峰,龔曉玲,張炳杰,柳毓松,王延江

(中國石油大學(華東), 山東 青島 266580)

0 引言

人工神經(jīng)網(wǎng)絡(luò)是一種模仿人腦神經(jīng)元的結(jié)構(gòu)和信息傳遞過程所建立的數(shù)學模型,具有學習、記憶等功能.近三十年來神經(jīng)網(wǎng)絡(luò)得到迅速的發(fā)展并在模式識別等領(lǐng)域有著廣泛的應用,尤其在未來智能化城市發(fā)展中會起到關(guān)鍵作用.其中,應用最廣泛的就是采用了反向傳播(back propagation)學習算法[1]的前饋神經(jīng)網(wǎng)絡(luò),這種網(wǎng)絡(luò)也稱為BP神經(jīng)網(wǎng)絡(luò),自1986年被提出之后,至今仍在神經(jīng)網(wǎng)絡(luò)中占據(jù)重要地位.該網(wǎng)絡(luò)在訓練時信息從前向后逐層傳播,而網(wǎng)絡(luò)中的權(quán)重則通過誤差反向傳播來調(diào)整.這種算法結(jié)構(gòu)簡單且能夠以任意精度逼近任意非線性函數(shù)[2-3],但也存在一些缺陷:由于網(wǎng)絡(luò)收斂速度慢,導致訓練花費時間過長;由于采用梯度下降法易陷入局部極小值;易過擬合訓練使其泛化能力變差等.

為了加快網(wǎng)絡(luò)的訓練速度,黃廣斌等提出了一種針對單隱層前饋神經(jīng)網(wǎng)絡(luò)的快速構(gòu)建與學習算法[4],因其快速特性而稱之為超限學習機(extreme learning machine, ELM).ELM算法的整個學習過程一次完成,使得網(wǎng)絡(luò)訓練大大簡化,運算速度幾十倍甚至幾千倍于BP算法[5-6],ELM在許多領(lǐng)域都取得了突出成果[7-9].雖然網(wǎng)絡(luò)訓練效果很好,但ELM相對于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),需要更多的隱層節(jié)點才能達到同樣的訓練精度[10].由于使用大量隱層節(jié)點,計算工作量會大大增加,特別是樣本超高維時,測試速度明顯變慢;過多的隱層節(jié)點也會使網(wǎng)絡(luò)過擬合而降低泛化能力.

針對ELM存在的問題,文獻[11]提出了用梯度下降法來選擇合適權(quán)值的upper-layer-solution-aware(USA)算法.使用最速下降法來更新從輸入層到隱層的權(quán)值.它與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)的區(qū)別在于是用廣義逆一步得出,相當于傳統(tǒng)BP算法和ELM算法的結(jié)合.與BP神經(jīng)網(wǎng)絡(luò)相比,它的速度大大提高了;與ELM算法相比,它需要的隱層節(jié)點數(shù)減少了.相比于ELM,它在訓練上需要浪費一些時間,但是實際應用中,往往測試時間比訓練時間更加關(guān)鍵,減少隱層節(jié)點數(shù),有利于縮短測試時間,更符合實際工程需要.

筆者借鑒ELM的一次學習思想,提出了一種基于共軛梯度法的快速學習算法,由于共軛梯度法計算復雜度不高于最速下降法,但是收斂速度優(yōu)于最速下降法,使得筆者算法在保持快速這一優(yōu)勢前提下,網(wǎng)絡(luò)訓練精度得到進一步提高.

1 ELM和USA算法描述

在介紹筆者算法前,先簡單介紹一下ELM的基本算法以及ELM算法和BP算法相結(jié)合的USA算法.這兩種算法都應用于單隱層前饋神經(jīng)網(wǎng)絡(luò)且有良好的數(shù)值表現(xiàn),ELM算法隨機賦予輸入層到隱層的權(quán)值,無需迭代,因此訓練時間極快.USA算法用最速下降法對輸入層到隱層的權(quán)值進行優(yōu)化,雖訓練時間稍慢,但達到相同網(wǎng)絡(luò)訓練精度所需隱層節(jié)點個數(shù)要大大少于ELM.

1.1 超限學習機

(1)

式中:wi=[wi1,wi2,…,win]T為連接輸入層到隱層第i個單元之間的權(quán)值;ui=[ui1,ui2,…,uin]T為連接隱層第i個單元到輸出層之間的權(quán)值;bi為第i個隱節(jié)點的閾值.

如果這個網(wǎng)絡(luò)可以零誤差地學習這N個樣本,即

(2)

上式表示成矩陣的形式為:

HU=T,

(3)

式中:H為隱層輸出矩陣[12-13].

(4)

U=H-1T,

(5)

U=H?T,

(6)

式中:H?=(HTH)-1HT.

通過以上原理,可以看出ELM最大的優(yōu)點在于它無需迭代,一步就能求出隱層權(quán)值U.

1.2 最速下降法

USA算法是文獻[11]中提出的一種算法.下面簡單介紹其原理.

(7)

然后沿負梯度方向優(yōu)化W,即

(8)

式中:η為學習率.

這樣在每次迭代后只優(yōu)化更新連接輸入層和隱藏層的權(quán)值W,使誤差逐步減小,達到可接受誤差或最大迭代次數(shù)時迭代結(jié)束,得到了優(yōu)化的網(wǎng)絡(luò)結(jié)構(gòu).

2 筆者工作

要想降低網(wǎng)絡(luò)的隱層節(jié)點個數(shù),一種有效方法就是對其權(quán)值進行優(yōu)化.從最優(yōu)化原理來說,優(yōu)化權(quán)值的方法有最速下降法、共軛梯度法、牛頓法等.BP算法就是采用最速下降法達到優(yōu)化權(quán)值的目的.

2.1 共軛梯度法

共軛梯度法是一類效果較好的共軛方向法,最早由Hestenes和Stiefel提出并用于求解線性方程組[14],后來被Fletcher和Reeves引入求解無約束最優(yōu)化問題[15].共軛梯度法的原理是:在尋優(yōu)過程中,利用當前點xk處的梯度向量g(xk)和前一迭代點xk-1處的搜索方向dk-1對最速下降方向進行如下修正:

dk=-g(xk)+βkdk-1,

(9)

并保證新的搜索方向dk與之前的搜索方向dk-1,dk-2,…,d0之間滿足共軛關(guān)系.其中,修正系數(shù)βk的不同又進一步形成了不同的共軛梯度法.

共軛梯度法與最速下降法同樣用到一階導數(shù)信息,但它克服了梯度下降法收斂慢的缺點,又避免了牛頓法需要存儲和計算Hesse矩陣并求逆的缺點.其優(yōu)點是所需存儲量小,具有有限步收斂性,穩(wěn)定性高,而且不需要任何外來參數(shù).

2.2 筆者算法

(10)

隱層到輸出層間的權(quán)值矩陣為:

(11)

那么該網(wǎng)絡(luò)的隱層輸出矩陣為:

H=g(WTX),

(12)

式中:g(·)為隱層激活函數(shù),一般選用Sigmoid函數(shù).根據(jù)輸出值是否包含負值,分為Log-Sigmoid函數(shù)和Tan-Sigmoid函數(shù),本算法選用函數(shù)值在0~1的簡單Log-Sigmoid函數(shù),即

(13)

網(wǎng)絡(luò)的輸出層激活函數(shù)為簡單線性函數(shù),則網(wǎng)絡(luò)的實際輸出為:

Y=UTH.

(14)

對于確定網(wǎng)絡(luò)的權(quán)值U,可以將網(wǎng)絡(luò)結(jié)構(gòu)看成一個線性系統(tǒng),

UTH=T.

(15)

U=(HT)?TT=(HHT)-1HTT.

(16)

由于H=g(WTX),所以隱層到輸出層的權(quán)值U可以看作是輸入層到隱層的權(quán)值W的函數(shù).本算法采用共軛梯度法來對輸入層到隱層之間的權(quán)值W進行優(yōu)化.網(wǎng)絡(luò)的誤差函數(shù)可以定義為:

(17)

首先求誤差函數(shù)的梯度,由式(14)和式(17)得:

(18)

再將式(16)帶入式(18),得到梯度的計算公式為:

=2X[HTo(I-H)To[H?(HTT)(TH?-TT(TH?))]],

(19)

式中:

H?=HT(HHT)-1.

(20)

本算法采用F-R共軛梯度法,搜索方向為:

(21)

式中:gk即為第k次迭代的梯度,修正項系數(shù)為:

(22)

從輸入層到隱層的權(quán)值W的更新公式為:

Wk+1=Wk+ηkdk,

(23)

式中:學習率ηk通過線搜索的方式獲得.

3 數(shù)值試驗

將筆者提出的算法與USA算法[11]、ELM算法[4]在3種數(shù)據(jù)庫上進行實數(shù)值試驗,驗證算法效果.為了公平評判算法的性能,網(wǎng)絡(luò)的初始權(quán)值均相同,并重復選取不同的隨機初始權(quán)值進行10次試驗,從訓練及測試誤差(函數(shù)擬合)或精度(分類)、訓練時間幾個方面來評價試驗結(jié)果(結(jié)果為平均值).因為測試時間僅與隱藏層節(jié)點數(shù)有關(guān),與算法無關(guān),所以在這里不做比較.

3.1 數(shù)據(jù)庫介紹

Sin C函數(shù)表達式為:

(24)

Sin C數(shù)據(jù)的產(chǎn)生方法為在(-10,10)內(nèi)隨機產(chǎn)生5 000組訓練樣本和5 000組測試樣本.通過網(wǎng)絡(luò)在訓練集及測試集上的誤差可以衡量網(wǎng)絡(luò)的學習能力.

MNIST手寫數(shù)字數(shù)據(jù)庫也是一種衡量分類算法性能的數(shù)據(jù)庫,它源于美國國家標準與技術(shù)局收集的NIST數(shù)據(jù)庫,數(shù)字圖像已被標準化為一張28×28的圖片.該數(shù)據(jù)庫以矩陣的形式存放,其中每個樣本即每個手寫數(shù)字都是一個1×784的向量,向量中的每個元素都是0~255的數(shù)字,代表的是該像素點的灰度值.MNIST數(shù)據(jù)庫一共有60 000個訓練樣本和10 000個測試樣本.

3.2 試驗結(jié)果

在Sin C數(shù)據(jù)庫上的試驗選取網(wǎng)絡(luò)的隱層節(jié)點數(shù)為30,在Diabetes數(shù)據(jù)庫上的試驗選取網(wǎng)絡(luò)的隱層節(jié)點數(shù)為150,在這兩個數(shù)據(jù)庫上USA和筆者算法的迭代次數(shù)為10次.訓練及測試結(jié)果見表1和表2.可以看出,ELM算法訓練時間最短,符合ELM算法原理.筆者算法在訓練時間與USA 算法相當?shù)那闆r下,訓練及測試誤差是3種算法中最小的,精度是3種算法中最高的.

由于MNIST數(shù)據(jù)庫較大,分別選取隱層節(jié)點個數(shù)為:64、128、256、512、1 024進行試驗,計算相應的分類精度.USA和筆者算法的迭代次數(shù)為15次.訓練及測試結(jié)果見表3.可以看出在時間上本算法雖然沒有優(yōu)勢,但是精度相比于其他兩種算法有所提高.

表1 不同算法在Sin C數(shù)據(jù)庫上的誤差比較

表2 不同算法在Diabetes數(shù)據(jù)庫上的精度比較

表3 不同算法在MNIST數(shù)據(jù)庫上的誤差比較

從表3中一方面可以看出,若要達到相同的測試精度,如90%,ELM大約需要512個隱節(jié)點,USA算法大約需要128個隱節(jié)點,而筆者算法大約需要90個隱層節(jié)點.說明筆者算法在保證相同精度的前提下,可有效地減少了隱層節(jié)點數(shù),簡化了網(wǎng)絡(luò)結(jié)構(gòu),增強了網(wǎng)絡(luò)的泛化能力.另一方面,對于相同的隱層節(jié)點個數(shù),ELM、USA和筆者算法的測試精度依次增高,且USA算法和筆者算法的精度均明顯高于ELM算法.說明筆者算法在保證訓練時間不是太長的情況下,有效地優(yōu)化了初始權(quán)值,使網(wǎng)絡(luò)在相同的隱層節(jié)點個數(shù)下,得到更高的訓練精度.

4 結(jié)論

針對前饋神經(jīng)網(wǎng)絡(luò)中傳統(tǒng)算法所需時間過長,而ELM算法所需要的隱層節(jié)點數(shù)過多的缺陷,筆者算法在保證算法訓練速度的前提下,有效提高了網(wǎng)絡(luò)的精度和泛化能力.從各類數(shù)據(jù)庫的試驗可以證明,筆者算法是一個更有效的單隱層前饋神經(jīng)網(wǎng)絡(luò)學習算法.

參考文獻:

[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é)合的抗遮擋目標跟蹤算法[J]. 鄭州大學學報(工學版), 2016, 37(1):1-5.

[8]王杰, 萇群康, 彭金柱. 極限學習機優(yōu)化及其擬合性分析[J]. 鄭州大學學報(工學版), 2016, 37(2):20-24.

[9]鄧萬宇, 李力, ?;劬? 基于Spark的并行極速神經(jīng)網(wǎng)絡(luò)[J]. 鄭州大學學報(工學版), 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.

猜你喜歡
隱層共軛權(quán)值
一種融合時間權(quán)值和用戶行為序列的電影推薦模型
一個帶重啟步的改進PRP型譜共軛梯度法
一個改進的WYL型三項共軛梯度法
CONTENTS
巧用共軛妙解題
一種自適應Dai-Liao共軛梯度法
基于RDPSO結(jié)構(gòu)優(yōu)化的三隱層BP神經(jīng)網(wǎng)絡(luò)水質(zhì)預測模型及應用
人民珠江(2019年4期)2019-04-20 02:32:00
基于權(quán)值動量的RBM加速學習算法研究
自動化學報(2017年7期)2017-04-18 13:41:02
基于近似結(jié)構(gòu)風險的ELM隱層節(jié)點數(shù)優(yōu)化
計算機工程(2014年9期)2014-06-06 10:46:47
最優(yōu)隱層BP神經(jīng)網(wǎng)絡(luò)的滾動軸承故障診斷
门头沟区| 成安县| 景德镇市| 宁陵县| 定西市| 哈尔滨市| 大方县| 额济纳旗| 开平市| 西吉县| 鸡东县| 郓城县| 江永县| 大化| 张家川| 安塞县| 中西区| 读书| 水富县| 延川县| 新津县| 塔河县| 岑巩县| 临泉县| 石嘴山市| 衡南县| 秦皇岛市| 虞城县| 中超| 逊克县| 长寿区| 浑源县| 曲松县| 额敏县| 徐水县| 惠安县| 凤山县| 黔江区| 蒙城县| 凌海市| 天镇县|