人臉檢測和識別以及檢測中loss學習 - 15 - ShrinkTeaNet - 1 - 論文學習


 

ShrinkTeaNet: Million-scale Lightweight Face Recognition via Shrinking Teacher-Student Networks

Abstract

大規模的自然環境下的人臉識別技術近年來在許多實際工作中得到了成熟的應用。然而,這些系統是建立在GPU平台上的,並且大多部署很大的深度網絡架構。給定一個高性能的大網絡作為教師網絡,該論文提出了一個簡單和優雅的老師-學生學習范式,即ShrinkTeaNet,以訓練一個便攜式的學生網絡,其顯然具有較少的參數和能與教師網絡相競爭的准確性。我們提出的老師-學生網絡與以往的主要關注於封閉集問題的精度和壓縮比的老師-學生網絡相對比,在面對開放集問題,即大規模人臉識別問題中,我們的方法表現出了更強的魯棒性。此外,本文還引入了一種新的角度蒸餾損失,用於提取教師超球面的特征方向和樣本分布到它的學生網絡中。然后ShrinkTeaNet框架利用特征嵌入的中間階段和最后階段呈現的教師模型的知識來有效地指導學生的學習過程。對LFW、CFP-FP、AgeDB、IJB-B和IJB-C Janus以及擁有100萬個干擾物的MegaFace的評估表明,該方法能夠有效地學習具有良好精度和緊湊大小的魯棒的學生網絡。我們的ShrinkTeaNet能夠支持輕量級架構,在LFW上得到了99.77%的效果,在大型Megaface協議上得到了95.64%的效果。

 

1 Introduction

近年來,知識蒸餾以其將大網絡的解釋能力轉移到其他輕量體系結構並使之更強大的能力而成為一個突出的課題。對於一個沉重但強大的網絡(即教師網絡),傳統的精餾方法[6,7]鼓勵輸入輕量網絡(即學生)的輸出與輸入教師網絡的輸出之間的相似性,以提高學生的表現。通過這種方式,學生可以有效地繼承老師的能力和優勢。已經提出了不同的度量方法用於相似度的度量,如L2損失或交叉熵損失。其他一些方法將這些度量注入中間層,並利用教師網絡的各個方面,如特征量[8]、特征流[9]、激活圖[10,11]、梯度圖[12]和其他因素[13-15]。

雖然這些方法取得了顯著的效果,但它們大多是針對封閉集問題提出的,封閉集中對象類是預定義的,並且在訓練和測試階段保持不變。根據這一假設,教師的預測分數可以被傳遞給學生,並作為監督信號。然而,當訓練與測試的類別不同時(即開放集人臉識別),訓練類別的預測分數會因為在測試階段的變化而變得不那么有價值。因此,學生在處理新類時可能會有很多困難。此外,L2損失通常用於最后的輸出層或中間層。這對於學生網絡來說實際上是一個hard約束,因為它導致了兩個網絡特征之間的“精確匹配”。因此,當它被應用到多個層時,學生網絡的訓練過程可能會出現過於規范化的問題,變得不穩定。

Contributions. 提出了一種用於開放集大規模人臉識別的老師-學生學習算法——ShrinkTeaNet。這項工作的貢獻有三個:

  • 首先,我們沒有強調特征之間的精確匹配,而是提出了一種新的角度蒸餾損失來提取從教師的超球面到學生的特征方向和樣本分布。與L2損失相比,角度約束更“soft”,並為學生在嵌入過程中解釋信息提供了更大的靈活性。此外,從其老師那里繼承樣本分布可以幫助學生在對象類改變時有效地重用所學習的知識。
  • 其次,我們提出了一種新的ShrinkTeaNet框架,該框架在特征嵌入過程的每個階段都能有效地提取教師的知識。
  • 第三,評價結果顯示了在小規模和大規模基准上的改進。

據我們所知,這是解決開放集大規模識別問題的最早的蒸餾方法之一。

 

2 Related work

輕量深層神經網絡的設計越來越受到關注,主要是通過調整深層神經網絡的結構來達到精度和速度之間的最佳平衡。除了直接設計新的深度網絡架構外,根據所提出框架的動機和技術,還可以將其分為兩類:網絡修剪(network pruning)和知識蒸餾(knowledge distillation)。

