自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

新聞 前端
近日,由螞蟻集團、清華大學等組織共同協(xié)辦的首屆「Inclusion|A-tech 科技精英賽」圓滿落幕。

 前段時間,一檔名為《燃燒吧!天才程序員》的競賽類綜藝讓「程序員」這一群體成功破圈,也呈現(xiàn)了 AI 在解決實際問題的過程中面臨的一些挑戰(zhàn),如數(shù)據(jù)集中存在對抗樣本、圖像中存在噪聲等。在本文中,CLS 戰(zhàn)隊(大賽頭名團隊)的優(yōu)秀選手、奧比中光算法工程師埼玉詳細解讀了他們在比賽中用到的解決方案。

[[377817]]

近日,由螞蟻集團、清華大學等組織共同協(xié)辦的首屆「Inclusion|A-tech 科技精英賽」(以下簡稱 A-tech 大賽)圓滿落幕。奧比中光科技集團股份有限公司 (以下簡稱「奧比中光」) 研究院 SDK 組負責人小蠻腰、算法工程師埼玉(均為花名)從全球 20 位優(yōu)秀 AI 工程師與網(wǎng)絡(luò)安全極客選手中脫穎而出,與戰(zhàn)隊隊友共同斬獲大賽頭名。

首次 A-tech 科技精英賽的主題關(guān)注「科技的溫暖和美好」,以「野生動物保護」作為切入點,選手需要在比賽中,分析檢測 34 種可能存在的野生動物,并預測每種野生動物的位置、類別及置信度——數(shù)據(jù)中包含著大量「非正常圖像」。本質(zhì)上,這是一場對日常 AI 攻防的濃縮「還原」,正是在無數(shù)次的 AI 攻防的較量中,AI 安全相關(guān)技術(shù)也得到長足發(fā)展。

計算能力的萬億倍增長使得深度學習在處理各種任務(wù)中得到廣泛應(yīng)用,如圖像分類、自然語言處理和博弈論。然而研究者發(fā)現(xiàn),現(xiàn)有深度學習算法存在著嚴重的安全隱患:攻擊者可以通過給良性樣本添加特定噪聲,輕易地欺騙深度學習模型,并且通常不會被人發(fā)現(xiàn)。攻擊者利用人的視覺和聽覺無法感知的擾動,足以使正常訓練的模型輸出置信度很高的錯誤預測。這種現(xiàn)象被研究者稱為對抗攻擊。

也可以說,我們的模型被「騙」了,這激發(fā)了人們對對抗技術(shù)的廣泛興趣。那么,什么是對抗技術(shù)呢?

舉幾個例子, 如圖 1 所示 [1], 穿特殊圖案的 T 恤可以使目前大部分行人檢測器失效;給圖 2[2] 中左邊的大熊貓?zhí)砑右粋€很小的干擾噪聲,雖然生成的圖片看起來和原始的沒有什么區(qū)別, 但是卻會導致系統(tǒng)將其誤認為是長臂猿的照片。

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 1[1]

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 2[2]

不過,有矛就有盾,對抗技術(shù)包含對抗攻擊和對抗防御,它是機器學習與計算機安全技術(shù)的結(jié)合,是一個新興的研究領(lǐng)域。以前的機器學習模型在面對攻擊者精心設(shè)計的對抗攻擊時,往往達不到預期的準確度。在實際應(yīng)用中(如自動駕駛),這種錯誤的影響可能是致命的。

現(xiàn)有對抗攻擊的方法

目前常見的對抗攻擊方法一般有以下幾種:

1.FGSM(Fast gradient sign method)[5]

這是一種基于梯度生成對抗樣本的算法,其訓練目標是最大化損失函數(shù) J(x*,y), 以獲取對抗樣本 x*, 其中 J 是分類算法中衡量分類誤差的損失函數(shù),通常取交叉熵損失。最大化 J,即使添加噪聲后的樣本不再屬于 y 類。在整個優(yōu)化過程中,需滿足 L∞約束 ||x*-x||∞ ≤ɛ,即原始樣本與對抗樣本的誤差要在一定范圍之內(nèi)。

x* =x+ɛ*sign(∇xJ(x,y))

其中 sign()是符號函數(shù),括號里面是損失函數(shù)對 x 的偏導。

