| 作者 |
| [美]叶夫根尼·沃罗贝基克(Yevgeniy Vorobeychik)穆拉特·坎塔尔乔格卢(Murat Kantarcioglu)董洪义 |
| 丛书名 |
| 智能科学与技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9782003112151 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------对抗机器学习:机器学习系统中的攻击和防御--------------------------- 本书提供了针对对抗性机器学习的弱点,研究并开发相关操作技术这一领域的概述。回顾了机器学习的概念和方法后提出了对机器学习攻击的一般分类及处理两大类攻击、相关的防御和尝试学习的攻击技术。 ---------------------------深度学习之PyTorch物体检测实战--------------------------- 本书从物体检测的概念、发展、经典实现方法等几个方面系统地介绍了物体检测的相关知识,重点介绍了Faster RCNN、SDD和YOLO这三个经典的检测器,并利用PyTorch框架从代码角度进行了细致讲解。另外,本书进一步介绍了物体检测的轻量化网络、细节处理、难点问题及未来的发展趋势,从实战角度给出了多种优秀的解决方法,便于读者更深入地掌握物体检测技术,从而做到在实际项目中灵活应用。 本书共10章,涵盖的主要内容有物体检测与PyTorch框架基础概念与背景;PyTorch基础知识;基础卷积网络Backbone;两阶经典检测器Faster RCNN;单阶多层检测器SSD;单阶经典检测器YOLO;模型加速之轻量化网络;物体检测细节处理;物体检测难点问题;物体检测的未来发展。本书适合PyTorch框架爱好者和物体检测相关从业人员阅读,也适合深度学习和计算机视觉领域的研究人员阅读。 |
| 目录 |
---------------------------对抗机器学习:机器学习系统中的攻击和防御--------------------------- 译者序 前言 致谢 作者简介 译者简介 第1章 引言1 第2章 机器学习预备知识5 2.1 监督学习5 2.1.1 回归学习6 2.1.2 分类学习7 2.1.3 PAC可学习性9 2.1.4 对抗环境下的监督学习9 2.2 无监督学习10 2.2.1 聚类11 2.2.2 主成分分析11 2.2.3 矩阵填充12 2.2.4 对抗环境下的无监督学习13 2.3 强化学习15 2.3.1 对抗环境下的强化学习17 2.4 参考文献注释17 第3章 对机器学习的攻击类型19 3.1 攻击时机20 3.2 攻击者可以利用的信息22 3.3 攻击目标23 3.4 参考文献注释24 第4章 决策时攻击26 4.1 对机器学习模型的规避攻击示例26 4.1.1 对异常检测的攻击:多态混合27 4.1.2 对PDF恶意软件分类器的攻击28 4.2 决策时攻击的建模30 4.3 白盒决策时攻击31 4.3.1 对二元分类器的攻击:对抗性分类器规避31 4.3.2 对多类分类器的决策时攻击38 4.3.3 对异常检测器的决策时攻击40 4.3.4 对聚类模型的决策时攻击40 4.3.5 对回归模型的决策时攻击41 4.3.6 对强化学习的决策时攻击44 4.4 黑盒决策时攻击45 4.4.1 对黑盒攻击的分类法46 4.4.2 建模攻击者信息获取48 4.4.3 使用近似模型的攻击50 4.5 参考文献注释51 第5章 决策时攻击的防御53 5.1 使监督学习对决策时攻击更坚固53 5.2 最优规避鲁棒性分类56 5.2.1 最优规避鲁棒的稀疏SVM56 5.2.2 应对自由范围攻击的规避鲁棒SVM60 5.2.3 应对受限攻击的规避鲁棒SVM62 5.2.4 无限制特征空间上的规避鲁棒分类63 5.2.5 对抗缺失特征的鲁棒性64 5.3 使分类器对决策时攻击近似坚固66 5.3.1 松弛方法66 5.3.2 通用防御:迭代再训练68 5.4 通过特征级保护的规避鲁棒性69 5.5 决策随机化70 5.5.1 模型70 5.5.2 最优随机化的分类操作72 5.6 规避鲁棒的回归74 5.7 参考文献注释75 第6章 数据投毒攻击77 6.1 建模投毒攻击78 6.2 对二元分类的投毒攻击79 6.2.1 标签翻转攻击79 6.2.2 对核SVM的中毒数据插入攻击81 6.3 对无监督学习的投毒攻击84 6.3.1 对聚类的投毒攻击84 6.3.2 对异常检测的投毒攻击86 6.4 对矩阵填充的投毒攻击87 6.4.1 攻击模型87 6.4.2 交替最小化的攻击89 6.4.3 核范数最小化的攻击91 6.4.4 模仿普通用户行为92 6.5 投毒攻击的通用框架94 6.6 黑盒投毒攻击96 6.7 参考文献注释98 第7章 数据投毒的防御100 7.1 通过数据二次采样的鲁棒学习100 7.2 通过离群点去除的鲁棒学习101 7.3 通过修剪优化的鲁棒学习104 7.4 鲁棒的矩阵分解107 7.4.1 无噪子空间恢复107 7.4.2 处理噪声108 7.4.3 高效的鲁棒子空间恢复109 7.5 修剪优化问题的高效算法110 7.6 参考文献注释111 第8章 深度学习的攻击和防御113 8.1 神经网络模型114 8.2 对深度神经网络的攻击:对抗样本115 8.2.1 l2范数攻击116 8.2.2 l∞范数攻击119 8.2.3 l0范数攻击121 8.2.4 物理世界中的攻击122 8.2.5 黑盒攻击123 8.3 使深度学习对对抗样本鲁棒123 8.3.1 鲁棒优化124 8.3.2 再训练127 8.3.3 蒸馏127 8.4 参考文献注释128 第9章 未来之路131 9.1 超出鲁棒优化的范围131 9.2 不完全信息132 9.3 预测的置信度133 9.4 随机化133 9.5 多个学习器134 9.6 模型和验证134 参考文献136 索引146 ---------------------------深度学习之PyTorch物体检测实战--------------------------- 前言 第1篇 物体检测基础知识 第1章 浅谈物体检测与PyTorch 2 1.1 深度学习与计算机视觉 2 1.1.1 发展历史 2 1.1.2 计算机视觉 7 1.2 物体检测技术 9 1.2.1 发展历程 10 1.2.2 技术应用领域 11 1.2.3 评价指标 12 1.3 PyTorch简介 17 1.3.1 诞生与特点 17 1.3.2 各大深度学习框架对比 17 1.3.3 为什么选择PyTorch 19 1.3.4 安装方法 20 1.4 基础知识准备 22 1.4.1 Linux基础 22 1.4.2 Python基础 24 1.4.3 高效开发工具 29 1.5 总结 36 第2章 PyTorch基础 37 2.1 基本数据:Tensor 37 2.1.1 Tensor数据类型 37 2.1.2 Tensor的创建与维度查看 39 2.1.3 Tensor的组合与分块 41 2.1.4 Tensor的索引与变形 42 2.1.5 Tensor的排序与取极值 46 2.1.6 Tensor的自动广播机制与向量化 46 2.1.7 Tensor的内存共享 47 2.2 Autograd与计算图 48 2.2.1 Tensor的自动求导:Autograd 49 2.2.2 计算图 50 2.2.3 Autograd注意事项 51 2.3 神经网络工具箱torch.nn 52 2.3.1 nn.Module类 52 2.3.2 损失函数 55 2.3.3 优化器nn.optim 56 2.4 模型处理 59 2.4.1 网络模型库:torchvision.models 59 2.4.2 加载预训练模型 60 2.4.3 模型保存 61 2.5 数据处理 61 2.5.1 主流公开数据集 61 2.5.2 数据加载 63 2.5.3 GPU加速 65 2.5.4 数据可视化 66 2.6 总结 68 第3章 网络骨架:Backbone 69 3.1 神经网络基本组成 69 3.1.1 卷积层 70 3.1.2 激活函数层 72 3.1.3 池化层 75 3.1.4 Dropout层 76 3.1.5 BN层 77 3.1.6 全连接层 79 3.1.7 深入理解感受野 81 3.1.8 详解空洞卷积(Dilated Convolution) 82 3.2 走向深度:VGGNet 83 3.3 纵横交错:Inception 87 3.4 里程碑:ResNet 93 3.5 继往开来:DenseNet 95 3.6 特征金字塔:FPN 99 3.7 为检测而生:DetNet 106 3.8 总结 110 第2篇 物体检测经典框架 第4章 两阶经典检测器:Faster RCNN 112 4.1 RCNN系列发展历程 112 4.1.1 开山之作:RCNN 112 4.1.2 端到端:Fast RCNN 113 4.1.3 走向实时:Faster RCNN 114 4.2 准备工作 114 4.3 Faster RCNN总览 115 4.4 详解RPN 117 4.4.1 理解Anchor 117 4.4.2 RPN的真值与预测量 119 4.4.3 RPN卷积网络 120 4.4.4 RPN真值的求取 122 4.4.5 损失函数设计 124 4.4.6 NMS与生成Proposal 125 4.4.7 筛选Proposal得到RoI 126 4.5 RoI Pooling层 127 4.6 全连接RCNN模块 130 4.6.1 RCNN全连接网络 130 4.6.2 损失函数设计 131 4.7 Faster RCNN的改进算法 131 4.7.1 审视Faster RCNN 132 4.7.2 特征融合:HyperNet 133 4.7.3 实例分割:Mask RCNN 134 4.7.4 全卷积网络:R-FCN 137 4.7.5 级联网络:Cascade RCNN 139 4.8 总结 141 第5章 单阶多层检测器:SSD 142 5.1 SSD总览 142 5.1.1 SSD的算法流程 142 5.1.2 代码准备工作 143 5.2 数据预处理 144 5.2.1 加载PASCAL数据集 144 5.2.2 数据增强 144 5.3 网络架构 148 5.3.1 基础VGG结构 148 5.3.2 深度卷积层 149 5.3.3 PriorBox与边框特征提取网络 150 5.3.4 总体网络计算过程 153 5.4 匹配与损失求解 154 5.4.1 预选框与真实框的匹配 154 5.4.2 定位损失的计算 155 5.4.3 难样本挖掘 156 5.4.4 类别损失计算 156 5.5 SSD的改进算法 157 5.5.1 审视SSD 157 5.5.2 特征融合:DSSD 158 5.5.3 彩虹网络:RSSD 160 5.5.4 基于SSD的两阶:RefineDet 162 5.5.5 多感受野融合:RFBNet 165 5.6 总结 166 第6章 单阶经典检测器:YOLO 167 6.1 无锚框预测:YOLO v1 167 6.1.1 网络结构 167 6.1.2 特征图的意义 168 6.1.3 损失计算 169 6.2 依赖锚框:YOLO v2 171 6.2.1 网络结构的改善 171 6.2.2 先验框的设计 173 6.2.3 正、负样本与损失函数 175 6.2.4 正、负样本选取代码示例 176 6.2.5 工程技巧 179 6.3 多尺度与特征融合:YOLO v3 180 6.3.1 新网络结构DarkNet-53 180 6.3.2 多尺度预测 181 6.3.3 Softmax改为Logistic 182 6.4 总结 183 第3篇 物体检测的难点与发展 第7章 模型加速之轻量化网络 186 7.1 压缩再扩展:SqueezeNet 188 7.1.1 SqueezeNet网络结构 188 7.1.2 SqueezeNet总结 190 7.2 深度可分离:MobileNet 191 7.2.1 标准卷积 191 7.2.2 深度可分离卷积 192 7.2.3 MobileNet v1结构 193 7.2.4 MobileNet v1总结 198 7.2.5 MobileNet v2 198 7.3 通道混洗:ShuffleNet 200 7.3.1 通道混洗 201 7.3.2 网络结构 202 7.3.3 ShuffleNet v2 205 7.4 总结 207 第8章 物体检测细节处理 209 8.1 非极大值抑制:NMS 209 8.1.1 NMS基本过程 210 8.1.2 抑制得分:Soft NMS 212 8.1.3 加权平均:Softer NMS 213 8.1.4 定位置信度:IoU-Net 215 8.2 样本不均衡问题 217 8.2.1 不均衡问题分析 217 8.2.2 在线难样本挖掘:OHEM 219 8.2.3 专注难样本:Focal Loss 221 8.3 模型过拟合 224 8.3.1 数据增强 226 8.3.2 L1与L2正则化 227 8.4 总结 229 第9章 物体检测难点 230 9.1 多尺度检测 230 9.1.1 多尺度问题 230 9.1.2 降低下采样率与空洞卷积 232 9.1.3 Anchor设计 233 9.1.4 多尺度训练 235 9.1.5 特征融合 235 9.1.6 尺度归一化:SNIP 236 9.1.7 三叉戟:TridentNet 238 9.2 拥挤与遮挡 239 9.2.1 遮挡背景 240 9.2.2 排斥损失:Repulsion Loss 242 9.2.3 OR-CNN 244 9.3 总结 247 第10章 物体检测的未来发展 248 10.1 重新思考物体检测 248 10.1.1 精度与速度的权衡 249 10.1.2 卷积网络的可解释性与稳定性 249 10.1.3 训练:微调还是随机初始化 250 10.1.4 考虑物体间关系的检测 251 10.1.5 优化卷积方式 252 10.1.6 神经架构搜索:NAS 253 10.1.7 与产业结合的创新 255 10.2 摆脱锚框:Anchor-Free 257 10.2.1 重新思考Anchor 257 10.2.2 基于角点的检测:CornerNet 258 10.2.3 检测中心点:CenterNet 262 10.2.4 锚框自学习:Guided Anchoring 264 10.3 总结 266 |