Network Pruning.  網絡裁剪是對重網絡中的冗余進行分析和去除,得到精度相當的輕量形式。通常,這類方法的訓練框架包括三個階段,即(1)訓練一個大型(超參數化模型),(2)根據一些標准對訓練后的大型模型進行修剪,(3)對修剪后的模型進行微調以獲得良好的性能。網絡修剪分為兩類。第一類是非結構化的剪枝方法,它從大型、超參數化和高性能的模型開始。Optimal Brain Damage[16]、Optimal brain surgeon[17]是基於損失函數Hessian的第一個網絡修剪方法。[18]提出了通過設置閾值以下的權值為零,且精度不下降的剪枝網絡,然后將權值量化到8位或更少來改善它,最后進行Huffman編碼[19]。[21]也采用變分Dropout[20]方法來裁剪冗余權值。最近,[22]采用了基於隨機門的L0-norm正則化的稀疏網絡。在第二類,即結構化剪枝方法中,通道剪枝是一種常用的方法。[23]通過將過濾器剪枝看作為一個優化問題來基於其下一層剪枝過濾器。一個濾波器的重要性是計算出來的,在[24,25]中采用了它的絕對權重來決定保留哪些通道。[26]采用泰勒展開式,近似計算各通道對最終損失的重要性,並進行相應的修剪。

Knowledge Distillation. 知識蒸餾方法不像前一組那樣試圖“簡化”計算昂貴的深層網絡,而是旨在學習一個輕量級網絡(即學生),使其能夠模仿大網絡(即教師)的行為。有了來自老師的有用信息,學生可以學習得更有效率,更“聰明”。在這種動機的啟發下,[6]引入了第一個知識蒸餾作品,建議最小化從這兩個網絡的最后一層提取的特征之間的L2距離。Hilton等人后來指出,教師預測的類概率之間的隱藏關系對學生來說也是非常重要和有用的。在訓練階段,除了常規的帶標簽的訓練數據外,還采用教師模型生成的軟標簽作為監督信號。除了[7]中的軟標簽外,Romero等人的[8]橋接了學生和教師網絡的中間層,采用L2損失進一步監督學生的輸出。文獻中還利用了教師網絡的其他幾個方面和知識,包括特征激活圖[11]、特征分布[14]、塊特征流[9]、基於激活和梯度的注意圖[10]、Jacobians矩陣[13]、無監督特征因子[15]等的轉移。最近,Guo等人提出提取預測分數和梯度圖,以增強學生對數據擾動的魯棒性。對於各種學習任務,也提出了其他的知識蒸餾方法[9,27 - 31]。

 

3 Proposed method

本節首先描述了知識蒸餾問題的一般形式。然后考慮了人臉識別的兩個重要設計方面:(1)蒸餾知識的表示;(2)如何在師生之間進行有效的轉移。最后,介紹了帶有角度精餾損失的ShrinkTeaNet結構。

讓T : I → Z和S : I → Z 定義從圖像域I到一個高級別的嵌入信息域Z的映射函數。函數T和S都是n個子函數Ti和Si的組合:

其中I表示輸入圖像,Θt和Θs分別是T和S的參數。然后給定一個高容量的函數T(即教師網絡),模型蒸餾的目標就是蒸餾來自T的知識到一個有限容量的函數S中(即學生網絡),這樣S就能夠嵌入與T相似的潛在域。為了獲取該目標,S的學習過程通常通過一步步計算他們的輸出來在T的監督下發生。

其中Git(·)和Gis(·)是T和S的轉換函數,用於讓它們對應的嵌入特性具有可比性。d(·,·)表示這些變換后的特征之間的差異。然后通過最小化這些差異,來自教師T的知識就能夠轉移到學生網絡S,以至於它們可以嵌入相似的潛在域。值得注意的是,Li(S, T)的形式提供了兩個重要的性質。首先,由於d(·,·)度量的是Fit與Fis之間的距離,因此它隱含地定義了要從T轉移到s的知識。其次,轉換函數Git(·)和Gis(·)控制轉移信息的部分。接下來的部分將重點介紹這兩個組件的設計,以選擇最有用的信息並將它們傳遞給學生,同時又不遺漏老師提供的重要信息。

 

3.1 Distilled Knowledge from Teacher Hypersphere

