劉國梁 余建波
知識的表述和推理一直是人工智能的熱點話題,其中知識所代表的是數據特征與標簽間存在的一般規律.在人工智能發展早期,符號規則用來表述知識并進行推理,研究者企圖通過這種方式來以人類的思維模式解釋機器的結論,而在這一過程中的規則定義為知識[1].符號形式的優點在于可以通過推導對知識進行驗證,并且其規則推導過程都是可以理解的.
在大數據時代,以連接主義為核心的神經網絡相較于符號系統具有更好的適應性.其中,深度學習[2]憑借其良好的特征學習性能近些年已經在各個領域得到了廣泛應用.通過深度學習得到的深度網絡即為具有深度結構的神經網絡.在深度神經網絡領域,Hinton等[3-4]基于深度置信網絡(Deep belief network,DBN)提出非監督貪心逐層訓練算法,為解決深層結構優化難題提供了解決辦法,并進一步提出了堆疊自動編碼器(Stacked auto encoder,SAE).Lecun等[5]提出了卷積神經網絡(Convolutional neural network,CNN),利用空間相對關系以減少參數數目來提高反向傳播算法的訓練效果,在圖像識別方面應用前景廣闊.此外,深度學習還出現了一些變形結構,如堆疊降噪自編碼器(Stacked denoising auto encoder,SDAE)[6].深度網絡憑借其強大的學習能力廣泛地應用于各個領域,但同時也據有不可忽視的 “黑箱問題”[7],即人類不能通過了解網絡內部的結構和數值特性來得到數據特征和數據標簽之間的關系,這一問題從根本上限制了深度神經網絡的發展.
近年來,一些研究者開始探究如何將符號系統和神經網絡相結合,其中一部分人希望通過符號規則所表示的邏輯關系來解釋網絡內部的結構和數值特性,另一部分希望將人類已知的知識通過符號系統傳入神經網絡以提高網絡性能.Gallant[8]最先提出了一種使用IF-THEN 規則解釋推理結論的神經網絡專家系統.其后Towell等[7]提出基于知識的人工神經網絡(Knowledge-based artificial neural network,KBANN),利用MofN 規則實現對神經網絡的知識抽取和插入,通過這種方式解釋網絡并增強網絡性能.Garcez等[9]在KBANN 的基礎上提出了 CILP (Connectionist inductive learning and logic programming)系統,該系統將邏輯規則應用到初始化網絡過程中,使網絡可以更好地學習數據和知識.Fernando等[10]在KBANN 的基礎上提出了INSS (Incremental neuro-symbolic system)系統,成功利用包含實數的分類規則初始化人工神經網絡.Setiono[11]在前人的基礎上從標準的三層前饋神經網絡中抽取了IF-THEN 規則,該抽取算法最大的亮點在于將隱藏節點的激活值離散化.袁靜等[12]嘗試利用符號邏輯語言描述神經網絡,并通過激活強度從理論上幫助規則進行推導.錢大群等[13]根據神經網絡節點的輸出值建立約束并生成規則.這種規則被用來解釋神經網絡的行為.黎明等[14]將模糊規則與神經網絡相結合以提高模型的模式識別能力.在深度學習上更進一步的研究中,Penning等[15]提出神經符號認知代理模型(Neural-symbolic cognitive agent,NSCA),試圖將時間符號知識規則與RTRBM (Recurrent temporal restricted Boltzmann machine)結合實現在線學習.Odense等[16]將受限玻爾茲曼機(Restricted Boltzmann machine,RBM)與MofN 規則相結合.深度置信網絡(DBN)是由RBM 堆疊形成的,而這一研究的意義則在于這是對DBN 網絡進行模塊化解釋的主要基礎,也是對神經網絡與符號結合的一種新思考.Tran等[17]在NSCA 的基礎上將置信度規則與DBN 相結合,實現知識的抽取和插入.Li等[18]通過將符號系統與神經網絡相結合形成神經符號系統,將符號主義與連接主義的優點集成,形成新的推理學習模型.Garcez等[19]提出了神經符號計算的概念,其中知識以符號的形式表示,而學習和推理由神經元計算.通過這種方式將神經網絡的魯棒學習和有效推理與符號的可解釋性相結合.論文從知識的表示、提取、推理和學習方面進行討論,并分別對基于規則、基于公式和基于嵌入的神經符號計算方法進行了論述.但是,上文所提到的知識提取與插入方法通常在淺層神經網絡模型實施,對于深度神經網絡模型的知識提取與插入有待深入展開.
本文提出了一種新的深度神經網絡模型 ——知識堆疊降噪自編碼器 (Knowledge-based stacked denoising autoencoder,KBSDAE),實現了符號系統與深度SDAE之間的有效集成,解決了深度神經網絡的知識發現,特征提取與網絡可視化問題.本文的主要貢獻如下:1)提出了一種新的深度知識神經網絡KBSDAE 模型,顯著地提高了特征學習及模式識別性能;2)提出了一種從深度網絡發現知識的方法,實現了深度網絡可解釋的目的;3)有效地將符號規則與分類規則相結合,獲得了一種具有高推導性能的規則系統.最后采用各類標桿數據驗證了本文所提出方法的有效性與可應用性.
自編碼器(Autoencoders,AE)是基于神經網絡的特征表達網絡,由輸入層 (x)、隱藏層 (h)和輸出層 (y)構成,是深度學習的典型模型之一[6].它通過編碼和解碼運算重構輸入數據,使得重構誤差最小.通過這種方式得到輸入數據的隱藏層表達,以達到特征提取的目的.因為學習過程中不存在數據標簽,但是又以輸入數據作為重構目標,所以認定該模型為自監督學習過程.
自編碼器的編碼階段是輸入層x到隱藏層h的過程,具體表示為

