【論文導讀】用一副眼鏡欺騙人臉識別系統
1、Introduction
今天要向大家介紹一篇最近讀到的很有意思的文章——《Accessorize to a Crime: Real and Stealthy Attacks on State-of-the-Art Face Recognition》,是CMU的的幾個人做的,主要想法是用優化的方法對人臉識別系統進行惡意攻擊,原文鏈接在此。
本文主要討論對人臉識別系統的攻擊,這裡所說的攻擊必須符合兩個標準:Inconspicuousness and Physical Realizability。前者是說實施的攻擊不能引起他人的懷疑,也就是說在場的其他人不能注意到你在攻擊這個人臉識別系統。像電影中搶劫銀行的劫匪那樣,就不在我們討論的範圍內。如果一種攻擊的方法Inconspicuous,那麼即使日後被指控,也有充足的理由否認攻擊行為從而洗脫罪名。後者說的是這種攻擊的方法在物理上是易於實現的,由於我們一般來說不能干涉系統輸入圖像的像素層面,故只能在自己的外觀上下功夫,也就是說,攻擊人臉識別系統這件事兒主要還是「看臉」。
文中討論的攻擊目的分為兩類:Impersonation and Dodging。 Impersonation指的是讓人臉識別系統誤把攻擊者識別成特定的某個人 ,而Dodging指的是識別成任何其他人,只要不識別成攻擊者本人即可。此外,根據攻擊者對系統的了解程度,還可以分為白箱(White-box)模型和黑箱模型(Black-box) ,這從字面上意思理解即可,白箱指的是攻擊者對人臉識別系統內部參數、演算法了如指掌,而黑箱模型恰恰相反。一般來說,攻擊者對系統的了解很難達到白箱模型這樣的程度,但是作者指出,利用粒子群優化演算法(PSO),可以像攻擊白箱模型一樣去攻擊黑箱模型。不過,這篇導讀僅僅涉及白箱模型部分。
2、Formulation
作者解決這一問題的巧妙之處就在於將其轉化為數學表達式的方法。在分類任務中,我們時常用softmax loss 去衡量準確率。假設輸入屬於類別,輸出的概率向量為,則有
式中,叫做one-hot vector,數學上也經常叫作示性向量(Indicator),它只在第個位置取1,其餘取0 。這個loss越大,說明分類的準確率越低,越小則說明分類的準確度高。具體為何softmax具有這樣的形式,可以有好幾種觀點來看,但都不在本文的討論範圍之內( 欲知詳情者,請參考周志華《機器學習》)。
從這一觀點出發,所謂的Impersonation問題,可以用softmax loss去數學化。假設攻擊者希望人臉識別系統將其識別為,是攻擊者進行的「攻擊」,則有如下優化問題:
類似地,Dodging問題可以轉化為:
有了如上的優化問題,要如何去求解呢?作者在文章中提出可以用梯度下降法。雖然梯度下降法時常找到局部極值,但是往往這個極值在實際應用中也足夠了。注意,這裡之所以可以用梯度下降法,是因為我們考慮的是白箱模型,即知道演算法細節和參數。黑箱模型時此處應有變化。
3、Physical Realizability
如果僅僅求解如上優化問題,得到的結果並不能令人滿意,因為本文要討論的是Physical Realizable的攻擊方法。通過如上優化問題求解出來的,如果真的要實現的話需要對系統輸入進行像素層面的操作(如下圖),這顯然是不可行的。因此,還需要加入別的約束項。
首先,作者提出應當將攻擊限定在一副眼鏡的範圍內,這既是可操作的,在攻擊時也不容易引起他人的懷疑。這樣,求解優化問題得到的攻擊事實上就是眼睛框架上的紋理,這種簡單的紋理通過彩色印表機即可生成,因此確實是易於實現的。作者採用的眼鏡模型在224*224的輸入圖像中大約能佔到6.5%的像素點,也就是說在求解優化問題時,必須將的範圍限定在這些像素點內。眼鏡模型如下:
除此之外,找到的攻擊模式應當與具體照片的選擇無關。在上述優化問題中,攻擊者的照片僅僅出現一次,表示他的一張特定的照片。但是實際去攻擊的時候,並不能保證人臉識別系統的輸入是攻擊者的哪張照片,所以得到的攻擊模式必須要用泛化能力。假設攻擊者有一堆照片,優化問題可以改進為
為了更好地實現Inconspicuousness,生成的攻擊模式應該具有較好的平滑性,也就是說眼鏡框架上的紋理不能太雜亂無章,否則就會引起他人的懷疑,也不容易被相機精準地捕捉到。這裡的約束是圖像處理中常見的全變差約束:
最後,作者為了貫徹落實Physical Realizability這一方針,還考慮了列印誤差。彩色印表機能輸出的色彩是很有限的,得到的攻擊模式可能包含很多印表機打不出來的色彩,這就很尷尬。因此,作者定義了一個數值NPS(non-printability score)來衡量這一誤差,具體的定義為
式中表示所有印表機能打出來的顏色,表示要列印的顏色。
綜合上述所有考慮,最終得到的優化問題就是
4、Results
Dodging:文章的兩位作者戴上如上述方法生成的眼鏡之後,人臉識別系統就認不出啦
Impersonation:下圖中上面一行是三位作者,下面一行表示他們想要讓人臉識別系統識別成的特定對象,這三次攻擊全都成功了。
什麼,你說看圖不能讓你信服?那我們來看錶格吧!推薦閱讀:
※[行為檢測] CDC-Convolutional-De-Convolutional Networks for Precise Temporal Action Localization
※最好用的 AI 開源數據集(涵蓋計算機視覺、NLP、語音等 6 大類)
※Batch normalization和Instance normalization的對比?
※有哪些好看的CNN模型畫法?
※如何比較PixelCNN與DCGAN兩種Image generation方法?