
作者 | Alex Adam
來源 | 機器之心
很多人都大概了解對抗樣本是什么:在數(shù)據(jù)中加入人眼不可察覺的擾動,使得模型對數(shù)據(jù)的標簽預測發(fā)生混淆和錯誤。但是,這句話背后的技術細節(jié)是什么?怎樣才能確保生成的對抗樣本符合這樣的定義?本文深入解析了對抗樣本背后的數(shù)學定義,并幫助讀者重新理解對抗樣本的定義。
對抗樣本是各種機器學習系統(tǒng)需要克服的一大障礙。對抗樣本的存在表明模型傾向于依賴不可靠的特征來最大化性能,如果特征受到干擾,那么將造成模型誤分類,可能導致災難性的后果。對抗樣本的非正式定義:以人類不可感知的方式對輸入進行修改,使得修改后的輸入能夠被機器學習系統(tǒng)誤分類,盡管原始輸入是被正確分類的。這一修改后的輸入即被稱為對抗樣本。下圖闡明了這一概念:
原始圖像(左圖),對抗噪聲(中圖),擾動后的圖片即對抗樣本(右圖)被錯誤地分類為數(shù)字 2
對抗樣本的正式定義如下所示:
對抗樣本的定義
其中 L 是我們試圖最大化的損失函數(shù),x_orig 是原始圖像,是擾動,y 是真實標簽,所選的ε用于確保擾動后的圖像看上去沒有那么雜亂,并且對于人類來說仍然像是原始類別的圖片。
一些攻擊,如 FGS,IGS 和 PGD 都使用 L-∞范數(shù)來約束擾動圖像和原始圖像之間的距離。在這篇文章中,我們將探討對于 MNIST 數(shù)據(jù)集選擇ε的難點。我們也將看看最近有關不依賴于在原始圖像上進行擾動而生成對抗樣本的技術,探究這樣生成的圖片是否滿足對抗樣本的定義。
MNIST 圖像距離分析
讓我們首先簡單分析一下相同類別圖像以及不同類別圖像之間的平均距離。也許這些距離能夠幫助我們以一種更量化更客觀的方式選擇ε。我博客上有一個包含這一分析的 Jupyter notebook (http://alexadam.ca/ml/2019/09/05/adversarial-examples-rethinking-the-definition.html)。
我們從每個類別中隨機采樣了 100 張圖片,在不同的范數(shù)下計算兩兩圖像距離的平均值。這里只展示 L-2 范數(shù)的結果以避免混亂,同時也因為 L-∞范數(shù)的熱力圖在每個 cell 中都是 1,沒有提供什么有用的信息。
L-2 范數(shù)訓練集距離
一個合理的假設是處于熱力圖對角線上的元素值(類內圖像的距離)應該要比同一行/列中的非對角線上的元素(類間圖像距離)小。然而,上圖的結果中數(shù)字 2 的類內距離 10.1 大于數(shù)字類別 2 與數(shù)字類別 1 的類間距離 9.8,數(shù)字類別 8 的類內距離 9.4 大于數(shù)字類別 8 與 1 之間的距離 9.3。這起初讓人驚訝,但它只是表明,對于一個給定的數(shù)字,相比切換成另一個類別的數(shù)字,樣式上的變化可能會可能會造成更多像素上的差異??梢哉J為對于每一個數(shù)字,有一個不變的像素集,它不會隨圖片而改變,當兩個數(shù)字的不變集高度重合時,像上圖那種意料之外的結果就有可能發(fā)生。
選擇ε
當談到選擇ε的時候,這一切意味著什么呢?當使用 L-∞范數(shù)時,ε最常見的值是 0.3,對于 L-2 范數(shù)而言一個比較大的值是 4.5 。對于 L-∞范數(shù),如果我們考慮最極端的值ε=1.0,我們將無法控制擾動圖像的真實類別,并可能最終生成一個使得人類和圖像分類模型都誤識別為其它類別的圖像。這也允許我們在訓練集和測試集之間任意篡改圖像 x』 = rx_train * (1-r)x_test,如果我們的模型恰好錯誤分類了 x_test,那么該圖像將被標記為對抗樣本。這里有很多限制條件必須要滿足:
根據(jù)觀察,(1) 通常暗含 (2)。ε=0.3 當然滿足 (2),因為所有圖像的 L-∞距離接近 1.0。讓我們看看如果我們生成如下的結合了兩個類別的圖像將會發(fā)生什么。
在 L-∞距離約束下的均值圖像
將原始圖像和精心擾動的圖像之間的 L-∞距離限制到ε,但是任意一個人類觀察者都能輕易地發(fā)現(xiàn)兩張圖之間的區(qū)別,如下圖所示:
與原始圖像的 L-∞距離在ε=0.3 之內精心制作的擾動圖像
很明顯,最右邊的圖像有一些不足。事實上,如果沒有被告知這是一張數(shù)字 0 和數(shù)字 1 圖片的組合,有的人可能會說它只是一個抽象的符號。因此,用這樣一個簡單的例子,我們已經表明 ε=0.3 違反了條件 (1)。即使給一個更小的值,比如ε=0.2,也會得到類似的結果。MNIST 讓我們輕易地識別出擾動的像素。在許多情況下,通過簡單檢查背景像素是否修改來為對抗樣本創(chuàng)建檢測機制是微不足道的。如果攻擊者知道了這種檢測機制,就能夠繞過它。那我們要如何選擇ε呢?
這里給出一個對每張圖片并不使用相同ε的例子。對于一些類別,數(shù)字本身圍成的框內是否發(fā)生了像素的變化更容易被發(fā)現(xiàn),就像上圖中的 0 那樣。對于這種類別,ε應該設置成一個更小的值。
此外,對于像 L-2 或者 L-∞這樣的典型范數(shù)用于計算圖像距離時是沒有包含圖像的語義相似性的。如果能夠在輸入空間中給出圖像間的語義相似度,那么構造一個簡單的 KNN 圖像分類器就能干掉卷積神經網(wǎng)絡在過去 7 年來的進步。對于這個問題,可能的解決方案是使用度量學習(metric learning)。通過學習嵌入,這些嵌入之間的 L-2 或者 L-∞距離包含語義相似性,那么我們就可以在這個空間而不是輸入空間中調整ε。
還有種這樣的技術叫做三胞胎網(wǎng)絡 (triplet networks)。三胞胎網(wǎng)絡通過同時將 3 張圖片一次傳遞到三個相同的嵌入網(wǎng)絡并行運行。類別 y 的 anchor 通過時,會伴隨著一個同類別的正樣本和一個不同類別 y』的負樣本。損失函數(shù)將確保 anchor 和正樣本之間的距離至少比 anchor 和負樣本之間的距離小。
三胞胎網(wǎng)絡示意
使用像三胞胎網(wǎng)絡這樣的度量學習技術仍舊需要手動實驗驗證以確保ε沒有過大以至于類別發(fā)生改變。此外,我們必須考慮條件 (2),我們不能利用擾動使得我們數(shù)據(jù)集中的一張圖像被分為另外一張相同類別的圖像。像 PGD 這樣的攻擊方法是在損失函數(shù)的梯度方向迭代地移動以增加損失,然后將結果圖像映射到滿足原始圖像距離約束的輸入子空間。不是在輸入空間中做這一映射,而是使用我們的度量學習算法在嵌入空間上完成。
生成式對抗樣本
有篇非常酷的論文介紹了一種新的制作對抗樣本的方法。不是使用精心制作的對抗性噪聲擾動已有的圖片,而是使用 GAN 從頭生成能夠愚弄目標模型的圖片。
具體來說,他們使用一個輔助分類器 GAN(AC-GAN),能夠對圖像類別進行調節(jié),以便控制所生成圖像的類別。這產生了「無約束對抗樣本」,因為從頭生成的圖像沒有距離可供約束。
然而,這并不滿足先前提及的標準 (1) 或 (2)。盡管他們的方法很有用,也允許模型調試和通過生成新的能使模型失敗的圖片進行數(shù)據(jù)增強,但他們的分析將泛化性能和對抗的魯棒性看作同一件事。為了恰當?shù)胤治瞿P偷聂敯粜?,我們需要能夠分開泛化性能和對抗魯棒性兩個指標,因為它們彼此不一致 。因此,盡管拋棄對抗樣本的基于擾動的定義是十分誘人的,但是現(xiàn)在它們是唯一能夠以獨立的、非混淆的方式研究對抗魯棒性的方法。
總結
對抗樣本的當前定義對于像 MNIST 這樣的數(shù)據(jù)集來說存在些微的缺陷。盡管對于 ImageNet 這樣的數(shù)據(jù)集來說更有意義,因為向它添加擾動更難被人注意到,也不會使得圖片看上去像是不同類別的奇怪組合。
對于每張圖片或類別使用相同的閾值ε并不是一個好的打算,因為很容易就能檢測出特定類別圖像上的噪聲。圖像是一種對于人類而言很輕易就能分析和評判出是否有可疑痕跡的數(shù)據(jù)類型。然而,在許多領域里的數(shù)據(jù)是以數(shù)字的抽象向量形式出現(xiàn)的,這些向量很難理解和可視化。在這些領域中定義什么是對抗樣本可能會超出我們的想象極限,因為我們本來就不理解原始數(shù)據(jù)。在這樣的情況下,用定量的方法選取ε是十分必要的。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關鍵? 在循環(huán)神經網(wǎng)絡(RNN)家族中,長短期記憶網(wǎng)絡(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務的價值轉化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預測分析中的應用:從數(shù)據(jù)查詢到趨勢預判? ? 在數(shù)據(jù)驅動決策的時代,預測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內權威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應對策略? 長短期記憶網(wǎng)絡(LSTM)作為循環(huán)神經網(wǎng)絡(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學方法在市場調研數(shù)據(jù)中的深度應用? 市場調研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學方法則是市場調研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉日期:解鎖數(shù)據(jù)處理的關鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎 ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03