其中,σ是Sigmoid 非線性激活函數:σ(x)=1/(1+e-x),參數集合θ={w,b}.解碼階段是隱藏層h重構輸出層y的過程,具體表示為

其中,σ′是Sigmoid 非線性激活函數,參數集合θ′={w′,b′}.
通過最小化重構誤差函數L(x,y)=‖x-y‖2來逐步地調整網絡內部的參數θ,θ′,優化方式選擇隨機梯度下降法.最優參數表示為

降噪自編碼器(Denoising auto-encoder,DAE)是基于AE 的一種變形,通過噪聲污染訓練輸入數據以增加網絡的魯棒性,防止過擬合[7].從圖1 可以看到DAE 的訓練過程,首先利用隨機函數以一定的概率p將原訓練數據x中的一些單元置零得到被污染的數據;通過編碼和解碼對進行重構;最后調整網絡參數θ,θ′.在利用受污染的數據學習后,網絡可以具有更好的魯棒性.可以說,DAE 相較于傳統的AE 具有更強的泛化能力.

圖1 堆疊降噪自編碼器工作原理示意圖Fig.1 Stacked denoising auroencoder working principle diagram
將若干個DAE 堆疊起來,就可以形成SDAE,如圖1 所示.每一個DAE 都以前一個DAE 的隱藏層輸出作為原始輸入數據,添加噪聲后利用被污染的數據進行訓練.其訓練過程首先是逐個DAE 貪婪訓練,最后通過BP 算法[20]微調整個網絡以獲得最佳網絡模型.
本文提出的KBSDAE 實現了深度網絡知識抽取和插入目的,形成的KBSDAE 系統如圖2 所示.下面將闡述知識抽取和插入的詳細過程.

圖2 KBSDAE 模型結構圖Fig.2 KBSDAE model structure diagram
本文提出的規則集是由置信度符號規則和分類規則合并而成的,兩種形式規則的合成有助于規則集具有更高的可理解性和推理精度.對兩種規則集分別建立了相應的規則抽取算法,并且面向規則推理過程中兩者形式不同的問題,建立了一套基于懲罰邏輯[21]的完整推理算法.
符號規則方面,傳統邏輯符號規則有很多種表達形式,但是它們在復雜問題上的邏輯推理能力較弱.為了能描述深度神經網絡,本文選擇了一種數值和符號相結合的規則 ——置信度規則.這種規則存在以下特性:規則節點與網絡神經元一一對應;規則節點間的邏輯關系是從網絡中拓撲而出;規則置信值是對網絡權值進行擬合得出的;即便面對復雜的大型規則結構也可以進行有效的數學推理.這些特性賦予符號規則兩種能力:1)符號規則的結構與網絡基本相同且元素一一對應,網絡內部的邏輯關系可以被遷移到規則上作為一種網絡內部關系的表現;2)規則可以作為深度神經網絡的一種簡化表示,具備一定的網絡能力.所以符號規則的運行其實是對神經網絡行為的一種簡化模仿,而這種模仿過程是人類所能理解的.
置信度規則是一個符合充要條件的等式c:h ?x1∧···∧xn,其中c屬于實數類型,定義為置信值;h和xi(i∈[1,n])為假設命題,這種符號規則形式與文獻[16]中的規則相似,但由于面向的網絡不同,規則符號的意義也不同.本文定義具體的置信度符號規則為

