AI 安全之对抗样本入门 (18):深度学习基础知识 1.4.5

阅读数:8 2019 年 11 月 30 日 15:00

AI安全之对抗样本入门(18):深度学习基础知识 1.4.5

(ROC 与 AUC)

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

ROC(Receiver Operating Characteristic,受试者工作特征)曲线是以真阳性率为纵坐标、假阳性率为横坐标绘制的曲线。它是反映灵敏性和特效性连续变量的综合指标。一般认为 ROC 越光滑说明分类算法过拟合的概率越低,越接近左上角说明分类性能越好。AUC(Area Under the Receiver Operating Characteristic)曲线就是量化衡量 ROC 分类性能的指标,如图 1-33 所示,物理含义是 ROC 曲线的面积,AUC 越大越好。

AI安全之对抗样本入门(18):深度学习基础知识 1.4.5

图 1-33 ROC 曲线示例

绘制 ROC 曲线的方法如下:

复制代码
f_pos, t_pos, thresh = metrics.roc_curve(test_Y, pred_Y)
auc_area = metrics.auc(f_pos, t_pos)
plt.plot(f_pos, t_pos, 'darkorange', lw=2, label='AUC = %.2f' % auc_area)
plt.legend(loc='lower right')
plt.plot([0, 1], [0, 1], color='navy', linestyle='--')
plt.title('ROC')
plt.ylabel('True Pos Rate')
plt.xlabel('False Pos Rate')
plt.show()

在 Scikit-Learn 中,可以使用如下代码获得 AUC 值:

复制代码
print "AUC:"
print metrics.roc_auc_score(test_Y, pred_Y)

计算获得的 AUC 值为 0.70:

复制代码
AUC:
0.696992481203

AI安全之对抗样本入门(18):深度学习基础知识 1.4.5

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

评论

发布