劉威,劉尚,周璇
(遼寧工程技術(shù)大學(xué) 理學(xué)院,遼寧 阜新 123000)
?
BP神經(jīng)網(wǎng)絡(luò)子批量學(xué)習(xí)方法研究
劉威,劉尚,周璇
(遼寧工程技術(shù)大學(xué) 理學(xué)院,遼寧 阜新 123000)
摘要:針對淺層神經(jīng)網(wǎng)絡(luò)全批量學(xué)習(xí)收斂緩慢和單批量學(xué)習(xí)易受隨機(jī)擾動(dòng)的問題,借鑒深度神經(jīng)網(wǎng)基于子批量的訓(xùn)練方法,提出了針對淺層神經(jīng)網(wǎng)絡(luò)的子批量學(xué)習(xí)方法和子批量學(xué)習(xí)參數(shù)優(yōu)化配置方法。數(shù)值實(shí)驗(yàn)結(jié)果表明:淺層神經(jīng)網(wǎng)絡(luò)子批量學(xué)習(xí)方法是一種快速穩(wěn)定的收斂算法,算法中批量和學(xué)習(xí)率等參數(shù)配置對于網(wǎng)絡(luò)的收斂性、收斂時(shí)間和泛化能力有著重要的影響,學(xué)習(xí)參數(shù)經(jīng)優(yōu)化后可大幅縮短網(wǎng)絡(luò)收斂迭代次數(shù)和訓(xùn)練時(shí)間,并提高網(wǎng)絡(luò)分類準(zhǔn)確率。
關(guān)鍵詞:子批量學(xué)習(xí);神經(jīng)網(wǎng)絡(luò);BP算法;批量尺寸;訓(xùn)練方法評估;分類
中文引用格式:劉威,劉尚,周璇. BP神經(jīng)網(wǎng)絡(luò)子批量學(xué)習(xí)方法研究[J]. 智能系統(tǒng)學(xué)報(bào), 2016, 11(2): 226-232.
英文引用格式:LIU Wei, LIU Shang, ZHOU Xuan. Subbatch learning method for BP neural networks[J]. CAAI transactions on intelligent systems, 2016, 11(2): 226-232.
1985年,Rumelhart把BP算法應(yīng)用到神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,提出了著名的“BP神經(jīng)網(wǎng)絡(luò)”。經(jīng)過近30年的發(fā)展,針對經(jīng)典BP算法存在的收斂慢、易陷入局部最優(yōu)和分類泛化能力差等缺點(diǎn),不同學(xué)者提出了很多改進(jìn)學(xué)習(xí)方法。
在神經(jīng)網(wǎng)絡(luò)收斂速度慢的問題上提出的改進(jìn)算法主要分為新型參數(shù)調(diào)整策略和新型學(xué)習(xí)方法兩個(gè)方向。參數(shù)調(diào)整,即學(xué)習(xí)過程中動(dòng)態(tài)地調(diào)整學(xué)習(xí)率、步長等學(xué)習(xí)參數(shù)來加速網(wǎng)絡(luò)訓(xùn)練。主要改進(jìn)方法包括:變學(xué)習(xí)率算法[1]、縮減學(xué)習(xí)率[2]、隨機(jī)調(diào)整學(xué)習(xí)率[3]、彈性BP算法[4]、變梯度算法[5]等。新型學(xué)習(xí)方法主要是在BP算法的基礎(chǔ)上借助優(yōu)化理論和方法來加速網(wǎng)絡(luò)收斂,如動(dòng)量項(xiàng)算法[6]、具有高階收斂特性的限域牛頓算法[7]、LM算法[8]等。在神經(jīng)網(wǎng)絡(luò)應(yīng)用中分類泛化能力差的問題上,提出的改進(jìn)算法主要包括:基于權(quán)值懲罰的方法[9]、GA等仿生優(yōu)化算法和神經(jīng)網(wǎng)絡(luò)復(fù)合訓(xùn)練[10]方法等。以上改進(jìn)方法各有所長,但是在收斂速度和泛化性能之間的平衡性問題上還存在著較大提升空間,尋求收斂速度快、泛化性能高的新型學(xué)習(xí)方法依然是BP神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域中一個(gè)重要問題。
自2006年開始,有著更強(qiáng)表達(dá)能力的深度神經(jīng)網(wǎng)絡(luò)開始流行。由于網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,數(shù)據(jù)規(guī)模大,為保證網(wǎng)絡(luò)收斂和避免內(nèi)存溢出,深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)時(shí)普遍采用子批量學(xué)習(xí)方法。借鑒深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法,本文從學(xué)習(xí)批量的角度來探究批量對于淺層BP神經(jīng)網(wǎng)絡(luò)收斂速度和泛化能力的影響,提出了基于子批量神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,研究了學(xué)習(xí)率和學(xué)習(xí)批量對于網(wǎng)絡(luò)收斂性和收斂速度的影響。
1BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法
BP算法由信號前饋傳遞和誤差反向傳遞兩階段組成。信號前饋傳遞階段,信號從輸入節(jié)點(diǎn)先傳向隱層節(jié)點(diǎn),再傳向輸出層產(chǎn)生輸出信號;誤差反向傳遞階段,依據(jù)標(biāo)簽數(shù)據(jù)和網(wǎng)絡(luò)輸出之間的誤差,把誤差逐層向前傳播來調(diào)節(jié)網(wǎng)絡(luò)權(quán)值,通過權(quán)值的不斷修正使網(wǎng)絡(luò)的實(shí)際輸出更接近期望輸出。網(wǎng)絡(luò)訓(xùn)練過程中,根據(jù)權(quán)值更新執(zhí)行方式的不同,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法可分為全批量學(xué)習(xí)(Off-line learning)和單批量學(xué)習(xí)(On-line learning)兩種方法[11]。
設(shè)網(wǎng)絡(luò)輸入為x,輸出為f(x),樣本標(biāo)簽為y;訓(xùn)練樣本總數(shù)為m,樣本均值誤差為E,連接權(quán)值為ω,學(xué)習(xí)率為α,則BP學(xué)習(xí)算法描述如下。
1.1單批量學(xué)習(xí)
單批量學(xué)習(xí)過程要求每個(gè)訓(xùn)練樣本呈現(xiàn)給網(wǎng)絡(luò)之后即刻更新權(quán)值,網(wǎng)絡(luò)完成一次迭代,權(quán)值更新m次,主要算法步驟如下:
1)初始化網(wǎng)絡(luò)結(jié)構(gòu),隨機(jī)初始化網(wǎng)絡(luò)權(quán)值。
2)計(jì)算網(wǎng)絡(luò)單個(gè)樣本誤差ei:
(1)
3)單個(gè)樣本內(nèi)修正網(wǎng)絡(luò)權(quán)值:
(2)
4)計(jì)算所有樣本的均方誤差:
(3)
5)根據(jù)誤差結(jié)果和迭代次數(shù)進(jìn)行判斷是否達(dá)到收斂要求,若達(dá)到要求則網(wǎng)絡(luò)完成訓(xùn)練,否則循環(huán)2)~4)。
1.2全批量學(xué)習(xí)
全批量是在所有訓(xùn)練樣本都呈現(xiàn)給神經(jīng)網(wǎng)絡(luò)之后,通過全樣本的梯度均值來更新權(quán)值,網(wǎng)絡(luò)完成一次迭代,權(quán)值只更新一次,主要算法步驟如下:
1)初始化網(wǎng)絡(luò)結(jié)構(gòu),隨機(jī)初始化網(wǎng)絡(luò)權(quán)值。
2)計(jì)算網(wǎng)絡(luò)批量均值誤差:
(4)
3)批量內(nèi)修正網(wǎng)絡(luò)權(quán)值:
(5)
4)根據(jù)均方誤差和迭代次數(shù)進(jìn)行判斷是否達(dá)到收斂要求,若達(dá)到要求則網(wǎng)絡(luò)完成訓(xùn)練,否則循環(huán)2)~3)。
2子批量學(xué)習(xí)方法及參數(shù)配置
單批量學(xué)習(xí)方法網(wǎng)絡(luò)完成一次迭代,權(quán)值更新m次,其優(yōu)勢是:能夠從冗余性中獲益,可以跟蹤訓(xùn)練數(shù)據(jù)較小的改變;每次迭代權(quán)值更新次數(shù)多,收斂速度快。缺點(diǎn)在于:每個(gè)樣本都需要完成一次權(quán)值更新計(jì)算2)~3),導(dǎo)致網(wǎng)絡(luò)每次迭代計(jì)算時(shí)間較長,收斂時(shí)間較長;此外由于數(shù)據(jù)間的差異性和噪點(diǎn)的影響,導(dǎo)致權(quán)值更新時(shí)存在權(quán)值擾動(dòng),容易引起網(wǎng)絡(luò)波動(dòng),不利于網(wǎng)絡(luò)收斂。
全批量學(xué)習(xí)方法網(wǎng)絡(luò)完成一次迭代,權(quán)值只更新一次,這樣通過平均權(quán)值修正處理,具有對訓(xùn)練數(shù)據(jù)低通濾波的作用,避免由于數(shù)據(jù)間差異和噪點(diǎn)引起的權(quán)值擾動(dòng);其次全批量可以通過矢量化編程,借助矩陣運(yùn)算的優(yōu)勢,來提升計(jì)算速度,每次迭代時(shí)間短。缺點(diǎn)在于全批量均值處理使梯度誤差較小,網(wǎng)絡(luò)收斂緩慢,且矢量化編程計(jì)算,對于內(nèi)存要求高。
2.1子批量學(xué)習(xí)方法
對比全批量和單批量學(xué)習(xí)方法,全批量學(xué)習(xí)具有計(jì)算快速穩(wěn)定的優(yōu)點(diǎn),缺點(diǎn)是對于內(nèi)存需求大,收斂緩慢;單批量學(xué)習(xí)具有收斂快速、能夠跟蹤數(shù)據(jù)變化的優(yōu)點(diǎn),缺點(diǎn)是存在擾動(dòng)、訓(xùn)練時(shí)間長。綜合全批量和單批量的優(yōu)缺點(diǎn),本文提出了淺層神經(jīng)網(wǎng)絡(luò)子批量學(xué)習(xí)方法。
子批量學(xué)習(xí)方法介于單批量和全批量之間,計(jì)算過程中首先將訓(xùn)練樣本平均分成多個(gè)子批量,在每個(gè)子批量內(nèi)進(jìn)行全批量網(wǎng)絡(luò)權(quán)值更新,即每個(gè)子批量呈現(xiàn)給網(wǎng)絡(luò)后進(jìn)行權(quán)值更新,每次迭代計(jì)算權(quán)值更新多次。主要算法流程圖如圖1所示。
子批量學(xué)習(xí)是在子批量內(nèi)更新網(wǎng)絡(luò)權(quán)值,每次迭代權(quán)值進(jìn)行多次更新,這樣子批量內(nèi)更新權(quán)值可以借助矢量化編程來加速迭代計(jì)算且對內(nèi)存需求較小,其次可以在均值平滑濾波和權(quán)值擾動(dòng)之間達(dá)到一種平衡。因此,子批量學(xué)習(xí)既具有全批量學(xué)習(xí)通過平均處理、濾波平穩(wěn)的優(yōu)勢,又融合了單批量學(xué)習(xí)更新次數(shù)多、收斂快的特點(diǎn),同時(shí)克服了全批量平均處理后網(wǎng)絡(luò)收斂緩慢、內(nèi)存需求高和單批量學(xué)習(xí)網(wǎng)絡(luò)波動(dòng)的缺點(diǎn)。
2.2子批量學(xué)習(xí)參數(shù)配置研究
由式(2)和式(5)可以看出,網(wǎng)絡(luò)權(quán)值的更新量由學(xué)習(xí)率和梯度共同決定,所以學(xué)習(xí)率對于網(wǎng)絡(luò)的收斂速度有著關(guān)鍵性的影響,通過調(diào)整學(xué)習(xí)率可以調(diào)節(jié)網(wǎng)絡(luò)權(quán)值的更新程度,在訓(xùn)練過程中,學(xué)習(xí)率過大會(huì)導(dǎo)致學(xué)習(xí)過程震蕩,網(wǎng)絡(luò)收斂困難,學(xué)習(xí)率過小,導(dǎo)致網(wǎng)絡(luò)收斂緩慢,迭代時(shí)間長。因此經(jīng)常調(diào)整學(xué)習(xí)率來加速網(wǎng)絡(luò)訓(xùn)練。
子批量學(xué)習(xí)方法中,子批量學(xué)習(xí)使網(wǎng)絡(luò)權(quán)值更新在均值平滑濾波和擾動(dòng)之間達(dá)到一種平衡,不同的批量在均值平滑濾波和擾動(dòng)之間有所側(cè)重,小批量更側(cè)重于增大擾動(dòng)影響,大批量更側(cè)重于加強(qiáng)均值平滑濾波效果,網(wǎng)絡(luò)學(xué)習(xí)率會(huì)放大或縮小這種側(cè)重,所以批量和學(xué)習(xí)率的配置,對于網(wǎng)絡(luò)的收斂性和訓(xùn)練時(shí)間有著重要的影響。
3數(shù)值實(shí)驗(yàn)
本文以具有代表性的Seeds[12]、Waveform[13]和Music[14]分類數(shù)據(jù)集為實(shí)驗(yàn)對象,通過實(shí)驗(yàn),比較單批量、全批量和子批量學(xué)習(xí)方法收斂速度,揭示子批量和學(xué)習(xí)率對網(wǎng)絡(luò)收斂速度、訓(xùn)練時(shí)間和分類泛化能力的影響。
3.1Seeds數(shù)據(jù)集分類實(shí)驗(yàn)
Seeds數(shù)據(jù)集是由UCI提供的用于分類算法測試的實(shí)驗(yàn)數(shù)據(jù)集之一,該數(shù)據(jù)記錄了3類種子的7種特征數(shù)據(jù),總計(jì)210個(gè)樣本。實(shí)驗(yàn)從3個(gè)類別中分別隨機(jī)抽取36個(gè)樣本組成訓(xùn)練集,剩余樣本組成測試集。網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù)設(shè)置為10,選取批量s為1、4、9、18、54、108,其中s=1為單批量學(xué)習(xí),s=108為全批量學(xué)習(xí),中間為不同批量大小的子批量學(xué)習(xí)方法,在相同網(wǎng)絡(luò)初始權(quán)值下取20次實(shí)驗(yàn)的平均結(jié)果作為討論對象。
3.1.1不同批量收斂性研究
為了探究批量對于網(wǎng)絡(luò)收斂性的影響,實(shí)驗(yàn)在迭代5 000次情況下,不同批量網(wǎng)絡(luò)性如圖2所示。

