宣冬梅,王菊韻,于 華,趙 佳
(1.中國科學院大學 工程管理與信息技術學院,北京100049;2.中國傳媒大學 理學院,北京100024)
Hinton等[1]構建的多層深度信念網 (deep belief network,DBN)掀起了深度學習的浪潮,DBN 的基礎來自于人工神經網絡。在之前人工神經網絡的研究中,目標函數對于各層之間的權重是非凸的優化問題,當網絡層數較多時,即變量個數較多時,目標函數容易陷入局部最優。Hinton等較好地解決了這個問題。通過無監督學習實現逐層預訓練 (layer-wise pre-training)達到解決非凸優化的局部最優問題,實質是利用逐層預訓練給出一個較好的初始解,然后再利用微調 (fine-tuning)獲得較好的局部最優解。另一個重要的信息是深層人工神經網絡具有優異的特征學習能力,自主學習而且學習得到的特征能夠更好地刻畫數據本身,從而有利于可視化或分類[2]。
本文在介紹了深度學習原理的基礎上,將模型進行改進,引入先驗知識的概念,得到更廣泛的應用。
深度學習與淺層學習最大的區別就是強調了模型結構的深度[3],明確了特征學習的重要性,而淺層學習主要是靠人工經驗抽取樣本的特征,模型主要是用來預測和分類,雖然一些淺層學習方法在互聯網的應用上獲得了一定的成功,但是淺層學習方法有很大的局限性。貝葉斯網絡[4]是一種比較有效的機器學習方法,但是特征需要人工設定。在應用樸素貝葉斯分類器時,主要涉及兩個問題,首先要決定怎樣將任意樣本表示為屬性值的形式,其次是要決定如何估計樸素貝葉斯分類器所需的概率。對于樸素貝葉斯模型,假設屬性之間相互獨立,但這個假設在實際應用中往往是不成立的,這會給樸素貝葉斯模型的正確分類帶來一定的影響,在屬性個數比較多或屬性之間相關性較大時,選擇樸素貝葉斯模型的分類效率是很低的。核函數[5]方法是機器學習中較流行的方法,但其缺陷也是需要人工選擇核函數,人為地進行特征選擇,對分類結果的影響比較大。主成分分析[6](principle component analysis,PCA)作為可以自動提取特征的方法之一,但是只能提取線性特征,而現實問題絕大多數的特征都存在非線性關系。
Arel等[7]介紹了主流的深度學習以及近十年來的研究方向,突出了深度學習方法的優勢。近年來深度學習方法在工業界的發展如火如荼,主要原因在于該方法提高了若干經典問題的最好結果,如語音識別、圖像識別等[8,9]。Lee等[10]也驗證了深度學習網絡能夠學習到更好的特征。與之前的神經網絡的方法的區別在于隱層個數更多[11],明確突出了特征學習的重要性,并且在用反傳算法求局部最優解時給出了較好的初始可行解[5]。深度神經網絡作為多層人工神經網絡,構建各層網絡的方法主要有自動編碼(auto-encoder)[12]和RBM[13,14]。自動編碼是利用輸入數據,人為構造帶有參數的編碼函數得到上一層的數據,再利用上一層的數據通過帶參數的解碼函數來盡量還原輸入數據,通過最小化輸入數據與通過解碼函數得到的數據之間的損失來調整參數,從而達到預訓練的目的。RBM 作為較常用的構建深度網絡的機器學習方法,以能量模型為理論基礎,層與層之間的結構類似于雙層神經網絡模型,層內的神經元互不連接,層間的神經元全連接。常用的激活函數是Sigmoid函數,它通過最大化已知數據出現的概率達到調整參數 (即預訓練)的目的,思想與極大似然估計有密切關系。該方法的優點是能夠自動提取特征,缺點是針對多分類問題,自動提取特征不能更好地將不同種類的樣本分類,這就需要有不斷反復地調整結構以及參數。目前,使用深度學習方法時普遍是在多個機器上同時進行,針對多個神經網絡結構和參數分別調整,以便更快的得到更好的神經網絡結構和參數,但是這樣的條件在一般的實驗室是不現實的。
本文主要研究的是在多分類問題中,將先驗知識與深度學習方法相結合。先驗知識的應用,在多分類問題中有明顯的優勢。①識別率明顯提高。事實上,多分類問題中只是在 “邊界”上的樣本比較難分類,而這樣的樣本一般只出現在幾類樣本的 “邊界”上。因此,當預測某樣本所屬的類別時,我們可以排除該樣本不可能屬于的一些類,在其余類上對該樣本進行分類,實際上就相當于給這個樣本一定的先驗知識。例如,當你遇到一個白發蒼蒼,滿臉皺紋的人時,要判斷這個人是老年、中年、青年、少年中的哪一類時,你肯定不會認為他屬于少年這一類。但是在一般的方法中仍要檢測他是否屬于少年,這顯然是多余的。將某個樣本不屬于的那些類去掉相當于去掉了若干影響分類效果的類別,這顯然能提高識別率。②各神經元之間連接權重的絕對值的降低,決定了深度學習方法能更快地收斂到局部最優解。這一點在處理實值輸入時尤其明顯,因為對于實值輸入的深度神經網絡訓練時迭代參數需要設置的足夠小,否則預訓練的連接權重將非常大,結果會很不穩定。我們在實驗中遇到過連接權重非常大的情況 (達到10137數量級)。因此,連接權重變小能節省大量的運行時間。③先驗知識的有效利用能夠得到更簡單的神經網絡結構,如果需要分類的類別很多時,有效利用先驗可以簡化模型,便于調參,提高效率,更容易進行參數調整以及網絡結構優化等細節的處理,從而讓條件一般的實驗室也能夠使用深度學習方法進行大量的分類實驗。
深度學習中分類問題一般隱層個數較多 (通常超過3層隱層),對應的輸出層分類函數形式一般為

