作者簡介:丁彧洋(1997-),碩士研究生,從事深度學(xué)習(xí)、時(shí)間序列分析的研究,6201905018@stu.jiangnan.edu.cn。
引用本文:丁彧洋.基于混合優(yōu)化算法的超參數(shù)優(yōu)化方法及其應(yīng)用[J].化工自動化及儀表,2023,50(6):000-000.
DOI:10.20030/j.cnki.1000-3932.202306000
摘? 要? 卷積神經(jīng)網(wǎng)絡(luò)(CNN)自身結(jié)構(gòu)的超參數(shù)對于分類問題中的準(zhǔn)確率與效率有較大的影響,針對現(xiàn)有超參數(shù)優(yōu)化方法多依賴傳統(tǒng)組合,優(yōu)化結(jié)果不徹底,導(dǎo)致模型分類效果不佳的狀況,提出一種基于混合優(yōu)化算法的CNN超參數(shù)優(yōu)化方法。該方法根據(jù)CNN架構(gòu)的結(jié)構(gòu)特點(diǎn)選取超參數(shù),然后采用粒子群優(yōu)化算法(PSO)-梯度下降(GD)混合算法進(jìn)行優(yōu)化。在測試數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明:該方法在分類問題上具有較好的性能,提升了超參數(shù)的優(yōu)化效率,避免了傳統(tǒng)PSO算法易陷入局部最優(yōu)的缺點(diǎn)。
關(guān)鍵詞? PSO-GD混合算法? 超參數(shù)優(yōu)化? CNN? 分類性能? 優(yōu)化效率? 局部最優(yōu)
中圖分類號? TP183? ? ? 文獻(xiàn)標(biāo)志碼? A? ? ? 文章編號? 1000-3932(2023)06-0000-00
現(xiàn)階段,信息分類技術(shù)已經(jīng)發(fā)展得比較成熟,適用于不同場景的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)架構(gòu)[1~4]層出不窮,但復(fù)雜的CNN結(jié)構(gòu)往往耗費(fèi)硬件資源及計(jì)算成本。CNN用于分類任務(wù)訓(xùn)練前,需提前設(shè)置好CNN內(nèi)部的一些參數(shù)(即超參數(shù)),選取一組最優(yōu)超參數(shù)可以在不改變CNN結(jié)構(gòu)的前提下最大程度地提升CNN的分類性能。因此,選定適合的超參數(shù)將CNN架構(gòu)的分類性能完全釋放出來,在工程實(shí)踐中具有極其重要的作用和意義。
相關(guān)CNN超參數(shù)優(yōu)化方法的研究已經(jīng)有一些成果,早期研究集中于將機(jī)器學(xué)習(xí)的超參數(shù)優(yōu)化方法用于CNN[5]。超參數(shù)優(yōu)化方法主要分為無模型優(yōu)化和基于模型的優(yōu)化,目前,前者最先進(jìn)的方法包括簡單的網(wǎng)格和隨機(jī)搜索;后者包括基于種群的啟發(fā)式優(yōu)化算法,以及基于高斯過程的貝葉斯優(yōu)化(GP)[6]。啟發(fā)式優(yōu)化算法對于CNN超參數(shù)優(yōu)化尤為值得關(guān)注,其中粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)[7,8]由于其簡單性和通用性已經(jīng)被證明在解決許多區(qū)域中的多任務(wù)方面非常有效,并且它具有大規(guī)模并行化的巨大潛力?;赑SO的超參數(shù)優(yōu)化,其搜索效率遠(yuǎn)超網(wǎng)格搜索、隨機(jī)搜索等,縮短了超參數(shù)優(yōu)化的搜索時(shí)間,解決了傳統(tǒng)超參數(shù)優(yōu)化效率低、耗時(shí)長等問題。但PSO也存在易陷入局部最優(yōu)的問題,這會造成超參數(shù)優(yōu)化停留在局部最優(yōu)而非全局最優(yōu)的一組超參數(shù),在一定程度上無法搜索到使CNN性能達(dá)到最優(yōu)的一組超參數(shù),從而無法使CNN處理分類問題時(shí)達(dá)到最理想的結(jié)果。由此,混合優(yōu)化算法合成為新趨勢之一,通過將不同的元啟發(fā)算法進(jìn)行結(jié)合,綜合不同元啟發(fā)式算法的特性,使混合算法擁有更快的尋優(yōu)速度或更好的尋優(yōu)特性。文獻(xiàn)[9]探索了一種遺傳算法+PSO的混合算法,該算法對優(yōu)化問題有顯著效果;文獻(xiàn)[10]提出一種模擬退火和梯度結(jié)合的混合算法,該混合算法為模型提供了概率爬坡的能力,在不犧牲模型收斂效率和穩(wěn)定性的情況下具有更好的泛化效果。如今,混合算法更傾向于針對具體問題進(jìn)行混合和改進(jìn),文獻(xiàn)[11]為特征選擇問題提出一種混合灰狼優(yōu)化和粒子群優(yōu)化的二進(jìn)制形式算法,用以獲得更優(yōu)的特征性能指標(biāo)和使用精度;文獻(xiàn)[12]針對具有有限函數(shù)計(jì)算的計(jì)算成本數(shù)值問題,提出混合螢火蟲和粒子群優(yōu)化算法,通過檢查前期的全局最佳適應(yīng)度值,正確確定了本地搜索過程的開始點(diǎn)位。
筆者提出一種基于粒子群優(yōu)化算法(PSO)-梯度下降(Gradient Descent,GD)混合優(yōu)化算法的CNN超參數(shù)優(yōu)化方法,根據(jù)CNN的架構(gòu)特點(diǎn)選取卷積層與池化層的結(jié)構(gòu)參數(shù),以避免傳統(tǒng)PSO對超參數(shù)的優(yōu)化停留在局部最優(yōu)的弊端。
1? CNN及其超參數(shù)優(yōu)化算法
1.1? CNN
CNN作為前饋神經(jīng)網(wǎng)絡(luò),其概念主要來自信號處理領(lǐng)域的卷積,實(shí)際表征了輸入與輸出間的映射關(guān)系,典型模型如圖1所示,其結(jié)構(gòu)主要包括卷積層、池化層以及激活函數(shù)等,由卷積層對輸入值間存在的耦合關(guān)系進(jìn)行處理,激活函數(shù)保證整個(gè)模型能夠較好地?cái)M合非線性函數(shù),而全連接層則進(jìn)一步提高網(wǎng)絡(luò)的擬合能力。
1.2? 混合智能優(yōu)化算法
混合智能優(yōu)化算法是將啟發(fā)式算法與梯度算法相結(jié)合,其本質(zhì)上是隨機(jī)的,因?yàn)樗蕾囉趩l(fā)算法繞過局部極小值,類似于對未知數(shù)的連續(xù)隨機(jī)擾動,并且能夠以正概率“逃離”任何陷阱。同時(shí),對于小鄰域,它能以極快的速度收斂到局部極小值,大幅提高隨機(jī)優(yōu)化算法的搜索效率和收斂速度。
由于PSO始于解的一個(gè)種群(多點(diǎn))而非單個(gè)解,因此具有更好的全局尋優(yōu)能力。采用概率而不是確定的狀態(tài)轉(zhuǎn)移規(guī)則,能自適應(yīng)地調(diào)整搜索方向,因此能更好地跳出局部最優(yōu)點(diǎn)。而GD算法則采用負(fù)梯度作為極值的搜索方向,以便能夠在搜索區(qū)間內(nèi)最快速下降,這樣與初值點(diǎn)選取的好壞關(guān)系減小,又由于GD算法每次的迭代計(jì)算量小,在經(jīng)過有限量次迭代后目標(biāo)函數(shù)值都能夠大幅下降、程序簡短,并且占用較少的時(shí)間資源和運(yùn)算資源。因此,筆者將兩種算法結(jié)合,提出PSO-GD混合優(yōu)化算法,其流程如圖2所示,先采用GD算法找到局部最優(yōu)點(diǎn),再采用PSO算法尋找最優(yōu)解。同時(shí),如果算法陷入局部最優(yōu)點(diǎn),PSO能跳出局部最優(yōu)點(diǎn)再次尋找全局最優(yōu)點(diǎn)。
2? 基于PSO-GD算法的CNN超參數(shù)優(yōu)化方法
2.1? 算法基本原理
根據(jù)圖2所示的完整算法流程,可大致將PSO-GD混合智能優(yōu)化算法描述為:
a.隨機(jī)生成并評估。令迭代數(shù)。
b.通過基于梯度的最小化方法求解局部最小值,并作為初始猜測給出,,其中,是閾值,設(shè)定為接近零值的正參數(shù)。
c.從開始,執(zhí)行次模擬粒子群發(fā)散直到獲得一個(gè)點(diǎn),使得對于誤差精度滿足。
d.?;氐讲襟Eb循環(huán),直到收斂。
在算法的步驟c中,模擬的粒子群迭代由4個(gè)關(guān)鍵步驟組成,即:
a.下一個(gè)實(shí)驗(yàn)點(diǎn)主要是由已知解的附近空間的粒子運(yùn)動產(chǎn)生的;
b.將粒子群個(gè)體特征轉(zhuǎn)換為二進(jìn)制數(shù)字,確定它們的值范圍和邊界條件;
c.通過改變新一代分布來控制是否跳出局部最優(yōu)極限;
d.結(jié)合粒子群變異和交叉的特點(diǎn),在迭代過程中獲得最適合個(gè)體的最優(yōu)解,終止迭代并輸出最終結(jié)果。
2.2? 算法收斂性分析
2.2.1? 標(biāo)準(zhǔn)PSO算法的全局收斂性
首先描述PSO的迭代過程:
a.初始化,隨機(jī)查找且設(shè);
b.從已有的粒子值中隨機(jī)生成新的極值;
c.設(shè),再選擇,設(shè)(其中(·)為迭代函數(shù),,且是的任意Borel子集),返回步驟b迭代。
條件1? ,并且若,則有。
條件2? 對中的任意Borel子集,且,有。
定理1? PSO算法不滿足條件1。
定理2? PSO算法不滿足條件2,不能保證全局收斂性。
因此可得出結(jié)論,該算法作為隨機(jī)搜索算法,當(dāng)粒子尚未搜索到最優(yōu)區(qū)域時(shí),粒子的發(fā)散速度就可能已經(jīng)失去動力,進(jìn)而導(dǎo)致無法跳出局部最優(yōu),即不能得到全局最優(yōu)。而從整體來看,應(yīng)該分析最優(yōu)保持操作,所以最優(yōu)保持操作需由梯度算法實(shí)現(xiàn),從而需要進(jìn)一步分析梯度算法得出的結(jié)果。
2.2.2? GD算法的收斂性
首先,由數(shù)學(xué)理論可以得到以下定義和定理。
如果標(biāo)量函數(shù)滿足如下條件,稱其滿足Lipschitz連續(xù)性條件:
(1)
其中,為Lipschitz常數(shù)。對于固定的,是一個(gè)定值。這個(gè)條件對函數(shù)值的變化做出了限制。
如果函數(shù)的梯度滿足值為的Lipschitz連續(xù),稱函數(shù)為平滑:
(2)
這個(gè)條件對函數(shù)梯度的變化進(jìn)行了約束:梯度之差的模長不會超過自變量之差模長的常數(shù)倍。滿足平滑的函數(shù)有如下性質(zhì):
(3)
如果函數(shù)為凸函數(shù),過的切線在曲線下,則有:
(4)
進(jìn)而。
因此得出平滑具有兩個(gè)性質(zhì):
(5)
(6)
首先證明GD算法的自變量的新解比當(dāng)前解更接近最終解??紤]新解到最終解的距離:
(7)
利用平滑的第2點(diǎn)性質(zhì)(即式(6)),考慮在點(diǎn)的線性擬合:
(8)
由于為最終解,則有:
(9)
(10)
(11)
代入式(7),有:
(12)
顯然,只要學(xué)習(xí)率,就可以保證:
(13)
然后,考慮兩次迭代的函數(shù)值:
(14)
插進(jìn)最優(yōu)解的函數(shù)值,比較兩次迭代距最優(yōu)點(diǎn)函數(shù)值的距離:
(15)
利用凸函數(shù)性質(zhì)以及柯西-施瓦茨不等式,構(gòu)造一個(gè)關(guān)系:
(16)
(17)
代入式(15)可得:
(18)
從之前的證明可以得到,于是除去分母中的,則有:
(19)
然后兩邊同時(shí)除以正數(shù)得到:
(20)
然后對式(20)從0~t-1進(jìn)行累加:
(21)
由于:
(22)
所以:
(23)
由此證明完畢,即算法的收斂性成立。
2.3? CNN超參數(shù)優(yōu)化建模
首先對需要分類的數(shù)據(jù)集進(jìn)行預(yù)處理,并將其按比例劃分成訓(xùn)練集T、測試集和驗(yàn)證集V,其中驗(yàn)證集是從訓(xùn)練集中提取的,滿足。
在準(zhǔn)備工作完成后,開始搭建CNN架構(gòu),包括卷積層、池化層、卷積層、池化層,最后由Softmax激活終止。根據(jù)CNN架構(gòu)的結(jié)構(gòu)特點(diǎn),選取卷積層C1和池化層P1的結(jié)構(gòu)參數(shù)為后決定的超參數(shù),并確定這組超參數(shù)的取值范圍為。
而后在驗(yàn)證集V上采用PSO-GD混合算法優(yōu)化CNN架構(gòu)的超參數(shù),可得一組對應(yīng)的超參數(shù)值,整個(gè)超參數(shù)優(yōu)化過程設(shè)計(jì)到的相關(guān)變量見表1。
在第次迭代時(shí),每個(gè)粒子更新自己的速度和位置:
(24)
(25)
其中,為慣性因子,和為學(xué)習(xí)因子,均為自選常數(shù);和是范圍內(nèi)的隨機(jī)數(shù)。
隨后選擇全局變異算子對整個(gè)群體中的所有粒子的位置進(jìn)行變更,或者選擇局部變異算子對群體中的精英粒子的位置進(jìn)行變更。全局變異算子與局部變異算子對位置變更的公式為:
(26)
(27)
其中,是波動因子;為范圍內(nèi)的隨機(jī)數(shù);為精英粒子;是由局部變異算子生成的新粒子的數(shù)目;為全局變異頻率;為局部變異頻率。
之后,檢查粒子速度和位置是否越界,若越界則以其超出的邊界值取代相應(yīng)的粒子值。設(shè)為粒子的速度范圍,為粒子的位置范圍。具體判斷方法如下:
a.若,則;
b.若,則;
c.若,則;
d.若,則。
根據(jù)上述限制條件確定的最優(yōu)位置即所要求的超參數(shù)值。將超參數(shù)輸入到CNN中,并用最初得到的訓(xùn)練集對優(yōu)化后的CNN進(jìn)行訓(xùn)練,而將初始步驟得到的測試集輸入訓(xùn)練好的CNN中,可以得到最終結(jié)果。
隨后根據(jù)條件,判斷迭代是否達(dá)到終止條件。
首先計(jì)算各個(gè)粒子的適應(yīng)度函數(shù)值:
(28)
其中,為先前階段得到的分類結(jié)果的準(zhǔn)確率。
通過式(28)得到的本次迭代的各個(gè)粒子適應(yīng)度函數(shù)值,分別更新個(gè)體歷史最優(yōu)位置和群體最優(yōu)位置,得到本次迭代最優(yōu)粒子:
(29)
(30)
判斷最優(yōu)粒子的適應(yīng)度值增加小于閾值,判斷群體中的最佳粒子位置更新小于最小步長,判斷迭代次數(shù)是否達(dá)到最大迭代次數(shù),若滿足上述終止條件之一,則終止迭代。如果沒有達(dá)到終止條件,則重新代回超參數(shù)值確定步驟起始段繼續(xù)流程,如果達(dá)到終止條件,得到最終的最優(yōu)超參數(shù),記為,并將其代入到CNN結(jié)構(gòu)中,對整個(gè)數(shù)據(jù)集的進(jìn)行分類,得到最終結(jié)果。
3? 仿真實(shí)驗(yàn)與結(jié)果分析
為了驗(yàn)證基于PSO-GD混合優(yōu)化算法的CNN超參數(shù)優(yōu)化方法的性能,選取兩個(gè)基準(zhǔn)測試數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)仿真,其中手寫數(shù)字識別MNIST數(shù)據(jù)集的片段如圖3所示,該數(shù)據(jù)集有70 000個(gè)灰度圖像,每個(gè)圖像像素為28×28,其中包含10個(gè)類別,每個(gè)類別有7 000個(gè)圖像;隨機(jī)選取該數(shù)據(jù)集中的60 000個(gè)圖像作為訓(xùn)練集,剩余的10 000個(gè)圖像作為測試集,從訓(xùn)練集中隨機(jī)挑選出6 000個(gè)圖像作為驗(yàn)證集。
物體識別cifar-10數(shù)據(jù)集的片段如圖4所示,該數(shù)據(jù)集有60 000個(gè)32×32像素的彩色圖像,其中包含10個(gè)類別,每個(gè)類別有6 000個(gè)圖像;隨機(jī)選取該數(shù)據(jù)集中的50 000個(gè)圖像作為訓(xùn)練集,剩余的10 000個(gè)圖像作為測試集,從訓(xùn)練集中隨機(jī)挑選出5 000個(gè)圖像作為驗(yàn)證集。
3.1? MNIST數(shù)據(jù)集實(shí)驗(yàn)
將混合優(yōu)化算法中的參數(shù)定為粒子搜索空間維度,粒子個(gè)數(shù),慣性因子,學(xué)習(xí)因子,閾值,最小步長,判斷迭代次數(shù)。搭建CNN架構(gòu),選取卷積層C1和池化層P1的結(jié)構(gòu)參數(shù)為超參數(shù),確定這組超參數(shù)的取值范圍,見表2。
在算法結(jié)構(gòu)中,將輸出結(jié)果以適應(yīng)度函數(shù)的值進(jìn)行表示,由于過程包含收斂性的分析,因此整體結(jié)果按相反數(shù)取值,因此,適應(yīng)度函數(shù)值越大,分類效果越好。
MNIST數(shù)據(jù)集的分類結(jié)果如圖5所示。
3.2? cifar-10數(shù)據(jù)集實(shí)驗(yàn)
實(shí)驗(yàn)所選取各參數(shù)與MNIST數(shù)據(jù)集實(shí)驗(yàn)相同,分類結(jié)果如圖6所示。
對比圖5、6可以看出,無論是超參數(shù)優(yōu)化前的常規(guī)CNN,還是PSO、PSO-GD優(yōu)化超參數(shù)后的CNN,隨著迭代次數(shù)的增加,優(yōu)化都在逐步進(jìn)行,分類誤差不斷減小,而經(jīng)過超參數(shù)優(yōu)化后的方法,在分類準(zhǔn)確性上有所提高。
超參數(shù)優(yōu)化方法改進(jìn)前后手寫數(shù)字識別MNIST數(shù)據(jù)集和物體識別cifar-10數(shù)據(jù)集圖像分類準(zhǔn)確率對比見表3,可以看出,PSO-GD混合優(yōu)化方法在不改變分類CNN架構(gòu)的前提下對圖像分類準(zhǔn)確率有一定程度的提升,最大程度地發(fā)揮了CNN架構(gòu)的圖像分類潛力,節(jié)約了CNN進(jìn)行圖像分類時(shí)的硬件資源及計(jì)算成本。
4? 結(jié)束語
利用PSO的全局搜索性能融合GD算法的快收斂性,提出基于PSO-GD混合優(yōu)化算法的超參數(shù)優(yōu)化方法,對CNN結(jié)構(gòu)中的超參數(shù)進(jìn)行了優(yōu)化,并通過典型的測試數(shù)據(jù)集對其分類性能進(jìn)行了評價(jià)。實(shí)驗(yàn)結(jié)果表明,該方法與優(yōu)化前相比,具備了更好的跳出局部最優(yōu)限制的能力,最大程度地發(fā)揮了CNN架構(gòu)的分類潛力,節(jié)約了CNN進(jìn)行分類任務(wù)時(shí)的硬件資源及計(jì)算成本,該方法具有一定工程應(yīng)用價(jià)值。
參? 考? 文? 獻(xiàn)
[1] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[C]//Proceedings of? the? 3rd? International? Conference? on? Learning Representations.San Diego:ICLR,2015:1-14.
[2] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.Imagenet classification with deep convolutional neural networks[J].Communications of the ACM,2017,60(6):84-90.
[3] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2014:580-587
[4] REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:Unified,real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2016:779-788.
[5] ANDONIE R,F(xiàn)LOREA A C.Weighted random search for CNN hyperparameter optimization[J].arXiv preprint arXiv:2003.13300,2020.
[6] WU J,CHEN X Y,ZHANG H,et al.Hyperparameter optimization for machine learning models based on Bayesian optimization[J].Journal of Electronic Science and Technology,2019,17(1):26-40.
[7] WANG D,TAN D,LIU L.Particle swarm optimization algorithm: an overview[J].Soft computing,2018,22:387-408.
[8] SALLEH I,BELKOURCHIA Y,AZRAR L.Optimization of the shape parameter of RBF based on the PSO algorithm to solve nonlinear stochastic differential equation[C]//2019 5th International Conference on Optimization and Applications (ICOA).2019:1-5.
[9] GHORBANI N,KASAEIAN A,TOOPSHEKAN A,et al.Optimizing a hybrid wind-PV-battery system using GA-PSO and MOPSO for reducing cost and increasing reliability[J].Energy,2018,154:581-591.
[10] CAI Z.SA-GD:Improved Gradient Descent Learning Strategy with Simulated Annealing[J].arXiv preprint arXiv:2107.07558,2021.
[11] AL-TASHI Q,KADIR S J A,RAIS H M,et al.Binary optimization using hybrid grey wolf optimization for feature selection[J].Ieee Access,2019(7):39496-39508.
[12] AYDILEK I B.A hybrid firefly and particle swarm optimization algorithm for computationally expensive numerical problems[J].Applied Soft Computing,2018,66:232-249.
(收稿日期:2023-02-17,修回日期:2023-03-22)