該規則可解釋為:當x1,···,xn命題成立時,h命題也成立的置信值為c,反之亦成立.其中,是符號規則標簽,解釋為第l層第j個符號規則;代表DAE 中第l個隱藏層中第j個神經元;xi(i∈[1,n])代表DAE 輸入層中第i個神經元,P和N分別代表對產生積極和消極影響的輸入層神經元集合.根據表達式可以看出,符號規則的整體結構和堆疊的自編碼器具有相似的堆疊嵌套結構,可以最大化復現網絡結構.
分類規則的解釋邏輯是對網絡分類過程的一種模仿,由數值和邏輯符號組成.這種規則是從功能上對神經網絡分類層的模仿,通過數值和符號定義不同類別的不同區間可以最大限度的對網絡分類過程進行模仿和解釋.同時,由于分類規則組成元素與置信度符號規則相同,故兩者可以進行有效結合.具體的規則形式表示為

其中,?是規則的標簽,BN表示從置信度符號規則集中推導輸出的可信值集,VN代表對應的實數集,y為類值標簽,可以被賦值為某一類cl.該規則的解釋為:當符號規則集輸出的BN符合相應的條件時,可以判定這組數據屬于某一類cl.
兩種規則的合并即為本文提出的混合邏輯規則Rmix

可以看出,它是由堆疊的多層置信度符號規則和分類規則混合而成.
符號規則抽取目標是每一個自編碼器的編碼階段[17],抽取過程的核心原理是將規則置信度cjsj最大化擬合權重值wj.根據DAE 基本原理,其輸入數據x到隱含表示h的映射表示為

根據式(7)提出新的函數,同樣可以將數據x映射到隱藏層空間中

其中,cj是連續實數,sj∈{1,0,-1}是對wj的符號項表示,可以理解為sij=sign(wij).當xi或?xi在規則j中時,sij分別等于1 或 -1,其余情況下sij等于0.對比式(7)和式(8)可以看出,二式的形式和元素基本相同.為了使hj1可以有效地代表隱藏層空間,需要找到合適的cj和sj,使hj1近似于hj.本文通過最小化wj與cj×sj之間的歐氏距離實現擬合過程

在提取cj的過程中,對式(8)進行求導并令其等于零,即∑

經過數學推導,最終可以得到cj的表達式為

進一步對式(9)分析,可得

可知,如果想要歐氏距離最小,需要在sij=1或sij=0的情況下.進一步,如果一個元素對應的歐氏距離只有在sij=0 的情況下最小,那么可以判定該元素xi不應該出現在規則hj中.即

