序一
序二
自序
前言
第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
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