李國強,徐立莊
燕山大學 電氣工程學院,河北 秦皇島066004
隨著互聯網技術的蓬勃發展,如何對有效數據進行準確且快速地提取成為人們關注的問題。神經網絡的快速發展為數據處理提供了便利條件[1-2],早期的神經網絡工作主要集中于解決調整參數和網絡層次結構問題,特別是梯度下降參數的求解,但都存在著固有的缺陷,如:學習收斂速度慢,易于陷入局部極小等問題。目前,神經網絡在語音識別、圖像處理、物體識別等眾多領域得到廣泛應用[3-4],并且取得了很大的成功,其中較為流行的神經網絡模型為反向傳播(Back Propagation,BP)網絡[5],以及在圖像處理方面取得較大突破的深度學習(Deep Learning,DL)[6],例如:卷積神經網絡(Convolu‐tional Neural Networks,CNN)[7-8]、深度置信網絡(Deep Belief Networks,DBN)[9]、深 度 玻 爾 茲 曼 機(Deep Boltz-mann Machine,DBM)[10]。但是,DL 網絡為多層神經網絡結構,樣本量較多且網絡結構復雜,因而存在訓練速度較慢的問題。而網絡結構較為簡單的BP 網絡,也存在迭代求解速度較慢且易陷入局部極小解的問題。
寬度學習系統(Broad Learning System,BLS)[11]的提出為以上問題提供了一種解決方案,該模型作為深度學習的替代方法被提出。BLS 的優點在于它利用動態更新算法[12]對新添加的節點進行快速處理而不需要重新建立模型。在原有模型的基礎上進行優化處理,不僅讓添加新節點的模型變得更加精確,同樣地,也極大地節省了模型重構所需要的時間。但是面對圖像分類時,要想達到高準確度的要求,依然需要上萬個隱藏節點來對網絡進行建模,普通的硬件配置很難正常運行。基于局部感受野的極端學習機(Local Receptive Field based Extreme Learning Machine,ELM-LRF)[13]是 將CNN 和極端學習機(ELM)[14]進行結合,根據神經元在神經網絡中擁有局部感知的特點,提出加入局部感受野的思想(LRF),使得該模型對圖像的識別擁有更高的準確率和更好的穩定性。因此,本文將ELM-LRF 中局部感受野的部分提取出來與BLS結合,構建了基于局部感受野的寬度學習網(BLS-LRF),該模型分別從局部和全局兩方面對圖像特征進行快速提取。并且保留了BLS動態更新節點的特點。實驗采用MNIST 數據集和NORB 數據集對該網絡進行測試,并且將測試結果和傳統的神經網絡進行對比,實驗結果表明BLS-LRF 網絡只需要很少的節點就能達到傳統網絡的測試精度,同時,訓練和測試的時間也大幅度的縮短。
許多神經網絡都被耗時的訓練所困擾,主要的原因是由于層級之間含有大量的參數,導致訓練周期增長。其次,如果已經建立的模型沒有達到期望的目的,那么它將消耗大量的時間再次進行重新訓練,寬度學習網的設計為以上問題提供了一種有效的解決方法。寬度學習系統是由澳門大學陳俊龍教授提出的一種新型學習算法,其結構如圖1所示。

圖1 寬度學習網
BLS 的設計思想來源于隨機向量函數鏈式神經網絡(Random Vector Functional-Link Neural Network,RVFLNN)[15],結構如圖2 所示,RVFLNN 通過對網絡結構的擴展,將多層網絡轉換為單層網絡,使該網絡具有極強的非線性映射能力,達到了快速、高效的學習目的,避免了陷于局部最小的問題,盡管RVFLNN 有著顯著的速度和不錯的性能,但伴隨著大數據時代的到來,面對不斷更新的數據RVFLNN 模型的重構能力又有明顯的不足。為了適應更多的數據量,BLS網絡結構應運而生。它在RVFLNN 的基礎上添加了由原始輸入到特征節點層的算法,將所提取到的特征值作為輸入層連接到增強節點層。并且BLS 網絡中還添加了動態逐步更新算法[12],在不需要重新訓練模型的前提下對新添加的數據或隱層節點進行快速處理,即在原有模型的基礎上對新的節點或數據進行優化處理,讓新模型擁有更好的泛化性能,同時也極大地節省了模型重構所需要的時間,第三部分對動態更新算法進行了詳細的解釋。BLS 不但完美繼承了RVFLNN 的優點,而且還能快速高效地處理數據,從而節省許多的時間。目前,很多神經網絡也是以BLS為基礎進行改進的,例如寬度學習系統的通用逼近能力(Universal Approximation Capability of Broad Learning System,UAC-BLS)[16],模糊寬度學習系統(Fuzzy Broad Learning System,FBLS)[17]。

