度量學習
基于深度學習的人臉識別算法,如何讓神經網絡從訓練數據中學習到有效、魯棒的生物特征是至關重要的。在這個過程中,一個良好的學習向導是不可或缺的。因此,在模型訓練的過程中,通常使用度量學習的方式,將人物面部特征間的距離,作為神經網絡特征學習的向導,來實現區分不同人物的目的。
為了讓神經網絡能夠更加有效的學習,合理的設計損失函數來度量和映射人物特征之間的距離,成為了提高人臉識別精度的主要研究方向之一。許多在分類任務中常用的損失函數,如Softmax Loss,在經過一系列的改進之后,更好的適應了人臉識別的任務。像Arcface這樣的損失函數(下圖),利用了一種附加角度對cos值進行加法約束,使得模型能夠在學習過程中合理的壓縮相同人物特征間的余弦距離的同時增大不同人物特征間的余弦距離,以此達到精準區分人物的目的。
圖示展示在利用損失函數arcface訓練一個深度卷積神經網絡過程中的計算流程。其中的改進在于,給角度加入了加性間隔m作為懲罰項來減小類間間距,并對其余弦值加入放縮s進行放縮,讓網絡變得易于訓練。
另一些損失函數,如Triplet Loss(下圖),則是通過以特定規則從訓練集中選擇樣例,提取特征,比較這些特征之間的距離,來達到聚類相同人物特征和離散不同人物特征的目的。可以看到,這種方法因為要逐次比對選擇樣例特征之間的距離并基于此來優化模型參數,所以會延長模型訓練的周期。但對于解決一些特殊場景下的困難樣例,會有較好的效果。
圖示為最初版本的Triplet Loss原理示意圖。訓練過程中需要從訓練集中選擇一個Anchor樣本以及與Anchor樣本同類的Positive樣本和與Anchor樣本異類的Negative樣本,在訓練過程中不斷的拉近同類樣本的距離并遠離異類樣本。
選擇不同的損失函數,會對模型進行識別任務時選用的距離公式(相似度計算方法)產生影響。例如,Triplet Loss在早期優化的是歐氏距離,所以在后期進行特征比對時,利用歐式距離來計算特征之間相似度就是更加自然的。此外,通過對這些損失函數進行變形,來統一各損失函數的優化距離,從而使不同的損失函數能夠運用在訓練模型的不同階段,或將不同損失函數對不同的樣例分配進行結合,從而達到更高效的訓練效率,也是目前的工作方向之一。
網絡結構
根據使用場景和計算設備的不同,通常需要選擇不同規模的神經網絡結構。隨著人臉識別在移動端的普及以及識別規模的增大,選用計算量更小、更高效的網絡結構成為了重要的研究方向。
標準的卷積神經網絡結構,以VGG16為例,通常由卷積層,池化層,全連接層和激活函數組成。該網絡通過反復堆疊3*3的小型卷積核和2*2的最大池化層,不斷加深網絡結構來提升性能。
但隨著網絡結構的進一步加深,網絡參數會隨之增多,運算開銷會變得很大,增加運算成本。同時,網絡結構的加深也會讓網絡發生退化現象,以至于在進一步訓練時無法達到預期的精度。
為解決這些問題,設計出參數少,深度深,運算快,易于訓練的輕量級網絡網絡,各種卷積結構和模塊被逐步引入到了卷積神經網絡的基礎構架中。
殘差模塊:為解決加深網絡后的網絡退化問題,使深度網絡變得可訓練而提出的結構(見下圖)。這種跳躍連接的結構讓網絡有能力在需要的時候擬合一個潛在的恒等映射函數,從而避免了在極深網絡中出現的難以訓練的問題。
分組卷積:在標準的卷積操作中,其參數量與輸入特征圖通道數,卷積核尺寸和輸出特征圖通道數有關。如圖,若輸入特征圖尺寸為H*W*c1,卷積核尺寸為h1*w1*c1,輸出特征圖尺寸為H*W*c2,標準卷幾層的參數量則為:h1*w1*c1*c2。
若使用分組卷積(見下圖),事先將輸入的特征圖按照通道數分為g組,分組卷積的參數量為則會變成標準卷積參數量的1/g:h1*w1*c1*c2/g。
分組卷積能夠在一定程度上降低卷積的參數量,但也會減弱各通道之間的相關性。
深度可分離卷積:深度可分離卷積操作是將普通卷積拆解成深度卷積和逐點卷積。深度卷積負責濾波,逐點卷積負責轉換通道。
如圖(a),對于標準卷積,其參數量為Dk*Dk*M*N。如圖(b),對于深度卷積,其參數量為:Dk*Dk*1*M。 如圖(c),對于逐點卷積,其參數量為:1*1*M*N。將兩項操作合并,可知深度可分離卷積參數量 是標準卷積的:(1/N)+(1/Dk**2)。
棄用池化層:池化層分為平均池化和最大池化,通過制定規則對池化核覆蓋范圍內的像素進行運算,達到學習圖像邊緣及紋理結構,同時壓縮特征圖的效果。但池化層常常會導致較多的信息損失,因此,通常使用控制卷積核在特征圖上的滑動步長(如設定stride=2),來達到壓縮特征圖,提取圖像特征的目的。
減少全連接層:因為全連接層需要將每個神經元節點與其前后層的神經元分別連接,其通常會占據卷積神經網絡的大部分參數。為了減少模型的參數,會盡量減少全連接層的使用,通常利用全劇平均池化或大尺寸卷積核取代全連接層,來融合學到的特征。
同時,為了讓模型能夠更好的提取人物面部的特征,專門的人臉識別網絡在這些方面進行了優化,例如mobilefacenet在卷積網絡的尾部加入7*7卷積核壓縮特征圖,直接將特征圖轉化成相應維度的面部特征并送入全連接層這樣的操作。對于一些特殊場景下的識別任務,則會根據需求,定制出相應的結構模塊。例如,在面對面部遮擋的任務中,融入空間注意力機制,實現事先為特征熱力圖的空間分布的加權,就變得相對重要。
編輯:lyn
-
神經網絡
+關注
關注
42文章
4771瀏覽量
100772 -
網絡結構
+關注
關注
0文章
48瀏覽量
11091 -
深度學習
+關注
關注
73文章
5503瀏覽量
121170
發布評論請先 登錄
相關推薦
評論