圖2 Seeds數(shù)據(jù)集不同批量下均值誤差Fig.2 MSE of seeds under different batch size
由圖2,在相同的學(xué)習(xí)率情況下,批量越小,均值誤差收斂越快,收斂所需要的迭代次數(shù)越小,但較小的批量,導(dǎo)致網(wǎng)絡(luò)波動(dòng)較大,存在隨機(jī)擾動(dòng),如圖2中下方s=18,s=4時(shí)的曲線,誤差曲線波動(dòng)收斂;隨著批量增大,均值誤差收斂曲線擾動(dòng)逐漸減小,收斂曲線逐漸平滑,這說明均值誤差梯度起到了平滑濾波的效果;但誤差曲線緩慢收斂,收斂所需要的迭代次數(shù)較大,如圖2中上方s=54,s=108時(shí)的曲線。
3.1.2Seeds數(shù)據(jù)集迭代次數(shù)比較分析
學(xué)習(xí)率是影響網(wǎng)絡(luò)收斂性和訓(xùn)練時(shí)間的關(guān)鍵因素,在上述實(shí)驗(yàn)基礎(chǔ)上,實(shí)驗(yàn)以E=0.005為收斂目標(biāo),迭代5 000次,分別在α=7、5、3、1、0.5、0.1、0.01總計(jì)7個(gè)不同的學(xué)習(xí)率下,測試不同學(xué)習(xí)率和批量對于網(wǎng)絡(luò)迭代次數(shù)(圖3)、訓(xùn)練時(shí)間(表1)和分類錯(cuò)誤率(圖4)的影響。(實(shí)驗(yàn)驗(yàn)證在E=0.01時(shí)存在欠擬合,在E=0.001和E=0.000 5時(shí)存在過擬合。)
1) 依據(jù)圖3,學(xué)習(xí)率相同時(shí),網(wǎng)絡(luò)首先在小批量上達(dá)到收斂,之后逐漸在所有批量上都達(dá)到收斂,隨著批量增加,在不引起較大波動(dòng)的情況下,網(wǎng)絡(luò)收斂所需的迭代次數(shù)也逐漸增加,說明小批量對比大批量學(xué)習(xí)具有較快的收斂速度。
2) 當(dāng)學(xué)習(xí)率過大,批量較小時(shí),會(huì)引起網(wǎng)絡(luò)波動(dòng),從而導(dǎo)致收斂迭代次數(shù)增大,如α=7,s=1時(shí),迭代2 500次才收斂,而批量較大時(shí)則不會(huì)引起波動(dòng)現(xiàn)象,說明大批量具有一定的穩(wěn)定性,可以使網(wǎng)絡(luò)平穩(wěn)收斂。