式中:Oi——輸出層第i個神經元的輸出,n——輸出層神經元個數,也即待分類的類別數。
一個樣本有很多特征,根據某些特征,對樣本做預分類,可以判斷它屬于或是不屬于哪些類,得到先驗知識;對于圖像樣本,根據訓練集中若干像素點的統計結果,也可以獲取樣本的先驗知識。以MNIST 數據集為例說明先驗知識是如何獲取的。對于0,1,2,...,9 這10 類圖片,如果圖片左邊框的中間部分有黑色像素點的話,我們首先能夠區分出這張圖片不屬于1,2,7這3類,這就是先驗知識的獲取。選取不同的分類方法,我們可以得到不同的先驗知識。對于每一個待分類的樣本,都對應此樣本的一個先驗知識,來表示此樣本在沒有其它信息時所屬類別的概率表示:(p1,p2,p3,…,pn),其中pi表示此樣本屬于第i類的先驗概率。在引言中的例子中,假設一個樣本的概率表示是 (0.4,0.4,0.2,0)表示此樣本是老年人的先驗概率是0.4,是中年人的先驗概率是0.4,是青年人的概率是0.2,但不可能是少年。
深度學習實際上是自動提取特征的過程,特征提取的好壞決定了分類的效果。淺層人工神經網絡在很多問題中效果不好的原因是提取的特征不夠好。Minsky認為,單層神經網絡不能解決異或問題,即不存在一個連續函數f(x,y),使得:f(0,0)=1;f(0,1)=0;f(1,0)=0;f(1,1)=1。特征提取的不夠好,在最后一層隱層與輸出層之間就形成單層神經網絡,很可能陷入異或問題的困境。這也是很多問題用淺層神經網絡不能得到很好效果的原因。因此,對于越復雜的問題,需要的層數就越多,層數越多的神經網絡提取的特征越多,給出的信息也就越多,識別的準確性越高,但是層數越高,特征越多,計算復雜度增加,搜索的空間也會增大,樣本對應的數值會越稀疏,數據信息損失也就越多,層數太大可能就無法分類,如圖1所示。