2.Deepfool[6]

是基于超平面分類思想的一種對抗樣本生成方法。在二分類問題中,超平面是實現(xiàn)分類的基礎(chǔ),那么要改變某個樣本 x 的分類,最小的擾動就是將 x 挪到超平面上,這個距離的代價最小。

多分類的問題也類似。具體如下圖所示,Deepfool 通過迭代計算的方法生成最小規(guī)范對抗擾動,將位于分類邊界內(nèi)的圖像逐步推到邊界外,直到出現(xiàn)錯誤分類。此方法生成的擾動比 FGSM 更小,同時有相似的欺騙率。

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

3.C&W(Carlini & Wagner)[7]

C&W 算法使用一個變量 w,輔助尋找最小擾動 r_n:

r_n=0.5*(tanh(w+1))-X_n

基于 w 可以寫出 C&W 優(yōu)化過程的損失函數(shù):

其中 f 被定義為

目前對抗攻擊領(lǐng)域的研究大多是針對圖像分類領(lǐng)域, 如上述介紹的幾種方法。而針對目標檢測的研究相對較少, 且不同的攻擊技術(shù)需要采用不同的策略去防御,即對癥下藥。

針對帶對抗樣本的目標檢測領(lǐng)域的研究目前分為兩個陣營,即 anchor-based 和 anchor-free, 針對 anchor-based 的對抗攻擊方法,如 DAG[2] and UEA[3],以及針對 anchor-free 的對抗攻擊方法,如 FLA[4], 在此不過多贅述。

A-tech 大賽中的「進攻」與「防守」

在 A-tech 大賽中, 「野生動物識別戰(zhàn)」任務(wù)就涉及到了對抗技術(shù)。該任務(wù)本質(zhì)上是目標檢測任務(wù), 里面大約有 34 種可能存在的野生動物,需要預測每種野生動物的位置、類別及置信度,評測指標為 mAP@50。比賽不僅要看準確度,還要看速度,即比賽最終看的是哪個戰(zhàn)隊可以在測試集上達到既快又準(即更快的 FPS,更高的 mAP)。

該任務(wù)中的數(shù)據(jù)分為訓練集和測試集,其中測試集分為 A 榜和 B 榜。A 榜對選手可見,可以用來測試自己訓練的模型的精度,B 榜不可見,成績與排名以 B 榜排名為準,其中 A 榜和 B 榜獨立同分布。

這只是一個目標檢測任務(wù)吧?如果這樣想,你很可能會被「騙」:比賽的訓練和測試數(shù)據(jù)中,含有大量的「非正常圖像」。稍不注意,就會掉進主辦方設(shè)置的陷阱中。野生動物識別戰(zhàn)任務(wù)中的訓練數(shù)據(jù)是分三批提供的,如下所示:

第一批為正常的圖像,如圖 3 所示。這些圖像雖然看起來正常,但是也有「坑」,其標簽是離散的,也就是說,將同一張圖像的多個標簽分散在了多張一模一樣的圖像上。參賽者需要根據(jù)圖像的 md5 來找出哪些圖像和標簽是可以合并的。

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 3

第二批圖像中是添加有水印攻擊的圖片,如圖 4 所示,即在正常的物體上面添加了一些獵槍的水印。如果不注意,我們的模型就會學習到一些不該學習到的特征。

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 4

第三批圖像中便是對抗樣本了。其中一半,是不帶類別標簽但有位置信息的正常圖片,另一半是不帶類別標簽但有位置信息的對抗樣本圖像,如圖 5 所示:

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 5

再來看看測試數(shù)據(jù),野生動物識別戰(zhàn)任務(wù)中,A 榜的測試數(shù)據(jù)包含三部分:

1、圖像里面有自然噪聲,比如雨、椒鹽、高斯等,如圖 6 所示:

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 6

2、有少量水印攻擊的圖像,如圖 7 所示,是水印攻擊與雨水的混合圖像:

[[377822]]

圖 7

3、有少量對抗樣本,如圖 8 所示。第一眼看到這種圖像時,我也很懵。

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 8

面對上面的攻擊,為避免我們的模型被「騙」,應(yīng)該采取怎樣的防御策略?