圖2 隨機向量函數鏈式網絡
根據圖1 的網絡結構來對BLS 進行描述,首先,原始輸入層通過稀疏編碼算法得到了數據的映射特征。其次,映射特征作為特征節點層通過激活函數連接到增強節點層,其中的權值隨機產生。最后,所有的特征節點和增強節點作為輸入直接連接到輸出,為了找到所需的連接權值,采用最小二乘法[18]的改進算法嶺回歸[19]求得隱藏層與輸出層之間的輸出權值。具體過程如下:

其中,Wik表示第i組映射特征中的第k 個特征節點與所有輸入的連接權重,Wei∈RM×k表示第i 組的特征映射與所有輸入的連接權重。β代表著偏置。

圖3 基于局部感受野的極端學習機
因此,特征節點層中所有的特征映射可以被記為:

同理,第j組的增強節點通過特征節點可求得:

其中,Whj∈Rkn×l和βhj是隨機權重和偏置,ζ(?)表示激活函數,l 表示第j 組增強節點的數量。然后,前m 組的增強節點可被記為:

最后得出網絡輸出與網絡的關系如下:


基于局部感受野的極端學習(ELM-LRF)是由南洋理工大學的黃廣斌教授提出的,網絡結構如圖3 所示。該網絡模型主要由三部分構成:
(1)利用局部感受野的特性對圖像進行局部特征提取。為了獲得充分的局部特征,可以設置K 組不同輸入權重,每組輸入權重形成一個特征映射圖,最終獲得K個不同的特征映射圖。
(2)卷積操作和平方根池化的過程。假設輸入層大小為d×d,局部感受野大小為r×r,可得出特征映射圖的大小是( d- r+1)×( d- r+1),池化圖和特征圖大小相同。
(3)利用正則化最小二乘法求解輸入權重的過程。由圖可知池化層與輸出層是全連接的,將池化層中所有組合節點的值構成一個行向量,假設有N 個輸入樣本的行向量,最終得到的組合矩陣為,利用最小二乘法得到最終的輸出權重W。
從網絡結構及原理來看,ELM-LRF 網絡融合了CNN 的思想。它們都是直接處理原始輸入,利用局部連接的方法限制網絡模型的學習。但不同的是ELMLRF 可以根據不同的概率分布來進行隨機的采樣,而CNN只能使用卷積隱藏節點來采樣。并且CNN訓練完成后還需要誤差反向傳播算法(BP)[5]來進行調整,需要耗費大量的時間,而ELM-LRF 網絡只需要隨機地生成輸入權重而不需要后期的調整。使得該模型相比于CNN可以節省大量的時間。
提出的BLS-LRF 網絡結構是將BLS 和ELM-LRF中的LRF 思想相結合,ELM-LRF 可以由連續概率分布隨機生成不同形式的局部感受野作為輸入數據,而BLS則是采用對圖像進行全局特征提取的方法來對模型訓練。將兩個網絡模型進行結合,可以從局部和全局兩方面對圖像特征進行提取,達到增強網絡測試精度的目的。模塊結構如圖4所示。

圖4 BLS-LRF網絡模塊圖

表1 NORB數據集測試精度對比
根據結構可以看出不改變BLS算法的基礎上,只需將ELM-LRF 中的局部感受野部分與BLS 合并,即池化層的輸出與BLS最后的隱層(包括特征節點層和增強節點層)作為輸入層與輸出層進行連接。在寬度學習網的基礎上拓展出最后隱層的輸出,記為A=[Zn|Hm|D]其中D是ELM-LRF池化層的所有輸出矩陣。
對于輸出層權值采用偽逆的方法求取,根據公式:

求得輸出層的權值Wm,其中Y 表示期望輸出是約束權重的系數。
澳門大學陳俊龍教授等人提出了一種動態逐步更新算法(增量學習),該算法對新添加節點相關的權重立即更新,這項工作為以后需要增加節點的網絡鋪平了道路,同時它為經典模型的權值更新提供了一種有效快捷的方法。BLS 的增量學習算法便是在此基礎上被設計出來,它可以通過動態增加節點(特征節點和增強節點)來達到提高精度的目的,而BLS-LRF 網絡結構不但能從多方面提取輸入特征,而且還保留了BLS動態更新節點的優點即增量學習算法。動態增加增強節點的具體過程如下:
假設網絡初始結構有n 組映射節點和m 組增強節點,網絡的最后隱層的輸出記為Am=[Zn|Hm|D]。當增加p個增強節點時,特征節點和新增加的增強節點之間的 關 系 為 Hm+1=[ζm+1(ZnWhm+1+βhm+1)],其 中Whm+1∈Rnk×p,βhm+1∈Rp,得 到 新 的 最 后 隱 層 記 為Am+1=[Am|Hm+1],根據增量學習算法[11-12]可以得出新矩陣Am+1的偽逆。

其中O=(Am)+ζm+1(ZnWhm+1+βhm+1)

因此,新的權重是:

為了證明BLS-LRF 的有效性,對兩個經典數據集MNIST和NORB進行測試,然后將BLS-LRF分別與BLS和ELM-LRF測試結果進行對比。參考文獻[11]選取BLS網絡最優的節點和最佳參數C。參考文獻[13]且經過多次測試得出C等于0.01 時為ELM-LRF 最佳參數。本次測試是在Windows 7(64 位)、Inter i7-7820X、3.60 GHz CPU和32 GB RAM的臺式機Matlab環境下運行的。
NORB 數據集一共有48 600 張圖像,該數據集主要應用于對3D 玩具模型識別的實驗[20],其中包含50 個玩具分成5 個不同種類:四肢動物、人像、飛機、卡車和汽車。在各種照明條件下,選取不同的方位角和高度對取樣物體進行成像,最終形成了48 600張圖像。選取其中的24 300 張圖片作為訓練集,其中包含25 個玩具(每種類型5 個)。將剩余的24 300 張圖片作為測試集,同樣包含25個玩具(每種類型5個)。
根據文獻[11]可知,BLS 網絡選取100×10 的特征節點和9 000個增強節點是對NORB數據集測試精度最優的節點設置。ELM-LRF 參數設置為4×4 的感知域、10個特征映射圖和池化大小為3。BLS-LRF 參數設置為10×10 的特征節點、900 個增強節點、4×4 的感知域、3 個特征映射圖和池化大小為3。測試結果如表1所示,3個網絡結構進行對比可以看出,BLS-LRF 的測試精度是最高的,并且訓練和測試的總時間是最短的。而BLS網絡的測試精度雖然和BLS-LRF 的差不多,但是訓練和測試所花費的總時間卻是BLS-LRF 的兩倍。為了更好地體現BLS-LRF 的有效性,采用現在主流算法和該網絡進行對比,其中包括兩種棧式自編碼算法SAE 和SDA[21]、深度置信(DBN)、多層感知算法(MLP)[22]、深度玻爾茲曼機(DBM)、多結構極端學習機(MLELM)[23]及多感知極端學習機(HELM)[24],以上算法的實驗均在Intel-i7 2.4 GHz CPU,16 GB RAM Matlab 環境下運行,實驗的分類結果引用于文獻[24]。實驗結果如表2所示,從測試精度來看,盡管本文提出的方法精確度90.08%不是最好的,僅次于HELM 的91.28%。從訓練時間來看,本文提出的方法所用時間是18.46 s,是所有算法里所用時間最短的。因此綜合來看,BLS-LRF算法對NORB數據集分類是有效且快速的。

表2 NORB數據集分類結果
BLS-LRF算法不僅對以上無增量學習算法有效,面對增量學習算法同樣有效。為了證明BLS-LRF 網絡在增量學習中的有效性,將BLS 的增量學習算法和BLSLRF的增量學習算法進行比較,這里只討論動態增加增強節點。首先BLS 的初始結構為100×10 的特征節點和2 000個增強節點,對增強節點更新5次,每次增加1 000個增強節點,結果如表3 所示。BLS-LRF 的初始結構為4×4 的感知域、3 個特征映射圖、池化大小為3、10×10 的特征節點和200個增強節點,同樣對增強節點更新5次,但每次增加100個增強節點,結果如表4所示。經過表3和表4 的對比可以得出,BLS-LRF 不但每次動態更新的精度高于BLS,并且每次動態更新所需要的時間相比于BLS縮短了3~5倍,由此可以看出BLS-LRF對于增量學習算法也具有一定的促進作用。