可知,當 2|wij|≤cj時,對應的元素不應出現在規則中.通過式(11)和式(13)可以得到一種具有強連接關系和判定系數的符號規則集,能夠更加緊湊地描述DAE 網絡.
根據上述分析,從DAE 網絡中抽取置信度符號規則的具體算法DAE_CRE 可參考文獻[17]的規則抽取算法.SDAE 是由DAE 編碼網絡堆疊而成的,只需將DAE_CRE算法迭代運行,就能抽取出SDAE 編碼器部分的置信度符號規則集.同時,通過上述方法得到的規則集具有堆疊嵌套結構,這有助于規則集的推理性.
置信度符號規則可以表示SDAE 的堆疊編碼器部分,但是在分類層的表示上存在較大的信息損失[17].為了更加準確地解釋SDAE,本文運用數據挖掘領域分類規則的相關知識,從統計意義上解釋分類層.為了與之前的符號規則保持一致性,分類規則的基本形式也是IF-THEN.
利用遺傳算法(Genetic algorithm,GA)[22]挖掘符號規則推導出的置信值與分類標簽之間的關系是分類規則抽取算法的核心思想.在實驗中發現,從符號規則中推導出的置信度集合存在數據間差異過小的問題.這使得一般的GA 編碼方式得到的規則性能較低.針對上述問題,本文改進了Yu等[23]的編碼方式,使分類規則性能提高的同時讓規則更加緊湊簡單.算法基因的構成如表1 所示,每一個基因由狀態判別量(Active,Act)、符號判別量(Distinguished symbol,DS)、具體數值(Value,V)三個元素組成.N個這樣的基因按照特征的順序組成了染色體,N為特征數量.

表1 遺傳算法基因編碼示意表Table 1 Genetic algorithm gene coding schematic
本文選用的GA 算法適應度函數是較為普遍的規則質量評估函數:

其中,TP表示被判斷為正樣本,實際上也是正樣本;FN表示被判斷為負樣本,實際上也是負樣本;TN表示被判斷為負樣本,但實際上是正樣本;FP表示被判斷為正樣本,但實際上是負樣本.(TP/(TP+FN))和 (TN/(FP+TN))分別表示每條規則對該類別的敏感度和特異性.通過這個適應度函數,可以得到對每一個分類都具有高敏感度和特異性的規則.
由于符號規則與分類規則的表現形式不同,需要特定的推導方法才能使混合規則集具有可推導性,抽取的規則集的意義才能顯現.本文提出的推導方法(Rule-INF)分成兩個部分:符號規則部分和分類規則部分.符號規則的推導借鑒了文獻[21]中懲罰邏輯的思想并加以改善.通過置信度值的數值特性,符號規則的推導突破了二值的限制,可以用于推導大量的連續性數據.分類規則的推導將符號規則輸出的置信值與規則一一對照,尋找出符合條件的規則并進行分類.具體的推導算法如算法1 所示.
算法 1.Rule-INF 算法


本節將討論如何利用混合規則集Rmix初始化并訓練KBSDAE,這種初始化過程可以看作是一種遷移學習,即在網絡創建的初始階段就賦予深度網絡有效的知識.通過這種方式得到的KBSDAE網絡具有更快的收斂速度和更高的識別精度.混合規則包含符號規則和分類規則,它們分別對應初始化KBSDAE 的編碼部分和分類器部分,本節將分別討論初始化KBSDAE 不同訓練階段的方法.
基于Tran等[17]的符號規則與DBN 相結合的思想,本文首先篩選出置信度較高的分類規則束,其次利用符號規則初始化DAE 網絡,最后利用特殊的參數更新策略完成訓練.
符號規則束篩選算法Rule-Screen 基于符號規則的置信度運行.由于規則結構具有迭代嵌套特性,可以看作一種類似樹狀結構,所以將規則集分割為規則束以作為篩選目標.每個規則束的置信度值通過推導算法得到,最終選取置信度較高的規則用于初始化網絡.具體的算法流程如算法2 所示,將第1 層符號規則集的置信度值作為輸入在符號規則集中進行推導,并最終篩選出置信度高的n個規則束.通過這種方法將規則集中最可信的規則用于網絡初始化,在不造成信息過度損失的情況下簡化初始化過程.在本文中,規則篩選率為1/n=0.3,該參數的選取依據參照文獻[24].實驗發現,利用算法2 得到的規則束囊括了各層符號規則中的高置信度規則,這從另一個方面證明了算法的有效性.
算法 2.Rule-Screen 算法


