確定最佳深度可以降低運算成本,同時可以進一步提高精度。針對深度置信網絡深度選擇的問題,文章分析了通過設定閾值方法選擇最佳深度的不足之處。從信息論的角度,驗證了信息熵在每層玻爾茲曼機(RBM)訓練達到穩(wěn)態(tài)之后會達到收斂,以收斂之后的信息熵作為判斷最佳層數的標準。通過手寫數字識別的實驗發(fā)現(xiàn)該方法可以作為最佳層數的判斷標準。
*基金項目: 福建省自然科學基金資助項目(2014J01234);福建省教育廳基金資助項目(JA15061)
人工神經網絡是從信息處理角度對人腦神經元網絡進行抽象,建立某種簡單模型,按不同的連接方式組成不同的網絡。2006年之前,多數的分類、回歸等學習方法通常都只是包含一層隱藏層的淺層學習模型,其局限性在于在有限樣本和計算單元情況下對復雜函數的表示能力有限。在2006年,多倫多大學的Hinton教授提出的深度信念網絡(Deep Belief Network,DBN)的深度學習,使得人工神經網絡又掀起了另一次浪潮。傳統(tǒng)的淺層神經網絡隨機初始化網絡中的權值,容易出現(xiàn)收斂到局部最小值。針對這一問題,Hinton教授提出使用無監(jiān)督訓練的方法先初始化權值,再通過反向微調權值的方法來確定權值從而達到更好的效果。除此之外,Mikolov提出的基于時間的深度神經網絡(Recurrent Neural Network,RNN)主要用于序列數據的預測,有一定的記憶效應。而之后對于DBN的研究又擴展了一些其他的變種,比如卷積深度置信網絡(ConvoluTIonal Deep Belief Networks,CDBN)等。
目前深度學習在語音識別、計算機視覺等領域已經取得了巨大的成功。
但是對于深度學習的研究是近些年才開始的,建模問題是其中的關鍵問題之一,如何針對不同的應用構建合適的深度模型是一個很有挑戰(zhàn)性的問題。DBN目前在應用中依然使用經驗值法來判斷DBN所選用的層數及其節(jié)點數,研究發(fā)現(xiàn)增加DBN的層數到一定的峰值之后,再次增加DBN的層數并不能提升系統(tǒng)性能,反而導致訓練的時間過長,從而增加了計算成本。
近年來針對DBN層數的確定已經有了一些初步的進展,其中高強利用中心極限定理證明了在受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)訓練達到穩(wěn)態(tài)后對應的權值系數矩陣元素服從正態(tài)分布,隨著層數的增加,權值系數矩陣越來越趨于正態(tài)分布,以權值權重最趨近于正態(tài)分布的程度作為確定深度信念網絡層數的依據,通過求出正態(tài)分布滿足率來選擇合適的層數。潘廣源等人利用設定重構誤差的閾值來確定層數,在重構誤差未達到這個閾值時則增加一層,雖然重構誤差能夠在一定程度上反映RBM對訓練數據的似然度,不過并不完全可靠??梢钥闯霈F(xiàn)在的方法基本上是設定一個閾值來進行判斷,這樣的做法可能會導致雖然達到了閾值但是效果并不是很好的情況。綜合上述情況,本文提出利用在RBM訓練達到穩(wěn)態(tài)后通過計算隱藏層的信息熵來判斷最佳層數,當增加一層RBM后,信息熵也會增加,當信息熵不再增加時則選取該層作為最佳層數。
1深度信念網絡層數的確定2006年,Hinton等人提出了深度置信神經網絡,該模型是通過若干個RBM疊加而成。RBM是一個兩層模型,分別為可見層和隱藏層,RBM的訓練方法為首先隨機初始化可見層,然后在可見層和隱藏層之間進行Gibbs采樣,通過可見層用條件概率分布P(h|v)來得到隱藏層,之后同樣利用P(v|h)來計算可見層,重復該過程使得可見層與隱藏層達到平衡,訓練RBM網絡的目標是使得計算后的可見層的分布最大可能地擬合初始可見層的分布。而以訓練數據為初始狀態(tài),根據RBM的分布進行一次Gibbs采樣后所獲得樣本與原數據的差異即為重構誤差。
引入了RBM的訓練精度隨著深度的增加而提高,并且證明了重構誤差與網絡能量正相關,之后對重構誤差的值設定一個閾值,如果沒有達到該閾值則增加一層;如果達到該閾值則取該層為最佳層數。通過最后的實驗可以發(fā)現(xiàn),雖然選取第4層為最佳層數,但重構誤差在第5層和第6層依然在降低,如果閾值選取得不好,雖然重構誤差能夠滿足閾值的條件,但是選擇的層數得出的結構并不能取得很好的效果。
故本文提出利用穩(wěn)定后的隱藏層的信息熵來判斷最佳層數。通過信息論可知,信息熵的物理含義表示信源輸出后,信息所提供的平均信息量,以及信源輸出前,信源的平均不確定性,同時信息熵也可以說是系統(tǒng)有序化程度的一個度量,一個系統(tǒng)越是有序,信息熵則越低,反之信息熵越高。而訓練RBM的目標是使得系統(tǒng)的能量函數越小,使系統(tǒng)越有序。所以在RBM訓練完之后,信息熵將會收斂于一個較小值。
假設輸入的矩陣為V=(v1,v2,v3,…,vi),經過RBM訓練之后的輸出矩陣為Y=(y1,y2,y3,…,yj),經過RBM的訓練模型可以通過已知的可視節(jié)點得到隱藏節(jié)點的值,即:
P(Y)=S(WV+B)(1)
其中W為權重矩陣,B為偏置矩陣,S(x)為激活函數,一般選取Sigmoid函數,即:
信息熵的求解公式為:
根據Hinton提出的對比散度的算法[13],權重和偏置會根據下式進行更新:
wi,j=wi,j+[P(hi=1|V(0))v(0)j-P(hi=1|V(k))v(k)j](4)
bi=bi+[P(hi=1|V(0))-P(hi=1|V(k))](5)
當RBM訓練到達終態(tài)后,則權值wi,j和偏置bi會逐漸收斂,而v是輸入數據,是確定值,所以在訓練達到終態(tài)后,p(yi)也會逐漸收斂,同樣信息熵H(Y)會收斂于一個較小值。
當訓練完一層之后,將隱藏層作為第2層的可見層輸入并開始訓練第2層RBM。根據信息熵的另一個物理含義平均信息量可知,在消除不確定性后,信息熵越大則表示所獲得的信息量越多,則隱藏層對于抽取的特征信息量也越大。所以當信息熵不再增加時,所表示的信息量也不再增大,將每層的RBM看作為一個信源,則最后一層的RBM收斂之后信息熵應該比其他層的大,這樣輸入到有監(jiān)督學習中的信息量才會最大。所以當信息熵不再增加時,則選擇該層作為最佳層數。





