楊 林,周躍進
(安徽理工大學 數學與大數據學院, 安徽 淮南 232001)
神經網絡的出現使得計算機視覺領域取得了一系列的突破,而計算機視覺的飛速發(fā)展也逐漸改善了人類的生活方式,一定程度上減輕了人的負擔[1].近年來,圖像分類與目標檢測逐漸成為機器學習領域十分活躍的研究方向,被應用到現實生活中的各個領域,如人臉識別、車輛檢測、行人跟蹤等.然而,傳統(tǒng)的神經網絡預測都是點預測方法,這種預測方法不具備置信度衡量的特點,因此這類預測方法在高風險低容錯率問題方面很難被廣泛應用,在這類問題中置信度衡量極其重要,一旦預測錯誤將會承擔極大風險[2],如生物醫(yī)學上的多項重大疾病診斷問題[3].因此,對于分類問題構造具有置信度衡量的集合預測研究十分有必要.
一致性預測(Conformal Predictors, CP)作為近年來新提出的統(tǒng)計學習框架,最大的優(yōu)點是允許用戶自定義置信度進行預測[4],并且其預測準確率滿足置信度.因此在神經網絡中引入一致性預測的方法能夠很好地克服上述中無法用置信度衡量預測結果的問題.CP在2005年首次被提出,并在之后不斷地被完善與改進[5-6].由于CP可以建立在任何一種底層算法(如KNN、支持向量機、隨機森林、樸素貝葉斯等)的基礎之上,因此將CNN作為底層算法具有可行性.
為了解決CNN無置信度衡量的問題,本文提出了基于CNN的一種錯誤率可控分類算法,并以GoogLeNet和ResNet50兩種CNN模型為例展開研究,提出的具體算法分別為ICP-GoogLeNet和ICP-ResNet50.
本文將GoogLeNet和ResNet50兩種CNN模型作為特征提取器,引入ICP結合兩種CNN模型的softmax層輸出,并對新模型樣本奇異值函數提出了一種新的計算方式;將ICP的可靠性的優(yōu)點融入到網絡中,用戶可根據不同需求在線設置不同的置信度獲得不同的預測結果,使得預測結果錯誤率可控,該方法在高風險低容錯率的分類問題上具有十分重要的參考意義.
機器學習是人工智能的核心,是使計算機具有智能的根本途徑,而深度學習作為機器學習發(fā)展人工智能的一個新興領域,也是當今最流行的研究趨勢之一[7].深度學習的概念最早是在2006年多倫多大學教授Hinton等提出,而卷積神經網絡是一種學習效率非常高的深度學習模型.1998年由Le Chun提出的LeNet[8]為CNN的開山之作,但受限于當時的硬件設備受限,無法搭建更深層的網絡.直到2012年Hinton的學生Alex提出的網絡AlexNet[9]獲得ILSVRC-12競賽的冠軍,相比于傳統(tǒng)機器學習分類算法極大提升了分類準確率,展現出了CNN的強大優(yōu)勢.此后,CNN引起界內研究者的廣泛研究并發(fā)展非常迅速,逐漸有準確率更高、訓練更高效的模型產生,如2014年由牛津大學著名研究組Visual Geometry Group提出的VGGNet[10]、2014年由Google團隊提出的GoogLeNet[11]、2015年由微軟實驗室提出的深度殘差網絡(Deep Residual Network, ResNet)[12]等.
CNN中GoogLeNet和ResNet的諸多優(yōu)良性能,使其幾乎成為近幾年CNN中應用最為廣泛的特征提取網絡.而ResNet根據卷積層結構的層數不同可細分為ResNet18、ResNet50、ResNet101等,其中ResNet50分類效果較為顯著,因此本文就GoogLeNet和ResNet50兩種深層網絡展開研究.
GoogLeNet是ILSVRC-14競賽的冠軍,該網絡模型結構帶參數的層數一共為22層.以往的CNN模型AlexNet和VGGNet為了學習更深層次的特征直接增加網絡的深度與寬度,但這會使得模型產生巨量參數影響學習效率,并且過深的網絡模型容易造成過擬合現象導致泛化能力下降.然而,GoogLeNet通過引入一種新型的Inception結構解決了上述問題,Inception結構如圖1所示.
圖1 Inception結構Figure 1 Inception structure
一方面,Inception結構通過1×1,3×3,5×5三種不同尺度大小的卷積核融合了不同尺寸的感受野,再經過堆疊后作為Inception結構的輸出,因此該結構保留了不同尺度的信息特征.另一方面,該結構使用1×1卷積核起到了降維以及映射處理的作用,大大減少了模型參數,加快了訓練效率.以32×32×512的特征圖為例,用64個5×5的卷積核進行卷積,那么一共需要5×5×512×64約820 k個參數,如果在卷積之前先使用32個1×1卷積核,那么一共僅需要1×1×512×32+5×5×32×64約67 k個參數,顯然使用1×1卷積核大幅減少了模型參數.
ResNet是ILSVRC-15競賽的冠軍,斬獲當年分類任務、目標檢測任務第一名,是卷積神經網絡發(fā)展上的一座里程碑.傳統(tǒng)卷積神經網絡模型在逐步加深網絡深度后會產生梯度消失或梯度爆炸問題,通過數據初始化或正則化(batch normalization)等方法可以解決[13],但是隨之而來的是模型的退化(degradation)問題,即網絡層級的加深到一定程度后效果不增反降.ResNet不同于以往的網絡結構,其深度甚至可以超過1 000層,該網絡通過設計Residual殘差塊克服了模型退化問題[14],使得該網絡可以通過不斷加深網絡層級學習更深層的特征表現更優(yōu)異的效果,以ResNet50殘差塊為例如圖2所示.其中shortcut連接采用大小為1×1的卷積核進行降維操作,相當于執(zhí)行的是恒等映射,將模型退化為一個淺層網絡.假設輸入x通道數為256,卷積層輸出為F(x),那么該結構輸出為H(x)=F(x)+x,其中卷積一層通過減少通道數并用1×1卷積核起降維作用,卷積三層通道數設置與輸入時x相同為256.
圖2 ResNet50殘差塊Figure 2 ResNet50 residual block
本節(jié)介紹一致性預測器(Conformal Predictors, CP)的改進,即歸納一致性預測器(Inductive Conformal Predictors, ICP),以及基于CNN的ICP.ICP是由Vovk等人提出的一種基于Kolmogorov算法隨機性理論的轉導推論域預測機器學習算法.該算法在預測之前可以自定義置信度,再對訓練樣本和測試樣本進行隨機性檢驗,輸出所有滿足自定義置信度的隨機性檢驗值對應的標簽.因為ICP具有允許用戶自定義置信度輸出具有高可信度預測結果的優(yōu)點,這種預測方法被廣泛應用到生物醫(yī)學[15-17]、時間序列[18]、圖像處理等領域.
假設樣本序列Z={z1,…,zn}={(x1,y1),…,(xn,yn)}∈(X,Y)n,將該樣本序列分為訓練集Ztra={z1,…,zk}、校驗集Zcal={zk+1,…,zl}和測試集ztest={zl+1,…,zn},其中:k,l,n∈N,1 為檢驗測試樣本的p值,考慮設計一種度量函數來衡量樣本zi=(xi,yi)與訓練樣本Ztra之間的差異程度,即樣本奇異值度量函數: αi=A(Ztra,zi),i=k+1,…,n (1) 其中:A(Ztra,zi)是一個度量樣本zi和訓練集Ztra之間差異大小的函數,對于不同的分類器,該函數的定義也各不相同.因此,樣本zi的奇異值αi的大小能夠反映該樣本與yi類的不一致性程度,αi越大,表明樣本zi與yi類的不一致性程度就越大,即認為zi是yi類的可信度就越小. 對于測試集中的樣本zt=(xt,yt),t=l+1,…,n,在預測問題中yt需要預測,而ICP的目的是輸出一個標簽組成的集合Γε(zt),使得xt的真實標簽yt屬于Γε(zt)的概率大于1-ε,其中ε為置信度.假設測試集Ztest中xt的標簽yt=yu,則zt=(xt,yu)的奇異值函數為: (2) (3) (4) ICP的奇異值度量函數是根據其底層算法所構造的,該底層算法可以是機器學習分類算法中的任何一類,如KNN、支持向量機、隨機森林、樸素貝葉斯等.本節(jié)考慮基于GoogLeNet與ResNet50的ICP,分別記為ICP-GoogLeNet和ICP-ResNet50算法. 本文GoogLeNet與ResNet50兩種CNN模型均使用softmax分類器進行分類,它連接著網絡中全連接層的最后一層,softmax分類器輸出的是每一種類別對應的概率,且所有類概率和為1.在C類分類任務中,類標簽空間為Y={y(1),…,y(C)},那么對于特定的輸入xi,網絡全連接層輸出為zi作為softmax層輸入,則softmax輸出結果為: (5) 網絡的softmax層由C個神經元組成,每個神經元分別代表一種類別.則樣本xi的奇異值度量函數為: (6) 根據奇異度量函數計算校驗集Zcal和測試集Ztest樣本奇異值,再將其代入式(3)求p值并輸出結果.整個基于CNN的ICP算法流程如算法1所示. 算法1 基于CNN的ICP算法 輸入:訓練集Ztra={z1,…,zl},測試集Ztest={zl+1,…,zn},類標簽空間Y={y(1),…,y(C)},自定義置信度ε,CNN模型(如GoogLeNet和ResNet50),softmax分類器Υ. 輸出:測試集Ztest的歸納一致性預測集合Γε(zt). 1)將訓練集劃分一部分作為校驗集Zcal={zk+1,…,zl},原訓練集縮小為Ztra={z1,…,zk} 2)用訓練集數據Ztra訓練CNN模型 3)用分類器Υ輸出校驗集Zcal的si,i=k+1,…,l 4)用式(6)計算Zcal的奇異值αi,i=k+1,…,l 5)for :zt∈Ztest,t=l+1,…,n: 6) for:yu∈Y,u=1,2,…,C: 7) 用網絡測試樣本zt,并用分類器Υ輸出st 10) 用式(4)計算zt的歸納一致性預測集合Γε(zt). 基于CNN的ICP算法(如ICP-GoogLeNet和ICP-ResNet50算法)的時間復雜度與CNN基層網絡密切相關,現以乘法和加法為基本運算,分析本文算法在訓練和測試階段的時間復雜度. 記CNN基層網絡為U,本文算法為ICP-U,設數據集中訓練集大小為n1,測試集大小為n3,U在訓練和測試時,所需時間分別為Utra(n1)和Utest(n3),則U的時間復雜度為: ΘU=Θ(Utra(n1)+utest(n3)) 在本文算法中,由于ICP將訓練集中部分額外劃分出一個校驗集,設其大小為n2,則訓練集大小縮減為n1-n2,故本文算法的時間復雜度為: ΘICP-U=Θ(Utra(n1-n2)+Uapple(n2+n3)+Utest(n3)) 從ΘICP-U的組成可以看出,在訓練模型階段由于Utra(n1-n2) ΘU-ΘICP-U=Θ(Utra(n2)-Uapple(n2+n3)) 由于訓練模型的時間遠遠大于計算樣本奇異值的時間即Utra(n2)>Uapple(n2+n3),因此本文算法的時間復雜度比底層算法更小. 以上研究分析表明,本文算法在減少時間復雜度的同時,能夠將CNN的預測結果擴展為預測集合.該方法有助于CNN的預測性能得到提升,并使其預測結果具有可靠性. 本節(jié)將通過數值實驗來驗證本文算法的性能.實驗共分為兩個部分,第一部分檢驗本文算法準確率的校準性,第二部分研究在迭代不同次數以及不同置信度下本文算法的性能評估指標變化情況,并以GoogLeNet和ResNet50作為CNN基層網絡進行實驗. 實驗數據集采用的是kaggle官網的FLOWERS、NATURAL數據集.兩個數據集圖像大小均不一致,模式為RGB三通道,其中:FLOWERS數據集分為雛菊、玫瑰、蒲公英、向日葵、郁金香一共5個類別,訓練圖片3 306張,測試圖片364張.NATURAL數據集分為現實生活中的飛機、汽車、貓、狗、花、水果、摩托車和人8個類別,共6 899張圖像.本文算法需要額外的校驗集,因此在使用本文算法訓練模型時,需要從訓練集劃分部分數據作為校驗集.劃分后的FLOWERS數據集的訓練集圖片3 000張,校驗集圖片306張,測試集圖片364張.劃分后的NATURAL數據集的訓練集圖片5 513張,校驗集圖片700張,測試集圖片686張. 數據預處理:隨機水平翻轉訓練集和校驗集圖像,將FLOWERS數據集所有圖像隨機裁剪或調整使其統(tǒng)一大小為(224,224)的圖像,并進行標準化(Normalize)處理,隨機打亂數據使其滿足獨立同分布.批訓練和測試樣本大小(batch_size)設為32,網絡使用交叉熵損失函數: 其中:N為訓練樣本總數;C為類別數;ync為符號函數,當第n個樣本的真實標簽為c時ync取1,否則取0;pnc為第n個樣本預測標簽為c時的概率.優(yōu)化階段使用自適應矩陣估計(adaptive moment estimation, Adam)優(yōu)化器優(yōu)化模型,學習率初始值設為0.000 2. 衡量歸納一致性預測算法性能的指標主要有兩個,分別是預測準確率和平均預測集合長度.預測準確率定義為: 其中:ε為自定義置信度,|{*}|表示集合{*}的大小,即集合內元素的個數,若Acc≥ε則算法有效.在域預測中,平均預測集合長度越小表示預測精確度越高,此時的預測集也更為高效.而平均預測集合長度定義為: 其中:f(w)一般使用恒等函數f(w)=w,|Γε(xi)|表示預測集Γε(xi)即所含的元素個數.因為ICP的輸出總共可以分為三種情況,分別是空集、包含一個元素的單點集和包含多個元素的集合,所以Ineff該指標越小則表示從整體看預測集合越小,預測精確度越高. 這兩種指標是一個權衡問題,準確率的提高會導致精確度的減小,因此需要根據用戶的實際需求調整置信度權衡二者的大小. ICP-GoogLeNet與ICP-ResNet50的優(yōu)點是不僅融入了基層網絡的優(yōu)良預測性能,而且還能夠對結果提供具有置信度的預測.本節(jié)檢驗預測準確率的校準性,展示在不同置信度下它們的變化.針對NATURAL數據集,分別記錄訓練數據第15、25、35次迭代預測準確率,圖3表示ICP-GoogLeNet和ICP-ResNet50算法預測準確率與置信度的關系(反映算法的校準性),兩種神經網絡均使用隨機初始權重進行訓練. 圖3 算法的校準性Figure 3 Calibration of the algorithm 在圖3中,校準線表示本文算法預測準確率Acc與置信水平ε完全相等的情況即Acc=ε,而本文ICP-GoogLeNet和ICP-ResNet50算法在任何置信度下,始終有Acc≥ε,表明其準確率始終高于置信度,故本文算法滿足校準性.在滿足校準性的基礎上,算法的準確率十分貼近且略高于校準線,表明提出的算法能夠精準控制預測準確率.無論網絡進行多少輪次迭代,置信度依然能夠非常精準地控制準確率,表明本文算法的校準性與迭代次數無相關性. 為了說明本文算法的有效性,以傳統(tǒng)的GoogLeNet和ResNet50算法為基準,在表1、2中分別記錄在不同置信度和不同迭代次數下本文算法的預測準確率和平均預測集合長度.其中:數據集FLOWERS20和FLOWERS35分別表示對FLOWERS數據集循環(huán)迭代的第20次和35次結果,NATURAL數據集同理. 表1 ICP-GoogLeNet的預測性能 表2 ICP-ResNet50的預測性能 從表1、2中可以看出: 1)在預測準確率Acc方面,隨著置信度的增大,預測準確率也隨之增大,并且置信度能夠十分精準得控制著預測準確率,始終滿足Acc≥ε.當置信度取較高值如0.90、0.95、0.99時,本文ICP-GoogLeNet和ICP-ResNet50算法的預測準確率高于傳統(tǒng)GoogLeNet和ResNet50算法; 2)在平均預測集合長度Ineff方面,隨著置信度的增大,平均預測集合長度也隨之增大.FLOWERS和NATURAL數據集平均預測集合總長度分別屬于區(qū)間[0,5]和[0,8],傳統(tǒng)算法為點預測結果,故其長度均為1.00,而本文算法的平均預測集合長度十分接近于1.00,表明算法的預測精確度非常高; 3)在ICP-GoogLeNet和ICP-ResNet50二者算法之間,后者的預測效果更好,相同條件下在FLOWERS和NATURAL數據集上,后者較前者不僅預測準確率更高,而且平均預測集合長度更小,即從兩個指標中看ICP-ResNet50都能夠達到更好的效果. 文本算法融入了歸納一致性預測的優(yōu)點,能夠輸出具置信度的集合預測結果.為了突出算法的置信度控制錯誤率的穩(wěn)定情況,現使用3.4節(jié)中同等參數設置訓練網絡模型.將ICP-GoogLeNet算法的置信度設置為0.99在圖中記作ICP-GoogLeNet 0.99,圖4、5分別展示了ICP-GoogLeNet和ICP-ResNet50算法在NATURAL數據集上不同置信度條件下的預測準確率、平均預測集合長度與迭代次數之間的變化曲線. 圖4 算法的預測準確率Figure 4 The prediction accuracy of the algorithm 圖5 算法的平均預測集合長度Figure 5 Mean inefficiency of the algorithm 從圖4、5中可以看出: 1) ICP-GoogLeNet和ICP-ResNet50算法能夠十分精準地控制預測準確率,檢驗了算法的有效性,并且這與基層算法的預測性能無關.如圖4中的GoogLeNet與ResNet50基層算法預測準確率相差甚遠,但是并不影響其校準性,而且校準性不隨迭代次數的變化而變化; 2) ICP-GoogLeNet和ICP-ResNet50算法的平均預測集合長度會隨著網絡的加深而逐漸減小,這有利于提升算法性能,根據實際需求,允許用戶訓練更深層次的網絡得到更精確的預測集合; 3) ICP-ResNet50算法比ICP-GoogLeNet算法具有更好的預測效果,主要表現在如下兩個方面:1)從平均預測區(qū)間長度可知,ICP-ResNet50算法不僅下降速度更快,而且長度更小即預測精確度更高;2)從預測準確率和平均預測集合長度變化曲線的波動情況可知,ICP-ResNet50算法的泛化能力更強,能夠更精準地學習到圖像的內部特征. 針對卷積神經網絡預測結果錯誤率不可控且預測結果可靠性低的問題,本文將歸納一致性預測與GoogLeNet和ResNet50結合,提出了ICP-GoogLeNet和ICP-ResNet50預測算法.通過算法的復雜度分析可知,提出的算法擁有更快的訓練速度和學習速度.實驗結果表明,提出的算法繼承了歸納一致性預測的可靠性優(yōu)點,即置信度控制預測準確率輸出的結果,并且預測結果的精確率也非常高.以上分析和研究表明,本文算法的預測結果具備置信度衡量的特征,并且預測精確率也能得到較好的控制,其建模和研究對高風險容錯率低的分類問題具有非常重要的參考意義,如醫(yī)學診斷、電網調度等領域具有較高的參考價值.2.2 ICP-GoogLeNet與ICP- ResNet50算法
2.3 時間復雜度分析
3 實驗結果與分析
3.1 實驗數據集與參數設置
3.2 性能評估指標
3.3 算法的校準性
3.4 算法的預測性能
3.5 不同置信度下的預測效果比較
4 結 語