由于符號規則的結構與DAE 的編碼階段基本相同,本文將規則中的元素和置信度值分別初始化為對應網絡中的神經元和連接權重,并且在網絡訓練過程中抑制被初始化參數的更新,使知識得以保留.具體訓練步驟如下.
步驟 1.建立一個SDAE,其結構和抽取規則的原網絡相同.對每一個規則cj:hj?x1∧···∧xn,hj&x1∧···∧xn分別對應目標網絡的隱藏層神經元以及輸入層神經元集.注意,這些神經元集的排列位置應與原網絡位置相同.
步驟 2.確定在hj與x1···xn之間的連接權重.如果輸入神經元對應規則中的xp,那么s=1;反之,則s=-1.其余的與hj沒有關聯以及隱藏層與輸出層之間的權重設為較小的隨機值.神經元偏差設為隨機值.
步驟 3.利用BP 算法訓練DAE,其中被規則初始化的連接權重不被更新.為了保證代入的規則在訓練過程中與網絡較好嵌合,利用隨機數對隱藏層神經元輸出進行二值化處理:隨機生成一個數值為0-1 的隨機數R,如果hj>R,那么hj=1;反之,則hj=0.
步驟 4.自上而下地對每一個DAE 重復執行步驟1~3,直到編碼部分訓練完成.
分類規則的結構形式與SDAE 的分類層結構不同,不能直接進行初始化過程.本文將KBANN[7]的相關知識融入到KBSDAE 的分類層中,訓練過程如圖3 所示.但是本文所定義的分類規則包含實數集和符號集,而只針對符號規則的KBANN 方法在這里并不能完全適用.為了將分類規則中的實數知識初始化入網絡中,本文借鑒了Fernando等[10]提出的INSS 系統思想,利用實數型規則初始化網絡.

圖3 KBSDAE 的Fine-tuning 階段示意圖Fig.3 Fine-tuning diagram of KBSDAE
初始化分類層的核心步驟是,利用分類規則在分類層和DAEs 中間新增加一個隱藏層,定義為lN+1.對每一個規則基本元素對應網絡中DAEs 部分最后一個隱藏層的神經元,VnN對應新建隱藏層lN+1中的神經元,類標簽值clj對應分類層神經元.具體的權值和偏置值初始化方法如圖4所示.圖4 以一條分類規則為例,展示了這條規則初始化網絡的全過程,其中P代表連向該單元的神經元數目,w和C分別代表分類規則的靈敏度和可信度.為了更清晰地表達,圖4 省略了大部分連接線.本文中定義Weight2=1.需要注意的是,為了提高被初始化網絡的泛化性,微調過程中在新隱藏層lN+1和編碼階段頂層lN分別新加25 個神經元,這種操作在KBANN[7]中被證明是有效的.

圖4 分類規則初始化網絡算法示意圖Fig.4 Classification rule initialize network algorithm diagram
為驗證抽取知識的有效性.利用數據關系已知的簡單數據訓練自編碼器,并從編碼過程中抽取知識.如果抽取出規則所代表的知識與已知數據關系相符,那么可以證明從網絡中抽取特征間知識的有效性.本文利用具有異或關系的數據對自編碼器AE 進行訓練,并從編碼過程中抽取符號規則集.該實驗的目的在于驗證從不同規模的AE 提取出的符號規則是否也具有異或特性.輸入數據具有三個維度x,y,z,它們具有z?x ⊕y關系的同時還具有x ?y ⊕z和y?x ⊕z關系.通過訓練讓DAE 學習異或關系.
從不同DAE 中提取的部分符號規則如表2 所示.其中與輸入數據關系相符的規則具有較大的置信度,反之只具有很小的置信度,并且從不同規模網絡中抽取出的規則都基本符合數據關系.這證實了本文所提出的符號規則體系可以有效拓撲并抽取出網絡中的知識.盡管抽取過程存在一定的信息損失,但是依舊可以很好地表示DAE 的編碼過程.