表3 BLS對NORB數據集的增量學習算法

表4 BLS-LRF對NORB數據集的增量學習算法
MNIST 數據集作為經典的手寫數據集被廣泛應用[25]。這個數據集包含了70 000 張手寫數字圖片,其中有60 000張圖片作為訓練樣本,剩余10 000張作為測試樣本。每張圖像是一個單一的手寫數字圖片。對于BLS 網絡結構參考文獻[11],選取最優節點數即10×10的特征節點和11 000的增強節點。對于ELM-LRF設置5×5 的感知域、30 個特征映射圖和池化大小為3 去進行測試。為了證明BLS-LRF網絡的快速性,設置了5×5的感知域、3個特征映射圖、池化大小為3、10×10的特征節點和5 000 個增強節點去和上面兩個網絡進行對比,對比結果如表5所示,可以看出前3組的測試精度相近,但是所需要的時間長短卻不相同,BLS-LRF的測試時間是最短的為35.2 s,其次是BLS 的51.71 s,最后是ELMLRF 的84.8 s。因此BLS-LRF 的網絡模型要優于BLS和ELM-LRF。

表5 MNIST數據集的測試精度對比
其次,將BLS-LRF 中的3 個特征映射圖增加到10個特征映射圖就得到了BLS-LRF對MNIST數據集最高的測試精度99.06%,訓練時間為112.73 s,總時間為124.85 s。同樣引用文獻[24]中的測試結果,得到了表6,另外為了突出BLS-LRF 的優越性,添加了目前比較流行的深度學習網絡與其進行對比。這里采用CNN 和殘差神經網絡(Resnet)[26]來對MNIST數據集測試,之后將測試結果與BLS-LRF 做比較。對于CNN 設置5 層結構(2 個卷積層、2 個池化層和1 個全連接層)卷積核為5×5、池化大小為2、輸出通道為6 和12,數據每批次為50,一共迭代20 次。測試環境與BLS-LRF 的測試環境相同。對于殘差網絡采用56 層結構(55 個卷積層和一個全連接層),其中卷積層分成4 個模塊,第一個模塊只包含一層卷積,其余的3 個模塊分別包含18 個卷積層,每個模塊的輸出通道分別為16、16、32、64。所有卷積的卷積核大小為3×3,數據每批次為128,一共迭代了1 000次。測試平臺是在Nvidia TITAN Xp GPU(12 GB),編程環境為Python3.6,使用的深度學習框架為Tensor‐Flow,測試結果如表6所示。

表6 MNIST數據集分類結果
可以看出Resnet 的測試精度是最高的99.31%,但是它所要求的配置卻是GPU,而BLS-LRF 只需要普通配置便可完成實驗。BLS-LRF 的測試精度僅次于HELM 和Resnet,并且和DBM、MLELM 的測試精度相近,但是從時間角度來看,BLS-LRF 的訓練時間要明顯小于它們4 個網絡的訓練時間。而BLS-LRF 的訓練時間不是最短的,僅高于BLS 網絡,但是對于BLS 網絡來說98.74%是它所能達到的最高精度,而BLS-LRF 的最高精度99.06%是明顯高于BLS 的。因此綜上所述,本文提出的算法對于MNIST 數據集的分類是高效且快速的。
本文提出了一種改進的BLS 網絡結構,在BLS 的基礎上結合了ELM-LRF 網絡形成了BLS-LRF,該網絡可以分別對圖像進行局部特征提取和全局特征提取,從而對圖片分類有了較高的精確度,并且訓練速度有了很大程度的提高,為BLS在未來的應用中提供了一種新的方法和途徑。該網絡也保留了BLS 增量學習的優點,對增量學習中的動態增加增強節點進行了討論,發現在精度相近的情況下,每次更新的時間縮短了3~5 倍。因此,本文所提出的網絡結構對于圖片分類是快速且高效的。