邢世宏,施聞明,任薈潔
(1.海軍潛艇學(xué)院,山東 青島 266199;2.中國(guó)人民解放軍92763部隊(duì),遼寧 大連 116000)
深度學(xué)習(xí)是近十年來(lái)人工智能領(lǐng)域取得的重要突破。它在語(yǔ)音識(shí)別、自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)、圖像與視頻分析、多媒體等諸多領(lǐng)域的應(yīng)用取得了巨大成功。現(xiàn)有的深度學(xué)習(xí)模型屬于卷積神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)的起源可追溯到20世紀(jì)40年代,曾在八九十年代流行。神經(jīng)網(wǎng)絡(luò)試圖通過(guò)模擬大腦認(rèn)知的機(jī)理解決各種機(jī)器學(xué)習(xí)問(wèn)題。1986年,Rumelhart,Hinton和Williams[1]發(fā)表了著名的反向傳播算法用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),該算法直到今天仍被廣泛應(yīng)用。
隨著2012年Alex Krizhevsky的AlexNet[2]在ILSVRC2012[3](ImageNet大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)賽競(jìng)賽)中獲得冠軍,深度卷積神經(jīng)網(wǎng)絡(luò)在大數(shù)據(jù)及高速GPU計(jì)算的推動(dòng)下迅猛發(fā)展,到2015年,ResNet[4]以Top5錯(cuò)誤率為3.57%的成績(jī)獲取ILSVRC冠軍;在人臉識(shí)別領(lǐng)域,DeepID[5]采用人臉辨識(shí)作為監(jiān)督信號(hào),在LFW[6]上取得了97%的識(shí)別率;在物體檢測(cè)領(lǐng)域,以深度神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的檢測(cè)模型R-CNN[7],F(xiàn)ast RCNN[8],F(xiàn)aster R-CNN[9],R-FCN[10]在物體檢測(cè)方面獲得了很好的成績(jī),上述的深度神經(jīng)網(wǎng)絡(luò)都是基于像ImageNet一樣的大數(shù)據(jù)樣本才能獲取較好的效果。此外,壓縮的卷積神經(jīng)網(wǎng)絡(luò)如SqueezeNet[11],MobileNets[12]XNOR-Net[13], Deep compression[14],Deep Model Compression[15], Perforated CNNs[16],Binarized Neural Networks[17]等網(wǎng)絡(luò)模型的訓(xùn)練都是建立在大數(shù)據(jù)的基礎(chǔ)上,數(shù)據(jù)容量的多少成為能否訓(xùn)練出一個(gè)好模型的關(guān)鍵因素。但上述各領(lǐng)域應(yīng)用的模型對(duì)模型的建立與數(shù)據(jù)集容量間的關(guān)系沒(méi)有進(jìn)行深入分析,僅停留在大數(shù)據(jù)集容量上。因此在采用深度學(xué)習(xí)方法解決現(xiàn)實(shí)問(wèn)題時(shí)會(huì)出現(xiàn)需要多少訓(xùn)練數(shù)據(jù)的問(wèn)題。目前關(guān)于訓(xùn)練網(wǎng)絡(luò)所需的數(shù)據(jù)集容量的理論研究還處于空白狀態(tài),還沒(méi)有相應(yīng)的機(jī)器學(xué)習(xí)理論能解釋兩者直接的關(guān)系。本文在深入研究機(jī)器學(xué)習(xí)的相關(guān)理論后推導(dǎo)出深度卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜度與數(shù)據(jù)集容量之間的關(guān)系,并用實(shí)驗(yàn)驗(yàn)證了兩者關(guān)系的有效性,為卷積神經(jīng)網(wǎng)絡(luò)的構(gòu)建與訓(xùn)練提供相應(yīng)的理論及經(jīng)驗(yàn)依據(jù)。
機(jī)器學(xué)習(xí)相關(guān)理論中,雖然沒(méi)有直接給出數(shù)據(jù)集容量與卷積神經(jīng)網(wǎng)絡(luò)參數(shù)量之間的關(guān)系,但明確闡述了VC維理論。根據(jù)Hoeffding[18]不等式:
同理可以將式(1)表示為:
根據(jù)上述理論Vapnik-Chervonenkis[19]引入了Vapnik-Chervonenkis dimension(VC維)。VC維度量二元分類器的容量。VC維被定義為該分類器能夠分類的訓(xùn)練樣本的最大數(shù)目。VC維的邊界表示如下:
式(8)不等號(hào)右端即為VC維邊界。
表1 B(N,k)邊界值Tab.1 B(N,k)boundary value
表2邊界值Tab.2 Nk-1 boundary value
表2邊界值Tab.2 Nk-1 boundary value
images/BZ_195_313_525_376_558.pngk 1 2 3 4 5 N 1 1 2 2 2 2 2 1 3 4 8 16 3 1 4 9 27 81 4 1 5 16 64 256 5 1 6 36 216 1 296 6 1 7 22 42 57
由于深度神經(jīng)網(wǎng)絡(luò)特征是稀疏的,并且網(wǎng)絡(luò)中包含了規(guī)范化及特征選擇技術(shù),實(shí)際訓(xùn)練模型過(guò)程中真實(shí)輸入的特征數(shù)應(yīng)少于原始特征數(shù)量,因此在估算深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練中所需的數(shù)據(jù)容量時(shí),可以根據(jù)網(wǎng)絡(luò)隱藏層的參數(shù)量來(lái)代替,并且通過(guò)計(jì)算時(shí),容量為的數(shù)據(jù)集可以滿足網(wǎng)絡(luò)模型的需求,然而實(shí)際中有很多領(lǐng)域很難獲取如此大的數(shù)據(jù)集,并且的容量太寬松。在此基礎(chǔ)之上,通過(guò)實(shí)驗(yàn)來(lái)緊縮數(shù)據(jù)容量,得到一個(gè)比更緊湊關(guān)系。
受Hubel和Wiesel[20]對(duì)貓視覺(jué)皮層生理研究啟發(fā),有人提出卷積神經(jīng)網(wǎng)絡(luò)(CNN)[21],Yann LeCun[22]最早將CNN用于手寫數(shù)字識(shí)別。卷積神經(jīng)網(wǎng)絡(luò)與普通神經(jīng)網(wǎng)絡(luò)的區(qū)別在于,卷積神經(jīng)網(wǎng)絡(luò)包含了一個(gè)由卷積層和子采樣層構(gòu)成的特征抽取器。在卷積神經(jīng)網(wǎng)絡(luò)的卷積層中,一個(gè)神經(jīng)元只與部分鄰層神經(jīng)元連接。在CNN的一個(gè)卷積層中,通常包含若干個(gè)特征平面(featureMap),每個(gè)特征平面由一些矩形排列的神經(jīng)元組成,同一特征平面的神經(jīng)元共享權(quán)值,這里共享的權(quán)值就是卷積核。卷積核一般以隨機(jī)小數(shù)矩陣的形式初始化,在網(wǎng)絡(luò)的訓(xùn)練過(guò)程中卷積核將學(xué)習(xí)得到合理的權(quán)值。共享權(quán)值(卷積核)帶來(lái)的直接好處是減少網(wǎng)絡(luò)各層之間的連接,同時(shí)又降低了過(guò)擬合的風(fēng)險(xiǎn)。子采樣也叫做池化(pooling),通常有均值子采樣(mean pooling)和最大值采樣(max pooling)兩種形式。子采樣可以看作一種特殊的卷積過(guò)程。
構(gòu)建網(wǎng)絡(luò)需要上述相關(guān)層的組合,可能相似的層會(huì)出現(xiàn)多次,具體需要多少層或者需要什么功能的層與網(wǎng)絡(luò)的復(fù)雜度、解決問(wèn)題的復(fù)雜度相關(guān),目前還沒(méi)有針對(duì)構(gòu)建網(wǎng)絡(luò)層數(shù)的相關(guān)理論,所有網(wǎng)絡(luò)的搭建停留在經(jīng)驗(yàn)的基礎(chǔ)上。本文在研究數(shù)據(jù)集容量與卷積神經(jīng)網(wǎng)絡(luò)參數(shù)量之間的關(guān)系時(shí)也是在LeNet,AlexNet的經(jīng)驗(yàn)基礎(chǔ)上進(jìn)行的。
由于卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練對(duì)計(jì)算機(jī)的硬件性能要求較高,因此考慮到實(shí)驗(yàn)條件的限制,這里選取手寫數(shù)字識(shí)別的數(shù)據(jù)集mnist[23]及Cifar10[24]。Mnist是由Google實(shí)驗(yàn)室的Corinna Cortes和紐約大學(xué)柯朗研究所的Yann LeCun建立的手寫數(shù)字?jǐn)?shù)據(jù)庫(kù),訓(xùn)練庫(kù)有60 000張手寫數(shù)字圖像,驗(yàn)證庫(kù)有10 000張,另外通過(guò)其他途徑獲取了包含有10 000張的測(cè)試集,相應(yīng)的各標(biāo)簽下的容量如表3所示,數(shù)據(jù)集中的部分?jǐn)?shù)據(jù)圖像如圖1所示。
表3 Mnist數(shù)據(jù)集容量Tab.3 Mnist data set capacity
圖1 Mnist數(shù)據(jù)集Fig.1 Mnist data set
Cifar10數(shù)據(jù)集共有60 000張彩色圖像,尺寸為32*32,分為10個(gè)類,每類6 000張圖。這里面有50 000張用于訓(xùn)練,構(gòu)成了5個(gè)訓(xùn)練批,每一批10 000張圖;另外10 000用于驗(yàn)證,單獨(dú)構(gòu)成一批。測(cè)試批的數(shù)據(jù)里,取自10類中的每一類,每一類隨機(jī)取1 000張。剩下的隨機(jī)排列組成了訓(xùn)練批。一個(gè)訓(xùn)練批中的各類圖像數(shù)量并不一定相同,總的來(lái)看訓(xùn)練批,每一類都有5 000張圖,部分Cifar10圖像如圖2所示。
根據(jù)手寫數(shù)字識(shí)別及Cifar10識(shí)別的復(fù)雜度,并參考LeNet及AlexNet網(wǎng)絡(luò)構(gòu)建經(jīng)驗(yàn),搭建了DigitNet及Cifar10Net網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)包括輸入層、卷積層、ReLU、Pooling層、全連接層、Softmax層、輸出層,結(jié)構(gòu)如表4和表5所示。給出相應(yīng)數(shù)據(jù)集容量及網(wǎng)絡(luò)模型的參數(shù)量的比值,如表6所示。
圖2 Cifar10數(shù)據(jù)集Fig.2 Cifar10 data set
網(wǎng)絡(luò)模型的訓(xùn)練收斂速度很大程度上取決于bachsize,因此為了使網(wǎng)絡(luò)模型在不同容量的數(shù)據(jù)集上更快收斂,將DigitNet在訓(xùn)練數(shù)據(jù)容量為57 000到6 000之間的bachsize設(shè)定為256,容量為5 100到600間的bachsize設(shè)定為20。在不同容量的訓(xùn)練集中分別訓(xùn)練DigitNet的3個(gè)模型,訓(xùn)練得到的準(zhǔn)確率如表7所示。
表4 DigitNet卷積神經(jīng)網(wǎng)絡(luò)Tab.4 DigitNet convolutional neural network
表5 Cifar10Net卷積神經(jīng)網(wǎng)絡(luò)Tab.5 Cifar10Net convolutional neural network
表6 數(shù)據(jù)集容量與參數(shù)量比值Tab.6 Ratio of data set capacity and parameter amount
表7 不同訓(xùn)練數(shù)據(jù)集下DigitNet模型的識(shí)別準(zhǔn)確率Tab.7 The recognition accuracy of digitnet model under different training data sets
3個(gè)DigitNet網(wǎng)絡(luò)模型分別在不同容量的數(shù)據(jù)集上訓(xùn)練并在驗(yàn)證集及測(cè)試集上分別實(shí)驗(yàn)了識(shí)別性能,根據(jù)表8的識(shí)別正確率繪制了不同訓(xùn)練數(shù)據(jù)集容量與網(wǎng)絡(luò)模型識(shí)別正確率之間的關(guān)系曲線,如圖3所示。
圖3 不同訓(xùn)練數(shù)據(jù)集下DigitNet模型的識(shí)別準(zhǔn)確率曲線Fig.3 The recognition accuracy curve of digitnet model under different training data sets
從表7及圖3中可以看出,隨著訓(xùn)練數(shù)據(jù)容量的減少,驗(yàn)證集及測(cè)試集上的識(shí)別正確率呈現(xiàn)下降趨勢(shì),同時(shí)可以看出容量超過(guò)20 000的識(shí)別情況并沒(méi)有太大的變化,在驗(yàn)證集上的識(shí)別率幾乎與最大容量時(shí)相同,只是在測(cè)試集上表現(xiàn)不太穩(wěn)定,但總體上沒(méi)有超過(guò)0.1。隨著容量的繼續(xù)減少,到6 000到5 100時(shí)出現(xiàn)了一個(gè)較大的波動(dòng),這是因?yàn)樵谶@里調(diào)整了batchsize的大小,從調(diào)整完之后可以看出,數(shù)據(jù)集容量減少到3 200時(shí)識(shí)別率才呈現(xiàn)出明顯的下降趨勢(shì)。
Cifar10只有訓(xùn)練集及驗(yàn)證集,沒(méi)有收集相關(guān)的測(cè)試集,因此訓(xùn)練好的模型只在驗(yàn)證集上進(jìn)行測(cè)試,訓(xùn)練過(guò)程中設(shè)置batchsize為100,測(cè)試的結(jié)果如表8所示。
根據(jù)訓(xùn)練得到的測(cè)試數(shù)據(jù),繪制訓(xùn)練數(shù)據(jù)容量集與識(shí)別準(zhǔn)確率曲線如圖4所示。從圖中可以看在容量為17 500時(shí),曲線下降趨勢(shì)開(kāi)始明顯,在容量50 000到17 500之間識(shí)別率沒(méi)有大的變化,只是有較小的波動(dòng)。
在上述進(jìn)行的實(shí)驗(yàn)中發(fā)現(xiàn),DigitNet雖然在調(diào)節(jié)batchsize時(shí)曲線有較大的波動(dòng),但這種波動(dòng)可以通過(guò)調(diào)節(jié)batchsize的大小來(lái)獲取較好的訓(xùn)練網(wǎng)絡(luò),也就是說(shuō)真正由訓(xùn)練集容量導(dǎo)致識(shí)別率快速下降的容量為3 200到2 400的時(shí)候,如表7,圖3所示。在Cifar10Net訓(xùn)練識(shí)別過(guò)程中,由于沒(méi)有調(diào)整batchsize的大小,因此在識(shí)別過(guò)程中沒(méi)有出現(xiàn)大的波動(dòng),但是隨著訓(xùn)練集容量的變化,在容量為12 500到10 000時(shí)識(shí)別率下降開(kāi)始明顯。根據(jù)上述分析分別選取DigitNet與Cifar10Net識(shí)別曲線上容量為3 200及17 500兩個(gè)容量值作為網(wǎng)絡(luò)在保持較好識(shí)別率的容量下限,并計(jì)算其與對(duì)應(yīng)的模型參數(shù)量的比值,如表9所示。
表8 不同訓(xùn)練數(shù)據(jù)集下Cifar10Net模型的識(shí)別準(zhǔn)確率Tab.8 The recognition accuracy of cifar10net model under different training data sets
圖4 不同訓(xùn)練數(shù)據(jù)集下Cifar10Net識(shí)別準(zhǔn)確率曲線Fig.4 The recognition accuracy curve of Cifar10Net model under different training data sets
通過(guò)mnist及cifar10識(shí)別實(shí)驗(yàn)中發(fā)現(xiàn)有實(shí)際數(shù)據(jù)量沒(méi)有達(dá)到10 000時(shí)也可以獲取較好的結(jié)果,這是因?yàn)閷?shí)際給出的訓(xùn)練樣本容量較為寬松。因此實(shí)際中使用深度卷積神經(jīng)網(wǎng)絡(luò)時(shí)可以根據(jù)解決問(wèn)題的復(fù)雜程度準(zhǔn)備相應(yīng)的訓(xùn)練數(shù)據(jù)集。從本文的實(shí)驗(yàn)數(shù)據(jù)表8可以推斷出,在解決較為簡(jiǎn)單的識(shí)別問(wèn)題時(shí),數(shù)據(jù)集容量的下限為,如果解決問(wèn)題的復(fù)雜度較大時(shí)可以適量增加數(shù)據(jù)集容量。
表9 容量下限與模型參數(shù)量比Tab.9 The ratio of lower limit of capacity and model parameters
本文根據(jù)Vapnik-Chervonenkis的VC維理論,得到了對(duì)應(yīng)于二分類的寬松數(shù)據(jù)集容量為。然后根據(jù)LeNet及AlexNet網(wǎng)絡(luò)的搭建經(jīng)驗(yàn),搭建了適合研究mnist及cifar10數(shù)據(jù)的DigitNet及Cifar10Net網(wǎng)絡(luò),通過(guò)6個(gè)不同的網(wǎng)絡(luò)在不同容量數(shù)據(jù)集的訓(xùn)練后,測(cè)試了對(duì)應(yīng)網(wǎng)絡(luò)模型的識(shí)別率,繪制了訓(xùn)練數(shù)據(jù)集容量對(duì)構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別性能的影響曲線,從中發(fā)現(xiàn),卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練并不是訓(xùn)練數(shù)據(jù)越多越好,在一定模型下,訓(xùn)練數(shù)據(jù)也沒(méi)有必要達(dá)到模型參數(shù)量的10 000倍,根據(jù)VC維理論,過(guò)于寬松,因此實(shí)際中無(wú)需的訓(xùn)練數(shù)據(jù)。本文實(shí)驗(yàn)結(jié)果給出了在解決mnist及cifar10數(shù)據(jù)集識(shí)別的問(wèn)題無(wú)需很大的數(shù)據(jù)集容量,僅需要模型參數(shù)量的10倍為下限即可達(dá)到很好的識(shí)別效果。本文為無(wú)法獲取大量數(shù)據(jù)情況下使用卷積神經(jīng)網(wǎng)絡(luò)解決實(shí)際問(wèn)題提供了一些實(shí)踐指導(dǎo),也為接下來(lái)的艦船識(shí)別提供了相應(yīng)的依據(jù)。