圖1 兩類正弦曲線加上擾動生成的樣本在多層神經中的圖例
圖1中,我們生成了正弦曲線加隨機擾動項的兩類樣本,其中的4幅圖分別代表輸入層、第3 隱層、第6 隱層和第9隱層的散點圖。從圖中可以看出在第9隱層中已經不可能把樣本分類。
對于多分類問題,很難想象對于每一類樣本都能用統一的特征來進行稀疏表示。相反,如果先驗知識較精確,即先驗概率分布中分量為0的個數較多,則提取的特征可能更精確,分類效果會更好。
在n-分類問題中,對于某樣本的先驗概率表示(p1,p2,p3,…,pn)以及利用深度學習得到的輸出(o1,o2,o3,…,on),我們提出兩種方法利用先驗知識得到較好的分類結果,如下算法1和算法2。
算法1實質就是將深度學習得到的輸出作為給定樣本分類下的條件概率;在算法2中,加入參數ε用以調整先驗知識,具體體現在算法2的第一步中。經過調整后的先驗知識會比原有的先驗知識較為稀疏,從而在第二步中需要分類的類別數減少,進而簡化需要訓練的深度神經網絡結構。
算法1:加先驗知識的隨機深度學習分類器 (RPK)
輸入:給定訓練樣本的先驗知識矩陣 (p1,p2,p3,…,pn)
輸出:分類結果
步驟1 應用深度學習方法得到深度神經網絡的輸出(o1,o2,o3,…,on);
步驟2 計算乘積:(r1,r2,r3,…,rn)= (p1*o1,p2*o2,p3*o3,…,pn*on);
步驟3 輸出最大的數ri的下標i。
算法2:加先驗知識的確定型深度學習分類器 (DPK)
輸入:給定訓練樣本的先驗知識矩陣(p1,p2,p3,…,pn)以及參數ε
輸出:分類結果
步驟1 如果piε,設p′i=pi;若pi≤ε則p′i=0;
步驟2 當p′i0時,應用深度學習方法得到深度神經網絡的輸出(o1,o2,o3,…,on);
步 驟3 計 算 乘 積:(r1,r2,r3,…,rn)= (p′1*o1,p′2*o2,p′3*o3,…,p′n*on);
步驟4 輸出最大的數ri的下標i。
由于先驗知識對結果的影響很大,所以先定義所需的先驗知識。
定義 (準確的先驗知識)屬于第i類的樣本,若pi≥pj對于任意的j 都成立,我們稱此先驗知識是準確的。
為此,有下面關于損失函數的結論,這里統一設定損失函數為二次損失函數。
定理1 對于n-分類問題中的任意樣本以及給定的準確的先驗知識(p1,p2,p3,…,pn),設在無先驗知識的深度神經網絡的輸出是(o1,o2,o3,…,on),而算法1的輸出是(,,,…,),算法2的輸出是,,…),損失函數是f。則有

證明:不妨設此樣本屬于第1類,則其真值為 (1,0,…,0)。以下分情況討論:
(1)若在無先驗知識的深度神經網絡的分類結果是第1類,則有o1≥oi對任意i成立。由于p1≥pi對于任意i都成立,故r1=p1*oi≥pi*oi=ri,r2=p1*oi≥pi*oi=ri,對任意i成立,也即算法1和算法2的輸出都是1,此時損失都為0。
(2)若在無先驗知識的深度神經網絡的分類結果是第i類,i≠1,即o1≤oi。由于p1≥pi,oi-o1≥pi*oip1*o1,即算法1 和算法2 的分類結果有可能是第1 類,否則損失與深度神經網絡的損失相同。綜合可知結論成立。
證畢。
事實上,準確的先驗知識不僅可以降低損失,而且對神經網絡結構的簡化也有很大幫助。對于某類有一個很小的先驗,按照算法2僅僅需要建立一個3-分類的神經網絡。顯然,對于3-分類問題要比4-分類問題簡單,為了說明這個問題,考慮2-分類問題和3-分類問題的比較。
圖2中,每個圖例由兩部分組成,每部分對應于一個神經元。假設使用不帶有隱層的神經元,且增加第一個神經元和輸出神經元的權重,將無法分類b 和c類的樣本。類似地如果增加第二個神經元和輸出神經元的權重,將無法分類a和c類的樣本,由此可知只用單層神經網絡是無法處理這樣的問題。然而,若已知某個樣本不屬于某一類的先驗知識,那么這個問題就成了二分類問題,此時只需單層神經網絡就可以了。

圖2 二分類方法簡化神經網絡結構
深度學習是自動提取特征的過程,要分類的類別越少,需要的神經網絡結構也更簡單。簡單的神經網絡結構會給調參帶來很大的方便,同時也意味著輸出的結果更穩定,連接權重的絕對值更小。連接權重的大小直接決定了優化算法的迭代步數,決定了求得滿意解需要的時間。
本文使用MNIST 手寫體標準數據集,此數據集是Le-Cun[15]等搜集并整理的手寫體數據集。該數據集的訓練集有60000張數字圖像,測試集有10000張數字圖像。每張數字圖像類似如圖3所示的手寫體數字。

圖3 手寫數字 ‘0’
假設準確的先驗知識只有兩個為0.5,其余全為0的情況,稱此先驗為極端先驗。表1比較了Hinton等[1]的多分類方法以及類似結構下使用有先驗知識的分類方法得到的識別率,表2給出了Hinton等使用多分類方法以及使用有先驗知識的分類方法得到的權重的比較結果。

