最近在参加IJCAI-19阿里巴巴人工智能对抗算法竞赛(点击了解),初赛刚刚结束,防御第23名,目标攻击和无目标攻击出了点小问题,成绩不太好都是50多名,由于找不到队友,只好一个人跟一群大佬PK,双拳难敌四手,差点自闭放弃比赛了。由于知道对抗攻击的人很少,于是抽空写篇博客,简单科普一下人工智能与信息安全的交叉前沿研究领域:深度学习攻防对抗。

然后简单介绍一下IJCAI-19 阿里巴巴人工智能对抗算法竞赛

目前,人脸识别、自动驾驶、刷脸支付、抓捕逃犯、美颜直播……人工智能与实体经济深度结合,彻底改变了我们的生活。神经网络和深度学习貌似强大无比,值得信赖。

但是神经网络也有它的缺陷,只要略施小计就能使最先进的深度学习模型指鹿为马,例如:通过细微地改动图片,就可以使神经网络识别出错。

深度学习攻防对抗的历史:

早在2015年,“生成对抗神经网络GAN之父”Ian Goodfellow在ICLR会议上展示了攻击神经网络欺骗成功的案例,在原版大熊猫图片中加入肉眼难以发现的干扰,生成对抗样本。就可以让Google训练的神经网络误认为它99.3%是长臂猿。

2017NIPS对抗样本攻防竞赛案例:阿尔卑斯山图片篡改后被神经网络误判为狗、河豚被误判为螃蟹。对抗样本不仅仅对图片和神经网络适用,对支持向量机、决策树等算法也同样有效。

在2018年,Ian Goodfellow在一篇论文中提出了首个可以欺骗人类的对抗样本。下图左图为猫咪原图,经过对抗样本干扰之后生成右图,对于右图,神经网络和人眼都认为是狗。不仅欺骗了神经网络,还能欺骗人眼。

这就是对机器学习模型的逃逸攻击,它能绕过深度学习的判别并生成欺骗结果。攻击者在原图上构造的修改被称为“对抗样本”。神经网络对抗样本生成与攻防是一个非常有趣且有前景的研究方向。

黑盒攻击与白盒攻击:

白盒攻击是在已经获取机器学习模型内部的所有信息和参数上进行攻击,令损失函数最大,直接计算得到对抗样本;黑盒攻击则是在神经网络结构为黑箱时,仅通过模型的输入和输出,逆推生成对抗样本。

攻击方法:

FGSM(Fast Gradient Sign Method):

  Ian Goodfellow等人在年2014提出了一种生成对抗性例子的简单方法FGSM

  

  与L- BFGS等复杂方法相比,该方法简单,计算效率高,但通常成功率较低。采用FGSM的方法,可使ImageNet模型识别错误率大约63%−69%。

I-FGSM(Iterative Fast Gradient Sign Method):

  FGSM方法的一种扩展,通过简单的多步迭代FGSM,找到损失函数最大值,每一步迭代的步长会相应减小。

  

攻击方:

  通过生成更具迷惑性的对抗样本,使现有的深度学习模型识别出错。

防御方:

  训练更具鲁棒性的模型,使模型练就一双“火眼金睛”,正确识别对抗样本。

对抗训练:

  在训练模型的时候就加上对抗样本,相当于让深度学习模型在做一份考试真题,等真正上战场的时候,碰到对抗样本也无所畏惧。

IJCAI-19 阿里巴巴人工智能对抗算法竞赛

  比赛主要针对图像分类任务,包括模型攻击与模型防御。采用电商场景的图片识别任务进行攻防对抗。总共会公开110,000左右的商品图片,来自110个商品类目,每个类目大概1000个图片。

本次比赛包括以下三个任务:

  • 无目标攻击: 生成对抗样本,使模型识别错误。
  • 目标攻击: 生成对抗样本,使模型识别到指定的错误类别。
  • 模型防御: 构建能够正确识别对抗样本的模型。

比赛为三组选手互相进行攻防,参赛选手既可以作为攻击方,对图片进行轻微扰动生成对抗样本,使模型识别错误;也可以作为防御方,通过构建一个更加鲁棒的模型,准确识别对抗样本。

关于比赛更多细节暂时不宜公开,比赛仍在进行中。。。

(待比赛结束后更新)

