國網(wǎng)天津城東供電公司 天津 300010
由于配電設(shè)備缺陷素材較少,利用傳統(tǒng)人工智能圖像識(shí)別技術(shù),容易因樣本數(shù)據(jù)過少而導(dǎo)致容易出現(xiàn)過擬合的現(xiàn)象。為解決這個(gè)瓶頸,本文探索使用VGG遷移學(xué)習(xí)網(wǎng)絡(luò)作為訓(xùn)練網(wǎng)絡(luò)。
深度學(xué)習(xí)的巨大成功可以認(rèn)為是表征學(xué)習(xí)的巨大成功。但是,計(jì)算機(jī)圖像識(shí)別技術(shù)在應(yīng)用過程中存在一些缺陷,在一定程度上阻礙了智能化技術(shù)的發(fā)展[1]。而通常當(dāng)任務(wù)數(shù)據(jù)集上的數(shù)據(jù)不足以支持學(xué)習(xí)到足夠多樣化又有用的表征時(shí),可以利用其他更大的數(shù)據(jù)集學(xué)到的表征并且視其為通用表征,使用這些表征并且使用任務(wù)數(shù)據(jù)集的數(shù)據(jù)來微調(diào),可以減少對(duì)目標(biāo)數(shù)據(jù)集數(shù)據(jù)量的要求。計(jì)算機(jī)圖像識(shí)別要求系統(tǒng)高效準(zhǔn)確地進(jìn)行圖像識(shí)別,智能化處理方法的應(yīng)用可以顯著提升計(jì)算機(jī)圖像識(shí)別的性能,提升其識(shí)別的準(zhǔn)確性及效率[2]。在這里,本文使用ImageNet數(shù)據(jù)集上訓(xùn)練好的VGG網(wǎng)絡(luò)來當(dāng)作初始表征提取器。
VGG模型可根據(jù)卷積核大小以及卷積層數(shù)目的不同,區(qū)分為A,ALRN,B,C,D,E共6個(gè)配置(ConvNet Configuration),其中以D,E兩種配置較為常用,分別稱為VGG16和VGG19。因卷積層和全連接曾具有權(quán)重系數(shù),而VGG16具有13個(gè)卷積層和3個(gè)全連接層,這也正是VGG16名字的來源。在這里本文介紹一下VGG的網(wǎng)絡(luò)結(jié)構(gòu)。VGG16網(wǎng)絡(luò)一共由16個(gè)可學(xué)習(xí)的網(wǎng)絡(luò)層組成。網(wǎng)絡(luò)的特征提取部分由13個(gè)堆疊而成的卷積層組成,在卷積層后接上3個(gè)全連接層??梢园丫矸e核數(shù)量相同的分為一個(gè)小模塊,那么整個(gè)網(wǎng)絡(luò)可以認(rèn)為是5個(gè)模塊組成的,分別對(duì)應(yīng)卷積核為64,128,256,512。注意最后兩個(gè)模塊的卷積核數(shù)量相同,是為維持計(jì)算量。VGG16的突出特點(diǎn)是簡單,體現(xiàn)在卷積核的尺寸小,卷積層均表示為conv3-XXX,其中conv3說明該卷積層采用的卷積核的尺寸(kernel size)是3,即寬(width)和高(height)均為3。
遷移學(xué)習(xí)一般有兩種模式。第一種是在網(wǎng)絡(luò)提取的特征空間之上直接訓(xùn)練一個(gè)SVM分類器。這種訓(xùn)練方法可以說是兩步走的訓(xùn)練方法。另一種方法是使用finetune,即只改變Softmax層之前的全連接層數(shù)量,整個(gè)訓(xùn)練方式仍然屬于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練并且需要用到反向傳播。
3.1 采用SVM遷移學(xué)習(xí)的電網(wǎng)設(shè)備缺陷檢測(cè) 深度學(xué)習(xí)和傳統(tǒng)圖像識(shí)別最大的差異之一就是擺脫了人工設(shè)計(jì)特征的流程。在過去,人們使用人工設(shè)計(jì)的特征,即使取得不錯(cuò)的表現(xiàn),但是難以表達(dá)高級(jí)的特征和概念。在深度學(xué)習(xí)時(shí)代,特征由卷積層的初始化以及訓(xùn)練過程共同決定,并且整個(gè)學(xué)習(xí)過程是自動(dòng)的,也就是說人類不再需要設(shè)計(jì)特征。當(dāng)圖片從像素空間映射到特征空間,可以多多少少認(rèn)為特征之間已經(jīng)先行可分,這個(gè)時(shí)候可以在特征空間使用傳統(tǒng)的算法比如SVM。
SVM是一種基于決策分類邊界距離最大化思想的分類器。最常見的應(yīng)用問題是在解決線性可分的空間,并且主要支持一對(duì)一的分類器構(gòu)成。根據(jù)此可以看出,SVM的效果很大程度上取決于特征空間是否接近線性可分。慣例上,遷移學(xué)習(xí)使用全連接層的某一層作為特征提取的起點(diǎn)。不同的任務(wù)通常伴隨著不同的選擇,在這里選擇第一個(gè)全連接層作為特征提取的起點(diǎn)。
3.2 端到端的Fine-tuning遷移學(xué)習(xí) 在介紹完基于SVM的遷移學(xué)習(xí)后,本文再介紹另一種端到端的遷移學(xué)習(xí)方法。在前文介紹了基于SVM的遷移學(xué)習(xí)需要分兩步走,并且對(duì)特征空間有一個(gè)線性可分的要求。而端到端的做法,也被稱為fine-tuning,是通過保留卷積層然后接入全新的全連接層。因?yàn)轭悇e的數(shù)量變化,本文要求最后一層全連接層符合新任務(wù)的類別數(shù)量。
這種端到端的訓(xùn)練仍然使用的是反向傳播。這里需要注意的是,本文不希望重新調(diào)整所有層,而僅限于新加入的全連接層,所以本文會(huì)將所有卷積層的權(quán)重設(shè)置成不可訓(xùn)練狀態(tài)。當(dāng)深度學(xué)習(xí)的框架檢測(cè)到這些設(shè)置,框架將會(huì)提前停止反向傳播,使得訓(xùn)練速度能夠加快。但這種做法仍然存在缺陷,因?yàn)閂GG網(wǎng)絡(luò)的全連接層占據(jù)網(wǎng)絡(luò)總參數(shù)量的一半以上,所以即便只更新全連接層,過程中需要儲(chǔ)存的中間變量仍然很大。這是比起SVM的方法的劣勢(shì)。
3.3 SVM使用VGG特征遷移學(xué)習(xí)的電網(wǎng)設(shè)備缺陷檢測(cè)結(jié)果
數(shù)據(jù)集 訓(xùn)練集 測(cè)試集準(zhǔn)確率 99% 88%
結(jié)果可以看出,使用遷移學(xué)習(xí)加上SVM分類器可以得到接近100%的訓(xùn)練精度。這可以體現(xiàn)使用了ImageNet的特征并且遷移學(xué)習(xí)后的VGG網(wǎng)絡(luò)可以被很好的用來提取電網(wǎng)設(shè)備缺陷中關(guān)鍵的特征。
方法 經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)SVM遷移學(xué)習(xí)方法Fine-tuning遷移學(xué)習(xí)訓(xùn)練集正確率 0.96 0.99 0.98測(cè)試集正確率 0.82 0.88 0.90訓(xùn)練模型收斂耗時(shí) 2.6h 5.2h 25h測(cè)試時(shí)間/張 0.15s 0.14 0.18
可以看出,如果不需要考慮訓(xùn)練速度的話,使用ImageNet上預(yù)訓(xùn)練的VGG網(wǎng)絡(luò)總是有更好的效果。相對(duì)而言,使用SVM作為分類器,比使用端到端的方法的訓(xùn)練速度要更快一點(diǎn)。如果訓(xùn)練速度是一個(gè)重要的指標(biāo),那么手工設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)也是一種不錯(cuò)的方法,只是限于訓(xùn)練數(shù)據(jù)數(shù)量不足,會(huì)出現(xiàn)比較嚴(yán)重的過擬合現(xiàn)象。