表2 部分DAE 符號規則抽取結果Table 2 DAE symbol rule extraction result
為了驗證符號規則是否也能夠像DAE 一樣提取特征,本文利用三種特征維度較高且數據特征與標簽間的關系不明顯的數據集分別對不同規模的DAEs 進行訓練并抽取規則.一般情況下,相較于原始數據,經過DAE 編碼后輸出的數據具有更低的維度,而利用這種低緯度數據訓練的支持向量機(Suppprt vector machine,SVM)一般具有更好的分類結果.如果相應置信度符號規則對輸入的原始數據經過推導后所輸出的低緯度數據也可以提升SVM 的分類結果,那么可以證明從DAE 中提取出來的規則具備同樣的特征提取能力.
利用DAE 無監督訓練后輸出的降維數據和對應規則推導得到的置信值集合分別對SVM 進行訓練并測試分類性能,其中SVM 選用線性核函數.數據集包含MNIST 手寫數字數據集、HAR 人體活動識別數據集、數據集的圖像中每個像素有256 (0~255)灰度級,將這些圖像歸一化到區間[0,1].MNIST 數據集包含 60 000 個訓練數據和10 000個測試數據集.為了提高訓練效率,本文首先選取10 000個訓練數據和2 000 個驗證數據訓練初始網絡.之后選取分類效果最好的初始網絡并利用完整的60 000個數據進行訓練.最后再利用10 000 個測試數據進行測試.HAR 數據包含由智能手機收集的561 維特征以及對應的6 種人物動作,有8 239 個訓練數據集和2 060 個測試數據集.訓練模型的參數:DAE 的學習率為0.01~1 之間,噪聲率在0.2~0.5 之間.SVM 的懲罰系數在0.01~1 之間.
利用SVM 對不同數據進行10 折交叉訓練的結果如表3 所示.相較于原始數據,經過DAEs 或對應符號規則提取特征的低維數據具有更好的可分性.雖然規則的特征提取能力和相應DAEs 之間存在差距,但是從某種意義上講,DAEs 中抽取的規則可以在一定程度上代表DAEs,故規則也具有穩定降維的能力.

表3 復雜數據集降維后SVM 10 折交叉分類結果(%)Table 3 Ten-fold cross-classification results of dimensionally reduced complex data on SVM (%)
為了驗證混合規則的可推導性和可解釋性,利用DNA promoter[25]數據集訓練網絡并抽取規則.該數據集普遍應用于驗證網絡-符號系統,數據集具有106 例數據,分成53 個激活項數據和53 個不激活項數據,每一例數據由DNA 的-50~7 位置上的染色體狀態組成(A,T,G,C).將染色體狀態進行one-hot 編碼以方便網絡學習,如:A=(1,0,0,0),T=(0,1,0,0)等.經過數據處理,原數據變為228 維數據.隨機選取86 例訓練數據,20 例預測數據.首先利用數據分別訓練5 個單層SDAE,網絡規模為228-3-2 (即:單層SDAE 的輸入神經元個數為228 (輸入數據為228 維數據),SDAE 的隱層神經元個數為3,輸出層神經元個數為2 (根據分類數確定,此處為激活項與不激活項兩類)),兩個訓練階段的學習率分別為0.01和1,DAE 訓練階段噪聲率為0.1.這些網絡在測試集上的平均識別精度為90%,而對應抽取出的規則在測試集上的平均推導識別精度為91.52%.具體的分類規則如表4 所示,可以看出本文提出的混合規則具有較高的推導判別性能.

表4 基于DNA promoter 的分類規則明細表(%)Table 4 Classification rule schedule based on DNA promoter (%)
在模型的可解釋方面,本文所提出模型的核心思想為符號與網絡相結合,而規則就是對網絡的一種模擬和解釋.接下來我們將嘗試利用規則對網絡進行解釋并驗證.基于DNA promoter 數據集的模型規則如表3和表4 所示.表5 包含了3 個隱藏神經元所對應的部分規則以及DNA promoter 數據集固有的基本規則,其中 “[]”表示為任意堿基都成立;“T (A)”表示T 或A 在該位置出現都算假設成立.以為例解釋網絡行為:如果輸入數據在規則片段1 對應位置的堿基排列為 “TTG (Tor A)C”;在規則片段2 對應位置的堿基排列為 “(Tor A)AAAGC”;在規則片段3 對應位置的堿基排列為“AATAA”,那么DAE 的隱藏層神經元h2的輸出值則盡可能大.根據表4 的分類規則,如果h2和h3足夠大,就將這一數據定義為 “promoter”.上述的過程為規則推導的過程,也在一定意義上解釋了神經網絡內部的運行機理.為了驗證這種解釋是否正確,將抽取出的規則與數據的固有基本規則進行對比,可以發現基本規則與生成規則所對應的地方基本相符,這也驗證了利用規則抽取網絡內部知識的有效性.