圖3 Seeds數(shù)據(jù)集不同批量下均值誤差Fig.3 MSE of seeds under different batch size
這是由于數(shù)據(jù)之間即存在相似性又存在差異性所造成的,在利用子批量進(jìn)行訓(xùn)練時(shí),由于每個(gè)批量的數(shù)據(jù)樣本都不同,當(dāng)批量較小時(shí),這種數(shù)據(jù)差異性凸顯,所以每次迭代更新權(quán)值會(huì)有差別,即引起權(quán)值擾動(dòng);當(dāng)學(xué)習(xí)率較小時(shí),由于每次迭代的步長較小,這種擾動(dòng)有利于網(wǎng)絡(luò)探索到更小的均值誤差值。其次,小批量下每次迭代,權(quán)值更新次數(shù)多,所以網(wǎng)絡(luò)收斂迅速,但當(dāng)學(xué)習(xí)率較大時(shí),由于每次迭代步長較大,會(huì)導(dǎo)致這種數(shù)據(jù)擾動(dòng)增大,從而造成矯枉過正,導(dǎo)致在大的學(xué)習(xí)率下,小批量學(xué)習(xí)使網(wǎng)絡(luò)很難收斂。當(dāng)批量較大時(shí),梯度誤差通過批量均值后,會(huì)產(chǎn)生類似平滑濾波的效果,這種平滑的效果抑制或減弱數(shù)據(jù)的差異性,凸顯數(shù)據(jù)的相似性;隨著批量的增大,這種平滑效果也增大,導(dǎo)致梯度誤差和步長逐漸減小,使網(wǎng)絡(luò)緩慢平穩(wěn)收斂;所以當(dāng)學(xué)習(xí)率較大時(shí),大的批量依然能夠確保網(wǎng)絡(luò)快速穩(wěn)定收斂,而不會(huì)引起網(wǎng)絡(luò)發(fā)散。
所以選擇適合的批量大小,會(huì)在數(shù)據(jù)的相似性和差異性,以及擾動(dòng)和平滑之間達(dá)到一種平衡效果,適度利用擾動(dòng)和平滑,保證在平穩(wěn)的前提下,使網(wǎng)絡(luò)最快達(dá)到收斂。
3.1.3Seeds數(shù)據(jù)集訓(xùn)練時(shí)間分析
1) 依據(jù)表1,當(dāng)學(xué)習(xí)率過小,如α=0.01時(shí),網(wǎng)絡(luò)收斂速度較慢,導(dǎo)致網(wǎng)絡(luò)在s>1時(shí),迭代5 000次的情況下都未達(dá)到收斂,但在迭代次數(shù)相同的情況下,隨著批量的增大,憑借矩陣運(yùn)算快速的優(yōu)勢,網(wǎng)絡(luò)訓(xùn)練時(shí)間呈指數(shù)級減小,所以子批量學(xué)習(xí)可以大幅減少每次迭代計(jì)算時(shí)間。
2) 相同批量下,網(wǎng)絡(luò)收斂時(shí)間并沒有隨著學(xué)習(xí)率的增大而逐漸減小。當(dāng)批量s<18時(shí),隨著學(xué)習(xí)率的增大,網(wǎng)絡(luò)的收斂時(shí)間呈現(xiàn)先減小后增大的趨勢,這是由于小批量下存在誤差權(quán)值的擾動(dòng),在小的學(xué)習(xí)率下這種擾動(dòng)有利于網(wǎng)絡(luò)學(xué)習(xí),但這種擾動(dòng)隨著學(xué)習(xí)率的增大,導(dǎo)致每次批量更新權(quán)值過度擾動(dòng),從而使網(wǎng)絡(luò)收斂困難,收斂所需迭代次數(shù)增多,網(wǎng)絡(luò)訓(xùn)練時(shí)間增加。
3) 相同學(xué)習(xí)率下,隨著批量的增大,網(wǎng)絡(luò)的訓(xùn)練時(shí)間也呈現(xiàn)先減小后增大的趨勢,這是由于隨著批量的增大,基于均值的權(quán)值更新方法逐漸抑制擾動(dòng)的同時(shí),平滑濾波效果也逐漸增強(qiáng),適合的批量,使擾動(dòng)抑制和平滑效果最佳,使網(wǎng)絡(luò)最快收斂。
表1Seeds數(shù)據(jù)集不同學(xué)習(xí)率和批量的訓(xùn)練時(shí)間
Table 1Training time of seeds under different learning rates and batch size

