AI 安全之對抗樣本入門

兜哥 編著

  • 出版商: 機械工業
  • 出版日期: 2019-06-01
  • 定價: $774
  • 售價: 8.5$658
  • 語言: 簡體中文
  • ISBN: 7111626826
  • ISBN-13: 9787111626824
  • 相關分類: GAN 生成對抗網絡
  • 已絕版

買這商品的人也買了...

商品描述

本書是學習對抗樣本的入門書籍,從相關的背景知識開始介紹,便於讀者理解。本書不僅適合於信息安全領域的從業人員,而且適合於所有應用人工智能的開發人員。伴隨著人工智能的遍地開花和逐步落地,人工智能變成了真真實實影響人們生活的技術,直接關繫到人身安全、財產安全還有個人隱私。瞭解對抗樣本的基本原理,對於開發更加安全的人工智能應用是非常有幫助的。
本書內容共9章:第1章介紹深度學習的基礎知識,重點介紹了與對抗樣本相關的梯度、優化器、反向傳遞等知識點。第2章介紹如何搭建學習對抗樣本的軟硬件環境,雖然GPU不是必須具備的,但是使用GPU可以更加快速地驗證你的想法。第3章概括介紹常見的深度學習框架,從TensorFlow、Keras、PyTorch到MXNet。第4章介紹圖像處理領域的基礎知識,這部分知識對於理解對抗樣本領域中常見的圖像處理技巧非常有幫助。第5章介紹常見的白盒攻擊算法,從最基礎的FGSM、DeepFool到經典的JSMA和CW算法。第6章介紹常見的黑盒攻擊算法。第7章介紹對抗樣本在目標檢測領域的應用。第8章介紹對抗樣本的常見加固算法,與對抗樣本一樣,抵禦對抗樣本的技術也非常有趣。第9章介紹常見的對抗樣本工具以及如何搭建NIPS 對抗防禦環境和輕量級攻防對抗環境robust-ml,通過這章,讀者可以瞭解如何站在巨人的肩膀上,快速生成自己的對抗樣本,進行攻防對抗。

本書系統介紹對抗樣本的基本原理,從相關的背景知識開始,包含搭建學習對抗樣本的軟硬件環境、常用工具,帶領讀者快速上手實踐。本書作者在安全領域有多年實踐經驗,對業界常見的方法做了系統的歸納總結,包含大量案例,深入淺出,實踐性強。
本書所有示例代碼在GitHub上可以下載:https://github.com/duoergun0729/adversarial_examples

主要內容包括:
對抗樣本相關的深度學習背景知識,如梯度、優化器、反向傳遞等。
如何搭建學習對抗樣本的軟硬件環境。
對抗樣本領域的一些常見圖像處理技巧。
常見的白盒攻擊算法與黑盒攻擊算法。
對抗樣本在目標檢測領域的應用。
對抗樣本的常見加固算法。
常見的對抗樣本工具以及如何搭建NIPS對抗樣本競賽環境。
如何站在巨人的肩膀上,快速生成自己的對抗樣本,進行攻防對抗。

目錄大綱

對本書的讚譽
序一
序二
自序
前言

第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 視覺化CNN20
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
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