AI 安全之对抗样本入门 (25):打造对抗样本工具箱 2.3&2.4

阅读数:10 2019 年 11 月 30 日 15:08

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

(Python 更新源)

内容简介
第 1 章介绍了深度学习的基础知识,重点介绍了与对抗样本相关的梯度、优化器、反向传递等知识点。
第 2 章介绍了如何搭建学习对抗样本的软硬件环境,虽然 GPU 不是必需的,但是使用 GPU 可以更加快速地验证你的想法。
第 3 章概括介绍了常见的深度学习框架,从 TensorFlow、Keras、PyTorch 到 MXNet。
第 4 章介绍了图像处理领域的基础知识,这部分知识对于理解对抗样本领域的一些常见图像处理技巧非常有帮助。
第 5 章介绍了常见的白盒攻击算法,从基础的 FGSM、DeepFool 到经典的 JSMA 和 CW。
第 6 章介绍了常见的黑盒攻击算法。
第 7 章介绍了对抗样本在目标识别领域的应用。
第 8 章介绍了对抗样本的常见抵御算法,与对抗样本一样,抵御对抗样本的技术也非常有趣。
第 9 章介绍了常见的对抗样本工具以及如何搭建 NIPS 2017 对抗防御环境和轻量级攻防对抗环境 robust-ml,通过这章读者可以了解如何站在巨人的肩膀上,快速生成自己的对抗样本,进行攻防对抗。

与 APT 类似,Python 的包安装与更新主要使用 PIP 工具,推荐的 PIP 更新源配置方式为,在用户目录下创建.pip 文件夹,并创建 pip.conf 文件:

复制代码
[global]
trusted-host = pypi.mirrors.ustc.edu.cn
index-url = https://pypi.mirrors.ustc.edu.cn/simple

(Jupyter notebook)

Jupyter notebook 源自 Fernando Perez 发起的 IPython 项目。IPython 是一种交互式 shell,与普通的 Python shell 相似,但具有一些很好的功能,例如语法高亮显示和代码补全。Jupyter notebook 可以在任何地方运行 notebook 服务器,并且可通过互联网访问服务器。通常,你会在存储所有数据和 notebook 文件的自有计算机上运行 Jupyter notebook 服务。Jupyter notebook 部署方便,使用简单,广受深度学习开发和研究者的喜爱,本书的示例代码默认都使用 Jupyter notebook 编写。直接使用 PIP 安装 Jupyter notebook 即可。

复制代码
pip install Jupyter

启动 Jupyter notebook 服务的方式为:

复制代码
jupyter notebook

Jupyter notebook 的整个操作过程都可以通过 Web 界面进行(见图 2-6),启动 Jupyter notebook 后,会调起系统默认的浏览器进行访问,默认访问地址为:

复制代码
https://localhost:8888/tree

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

图 2-6 Jupyter notebook 界面

若要创建一个新的 notebook,只需鼠标单击 New,在下拉选项中选择一个你想启动的 notebook 类型即可,如图 2-7 所示。

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

图 2-7 Jupyter notebook 创建新文件的界面

在 Jupyter notebook 中编写 Python,如图 2-8 所示,需要选中指定的行,使用 code 模式,编写完成后,按下 Shift + Enter 组合键即可运行。

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

图 2-8 在 Jupyter notebook 中编写 Python

Jupyter notebook 支持通过 Markdown 语法编写注释等内容,如图 2-9 所示,只要选中指定的行使用 Markdown 语法,编写完成后,按下 Shift + Enter 组合键即可运行。

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

图 2-9 在 Jupyter notebook 中编写 Markdown

Jupyter notebook 的代码补齐功能非常强大,不过需要单独安装插件,首先安装 nbextensions :

复制代码
pip install jupyter_contrib_nbextensions -i
https://pypi.mirrors.ustc.edu.cn/simple
jupyter contrib nbextension install --user

然后安装 nbextensions_configurator:

复制代码
pip install --user jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable –user

最后启动 Jupyter notebook,如图 2-10 所示,进入 Jupyter notebook 主页,然后在如图 2-11 所示的 Nbextensions 配置页勾选 Hinterland,使能代码自动补齐功能。

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

图 2-10 Jupyter notebook 主页

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

图 2-11 Nbextensions 配置页面

在 Jupyter notebook 中使用 Anaconda 中的环境需要单独配置,默认情况下使用的是系统默认的 Python 环境,以使用 AdvBox 环境为例。

首先在默认系统环境下执行以下命令,安装 ipykernel:

复制代码
conda install ipykernel
conda install -n advbox ipykernel

在 advbox 环境下激活,这样启动后就可以在界面上看到 advbox 了(参见图 2-12):

复制代码
python -m ipykernel install --user --name advbox --display-name advbox

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

图 2-12 advbox 环境激活成功

AI安全之对抗样本入门(25):打造对抗样本工具箱 2.3&2.4

购书地址 https://item.jd.com/12532163.html?dist=jd

评论

发布