三維對抗樣本的生成方法MeshAdv,成功欺騙真實場景中的分類器和目標檢測器

ofollow,noindex" target="_blank">機器之心 翻譯
機器之心編輯部 釋出
三維對抗樣本的生成方法MeshAdv,成功欺騙真實場景中的分類器和目標檢測器
由於投影操作的複雜性以及人類對三維物體的感知偏向,生成三維空間的對抗樣本是很困難的。在這篇論文中,研究者提出了一種基於物理模型的可導渲染器的三維對抗樣本生成方法 MeshAdv。MeshAdv 不僅成功欺騙了分類器和目標檢測器,還可以通過提出的流程達到很強的遷移性。
論文:REALISTIC ADVERSARIAL EXAMPLES IN 3D MESHES
論文地址:https://arxiv.org/pdf/1810.05206.pdf
我們已知深度神經網路容易受到對抗樣本的攻擊從而給出錯誤的預測結果。目前絕大部分的對抗樣本都是在二維影象空間中直接對畫素進行修改。但是在現實場景中直接操縱圖片畫素並不容易。由於越來越多的訓練資料通過渲染三維物體生成,研究對抗式的三維樣本變得更加重要。本文提供了一種新的方法 MeshAdv:通過操縱三維物體(用網格表示)生成對抗式三維網格,使得最終三維渲染器生成該網格的的二維圖片可以成功攻擊一個深度神經網格的模型(分類器或者目標檢測器),並且驗證了該三維網格的對抗性可以成功轉移到不同的渲染器上。
相比於傳統的基於二維圖片的對抗樣本,MeshAdv 的好處是,用對抗式三維網格生成的樣本更加合理並且更容易去攻擊現有的圖片輸入的機器學習模型,並且能夠使用低成本的簡單的渲染器來生成對抗式三維網格,並且轉移到高成本的更加複雜的渲染器上。
首先作者們定義了自己的目標:已知一個訓練好的二維圖片作為輸入的機器學習模型 g。通過渲染一個三維物體網格 S,得到一張輸入圖片 I。作者們希望通過修改這個三維網格 S(網格頂點或者表面顏色),來使得模型 g 在渲染的圖片 I 上預測出錯誤的結果。
這並不是一個簡單的問題:
1. 從三維世界到二維世界的複雜性:把二維圖片看作是三維世界投影的結果,而不是直接將二維圖片看作 h x w 個畫素。這會導致影象空間大大減少,因為很多二維圖片是無法通過構建三維世界生成的。三維空間中的光照、物體形狀和物體表面顏色相互作用生成最終圖片,這種作用可能會影響到對抗樣本的生成,比如幾乎不可能只改變圖片中的一個畫素而保持其它畫素不變。這種相互作用,或者叫渲染,通常情況下是不可導的,除非做出對物體表面反射模型和光照模型等等的假設。
2. 三維空間本身的複雜性:三維空間中的約束與二維空間很不同,合理的三維形狀/顏色並不直接體現在二維圖片上;人對二維圖片中物體的感知基於對於三維物體的理解,而對三維物體進行修改會直接影響該物體的三維特性,但在二維空間直接操縱畫素值卻基本不會,所以生成應用在三維物體上無法察覺的擾動是一件很難的事情。
對於以上難點,這篇論文的研究者們提出 MeshAdv 方法來解決。
首先,研究者使用一個基於物理模型的可導渲染器來將三維物體渲染成二維圖片;然後分別嘗試生成對於三維網格的頂點和各個三角形的顏色的擾動,來使得一個分類器將渲染的圖片分類成研究者指定的錯誤的類別,如圖 1 所示。
圖 1:MeshAdv 的過程圖示。
結果表明對於不同類別的原始三維網格,在各種光照和角度下都能成功,並且達到接近 100% 的成功率,如圖 2 所示。研究者將擾動後的對抗式三維網格放到 Amazon Mechanical Turk 上讓人們對其進行分類,99.29+-1.96% 的分類準確率表明這種對抗式三維網格的擾動對於人類感知影響是很小的。
圖 2:通過不同型別的擾動(網格形狀,或者網格表面顏色),根據不同的目標類別生成的對抗式三維網格。
然後,研究者用同樣的方法嘗試去攻擊一個物體檢測器。他們合成了一個有桌子、椅子的場景並且將一個兔子網格 (Stanford Bunny) 放在桌子上,通過擾動使得檢測器對桌子、椅子的檢測都失效,如圖 4 所示。他們再將一張室外的真實照片作為輸入,通過估計光照來將兔子網格「真實地」放到場景中然後再對其進行擾動,並且成功地移除了對於原始真實照片中的「自行車」和「狗」的檢測,如圖 5 所示。
圖 4:合成場景中的對抗式三維網格(Stanford Bunny)導致物體檢測器失效
圖 5:將對抗式三維網格(Stanford Bunny)渲染到真實照片中導致物體檢測器失效
最後,作者研究了對抗式三維網格的轉移能力,因為他們用了一個可導的渲染器,該渲染器做出了很多假設,包括三維物體表面為簡單的 Lambertian 模型、方向光源、無陰影、無表面間的遮擋與互動反射。研究者想知道如果使用一個高階的渲染器,比如 Mitsuba,該對抗式三維網格是否仍然能夠使得分類器或者物體檢測器失效。
作者研究了兩種條件下的轉移能力:已知渲染引數和未知渲染引數。對於已知渲染引數,直接使用 Mitsuba 替換掉可導渲染器,使用完全相同的渲染引數,並在渲染出來的圖片上做有目標攻擊和無目標攻擊的評估。結果表示出無目標攻擊成功相對較高,有目標攻擊成功率相對較低。對於未知渲染引數的場景,使用可導渲染器去估計渲染引數,並且使用估計的引數和可導渲染器來生成對抗式三維網格。生成後,將該網格再重新放回 Mitsuba,再評估 Mitsuba 生成的圖片是否也可以讓機器學習模型預測失敗。結果表明這種對抗式三維網格能夠轉移到不同的渲染器上。這使得我們可以用低成本的渲染器來生成對抗式三維網格來汙染高成本的渲染引擎生成的圖片。
圖 6:在未知渲染引數下估計引數並且將對抗性轉移到 Mitsuba 渲染的圖片中並且導致分類器分類錯誤
圖 7. 在未知渲染引數下估計引數並且將對抗性遷移到 Mitsuba 渲染的圖片中並且導致檢測失敗(最左椅子)
圖 3:將頂點的擾動流視覺化。
表 1:在原始資料(p)上對不同模型的準確率,以及 meshAdv 生成的對抗樣本的攻擊成功率。
表 2:通過遷移 3D對抗樣本(通過攻擊一個可微渲染器 NMR 生成)到 Mitsuba 渲染器的無目標攻擊成功率。
理論 對抗樣本 目標檢測 分類 神經網路
相關資料
Deep neural network
深度神經網路(DNN)是深度學習的一種框架,它是一種具備至少一個隱層的神經網路。與淺層神經網路類似,深度神經網路也能夠為複雜非線性系統提供建模,但多出的層次為模型提供了更高的抽象層次,因而提高了模型的能力。
來源:機器之心 Techopedia
Machine Learning
機器學習是人工智慧的一個分支,是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、計算複雜性理論等多門學科。機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的演算法。因為學習演算法中涉及了大量的統計學理論,機器學習與推斷統計學聯絡尤為密切,也被稱為統計學習理論。演算法設計方面,機器學習理論關注可以實現的,行之有效的學習演算法。
來源:Mitchell, T. (1997). Machine Learning. McGraw Hill.
Accuracy
分類模型的正確預測所佔的比例。在多類別分類中,準確率的定義為:正確的預測數/樣本總數。 在二元分類中,準確率的定義為:(真正例數+真負例數)/樣本總數