深度学习攻防对抗(JCAI-19 阿里巴巴人工智能对抗算法竞赛)的更多相关文章

  1. 在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN

    Generative Adversarial Network 是深度学习中非常有趣的一种方法.GAN最早源自Ian Goodfellow的这篇论文.LeCun对GAN给出了极高的评价: “There ...

  2. 《深度学习-改善深层神经网络》-第二周-优化算法-Andrew Ng

    目录 1. Mini-batch gradient descent 1.1 算法原理 1.2 进一步理解Mini-batch gradient descent 1.3 TensorFlow中的梯度下降 ...

  3. 深度学习框架如何自动选择最快的算法?Fast Run 让你收获最好的性能!

    作者:王博文 | 旷视 MegEngine 架构师 一.背景 对于深度学习框架来说,网络的训练/推理时间是用户非常看中的.在实际生产条件下,用户设计的 NN 网络是千差万别,即使是同一类数学计算,参数 ...

  4. 02基于python玩转人工智能最火框架之TensorFlow人工智能&深度学习介绍

    人工智能之父麦卡锡给出的定义 构建智能机器,特别是智能计算机程序的科学和工程. 人工智能是一种让计算机程序能够"智能地"思考的方式 思考的模式类似于人类. 什么是智能? 智能的英语 ...

  5. 人工智能之深度学习-初始环境搭建(安装Anaconda3和TensorFlow2步骤详解)

    前言: 本篇文章主要讲解的是在学习人工智能之深度学习时所学到的知识和需要的环境配置(安装Anaconda3和TensorFlow2步骤详解),以及个人的心得体会,汇集成本篇文章,作为自己深度学习的总结 ...

  6. 深度学习系列 Part (1)

    传统机器学习的回顾 近年来,深度学习的概念十分火热,人工智能也由于这一技术的兴起,在近几年吸引了越来越多的关注.我们这里,将结合一些基本的用例,简要的介绍一下这一新的技术. 我们首先需要明确人工智能. ...

  7. 基于OpenCL的深度学习工具:AMD MLP及其使用详解

    基于OpenCL的深度学习工具:AMD MLP及其使用详解 http://www.csdn.net/article/2015-08-05/2825390 发表于2015-08-05 16:33| 59 ...

  8. Python深度学习读书笔记-1.什么是深度学习

    人工智能 什么是人工智能.机器学习与深度学习(见图1-1)?这三者之间有什么关系?

  9. 深度学习 - DL

    雷锋网 - 2016 | 人工智能在深度学习领域的前世今生(原文链接) Deep Learning - DL,深度学习是机器学习的一种. 深度学习最重要的作用:表示学习 深度学习实践的四个关键要素 计 ...

随机推荐

  1. C# winform 动态操作webService

    1.动态操作webService类 public static class WebServiceHelper { #region InvokeWebService //动态调用web服务 public ...

  2. python_模块 hashlib ,configparser, logging

    hashlib模块 算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长 ...

  3. 区别:javascript:void(0);javascript:;

    2015-07~2015-08 区别:javascript:void(0);javascript:; href="#",包含了一个位置信息.默认的锚是#top,也就是网页的上端. ...

  4. 微信小程序的加载机制和运行机制

    一.运行机制 冷启动指的是重新启动,热启动指的是5分钟内从后台切换到前台,只有冷启动才能加载最新的包. 小程序什么时候会关闭? 5min后台运行,连续收到两次(2s)系统告警. 二.加载机制 三.小程 ...

  5. teb教程3

    配置和运行机器人导航 简介:配置teb_local_planner作为navigation中local planner的插件 参考teb安装 由于局部代价地图的大小和分辨率对优化性能影响很大,因为占据 ...

  6. JDK安装的一些设置

    一:设置环境变量 1.新建环境变量JAVA_HOME值为JDK安装目录   然后编辑Path环境变量添加".%JAVA_HOME%\bin;". Ps:JDK5.0不需要设置cla ...

  7. java架构的演变

    传统构架 传统构架是部署在一个tomcat上的,Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群.因此当 ...

  8. Java中的API

    待施工 111 API: Scanner Random String StringBuilder ArrayList 集合详解: 包 import java.util.ArrayList 构造方法pu ...

  9. Docker 初识之路

    一. 安装配置 1.安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2   2.设置阿里云镜像源 sudo yu ...

  10. delphi 打印 PDevMode 说明

    //PDevMode = _devicemodeW;// _devicemodeW = record// dmDeviceName: array[0..CCHDEVICENAME - 1] of Wi ...