劉 帆 吳小俊
(江南大學物聯網工程學院 江蘇 無錫 214122)
基于混合核平滑自編碼器的分類器設計
劉 帆 吳小俊
(江南大學物聯網工程學院 江蘇 無錫 214122)
自編碼器是一種重構輸入數據的神經網絡,具有較強的特征學習能力,被廣泛地應用在各種分類任務中。為了將自編碼器應用于分類任務中,研究一種基于混合核平滑自編碼器的方法進行手寫數字和人臉圖像的分類。對不同核函數的權重進行比較,同時還將結果與稀疏自編碼器進行比較。實驗結果表明基于混合核的平滑自編碼在一定的比例下可以獲得比單個核函數更好的分類效果。
平滑自編碼器 核函數 分類 重構
隨著計算機信息處理技術的發展,深度學習在語音識別、圖像分類和文本理解等眾多領域的應用越來越多。而在實際應用中經常會碰到高維的數據,由于高維數據的普遍性,使得對高維數據降維的研究變得有意義。而其中的一種比較常用深度學習方法就是自編碼器。
自從1988年Rumelhart[1]提出自編碼器的概念以來,神經網絡的發展有了很大的提高。Hinton[2]在2006年提出了深度置信網絡(DBN),對基本自編碼器進行了改進,利用微調顯著改進了BP算法易陷入局部極小的情況。Bengio[3]在2007年提出了稀疏自編碼器(SAE)的概念,在優化目標函數中加入稀疏性約束,發現輸入數據的潛在結構,進一步加深了自編碼器的研究。Vincent[4]在2008年提出了降噪自動編碼器,通過腐蝕后的數據來進行重構,防止了過擬合現象的出現,并且取得了較好的結果。Rifai[5]在2011年提出了壓縮自編碼器,通過對編碼函數進行約束,增加了自編碼器的魯棒性。Baldi[6]在2012年對自編碼器與無監督學習之間的關系進行了討論,并且介紹了如何利用自編碼器構造不同種類的深度模型。Liang[7]在2014年提出了平滑自編碼器,通過重構樣本的k近鄰,而不是以往的重構樣本本身,保持了數據的流形結構,增加了模型的魯棒性。然而在確定k近鄰的權重的時候,僅僅只是使用了高斯核函數作為權函數,只是利用了數據特征的局部性,而沒有考慮到數據特征的全局性。因此,本文引入了混合核函數作為k近鄰的權函數,這樣學習到的特征不僅在局部上有較好的魯棒性,而且在全局上也有一定的魯棒性,同時也保持了數據的流形結構。
1.1 基本自編碼器
已知X={x1,x2,…,xn}∈RD×n為包含n個數據的高維數據集,其中xi是第i個D維數據。Y={y1,y2,…,yn}∈RD×n為X的重構數據集。自編碼器網絡結構如圖1所示。整個網絡由編碼器(encoder)和解碼器(decoder)兩個網絡組成。編碼器的作用就是對輸入數據進行降維處理,得到數據的碼字表示h。解碼器相當于編碼器的逆過程,把數據的碼字表示h重構成高維數據。 編碼器和解碼器之間存在一個交叉部分,稱之為碼字層,它是整個網絡的核心部分,能夠表示高維數據的本質結構。
圖1 自編碼器網絡結構圖
自編碼器的工作原理如下:首先初始化編碼器和解碼器兩個部分的權值,然后依據原始數據和重構數據之間的誤差最小化對自編碼器網絡進行訓練。
得到的碼字[11]表示為h=f(Wx+bh),其中,f(x)=(1+exp(-x))-1,bh為碼字層的偏置。然后,使用一個線性解碼器對h進行解碼,得到y=WTh+bv,其中,bv為輸出層的偏置,y為原始數據的重構。
1.2 平滑自編碼器
從自編碼器網絡結構圖中就可以看出自編碼器重構的是原始輸入,而沒有考慮到數據之間的內在結構。數據較小的波動可能導致結果產生大的波動,因此模型的魯棒性差。Liang[7]提出了平滑自編碼器,對于一個數據xi,它重構的是一個集合Ωi={xj,xk,…},這個集合是xi的k近鄰,在進行表示學習的同時保持了流形結構,保證了局部鄰居之間的相似性。在確定k近鄰的權重時,使用的是高斯核函數,在一定程度上表示的是數據的局部信息。
1.3 混合核平滑自編碼器
由于平滑自編碼器在確定權函數時,僅僅只是使用了單個光滑的核函數,不能同時考慮到局部和全局的信息。本文運用多個核函數來確定權函數,同時兼顧了局部和全局的信息,從而達到對數據集更好的分類。本文采用了高斯核函數、多項式核函數和線性核函數的組合形式作為權函數,對其中的兩兩組合形式和三個的組合形式進行了研究,進而確定混合核函數的有效性。
1.3.1 高斯核函數和線性核函數組合
高斯核函數[9]具有良好的局部性質,只有相距很近的數據點才對核函數的值有影響,但是其全局性較差,不具有好的泛化性質,其泛化能力隨著帶寬的增大而減小。而線性核函數[8]具有一定的全局性,在尋找權函數的過程中,在高斯核函數的基礎上加入線性核函數在一定程度上增加了權函數的全局性。權函數的表達式如下:
(1)
式中:xi和xj分別為第i個和第j個數據點,σ為高斯核函數的帶寬,控制了函數的徑向作用范圍,m∈[0,1]。
1.3.2 高斯核函數和多項式核函數組合
多項式核函數[10]具有良好的全局性,即使相距很遠的數據點都可以對核函數產生影響,具有良好的泛化能力,但是其局部性較差。權函數的表達式如下:
(2)
式中:q為多項式的次數。q越大,映射的維數越高,計算量也越大。q越小,映射的維數越低,計算量也越小,同時也降低了學習精度,m∈[0,1]。
1.3.3 多項式核函數和線性核函數組合
多項式核函數和線性核函數表示的都是全局信息。權函數的表達式如下:
(3)
式中:m∈[0,1]。
1.3.4 高斯核函數、多項式核函數和線性核函數組合
權函數的表達式如下:
(4)
式中:m∈[0,1],n∈[0,1-m]。
(5)
式中:Z是標準化項,Ωi是xi的k近鄰集合。
本文首先對兩個核函數的組合進行了實驗,實驗的數據集為MNIST-BASIC和Extended YaleB。兩個核函數不同的比例產生了不同的重構誤差和分類誤差。對于MNIST-BASIC數據集,采用的網絡結構是(784,1 000,784)。而對于Extended YaleB數據集,采用的網絡結構是(1 024,1 000,1 000,1 024)。
2.1 高斯核函數和線性核函數組合
實驗中運用式(1)對k近鄰的權重進行計算。當m=0.7時,重構結果見圖2。(a)圖是原始數據,(b)圖是使用高斯核和線性核函數的混合核函數進行100次迭代后的重構結果,(c)圖是在只使用高斯核函數進行100次迭代后的重構結果,(d)圖是在只是用線性核函數進行100次迭代后的重構結果。在不同的比例下,不同數據集的分類誤差的結果見表1。表中第1列表示的是m的大小。最后的三行為單獨的高斯核函數和單獨的線性核函數作為權函數時產生的誤差和稀疏自編碼器的分類誤差。
圖2 手寫數字的重構結果
m數字分類誤差人臉分類誤差03.9818.700.13.9313.360.23.9013.360.33.8824.040.44.0721.370.53.8618.700.63.7918.700.73.7813.360.83.9621.040.93.9026.381.03.7910.68高斯核3.9313.36線性核3.9424.04SAE4.5555.26
對于分類誤差,不同比例的混合核函數的構建在大多數情況下都有了一定程度的減小。表中加粗的是最小的誤差值。
從表中可以看到,對于MNIST-BASIC,當m=0.7時,混合核函數作為權函數產生的分類誤差最小,而這個值也比單獨的核函數作為權函數時產生的分類誤差小。對Extended YaleB,當m=1.0時,分類誤差最小,這個值同樣比單獨的核函數作為權函數時產生的分類誤差小。而混合核函數和單核核函數作為權函數得到的重構效果和分類效果都要比SAE好。由于線性核函數在一定程度上增加了核函數作為權函數的全局性,在保證數據流形的基礎上,提取的特征具有更好的抗擾動性,魯棒性更好。
2.2 高斯核函數和多項式核函數組合
下面通過實驗考察了高斯核函數和多項式核函數之間的關系對重構和分類的影響。同時也對多項式的次數進行了研究,根據實驗結果選擇多項式的次數為9。在多項式次數為9的前提下,采用式(2)進行兩個核函數的比例研究。重構結果見圖3,(a)圖是原始數據,(b)圖是使用高斯核函數和多項式核函數的混合核函數進行了100次迭代后的重構結果,(c)圖是只使用高斯核函數100次迭代后的重構結果,(d)圖是只使用多項式核函數100次迭代后的重構結果。誤差結果見表2。表中加粗的為誤差的最小值。表中第一列為m的大小。最后三行是單獨的高斯核函數和單獨的多項式核函數作為權函數時產生的誤差和SAE分類誤差。
圖3 手寫數字的重構結果
m數字分類誤差人臉分類誤差03.9523.620.13.9513.020.23.8621.370.33.9018.360.43.8916.030.53.9318.700.63.9516.030.74.0421.040.83.8318.280.93.8718.701.03.9418.70高斯核3.9313.36多項式核4.0313.36SAE4.5555.26
第2列是數據集為MNIST_BASIC時的分類誤差,在m=0.8時,分類誤差最小,這個值也比單獨的高斯核函數和單獨的多項式核函數所產生的分類誤差小。最后一列是數據集為Extended YaleB 時的分類誤差,在m=0.1時,混合核函數作為權函數時,產生的分類誤差最小,當然也比單獨的核函數作為權函數時產生的分類誤差小。這就說明了在一定比例下的混合核函數要比單獨的核函數作為權函數好。同時也說明了在權函數中加入全局信息,可以一定程度上保證數據的流形結構,增加了模型的魯棒性。
2.3 多項式核函數和線性核函數組合
多項式的次數可以有多種選擇,在這里選定為5,然后使用式(3)對兩個核函數的比例進行研究。分類誤差見表3。表中加粗的為誤差最小的值。表中第1列為1-m的大小,最后三行是單獨的多項式核函數和線性核函數作為權函數時的分類誤差和SAE的分類誤差。
表3 多項式核、線性核函數組合的比例研究與單核和SAE的比較
對MNIST_BASIC數據集,基本上任何比例下的分類誤差都要比單獨的小。而對Extended YaleB數據集,當m=0.5時,得到的分類誤差最小,同時也小于單獨的核函數作為權函數時產生的分類誤差。這兩個核函數都在一定程度上表示的是全局信息,兩個混合表示的全局信息多于單個的,因此效果要比單個的要好。但與上面的結果比較可知,只有全局信息并不能得到很好的結果,只有在確定權函數時增加局部信息和全局信息才能得到好的結果。這就說明了在保持了數據流形的基礎上,適當加入全局信息可以得到更好的結果。
2.4 高斯核函數、多項式核函數和線性核函數組合
在研究了兩個核函數比例間的影響后,本文使用式(4)對這三個核函數之間的關系進行了研究。為避免參數過多,這里選定多項式的次數為5。由于這三個核函數之間的比例關系復雜,產生的誤差矩陣是一個上三角矩陣。詳細結果見表4。表中第1行是n的大小,第1列是m的大小。從表中可以看到,對于每一行數據,分類誤差達到最小時,線性核函數和多項式核函數的比例都不同。當這三個比例參數任意一個為0時,就相當于兩個混合核的情況。由于連接權重初始化的隨機性,導致了三個核產生的誤差結果與雙核產生的誤差結果的不一致性,但是差距是在可接受的范圍內。
表4 高斯核函數、線性核函數和多項式核函數組合的比例研究
對于MNIST_BASIC數據集,表中最后一個數據都突然變大,這是三個核函數選了兩種極端情況。說明混合核函數的研究需要對多種情況進行研究。
對于Extended YaleB 數據集,并沒有出現手寫數據集那樣的誤差突然增大的情況,然而在m=0.5,n=0.1時,分類誤差為10.68,而在單個高斯核函數作為權函數的情況下,分類誤差為18.36。從數據來看,結果有了一定程度的提升。這三個混合核函數作為權函數與單個高斯核函數相比,增加了局部信息和一定量的全局信息,因此在一定程度上可以改進分類結果。
在同樣的實驗條件下,兩個組合中高斯核函數和線性核函數的組合得到的分類誤差最小,多項式核函數和高斯核函數的組合得到的分類誤差最大。線性核函數和多項式核函數都含有數據特征的全局性,但是由于多項式次數選取的不同,對實驗結果影響很大,因此在實驗時必須選擇合適的次數,這樣才能得到好的結果。而多項式核函數和線性核函數的組合基本上利用的是數據特征的全局性,因此分類效果要差于高斯核和線性核函數的組合形式。三個核函數的組合形式的分類效果要優于只使用數據特征的局部性或全局性的核函數。
本文在平滑自編碼器的基礎上提出了一種混合核平滑自編碼器,并將混合核平滑自編碼器用于手寫數據集和人臉數據集的識別,實驗表明,在一定的混合比例下,混合核平滑自編碼器比單核平滑自編碼器具有更好的重構和分類能力。
混合核平滑自編碼器允許多種不同的核函數進行組合,根據每個核函數代表的物理意義選擇不同的組合,得到的混合核有不同的含義。如何根據實際應用選擇核函數的組合、如何自動地確定最優權函數的權重是今后需要研究的問題。
[1] Rumelhart D E,Hinton G E,Williams R J.Learning representations by back-propagating errors[J].Nature,1986,323(6088):533-536.
[2] Hinton G E,Osindero S,Teh Y W.A fast learning algorithm for deep belief nets[J].Neural computation,2006,18(7):1527-1554.
[3] Bengio Y,Lamblin P,Popovici D,et al.Greedy layer-wise training of deep networks[C]//NIPS’06 Proceedings of the 19th International Conference on Neural Information Processing Systems,2006:153-160.
[4] Vincent P,Larochelle H,Bengio Y,et al.Extracting and composing robust features with denoising autoencoders[C]//Proceedings of the 25th international conference on machine learning.ACM,2008:1096-1103.
[5] Rifai S,Vincent P,Muller X,et al.Contractive auto-encoders: Explicit invariance during feature extraction[C]//Proceedings of the 28th international conference on machine learning (ICML-11).2011:833-840.
[6] Baldi P.Autoencoders,unsupervised learning and deep architectures[C]//International Conference on Unsupervised and Transfer Learning Workshop.JMLR.org,2011:37-50.
[7] Liang K,Chang H,Cui Z,et al.Representation Learning with Smooth Autoencoder[C]//Asian Conference on Computer Vision.Springer International Publishing,2014:72-86.
[8] 王行甫,俞璐.混合核函數中權重求解方法[J].計算機系統應用,2015,24(4):129-133.
[9] 王國勝.核函數的性質及其構造方法[J].計算機科學,2006,33(6):172-174.
[10] 左森,郭曉松,萬敬,等.多項式核函數SVM快速分類算法[J].計算機工程,2007,33(6):27-29.
[11] Kamyshanska H,Memisevic R.On autoencoder scoring[C]//Proceedings of the 30th International Conference on Machine Learning (ICML-13),2013:720-728.
DESIGNOFCLASSIFIERBASEDONHYBRIDKERNELSMOOTHAUTOENCODER
Liu Fan Wu Xiaojun
(SchoolofInternetofThingsEngineering,JiangnanUniversity,Wuxi214122,Jiangsu,China)
Autoencoder is a kind of neural network that reconstructs input data and has strong learning ability which has been widely applied to many kinds of classification tasks. In order to apply autoencoder to classification tasks, this paper proposes a method based on hybrid kernel smooth autoencoder to classify handwritten numerals and face images. We compared the weights of different kernel functions, and compared the results with sparse self-encoders. The experimental results show that hybrid kernel based smooth autoencoder in a certain ratio can obtain better classification results than the single kernel function autoencoder.
Smooth autoencoder Kernel function Classification Reconstruction
2017-03-05。國家自然科學基金項目(61672265,61373055)。劉帆,碩士生,主研領域:人工智能與模式識別。吳小俊,教授。
TP3
A
10.3969/j.issn.1000-386x.2017.12.046