訓練集和測試集可視化:這是最重要的方法,只有了解圖像的特征,我們才知道應(yīng)該采取什么樣的防御手段去防御。在比賽中,奧比中光團隊對訓練集和測試集都進行了可視化分析,看了圖像之后,計劃先跑出 baseline,于是選取了 mmdetection 框架,采用了 res50+CascadeRCNN 的架構(gòu),跑出了 53% 的mAP。

應(yīng)該采用什么方法可視化?只能說,戴上眼鏡一張一張地看……

1.測試圖像去噪:可視化測試集的時候,我們發(fā)現(xiàn)測試集的圖像中存在彩色的椒鹽噪聲,如圖 9 所示。于是, 我們在將測試圖片輸入到模型進行判定之前,先對當前測試圖片進行去噪,如中值濾波,剔除其中造成擾動的信息,使其不能對模型造成攻擊。

該方法可防御測試集中的自然噪聲。注意 kernel 不能太大,否則測試時間過長,實驗中測試 kernel 為5的時候,效果最好,mAP 大約提升了 8 個點。

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 9

2.訓練圖像數(shù)據(jù)增強:訓練的時候采用相關(guān)的數(shù)據(jù)增強手段,比如添加常用的數(shù)據(jù)增強方法,鏡像、裁剪、隨機變換亮度、對比度、飽和度,隨機色度變換等。此外還有一些不太常用的方法,比如 cutout[8]方法,但是需要設(shè)置區(qū)域的大小范圍,否則將整個物體全部遮擋了,訓練效果會很差,如圖 10 所示,將圖中的獵槍水印的影響弱化了;以及將高斯分布中采樣出的隨機值矩陣加入到訓練圖像中,也能大大增強模型的泛化能力。

AI模型被騙怎么破?《燃燒吧!天才程序員》冠軍團隊解決方案

圖 10

其中第一類方法是目標檢測領(lǐng)域里面通用的方法,可以增強模型的泛化能力,比如可以增強模型對強弱光的適應(yīng)性,這也我們在比賽中采用的方法。而 cutout 方法則對水印攻擊有一定的效果,我們可以設(shè)置 cutout 的區(qū)域范圍,尤其可以對第二批獲取到的訓練數(shù)據(jù)做 cutout,這樣可以削弱水印攻擊的效果。而從高斯分布中采樣出的隨機值矩陣加入到訓練圖像中則可以針對測試集中的高斯噪聲,也具有增強模型泛化能力的效果。

3.生成對抗網(wǎng)絡(luò):既然有對抗樣本了,很多同學自然而然就會想到 GAN 了。沒錯,可以訓練一種專門去水印的生成對抗網(wǎng)絡(luò),用于圖像的水印去除。

其實,去水印的目的就是將帶水印的圖像轉(zhuǎn)變?yōu)闊o水印的圖像,這本質(zhì)上也是一種圖像轉(zhuǎn)換任務(wù)。因此生成器的輸入為帶水印的圖像,輸出為無水印的圖像;而判別器用于識別結(jié)果到底是原始真實的無水印圖像,還是經(jīng)過生成器生成的無水印圖像。通過兩者之間不斷的對抗訓練,生成器生成的無水印圖像變得足夠「以假亂真」,從而達到理想的去水印效果。如果比賽時間充裕,這是一種很有效的方法。

4.采用兩階段的檢測方法:由于兩階段的檢測方法在第一階段不區(qū)分類別,只定位位置信息,因此第三批的訓練數(shù)據(jù)可以用于做弱監(jiān)督的訓練,只利用位置信息,不利用類別信息,能夠增加模型的回歸能力,使其能夠定位的更準。

5.多尺度測試:測試的時候采用多尺度測試(可理解為 TTA)。這是一個比賽漲點神器,玩過俄羅斯的套娃吧,就是下圖這樣的:

[[377825]]

6.數(shù)據(jù)清洗:如果人力與時間充足,可以采用對訓練集進行人工數(shù)據(jù)清洗的方法,不過該方法一般適用于工業(yè)界,在比賽期間是否采用該方法,就仁者見仁智者見智了。

結(jié)語