表5 基于DNA promote 數據集的部分符號規則明細Table 5 Partial symbol rule details based on DNA promote
對比規則和標準網絡在相同測試數據下的推導精度,以驗證規則的高精度推導能力和穩定性.根據不同訓練數據量,分別連續訓練20 個標準單層DAE 網絡并從中抽取規則.利用20 例測試數據分別對每一個網絡和其對應的規則進行精度測試,結果如圖5 所示.圖中橫坐標表示標準網絡在測試集上的預測精度,縱坐標表示規則在測試集上的推導精度.可以看出,測試結果大部分都落在對角線周圍,這證明規則推導精度和對應的標準網絡大體相當,且具有較高穩定性.即便訓練數據量發生變化,推導精度也不會發生突變.

圖5 SDAE和對應混合規則DNA promoter 的識別率對比(%)Fig.5 Comparison of DNA promoter recognition rate between SDAE and corresponding blending rules (%)
KBSDAE 在構建過程中創造性地同時利用兩種不同類型的規則進行網絡確定與權重參數初始化,其網絡結構以及訓練方法都與傳統SDAE 有所不同.因此,本文采用UCI 數據庫[26]中的經典標準數據(如表6 所示)對KBSDAE 的分類性能進行測試,并與其他典型分類器進行比較.

表6 UCI 數據集信息Table 6 UCI dataset information
KBSDAE 的網絡結構為兩個DAE 堆疊(第1個DAE 隱藏層神經元數稍大于輸入特征數,第2個DAE 隱藏層神經元數稍小于輸入特征數),外加一層由分類規則初始化出的隱藏層lN+1,該層神經元數根據分類規則變化,最后堆疊一個Softmax 分類層.兩個訓練階段的學習率在0~0.01 之間,噪聲率在0.01~0.3 之間.DAE 迭代訓練200 次,Finetuning 階段迭代50 次,其余分類器的迭代次數與之相似.對比的網絡有DBN,網絡結構為兩個RBM 堆疊,其結構與KBSDAE 相似,兩個訓練階段學習率在0.1~1 之間,RBM 訓練階段的動量為0.05~0.3;Sym-DBN 模型來自于文獻[17],是一種符號規則和DBN 相結合的模型,其網絡結構與DBN 相同,兩階段學習率在0.01~0.2 之間,RBM訓練階段的動量為0.05~0.3.SDAE 為兩層DAE堆疊而成,網絡結構與參數和KBSDAE 相同.INSS-KBANN[10]中的規則由GA 算法直接從訓練數據集中挖掘,包含一個隱藏層,學習率在0.1~1 之間,迭代訓練200 次.BPNN 模型結構與KBSDAE相同,學習率在0.1~1 之間,迭代訓練300 次.
如表7 所示,其中所有識別器的測試結果都是經過5 折交叉[27]后得到.在實驗過程中,將數據隨機等分成5 份,其中4 份作為訓練數據,另外一份作為測試數據.實驗連續進行5 次,保證每一份數據都成為過測試集和訓練集.實驗結果證明,KBSDAE的分類性能相較于傳統的機器學習分類器有較為明顯的提升.特別地,KBSDAE 明顯優于SDAE,這說明符號規則與分類規則融合的SDAE設計方法顯著提高了其特征學習與識別性能.

表7 UCI 數據集信息 (%)Table 7 UCI dataset information (%)
知識代入過程中對網絡的影響在于初始化階段.網絡的初始化對網絡的訓練過程具有較大的影響[7].為了驗證利用知識初始化網絡是否可以帶來積極影響,本文利用 HAR 數據集建立KBSDAE 網絡,并記錄了KBSDAE 在無監督訓練和微調階段的均方誤差(Mean square error,MSE)變化.MSE 可以很好地描述網絡在訓練過程中的分類性能變化.從圖6 可以看出,無論是在無監督還是在微調階段,KBSDAE 的MSE相較于規模相同的SDAE 都具有更低的起點、更快的收斂速度和更低的收斂區間.這證明了利用知識初始化網絡所帶來的積極影響,進一步證明了本文提出方法的有效性.

