近日,一個來自麻省理工學院(MIT)的團隊公開了他們的研究成果。該文章指出,對抗樣本(Adversarial Sample)導致圖像識別(Image Classification)失效的現象,或許只是人類的一種「自以為是」。識別模型捕捉的,其實是那些不能被人眼察覺的「非穩健特徵」(Non-robust Feature)。如果只是基於這些圖元層面的特徵,模型對對抗樣本的識別就不能被認為是失敗的。
幾乎所有圖像識別演算法都存在一個弱點——對抗樣本問題。對抗樣本是指在一張自然圖片中,對少部分圖元點的數值進行修改,即使修改不足以被人眼察覺,但識別演算法卻做出完全錯誤的判斷,比如把小狗識別成鴕鳥。這可能成為致命的安全性漏洞,比如讓自動駕駛的汽車偏離車道,或者讓監控探頭無法發現罪犯的身影。(給 T恤印上一個圖案,就能在監控下實現」隱身」?)
目前許多研究機構(如谷歌公司、麻省理工學院和騰訊科恩實驗室)都在嘗試解決對抗樣本問題。其中主要的難題存在於三個方面,首先是視覺世界的複雜性,比如一張圖片中通常存在上百萬個圖元點。其次,我們並沒有徹底地理解卷積神經網路模型(CNN)實現圖像識別的機制。此外,科學家不知道識別模型失效的原因是訓練方式的問題還是訓練資料量不夠大?
麻省理工學院的科研團隊發現,目前常用的識別模型其實是通過關注圖片中,人眼無法察覺的細節來實現圖像識別。就如同人類會對比耳朵的不同,而將狗和貓的照片區分出來一樣。但是AI模型卻是在圖元的層面進行區分。
論文的第一作者,麻省理工學院在讀博士生Andrew Ilyas說道:「對於那些圖元層面的特徵,它們最大的特點就是不會被人眼察覺。」
想要弄明白AI到底是依據什麼特徵來識別圖像並不容易。Andrew Ilyas等人首先定義了一整套理論框架。他們把圖片中的特徵分成兩類:「穩健特徵」(Robust Features),指即使做了圖元層面的修改也不會影響識別結果的特徵(如耳朵、鬍鬚),和「非穩健特徵」(Non-robust Features),即會被圖元修改而影響的特徵(通常無法被人類識別)。
其次,他們又定義了兩種訓練模型的方法,「標準訓練」(Standard Training)和「穩健訓練」(Robust Training)。穩健訓練的損失方程額外考慮了對抗樣本的存在,使得模型在訓練中可以強化對穩健特徵識別。
他們假設穩健特徵和非穩健特徵同時存在。並且使用和生成對抗網路(GAN)相似的方法,將原始的訓練資料集(D)中的圖片進行重新加工,生成了兩個新的資料集:將非穩健特徵洗刷掉、只含穩健特徵的D_R,和在人類看來錯誤標注、但非穩健特徵符合其標注的D_NR。
研究人員指出,由於只有穩健特徵,D_R所含的信息量少於原始資料D。實驗發現,再以D_R為基礎,以標準訓練的方法得到的識別模型,同樣可以抵禦對抗樣本。以此證明圖元層面的修改(人眼無法分辨),並不影響圖片中的穩健特徵。
另一方面,研究人員對訓練資料(D)進行圖元層面的修改,並且不斷優化,讓標準模型盡可能地把圖片識別成另一個類型。比如,穩健特徵(人眼觀察)是「狗」,而非穩健特徵和標注(模型認為)則是「貓」。
研究人員將經過修改的圖片集計作D_NR,並找來一張訓練資料之外的自然中「貓」圖片進行測試。識別器成功把這張外來的圖片也識別成了「貓」。說明這張自然的「貓」,和D_NR中的「貓」具有可以被模型識別的相同屬性,而這個屬性就是我們看不到的「非穩健特徵」。
通過實驗,Andrew Ilyas和他的團隊確定:穩健特徵和非穩健特徵都存在於圖片之中,並且一般的識別模型只會通過非穩健特徵進行圖像識別,而非穩健特徵不能被人眼察覺。所以,對抗樣本本身並不是圖像識別的漏洞,只是另外一種無法被我們看到的特徵而已。
「這並不是模型本身有什麼問題,只是那些真正決定識別結果的東西並不能被看到。」該論文第二作者、麻省理工學院在讀博士生Shibane Santurkar補充道:「如果我們只知道演算法的決策取決於一些我們看不見的東西,那我們又怎麼能理所當然地以為它做的決定就是正確的?」如果一個人需要在法庭上證明監控視頻中的人不是自己就會非常麻煩,因為我們不知道監控識別的錯誤結果是怎麼得來的。
科學家始終需要面對一個抉擇,模型究竟是應該做出「準確」的決定,還是應該做出「人類」的決定?如果模型只是識別穩健特徵,它或許就不會那麼準確。然而如果決策機制偏向不能被看到的非穩健特徵,那麼對抗樣本就會成為潛在的漏洞。如今,圖像識別技術已廣泛應用在日常生活中,我們需要在這兩個選擇之間找到某種平衡。