α12491827541080.0186.7550.1125.7812.216.744.822.922.030.110.8311.3511.3911.006.914.983.002.100.52.132.042.122.242.502.762.681.9511.191.021.001.071.181.261.541.8431.150.520.370.410.420.430.520.7253.550.490.240.240.200.220.260.37748.390.760.270.200.230.190.220.33
3.1.4Seeds數(shù)據(jù)集錯(cuò)誤率分析
依據(jù)圖4,忽略α=0.01時(shí),網(wǎng)絡(luò)不收斂的情況,相同學(xué)習(xí)率下,批量對于網(wǎng)絡(luò)的分類泛化能力,有著一定的影響。綜合不同學(xué)習(xí)率,錯(cuò)誤率在批量較小時(shí)波動(dòng)較大,批量較大時(shí),錯(cuò)誤率波動(dòng)較小。這是由于批量較小時(shí),權(quán)值更新擾動(dòng)明顯,這種擾動(dòng)可以使網(wǎng)絡(luò)探索更多的權(quán)值空間,隨著批量的增大,權(quán)值擾動(dòng)逐漸被抑制,所以批量較小時(shí)網(wǎng)絡(luò)錯(cuò)誤率波動(dòng)較大,批量較大時(shí)網(wǎng)絡(luò)錯(cuò)誤率波動(dòng)較小。對比不同學(xué)習(xí)率下最小錯(cuò)誤率,發(fā)現(xiàn)不同的學(xué)習(xí)率對應(yīng)不同的最優(yōu)批量,對應(yīng)關(guān)系如表2所示。