如表1所示,以前的大部分蒸餾框架都是針對封閉集分類問題而引入的,即使用預定義的類進行對象分類或語義分割。在假定類的數量固定(且數量很少)的情況下,可以有效地采用傳統的度量方法進行蒸餾過程。例如,L2距離可以用來測量S和T之間的相似度。然而,由於S的容量是有限的,將這個約束作為每個Fis的正則化(即強制Fis和Fit精確匹配)可能會導致過度正則化的問題。因此,這個約束變得過於困難,使得S的學習過程更加困難。另一種度量方法是采用教師T預測的類概率作為學生S[7]的軟目標分布。但是,只有在訓練和測試階段都固定了對象類時,這個度量才有效。否則,將嵌入的特征轉換為類概率的知識在測試階段就不能被重用,因此,提取的知識也會被部分忽略。

在開放集問題中,由於類不是預先定義的,所以每個類的樣本分布和類之間的邊界成為更有價值的知識。換句話說,對於開放集問題,樣本間的角度差異和樣本在教師超球面上的分布方式對學生更有利。因此,我們建議使用角度信息作為主要的知識進行提取。通過這種方式,我們可以放松約束,使學生提取的嵌入特征只需要與教師提取的方向相似,而不是強制學生遵循教師的精確輸出(如L2距離)。一般來說,有了“更柔和”的蒸餾約束,學生能夠自適應地解釋老師的信息,並更有效地學習求解過程。

Softmax Loss Revisit.  Softmax損失是分類問題中應用最廣泛的損失之一,每個輸入圖像的softmax損失可表示為:

其中y為輸入圖像的正確類的索引,C為類的數量。注意,為了簡單起見,bias項固定為0。通過對特征Fns和權重Wc采用L2歸一化,它們之間的角度成為唯一的分類標准。若將每個權向量Wc視為c類的代表,則將損失最小化意味着需要每個類的樣本以最小的角度差分布在該類表征的周圍。在測試過程中也是如此,從輸入圖像中提取特征的方向夾角以及每個類的表征(即帶有預定義的類的分類問題)或其他樣品的提取特征(即驗證問題)用於決定是否屬於同一類。在這方面,特征Fns的大小比方向更重要。因此,在蒸餾過程中,不需要同時考慮Fnt的大小和方向,只要知道方向就足夠了,這樣學生就可以得到類似於教師超球面的分布。此外,還可以有效地重用這些知識來比較目標類,而不是訓練中的目標類的樣本。

 

Feature Direction as Distilled Knowledge. 我們建議使用教師特征Fnt的方向作為提取的知識,定義一個角度蒸餾損失如下:

通過這種形式的蒸餾,需要在T和S之間傳遞的唯一知識就是嵌入特征的方向。也就是說,只要Fns和Fnt方向相似,這些特征就可以自由分布潛在空間中有着不同半徑的超球體上。這就為S在學習過程中解釋老師的知識提供了一定程度的自由。將這個蒸餾損失合並到等式3,目標函數為:

第一項對應傳統的分類損失,而第二項則引導學生向教師的超球體學習。請注意,這個目標函數並不局限於特定的分類損失。這種蒸餾損失可以作為對任何其他損失函數的支持。

The Transformation Functions.為了防止在蒸餾過程中丟失信息,我們為T選擇恆等變換函數為:,其中作為一個映射函數,實現:,即將Fns的維度增長到匹配Fnt的維度。比如,如果是從一個深度神經網絡中提取的特征映射,那么可以定義為一個1*1的卷積層用來將轉換Fns,其中是Fnt的維度。通過這種方式,在特征轉換中就不會有信息丟失了,因此S能夠利用來自T的所有知識

 

Geometric Interpretation. 考慮二分類,其中只有兩個類,代表W1和W2。如前一節所示,當嵌入特性和表征都是標准化的時,分類的結果完全取決於它們之間的角度,即θ1和θ2。在訓練階段,softmax損失LSM需要得到θ12的結果去將輸入分類為類1,反之亦然。如圖1所示,能力越大,教師在兩個類之間提供更好的決策邊界,而自學的學生(即僅使用softmax損失函數)只能提供較小的決策邊界。當Ln(S, T)損失被納入時(即被引導學生),類1和類2之間的分類邊界通過跟隨其教師的特征方向進一步增強,並產生更好的決策邊界。此外,我們可以很容易地看到,即使學生不能像老師一樣生成精確的特征,也可以很容易地模仿老師的特征方向,並從老師的超球面中獲益。

 