表1 多分類方法和有先驗知識的分類方法的部分識別率比較結果

表2 多分類方法和根據先驗知識分類方法的權重比較結果
表1中,應用先驗知識的分類方法表現最 “好”的是手寫數字樣本取自’3’和’4’中的樣本,表現最 “差”的是手寫數字樣本取自’5’和’6’中的樣本 (在表中分別用黑體字樣方式標出)。從表中可以看出,若知道某些類的一些先驗知識,利用有先驗知識的分類方法能夠提高識別率。實驗中采用了和Hinton類似的結構,一般情況下,這一結構對于有先驗知識的分類方法不是最優的。對于不同類別對的45個有先驗知識的分類方法模型都采用了類似的結構,卻得到了比Hinton更好的結果,由此說明極端先驗在多分類問題中的優越性。
為了簡化神經網絡的結構,實驗中,多分類方法使用了3層隱層,如果只考慮’0’類樣本和’1’類樣本時僅需要1層隱層就可以很好的分類,分類錯誤的樣本量為1,總測試樣本量為2115。顯然比多分類問題的識別率要好得多。
表2中比較了多分類方法和有先驗知識的分類方法的連接權重。有先驗知識的分類模型中,使用的是45個模型中連接權重絕對值的最大值。在這種極端情況下,仍然能夠得出普遍比多分類方法好的結果 (除了隱層和輸出層之間的權重,多分類模型與最壞情況下的二分類模型相差不多)。
本文以深度學習知識為背景,提出了先驗知識的理論知識,研究了先驗知識在多分類問題中的應用,并通過實驗驗證了在深度學習中加入先驗知識能夠提高多分類方法的識別率,減小連接權重的絕對值,且使得學習的結構更簡單。在本文中僅利用了Hinton多分類方法原有的結構就得到比較好的識別率,如果可以得到更好的先驗知識,分類效果則更好,更能說明在多分類問題中加入先驗知識能夠提高識別率,通過實驗驗證了該方法的有效性。
[1]Hinton G,Salakhutdinov R.Reducing the dimensionality of data with neural networks[J].Science,2006,313 (5786):504-507.
[2]Ranzato M,Boureau YL,LeCun Y.Sparse feature learning for deep belief networks[C]//In Advances in Neural Information Processing Systems,2008:1185-1192.
[3]Lee H,Grosse R,Ranganath R,et al.Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations[C]//Proceedings of the 26th Annual International Conference on Machine Learning.ACM,2009:609-616.
[4]Koller D,Friedman N.Probabilistic graphic model,principles and techniques[M].USA:MIT Press,2010.
[5]Sebastian Maldonado,Richard Weber,Jayanta Basak.Simultaneous feature selection and classification using kernelpenalized support vector machines [J].Information Sciences,2011,181:115-128.
[6]Mohamed Morchid,Richard Dufour,Pierre-Michel Bousquet,et al.Feature selection using principal component analysis for massive retweet detection [J].Pattern Recognition Letters,2014,49 (1):33-39.
[7]Arel I,Rose D,Karnowski T.Deep machine learning-a new frontier in artificial intelligence research [C]//Intelligence Magazine,2010,5 (4):13-18.
[8]Zhou S,Chen Q,Wang X.Discriminate deep belief networks for image classification [C]//17th IEEE International Conference on IEEE,2010:1561-1564.
[9]Mohamed A,Sainath TN,Dahl G,et al.Deep belief networks using discriminative features for phone recognition[C]//In Acoustics,Speech and Signal Processing IEEE International Conference on IEEE,2011:5060-5063.
[10]Lee H,Grosse R,Ranganath R,et al.Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations[C]//Proceedings of the 26th Annual International Conference on Machine Learning.ACM,2009:609-616.
[11]Bengio Y.Learning deep architectures for AI[J].Foundations and Trends in Machine Learning,2009,2:1-127.
[12]Yoshua Bengio,Aaron Courville,Pascal Vincent.Unsupervised feature learning and deep learning:A review and new perspectives[R].US:Cornell University,2012.
[13]Le Roux N,Bengio Y.Representational power of restricted Boltzmann machines and deep belief networks [J].Neural Computation,2008,20 (6):1631-1649.
[14]Nair V,Hinton GE.Rectified linear units improve restricted Boltzmann machines [C]//Proceedings of the 27th International Conference on Machine Learning,2010:807-814.
[15]LeCun Yann,Corinna Cortes.“MNIST handwritten digit database.”AT&T Labs [EB/OL].http://yann.lecun.com/exdb/mnist/index.html,2010.