王新哲,于澤沛,時 斌,包致成,錢華山,趙永俊
1(中國石油大學(xué)(華東) 計算機科學(xué)與技術(shù)學(xué)院,青島 266580)
2(青島海爾空調(diào)電子有限公司,青島 266103)
3(北京超算科技有限公司,北京 100089)
隨著信息技術(shù)的發(fā)展,各領(lǐng)域涌現(xiàn)出大量的數(shù)據(jù)碎片.然而,大數(shù)據(jù)呈現(xiàn)“大數(shù)據(jù)、小樣本”的問題,即數(shù)據(jù)重復(fù)性較高,某些樣本數(shù)據(jù)量較少.大數(shù)據(jù)處理方法是建立在充足數(shù)據(jù)的基礎(chǔ)上,小樣本數(shù)據(jù)會帶來信息不完全、不完備問題,使得算法精度較差,很難滿足實際應(yīng)用要求[1].因此,我們需要通過數(shù)據(jù)生成技術(shù)生成較為接近真實數(shù)據(jù)的虛擬數(shù)據(jù),豐富小樣本數(shù)據(jù),從而提高大數(shù)據(jù)處理算法的準(zhǔn)確率[2].
在實際工業(yè)領(lǐng)域中,機械設(shè)備的整個生命周期大多處于正常狀態(tài),很難采集到故障數(shù)據(jù)[3].數(shù)據(jù)驅(qū)動的故障診斷方法建立在充足的數(shù)據(jù)基礎(chǔ)上,小樣本問題很難概括數(shù)據(jù)的整體信息,使得相關(guān)機器學(xué)習(xí)及深度學(xué)習(xí)算法精度下降[4].
在工業(yè)領(lǐng)域中,針對故障數(shù)據(jù)小樣本問題,最直接的方法是重新獲取更多的故障數(shù)據(jù),常用的方法包括數(shù)據(jù)采樣和數(shù)據(jù)生成.數(shù)據(jù)采樣包括欠采樣[5-7]、過采樣[8,9].欠采樣與過采樣會造成信息的丟失或過擬合.數(shù)據(jù)生成方法包括模擬采樣[10]和生成式對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)[11].模擬采樣[10]通過獲取數(shù)據(jù)的概率分布p(x),并通過計算機模擬隨機采樣過程獲取生成數(shù)據(jù).該類方法需要獲取較為準(zhǔn)確的數(shù)據(jù)概率分布,構(gòu)造合理的轉(zhuǎn)移概率函數(shù),且不能保證生成的數(shù)據(jù)多樣性.而基于深度學(xué)習(xí)方法的生成式對抗網(wǎng)絡(luò)可以有效解決概率分布函數(shù)的獲取問題,降低了數(shù)據(jù)生成難度.然而GAN 需要大量的數(shù)據(jù)支持,小樣本數(shù)據(jù)不足以支撐GAN的訓(xùn)練,且GAN 方法學(xué)習(xí)速度較慢.
近年來,小樣本學(xué)習(xí)[12-15]取得了長足發(fā)展.小樣本學(xué)習(xí)試圖在有限樣本條件下實現(xiàn)分類或擬合任務(wù),其中基于優(yōu)化方法的元學(xué)習(xí)[14]旨在學(xué)習(xí)一組元分類器,并在新任務(wù)上微調(diào)實現(xiàn)較好的性能.文獻(xiàn)[15]提出了一種模型無關(guān)的元學(xué)習(xí)(Model-Agnostic Meta-Learning,MAML)方法,該算法能在面對新任務(wù)時,僅通過少步迭代更新就可取得較好的性能.
因此,本文將元學(xué)習(xí)和生成式對抗網(wǎng)絡(luò)相結(jié)合,提出一種基于元學(xué)習(xí)的生成式對抗網(wǎng)絡(luò)(Generative Adversarial Networks based on Meta-Learning,ML-GAN).MLGAN 利用元學(xué)習(xí)訓(xùn)練方式搜尋最優(yōu)初始化參數(shù)得到一個較好的初始化模型,而后在初始化模型的基礎(chǔ)上通過少量某種類別樣本快速學(xué)習(xí)當(dāng)前任務(wù)的數(shù)據(jù)特性,獲得能夠生成某種類別數(shù)據(jù)的特異性GAN.ML-GAN可以有效減少對樣本的需求量,同時通過微調(diào)還能增強生成數(shù)據(jù)的多樣性,實現(xiàn)了對于小樣本數(shù)據(jù)的生成擴(kuò)充.
受益于計算設(shè)備的發(fā)展,學(xué)習(xí)觀測樣本的概率密度并隨機生成新樣本的生成式對抗網(wǎng)絡(luò)成為熱點.文獻(xiàn)[16]首次提出生成式對抗網(wǎng)絡(luò),但該方法采用KL散度容易導(dǎo)致模式崩潰.文獻(xiàn)[17]針對模式崩潰問題,將Wasserstein 距離代替KL 散度,并采用Lipschitz約束限制梯度,基本解決了模式崩潰問題.文獻(xiàn)[18]與文獻(xiàn)[19]提出了CGAN 與info-GAN,該方法可以控制數(shù)據(jù)生成的類別,但需要大量的數(shù)據(jù)支撐.
在工業(yè)領(lǐng)域數(shù)據(jù)生成中,文獻(xiàn)[20] 提出MADGAN 數(shù)據(jù)增強技術(shù)用以生成工業(yè)水處理數(shù)據(jù),MADGAN 通過優(yōu)化噪聲生成較為真實的數(shù)據(jù),但該方法僅能保證最優(yōu)噪聲附近的數(shù)據(jù)生成質(zhì)量,小樣本數(shù)據(jù)不足以支撐整個噪聲空間的訓(xùn)練,難以保證除最優(yōu)噪聲之外的噪聲的數(shù)據(jù)生成質(zhì)量.文獻(xiàn)[21]利用先驗知識將正常齒輪箱運轉(zhuǎn)數(shù)據(jù)轉(zhuǎn)化為粗故障數(shù)據(jù),而后利用GAN 將粗故障數(shù)據(jù)轉(zhuǎn)化為較為真實的故障數(shù)據(jù),但該方法沒有充分利用噪聲的隨機性,生成的故障數(shù)據(jù)多樣性較差.文獻(xiàn)[22]提出一種將GAN和疊加去噪自編碼器相結(jié)合的方法,該方法在小樣本情況下具有良好的生成效果,但該方法無法控制生成的數(shù)據(jù)類別.文獻(xiàn)[23]利用生成式對抗網(wǎng)絡(luò)進(jìn)行多場景電力數(shù)據(jù)生成,但該方法需要大量數(shù)據(jù)支持,不適用于小樣本數(shù)據(jù).
針對GAN 方法不適用于小樣本數(shù)據(jù)的問題,本文將元學(xué)習(xí)學(xué)會學(xué)習(xí)特性引入到生成式對抗網(wǎng)絡(luò)中,通過元學(xué)習(xí)的訓(xùn)練策略得到最優(yōu)初始化模型,并通過元學(xué)習(xí)的基學(xué)習(xí)器快速學(xué)習(xí),從而實現(xiàn)小樣本的數(shù)據(jù)生成工作.
MAML是一種與模型無關(guān)的元學(xué)習(xí)算法,它利用元任務(wù)之間的內(nèi)在知識優(yōu)化網(wǎng)絡(luò)初始化參數(shù),使得網(wǎng)絡(luò)在新任務(wù)上僅需通過較少樣本和少步梯度更新便可取得較好的性能,達(dá)到快速學(xué)習(xí)的效果.MAML 網(wǎng)絡(luò)包括多個基學(xué)習(xí)器和一個元學(xué)習(xí)器,其學(xué)習(xí)策略是每個基學(xué)習(xí)器學(xué)習(xí)當(dāng)前元任務(wù),得到一組適合當(dāng)前任務(wù)的模型參數(shù),元學(xué)習(xí)器學(xué)習(xí)多個基學(xué)習(xí)器之間的通用知識策略,得到一組適合所有任務(wù)的模型通用初始化參數(shù).
MAML 網(wǎng)絡(luò)模型記為f,并由參數(shù)θ 進(jìn)行描述,即fθ.MAML 任務(wù)分布記為P(T),隨機選取batch_size個元任務(wù)Ti用于基學(xué)習(xí)器的學(xué)習(xí),元任務(wù)Ti由支持集和查詢集組成Ti=每個基學(xué)習(xí)器在元任務(wù)的支持集上進(jìn)行梯度更新,假設(shè)梯度更新一次,其梯度為其中L為損失函數(shù),更新后的網(wǎng)絡(luò)參數(shù)記為θi′:
當(dāng)多個基學(xué)習(xí)器學(xué)習(xí)完成后,元學(xué)習(xí)器在基學(xué)習(xí)器的基礎(chǔ)上進(jìn)行再次學(xué)習(xí),獲取一組適用于所有元任務(wù)的初始化參數(shù):
式(2)中,α與 β為學(xué)習(xí)率.
GAN的基本思想源自博弈論的二人零和博弈,其模型結(jié)構(gòu)如圖1所示,由一個生成器G和一個判別器D構(gòu)成,其中,生成器G將從噪聲分布采樣得到的數(shù)據(jù)z映射到樣本數(shù)據(jù)空間中,判別器D則對生成數(shù)據(jù)G(z)和真實數(shù)據(jù)x進(jìn)行判斷.兩模型對抗訓(xùn)練,當(dāng)判別器無法準(zhǔn)確判斷輸入的真?zhèn)螘r,即達(dá)到納什平衡,此時可認(rèn)為生成器學(xué)習(xí)到了原始數(shù)據(jù)的分布.
圖1 GAN 模型結(jié)構(gòu)圖
GAN的目標(biāo)函數(shù):
式(3)中p(x)表示真是樣本分布,p(z)表示噪聲分布.其中,判別器的目標(biāo)函數(shù)為:
生成器的目標(biāo)函數(shù)為:
數(shù)據(jù)生成模型GAN 能夠以無監(jiān)督的形式實現(xiàn)訓(xùn)練,然而該類方法需要大量的數(shù)據(jù)支持;MAML 算法適用于小樣本學(xué)習(xí),能夠?qū)W習(xí)到各項元任務(wù)之間可轉(zhuǎn)移的內(nèi)在表征.因此,本文將元學(xué)習(xí)引入到GAN 中,提出一種適用于小樣本問題的數(shù)據(jù)生成算法ML-GAN.
ML-GAN 通過不斷優(yōu)化搜尋最優(yōu)的初始化參數(shù),以期在新任務(wù)(小樣本數(shù)據(jù)生成任務(wù))上快速收斂,得到針對新任務(wù)的特異性GAN,實現(xiàn)對于小樣本數(shù)據(jù)的生成擴(kuò)充.ML-GAN 模型由生成器G與鑒別器D組成,并以基學(xué)習(xí)器與元學(xué)習(xí)器交替訓(xùn)練的方法進(jìn)行.實際上,ML-GAN是希望找到一組對于任務(wù)變化敏感的GAN 模型參數(shù),使得參數(shù)的微小變化就可以很大程度上提高新任務(wù)的GAN 模型的表現(xiàn)性能.
本章節(jié)將在3.1 節(jié)描述ML-GAN的任務(wù)設(shè)置,在3.2 節(jié)與3.3 節(jié)描述基學(xué)習(xí)器與元學(xué)習(xí)器的訓(xùn)練流程,并在3.4 節(jié)描述ML-GAN 整體訓(xùn)練流程.
ML-GAN 以任務(wù)為訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,每一組GAN 任務(wù)Ti都由支持集Tis和查詢集Tiq構(gòu)成,支持集、查詢集均由真實數(shù)據(jù)與生成數(shù)據(jù)組成:
其中,真實數(shù)據(jù)來自真實數(shù)據(jù)集,即x∈X,生成數(shù)據(jù)由生成器生成,其噪聲來自噪聲分布,即z∈Z.
基學(xué)習(xí)器繼承自元學(xué)習(xí)器,其模型由生成器G和鑒別器D構(gòu)成.生成器是噪聲z到數(shù)據(jù)x的映射,判別器是數(shù)據(jù)x到真假類別的映射.生成器參數(shù)為θG,生成器表示為GθG,鑒別器參數(shù)為θD,鑒別器表示為DθD.
基學(xué)習(xí)器的生成器和鑒別器在一組元任務(wù)Ti={Tis,Tiq}上訓(xùn)練,鑒別器目標(biāo)是能夠?qū)斎霐?shù)據(jù)進(jìn)行真假判別,其目標(biāo)函數(shù)為:
生成器目標(biāo)是在有限的訓(xùn)練樣本和迭代輪次內(nèi)生成盡量真實的數(shù)據(jù),其目標(biāo)函數(shù)為:
基學(xué)習(xí)器會根據(jù)當(dāng)前任務(wù)損失進(jìn)行生成器和鑒別器的迭代更新,生成器參數(shù)會由 θG更新為,鑒別器模型參數(shù)會由θD更新為.假設(shè)模型在新任務(wù)上進(jìn)行k次梯度更新,以一次梯度更新為例:
上述參數(shù)更新公式中,αD與 αG分別為學(xué)習(xí)率.
基學(xué)習(xí)器僅能學(xué)習(xí)到當(dāng)前任務(wù)的數(shù)據(jù)特性,不適合其他任務(wù).元學(xué)習(xí)器的目的是平衡各基學(xué)習(xí)器的學(xué)習(xí)效果,找到適合于所有任務(wù)的最優(yōu)初始化模型,從而在面對新任務(wù)時僅需少量數(shù)據(jù)便可取得較好的生成效果.
元學(xué)習(xí)器在查詢集Tiq上通過各元任務(wù)最優(yōu)參數(shù)對應(yīng)的梯度更新初始化參數(shù),其判別器目標(biāo)函數(shù)為:
生成器目標(biāo)函數(shù)為:
ML-GAN 以任務(wù)為數(shù)據(jù)進(jìn)行學(xué)習(xí),其中基學(xué)習(xí)器重點學(xué)習(xí)當(dāng)前任務(wù)的數(shù)據(jù)特性,其目標(biāo)是生成接近于當(dāng)前任務(wù)的真實數(shù)據(jù);元學(xué)習(xí)器學(xué)習(xí)基學(xué)習(xí)器的學(xué)習(xí)結(jié)果,其目標(biāo)是找到適合所有任務(wù)的最優(yōu)初始化模型.兩者在訓(xùn)練時交替進(jìn)行,基學(xué)習(xí)器繼承元學(xué)習(xí)器,并利用任務(wù)數(shù)據(jù)進(jìn)行梯度更新;元學(xué)習(xí)器通過各基學(xué)習(xí)器的最優(yōu)參數(shù)對應(yīng)的梯度更新初始化參數(shù),平衡各基學(xué)習(xí)器的學(xué)習(xí)效果.
ML-GAN 算法流程如算法1.
算法1.ML-GAN 算法1) 隨機初始化 ML-GAN的元學(xué)習(xí)器;2) while not done do:3)初始化基學(xué)習(xí)器參數(shù)為元學(xué)習(xí)器;Ti 4)隨機選取任務(wù) ;Ti 5)for all do:TiLT siD 6)計算任務(wù)的鑒別器損失 ;TiLT siG 7)計算任務(wù)的生成器損失 ;θT siG θT siD 8)更新基學(xué)習(xí)器參數(shù)和;9)end for∑Ti~P(T)(θT siD )10) 計算所有任務(wù)的鑒別器損失 ;LTqiD(θT siG )11) 計算所有任務(wù)的生成器損失 ;∑LTq iG 12) 更新元學(xué)習(xí)器參數(shù)和;13)end while Ti~P(T)θD θG
ML-GAN 整體訓(xùn)練流程如圖2所示,首先初始化元學(xué)習(xí)器,并利用元學(xué)習(xí)器的模型參數(shù)初始化各基學(xué)習(xí)器模型參數(shù).各基學(xué)習(xí)器利用各自任務(wù)支持集的數(shù)據(jù)進(jìn)行GAN的對抗訓(xùn)練更新,其損失函數(shù)和梯度更新公式如式(7)、式(8)和式(9)所示.由于更新后的基學(xué)習(xí)器僅適合于當(dāng)前任務(wù),具有較強的特異性,不適合作為初始化模型,因此再利用式(10)和式(11)在查詢集上計算損失,并通過式(12)更新元學(xué)習(xí)器參數(shù).
圖2 ML-GAN 算法流程圖
本章節(jié)將對ML-GAN 進(jìn)行深入研究,詳細(xì)描述其基學(xué)習(xí)器損失和元學(xué)習(xí)器損失的變化形式.為了展示ML-GAN 優(yōu)異的生成性能,本文通過海爾水冷磁懸浮數(shù)據(jù)進(jìn)行每種故障的數(shù)據(jù)生成實驗,并利用生成數(shù)據(jù)與真實數(shù)據(jù)進(jìn)行故障分類器的訓(xùn)練,驗證生成數(shù)據(jù)的有效性.
由第2 節(jié)可知,ML-GAN 算法得到的是一個最優(yōu)初始化模型,還需要通過基學(xué)習(xí)器的快速學(xué)習(xí)微調(diào)模型,獲取到生成某種特定類別數(shù)據(jù)的特異性GAN.本文在4.2 節(jié)與4.3 節(jié)詳細(xì)闡述ML-GAN 最優(yōu)初始化模型和特異性模型的訓(xùn)練過程.
實驗數(shù)據(jù)集選取自海爾水冷磁懸浮機組數(shù)據(jù).海爾水冷磁懸浮機組數(shù)據(jù)包括蒸發(fā)器側(cè)進(jìn)水溫度(℃)、蒸發(fā)器側(cè)出水溫度(℃)、冷凝器側(cè)進(jìn)水溫度(℃)、冷凝器側(cè)出水溫度(℃),壓縮機吸氣溫度(℃)、壓縮機排氣溫度(℃)、壓縮機負(fù)荷(%)、故障類別等19 維向量.經(jīng)過PCA 降維[24]分析,由表1結(jié)果可知前四維數(shù)據(jù)蘊含的信息量約為91%,故選取前四維及故障類作為數(shù)據(jù)集.海爾數(shù)據(jù)共包含17 327 條,由表2可知,故障數(shù)據(jù)類型共占6.3%,其中電機軸承故障數(shù)據(jù)最少,為121 條數(shù)據(jù).
表1 前8 維度主成分占比(%)
表2 故障類型數(shù)據(jù)比例(%)
ML-GAN 超參數(shù)設(shè)置如下,內(nèi)部學(xué)習(xí)率αD=0.001與αG=0.001,外部循環(huán)學(xué)習(xí)率為βD=0.01與 βG=0.01,序列長度SeqLen=30,支持集數(shù)據(jù)條數(shù)n=10,查詢集數(shù)據(jù)長度q=5,任務(wù)數(shù)meta_batch=4.由于ML-GAN 網(wǎng)絡(luò)是通過對抗方式進(jìn)行訓(xùn)練,基學(xué)習(xí)器循環(huán)迭代次數(shù)不宜設(shè)置較低,本實驗設(shè)置基學(xué)習(xí)器循環(huán)迭代次數(shù)inner_step=10.
ML-GAN 以任務(wù)形式訓(xùn)練,每條任務(wù)包含支持集數(shù)據(jù)n條和查詢集數(shù)據(jù)q條,每條數(shù)據(jù)序列長度SeqLen=30.基學(xué)習(xí)器訓(xùn)練時,利用隨機噪聲與支持集數(shù)據(jù)進(jìn)行GAN的對抗訓(xùn)練,其損失函數(shù)與梯度更新公式為式(7)、式(8)和式(9).基學(xué)習(xí)器僅適用于當(dāng)前任務(wù),具有特異性,還需進(jìn)行元學(xué)習(xí)器優(yōu)化平衡各基學(xué)習(xí)器學(xué)習(xí)效果.在本實驗中,元學(xué)習(xí)器訓(xùn)練時利用meta_batch 項任務(wù)的q條查詢集數(shù)據(jù)進(jìn)行訓(xùn)練,其損失函數(shù)與梯度更新公式為式(10)、式(11)和式(12).
ML-GAN 基學(xué)習(xí)器損失是針對于特定任務(wù)的效果評價,基學(xué)習(xí)器迭代更新,目標(biāo)是盡可能生成接近支持集的生成數(shù)據(jù).如圖3(a)所示,基學(xué)習(xí)器進(jìn)行快速學(xué)習(xí),鑒別器損失快速下降,生成器損失快速上升,生成器會根據(jù)鑒別器損失快速學(xué)習(xí)到較為真實的數(shù)據(jù)形式,而后生成器損失下降判別器損失上升,呈現(xiàn)對抗?fàn)顟B(tài).
如圖3(b)所示,在訓(xùn)練過程中,基學(xué)習(xí)器中出現(xiàn)了幾次生成器與鑒別器損失一起下降的現(xiàn)象,這是由于元學(xué)習(xí)器的前幾次訓(xùn)練任務(wù)與當(dāng)前任務(wù)類型的數(shù)據(jù)不同,其鑒別器與生成器具有一定的特定性,即鑒別器與生成器適合鑒別和生成之前任務(wù)的訓(xùn)練數(shù)據(jù),而當(dāng)面對不同類型數(shù)據(jù)任務(wù)時,鑒別器將真實數(shù)據(jù)判斷為假可能性較大.由式(7)可知,鑒別器對于真實數(shù)據(jù)的鑒別損失較大,對于生成數(shù)據(jù)的鑒別損失較小,因此鑒別器損失初始值較大,由式(8)可知生成器生成數(shù)據(jù)不貼近當(dāng)前任務(wù)類型數(shù)據(jù),因此生成器損失值也較大.而當(dāng)經(jīng)過訓(xùn)練之后,生成器與鑒別器性能均得到提升,鑒別器能夠有效識別真實數(shù)據(jù),因此真實數(shù)據(jù)的鑒別損失下降幅度較大,而當(dāng)前任務(wù)開始時,生成器生成數(shù)據(jù)較假,因此它在鑒別器的指導(dǎo)下生成性能提升,生成器損失繼續(xù)下降.因此,鑒別器與生成器損失整體呈現(xiàn)出下降狀態(tài).
圖3 ML-GAN 基學(xué)習(xí)器損失圖
為了更詳細(xì)描述圖3(b)損失變化現(xiàn)象,圖4形象展示了基學(xué)習(xí)器學(xué)習(xí)邊界變化狀態(tài),當(dāng)前任務(wù)數(shù)據(jù)為數(shù)據(jù)類型3.開始時,元學(xué)習(xí)器之前幾次的訓(xùn)練任務(wù)為數(shù)據(jù)類型1 與2,如圖4(a)所示基學(xué)習(xí)器邊界囊括了數(shù)據(jù)類型1 與2的邊界.在此狀態(tài)下,當(dāng)任務(wù)數(shù)據(jù)類型為3 時,鑒別器將真實數(shù)據(jù)大部分判斷為假,生成數(shù)據(jù)部分判斷為假.在經(jīng)過訓(xùn)練后,基學(xué)習(xí)器邊接變化到圖4(b)狀態(tài),此時真實數(shù)據(jù)少部分鑒別為假,生成數(shù)據(jù)開始貼近數(shù)據(jù)類型3.到訓(xùn)練到圖4(c)時,基學(xué)習(xí)器邊接開始接近數(shù)據(jù)類型3,之后的訓(xùn)練會呈現(xiàn)對抗?fàn)顟B(tài),圖3(b)的1、3 與4 損失圖在迭代次數(shù)為8 之后出現(xiàn)對抗?fàn)顟B(tài).這種現(xiàn)象之所以與常見GAN不同,是因為常見GAN不會出現(xiàn)將真實數(shù)據(jù)全部鑒別為假.而本文這種情況的出現(xiàn)也是由于前幾次迭代更新使用的是除數(shù)據(jù)類型3 以外的數(shù)據(jù).
圖4 ML-GAN 基學(xué)習(xí)器邊界變化示意圖
元學(xué)習(xí)器損失變化如圖5所示,ML-GAN的生成器與鑒別器分別呈現(xiàn)出對抗的狀態(tài),震蕩較大,在經(jīng)過一段時間訓(xùn)練后,震蕩逐漸變小,生成器與鑒別器損失值開始收斂.此時,鑒別器與生成器具有較好的性能,能夠適應(yīng)與多項任務(wù),適合作為最優(yōu)初始化模型.
圖5 ML-GAN 元學(xué)習(xí)器損失圖
ML-GAN 訓(xùn)練的目標(biāo)是找到適合與所有任務(wù)的最優(yōu)初始化模型,4.2 節(jié)ML-GAN 訓(xùn)練實驗已經(jīng)找到一組最優(yōu)參數(shù)作為初始化模型.本節(jié)實驗?zāi)康氖窃?.2 節(jié)實驗的最優(yōu)初始化模型基礎(chǔ)上,利用ML-GAN的基學(xué)習(xí)器特異性訓(xùn)練過程,通過少量數(shù)據(jù)和少步迭代獲取到多個生成不同類別數(shù)據(jù)的GAN.
基學(xué)習(xí)器訓(xùn)練超參數(shù)如下,基學(xué)習(xí)器學(xué)習(xí)率αD=0.001與 αG=0.001,序列長度SeqLen=30,支持集數(shù)據(jù)條數(shù)n=30,任務(wù)數(shù)meta_batch=7,基學(xué)習(xí)器迭代次數(shù)inner_step=20.每個任務(wù)分別對應(yīng)一種故障類型數(shù)據(jù),即7 個任務(wù)會對應(yīng)7 個故障類型得到7 種特異性GAN.
在數(shù)據(jù)快速生成實驗中,首先導(dǎo)入4.2 節(jié)實驗中的最優(yōu)初始化模型作為元學(xué)習(xí)器,而后用元學(xué)習(xí)器初始化7 個基學(xué)習(xí)器,對應(yīng)7 個故障類別.每個基學(xué)習(xí)器模型參數(shù)相同,不同的是輸入數(shù)據(jù).7 個基學(xué)習(xí)器對應(yīng)7 中故障類別的數(shù)據(jù)輸入,經(jīng)過inner_step次迭代快速迭代更新,獲得7 個生成器.而后利用7 個生成器生成故障數(shù)據(jù).
以基學(xué)習(xí)器1和基學(xué)習(xí)器2為例,其輸入的真實數(shù)據(jù)與生成數(shù)據(jù)如圖6所示,從上到下依次為吸氣壓力預(yù)警故障的真實數(shù)據(jù)與生成數(shù)據(jù)和電機軸承報警故障的真實數(shù)據(jù)與生成數(shù)據(jù).生成數(shù)據(jù)基本貼近輸入數(shù)據(jù),其變化趨勢也基本與真實數(shù)據(jù)相接近,故障類別與真實數(shù)據(jù)故障類型基本相同,表明ML-GAN 模型基學(xué)習(xí)器僅需要使用30 條支持集數(shù)據(jù)微調(diào)就可達(dá)到較好的數(shù)據(jù)生成效果,降低了GAN 模型對于數(shù)據(jù)集大小的需求,實現(xiàn)了小樣本數(shù)據(jù)的快速生成.
圖6 ML-GAN 快速生成實驗
為了驗證第3 節(jié)生成數(shù)據(jù)的有效性,本節(jié)實驗將第3 節(jié)生成的故障數(shù)據(jù)與真實數(shù)據(jù)進(jìn)行混合,并利用實驗室已有模型進(jìn)行訓(xùn)練,驗證生成數(shù)據(jù)能夠提高分類器的分類性能.
實驗室已有分類器采用的是lightGBM,其超參數(shù)設(shè)置如下,學(xué)習(xí)率l=0.001,最大樹深度max_depth=8,最大葉子數(shù)num_leaves=64,bagging_fraction=0.8,lambda_l1=0.1,lambda_l2=0.2.訓(xùn)練集中,每類數(shù)據(jù)分別有Num=100 條,序列長度SeqLen=30 包含有真實數(shù)據(jù)和生成數(shù)據(jù).真實數(shù)據(jù)和生成數(shù)據(jù)的混合比例設(shè)置為0:1、3:7、5:5、7:3、1:0.
實驗結(jié)果如表3所示,由實驗結(jié)果可知,當(dāng)正常數(shù)據(jù)與生成數(shù)據(jù)混合比例為7:3 時,分類準(zhǔn)確率最高,較僅采用正常數(shù)據(jù)高2.7%.當(dāng)混合比例超過3:7 時,分類準(zhǔn)確率開始下降.僅采用生成數(shù)據(jù)時作為訓(xùn)練數(shù)據(jù)的分類準(zhǔn)確率最低為72.7%,說明生成數(shù)據(jù)不具有較為準(zhǔn)確的分類邊界,但生成數(shù)據(jù)依然學(xué)習(xí)到了每種故障的數(shù)據(jù)特性.由實驗結(jié)果可知,少量生成數(shù)據(jù)可以提高分類準(zhǔn)確率,當(dāng)生成數(shù)據(jù)較多時將導(dǎo)致分類性能下降,這是由于生成數(shù)據(jù)不具有較為明顯的分類邊界,少量生成數(shù)據(jù)可以作為分類邊界的補充,大量生成數(shù)據(jù)將會模糊分類邊界,致使分類性能下降.
表3 LightGBM 分類準(zhǔn)確率(%)
本文提出一種基于元學(xué)習(xí)的小樣本數(shù)據(jù)生成算法ML-GAN,該算法目標(biāo)是在各數(shù)據(jù)生成任務(wù)上訓(xùn)練一個通用的GAN 模型,確定模型最優(yōu)初始化參數(shù).由于訓(xùn)練結(jié)果是一組最優(yōu)初始化參數(shù),因此可以利用少量樣本數(shù)據(jù)和較少的迭代次數(shù)微調(diào)通用模型,自適應(yīng)輸入數(shù)據(jù),從而獲取多個特異性生成器,增強數(shù)據(jù)的多樣性.該算法有效降低了GAN對數(shù)據(jù)集大小的要求,實現(xiàn)了小樣本數(shù)據(jù)的高質(zhì)量生成.
ML-GAN 方法還存在著一些不足之處,例如噪聲的選擇與數(shù)據(jù)生成質(zhì)量密切相關(guān),又例如前后時間步數(shù)據(jù)的因果關(guān)系影響.未來我們將會對ML-GAN 進(jìn)行下一步的優(yōu)化工作,引入故障特征的時序性,控制噪聲生成更為真實的數(shù)據(jù).