3.2 Intermediate Distilled Knowledge

在這一節中,我們進一步將教師的知識提煉為學生的中間成分。一般來說,如果S的輸入被解釋為問題,其嵌入特征的分布就是答案,那么在中間階段,即Fis,生成的特征可以被看作是學生網絡對解決過程的中間理解或解釋。然后,為了幫助學生有效地“理解”解決方案的發展過程,教師應該向學生說明“好的特性是什么樣的”以及“學生當前的特性是否足夠好,以便在以后的步驟中得到解決方案”。然后,老師可以監督和有效地糾正學生從一開始,從而領導學生網絡生成更有效的學習過程。

類似於前一節,而不是采用L2范數作為每一對{Fis,Fit}的成本函數,我們提出使用來自Fis和Fit,且在最后階段使用同一個老師網絡的解釋生成的嵌入的角度差來驗證Fis的質量。特別的是,每個中間特征Fis的蒸餾損失可表示為:

對每個中間特征Fis的這種蒸餾損失背后的直覺是驗證Fis是否包含足夠有用的信息,以便在后面的步驟中像它的老師一樣做出類似的決策。為了驗證這一點,我們建議利用教師的能力來解決給定學生在第i階段的輸入,即Fis,的解決方案。如果教師仍然可以使用該輸入得到類似的解決方案,那么學生的理解直到該階段是可以接受的。否則,學生將被要求立即重新更正。因此,在給定中間特征Fis的情況下,His首先對其進行變換以匹配教師特征擬合的維數。

Fis和Fit都會被教師T分析,即,用於最后的嵌入特征。最后,它們在超球體中的相似度則用來驗證Fis所嵌入的知識是否足夠

 

如該圖可見,其實這個過程就是將相同的輸入分別輸到教室網絡T和學生網絡S中,T直接得到最后的嵌入特征;而學生網絡S先得到自己的Fis結果,然后通過函數His進行維度轉換,使其與Fit的維度相同,這樣His(Fis)他就能作為教師網絡后半部分的輸入,然后再得到一個嵌入特征,如果這個特征和教師網絡T直接得到的嵌入特征相似,就說明學生學得不錯。

 

3.3 Shrinking Teacher-Student Network for Face Recognition

圖2和圖3說明了我們提出的ShrinkTeaNet框架,該框架用於提取最終和中間特性的知識:

教師和學生都使用了帶有四個resnet塊的resnet樣式的卷積神經網絡(CNN)。整個網絡可以看作是映射函數,即T和S,而每個resnet塊對應於每個子函數,即Ti和Si。然后我們通過提取所有四個模塊的知識來學習強大而有效的學生網絡。給定數據集為包含了N個人臉圖像Ij以及他們對影的標簽信息yi。因此包含了等式5和等式6的最終學習目標函數為:

其中λi表示用來控制在不同resnet塊中被轉移的蒸餾知識的平衡的超參數。此外,如前一節所述,所有函數Git均采用恆等變換函數,Gis采用帶有batch歸一化層的1×1卷積來匹配相應教師特征的維數。

 

4 Experimental results

4.1 Databases

MS-Celeb-1M[43]包含10萬名受試者的1000萬張照片。然而,該數據集的很大一部分包括有噪聲的圖像或不正確的ID標簽。這個數據集[42]的清理版本提供了來自85K個人的5.8M張照片。
Labeled Faces in the Wild (LFW) [44] 有5749名受試者的13233張自然環境下的人臉圖像。他們被分成有着3000對正配對的6000對配對。
MegaFace[45]提供了一個非常具有挑戰性的測試協議,它具有百萬級的干擾。圖片庫包含了690K名受試者超過100萬張的照片,而測試圖片庫包含了530個身份的100K張照片。
Celebrities Frontal-Profile [46]發布用於驗證模型的正面頭像模式和側面頭像模式。它由500名受試者的7000對配對組成

AgeDB[47]提供了一個包含4個測試年齡組的協議,每個年齡組由440名受試者的600對配對的10組分割組成。除了年齡因素外,其他面部變化(如姿勢、光照、表情)也包括在內。
IJB-B[48]和IJB-C[49]作為兩種大規模的人臉驗證協議。IJC-B提供了有着10270個正匹配和8M個負匹配的12115個模板,其擴展IJB-C又提供了有着19557個正匹配和15639K個負匹配對的23124個模板。

 