圖4 Seeds數(shù)據(jù)集不同學(xué)習(xí)率和批量下錯(cuò)誤率Fig.4 Error rates of seeds under different learning rates and batch size
Table 2Min error rates and its correspondence batch size of seeds under different learning rates

學(xué)習(xí)率0.010.10.51357最優(yōu)批量124910854,10854錯(cuò)誤率/%6.765.055.786.185.205.835.44
依據(jù)表2,隨著學(xué)習(xí)率的增大,網(wǎng)絡(luò)對應(yīng)的最優(yōu)批量也隨之增大,對比小批量下的錯(cuò)誤率,網(wǎng)絡(luò)在較大的批量處取得較小的分類錯(cuò)誤率,這是由于Seeds數(shù)據(jù)集數(shù)據(jù)之間的相似性較高,在大的批量下平滑濾波更適合相似性較高數(shù)據(jù)集,小批量下的隨機(jī)擾動(dòng)則不適合數(shù)據(jù)相似性較高的數(shù)據(jù)集。
3.2Music分類實(shí)驗(yàn)
Music數(shù)據(jù)集通過倒譜系數(shù)法提取4種音樂類型總計(jì)500組24維的音素特征。實(shí)驗(yàn)在每類音樂隨機(jī)抽取250個(gè)樣本作為訓(xùn)練集,剩余樣本為訓(xùn)練集。網(wǎng)絡(luò)隱層節(jié)點(diǎn)為50,E=0.001,迭代5 000次,選取批量s為1、2、5、10、20、50、100、250、500、1 000,相同條件下,取20次實(shí)驗(yàn)的平均結(jié)果作為討論對象,來測試學(xué)習(xí)率和批量對于網(wǎng)絡(luò)迭代次數(shù)(圖5)、訓(xùn)練時(shí)間(表3)和分類錯(cuò)誤率(圖6)的影響。
表3Music數(shù)據(jù)集不同學(xué)習(xí)率和批量的訓(xùn)練時(shí)間
Table 3Training time of music under different learning rates and batch size

α12510205010025050010000.0188071237520412888573429270.139922513610910988583429270.53971075135313945342927161316082463333313128253164069486847913212651700843168691721161416209169584333412019411131115
3.2.1Music數(shù)據(jù)集迭代次數(shù)比較
對比圖5和圖3可知,批量對Music數(shù)據(jù)集收斂迭代次數(shù)影響較大,隨著批量增加,網(wǎng)絡(luò)迭代次數(shù)呈現(xiàn)指數(shù)級別的先減小后增大的趨勢。這是由于Music數(shù)據(jù)集樣本容量大,數(shù)據(jù)間差異較大。相比Seeds數(shù)據(jù)集,當(dāng)采用小批量訓(xùn)練時(shí),批量間的權(quán)值更新擾動(dòng)較大,由于隨著學(xué)習(xí)率的增加,會(huì)放大這種擾動(dòng),所以Music數(shù)據(jù)集隨著批量的變化,網(wǎng)絡(luò)收斂所需的迭代次數(shù)呈現(xiàn)指數(shù)級別的減小。

圖5 Music數(shù)據(jù)集不同學(xué)習(xí)率和批量下的迭代次數(shù)Fig.5 Converge epochs of music under different learning rates and batch size
由于Music數(shù)據(jù)集訓(xùn)練樣本個(gè)數(shù)較多,隨著批量的增加,會(huì)造成平滑過渡現(xiàn)象,使均值誤差過小,從而使誤差梯度較小,導(dǎo)致網(wǎng)絡(luò)收斂緩慢,造成大批量訓(xùn)練網(wǎng)絡(luò)需要較多的迭代次數(shù)。
3.2.2Music數(shù)據(jù)集訓(xùn)練時(shí)間比較
依據(jù)表3,在收斂的條件下,批量對于Music數(shù)據(jù)集的訓(xùn)練時(shí)間影響較大,如最長收斂時(shí)間為880 s,最短收斂時(shí)間僅為4 s,差異較大。在相同學(xué)習(xí)率下隨著批量的增加,訓(xùn)練時(shí)間呈現(xiàn)先減小后增大的趨勢。相同批量下,隨著學(xué)習(xí)率的增大,訓(xùn)練時(shí)間也呈現(xiàn)先減小后增大的趨勢。這是由于批量學(xué)習(xí)可以通過矢量化編程來借助矩陣運(yùn)算的優(yōu)勢來加快計(jì)算時(shí)間,而且批量越大,這種優(yōu)勢越明顯,每次迭代所需的時(shí)間越小。但較大的批量會(huì)造成一定程度的過平滑,使網(wǎng)絡(luò)收斂所需迭代次數(shù)增加,所以選擇適合的批量,不但可以利用矩陣計(jì)算的優(yōu)勢,還不會(huì)導(dǎo)致過度平滑,從而大幅縮短網(wǎng)絡(luò)訓(xùn)練時(shí)間。
3.2.3Music數(shù)據(jù)集分類準(zhǔn)確率比較
首先依據(jù)圖5,在批量小、學(xué)習(xí)率大和批量大、學(xué)習(xí)率小的情況下網(wǎng)絡(luò)不收斂,所以圖6中網(wǎng)絡(luò)未收斂時(shí)分類錯(cuò)誤率較大。

圖6 Music數(shù)據(jù)集不同學(xué)習(xí)率和批量下的錯(cuò)誤率Fig.6 Error rates of music under different learning rates and batch size
在收斂的條件下,不同學(xué)習(xí)率和不同批量的分類效果存在一定的差別。對比圖6和圖4,Seeds數(shù)據(jù)集中大批量對應(yīng)較小的分類錯(cuò)誤率,而Music中小批量下取得較小的錯(cuò)誤率,這是由于Music數(shù)據(jù)集中數(shù)據(jù)之間差異較大,而這種差異性導(dǎo)致分類錯(cuò)誤率整體比Seeds數(shù)據(jù)集高,為了適應(yīng)數(shù)據(jù)間的這種差異,需要探索更多的空間,而小批量下的隨機(jī)擾動(dòng),可以使網(wǎng)絡(luò)探索更多的空間,從而找到泛化能力更好的空間,提升網(wǎng)絡(luò)的分類能力。所以對于Music這種數(shù)據(jù)間差異較大的數(shù)據(jù)集,在不考慮訓(xùn)練時(shí)間和迭代速度的情況下,使用小批量訓(xùn)練網(wǎng)絡(luò)具有更好的泛化能力。
3.3 Waveform分類實(shí)驗(yàn)
Waveform數(shù)據(jù)集由UCI提供的用于分類算法測試的實(shí)驗(yàn)數(shù)據(jù)集之一,該數(shù)據(jù)集包含5 000個(gè)樣本的3分類數(shù)據(jù)集,實(shí)驗(yàn)在每個(gè)類別中隨機(jī)抽取1 000個(gè)樣本作為訓(xùn)練集,剩余2 000個(gè)樣本為訓(xùn)練集。網(wǎng)絡(luò)隱層節(jié)點(diǎn)為50,E=0.005,迭代8 000次,選取批量s為5、15、30、75、150、300、750、1 500、3 000,相同條件下,取10次實(shí)驗(yàn)的平均結(jié)果作為討論對象,來測試學(xué)習(xí)率和批量對于訓(xùn)練時(shí)間(表3)和分類錯(cuò)誤率(圖6)的影響。
3.3.1Waveform數(shù)據(jù)集訓(xùn)練時(shí)間比較
依據(jù)表4中不同學(xué)習(xí)率和批量下的網(wǎng)絡(luò)訓(xùn)練時(shí)間,學(xué)習(xí)批量對Waveform數(shù)據(jù)集網(wǎng)絡(luò)的收斂時(shí)間影響較大,說明批量和學(xué)習(xí)率可大幅減小大數(shù)據(jù)網(wǎng)絡(luò)的訓(xùn)練時(shí)間。
表4Waveform數(shù)據(jù)集不同學(xué)習(xí)率和批量的訓(xùn)練時(shí)間
Table 4Training time of Waveform under different learning rates and batch size

α5153075150300750150030000.018187.0105.182.961.450.340.539.637.50.0515522.525.240.953.547.837.835.732.80.1110914.112.919.728.837.739.036.333.40.51101307.4150.77.412.412.823.833.735.111173325.2160.165.414.07.721.724.429.931312342.4166.484.660.950.039.838.134.974009428.0193.090.164.052.441.539.135.0
綜合對比表1、3、4可發(fā)現(xiàn)學(xué)習(xí)率和訓(xùn)練批量對于網(wǎng)絡(luò)的收斂性、收斂時(shí)間具有如下規(guī)律:
1)固定迭代次數(shù)下,當(dāng)學(xué)習(xí)率小、批量大和學(xué)習(xí)率大、批量小的情況下,網(wǎng)絡(luò)不收斂。前者是由于擾動(dòng)較大導(dǎo)致網(wǎng)絡(luò)不容易收斂造成,后者是由于過渡平滑導(dǎo)致網(wǎng)絡(luò)收斂緩慢引起。
2)在收斂的情況下,批量保持穩(wěn)定時(shí),隨著學(xué)習(xí)率的增大,網(wǎng)絡(luò)訓(xùn)練時(shí)間呈現(xiàn)先減小后增大的趨勢;學(xué)習(xí)率保持穩(wěn)定時(shí),隨著批量的逐漸增大,網(wǎng)絡(luò)訓(xùn)練時(shí)間也呈現(xiàn)先減小后增大的趨勢。
3)選擇最優(yōu)的批量和學(xué)習(xí)率組合可以成倍地減小網(wǎng)絡(luò)訓(xùn)練時(shí)間,而且數(shù)據(jù)集越大批量對網(wǎng)絡(luò)收斂時(shí)間的影響越關(guān)鍵。
3.3.2Waveform數(shù)據(jù)集分類準(zhǔn)確率比較
依據(jù)圖7在收斂的條件下,不同學(xué)習(xí)率和批量的分類效果存在一定的差別,但差異較小。小批量和大批量下的網(wǎng)絡(luò)分類誤差結(jié)果相似,說明批量對于Waveform數(shù)據(jù)集網(wǎng)絡(luò)的分類泛化能力影響較小。

