人們常說“夏蟲不可語冰”。如果將這句話視為機器學習任務,可以這樣理解:夏天生死的蟲子只見過液態的水,但從未見過冰。故而你即便拿給它一張冰的照片,它也認不出來這是另一種形態的水。而本文要解決的,就是通過遷移學習,讓夏天的蟲子也能認出“冰實際就是水?!?/p>
摘要
身份認證旨在確認樣本和人的身份之間的從屬關系。典型的身份認證包含人臉識別(face recognition)、行人重識別(personre-identification),基于移動設備的身份驗證。
近年來數據驅動的身份認證過程可能是有偏的,即,模型經常只在一個領域里訓練(例如對于穿著春裝的人),而可能需要在另一個領域里測試(例如這些人換上了夏裝)。
為了解決這個問題,我們提出了一個新穎的兩階段的方法來從領域差異里解耦出類別/身份的特征表示,且我們考慮多種類型的領域差異。在第一階段中,我們采用一個一對多的解耦學習(one-versus-rest disentangle learning , OVRDL)機制來學習解耦的特征表示。
在第二階段中,我們提出一個加性對抗學習(additive adversarial learning, AAL)機制來進一步提升解耦性能。并且我們討論了如何避免由于解耦有因果關系的領域差異而陷入學習困境。實驗結果充分證明了我們方法的有效性和優越性。
相關代碼即將公布,請關注:https://github.com/langlrsw/AAL-unbiased-authentication。
研究目的:數據驅動的身份驗證中的數據偏差問題
身份認證考慮學習與驗證數據樣本與人的身份之間的匹配關系。近年來,身份驗證技術取得了巨大進展,包括指紋驗證、人臉驗證、聲紋/虹膜驗證、行人重識別等。然而,數據驅動的身份認證過程經常會面臨數據中的偏差,例如領域差異,即一個模型在一個領域中訓練卻在另一個領域中進行驗證。例如在行人重識別領域中,當季節導致人們穿衣變化時或者人與攝像機的相對角度發生變化時,驗證都可能受到影響。
特別地,隨著智能終端的不斷普及,基于智能終端的身份驗證技術也飛速發展。而上述情況在基于智能終端的身份驗證上也會發生。比如,某個具體用戶(由一個虛擬賬號關聯)的設備類型(由硬件特性或軟件編碼決定)可能會每一年變化一次,但是用來訓練身份驗證模型的數據可能每月采集一次。那么當用戶對應的設備類型改變時,如果我們依然用舊的設備類型上訓練的模型來進行身份認證,就可能輸出錯誤的認證結果。
面臨上述的訓練和測試數據之間的領域差異的問題,簡單地應用數據驅動的模型可能導致模型聚焦于每個領域的偏差,即便訓練數據是充足的。為了避免該問題,本文研究了無偏身份驗證的學習任務。
簡單起見,我們把身份認證視為一個識別問題,即每個身份對應于一個類。我們考慮多種類型的領域差異,每種領域差異有多種領域。例如,對于行人重識別而言,季節和拍攝角度是兩種類型的領域差異,其中季節包括四種不同的領域:春、夏、秋、冬,而拍攝角度包含的領域可以有:正面、側面、背面等。
表1 問題假設的范例
為了更好地理解我們的問題,我們展示了一個簡單的例子,其中只有一種類型的領域差異,見表 1。在訓練階段,對于每個類別組,我們只有它們一個領域上的數據。換言之,不同的領域不會共享類別。在測試階段,我們需要識別的數據對應于訓練階段沒有見過的<類別,領域>的組合。
在數學上,該問題與領域自適應相關,但是二者也有顯著區別:
其一,領域自適應允許源域和目標域共享類別;其二,領域自適應不提供目標域的標簽。領域自適應在遷移學習領域中已經被廣泛研究。而我們的問題可以被轉化為一個領域自適應問題,如果測試領域的數據允許用于訓練,且不提供對應的標簽的話。因此,我們把該問題稱之為一個廣義的跨領域識別(generalized cross-domain recognition, GCDR)問題。類似的問題在面向公平的機器學習(fairness-oriented machine learning, FML)領域中被研究過。該領域考慮的偏差主要來自于人口統計學群體的差別,例如膚色、性別等。在這種設定下,FML方法通常也是應用遷移學習方法來進行解決。
在本文中,我們同樣考慮應用遷移學習方法來學習無偏的表示。具體地,我們假設領域的差別對于數據的影響是未知的,且我們考慮應用對稱、同質的遷移學習方法,即,對所有域學出一個共同的特征空間,且假設所有域的原始特征空間都相同或者至少維數相同。
圖 1 解耦學習方法詳細網絡架構圖
在本文中,我們提出了一個新穎的識別方法來學習解耦的特征表示,用于解決領域差異,最終實現無偏的識別。如表1中所示,對于一個具體的類別組,類別是不同的,但是領域是相同的。所以,學習一個無偏的模型來進行類別識別是可能的。對于一個數據樣本,其類別標簽和領域標簽都被視為其屬性。我們的模型就是通過解耦這些屬性來學習無偏的表示。我們方法的詳細架構見圖 1,其包含兩個階段。
在第一個階段中,我們提出一對多的解耦學習(one-versus-restdisentangle learning , OVRDL)機制來將每個樣本映射到多個隱層空間。在每個隱層空間里,我們將一個屬性與其他屬性解耦。在第二階段中,由于訓練數據中僅見過有限的屬性值的組合,我們采用了一種數據增廣的方法來隨機組合屬性標簽,以及拼接其對應的隱層特征向量來作為一個新的數據樣本。
基于隨機拼接的特征,我們提出一個加性對抗學習(additive adversarial learning, AAL)機制來進一步提升階段1的解耦性能。
簡單來講,我們通過最小化負面的副作用來消除偏差。我們將討論擴展到如何避免由于解耦有因果關系的屬性而陷入學習困境。在基準數據集和真實數據集上的實驗證明了我們方法的有效性和優越性。我們同時進行了消融實驗來展示我們框架的每一種成分的貢獻。
接下來,我們將具體介紹本文提出的方法的每一個具體技術和思路。
第一步: 更直接地解耦:揚湯止沸,不如釜底抽薪。
通過多任務學習,可以將多屬性解耦學習的框架簡單地以圖 2的形式來構建。其中不同任務對應的特征變換網絡的輸出特征是假設相互獨立的。
圖 2:“假設獨立”的學習框架。G網絡均為特征變換網絡。身份識別、是否有胡子、是否戴眼鏡為三個屬性,分別建模為三個任務進行學習。不同G網絡輸出的特征假設相互獨立。
但是這種假設只是假設,三個網絡輸出的特征的獨立性是無法保證的。
本文中我們提出通過對抗學習來進行直接解耦,直接逼近“獨立”的假設目標。如圖 3所示。
假設屬性數量圖中,D網絡分為兩類:對于
(1)所有的是用于學習第i個屬性的特征,所有的
(2)所有的Dii的學習是用標準的監督學習,
對于,一個簡單的對抗學習流程可以視為如下兩個交替進行的步驟:
步驟1:固定所有,優化來使得輸出逼近與之對應的獨熱編碼的標簽;
步驟2:固定所有
該對抗學習的最終目標是使得所有可以提取與之對應的第i個屬性的特征,而不能提取與之對應的其他屬性的特征。如此,第i個屬性就可以和其他屬性解耦。
圖 3 “直接解耦實現獨立”的學習框架。其中綠色的D網絡通過對抗學習實現與藍色D網絡目標的解耦,最終實現多個任務的相互獨立。
這一步驟中,我們的思路簡單可以概括為:假設獨立,不如直接解耦令之獨立。正如:揚湯止沸,不如釜底抽薪。
第二步:數據增廣。張冠李戴,屬性隨機組合。
由于訓練集中不同屬性的組合類型比較有限,我們將不同屬性對應的隱層特征隨機組合。該機制模仿了人類通過想象未見過的屬性組合來進行解耦學習的行為。
如圖4所示,假設我們只見過棕色的馬和白色的兔子,那么我們隨機組合馬和白色,組合出白色的馬,模仿人想象沒見過的白色的馬。
圖 4 屬性隨機組合示例
不過,這一步驟本身并不進行解耦學習,只是為之后我們提出的加性對抗解耦學習做準備。其他遷移學習方法也有隨機生成,不過是在數據原空間生成,可能會引入新的誤差。而我們的方法相當于在隱層空間生成新樣本,引入的誤差較少。
第三步,深入解耦,加性對抗學習。
知白馬是馬而更識白,知白馬是白而更識馬。
這一步驟的思路是這樣的:當認識到白馬也是馬,就會知道“白”這個概念中并沒有“不是馬”的概念,從而能更好地認知“白”這個概念。反過來說,當認識到白馬也是白色的,就會知道“馬”這個概念中,并沒有“不是白色”的概念,從而能更好地認知“馬”這個概念。
圖 5 加性對抗網絡的優化機制。紅色的曲線箭頭表示loss進行BP回傳的方向。對于左右兩張圖,最左邊的3個隱層特性向量都是由上一步的隨機組合得到的。
加性對抗網絡的優化機制如圖 5所示。假設前兩個屬性分別為:物體類別和顏色類別。加性對抗網絡的前兩條支路依次對應于這兩個屬性的學習。這里的第一路作為輸入的隱層向量是代表物體類別的特征向量,第二路作為輸入的隱層向量是代表顏色類別的特征向量。
首先,假設對于見過的屬性組合已經學好了,例如,一匹棕色的馬可以被精確地識別為物體“馬”和顏色“棕”。之后,對于沒見過的屬性組合,一匹棕色的馬和一只白色的兔子,我們要讓網絡輸出物體“馬”和顏色“白”。
在假設見過的組合已經學好的前提下,如果現在輸出的顏色不是“白”,那么我們有理由相信,誤差是來自于網絡第一條支路中的“棕色”的信息。那么我們將第二支路輸出產生的顏色誤差回傳至第一條支路來消除其中的顏色信息。這樣一來,在第一支路中的顏色信息產生的域差異就被消除了。同理,第二路中的物體信息產生的域差異也可以類似地被消除。
這種加性對抗網絡有很好的性質:可以使得經過T網絡學習的s向量空間是加性空間,且對于多個特征向量,每一維的含義都相同。最終導致s向量空間中,所有維度的特征被劃分為若干組,每一組對應于一個屬性。這樣一來就有很好的可解釋性。同時可以進一步利用稀疏方法進行優化。
這一步驟的idea可以概括為:通過組合概念的加性混合交叉學習而消除概念之間的耦合關系。知白馬是馬而更識白,知白馬是白而更識馬。
第四步:拓展討論。避免因果關系造成的學習困境:皮之不存,毛將焉附。
之前的解耦方式是對每一個屬性,都選擇所有其他屬性進行解耦,但這樣可能會將本來有關系的兩個屬性強制解耦,偏離真實情況。最極端的例子是,如果兩個屬性本身完全相同,那么在同一個特征空間里,不可能一個屬性可以識別而另一個無法識別。
故而,直觀上講,我們不應該將相關的屬性解耦。但是,“相關”是一個非常寬泛、不精確的概念。如果但凡有兩個屬性有關系,我們就放棄對它們解耦,又可能會導致解耦不充分,每種屬性還是學不好。
所以,我們考慮一種特殊的相關關系:因果關系。我們在定理2中證明,對于任意的屬性A,如果另一個屬性B是A的因,那么學習識別A的特征且讓該特征無法識別B會有損于對A的識別。這是因為如果該特征與B獨立,那么由于屬性B是A的因,該特征與A的相關也就很有限了。
如圖6所示,以階段1的學習為例。
在圖像上,由于劉海會遮擋眼鏡,故而“是否有劉?!睍绊憽笆欠裼醒坨R”的判斷;但是反過來,“是否有眼鏡”不會影響“是否有劉?!钡呐袛?。故而如果G3輸出的特征無法區分是否有劉海,那么區分是否有眼鏡也很難保證,故而我們學習“是否戴眼鏡”的時候放棄了對于“是否有劉海”的解耦學習。綜上,如果有關于屬性間因果關系的先驗信息的話,我們應該停止某些解耦過程來避免上述的學習困境。
這一步驟中,我們的思路可以簡單概括為:因不可解耦。因為,因不可辨則果亦難辨,正如:皮之不存,毛將焉附。
圖 6 基于因果關系有選擇地解耦學習示例
實驗方法
階段1 對抗學習的優化問題如下:
首先是屬性學習的優化問題:
其中是屬性學習的損失函數,是第j個屬性的權重,是屬性標簽的one-hot向量。
其次是域差異的判別學習:
其中是對抗學習的損失函數,?是(j, j’)屬性對的權重。
第三步是消除域差異:
其中
在第三步中,我們也會同時強化屬性學習:
判別網絡的最后一層的激活函數是softmax,是交叉熵損失,是平均平方誤差損失。上述4個優化問題循環依次進行。其中,每個循環中,前兩個優化問題優化1步,后兩個優化問題優化5步。
在階段2中,對于每個,我們隨機采樣訓練樣本,然后取其第j個屬性向量。采樣得到的第i個樣本的第j個屬性的屬性向量表示為,其中。則對于每個我們將組合為一個新的隱層樣本。對于每個屬性,每個類別值的采樣概率是相同的。我們采用了ABS-Net中剔除低預測概率對應的樣本。
定義如下兩個下標集合:
如圖1所示,在階段2中,隨機組合的屬性向量被m個加性空間轉換網絡
對于訓練中見過的屬性組合的樣本,損失回傳至每個屬性自己對應的網絡,不傳至其他屬性對應的網絡。即對于每個
對于訓練中沒見過的屬性組合的樣本,損失回傳至其他屬性對應的網絡,不傳至自己屬性對應的網絡。即對于每個,我們優化如下的優化問題:
所有識別網絡(R網絡)的最后一層激活函數也是softmax函數。是交叉熵損失函數。
根據我們對于有因果關系的屬性的討論,我們采用一個元素值為{0,1}的矩陣,否則即令。對于階段1,我們可以將乘在上,對于階段2,我們可以刪掉中以j為因的屬性。
實驗結果:多個數據集上性能優于對比方法
數據集方面,我們分別基于C-MNIST的數字識別數據集、CelebA的身份識別數據集、手機傳感器數據的身份識別數據集構造了我們關注的身份類別由于領域差異而分組的數據集。我們主要參考aAUC、(aFAR+aFRR)/2、ACC@1作為衡量指標。
在C-MNIST數據集上,我們比較了多種遷移學習方法的性能。其中除了SE-GZSL方法,我們的方法達到了最優性能。而SE-GZSL在后面兩個真實數據集上表現不佳。
表2 C-MNIST數據集上的性能對比
在CelebA數據集、移動手機數據集上,我們的aAUC和(aFAR+aFRR)/2指標都顯著優于對比方法。
表3 CelebA數據集上性能對比
表4 移動手機數據集上的性能對比
表 5消融實驗結果
此外,我們還提供了充分的消融實驗證明我們方法中每個技術是有效的,見表5。特別地,我們驗證了我們提出的加性對抗學習對階段1網絡有顯著的提升效果,見圖7。
圖 7 加性對抗學習的提升效果。橫軸每個值代表階段1的模型在每個迭代步數時停下來輸出模型給階段2。紅色代表階段1模型的性能,藍色代表經過加性對抗網絡提升后的模型性能。
-
數據集
+關注
關注
4文章
1208瀏覽量
24737 -
解耦
+關注
關注
0文章
40瀏覽量
11908 -
遷移學習
+關注
關注
0文章
74瀏覽量
5570
原文標題:加性對抗學習新模型,消滅身份識別偏差 | CVPR 2019
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論