基于機(jī)器學(xué)習(xí)的樣本多樣性算法研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
近幾年,基于大量訓(xùn)練數(shù)據(jù)的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)在目標(biāo)檢測、目標(biāo)識別、顯著性檢測、行為識別、人臉識別和對象分割等計(jì)算機(jī)視覺領(lǐng)域取得了舉世矚目的成果。這些令人鼓舞的成績主要?dú)w功于以下幾點(diǎn):
(1) 將大量有標(biāo)簽的數(shù)據(jù)作為訓(xùn)練集,學(xué)習(xí)出具有百萬參數(shù)的模型,從而使卷積神經(jīng)網(wǎng)絡(luò)能夠有效提取對象的本質(zhì)特征;
(2) 不斷改進(jìn)性能優(yōu)異的網(wǎng)絡(luò)結(jié)構(gòu),如VeryDeepVGG Network[1],Google Inception Network[2] 和 Deep Residual Networks[3] 等;
(3) 各種并行計(jì)算硬件設(shè)備(如 GPU)的支持,大大提高了CNN訓(xùn)練模型的效率。其中,將標(biāo)簽的大量數(shù)據(jù)作為訓(xùn)練集起著至關(guān)重要的作用。
本文以人臉識別為例,討論和綜述多樣本算法的研究現(xiàn)狀和發(fā)展方向。
有效的特征是目標(biāo)識別的關(guān)鍵,對人臉識別問題來說亦如此。傳統(tǒng)的主成分分析(Principal Component Analysis, PCA)[4,5],線性區(qū)分分析(Linear Discriminant Analysis,LDA)[6]和局部二值模式化(Local Binary Pattern,LBP)[7,8]等取得了不錯(cuò)的成績?;趥鹘y(tǒng)特征的人臉識別受限于環(huán)境,此類特征作用在復(fù)雜或者背景多變的人臉圖像時(shí),其識別性能往往大幅下降,如在LFW 數(shù)據(jù)集上其識別率驟然下降[9]。
采用CNN 作為特征提取模型,主要考慮到該模型的所有處理層,包括像素級別的輸入層,均可從數(shù)據(jù)中學(xué)習(xí)到可調(diào)節(jié)的參數(shù)。即 CNN 能自動(dòng)從大數(shù)據(jù)中學(xué)習(xí)特征,無需人工設(shè)計(jì)特征。合理有效的特征需從大量數(shù)據(jù)和大量參數(shù)中自動(dòng)學(xué)習(xí)獲取,從而達(dá)到優(yōu)秀的識別性能?;诰矸e神經(jīng)網(wǎng)絡(luò)的世界領(lǐng)先方法均使用了上百萬的數(shù)據(jù),其中最具有代表性的如VGG-Face 網(wǎng)絡(luò)需要 260 萬個(gè)人臉圖像樣本進(jìn)行訓(xùn)練 [10], Facebook 的DeepFace 網(wǎng)絡(luò)需要 440 萬個(gè)有標(biāo)簽的人臉圖像樣本訓(xùn)練[11]。而Google 更使用了 2 億樣本數(shù)據(jù)來訓(xùn)練 FaceNet 網(wǎng)絡(luò)[12]。
1 多樣本獲取現(xiàn)狀
如引言所述, 有效合理的特征是目標(biāo)識別的關(guān)鍵, 而CNN能從大量有標(biāo)簽的數(shù)據(jù)中自動(dòng)學(xué)習(xí)圖像的本質(zhì)特征。獲得圖像特征的關(guān)鍵因素是有標(biāo)簽的大數(shù)據(jù)。因此許多研究的前提工作均聚焦在人工獲取數(shù)據(jù)和給數(shù)據(jù)加標(biāo)簽方面。然而, 獲取百萬級的數(shù)據(jù)并非易事。大數(shù)據(jù)獲取需要人工從網(wǎng)上下載、處理,然后給數(shù)據(jù)添加標(biāo)簽,耗費(fèi)大量的人力物力。雖然也有一些公開免費(fèi)的數(shù)據(jù)集,且收集該類數(shù)據(jù)相對比較容易, 如 CASIA-WebFace[13], 有 49萬個(gè)圖像, 但遠(yuǎn)少于Facebook 和Google的數(shù)據(jù)集。在這種情況下,缺乏大量樣本直接阻礙了深度學(xué)習(xí)方法的使用,成為阻礙提高檢測率和識別率的瓶頸。除了深度學(xué)習(xí)技術(shù)提取特征需要大量樣本外,已有研究證明[14-19],基于傳統(tǒng)方法的技術(shù)同樣需要大量樣本作為支撐。在這種形勢下,通過圖像處理與機(jī)器學(xué)習(xí)技術(shù)自動(dòng)增加樣本集已成為必要手段。
無論基于傳統(tǒng)方法的識別問題,還是基于深度學(xué)習(xí)的識別問題,大量有標(biāo)簽的數(shù)據(jù)作為訓(xùn)練集在算法中起著舉足輕重的作用。如果樣本不足,算法往往過擬合,無法提高算法的性能。為了獲得更多樣本,一些研究工作從網(wǎng)絡(luò)上獲取數(shù)據(jù),例如在IMDb上,已經(jīng)把 9萬有標(biāo)簽的數(shù)據(jù)集擴(kuò)大到了26萬 [10]。除此之外,F(xiàn)acebook獲取了440萬個(gè)有標(biāo)簽的人臉進(jìn)行 DeepFace網(wǎng)絡(luò)訓(xùn)練[11],而Google使用 2億個(gè)數(shù)據(jù)訓(xùn)練FaceNet網(wǎng)絡(luò)[12]。
目前獲取方法具有如下局限:
(1) 現(xiàn)有方法耗時(shí)耗力,需要經(jīng)費(fèi)支持。獲取百萬級的數(shù)據(jù)并非易事。大數(shù)據(jù)獲取需要人工從網(wǎng)上下載、處理,然后給數(shù)據(jù)添加標(biāo)簽,耗費(fèi)大量的人力物力。這種情況下,只有像Facebook和 Google這樣的大公司會(huì)收集大量有標(biāo)簽的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練。而大多數(shù)情況下的數(shù)據(jù)收集涉及個(gè)人隱私與財(cái)力物力等問題,對于一般的小公司或科研院所而言,收集數(shù)據(jù)普遍難度較大。
(2) 收集特殊圖片困難。對于一些特殊的圖像,如醫(yī)學(xué)圖像,遙感圖像,現(xiàn)實(shí)中數(shù)量本身就少,加之無法直接從網(wǎng)上獲取,因此小樣本很容易導(dǎo)致過擬合。
2 樣本集擴(kuò)大算法研究現(xiàn)狀
2.1 基于傳統(tǒng)方法的多樣本算法研究現(xiàn)狀
對于傳統(tǒng)的樣本生成算法,如果數(shù)據(jù)集中有足夠的訓(xùn)練樣本,均可得到比較滿意的識別結(jié)果,但在現(xiàn)實(shí)的人臉數(shù)據(jù)庫中,人臉的數(shù)據(jù)樣本卻是有限的。文獻(xiàn) [20] 表明,增加圖像樣本的數(shù)量可以較大幅度提高識別的準(zhǔn)確率。
為了增加樣本數(shù)量,提高識別準(zhǔn)確率,科研工作者已做了大量工作。其中,借助原始樣本產(chǎn)生虛擬樣本是一種有效的增加數(shù)據(jù)集方法。這種方法大致分為如下幾類:
(1) 通過人臉圖像的對稱性來得到原始樣本的虛擬樣本, 如 Xu[14,15] 和Liu等[21] 提出借助原始圖像的 對稱臉 和 鏡像臉 產(chǎn)生虛擬樣本,從而擴(kuò)大數(shù)據(jù)集并提高人臉識別的正確率,Song[22] 也提出相應(yīng)的算法來改進(jìn)人臉識別的性能;
(2) 通過改變圖像的光照、姿勢和表情等來產(chǎn)生虛擬樣本,例如Boom等用一種稱為VIG的方法對未知光照情況進(jìn)行建模[16],Abdolali[17] 和Ho[18] 等提出了類似的算法擴(kuò)大數(shù)據(jù)集;
(3) 基 于人臉圖像自身的特征生成虛擬樣本,Ryu等根據(jù)原始樣本的分布來產(chǎn)生虛擬樣本 [19],Liu等也根據(jù)圖像本身特性來產(chǎn)生虛擬樣本[23]。
(4) 基于數(shù)學(xué)的多樣本產(chǎn)生方法,如 Zhang等提出利用奇異值分解的方法獲得基于原始樣本的虛擬樣本[24]。借助圖像合成方法生成的新樣本如圖 1所示。
圖1 借助圖像合成方法生成新樣本
除了借助圖像處理方法獲得原始樣本的新樣本外,還可以利用圖像合成算法獲取多樣本,本研究做了相關(guān)實(shí)驗(yàn),其結(jié)果如圖1所示。假設(shè)數(shù)據(jù)集中有c類人臉圖像,每類有ni個(gè)樣本, 令 xj! 0h) w表示第 i類中的第 j個(gè)樣本,這里 i=1,2, ,c,j=1,2, ,n,h和 w分別代表樣本 xj的高和寬(均為像素值)。
用 X=[X1,X2,…,Xc] 代表所有樣本,則 Xi=[xi1,xi2,…,xini], i=1,2,…,c 代表第 i 類樣本。則有:
P^Xh=f^Xh=f^x1h5f^x2h5g5f^xnih,i=1,2,f,c其中,P(Xi)代表所生成的第 i類新樣本,f(g)表示圖像處理函數(shù), 5代表多個(gè)樣本的串聯(lián),即將多個(gè)樣本聯(lián)合起來得到一個(gè)類別的新樣本。
2.2 基于深度學(xué)習(xí)的多樣本生成算法研究現(xiàn)狀
大量有標(biāo)簽的訓(xùn)練數(shù)據(jù)是機(jī)器學(xué)習(xí)成功的關(guān)鍵,尤其對于強(qiáng)大的深度學(xué)習(xí)技術(shù),大數(shù)據(jù)集能提高CNN 的性能,防止過擬合[25]。為了擴(kuò)充數(shù)據(jù)集,已有一些工作在不改變圖像語義的情況下進(jìn)行,如水平鏡像 [26]、不同尺度的剪裁[27,28]、旋轉(zhuǎn)[29] 和光照變化[27] 等傳統(tǒng)方法。
DeepID[30] 采取了增大數(shù)據(jù)集手法來訓(xùn)練網(wǎng)絡(luò),只有大的數(shù)據(jù)集才能使得卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練得更加充分,該研究采用兩種方法增大數(shù)據(jù)集:
(1) 選擇采集好的數(shù)據(jù),即映入CelebFaces數(shù)據(jù)集。
(2) 將原始數(shù)據(jù)集中的圖片多尺度、多通道、多區(qū)域的切分,然后分別進(jìn)行訓(xùn)練,再把得到的向量串聯(lián)起來,即得到最后的向量。
以上方法僅局限于相對簡單的圖像處理技術(shù),該類方法生成的多樣本具有一定的局限性。比如,真正意義上的旋轉(zhuǎn)應(yīng)按一定的角度進(jìn)行 3D 旋轉(zhuǎn),而不僅僅是圖像本身的角度旋轉(zhuǎn)。合成數(shù)據(jù)能一定程度上解決以上問題,如Shotton 等通過隨機(jī)森林合成 3D 深度數(shù)據(jù)來估計(jì)人體姿勢,Jaderberg 等使用合成數(shù)據(jù)來訓(xùn)練 CNN 模型識別自然場景下的文字[31]。這些研究的結(jié)果均優(yōu)于使用剪裁,旋轉(zhuǎn)等傳統(tǒng)方法。但使用 3D 合成圖像比較復(fù)雜,需要較多的前期工作。
近年來, 借助生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GANs) 來生成原始樣本的方法吸引了很多學(xué)者。2014 年 6 月,Goodfellow 等 發(fā) 表 了 論 文《Generative Adversarial Nets》[32], 文中詳盡介紹了GANs 的原理、優(yōu)點(diǎn)及其在圖像生成方面的應(yīng)用,標(biāo)志著 GANs 的誕生。早期的GANs 模型存在許多問題,如GANs 網(wǎng)絡(luò)不穩(wěn)定,甚至有時(shí)該網(wǎng)絡(luò)永遠(yuǎn)不會(huì)開始學(xué)習(xí),生成的結(jié)果無法令人滿意。文獻(xiàn) [32] 中生成器生成的圖片十分模糊,針對此問題,Denton 等提出一個(gè)被稱為 LAPGANs 的模型[33],該模型用多個(gè)卷積神經(jīng)網(wǎng)絡(luò)連續(xù)生成圖像,這些新圖像的清晰度不斷提高,最終得到高分辨率圖像。GANs 除了基于圖像生成圖像外,還可以通過文字生成圖像,如文獻(xiàn) [34] 搭起了文本到圖像的橋梁,通過GANs 將文本直接轉(zhuǎn)換成對應(yīng)的圖像。文獻(xiàn) [35] 將 GAN 應(yīng)用于超分辨率中,該文獻(xiàn)提出了全新的損失函數(shù),使得 GANs 能對大幅降采樣后的圖像恢復(fù)其生動(dòng)紋理和小顆粒細(xì)節(jié)。另i外,Radford等提出了名為 DCGANs的網(wǎng)絡(luò),該文獻(xiàn)指出,用大數(shù)據(jù)集訓(xùn)練出的 GANs 能學(xué)習(xí)一整套層級的特征,并具有比其他無監(jiān)督學(xué)習(xí)模型更好的效果。以上方法均為基于一大類原始樣本生成另一大類圖像。
基于 GAN 生成樣本的過程如圖 2 所示。首先將同類別的原始圖像輸入到生成對抗網(wǎng)絡(luò) GAN 的生成器網(wǎng)絡(luò) G 中,生成 假冒 圖像 G1 和 G2,接著借助判別器D 來判斷輸入的圖像是真實(shí)圖像還是 假冒 圖像。生成器 G 努力生成類似原始樣本的圖像,力爭判別器D 難以區(qū)分真假 ;而判別器 D 應(yīng)不斷提高自身性能,有能力鑒別出由生成器 G 生成的圖像為贗品。生成器 G 和判別器D 的價(jià)值函數(shù)如下:
生成器 G 最小化 log(1-D(G(z))),判別器 D 最大化 logD(x),使得最大概率按照訓(xùn)練樣本的標(biāo)簽分類,生成模型 G 隱式定義了一個(gè)概率分布 Pg,希望 Pg 收斂到數(shù)據(jù)真實(shí)分布 Pdata。
圖 2 GAN 生成新樣本示意圖
3 結(jié) 語
綜上所述,基于原始樣本的多樣本生成算法是一個(gè)值得 深入研究探索的問題,具備清晰而明確的理論意義和現(xiàn)實(shí)應(yīng) 用意義。雖然研究人員已經(jīng)對相關(guān)問題進(jìn)行了一些研究,取得 了一系列成果,但是多樣本的產(chǎn)生方法缺乏全面、深入的理解, 尚未出現(xiàn)具有里程碑意義的研究成果。具體而言,本文認(rèn)為, 基于原始樣本的多樣本生成問題需要在如下幾個(gè)方面展開深入 的研究 :
(1)在研究多樣本生成算法時(shí),保留原始樣本的本質(zhì)特征, 如在人臉識別中,拋棄不必要信息(光照、表情和姿勢)的影 響是一項(xiàng)十分有意義的工作。
(2)在合成新樣本時(shí),設(shè)計(jì)合理有效的構(gòu)造元素,使合 成的新表示更接近自然亦是一個(gè)值得研究的方向。
(3)基于生成對抗網(wǎng)絡(luò),研究某一類對象的生成新樣本 的核心算法是一項(xiàng)有意義的工作。