圖7 Music數(shù)據(jù)集不同學(xué)習(xí)率和批量下的錯(cuò)誤率Fig.7 Error rates of Waveform under different learning rates and batch size
綜合對比圖4、6、7可發(fā)現(xiàn)批量對網(wǎng)絡(luò)的分類泛化能力存在一定的影響,選擇理想的批量和學(xué)習(xí)率組合,能夠獲得較好分類錯(cuò)誤率,但其影響相對較小,在收斂的情況下,不同批量下的分類錯(cuò)誤率相近。
從批量對于網(wǎng)絡(luò)迭代次數(shù)和訓(xùn)練時(shí)間的影響角度來看,批量對于網(wǎng)絡(luò)分類泛化能力的影響較弱,網(wǎng)絡(luò)的泛化能力和數(shù)據(jù)集本身性質(zhì)有較大關(guān)系,而批量主要影響網(wǎng)絡(luò)的迭代次數(shù)和訓(xùn)練時(shí)間。
4結(jié)論
本文基于BP神經(jīng)網(wǎng)絡(luò)全批量和單批量學(xué)習(xí)方法,研究了子批量的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,并探討了學(xué)習(xí)率和批量對于網(wǎng)絡(luò)收斂性和訓(xùn)練時(shí)間的影響,通過實(shí)驗(yàn)證明:1)子批量學(xué)習(xí)方法具有全批量穩(wěn)定和單批量快速的優(yōu)點(diǎn);2)不同的學(xué)習(xí)率下存在不同的最優(yōu)批量;3)選擇適合的批量,不僅可以大幅縮短網(wǎng)絡(luò)訓(xùn)練時(shí)間,同時(shí)還能夠取得更好的分類準(zhǔn)確率。
參考文獻(xiàn):
[1]JACOBS R A. Increased rates of convergence through learning rate adaptation[J]. Neural networks, 1988, 1(4): 295-307.
[2]劉幺和, 陳睿, 彭偉, 等. 一種BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率的優(yōu)化設(shè)計(jì)[J]. 湖北工業(yè)大學(xué)學(xué)報(bào), 2007, 22(3): 1-3.
LIU Yaohe, CHEN Rui, PENG Wei. Optimal design for learning rate of BP neutral network[J]. Journal of Hubei university of technology, 2007, 22(3): 1-3.
[3]賈立山, 談至明, 王知. 基于隨機(jī)參數(shù)調(diào)整的改進(jìn)反向傳播學(xué)習(xí)算法[J]. 同濟(jì)大學(xué)學(xué)報(bào):自然科學(xué)版, 2011, 39(5): 751-757.
JIA Lishan, TAN Zhiming, WANG Zhi. Modified BP algorithm based on random adjustment of parameters[J]. Journal of Tongji university (natural science), 2011, 39(5): 751-757.
[4]RIEDMILLER M, BRAUN H. RPROP-A fast adaptive learning algorithm[C]//Proceedings of the International Symposium on Computer and Information Sciences (ISCIS VII).Ankara, Turkey, 1992.
[5]CHARALAMBOUS C. Conjugate gradient algorithm for efficient training of artificial neural networks[J]. Devices and systems, IEE proceedings G-Circuits, 1992, 139(3): 301-310.
[6]VOGL T P, MANGIS J K, RIGLER A K, et al. Accelerating the convergence of the back-propagation method[J]. Biological cybernetics, 1988, 59(4/5): 257-263.
[7]DENNIS J E Jr, SCHNABEL R B. Numerical methods for unconstrained optimization and nonlinear equations[M]. Philadelphia, USA: SIAM, 1996.
[8]MOR J J. The Levenberg-Marquardt algorithm: implementation and theory[M]//WATSON G A. Numerical Analysis. Berlin Heidelberg: Springer, 1978: 105-116.
[9]侯祥林, 陳長征, 虞和濟(jì), 等. 神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的優(yōu)化方法[J]. 東北大學(xué)學(xué)報(bào):自然科學(xué)版, 1999, 20(4): 447-450.
HOU Xianglin, CHEN Changzheng, YU Heji, et al. Optimum method about weights and thresholds of neural network[J]. Journal of northeastern university: natural science, 1999, 20(4): 447-450.
[10]劉奕君, 趙強(qiáng), 郝文利. 基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的瓦斯?jié)舛阮A(yù)測研究[J]. 礦業(yè)安全與環(huán)保, 2015, 42(2): 56-60.
LIU Yijun, ZHAO Qiang, HAO Wenli. Study of gas concentration prediction based on genetic algorithm and optimizing BP neural network[J]. Mining safety & environmental protection, 2015, 42(2): 56-60.
[11]HAM F M, KOSTANIC I. Principles of neurocomputing for science and engineering[M]. New York, NY: McGraw-Hill Science, 2000.
[12]http://archive.ics.uci.edu/ml/datasets/seeds.
[13]史峰, 王小川, 郁磊, 等. MATLAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析[M]. 北京: 北京航空航天大學(xué)出版社, 2010: 1-3.

劉威,男,1977年生,副教授,博士,中國計(jì)算機(jī)學(xué)會(huì)會(huì)員,主要研究方向?yàn)槟J阶R別、時(shí)間序列數(shù)據(jù)挖掘、礦業(yè)系統(tǒng)工程。

劉尚,男,1988年生,碩士研究生,主要研究方向?yàn)槟J阶R別、人工智能、計(jì)算機(jī)視覺。

周璇,女,1992年生,碩士研究生,主要研究方向?yàn)槟J阶R別、礦業(yè)系統(tǒng)工程。
Subbatch learning method for BP neural networks
LIU Wei, LIU Shang, ZHOU Xuan
(College of Science, Liaoning Technical University, Fuxin 123000, China)
Abstract:When solving problems in shallow neural networks, the full-batch learning method converges slowly and the single-batch learning method fluctuates easily. By referring to the subbatch training method for deep neural networks, this paper proposes the subbatch learning method and the subbatch learning parameter optimization and allocation method for shallow neural networks. Experimental comparisons indicate that subbatch learning in shallow neural networks converges quickly and stably. The batch size and learning rate have significant impacts on the net convergence, convergence time, and generation ability. Selecting the optimal parameters can dramatically shorten the iteration time for convergence and the training time as well as improve the classification accuracy.
Keywords:subbatch learning; neural network; backpropagation algorithms; batch size; training methods and evaluation; classification
作者簡介:
中圖分類號:TP301.6
文獻(xiàn)標(biāo)志碼:A
文章編號:1673-4785(2016)02-0226-07
通信作者:劉尚. E-mail:whiteinblue@126.com.
基金項(xiàng)目:國家自然科學(xué)基金項(xiàng)目 (51304114, 71371091).
收稿日期:2015-09-07. 網(wǎng)絡(luò)出版日期:2016-03-15.
DOI:10.11992/tis.201509015
網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/detail/23.1538.TP.20160315.1051.008.html