4.2 Implementation Details

Data Preprocessing.  首先使用MTCNN[50]檢測所有的人臉,並使用相似變換對齊到一個預定義的模板。然后裁剪成112×112的大小。
Network Architectures. 在所有的實驗中,我們使用Resnet-90結構的[4]作為教師網絡,而使用不同的輕量級網絡,如MobileNetV1[32]、MobileNetV2[33]、MobileFaceNet[34]。學生網絡亦采用經修訂的MobileFacenet,即MobileFacenet-R。這個修改版本與MobileFacenet相似,不同之處在於每個resnet塊的特征大小等於其在教師網絡中對應特征的大小。
Model Configurations.  在訓練階段,batchsize設置為512。學習率從0.1開始,momentum是0.9。所有模型均在MXNET環境下進行訓練,機器為有着4個P6000 GPUs的Core i7-6850K @3.6GHz CPU, 64.00 GB RAM,。根據經驗,在使用角蒸餾損失的情況下將λn設置為1;在使用L2損失的情況下,因為大的特征映射有着大的損失值,將該值設置為0.001。對於中間層,λi = λi+1/2。

 

4.3 Evaluation Results

Small-scale Protocols. 我們驗證了我們的ShrinkTeaNet框架的效率,它有4個輕量級的骨架,適用於小規模的協議。訓練在MS-Celeb-1M的Resnet-90網絡充當教師網絡。然后,對每個輕量backbone,考慮三種情況:(1)在沒有老師幫助的情況下進行訓練的自學的學生網絡;(2)使用等式7的目標函數進行訓練的Student-1,其中蒸餾損失采用的是L2函數;(3)以及使用角度蒸餾損失的ShrinkTeaNet。表2說明了教師網絡及其學生的表現:

由於輕量backbone的能力有限,在所有四種情況下,自學網絡與他們的老師網絡在LFW、CFP-FP和AgeDB上的性能差異分別為0.2%-0.4%、3.02%-5.16%和1.47%-3.09%。雖然使用L2 loss的被導學生可以略微提高准確性,但在CFP-FP基准中,MobileNetV1、MobileNetV2、MobileFacenet的准確性都有所降低。此外,我們也注意到L2損失的訓練過程是不穩定的。同時,我們提出的ShrinkTeaNet能有效地將教師網絡的知識提取給學生,在LFW、CFP-FP和AgeDB三個基准上,最大的性能差距分別降低到0.05%、1.83%和0.74%。與其他人臉識別方法的LFW比較如表3所示:

從這些結果來看,即使使用輕量級骨干,ShrinkTeaNet也可以獲得與其他大規模網絡競爭的性能。

Megaface Protocol.  我們采用類似於小規模協議的訓練過程,並在具有挑戰性的Megaface基准上評估我們的ShrinkTeaNet,以應對數百萬干擾物。表4給出了我們的ShrinkTeaNet與其他模型的Rank-1識別率的比較:

這些結果再次顯示了我們的ShrinkTeaNet的優勢,為四個輕量級學生網絡提供了一致的改進。MV1、MV2、MFN和MFNR的性能分別提高了2.23%、3.64%、2.57%和1.9%。此外,ShrinkTeaNet-MFNR與其他大規模網絡的競爭精度達到95.64%,與ArcFace[42]的差距縮小到只有1.71%。


IJB-B and IJB-C Protocols. 表5還說明了與最近在IJB-B和IJB-C基准上的其他方法的比較:

與Megaface協議類似,ShrinkTeaNet能夠顯著提高輕量級backbones的性能,並將其與大型backbones的性能差距縮小到IJB-B上的0.019和IJB-C上的0.016。這些結果進一步強調了提出的用於模型蒸餾的ShrinkTeaNet框架的優點。

 

Conclusions. 該論文提出了一種新的面向開放集人臉識別的老師-學生學習范式——ShrinkTeaNet。通過將提出的角蒸餾損失與特征嵌入過程各階段的蒸餾相結合,學生網絡可以輕松有效地吸收教師的超球面知識。這些學習到的知識可以靈活運用,即使是在測試類與訓練類不同的情況下。小規模和大規模協議的評估都顯示了所提出的ShrinkTeaNet框架的優點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM