來(lái)杰,王曉丹,向前,宋亞飛,權(quán)文
(1.空軍工程大學(xué)防空反導(dǎo)學(xué)院,陜西 西安 710051;2.空軍工程大學(xué)空管領(lǐng)航學(xué)院,陜西 西安 710051)
深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn),自被Hinton 等[1]提出后,便深刻影響著機(jī)器學(xué)習(xí)的發(fā)展走向。深度學(xué)習(xí)通過(guò)構(gòu)建多層神經(jīng)網(wǎng)絡(luò)模型,逐層提取樣本的高級(jí)抽象特征,而后通過(guò)分類器或回歸算法完成抽象特征到期望輸出的映射。與淺層神經(jīng)網(wǎng)絡(luò)相比,深度學(xué)習(xí)模型的多層網(wǎng)絡(luò)結(jié)構(gòu)擁有更強(qiáng)的特征提取能力,避免了傳統(tǒng)機(jī)器學(xué)習(xí)算法需要人工選取特征的局限[2],同時(shí)采用貪婪預(yù)訓(xùn)練方式,逐層初始化網(wǎng)絡(luò)參數(shù),加快了網(wǎng)絡(luò)收斂速度[3]。深度學(xué)習(xí)模型的優(yōu)異性能得益于其復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),而復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)則需要大量樣本進(jìn)行訓(xùn)練。然而在有監(jiān)督學(xué)習(xí)模式下,大量樣本標(biāo)簽的人工標(biāo)注是非常困難的,這促進(jìn)了無(wú)監(jiān)督深度學(xué)習(xí)模型的發(fā)展[4]。典型的深度無(wú)監(jiān)督學(xué)習(xí)模型有自編碼器(AE,autoencoder)[5-6]、受限波爾茲曼機(jī)(RBM,restricted Boltzmann machine)[7-8]與生成對(duì)抗網(wǎng)絡(luò)(GAN,generative adversarial network)[9]。
自編碼器作為典型的無(wú)監(jiān)督深度學(xué)習(xí)模型,旨在通過(guò)將網(wǎng)絡(luò)的期望輸出等同于輸入樣本,實(shí)現(xiàn)對(duì)輸入樣本的抽象特征學(xué)習(xí)。Rumelhart 等[5]最早提出了自編碼器的概念,Bourlard 等[6]對(duì)其進(jìn)行了詳細(xì)的闡釋。隨著深度學(xué)習(xí)得到空前的關(guān)注,AE 也被廣泛研究與改進(jìn)[10-13]。為獲得高維且稀疏的抽象特征表示,Ng[10]通過(guò)在隱含層輸出中引入稀疏性限制,迫使網(wǎng)絡(luò)使用較少神經(jīng)節(jié)點(diǎn)提取有效特征,提出了稀疏自編碼器(SAE,sparse autoencoder)。Vincent 等[11]提出了去噪自編碼器(DAE,denoising autoencoder)。DAE 在AE 中引入退化過(guò)程,運(yùn)用添加噪聲后的樣本重構(gòu)無(wú)噪聲樣本,使提取的抽象特征不易受噪聲影響,具有更強(qiáng)的穩(wěn)健性。為抑制輸入樣本中的微小擾動(dòng),Rifai 等[12]提出了收縮自編碼器(CAE,contractive autoencoder)。CAE通過(guò)在AE 損失函數(shù)中添加收縮正則化項(xiàng),以達(dá)到局部空間收縮效果。Kingma 等[13]提出了變分自編碼器(VAE,variational autoencoder),并將其用于數(shù)據(jù)生成。憑借訓(xùn)練過(guò)程簡(jiǎn)單、多層堆棧容易、泛化性能優(yōu)秀的特點(diǎn),AE 及其改進(jìn)算法被成功應(yīng)用于目標(biāo)識(shí)別[14-15]、入侵檢測(cè)[16-17]與故障診斷[18-19]等領(lǐng)域。
本文將著重介紹AE 網(wǎng)絡(luò)結(jié)構(gòu)及其算法流程,梳理自編碼器改進(jìn)算法的創(chuàng)新點(diǎn)與實(shí)現(xiàn)方式。同時(shí),結(jié)合最新文獻(xiàn),總結(jié)AE 在多個(gè)領(lǐng)域的研究進(jìn)展。最后,通過(guò)分析當(dāng)前AE 及其改進(jìn)算法存在的問(wèn)題,討論其進(jìn)一步的研究方向。
作為在無(wú)監(jiān)督學(xué)習(xí)中使用的神經(jīng)網(wǎng)絡(luò),自編碼器的輸入與期望輸出均為無(wú)標(biāo)簽樣本,而隱含層輸出則是樣本的抽象特征表示。AE 首先接收輸入樣本,將其轉(zhuǎn)換成高效的抽象表示,而后再輸出原始樣本的重構(gòu)。
自編碼器通常包括兩部分:編碼器和解碼器。編碼器將高維輸入樣本映射到低維抽象表示,實(shí)現(xiàn)樣本壓縮與降維;解碼器則將抽象表示轉(zhuǎn)換為期望輸出,實(shí)現(xiàn)輸入樣本的復(fù)現(xiàn)。自編碼器結(jié)構(gòu)如圖1所示。
圖1 自編碼器結(jié)構(gòu)
與全連接神經(jīng)網(wǎng)絡(luò)相同,AE 節(jié)點(diǎn)連接方式也為全連接,但由于采用無(wú)監(jiān)督學(xué)習(xí)范式,AE 的輸入輸出均為無(wú)標(biāo)簽樣本,不需要標(biāo)簽信息,旨在學(xué)習(xí)樣本的內(nèi)在結(jié)構(gòu),提取抽象特征。傳統(tǒng)全連接網(wǎng)絡(luò)采用有監(jiān)督學(xué)習(xí)范式,其輸出為樣本標(biāo)簽,旨在完成特征到標(biāo)簽的映射。
AE 的訓(xùn)練過(guò)程包括編碼和解碼2 個(gè)階段。編碼過(guò)程,對(duì)輸入樣本進(jìn)行編碼得到編碼層;解碼過(guò)程,對(duì)編碼層進(jìn)行解碼,得到輸入樣本的重構(gòu),并通過(guò)調(diào)整網(wǎng)絡(luò)參數(shù)使重構(gòu)誤差達(dá)到最小值,以獲得輸入特征的最優(yōu)抽象表示。
假設(shè)給定輸入樣本X=Rd×n,編碼層與輸入層間的權(quán)值矩陣W,編碼層節(jié)點(diǎn)偏置bm,解碼層偏置bd,節(jié)點(diǎn)激活函數(shù)g(·),自編碼器首先通過(guò)線性映射和非線性激活函數(shù)完成對(duì)樣本的編碼
AE 的訓(xùn)練旨在使損失函數(shù)達(dá)到最小值
在AE 中,損失函數(shù)通??扇∑椒秸`差損失函數(shù)或交叉熵?fù)p失函數(shù)。對(duì)于輸入樣本與重構(gòu),平方誤差與交叉熵?fù)p失函數(shù)分別為
AE 通常利用梯度下降算法,反向傳播誤差以調(diào)整網(wǎng)絡(luò)參數(shù),通過(guò)迭代微調(diào)逐步使重構(gòu)誤差函數(shù)達(dá)到最小值,以學(xué)習(xí)樣本數(shù)據(jù)中的關(guān)鍵抽象特征。當(dāng)采用梯度下降算法時(shí),假設(shè)學(xué)習(xí)速率為η,AE的連接權(quán)值與偏置更新式分別為
研究者通常將多個(gè)AE 進(jìn)行級(jí)聯(lián),構(gòu)建堆棧自編碼器,采用逐層貪婪訓(xùn)練方式,將上一級(jí)AE 的隱含層輸出作為下一級(jí)AE 的輸入,進(jìn)行層次化特征提取,使最終提出的特征更具代表性,且維數(shù)通常較低[20]。堆棧自編碼器通常具有對(duì)稱的多隱含層結(jié)構(gòu),對(duì)應(yīng)于解碼與編碼過(guò)程,但被應(yīng)用于分類或回歸問(wèn)題時(shí),一般將解碼部分舍去,將最終的編碼用于分類[21]或回歸[22]。
對(duì)于特定的輸入樣本,自編碼器通過(guò)特征的正向傳播與誤差的反向傳播,采用梯度下降算法更新網(wǎng)絡(luò)連接權(quán)值與節(jié)點(diǎn)偏置,使重構(gòu)樣本逐步逼近輸入樣本,進(jìn)而提取樣本的抽象特征。算法流程如算法1 所示。
算法1自編碼器算法
輸入訓(xùn)練樣本,隱含層節(jié)點(diǎn)數(shù)m,激活函數(shù)g(·),學(xué)習(xí)速率η,最大迭代次數(shù)Nmax
輸出映射函數(shù)f:Rd→Rd
1) 初始化,迭代次數(shù)N=0,隨機(jī)賦值連接權(quán)值與節(jié)點(diǎn)偏置W,bm,bd;
2) whileN<Nmax
3) 更新迭代次數(shù)N=N+1;
4) 正向傳播,利用式(1)和式(2)計(jì)算隱含層輸出H和樣本重構(gòu);
5) 利用式(4)或式(5)計(jì)算網(wǎng)絡(luò)誤差J(W,b);
6) 反向傳播,利用式(6)和式(7)分別更新權(quán)值W和偏置bm、bd;
7) end while
8) 返回映射函數(shù)f(X)=g(WTg(WX+bm)+bd)
以上流程中,算法停止條件僅為最大迭代次數(shù)。在實(shí)際應(yīng)用中,還可設(shè)定期望誤差等其他停止條件。
除AE 以外,基于神經(jīng)網(wǎng)絡(luò)的無(wú)監(jiān)督學(xué)習(xí)算法還包括 RBM、GAN 與自組織映射(SOM,self-organization mapping)[23]。表1 歸納了上述無(wú)監(jiān)督學(xué)習(xí)算法的目的、實(shí)現(xiàn)方式與特點(diǎn)。
表1 基于神經(jīng)網(wǎng)絡(luò)的無(wú)監(jiān)督學(xué)習(xí)算法分析與比較
與主成分分析、獨(dú)立成分分析等常用無(wú)監(jiān)督學(xué)習(xí)算法相比,AE 通過(guò)將特征進(jìn)行加權(quán)融合,轉(zhuǎn)化為維數(shù)更低、更具代表性的高級(jí)抽象,能夠有效利用次要特征中的重要信息,而不是一味地舍棄次要特征,因此采用AE 進(jìn)行特征提取或降維后的抽象特征,更有助于分類與回歸任務(wù)。與RBM 相比,AE 不需要對(duì)比散度算法中的采樣運(yùn)算,訓(xùn)練時(shí)間更短。與SOM 相比,AE 通過(guò)改變隱含層節(jié)點(diǎn)數(shù),可以完成任意維度特征空間的映射。
傳統(tǒng)自編碼器僅通過(guò)最小化輸入樣本與重構(gòu)樣本之間的誤差來(lái)獲取輸入樣本的抽象特征表示,這可能導(dǎo)致自編碼器學(xué)習(xí)到的特征僅僅是原始輸入的恒等表示,不能保證提取到樣本的本質(zhì)特征。為避免上述問(wèn)題,需要對(duì)傳統(tǒng)自編碼器添加約束或修改網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)而產(chǎn)生了SAE、DAE、CAE 與VAE 等改進(jìn)算法。
稀疏自編碼器在自編碼器中添加稀疏性限制,以發(fā)現(xiàn)樣本中的特定結(jié)構(gòu),避免網(wǎng)絡(luò)對(duì)恒等函數(shù)的簡(jiǎn)單學(xué)習(xí)。在SAE 中,稀疏性限制迫使隱含層節(jié)點(diǎn)大部分時(shí)間被抑制,即隱含層節(jié)點(diǎn)輸出接近于0(因激活函數(shù)不同而不同),使網(wǎng)絡(luò)僅依賴少量隱含層節(jié)點(diǎn)進(jìn)行編碼和解碼,提取到的特征稀疏性更強(qiáng)。
稀疏性限制需要在損失函數(shù)上添加關(guān)于激活度的正則化項(xiàng),對(duì)過(guò)大的激活度加以懲罰,以降低隱含層節(jié)點(diǎn)激活度。通常采用L1范數(shù)或KL 散度(Kullback-Leibler divergence)正則化項(xiàng)。
當(dāng)采用L1范數(shù)正則化項(xiàng)時(shí),給定aj(xi)表示隱含層節(jié)點(diǎn)j對(duì)輸入xi的激活值,λ表示控制懲罰程度的L1正則化系數(shù),則SAE 的損失函數(shù)為
當(dāng)采用KL 散度正則化項(xiàng)時(shí),給定稀疏性參數(shù)ρ,隱含層節(jié)點(diǎn)j的平均激活度為,KL 正則化系數(shù)β,SAE 的損失函數(shù)為
KL 散度計(jì)算式為
稀疏性參數(shù)ρ通常為一個(gè)較小的值(如ρ=0.05),表示隱含層節(jié)點(diǎn)的理想平均激活度,為滿足這一條件,隱含層節(jié)點(diǎn)的激活度必須接近0。的計(jì)算式為
KL 散度隨著ρ與之間差的增加而單調(diào)遞增,這使SAE 的訓(xùn)練會(huì)強(qiáng)迫隱含層節(jié)點(diǎn)的平均激活度接近ρ,更多的節(jié)點(diǎn)激活度接近0,以增強(qiáng)所提取特征的稀疏性。
與其他自編碼器相比,SAE 能夠有效學(xué)習(xí)重要特征,抑制次要特征,提取的抽象特征維度更低,更具稀疏性。但SAE 無(wú)法指定特定節(jié)點(diǎn)處于激活或抑制狀態(tài),且稀疏性參數(shù)的設(shè)置缺乏指導(dǎo),通常需要額外的參數(shù)影響實(shí)驗(yàn)進(jìn)行確定。
為避免傳統(tǒng)自編碼器學(xué)習(xí)到無(wú)編碼功能的恒等函數(shù),去噪自編碼器在AE 的基礎(chǔ)上引入了退化過(guò)程。DAE 在退化過(guò)程中對(duì)輸入樣本添加噪聲,以改變輸入樣本的數(shù)據(jù)分布,而后通過(guò)訓(xùn)練重構(gòu)無(wú)噪聲的樣本,防止AE 簡(jiǎn)單地將輸入復(fù)制到輸出,迫使AE 提取的抽象特征更加反映樣本本質(zhì)、更具穩(wěn)健性。DAE 網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 DAE 網(wǎng)絡(luò)結(jié)構(gòu)
DAE 中,退化過(guò)程是指對(duì)于每一個(gè)輸入樣本,按照一定比例v將其特征值置為0 或其他值,這個(gè)比例v被稱作退化率。退化過(guò)程如圖3 所示(對(duì)于灰度圖像,置0 意味著置黑)。
圖3 退化過(guò)程
DAE 加入退化過(guò)程的自然原理是人眼在看物體時(shí),如果物體某一小部分被遮住了,人眼依然能將其識(shí)別出來(lái)。該現(xiàn)象說(shuō)明人所帶有的“生物”自編碼器所提取的特征更具有代表性與穩(wěn)健性,對(duì)于輸入中含有一定噪聲的樣本數(shù)據(jù),它經(jīng)過(guò)編碼、解碼后仍能得到純凈無(wú)噪的樣本。這要求自編碼器不僅要有編碼功能,還要有去噪作用[8]。然而,即使樣本中含有噪聲,AE 卻只能重構(gòu)含有噪聲的輸入樣本。所以,對(duì)原始樣本進(jìn)行適當(dāng)?shù)耐嘶幚?,再讓自編碼器重構(gòu)原始樣本,這樣所提取的特征更本質(zhì)、更抗干擾[11]。
與其他自編碼器相比,DAE 能夠在一定程度上克服輸入樣本中存在的噪聲干擾,提取的抽象特征更具有代表性與穩(wěn)健性。但DAE 引入了額外的退化過(guò)程,增加了模型的訓(xùn)練時(shí)間,且算法對(duì)退化率敏感,過(guò)小的退化率難以有效提升算法性能,而過(guò)大的退化率會(huì)使輸入樣本嚴(yán)重失真,降低算法性能。
收縮自編碼器在傳統(tǒng)自編碼器的基礎(chǔ)上,通過(guò)在損失函數(shù)上添加收縮正則化項(xiàng),迫使編碼器學(xué)習(xí)到有更強(qiáng)收縮作用的特征提取函數(shù),提升對(duì)輸入樣本小擾動(dòng)的穩(wěn)健性,防止對(duì)恒等函數(shù)的學(xué)習(xí)。
假設(shè)收縮正則化系數(shù)為λ,隱含層輸出關(guān)于輸入樣本的雅可比矩陣為Jf(x),CAE 的損失函數(shù)為
從損失函數(shù)看,CAE 通過(guò)重構(gòu)誤差與收縮正則化項(xiàng)的平衡以提取樣本的抽象特征。收縮正則化項(xiàng)使CAE 學(xué)習(xí)到的函數(shù)對(duì)于輸入的梯度都較小,而重構(gòu)誤差迫使CAE 保留完整的信息。在兩者共同作用下,特征提取函數(shù)關(guān)于輸入的梯度大都較小,只有少部分梯度較大。這樣在輸入具有小擾動(dòng)時(shí),較小的梯度會(huì)削弱這些擾動(dòng),從而提升CAE 對(duì)輸入小擾動(dòng)的穩(wěn)健性。
需要注意的是,CAE 與DAE 存在差別。DAE通過(guò)對(duì)輸入樣本添加噪聲,經(jīng)過(guò)編碼與解碼獲得樣本的穩(wěn)健性重構(gòu);CAE 通過(guò)對(duì)損失函數(shù)添加正則化項(xiàng),提升特征提取函數(shù)穩(wěn)健性。CAE 是通過(guò)內(nèi)部因素提升特征提取穩(wěn)健性,而DAE 則是通過(guò)外部因素提高特征提取穩(wěn)健性。
與其他自編碼器相比,CAE 能夠抵抗輸入樣本存在的一定擾動(dòng),提取到的抽象特征具有更強(qiáng)的穩(wěn)健性。但收縮正則化項(xiàng)在具有多個(gè)隱含層的自編碼器中難以計(jì)算,因此CAE 通常僅包含單一隱含層。
作為特殊的自編碼器,變分自編碼器并非判別式模型,而屬于生成模型。VAE 旨在通過(guò)對(duì)樣本分布的學(xué)習(xí),采用估計(jì)分布近似逼近樣本真實(shí)分布,進(jìn)而由估計(jì)分布生成原始樣本的類似樣本[24]。VAE結(jié)構(gòu)如圖4 所示。
圖4 VAE 結(jié)構(gòu)
圖4 中,Z為隱變量,μ與σ為隱變量Z的均值與標(biāo)準(zhǔn)差,與分別為編碼過(guò)程與解碼過(guò)程學(xué)習(xí)到的條件分布,對(duì)應(yīng)識(shí)別與生成模型[25]。其中,為使VAE 具有樣本生成能力,而非確定的映射過(guò)程,隱變量Z需為隨機(jī)變量,且為簡(jiǎn)化計(jì)算,通常假設(shè)隱變量Z服從多元正態(tài)分布,即為近似后驗(yàn)分布,旨在逼近未知的真實(shí)先驗(yàn)分布,通常假設(shè)為正態(tài)分布。而需被提前定義,針對(duì)二值與實(shí)值樣本,通常分別選擇伯努利分布與正態(tài)分布。
VAE 的訓(xùn)練目標(biāo)旨在最小化輸入樣本分布P(X)和重構(gòu)樣本分布距離,通常采用KL 散度進(jìn)行分布之間的距離衡量,即
但由于真實(shí)分布的未知性,KL 散度不可直接計(jì)算,因此VAE 引入近似后驗(yàn)分布,并采用極大似然法優(yōu)化目標(biāo)函數(shù),推導(dǎo)出其對(duì)數(shù)似然函數(shù)
由于KL 散度非負(fù),因此L(X)稱為似然函數(shù)的變分下界,其計(jì)算式為
式(17)中等號(hào)右邊第一項(xiàng)為正則化項(xiàng),第二項(xiàng)為VAE 期望重構(gòu)誤差的負(fù)值。VAE 通過(guò)最小化損失函數(shù),使估計(jì)分布接近P(Z),且期望重構(gòu)誤差接近0。
需要注意的是,在VAE 訓(xùn)練過(guò)程中,需要對(duì)隱變量Z進(jìn)行隨機(jī)采樣,無(wú)法求導(dǎo),導(dǎo)致無(wú)法采用反向傳播算法優(yōu)化參數(shù)。為克服該問(wèn)題,VAE 提出了重參數(shù)技巧,引入?yún)?shù)ε~N(0,I),通過(guò)抽取L個(gè)樣本εi,將隱變量Z的直接采樣變換為的線性運(yùn)算,使其能夠采用梯度下降算法進(jìn)行優(yōu)化。
VAE 的訓(xùn)練可以分為3 個(gè)階段:編碼、采樣和解碼。編碼階段,對(duì)于輸入樣本X,VAE 通過(guò)識(shí)別模型產(chǎn)生隱變量Z分布的均值μ與標(biāo)準(zhǔn)差σ;采樣階段,對(duì)于均值μ與標(biāo)準(zhǔn)差σ,VAE 通過(guò)重參數(shù)化技巧,生成隱變量Z的隨機(jī)采樣樣本;解碼階段,對(duì)于隱變量Z的采樣樣本,VAE 通過(guò)生成模型生成新樣本。
與其他自編碼器相比,VAE 屬于生成模型,能夠估計(jì)樣本的真實(shí)分布,進(jìn)而生成類似樣本,但也因此不能直接應(yīng)用于分類與回歸任務(wù)中。并且由于需要最小化重構(gòu)誤差,與GAN 相比,生成的樣本更加自然,卻也更加模糊。
1) 卷積自編碼器
傳統(tǒng)自編碼器通常采用全連接層,這會(huì)造成圖像空間信息的損失,而卷積自編碼器(CoAE,convolutional autoencoder)[26]受卷積神經(jīng)網(wǎng)絡(luò)啟發(fā),采用卷積層與池化層取代全連接層,以更好地保留圖像的空間信息。在CoAE 中,編碼過(guò)程由卷積層和池化層(下采樣層)組成,解碼過(guò)程由上采樣層和卷積層組成,其中上采樣層為池化層的逆過(guò)程。
假設(shè)X表示輸入樣本,Wk與bk分別表示第k個(gè)卷積核的權(quán)值與偏置,*表示卷積運(yùn)算,g(·)表示池化函數(shù),hk表示第k個(gè)卷積核所提取的抽象特征,則CoAE 的編碼過(guò)程為
解碼器將各個(gè)卷積核提取的抽象特征進(jìn)行解碼重構(gòu),并將其合并為最終的重構(gòu)樣本。
CoAE 的損失函數(shù)為
式(20)中等號(hào)右邊第二項(xiàng)為權(quán)值L2范數(shù)正則化項(xiàng),與傳統(tǒng)正則化自編碼器相同,用于控制權(quán)值的衰減程度,以降低噪聲影響,提升網(wǎng)絡(luò)的泛化性能,并改善過(guò)擬合現(xiàn)象。
與其他自編碼器相比,CoAE 能夠直接應(yīng)用于圖像樣本的處理,提取到的特征能夠保留更多的圖像空間信息。但由于涉及卷積、池化及其逆操作,CoAE 的實(shí)現(xiàn)更復(fù)雜。
2) 極限學(xué)習(xí)機(jī)-自編碼器
傳統(tǒng)自編碼器需要誤差的反向傳播,通過(guò)迭代微調(diào)修改網(wǎng)絡(luò)參數(shù),這使其易陷入局部最優(yōu),且需要較多的訓(xùn)練時(shí)間。為克服局部最優(yōu)問(wèn)題并減少訓(xùn)練時(shí)間,極限學(xué)習(xí)機(jī)-自編碼器(ELM-AE,extreme learning machine autoencoder)[27]將極限學(xué)習(xí)機(jī)(ELM,extreme learning machine)與AE 相結(jié)合,隨機(jī)賦值隱含層輸入權(quán)值與偏置,并通過(guò)求取隱含層輸出權(quán)值的最小二乘解,完成網(wǎng)絡(luò)訓(xùn)練,使網(wǎng)絡(luò)參數(shù)不需要迭代微調(diào),極大增加了網(wǎng)絡(luò)訓(xùn)練速度,而且最小二乘解為全局最優(yōu)解,保證了算法的泛化性能。
ELM-AE 網(wǎng)絡(luò)結(jié)構(gòu)與AE 相同,但其隱含層輸出權(quán)值通常以β表示,并且為保證ELM-AE 的泛化性能,隱含層輸入權(quán)值與偏置需要進(jìn)行正交化,即WTW=I,bTb=I。ELM-AE 隱含層輸出H與重構(gòu)樣本的關(guān)系為
ELM-AE 隱含層輸出權(quán)值β的求解方法與網(wǎng)絡(luò)各層節(jié)點(diǎn)數(shù)有關(guān)。當(dāng)輸入層節(jié)點(diǎn)數(shù)N與隱含層節(jié)點(diǎn)數(shù)L不同時(shí),β計(jì)算式為
當(dāng)輸入層節(jié)點(diǎn)數(shù)N與隱含層節(jié)點(diǎn)數(shù)L相同時(shí),β計(jì)算式為
與其他自編碼器相比,ELM-AE 不需要采用梯度下降算法進(jìn)行迭代微調(diào),極大縮減了訓(xùn)練時(shí)間。但由于隨機(jī)賦值的隱含層輸入權(quán)值與偏置無(wú)法通過(guò)迭代進(jìn)行調(diào)整,導(dǎo)致ELM-AE 的算法性能通常具有較大程度的波動(dòng)。
3) 自編碼器改進(jìn)算法比較
除上述算法以外,研究者還提出了其他自編碼器改進(jìn)算法[28-35],包括區(qū)分自編碼器[28]、L21范數(shù)自編碼器[29]、對(duì)抗自編碼器[30]等。表2 歸納總結(jié)了上述自編碼器改進(jìn)算法的出發(fā)點(diǎn)與改進(jìn)方式。
表2 自編碼器改進(jìn)算法的分析與比較
這些改進(jìn)算法主要通過(guò)3 種方式對(duì)自編碼器進(jìn)行創(chuàng)新:1)對(duì)損失函數(shù)增加特定的正則化約束,改善所提取特征的特定性質(zhì);2)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),保留有效信息或增加數(shù)據(jù)生成能力;3)與其他算法相結(jié)合,改善訓(xùn)練方法,減少訓(xùn)練時(shí)間。
作為典型的深度學(xué)習(xí)模型,自編碼器憑借其優(yōu)異的特征提取能力,已被應(yīng)用于目標(biāo)識(shí)別、入侵檢測(cè)、故障診斷、文本分類、圖像重建等諸多領(lǐng)域中。
目標(biāo)識(shí)別作為機(jī)器學(xué)習(xí)技術(shù)的熱點(diǎn)應(yīng)用領(lǐng)域,一直備受關(guān)注,而提升目標(biāo)識(shí)別性能的關(guān)鍵是有效的特征提取與分類。隨著傳感器性能的增強(qiáng),其能夠獲取的目標(biāo)信息及其種類也在增加,這使傳統(tǒng)人工特征提取方式難以深入挖掘目標(biāo)的潛在本質(zhì)特征,進(jìn)而影響目標(biāo)識(shí)別性能[36]。而以自編碼器為代表的深度學(xué)習(xí)技術(shù)能夠?qū)崿F(xiàn)目標(biāo)特征的自動(dòng)提取,擺脫人工提取的局限,有利于目標(biāo)識(shí)別性能的提升。自編碼器在目標(biāo)識(shí)別上的應(yīng)用,根據(jù)數(shù)據(jù)源種類的不同,大致可分為基于自編碼器的高分辨距離像(HRRP,high resolution range profile)識(shí)別與合成孔徑雷達(dá)(SAR,synthetic aperture radar)圖像識(shí)別。
對(duì)于HRRP 識(shí)別,Mian 等[14]將稀疏自編碼器應(yīng)用于小樣本識(shí)別中,通過(guò)堆棧稀疏自編碼器(SSAE,stacked SAE)逐層提取樣本抽象特征,softmax 分類器完成類別標(biāo)簽的映射與網(wǎng)絡(luò)參數(shù)的迭代微調(diào),實(shí)現(xiàn)了小訓(xùn)練樣本條件下的目標(biāo)HRRP識(shí)別,并驗(yàn)證了自編碼器的特征提取性能優(yōu)于PCA等傳統(tǒng)方法。Feng 等[15]為突破傳統(tǒng)淺層模型特征提取能力的局限,通過(guò)引入平均像正則化項(xiàng),提出了矯正自編碼器及其深度模型。矯正自編碼器將HRRP 與其平均像之間的馬氏距離作為正則化項(xiàng)添加到AE 損失函數(shù)中,迫使特征提取過(guò)程考慮HRRP的結(jié)構(gòu)相似性與振幅波動(dòng)性,使提取的抽象特征能夠有效緩解斑紋效應(yīng)與異常值影響。為保持SAE對(duì)HRRP 識(shí)別的泛化性能,提升訓(xùn)練速度,Zhao等[37]將SAE 與ELM 相結(jié)合,提出了SAE-ELM 方法。該方法首先通過(guò)SAE 逐層提取抽象特征,而后使用ELM 完成分類,不需要參數(shù)的迭代微調(diào),極大減少了訓(xùn)練時(shí)間。為實(shí)現(xiàn)多角度HRRP 目標(biāo)的角度特征提取與分析,Chen 等[38]首先采用SSAE 逐層提取低維抽象特征,然后通過(guò)流形學(xué)習(xí),利用低維空間映射完成目標(biāo)角度特征的提取與可視化,并分別在仿真與實(shí)測(cè)數(shù)據(jù)上驗(yàn)證了該方法的有效性。
對(duì)于SAR 圖像識(shí)別,Kang 等[39]提出了基于堆棧自編碼器的SAR 目標(biāo)識(shí)別特征融合算法,該方法首先提取SAR 圖像的基線特征與紋理特征,而后將通過(guò)零成分分析法降維后的特征代入堆棧自編碼器中進(jìn)行抽象特征提取與融合,最后采用softmax 分類器完成抽象特征到類別標(biāo)簽的映射。為提升AE 在小樣本條件下的特征提取能力,Deng等[40]將暗含樣本類別信息的歐氏距離約束添加到AE 中,迫使其提取的抽象特征具有更強(qiáng)的類間可區(qū)分性,并將Dropout 正則化技術(shù)應(yīng)用到改進(jìn)AE的深度模型中,防止出現(xiàn)過(guò)擬合現(xiàn)象。Dong 等[41]首先綜合分析了自編碼器及其改進(jìn)算法,然后通過(guò)具體的SAR 圖像識(shí)別實(shí)驗(yàn),驗(yàn)證了自編碼器進(jìn)行提取特征的有效性,分析了不同參數(shù)對(duì)AE 泛化性能的影響,并比較了堆棧自編碼器與其他典型算法的分類性能。為提升SAR 圖像的特征提取性能,增強(qiáng)抽象特征的類內(nèi)聚集性,Guo 等[42]通過(guò)對(duì)卷積自編碼器施加緊湊性約束,提出了緊湊卷積自編碼器。該方法將類內(nèi)樣本距離正則化項(xiàng)添加到損失函數(shù)中,同時(shí)最小化重構(gòu)誤差與類內(nèi)樣本距離,以生成更具區(qū)分性的抽象特征,并通過(guò)在MSTAR 數(shù)據(jù)集上的實(shí)驗(yàn)證實(shí)了方法的有效性。
入侵檢測(cè)旨在通過(guò)分析網(wǎng)絡(luò)數(shù)據(jù)分組中的協(xié)議類型、服務(wù)類型以及持續(xù)時(shí)間等特征,識(shí)別其中的惡意攻擊行為,為應(yīng)對(duì)非法入侵提供預(yù)警,保障網(wǎng)絡(luò)安全[43]。然而,隨著大數(shù)據(jù)、云計(jì)算等技術(shù)的突飛猛進(jìn),網(wǎng)絡(luò)安全威脅日益復(fù)雜,問(wèn)題復(fù)雜度不斷升高,數(shù)據(jù)維度不斷增加,這使傳統(tǒng)機(jī)器學(xué)習(xí)方法難以有效提取特征,存在學(xué)習(xí)效率低、誤報(bào)率高的現(xiàn)象,而自編碼器高效的特征提取能力,有利于發(fā)現(xiàn)潛在安全威脅,為解決復(fù)雜的入侵檢測(cè)問(wèn)題提供可能。
Li 等[16]提出一種將AE 與深度置信網(wǎng)絡(luò)相結(jié)合的入侵檢測(cè)方法,該方法首先采用AE 進(jìn)行特征降維,然后采用深度置信網(wǎng)絡(luò)對(duì)降維后的數(shù)據(jù)進(jìn)行分類。相較于傳統(tǒng)深度置信網(wǎng)絡(luò),該方法的檢測(cè)準(zhǔn)確率得到一定提升。Javaid 等[17]與Al-qatf 等[44]將SAE應(yīng)用于入侵檢測(cè)中,2 種方法首先采用獨(dú)熱編碼處理符號(hào)特征,然后通過(guò)SAE 進(jìn)行層次化抽象特征提取,最后分別使用softmax 分類器與支持向量機(jī)(SVM,support vector machine)完成類別映射。2 種方法均在NSL-KDD 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),通過(guò)準(zhǔn)確率、精準(zhǔn)率、召回率與F 值等指標(biāo)的變化,驗(yàn)證算法有效性。為改進(jìn)AE 與VAE 中的抽象特征表示,迫使抽象特征向原點(diǎn)聚集,Cao 等[45]通過(guò)增加AE損失函數(shù)中的抽象特征L2范數(shù)正則化項(xiàng),重構(gòu)VAE損失函數(shù)中的KL 散度項(xiàng),提出了縮小自編碼器與狄拉克變分自編碼器,并將其應(yīng)用于異常檢測(cè)中。Chouhan 等[46]將堆棧自編碼器與改進(jìn)的卷積網(wǎng)絡(luò)相結(jié)合,提出了一種新的入侵檢測(cè)方法。該方法將多個(gè)堆棧自編碼器用于原始特征空間到抽象特征空間的轉(zhuǎn)換,得到多個(gè)不同的抽象特征空間,并采用信道增強(qiáng)方法將不同的抽象特征空間進(jìn)行疊加,而后代入改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行分類,完成異常行為的檢測(cè)。對(duì)于入侵檢測(cè)數(shù)據(jù)集中存在的類別不平衡問(wèn)題,通過(guò)將類別標(biāo)簽作為VAE 的額外輸入,Lopez-martin 等[47]提出了一種新的變分生成模型,并將其用于少數(shù)類的生成中,有效提升了檢測(cè)準(zhǔn)確率。通過(guò)將統(tǒng)計(jì)分析方法與自編碼器相結(jié)合,Ieracitano 等[48]提出了一種新的入侵檢測(cè)方法。該方法先后采用異常值分析剔除異常值、最小最大歸一化統(tǒng)一數(shù)值范圍、獨(dú)熱編碼數(shù)值化符號(hào)特征,而后通過(guò)數(shù)值0 的比例進(jìn)行特征剔除,接著將剩余特征分別通過(guò)AE 與softmax 分類器完成特征降維與分類。Tang 等[49]為進(jìn)一步提升特征提取能力,通過(guò)在輸入層與隱含層間新增用于計(jì)算特征注意力向量的注意力機(jī)制層,將注意力機(jī)制引入AE 中,提出了注意力自編碼器(AAE,attention autoencoder),并將堆棧注意力自編碼器(SAAE,stacked AAE)與深度神經(jīng)網(wǎng)絡(luò)(DNN,deep neural network)相結(jié)合應(yīng)用于入侵檢測(cè)中。
機(jī)械故障診斷通過(guò)對(duì)獲取的機(jī)械運(yùn)行狀態(tài)信息進(jìn)行分析比較,旨在及時(shí)發(fā)現(xiàn)機(jī)器異?;蚬收?,從而減少故障或事故的發(fā)生[50]。傳統(tǒng)故障診斷方法基于對(duì)振動(dòng)信號(hào)的分析與處理,通過(guò)經(jīng)驗(yàn)知識(shí)進(jìn)行特征提取與選擇,并選擇淺層分類器完成故障類別的判定。然而,隨著現(xiàn)代化機(jī)電設(shè)備發(fā)展,傳感器數(shù)量增多、采樣頻率升高、數(shù)據(jù)量加大,且振動(dòng)信號(hào)的非線性、非高斯分布性等特性凸顯,傳統(tǒng)方法難以實(shí)現(xiàn)故障的快速準(zhǔn)確判斷,這促使包括自編碼器在內(nèi)的深度學(xué)習(xí)技術(shù)應(yīng)用于故障診斷中。
Zhang 等[18]與Lu 等[19]分別將AE 與DAE 應(yīng)用于滾動(dòng)軸承故障診斷中,使用其深度結(jié)構(gòu)實(shí)現(xiàn)振動(dòng)信號(hào)的抽象特征提取,克服了傳統(tǒng)人工特征提取的局限,極大提升了故障診斷準(zhǔn)確率。為實(shí)現(xiàn)特征的自動(dòng)提取,克服訓(xùn)練樣本與測(cè)試樣本間的差異性,Wen 等[51]將SAE 與遷移學(xué)習(xí)相結(jié)合,提出了基于深度遷移學(xué)習(xí)的故障診斷方法。該方法將訓(xùn)練樣本與測(cè)試樣本均采用SAE 逐層提取樣本抽象,并在網(wǎng)絡(luò)損失函數(shù)中加入最大平均差異正則化項(xiàng),最小化訓(xùn)練和測(cè)試樣本抽象特征之間的差異,使提取的抽象特征能同時(shí)有效表征訓(xùn)練與測(cè)試樣本。在常用故障診斷數(shù)據(jù)集上的實(shí)驗(yàn)表明,該方法的預(yù)測(cè)準(zhǔn)確率高于深度置信網(wǎng)絡(luò)、SVM 等算法。Li 等[52]將稀疏與鄰域原理應(yīng)用于ELM-AE 中,通過(guò)在損失函數(shù)中增加稀疏與鄰域正則化項(xiàng),更新隱含層輸出權(quán)值的最小二乘法,迫使抽象特征保留樣本的全局與局部流形結(jié)構(gòu),提升其可區(qū)分性,并與ELM 及其深度模型進(jìn)行對(duì)比分析,驗(yàn)證了所提方法在故障診斷上的有效性。為提取含噪聲振動(dòng)信號(hào)的有效故障特征,Yu[53]提出了一種基于負(fù)相關(guān)學(xué)習(xí)的選擇性堆棧去噪自編碼器集成模型。該模型首先將bagging 算法應(yīng)用于堆棧去噪自編碼器(SDAE,stacked DAE)中,通過(guò)bootstrap 采樣訓(xùn)練樣本,使用不同的采樣樣本進(jìn)行SDAE 抽象特征提取,然后利用負(fù)相關(guān)學(xué)習(xí)進(jìn)行微調(diào),構(gòu)建分類器,最后采用粒子群算法對(duì)SDAE 進(jìn)行選擇性集成,得到穩(wěn)定性與泛化性能最優(yōu)的模型。Zhao 等[54]為解決故障樣本少所導(dǎo)致的類不平衡問(wèn)題,將VAE 引入故障診斷框架中,通過(guò)增擴(kuò)少數(shù)類的振動(dòng)信號(hào)樣本,構(gòu)建出類別平衡的訓(xùn)練樣本,并代入CNN 中進(jìn)行分類。實(shí)驗(yàn)結(jié)果表明,與真實(shí)信號(hào)相比,VAE 生成的振動(dòng)信號(hào)具有相似的時(shí)頻特性,能夠促進(jìn)診斷準(zhǔn)確率的提升。Yu 等[55]為提升對(duì)一維振動(dòng)信號(hào)的特征提取能力,將一維卷積自編碼器應(yīng)用于齒輪故障診斷中,并引入殘差學(xué)習(xí)對(duì)其進(jìn)行改進(jìn)。Gao 等[56]提出了一種基于半監(jiān)督堆棧自編碼器與集成極限學(xué)習(xí)機(jī)相結(jié)合的高壓開(kāi)關(guān)故障診斷方法。該方法首先采用自適應(yīng)噪聲完備經(jīng)驗(yàn)?zāi)B(tài)分解對(duì)針對(duì)信號(hào)進(jìn)行處理,得到時(shí)頻能量矩陣,然后對(duì)能量矩陣采用半監(jiān)督堆棧自編碼器進(jìn)行自動(dòng)特征提取,接著采用集成極限學(xué)習(xí)機(jī)建立兩級(jí)分類器,第一級(jí)用于正常或異常狀態(tài)識(shí)別,第二級(jí)用于異常狀態(tài)的具體故障類型識(shí)別。在驗(yàn)證實(shí)驗(yàn)中,該方法的分類準(zhǔn)確率可達(dá)到99.5%。
1) 文本分類
文本分類旨在通過(guò)文檔的標(biāo)題、關(guān)鍵詞、正文等特征信息,對(duì)其所屬類別進(jìn)行判定,從而代替人工完成文本信息的分類管理。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,AE、CNN 等算法已逐步應(yīng)用于文本分類中[57-59]。
許卓斌等[57]為提升AE 在詞嵌入中的效果,通過(guò)在AE 隱含層中加入全局調(diào)整函數(shù),實(shí)現(xiàn)特征的合并,增強(qiáng)特征向量的稀疏性,并在20 News Groups數(shù)據(jù)集上驗(yàn)證了該改進(jìn)方法的有效性。為提升高維度文本的特征提取能力,減少訓(xùn)練時(shí)間,冀俊忠等[60]提出了基于ELM-AE 的文本分類方法。該方法首先利用ELM-AE 對(duì)高維度文本進(jìn)行特征降維,而后通過(guò)堆棧ELM-AE 實(shí)現(xiàn)文本抽象特征的層次化提取,并計(jì)算輸出層權(quán)值的最小二乘解進(jìn)行文本分類。Xu等[61]針對(duì)半監(jiān)督文本分類問(wèn)題,提出了一種半監(jiān)督序列變分自編碼器。該方法通過(guò)將未標(biāo)記樣本的類別標(biāo)簽作為離散潛變量,最大化樣本的似然變分下界,從而隱式推導(dǎo)出未標(biāo)記樣本的潛在類別分布,并通過(guò)解決序列解碼器的自回歸問(wèn)題,使其能夠應(yīng)用于文本分類。
2) 圖像重建
圖像重建技術(shù)旨在根據(jù)物體測(cè)量數(shù)據(jù),通過(guò)數(shù)據(jù)處理重新建立物體圖像。但是常見(jiàn)的壓縮感知[62-63]、字典學(xué)習(xí)[64-65]等圖像重建方法具有重建時(shí)間過(guò)長(zhǎng)與超參數(shù)選擇困難的問(wèn)題[66]。而基于深度學(xué)習(xí)的圖像重建方法,能夠?qū)W習(xí)樣本的高級(jí)抽象特征,避免了傳統(tǒng)方法的人工特征提取,在重建精度與速度上實(shí)現(xiàn)了突破[67]。
Tan 等[68]將AE 應(yīng)用于圖像重建與識(shí)別中,通過(guò)重建誤差指標(biāo),比較了堆棧自編碼器與主成分分析法、深度置信網(wǎng)絡(luò)的性能。Mehta 等[69]為提升DAE 對(duì)異常值的穩(wěn)健性,實(shí)現(xiàn)實(shí)時(shí)醫(yī)學(xué)影像重建,將原有的歐氏范數(shù)(L2范數(shù))損失函數(shù)替換為L(zhǎng)1范數(shù)損失函數(shù),降低了異常值影響,提升了網(wǎng)絡(luò)參數(shù)的稀疏性,同時(shí)采用少量的矩陣乘積運(yùn)算,極大搞高了重建速度。為保留更多的圖像細(xì)節(jié),Zhou等[70]通過(guò)在卷積自編碼器中引入結(jié)構(gòu)相似度與多尺度結(jié)構(gòu)相似度指標(biāo),構(gòu)成結(jié)構(gòu)增強(qiáng)損失項(xiàng),添加到損失函數(shù)中,提出了結(jié)構(gòu)增強(qiáng)卷積自編碼器,并將其作為生成器與對(duì)抗生成網(wǎng)絡(luò)相結(jié)合,用于高度欠采樣樣本的圖像重建。在不同欠采樣率與采樣類型下的對(duì)比實(shí)驗(yàn)表明,該方法能夠以較少的模型參數(shù)重建更高質(zhì)量的圖像。
盡管近年來(lái)研究者對(duì)自編碼器及其改進(jìn)算法進(jìn)行了深入研究,但現(xiàn)階段仍存在以下問(wèn)題亟須解決。
1) 無(wú)監(jiān)督學(xué)習(xí)模式對(duì)特征提取能力的限制
與有監(jiān)督學(xué)習(xí)相比,無(wú)監(jiān)督學(xué)習(xí)模式擺脫了對(duì)樣本標(biāo)簽的依賴、避免了人工標(biāo)注的困難,但也因此失去了樣本標(biāo)簽的輔助,標(biāo)簽信息難以有效應(yīng)用于特征提取中,使自編碼器性能與有監(jiān)督學(xué)習(xí)存在一定差距。因此,研究半監(jiān)督[71]或有監(jiān)督條件下的自編碼器[72],合理運(yùn)用標(biāo)簽信息提升自編碼器特征提取能力,是一個(gè)需要重點(diǎn)關(guān)注與解決的問(wèn)題。
針對(duì)此問(wèn)題,一方面可以通過(guò)在自編碼器輸入層或輸出層中直接添加樣本標(biāo)簽,同時(shí)重構(gòu)輸入樣本及其標(biāo)簽,強(qiáng)迫自編碼器在編碼與解碼過(guò)程中考慮到標(biāo)簽損失,使提取的特征更加符合不同樣本的類本質(zhì)。另一方面,可以通過(guò)在損失函數(shù)上添加暗含標(biāo)簽信息的類內(nèi)離散度或類間離散度正則化項(xiàng),在最小化損失函數(shù)的過(guò)程中,減少抽象特征的類內(nèi)距離,增加類間距離,增強(qiáng)抽象特征的類可區(qū)分性,提升自編碼器的特征提取能力,使抽象特征更適用于分類任務(wù)。
2) 硬件要求高,訓(xùn)練時(shí)間長(zhǎng)
復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)依賴大量的訓(xùn)練樣本,以自編碼器為代表的深度學(xué)習(xí)模型具有較高的時(shí)空復(fù)雜度,需要消耗巨大的計(jì)算與存儲(chǔ)資源,這對(duì)硬件設(shè)備提出了更高要求,往往導(dǎo)致訓(xùn)練時(shí)間過(guò)長(zhǎng)[73]。
針對(duì)此問(wèn)題,一方面可以將模型壓縮技術(shù)應(yīng)用于自編碼器中,采用剪枝算法剔除冗余節(jié)點(diǎn)或通道[74],實(shí)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的精簡(jiǎn),或?qū)?quán)值進(jìn)行稀疏化,抑制部分神經(jīng)節(jié)點(diǎn),完成對(duì)網(wǎng)絡(luò)參數(shù)的壓縮。另一方面可以研究輕量化自編碼器算法,借鑒ELM-AE 算法,對(duì)自編碼器的訓(xùn)練方式進(jìn)行改進(jìn)[75],減少參數(shù)迭代微調(diào)次數(shù),提升算法訓(xùn)練效率。此外,還可以通過(guò)研究分布式優(yōu)化算法來(lái)降低模型的計(jì)算復(fù)雜度[76],或研究并行計(jì)算方法以充分利用現(xiàn)有計(jì)算資源。這些方法有助于降低自編碼器的結(jié)構(gòu)復(fù)雜度,降低軟硬件要求,減少訓(xùn)練時(shí)間。
3) 缺乏有效超參數(shù)設(shè)置方法
以自編碼器為代表的深度學(xué)習(xí)模型具有隱含層層數(shù)、節(jié)點(diǎn)數(shù)等眾多的超參數(shù),這些超參數(shù)對(duì)模型泛化性能有重大影響,因此如何合理設(shè)置超參數(shù)是一個(gè)重要問(wèn)題。
目前,超參數(shù)的設(shè)置一般采用試錯(cuò)法,通過(guò)比較超參數(shù)不同排列組合下的模型性能,選出最優(yōu)的超參數(shù)設(shè)置,然而這并不適用于超參數(shù)數(shù)量較多的情形。針對(duì)此問(wèn)題,一個(gè)可行的方法是將遺傳算法[77]、粒子群算法[78]、蝙蝠算法等算法應(yīng)用于超參數(shù)優(yōu)化中,將超參數(shù)取值作為搜索目標(biāo),自編碼器泛化性能作為評(píng)價(jià)標(biāo)準(zhǔn),通過(guò)上述搜索算法,尋找能夠滿足最優(yōu)泛化性能條件下的超參數(shù)取值,實(shí)現(xiàn)自編碼器超參數(shù)的自動(dòng)學(xué)習(xí)與設(shè)置。
4) 隨機(jī)初始化引入額外噪聲
目前,絕大多數(shù)自編碼器及其改進(jìn)算法對(duì)網(wǎng)絡(luò)參數(shù)均采用隨機(jī)初始化,這不可避免地引入了額外噪聲,影響算法的收斂速度與泛化性能。因此,如何有效地進(jìn)行網(wǎng)絡(luò)初始化是一個(gè)值得深入研究的問(wèn)題。
針對(duì)此問(wèn)題,一方面可以通過(guò)在損失函數(shù)中添加L1或L2范數(shù)正則化項(xiàng),以降低隨機(jī)初始化導(dǎo)致的噪聲影響,另一方面可以采用Glorot 初始化方法[79]、He 初始化方法[80]等其他改進(jìn)初始化方法,在緩解噪聲影響的同時(shí),使自編碼器的訓(xùn)練過(guò)程更加穩(wěn)定,避免出現(xiàn)梯度消失或爆炸現(xiàn)象。
5) 難以適應(yīng)小樣本條件,易產(chǎn)生過(guò)擬合
自編碼器及其深度結(jié)構(gòu)由于模型結(jié)構(gòu)復(fù)雜,需要大量樣本進(jìn)行訓(xùn)練,在小樣本條件下訓(xùn)練自編碼器極易產(chǎn)生過(guò)擬合,進(jìn)而降低模型泛化性能。因此小樣本條件已成為制約自編碼器應(yīng)用的關(guān)鍵因素。
針對(duì)此問(wèn)題,可從樣本擴(kuò)充與模型優(yōu)化2 個(gè)方面加以解決。在樣本擴(kuò)充方面,既可通過(guò)平移、旋轉(zhuǎn)、過(guò)采樣等傳統(tǒng)方法對(duì)有限樣本進(jìn)行數(shù)據(jù)擴(kuò)充,也可通過(guò)VAE 或GAN 等深度生成模型學(xué)習(xí)真實(shí)樣本的估計(jì)分布,生成有限樣本的類似樣本,解決小樣本條件下的樣本稀缺問(wèn)題。在模型優(yōu)化方面,可將遷移學(xué)習(xí)應(yīng)用于自編碼器中,通過(guò)在相似充足數(shù)據(jù)集上的預(yù)訓(xùn)練階段與在小樣本數(shù)據(jù)集上的迭代微調(diào)階段,完成對(duì)網(wǎng)絡(luò)參數(shù)的優(yōu)化,解決小樣本條件下的訓(xùn)練不足問(wèn)題。
隨著在各領(lǐng)域的成功應(yīng)用,深度學(xué)習(xí)受到了廣泛關(guān)注,而自編碼器作為典型的無(wú)監(jiān)督深度學(xué)習(xí)模型,憑借訓(xùn)練過(guò)程簡(jiǎn)單、多層堆棧容易、泛化性能突出等優(yōu)點(diǎn),成為近年來(lái)的研究熱點(diǎn)。本文詳細(xì)介紹了自編碼器及其改進(jìn)算法,闡述了其基本理論及算法流程,梳理與分析了自編碼器在多個(gè)具體應(yīng)用領(lǐng)域的研究進(jìn)展,最后總結(jié)了現(xiàn)有自編碼器算法在學(xué)習(xí)模式、訓(xùn)練時(shí)間與超參數(shù)設(shè)置等方面所存在問(wèn)題,給出了可行的解決方法,展望了自編碼器的研究方向。希望本文能為今后自編碼器相關(guān)研究提供一定的參考。