以上就是針對 A-tech 比賽中攻擊樣本的一些防御策略。如果沒有這些防御措施,直接拿一個目標檢測網(wǎng)絡(luò)去訓練,估計會得到一個比較差的成績,假如無防御的模型被用于實際的野生動物識別,后果將不堪設(shè)想。這次比賽深刻揭示了 AI 安全技術(shù)的意義??梢韵胂?,如果在無人駕駛領(lǐng)域或者導彈定位系統(tǒng)中,模型的魯棒性差或者受到了不可預知的樣本攻擊,導致出現(xiàn)「誤傷」的情況,將有可能帶來重大風險。比如曾發(fā)生過的無人駕駛汽車撞到行人,著實令人痛心。

從另一方面來看,對抗樣本的存在是非常有意義的。它能夠讓模型看到很多以前它沒有見過的樣本,是有利于增強模型魯棒性的。就像 AI 換臉與 AI 鑒偽, 這種道高一尺、魔高一丈的較量不會停止:一場持續(xù)的科技競賽, 必然會呈現(xiàn)攻與防互相促進發(fā)展的狀態(tài)。

團隊介紹

作者簡介:埼玉,奧比中光算法工程師,在工業(yè)界有諸多落地應(yīng)用,擅長深度學習在行人領(lǐng)域的應(yīng)用。

導師:小蠻腰,奧比中光研究院 SDK 組負責人。博士畢業(yè)于新加坡國立大學,圖像識別經(jīng)驗豐富,熟悉深度學習算法,擅長 AI 圖像識別、立體視覺。

鳴謝:A-tech 大賽的專家、老師、工作人員以及一同參賽的大佬們。

參考文獻:

[1] Wu Z , Lim S N , Davis L , et al. Making an Invisibility Cloak: Real World Adversarial Attacks on Object Detectors[J]. 2019.

[2] Cihang Xie, Jianyu Wang, Zhishuai Zhang, Yuyin Zhou, Lingxi Xie, and Alan Yuille. Adversarial examples for semantic segmentation and object detection. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), pages 1369–1378, 2017.

[3] Xingxing Wei, Siyuan Liang, Ning Chen, and Xiaochun Cao. Transferable adversarial attacks for image and video object detection. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), pages 954–960. AAAI Press, 2019.

[4] Q. Liao et al., "Fast Local Attack: Generating Local Adversarial Examples for Object Detectors," 2020 International Joint Conference on Neural Networks (IJCNN), Glasgow, United Kingdom, 2020, pp. 1-8, doi: 10.1109/IJCNN48605.2020.9206811.

[5] I. Goodfellow, J. Shlens, and C. Szegedy, 「Explaining and harnessing adversarial examples,」 in International Conference on Learning Representations, 2015.

[6] Moosavi-Dezfooli S M , Fawzi A , Frossard P . DeepFool: a simple and accurate method to fool deep neural networks[C]// Computer Vision & Pattern Recognition. IEEE, 2016.

[7] Carlini N, Wagner D. Towards evaluating the robustness of neural networks//Security and Privacy (SP), 2017 IEEE Symposium on. IEEE, 2017: 39-57.

[8] Terrance DeVries and Graham W Taylor. Improved regularization of convolutional neural networks with cutout. CoRR, abs/1708.04552, 2017.

 

責任編輯:張燕妮 來源: 機器之心
相關(guān)推薦

2016-10-27 09:54:16

程序員云計算網(wǎng)絡(luò)

2009-03-13 10:27:25

女程序員天才人生

2011-05-19 08:19:50

Lisp

2019-10-25 10:33:17

程序員技能開發(fā)者

2021-02-05 09:58:52

程序員Windows系統(tǒng)

2009-11-18 09:42:30

2013-03-28 15:50:37

程序員Java

2018-01-15 10:38:04

2015-05-15 10:39:44

Java 冠軍程序員?

2015-03-13 09:45:27

2011-06-02 09:56:21

程序員團隊精神

2017-09-09 10:57:16

程序員

2009-03-02 09:12:49

2019-02-18 09:39:28

程序員加密軟件

2012-07-20 10:32:32

程序員

2018-05-29 22:38:49

AI程序員代碼

2015-07-27 09:26:41

程序員

2023-09-14 10:07:38

人工智能數(shù)據(jù)管理
點贊
收藏

51CTO技術(shù)棧公眾號