999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于殘差量化卷積神經網絡的人臉識別方法①

2018-08-17 12:06:18周光朕杜姍姍歐麗君
計算機系統應用 2018年8期
關鍵詞:模型

周光朕,杜姍姍,馮 瑞,,歐麗君,劉 斌

1(復旦大學 計算機科學技術學院,上海 201203)

2(上海市智能信息處理重點實驗室 上海視頻技術與系統工程研究中心,上海 201203)

3(上海臨港智慧城市發展中心,上海 201306)

4(上海無線電設備研究所,上海 200090)

1 引言

人臉識別是一種重要的生物識別技術.利用人臉特征信息,可實現用戶無感的身份識別,具有廣闊應用前景.過去數十年間,許多人臉識別方法被提出,早期方法通常利用人工設計的特征,結合不同分類器和度量方法進行識別,但識別精度并不理想,存在較大提升空間.

近年來,基于神經網絡的方法被廣泛用于人臉識別[1,2],取得較好的識別精度.文獻[3]提出基于殘差學習的卷積神經網絡(ResNet),這是一種具有良好學習與泛化能力的網絡模型,也可被用于人臉識別[4].文獻[4]采用殘差卷積神經網絡結構,用三個公開數據集總計17 189人,約70萬張圖像在交叉熵損失函數監督下訓練,在人臉識別數據集LFW[5]上取得優異的識別精度.

然而殘差卷積神經網絡模型中存在海量浮點參數,應用時要消耗巨大的計算和存儲資源,效率低下.例如ResNet-50有超過2500萬的參數,對224×224大小的3通道輸入,計算總量需要42億多次的浮點乘法.對網絡模型進行參數量化是一類可以有效降低網絡模型存儲消耗和提升計算效率的方法[6],包括二值神經網絡BNN[7]、異或網絡XNOR-Net[8]和多位量化網絡DoReFa-Net[9]等.BNN根據模型參數的符號,用±1表示,并以符號變換甚至異或替代卷積的浮點乘法,大幅壓縮了網絡模型并提升了計算速度,但有較大的模型精度損失.XNOR-Net在BNN基礎上對每層引入一個浮點系數,來減少量化導致的模型精度損失.DoReFa-Net則采用量化到多個比特位的方法,能進一步減少模型精度損失,但相比前二者,需要損失一定的計算加速和網絡壓縮比.