圖6 KBSDAE和SDAE 在HAR 數據集上訓練過程的均方誤差變化對比Fig.6 Comparison of mean square error of KBSDAE and SDAE training process on HAR dataset
為了進一步驗證KBSDAE 模型在處理復雜分類問題時能否有效進行分類,選取了兩種標準數據集:USPS 手寫數據集以及HAR 數據集[28].對比了SDAE和KBSDAE 的類識別性能.具體的實驗數據如表8 所示.從表中可以看出,在結構參數基本相同的情況下,KBSDAE 與SDAE 的分類情況類似,故認定KBSDAE 不存在類識別不平衡問題.值得注意的是,文獻[27]利用改進的支持向量機處理HAR 數據集的分類問題,識別精度最高僅達到89.3%,而KBSDAE 可以達到98.5%的識別精度.

表8 復雜數據集分類結果對比(%)Table 8 Classification results of comparison on complex datasets (%)
為了驗證KBSDAE 在復雜數據集上的分類性能是否足夠優越.本文選取了目前較為主流的一維分類器和符號神經模型在USPS和HAR 數據集上進行分類結果橫向對比.結果如表9 所示,其中所有結果都是5 折交叉后得到的.可以看出,KBSDAE相較于其他分類模型具有更好的分類效果.

表9 復雜數據集5 折交叉分類結果對比(%)Table 9 Comparison of five-fold cross-classification results on complex datasets (%)
為了驗證規則中的知識是否能賦予網絡一定的分類性能以及KBSDAE 對數據的敏感度,對比了不同訓練數據量下網絡模型的預測精度.本文利用DNA promoter 數據分別訓練SDAE和KBSDAE.訓練數據量從10 開始逐漸遞增.訓練后的網絡利用20 個測試數據進行識別性能測試,結果如圖7所示,在訓練數據量很小的情況下,KBSDAE 依舊具有高識別精度,這是由于知識代入網絡的結果.并且,隨著訓練數據量的增加KBSDAE 識別精度也穩定高于傳統SDAE.

圖7 不同DNA promoter 數據量訓練的SDAE 與KBSDAE 分類性能對比Fig.7 Comparison of classification performance between SDAE and KBSDAE trained by different DNA promoter data
為進一步驗證知識代入網絡的過程是否有效,對比了KBSDAE和SDAE 在不進行Fine-tuning和只進行幾步Fine-tuning 后的測試精度.利用DNA promoter 數據集分別建立了結構和訓練參數相同的SDAE和KBSDAE,其中兩個訓練階段的學習率分別為0.01和1,DAE 訓練階段噪聲率為0.1.實驗結果如圖8 所示,可以看到KBSDAE 在不進行Fine-tuning 的情況下仍具有80%的測試精度,與SDAE 的51%測試精度相比提升明顯,這進一步證明了利用規則將知識代入網絡中的方法是有效的.經過前幾步Fine-tuning 后的KBSDAE 測試精度普遍高于SDAE,證明了將知識代入網絡可以顯著提高網絡的分類性能.

圖8 不同Fine-tuning 訓練步數的SDAE 與KBSDAE 分類性能對比Fig.8 Comparison of SDAE and KBSDAE classification performance of different fine-tuning training steps
面對深度神經網絡的 “黑箱問題”,本文提出了一套全新的知識表達規則系統,嘗試解釋并強化深度神經網絡.該系統可以對SDAE 網絡進行簡單表示并從SDAE 中抽取和插入知識.通過這套系統,可以理解到網絡內部的知識并建立性能更加強大的KBSDAE.規則系統創新性的將符號類型和數值類型的規則進行有機結合,使得這種混合規則具有較高的推導性能和可理解性,在網絡規模愈加復雜的當下這種規則形式不失為一條具有研究價值的路徑.實驗證明,混合規則系統可以有效表示網絡并提取網絡知識,具有高推導精度和穩定性.利用規則初始化后的KBSDAE 相較于傳統SDAE 具有更快的收斂速度,更高的預測精度和數據靈敏度.下一步可以將規則與深度網絡可視化相結合以提升對網絡的解釋能力.可以嘗試解釋更復雜和龐大的網絡,如卷積神經網絡.