AI安全之對抗樣本入門

      網友投稿 1214 2025-04-02

      智能系統與技術叢書

      AI安全之對抗樣本入門

      兜哥 編著

      PRAISE

      對本書的贊譽

      機器學習在安全領域的應用越來越廣泛,特別是近幾年來,深度學習在安全漏洞檢測、Web應用防火墻、病毒檢測等領域都有工業級的落地應用;但是黑客和黑產相應的入侵手法也發生了變化,其中一個手段就是從之前嘗試繞過深度學習模型,變為攻擊深度學習模型本身。兜哥在人工智能安全領域的實戰和學術造詣深厚,本書從深度學習自身的脆弱性和遭受的一些攻擊場景入手,討論了如何加固深度學習模型和防范類似的攻擊,對企業的安全工程師和從事安全人工智能的同仁,都有很好的指導和借鑒意義。

      —施亮,頂象技術首席科學家&合伙人

      人工智能已經被證明在越來越多的細分領域達到甚至超過了人類的平均水平,中國、美國、俄羅斯等許多國家也把發展人工智能提升到國家戰略層面。人們在大力發展人工智能的同時,對于人工智能自身的安全問題的研究卻相對滯后,這將嚴重制約其在重要領域的應用。兜哥的這本書很好地介紹了AI安全領域非?;A且重要的對抗樣本的基本原理,幫助大家了解人工智能自身的安全問題,以便開發出更加安全的AI應用。

      —胡影博士,中國電子技術研究院信息安全研究中心數據安全部主任

      認識兜哥是從他的著作《企業安全建設入門》開始,在傳統行業基于穩定性不斷對商業軟件進行深度改造時,他描述了互聯網如何將開源用到了輸出階段。當傳統安全遇到ABCD的時候,兜哥選擇沉下來做AI工程師并分享了大數據實踐下的核心對抗樣本調參思路,為他的工匠精神和分享精神。

      —呂毅博士,中國人民銀行金融***信息安全部副主任

      —王億韜,北美互聯網金融公司Affirm信息安全主管,CISSP/CSSLP/OSCP

      —王新剛,北美安全公司Shape Security數據平臺負責人

      PREFACE

      序  一

      此亦篤信之年,此亦大惑之年。此亦多麗之陽春,此亦絕念之窮冬。人或萬事俱備,人或一事無成。我輩其青云直上,我輩其黃泉永墜。

      —《雙城記》,狄更斯著,魏易譯

      如今是一個人工智能興起的年代,也是一個黑產猖獗的年代。是一個機器學習算法百花齊放的年代,也是一個隱私泄露、惡意代碼傳播、網絡攻擊肆虐的年代。AlphaGo碾壓柯潔之后,不少人擔心AI會搶了人類的工作,然而信息安全領域專業人才嚴重匱乏,極其需要AI來補充專業缺口。

      兜哥的這本書展示了豐富多彩的機器學習算法在錯綜復雜的Web安全中的應用,是一本非常及時的人工智能在信息安全領域的入門讀物。沒有最好的算法,只有最合適的算法。雖然這幾年深度學習呼聲很高,但各種機器學習算法依然在形形***的應用場景中有著各自獨特的價值,熟悉并用好這些算法在安全領域的實戰中會起到重要的作用。

      —Lenx,百度首席安全科學家,安全實驗室負責人

      PREFACE

      序  二

      兜哥寫的“AI+安全”一系列書,每本我都讓朋友從國內帶來硅谷拜讀。 我和 Lenx等大佬混跡硅谷安全圈,一致很欽佩百度安全實驗室對于“AI+安全”領域的貢獻。

      執筆為這本書寫序的這天(2019年1月25日)恰逢人類AI 歷史又一偉大時刻:AlphaStar 戰勝了StarCraft2人類高手玩家MaNa。我對這次戰役的關注,甚至超過了AlphaGo。StarCraft即時戰略游戲比圍棋這種規則明確、棋盤信息透明的游戲,更加接近人類生存的環境:不完備的環境信息。安全領域一直是不完備的環境信息,在我看來,這意味著道高一尺魔高一丈強對抗的網絡安全行業,也即將迎來一波新的方法論。

      我從2012年起在美國硅谷的安全行業從事“AI+大數據”在安全和風控的企業級應用,有幸在EMC/ RSA、FireEye / Mandiant等公司,與世界級的白帽一起成功地使用AI技術防御過若干個APT黑客軍團(比如2017年在FireEye開發了NLP算法抵抗了越南APT32 )。最近剛創辦了AnChain.ai公司,志在將AI用于區塊鏈安全,并在歷史上首次檢測到了 BAPT(Blockchain APT)黑客軍團。

      我也有幸直接參與了幾次和黑客正面交鋒的案例,比如2018年的 BAPT-FOMO3D 黑客,他們攻擊FOMO3D 游戲DApp,居然啟用了上萬個攻擊合約,短時間內盜走了兩百萬美元,而項目方束手無策。

      “戰略上藐視敵人,戰術上重視敵人?!弊鳛榘踩袠I的多年從業者,我堅信我們可以利用技術的力量形成戰略的優勢。

      對于廣大安全產品研發人員, 我建議在“戰術上重視敵人”,學習AI技術將如虎添翼。增強學習、對抗學習、深度學習等領域近年來涌現了許多新算法,并且在ASIC、GPU這些強大的芯片基礎上,實現了高效的人工智能落地應用,比如AlphaStar、AlphaGO和硅谷滿地跑的無人駕駛車。

      我建議大家仔細研讀兜哥的這本新書,因為黑客也在學習進化。

      —Victor Fang博士,AnChain.ai創始人和CEO

      PREFACE

      自  序

      這不是我第一次寫序了,但是真拿起筆還是覺得挺難寫的。記得我寫第一本書時,女兒還在蹣跚學步,拿著我的書時還分不清書的前后正反,但是現在她已經在幼兒園學會做月餅了。據說現在人工智能的知識已經寫入高中教材了,這方面我倒是對閨女比較有信心,至少在人工智能方面她啟蒙得比較早。

      機緣巧合,我負責了一個AI模型安全的開源項目AdvBox。雖然我之前接觸過AI安全,但是主要集中在AI賦能傳統安全的領域,簡單講就是我之前寫的《Web安全之機器學習入門》這類書里介紹的如何將AI技術應用到傳統安全領域。相對傳統安全領域,AI模型的安全是一個陌生但更加有趣的領域。從簡單的把貓變成狗,到稍微復雜點的用奇怪的“鳥叫蟲鳴”就可以喚醒智能音箱、點外賣,再到更加酷炫的換臉和欺騙無人車,這都是對抗樣本的典型應用。開發和運營AdvBox是我工作的一部分,也是我生活的一部分,我寫了個小腳本每天爬GitHub上的排名并發送郵件給我,每天早上我都會刷刷郵箱看一下最新排名。AdvBox的關注數也從零一直慢慢爬到業內關注的一個排名。為了更好地運營AdvBox,我組建了QQ群和微信群,在回答用戶問題的過程中,我發現其實很多問題非常基礎:從TensorFlow/PyTorch的使用到深度學習的基礎知識,從對抗樣本的基本原理到圖像處理中的一些小技巧。于是我想到了可以寫一本書來介紹這方面的基礎知識。

      很多人在網上抱怨,2018年是比較艱難的一年,我也有同樣的感受。工作繁忙了許多,而且換了新環境,許多東西需要再去適應。這本書從構思到基本寫完,花了將近一年的時間,幾乎占據了我全部的休息時間,確實挺不容易。其實我也反思過幾次,為啥不去做些輕車熟路的事,非要去折騰些BIG4的論文里介紹的東西,非要在一個新成果剛發布就可能要過時的賽道去追逐。如果非要找個理由的話,我個人的感受是:容易的事輪不到我,早已是千軍萬馬過獨木橋了;困難的事堅持做,沒準就走下去了。

      本書的定位是學習對抗樣本的入門書籍,因此也簡單介紹了相關領域的背景知識便于讀者理解,使用的數據集和場景是比較典型的圖像分類、目標識別等領域。第1章介紹了深度學習的基礎知識,重點介紹了與對抗樣本相關的梯度、優化器、反向傳遞等知識點。第2章介紹了如何搭建學習對抗樣本的軟硬件環境,雖然GPU不是必需的,但是使用GPU可以更加快速地驗證你的想法。第3章概括介紹了常見的深度學習框架,從TensorFlow、Keras、PyTorch到MXNet。第4章介紹了圖像處理領域的基礎知識,這部分知識對于理解對抗樣本領域的一些常見圖像處理技巧非常有幫助。第5章介紹了常見的白盒攻擊算法,從最基礎的FGSM、DeepFool到經典的JSMA和CW。第6章介紹了常見的黑盒攻擊算法。第7章介紹了對抗樣本在目標識別領域的應用。第8章介紹了對抗樣本的常見抵御算法,與對抗樣本一樣,抵御對抗樣本的技術也非常有趣。第9章介紹了常見的對抗樣本工具以及如何搭建NIPS 2017對抗防御環境和輕量級攻防對抗環境robust-ml,通過這章讀者可以了解如何站在巨人的肩膀上,快速生成自己的對抗樣本,進行攻防對抗。

      本書適合人工智能領域的從業人員、大專院校計算機相關專業學生,而不僅僅是信息安全領域的學生和從業人員。因為對抗樣本的知識對于人工智能領域的從業人員非常重要,伴隨著人工智能的遍地開花和逐步落地,從智能駕駛到人臉支付,從智能家居到智能安防,人工智能從一個學術名詞變成了真正影響大家生活的技術,直接關系到大家的人身安全、財產安全還有個人隱私。對抗樣本帶來的問題,也是傳統安全技術幾乎難以解決的。了解對抗樣本的基本原理,對于人工智能領域的從業人員開發出更加安全的應用是非常有幫助的。

      我要感謝家人對我的支持,本來工作就很忙,沒有太多時間處理家務,寫書以后更是侵占了我大量的休息時間,我的妻子無條件地承擔起了全部家務,尤其是照料孩子。我還要感謝我的女兒,寫書這段時間幾乎沒有時間陪她玩,我也想用這本書作為她的生日禮物。我還要感謝編輯吳怡對我的支持和鼓勵,讓我可以堅持把這本書寫完。Lenx對于我寫這本書幫助很大,他對AI安全的深刻理解,積極但又務實,讓我在研究的道路上既信心滿滿又不至于過于狂熱而迷失道路。還要感謝AdvBox團隊以及在GitHub上給AdvBox提交過代碼的同學們。

      最后還要感謝各位業內好友對我的支持,以下排名不分先后:

      馬杰@百度安全、Lenx@百度安全、黃正@百度安全、包沉浮@百度安全、海棠姐@百度安全、Edward@百度安全、賈云瀚@百度安全、云鵬@百度無人車、施亮@頂象、Victor Fang@AnChain、謝忱@Freebuf、大路@天際友盟、郭偉@數字觀星、周濤@阿里、姚志武@借貸寶、劉靜@安天、高磊@阿里、尹毅@sobug、吳圣@58、康宇@新浪、幻泉@i春秋、田老師@陽光保險、ReadOnly@易寶支付、樊春亮@泰康、聶君@360、林偉@360、白教主@360、李濱@騰訊、張維垚@餓了嗎、阿杜@優信、高磊@安巽科技、王延輝@平安、呂毅@人行、雷誠@武漢大學、鳥哥@阿里云、咸魚@京東、梁知音@京東、小馬哥@京東、張超@清華大學、徐恪@清華大學、李勇@清華大學、李琦@清華大學。我平時在FreeBuf專欄以及i春秋分享企業安全建設以及人工智能相關經驗與最新話題,同時運營我的微信公眾號“兜哥帶你學安全”,歡迎大家關注并在線交流。

      計算機是一門非常強調理論聯系實踐的學科,我經常在和讀者交流時說:安全會議的PPT就像電影,濃縮、精彩、有趣;博客、公眾號上的文章就像電視劇,有細節、有思路;技術書籍更像原著,系統、詳細、原汁原味。但是就像看再多武俠小說也不一定真能耍出一招半式一樣,真正掌握一門武藝還是要勤于練習。因此我在GitHub上也把書里提到的示例代碼開源出來,讀者可以根據情況一邊修改一邊驗證自己的理解,對應的地址為:https://github.com/duoergun0729/adversarial_examples。

      PREFACE

      前  言

      生活中的深度學習

      深度學習自2006年產生之后就受到科研機構、工業界的高度關注。最初,深度學習主要用于圖像和語音領域。從2011年開始,谷歌研究院和微軟研究院的研究人員先后將深度學習應用到語音識別,使識別錯誤率下降了20%~30%。2012年6月,谷歌首席架構師Jeff Dean和斯坦福大學教授Andrew Ng主導著名的Google Brain項目,采用16萬個CPU來構建一個深層神經網絡,并將其應用于圖像和語音的識別,最終大獲成功。

      2016年3月,AlphaGo與圍棋世界冠軍、職業九段棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝;2016年年末2017年年初,該程序在中國棋類網站上以“大師”(Master)為注冊賬號與中日韓數十位圍棋高手進行快棋對決,連續60局無一敗績;2017年5月,在中國烏鎮圍棋峰會上,它與排名世界第一的圍棋世界冠軍柯潔對戰,以3比0的總比分獲勝。AlphaGo的成功更是把深度學習的熱潮推向了全球,成為男女老少茶余飯后關注的熱點話題。

      現在,深度學習已經遍地開花,在方方面面影響和改變著人們的生活,比較典型的應用包括智能家居、智能駕駛、人臉支付和智能安防。

      深度學習的脆弱性

      深度學習作為一個非常復雜的軟件系統,同樣會面對各種黑客攻擊。黑客通過攻擊深度學習系統,也可以威脅到財產安全、個人隱私、交通安全和公共安全(見圖0-1)。針對深度學習系統的攻擊,通常包括以下幾種。

      圖0-1 深度學習的脆弱性

      1. 偷取模型

      各大公司通過高薪聘請AI專家設計模型,花費大量資金、人力搜集訓練數據,又花費大量資金購買GPU設備用于訓練模型,最后得到深度學習模型。深度學習模型的最終形式也就是從幾百KB到幾百MB不等的一個模型文件。深度學習模型對外提供服務的形式也主要分為云模式的API,或者私有部署到用戶的移動設備或數據中心的服務器上。針對云模式的API,黑客通過一定的遍歷算法,在調用云模式的API后,可以在本地還原出一個與原始模型功能相同或者類似的模型;針對私有部署到用戶的移動設備或數據中心的服務器上,黑客通過逆向等傳統安全技術,可以把模型文件直接還原出來供其使用。偷取深度學習模型的過程如圖0-2所示。

      2. 數據投毒

      針對深度學習的數據投毒主要是指向深度學習的訓練樣本中加入異常數據,導致模型在遇到某些條件時會產生分類錯誤。如圖0-3所示。早期的數據投毒都存在于實驗室環境,假設可以通過在離線訓練數據中添加精心構造的異常數據進行攻擊。這一攻擊方式需要接觸到模型的訓練數據,而在實際環境中,絕大多數情況都是公司內部在離線數據中訓練好模型再打包對外發布服務,攻擊者難以接觸到訓練數據,攻擊難以發生。于是攻擊者把重點放到了在線學習的場景,即模型是利用在線的數據,幾乎是實時學習的,比較典型的場景就是推薦系統。推薦系統會結合用戶的歷史數據以及實時的訪問數據,共同進行學習和判斷,最終得到推薦結果。黑客正是利用這一可以接觸到訓練數據的機會,通過一定的算法策略,發起訪問行為,最終導致推薦系統產生錯誤。

      3. 對抗樣本

      對抗樣本由Christian Szegedy等人提出,是指在數據集中通過故意添加細微的干擾所形成的輸入樣本,這種樣本導致模型以高置信度給出一個錯誤的輸出。在正則化背景下,通過對抗訓練減少原有獨立同分布的測試集的錯誤率,在對抗擾動的訓練集樣本上訓練網絡。

      簡單地講,對抗樣本通過在原始數據上疊加精心構造的人類難以察覺的擾動,使深度學習模型產生分類錯誤。以圖像分類模型為例,如圖0-4所示,通過在原始圖像上疊加擾動,對于肉眼來說,擾動非常細微,圖像看起來還是熊貓,但是圖像分類模型卻會以很大的概率識別為長臂猿。

      圖0-4 針對圖像分類模型的對抗樣本

      下面以一個圖像分類模型為例,更加直接地解釋對抗樣本的基本原理。通過在訓練樣本上學習,學到一個分割平面,在分割平面一側的為綠球,在分割平面另外一側的為紅球。生成攻擊樣本的過程,就是在數據上添加一定的擾動,讓其跨越分割平面,從而把分割平面一側的紅球識別為綠球,如圖0-5所示。

      圖0-5 對抗樣本的基本原理

      對抗樣本按照攻擊后的效果分為Targeted Attack(定性攻擊)和Non-Targeted Attack(無定向攻擊)。區別在于Targeted Attack在攻擊前會設置攻擊的目標,比如把紅球識別為綠球,或者把面包識別為熊貓,也就是說在攻擊后的效果是確定的;Non-Targeted Attack在攻擊前不用設置攻擊目標,只要攻擊后,識別的結果發生改變即可,可能會把面包識別為熊貓,也可能識別為小豬佩琪或者小豬喬治,如圖0-6所示。

      圖0-6 Targeted Attack 和Non-Targeted Attack

      對抗樣本按照攻擊成本分為White-Box Attack(白盒攻擊)、Black-Box Attack(黑盒攻擊)和Real-World Attack/Physical Attack(真實世界/物理攻擊)。

      White-Box Attack(見圖0-7)是其中攻擊難度最低的一種,前提是能夠完整獲取模型的結構,包括模型的組成以及隔層的參數情況,并且可以完整控制模型的輸入,對輸入的控制粒度甚至可以到比特級別。由于White-Box Attack前置條件過于苛刻,通常作為實驗室的學術研究或者作為發起Black-Box Attack和Real-World Attack/Physical Attack的基礎。

      圖0-7 White-Box Attack

      Black-Box Attack相對White-Box Attack攻擊難度具有很大提高,Black-Box Attack完全把被攻擊模型當成一個黑盒,對模型的結構沒有了解,只能控制輸入,通過比對輸入和輸出的反饋來進行下一步攻擊,見圖0-8。

      圖0-8 Black-Box Attack

      Real-World Attack/Physical Attack(見圖0-9)是這三種攻擊中難度最大的,除了不了解模型的結構,甚至對于輸入的控制也很弱。以攻擊圖像分類模型為例(見圖0-10),生成的攻擊樣本要通過相機或者攝像頭采集,然后經過一系列未知的預處理后再輸入模型進行預測。攻擊中對抗樣本會發生縮放、扭轉、光照變化、旋轉等。

      圖0-9 Real-World Attack/Physical Attack

      圖0-10 圖像分類模型的真實世界/物理攻擊

      常見檢測和加固方法

      1. 深度學習脆弱性檢測

      檢測深度學習脆弱性的過程,其實就是發起攻擊的過程,常見的白盒攻擊算法列舉如下。

      ILCM(最相似迭代算法)

      FGSM(快速梯度算法)

      BIM(基礎迭代算法)

      JSMA(顯著圖攻擊算法)

      DeepFool(DeepFool算法)

      C/W(C/W算法)

      常見的黑盒攻擊方法列舉如下。

      Single Pixel Attack(單像素攻擊)

      Local Search Attack(本地搜索攻擊)

      2. 深度學習脆弱性加固

      針對深度學習脆弱性進行加固的常見方法主要包括以下幾種,我們將重點介紹Adversarial training。

      Feature squeezing(特征凝結)

      Spatial smoothing(空間平滑)

      Label smoothing(標簽平滑)

      Adversarial training(對抗訓練)

      Virtual adversarial training (虛擬對抗訓練)

      Gaussian data augmentation (高斯數據增強)

      Adversarial training如圖0-11所示,其基本思路是,常見的對抗樣本生成算法是已知的,訓練數據集也是已知的,那么可以通過常見的一些對抗樣本工具箱,比如AdvBox 或者FoolBox,在訓練數據的基礎上生成對應的對抗樣本,然后讓深度學習模型重新學習,讓它認識這些常見的對抗樣本,這樣新生成的深度學習模型就具有了一定的識別對抗樣本的能力。

      與Adversarial training思路類似的是Gaussian data augmentation。Gaussian data augmentation的基本原理是,對抗樣本是在原始數據上疊加一定的擾動,這些擾動非常接近隨機的一些噪聲。Adversarial training雖然簡單易于實現,但是技術上難以窮盡所有的攻擊樣本。Gaussian data augmentation直接在原始數據上疊加高斯噪聲,如圖0-12所示,k為高斯噪聲的系數,系數越大,高斯噪聲越強,其他參數分別表示高斯噪聲的均值和標準差。Gaussian data augmentation把訓練數據疊加了噪聲后,重新輸入給深度學習模型學習,通過增加訓練輪數、調整參數甚至增加模型層數,在不降低原有模型準確度的情況下,讓新生成的深度學習模型具有了一定的識別對抗樣本的能力。

      圖0-11 Adversarial training原理圖

      圖0-12 圖像增加高斯噪聲

      對抗樣本領域的最新進展

      對抗樣本是AI安全研究的一個熱點,新的攻擊算法和加固方法層出不窮,而且攻擊場景也從實驗室中的簡單圖像分類,迅速擴展到智能音箱、無人駕駛等領域。百度安全實驗室的最新研究報告《感知欺騙:基于深度神經網絡(DNN)下物理性對抗攻擊與策略》成功入選BlackHat Europe 2018。報告展現了讓物體在深度學習系統的“眼”中憑空消失,在AI時代重現了大衛·科波菲爾的經典魔法。針對深度學習模型漏洞進行物理攻擊可行性研究有著廣泛的應用前景,在自動駕駛領域、智能安防領域、物品自動鑒定領域都有重要的實際意義。

      如圖0-13所示,在時間t0的時候,當在車后顯示器中顯示正常logo時,YOLOv3可以正確識別目標車輛,而在t1時,切換到擾動后的圖片時,它可以立刻讓目標車輛在YOLOv3面前變得無法辨識;在t2時,如圖0-14所示切換回正常的圖片,YOLOv3重新可以識別目標車輛。這是首次針對車輛的物理攻擊的成功展示,與以往的學術論文相比,在攻擊目標的大小、分辨率的高低以及物理環境的復雜性等方面,在影響和難度上都是一個巨大提升。

      圖0-13 t0時可以正常識別出車輛,t1時無法識別出車輛

      圖0-14 t2時可以正常識別出車輛

      Kan Yuan和Di Tang等人在論文《Stealthy Porn: Understanding Real-World Adversarial Images for Illicit Online Promotion》中介紹了黑產如何通過單色化、加噪聲、增加文字、仿射變化、濾波模糊化和遮蓋等方式讓違規圖片繞過目前主流的圖片內容檢測服務。這也標志著對抗樣本技術已經從實驗室環境真正進入了網絡對抗實戰。

      國內安全人員在對抗樣本領域的研究成果得到了國際的普遍認可。朱軍等人指導的清華大學團隊曾在NIPS 2017對抗樣本攻防競賽中奪冠,紀守領老師所在的 NESA Lab 提出了一種新型的對抗性驗證碼,能防范來自打碼平臺等黑產的破解。

      Contents

      目  錄

      對本書的贊譽

      序一

      序二

      自序

      前言

      第1章 深度學習基礎知識?????? 1

      1.1 深度學習的基本過程及相關概念????? 1

      1.1.1 數據預處理?????? 1

      1.1.2 定義網絡結構??? 2

      1.1.3 定義損失函數??? 6

      1.1.4 反向傳遞與優化器??? 7

      1.1.5 范數??? 12

      1.2 傳統的圖像分類算法?? 13

      1.3 基于CNN的圖像分類 14

      1.3.1 局部連接??? 14

      1.3.2 參數共享??? 15

      1.3.3 池化??? 17

      1.3.4 典型的CNN結構???? 18

      1.3.5 AlexNet的結構? 19

      1.3.6 VGG的結構????? 19

      1.3.7 ResNet50??? 20

      1.3.8 InceptionV3?????? 20

      1.3.9 可視化CNN????? 20

      1.4 常見性能衡量指標????? 30

      1.4.1 測試數據??? 30

      1.4.2 混淆矩陣??? 31

      1.4.3 準確率與召回率?????? 31

      1.4.4 準確度與F1-Score?? 32

      1.4.5 ROC與AUC????? 33

      1.5 集成學習????? 34

      1.5.1 Boosting算法??? 35

      1.5.2 Bagging算法??? 37

      1.6 本章小結????? 39

      第2章 打造對抗樣本工具箱??? 40

      2.1 Anaconda???? 41

      2.2 APT更新源?? 45

      2.3 Python更新源???? 45

      2.4 Jupyter notebook 45

      2.5 TensorFlow?? 49

      2.6 Keras???? 50

      2.7 PyTorch 51

      2.8 PaddlePaddle?????? 52

      2.9 AdvBox? 52

      2.10 GPU服務器 52

      2.11 本章小結??? 55

      第3章 常見深度學習平臺簡介?????? 56

      3.1 張量與計算圖????? 56

      3.2 TensorFlow?? 58

      3.3 Keras???? 62

      3.4 PyTorch 64

      3.5 MXNet?? 67

      3.6 使用預訓練模型?? 70

      3.7 本章小結????? 76

      第4章 圖像處理基礎知識?????? 77

      4.1 圖像格式????? 77

      4.1.1 通道數與像素深度??? 77

      4.1.2 BMP格式?? 80

      4.1.3 JPEG格式? 81

      4.1.4 GIF格式???? 81

      4.1.5 PNG格式?? 81

      4.2 圖像轉換????? 81

      4.2.1 仿射變換??? 81

      4.2.2 圖像縮放??? 83

      4.2.3 圖像旋轉??? 85

      4.2.4 圖像平移??? 85

      4.2.5 圖像剪切??? 86

      4.2.6 圖像翻轉??? 87

      4.2.7 亮度與對比度??? 88

      4.3 圖像去噪????? 89

      4.3.1 高斯噪聲和椒鹽噪聲?????? 90

      4.3.2 中值濾波??? 91

      4.3.3 均值濾波??? 93

      4.3.4 高斯濾波??? 93

      4.3.5 高斯雙邊濾波??? 94

      4.4 本章小結????? 96

      第5章 白盒攻擊算法?????? 97

      5.1 對抗樣本的基本原理?? 97

      5.2 基于優化的對抗樣本生成算法?? 100

      5.2.1 使用PyTorch生成對抗樣本??? 102

      5.2.5 使用TensorFlow生成對抗樣本????? 106

      5.3 基于梯度的對抗樣本生成算法?? 109

      《AI安全之對抗樣本入門》

      5.4 FGM/FGSM算法? 110

      5.4.1 FGM/FGSM基本原理????? 110

      5.4.2 使用PyTorch實現FGM?? 111

      5.4.3 使用TensorFlow實現FGM???? 112

      5.5 DeepFool算法???? 115

      5.5.1 DeepFool基本原理? 115

      5.5.2 使用PyTorch實現DeepFool?? 117

      5.5.3 使用TensorFlow實現DeepFool???? 122

      5.6 JSMA算法??? 124

      5.6.1 JSMA基本原理? 124

      5.6.2 使用PyTorch實現JSMA? 126

      5.6.3 使用TensorFlow實現JSMA??? 129

      5.7 CW算法?????? 132

      5.7.1 CW基本原理??? 132

      5.7.2 使用TensorFlow實現CW?????? 135

      5.7.3 使用PyTorch實現CW???? 140

      5.8 本章小結????? 142

      第6章 黑盒攻擊算法?????? 143

      6.1 單像素攻擊算法?? 143

      6.2 單像素攻擊MNIST識別模型???? 146

      6.3 本地搜索攻擊算法????? 148

      6.4 本地搜索攻擊ResNet模型 151

      6.5 遷移學習攻擊算法????? 153

      6.6 通用對抗樣本????? 157

      6.7 針對MNIST生成通用對抗樣本? 160

      6.8 本章小結????? 163

      第7章 對抗樣本在目標檢測領域的應用?????? 164

      7.1 目標檢測的概念?? 164

      7.2 目標檢測在智能駕駛領域的應用????? 166

      7.2.1 車道偏離預警??? 166

      7.2.2 前向防碰撞預警?????? 167

      7.2.3 交通標志識別??? 167

      7.2.4 行人防碰撞預警系統?????? 167

      7.2.5 駕駛員疲勞監測預警?????? 168

      7.2.6 自動泊車??? 169

      7.3 目標檢測在智能安防領域的應用????? 169

      7.3.1 人臉檢索??? 169

      7.3.2 行為識別??? 170

      7.4 邊緣檢測算法????? 171

      7.4.1 Soble邊緣檢測? 171

      7.4.2 拉普拉斯邊緣檢測??? 174

      7.4.3 Canny邊緣檢測 175

      7.5 直線檢測算法????? 176

      7.6 圓形檢測算法????? 181

      7.7 RCNN系列算法?? 183

      7.7.1 RCNN 183

      7.7.2 Fast RCNN 185

      7.7.3 Faster RCNN???? 185

      7.7.4 TensorFlow目標檢測庫?? 187

      7.7.5 Faster RCNN使用示例???? 191

      7.8 YOLO算法?? 196

      7.8.1 YOLO概述 196

      7.8.2 YOLO使用示例 199

      7.9 SSD算法????? 201

      7.9.1 SSD概述??? 201

      7.9.2 SSD使用示例??? 201

      7.10 白盒攻擊Faster RCNN???? 203

      7.11 物理攻擊YOLO概述 210

      7.12 本章小結??? 213

      第8章 對抗樣本常見防御算法?????? 214

      8.1 對抗樣本的魯棒性????? 214

      8.1.1 圖像旋轉對魯棒性的影響?????? 214

      8.1.2 濾波器對魯棒性的影響??? 220

      8.1.3 對比度和亮度對魯棒性的影響?????? 225

      8.1.4 噪聲對魯棒性的影響?????? 230

      8.2 抵御對抗樣本攻擊的常見方法?? 237

      8.2.1 圖像預處理?????? 237

      8.2.2 對抗訓練??? 238

      8.2.3 高斯數據增強??? 238

      8.2.4 自編碼器去噪??? 240

      8.2.5 ICLR 2018提出的對抗樣本抵御方法????? 245

      8.3 本章小結????? 247

      第9章 常見對抗樣本工具箱簡介??? 248

      9.1 對抗樣本常見衡量指標????? 248

      9.1.1 l0范數?????? 248

      9.1.2 l2范數?????? 249

      9.1.3 linf范數???? 250

      9.2 AdvBox? 250

      9.2.1 AdvBox簡介???? 250

      9.2.2 在AdvBox中使用FGSM算法 250

      9.2.3 在AdvBox中使用DeepFool算法?? 252

      9.2.4 在AdvBox中使用黑盒攻擊算法???? 255

      9.3 ART?????? 257

      9.3.1 ART簡介??? 257

      9.3.2 在ART中使用FGSM算法?????? 258

      9.3.3 ART下使用CW算法?????? 260

      9.4 FoolBox ????? 262

      9.4.1 FoolBox簡介???? 262

      9.4.2 在FoolBox中使用JSMA算法 263

      9.4.3 在FoolBox中使用CW算法??? 264

      9.5 Cleverhans ? 266

      9.5.1 Cleverhans簡介 266

      9.5.2 在Cleverhans中使用FGSM算法?? 267

      9.5.3 在Cleverhans中進行對抗訓練????? 269

      9.6 NIPS對抗攻擊防御環境搭建???? 270

      9.6.1 NIPS對抗攻擊防御賽簡介????? 270

      9.6.2 環境搭建方法??? 270

      9.6.3 運行測試代碼??? 271

      9.7 輕量級攻防對抗環境robust-ml 275

      9.7.1 robust-ml簡介? 275

      9.7.2 運行測試代碼??? 276

      9.8 本章小結????? 279

      AI 安全

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel2003數據分析的教程
      下一篇:選擇工作表(選擇工作表全部單元格的方法是單擊工作表的)
      相關文章
      亚洲精品无码永久中文字幕| 亚洲精品tv久久久久久久久久| 精品亚洲成α人无码成α在线观看| 日韩国产欧美亚洲v片| 亚洲性线免费观看视频成熟| 亚洲一区二区免费视频| 亚洲三级在线免费观看| 亚洲大片免费观看| 亚洲一级黄色大片| 国产亚洲精品成人AA片| 亚洲 欧洲 视频 伦小说| 亚洲一区二区三区写真| 亚洲欧美日韩中文高清www777| 亚洲精品乱码久久久久久蜜桃图片| 亚洲一区二区三区高清在线观看| 亚洲综合国产成人丁香五月激情 | 亚洲日本在线观看视频| 亚洲麻豆精品国偷自产在线91| 亚洲日韩精品无码专区网站| 亚洲五月午夜免费在线视频| 国产成人亚洲精品影院| 亚洲日韩精品一区二区三区无码| 国产亚洲A∨片在线观看| 亚洲AV人无码激艳猛片| 337p欧洲亚洲大胆艺术| 亚洲国产美女精品久久久久| 亚洲成a人片77777群色| 亚洲av产在线精品亚洲第一站| 国产人成亚洲第一网站在线播放| 亚洲日韩国产欧美一区二区三区| 亚洲男人的天堂网站| 在线精品自拍亚洲第一区| 中文亚洲成a人片在线观看| 亚洲国产精品无码专区影院| 久久精品国产亚洲77777| 亚洲va在线va天堂va手机| 亚洲av永久中文无码精品 | 亚洲精品无码成人片久久不卡| 男人的天堂亚洲一区二区三区| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲日本一区二区一本一道|