NIPS全称为神经信息处理系统大会,是关于机器学习领域的顶级会议,也是令众多学者振奋的学术盛会。该会议固定在每年的12月举行,由NIPS基金会主办。 但今年年底举办的NIPS将新增一个议程,NIPS 2017Competition Track,从23个候选提案中选择了五个数据驱动的比赛项目。近日谷歌大脑研究员Ian Goodfellow在社媒平台中强烈推荐了由他组织的Adversarial Attacks and Defences(对抗攻击防御)比赛。为什么组织这样一个比赛呢,这是因为当前图像分类器非常容易被精心设计的对抗图像所欺骗,这些图像给原始图像及正确分类图像添加了微小变化,这些图像几乎不容易被人眼察觉,但会导致图像分类器错误地对错误的分类充满自信。
这项比赛是在kaggle平台上进行,关于kaggle竞赛的介绍与相关竞赛技巧可以参考博主的以下几篇博客:
Kaggle老手领你入门梯度提升——梯度提升两三事
干货|大神教你如何参加kaggle比赛——根据CT扫描图预测肺癌
Kaggle官网上有三个相关的对抗学习挑战,如图1所示
下面具体来说下这三个相关比赛的侧重点:
1、Non Targeted Adversarial Attack,竞赛者所提交的系统需要对任何类别的图像进行处理,使得某个通用机器学习分类器无法识别。
2、Targeted Adversarial Attack,竞赛者所提交的系统需要对给定的图像进行处理,使得某个通用机器学习分类器无法识别。
3、Defense Against Adversarial Attack,竞赛者需要构建一个机器学习分类器,拥有足够的鲁棒性使之能正确鉴别对抗性的图像。
根据前两个挑战的对抗性攻击,防御挑战的得分取决于分类器的好坏,另外前两个挑战的得分是基于在第三个挑战中对抗性攻击的伎俩有多好。
下面,我们将通过一些代码示例来生成非目标和目标的对抗图像,然后看看Inception V3模型是如何对它们进行分类。关于googleNet Inception V3介绍大家可以上网找找相关教程或博客,这里就不一一讲述。
注:下面许多的代码是基于Alex例子,基于tensorflow实现。
原文链接:
https://m.aliyun.com/yunqi/articles/126898