針對應用于大規模人臉識別的超深殘差卷積神經網絡存在網絡模型過大和計算效率低下的問題,設計了一種基于網絡參數量化的超深殘差網絡模型,包含殘差網絡模型選擇和網絡參數量化兩部分.具體在模型Fase-ResNet(https://github.com/ydwen/caffe-face)中添加批歸一化層和dropout層,并去除中心損失函數,作為基準模型,再通過殘差構件堆加和內部層數加深提升基準模型識別精度,并對精度最優的網絡參數進行二值量化,在模型識別精度損失極小的情況下,大幅壓縮了網絡模型大小,并提升了計算效率.

本文組織如下:在第2節介紹了本文工作的算法設計框架;在第3節和第4節分別介紹了框架中兩大部分工作,殘差卷積神經網絡模型選擇和卷積神經網絡參數量化;在第5節通過理論分析和實驗研究分析了本文所設計網絡模型的精度、相對基準模型的網絡壓縮比和效率提升比;最后在第6節對全文工作進行了總結.

2 算法設計框架

基于網絡參數量化的超深殘差網絡模型的設計包括兩部分內容:殘差卷積神經網絡的模型選擇和卷積神經網絡的參數量化如圖1所示.圖1的上部和實線右側圖1(c)到(f)給出了其主要工作流程及網絡結構,實線左側圖1(a)和(b)是結構(c)到(f)中使用的不同殘差構件的內部細節.

模型選擇部分對應圖1 上部左側三個方框的內容.在Fase-ResNet的訓練模型中加上批歸一化(BN)層和dropout層以加快訓練收斂和防止過擬合,并去除中心損失函數,以此作為基準模型A,對應圖1(c)的網絡結構.結合殘差網絡結構加深的方法,依次在B和C模型中加深了殘差構件的堆積次數和內部層數,分別對應圖1(d)和(e)的網絡結構.其中A和B網絡采用圖1(a)的殘差構件,C網絡采用圖1(b)的殘差構件.在圖1中,標識了B和C網絡與A使用不同數量和類型殘差構件的區別,三者的dropout層應用于Fc5層.

網絡量化部分對應圖1上部最右側方框內容,采用了基于BNN、XNOR-Net和DoReFa-Net中的量化函數對神經網絡模型的參數進行了量化,并參考其實驗方法訓練量化網絡.考慮到量化操作會一定程度降低原網絡模型的識別精度,保留了網絡第一個卷積層Conv1a和最后一個全連接層Fc6的浮點數參數,其他量化層在圖1(f)中加上了Q作為標記.通過對模型選擇工作設計的三個網絡模型識別精度最優者進行了網絡參數的二值量化,實現在極小的識別精度損失情況下,大幅壓縮網絡模型大小并提升計算效率.

3 殘差卷積神經網絡模型選擇

3.1 殘差學習機制

殘差學習在殘差神經網絡ResNet中被提出,是一種簡單高效的網絡模型學習機制.深度卷積神經網絡通常直接學習輸入數據到輸出標簽的目標映射,但簡單地加深這類網絡卻可能出現訓練精度不升反降的情況,即網絡模型的惡化(degradation)問題,且該問題并非由過擬合引起.殘差學習機制則學習目標映射與原輸入的殘差量,通過殘差值與原輸入相加恢復最終的目標映射,可有效解決這一惡化問題.

令H(x)表示輸入x的目標映射,卷積神經網絡學習的目標函數為F(x).常見方法直接學習這個目標映射,即F(x)=H(x).當恒等映射H(x)=x為目標映射時,F(x)較難擬合這個目標.殘差學習機制則學習目標映射與輸入之間的殘差量,即F(x)=H(x)?x,而目標映射則可以簡單地通過原輸入與殘差量相加來恢復,即H(x)=F(x)+x.

圖1 本文工作主要流程(上部)與算法細節(下部)

完成如上殘差量與原輸入相加操作的一個模塊被稱為殘差構件.設計不同的殘差量學習函數可得到不同形式的構件,圖1中(a)和(b)就是可能的兩種.圖中的縱向卷積分支用于學習殘差量,而原輸入通過旁路分支直接與殘差量相加,來恢復目標映射.同時,在每個卷積層的激活函數前添加批歸一化層可加快網絡模型的訓練速度.

殘差學習機制在ResNet中被證明可用來訓練超深層次的卷積神經網絡,精度優于其他常見的卷積神經網絡方法,且網絡模型層次越深,精度越好.

3.2 模型選擇過程

針對Face-ResNet網絡設計基準模型存在的兩個問題:一是此模型的全連接層存在較多參數,dropout層被引入來防止模型發生過擬合情況;二是為加快網絡訓練,在每個卷積層的激活函數前添加批歸一化層.

但是,網絡中原有的中心損失函數需要計算全連接層輸出特征與原數據空間每一類中心值之間的差異,而Dropout層卻按設定比例隨機舍棄全連接層參數,將導致訓練時全連接層輸出特征分布非常不穩定,極大影響中心損失函數的監督效果.另外,中心損失函數需要得到訓練數據每類中心.若存在離群值,將對中心的位置造成影響,進而影響中心損失函數的監督效果.基于這兩個問題,本文在基準模型中舍去中心損失函數,只用交叉熵損失函數作為監督.經過以上改進可得網絡模型A,圖1(a)是A使用的殘差構件,圖1(c)是其網絡大致結構.

根據殘差卷積神經網絡層次越深,精度越好的特點,本文在網絡A基礎上加深網絡模型.但過深的殘差網會參數過量,訓練數據量一定時,網絡可能得不到充分訓練而使精度的提升并不多,同時卻要消耗更多存儲和計算資源,影響量化帶來的壓縮比和效率提升,故本文只參考了34層與50層ResNet的設置.首先對A網絡增加殘差構件的堆積數,在Conv2_x、Conv3_x、Conv4_x分別增加了2個、2個、1個圖1(a)的殘差構件,得到網絡B.接著,又在B的基礎上增加構件內部的卷積層數,即用圖1(b)的殘差構件,得到網絡C.網絡B和C的大致結構如圖1(d)和(e)所示.除以上設計,Face-ResNet其他層的參數設均被保留.

殘差構件中卷積層的卷積核、移動步長和填充尺寸分別是3×3、1和1,其他卷積層不作填充.卷積支路的填充操作可保證原輸入x和殘差量F(x)相加時維度對應相等.池化層的區間設為2×2,移動步長為2.在相同通道數的卷積層中間,輸出的特征圖大小不變;而特征圖經過池化長寬均縮小一半時,卷積層通道數則加倍.網絡模型A到C每層具體的參數設置見表1,其中輸入均為112×96像素大小的3通道圖片數據.

表1 模型選擇3種結構的具體參數設置

4 卷積神經網絡參數量化

卷積神經網絡參數量化方法通常將網絡每層參數量化到k個值,用位索引表示,量化模型保存索引與這些值.取整和符號函數常用于量化.若k=2,且取值為±1,則為二值量化.二值量化網絡只用1比特位表示參數,可大幅壓縮網絡模型,計算時用符號改變替代浮點乘法,可提高模型的計算效率.

4.1 二值神經網絡

假設卷積神經網絡模型有L層,記第l(l=1,2,···,L)層權值參數矩陣為Wl∈Rkl×kl×cl,每個元素為w,其中kl為卷積核邊長,cl為通道數.用Wlb表示二值量化后網絡每層參數,每個元素wb∈{+1,?1}.二值神經網絡BNN中使用了符號函數進行量化,如公式(1).

符號函數的導函數幾乎處處為0,反向傳播算法不能訓練網絡,需要設定其梯度反傳函數.BNN在訓練時保留絕對值較小參數的梯度而抑制絕對值較大參數的梯度,以gs和gw分別表示符號函數和恒等函數的梯度,BNN使用gs=gw1|w|≤1,具體如公式(2)所示.

將以上兩者用于普通卷積神經網絡訓練中,BNN對網絡每層參數進行二值量化,可一定程度保持原浮點網絡模型的精度,同時大幅壓縮網絡模型并提升計算效率.

4.2 異或網絡

由于BNN應用于大規模數據集上將造成網絡模型精度大幅下降,異或網絡XNOR-Net做了改進.離散卷積操作可轉為矩陣相乘.令每層的輸入矩陣為X,參數矩陣為W,則每層卷積計算為W·X.異或網絡在每層二值矩陣Wb前乘上一個浮點系數α,卷積計算近似變為W·X≈α(Wb·X).選取最佳α和Wb近似原卷積計算則通過固定W后 最小化得到.利用WbT·Wb=N(N為卷積核元素個數),可得到最優解Wb?=sign(W)和α?=‖W‖/N.Wb仍由W用符號函數二值量化,α為每層卷積矩陣參數絕對值和的平均.

神經網絡中間層的輸入為上一層輸出的激活值.按同樣方式,可得到每層輸入X的二值量化近似表示X≈βXb.此時,原來的卷積計算就可以近似變為W·X≈αβ(Wb·Xb).其中Wb·Xb可用異或操作計算,計算速度大幅提升.

卷積神經網絡的卷積模塊包含四部分,依次為卷積、批歸一化、激活和池化.若按此順序對神經網絡參數和激活值二值量化,且采用最大池化方式,將導致多數+1被保留而–1被舍去,對模型精度會造成巨大影響.因此,將池化放在激活之前,改動卷積模塊為卷積、批歸一化、池化和激活,再對卷積參數和池化輸出作二值量化.此外,將輸入歸一化,使其均值為零,也可減少二值量化帶來的模型精度損失.

異或網絡可用BNN的訓練方法,給每層二值量化參數和激活值乘上一個浮點系數,相比BNN,可在網絡模型精度更小損失的情況下獲得相近的網絡壓縮比和計算效率提升.

4.3 多位量化網絡

在前兩種量化網絡基礎上,多位量化網絡DoReFa-Net提出對網絡參數進行多位量化的方法.設是閉區間[0,1]上的一個實數,將它量化到0到1閉區間上的k位(k≥2)量化值xq的函數qk(x)如公式(3).

神經網絡每層參數W 和激活值A的量化函數如公式(4)和(5)所示.

其中,h(x)是值域在[0,1]上的函數,可用的有h(x)=0.5(tanh(x)+1),h(x)=min(1,|x|),h(x)=clip(x,0,1)等.當k=1時,則使用異或網絡的二值量化方法.

DoReFa-Net使用前兩種量化網絡的訓練方式,設置網絡參數的不同量化位數k,可對網絡模型進行不同程度的量化.相比BNN和XNOR-Net,量化位數k越大,對原浮點網絡模型精度導致的損失越小,但同時網絡模型也越大,需要更多存儲空間,對計算效率的提升也越少.需要設置合理的k值折衷網絡精度損失和網絡模型壓縮比與計算效率提升.

DoReFa-Net也有對訓練梯度的多位量化方法,但本文考慮到梯度對訓練的重要性,保留其浮點表示.本文基于多位量化網絡的參數量化方法,在實驗中對網絡模型參數進行二值量化.實驗情況將在第5節中說明.

5 實驗與分析

5.1 實驗環境與數據集準備

本文算法實驗的系統環境為Linux Ubuntu 16.04,服務器配置為Intel Xeon E5-2620 v4處理器、128 G內存和NVIDIA圖形處理單元GTX 1080 TI GPU卡.實驗采用tensorpack(https://github.com/ppwwyyxx/tensorpack)工具包搭建本文設計的網絡模型.

CASIA-WebFace數據集[10]被用于實驗的訓練,利用室外帶標注的人臉數據集LFW用于網絡模型的精度測試.CASIA-WebFace是目前最大的公開人臉識別數據集之一,全部數據采集自互聯網,包含10 575人共494 414張圖片.LFW數據集則有5749位名人的13 233張網絡圖片,均采集自室外場景.

一些方法被用于訓練和測試數據的預處理.對CASIA-WebFace的標注(http://zhengyingbin.cc/Active AnnotationLearning/)[11]被用于提升訓練數據質量.MTCNN(https://github.com/kpzhang93/MTCNN_face_detection_alignment)[12]則被用于檢測圖像中人臉位置和人臉特征點,如雙眼中心、嘴角兩側等.文獻[13]方法(https://github.com/AlfredXiangWu/face_verification_experiment)可用特征點進行對齊,將人臉轉為基本正視前方.若MTCNN未檢測到人臉,直接舍棄訓練集圖片,而對測試集圖片截取中心144×144像素區域并對齊.訓練數據集經過處理后余下約44萬張圖片,圖像被調整到128×128大小,測試集圖片被調整到144×144大小.

圖像輸入網絡時被裁剪到112×96大小,訓練集使用隨機裁剪,測試集采用中心裁剪.另外,實驗對訓練和測試數據的每個像素減去127.5并除以128,將像素歸一化到–1與+1之間,使其整體上具有均值為零的分布,盡可能減少量化帶來的網絡精度損失.

5.2 實驗設置與評判方式

隨機抽取訓練數據集每人兩張圖片,共21 150張圖片作為訓練的驗證集,剩余圖片用于訓練.訓練中,除使用隨機裁剪外,輸入圖像的翻轉被用于數據增強.網絡模型訓練階段共100個epoch,每個epoch有10 000個step,每個step輸入一個批次圖像.實驗設置每批次64張圖,初始學習率為0.01,在40、70、90個epoch時將學習率依次縮小10倍.

量化網絡模型的訓練采用相同設置,并采用多位量化網絡的量化設置,對Conv1a層和Fc6層外的卷積和全連接層進行二值量化.實驗中,未量化網絡約在50個epoch后收斂,而量化網絡則在約55個epoch后收斂.

由于兩數據集的人并不相同,測試時先對測試圖片和其翻轉輸入網絡模型,取Fc5層的輸出,得到兩組1024維特征,拼接得到2048維特征.判斷兩張測試圖片是否為同一人時,對兩組2048維特征計算余弦距離相似度,按照設定閾值進行判斷.

LFW提供一份分為10組隨機生成的共6000對圖像的測試集合驗證算法精度.其中3000對是相同的人,另3000對是不同的人.通過以上方法對6000對圖像進行測試,算法在10個分組中交叉驗證,以10組驗證結果的均值報告算法精度.

5.3 實驗結果

首先對模型選擇中設計的三個網絡模型進行了精度測評,結果見表2.可以看到,隨著網絡層次的增加,基于殘差學習的超深卷積神經網絡模型的精度可以逐步提升,并且加深后的網絡B和C都超過了其他兩個神經網絡方法.其中網絡C精度達到97.83%,超過LFW報告的人類水平97.53%,是這些網絡模型中的精度最優者.

接著,對精度最優的網絡C根據5.2節的設置進行了量化訓練,得到了量化模型Q,并在測試集上報告了97.43%的準確率,相比模型C僅有0.4%的模型精度損失,而比基準網絡模型A更有精度的提升.

表2 各種方法在LFW驗證集上報告的精度結果

5.4 壓縮比與效率提升分析

由于測試時最后一層Fc6未參與計算,故本文中針對模型計算效率提升的比較不含Fc6層.參考異或網絡文獻,量化網絡Q相比網絡C可有2倍的計算加速,并能將網絡壓縮32倍.表3列出了本文工作設計的4種網絡結構的參數量、浮點計算量和相對基準模型A的壓縮比與效率提升情況,均通過理論計算得出.可以看到,盡管網絡C相對A增加約30%的參數,但經過二值量化,模型Q相對A有整體上接近4倍的壓縮.當除去最后的Fc6層時,壓縮比甚至可以達到22.8,并有1.05倍的效率提升.

表3 各網絡模型的參數與相比基準模型的壓縮比和效率提升情況

6 總結

本文針對應用于大規模人臉識別的超深殘差卷積神經網絡存在網絡模型過大和計算效率低下的問題,設計了一種基于網絡參數量化的超深殘差網絡模型,具體在Face-ResNet模型基礎上,增加批歸一化層和dropout層,加深網絡層次,對網絡模型參數進行二值量化.通過理論分析和實驗驗證,本文設計的網絡可以在模型識別精度損失極小的情況下,將網絡模型壓縮22.8倍并提升1.05倍計算效率.由于目前僅量化了網絡的參數,未來可以考慮調整訓練方式,將計算時每層輸入也進行量化,以提升更多的計算效率.量化的網絡也適用于FPGA,可以考慮將其移植到FPGA上來進一步提升計算效率.

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 午夜视频免费试看| 国产偷国产偷在线高清| 无码'专区第一页| 国产av无码日韩av无码网站 | 久久精品中文字幕少妇| 欧美另类精品一区二区三区| 日本午夜视频在线观看| 色丁丁毛片在线观看| 55夜色66夜色国产精品视频| 日韩色图区| 日韩高清成人| 国产不卡一级毛片视频| 午夜国产小视频| 四虎成人在线视频| 国产电话自拍伊人| 91美女视频在线观看| 久久婷婷国产综合尤物精品| 免费无码一区二区| 99re这里只有国产中文精品国产精品 | 91成人在线观看| а∨天堂一区中文字幕| 九九九国产| 九色免费视频| 久久久久久久97| 欧洲极品无码一区二区三区| a免费毛片在线播放| 毛片基地美国正在播放亚洲| 亚洲第一成年人网站| 国产在线八区| 亚洲一级毛片免费观看| 亚洲三级电影在线播放 | 1769国产精品视频免费观看| 国产美女在线观看| 精品视频91| 91在线丝袜| av在线手机播放| 香蕉eeww99国产在线观看| 国产不卡一级毛片视频| 九九热精品免费视频| 丝袜美女被出水视频一区| 少妇精品久久久一区二区三区| 精品色综合| 国产福利影院在线观看| 激情乱人伦| 91免费国产高清观看| 国产精品一区二区国产主播| 好久久免费视频高清| 国产色伊人| 热思思久久免费视频| 成人免费一级片| 久久久久久尹人网香蕉 | 亚洲天堂网站在线| 九九九精品成人免费视频7| 日韩午夜福利在线观看| 区国产精品搜索视频| 一区二区欧美日韩高清免费 | 亚洲天堂日韩在线| 国产一区二区三区夜色| 美女一级免费毛片| 国产精品区网红主播在线观看| 国产精品中文免费福利| 99久久精品国产自免费| 呦视频在线一区二区三区| 久久91精品牛牛| 久久青草精品一区二区三区| 日韩区欧美国产区在线观看| 97国产在线播放| 久久综合丝袜日本网| 精品久久久久久久久久久| 亚洲欧美另类色图| 99热最新网址| 免费xxxxx在线观看网站| 日本一区二区三区精品国产| 一级爆乳无码av| 午夜精品久久久久久久2023| 午夜三级在线| 强乱中文字幕在线播放不卡| 婷婷亚洲视频| 男人天堂亚洲天堂| 亚洲男人的天堂久久香蕉| 国产精品成人久久| 亚洲天堂精品在线观看|