当前位置: 首页 > 编程日记 > 正文

帮AI体检看病一条龙服务,阿里发布“AI安全诊断大师”

如同一些出生免疫力就有缺陷的人一样,AI也存在免疫力缺陷。基于从源头打造安全免疫力的新一代安全架构理念,最近,阿里安全研究发布了一项核心技术“AI安全诊断大师”,可对AI模型全面体检,“看诊开方”,让AI模型出生就自带增强型免疫力,抵御安全威胁。

“AI安全诊断大师”包括一款对AI模型安全性进行评估和提升防御能力的工具箱,对多个云上算法接口进行安全性测试后,还沉淀出一套在实际生产中能对恶意攻击进行过滤,降低安全风险的AI防火墙系统。

中国科学院计算技术研究所副研究员王树徽认为,在数字基建当中,人工智能技术的安全问题关乎到整个信息经济基础设施的安全,已越来越受到社会各界的关注。虽然近年来针对人工智能安全的理论研究取得了一些进展,但在实际应用方面,仍然没有切实可行的落地成果提高真实场景下人工智能系统的鲁棒性。

“阿里安全团队提出了新一代安全架构及相关核心技术,正是针对数字基建中的人工智能安全问题进行的一次体系化探索和创新。”王树徽说。

“AI安全诊断大师”能干什么

AI在安全性上存在的问题来源于机器感知和人类感知的区别,人类感知是全局的,同时具备底层局部特征和高层语义特征的感知和认知能力,对于图像或者文本在某些局部区域的微小扰动能够有很高的容忍度,不易收到干扰。

科研实验结果表明,目前主流的AI模型则对局部的微小扰动可能会很敏感,一些细微不可见的改动就可以引起算法输出结果上的巨大误差,这种针对AI模型产生的特定扰动被称为对抗样本。自从2014年对抗样本被提出后,越来越多的研究人员通过实验发现,面向图像、语音、文本等载体的分类、检测、检索等模型都会受到对抗样本的攻击。

对抗样本攻击产生的后果可能是非常严重的。在互联网内容业务中,有些恶意行为可能通过上传对抗样本以规避算法检测或者绕开机器监管,导致不良信息泛滥。或者通过佩戴经过特定设计、有对抗攻击能力的眼镜等物体,导致在手机解锁、线下安防等领域误导AI系统,引发事故或者损失。

车辆的辅助驾驶和自动驾驶系统也可能会因AI技术的安全缺陷丧失识别交通指示牌的能力,成为“没有视觉系统”的汽车,从而给出错误的决策,遇到大型障碍物时“看不到”停车标志,威胁人身和财产安全;

据阿里安全图灵实验室高级算法专家华棠介绍,“AI安全诊断大师”可针对AI本身的安全问题,提供全方位的安全性能评估服务和定制化的防御提升方案。通过测试和发现算法可能出错的某些特殊情形,给出有针对性的模型防御增强建议。

值得注意的是,“安全诊断”看得见。这种“安全诊断”能给出诊断的综合分数、单项分数,并将安全威胁展示出来。“AI安全诊断大师”提供了模型安全性可视化分析结果,将模型的损失曲面相对不同方向的扰动量以二维及三维图例来呈现出来。

下图可以直观地看出AI模型面对扰动下的安全性,或者对不同模型进行安全性对比,曲面越平缓的算法对恶意攻击更加鲁棒,安全性更强。下图是模型输出loss与扰动的对应关系,其中横轴是随机扰动,纵轴是对抗扰动,可以看出在随机扰动方向上不断加大噪声强度,但loss变化趋势平缓,表明模型对随机扰动具备一定的鲁棒性。而在对抗扰动方向上加大噪声强度可能导致loss急剧加大,导致模型输出结果发生变化,攻击成功。

“AI安全诊断大师”的可视化诊断结果界面

目前研究人员已经提出了不少对抗样本攻击方法,不同模型对于不同的攻击算法的防御能力表现也会不一样,因此对AI模型进行安全评估时,需要针对各种攻击算法进行独立评估,同时也有必要综合多个评估结果给出整体结论。

为此,“AI安全诊断大师”集成了目前业界常见的攻击算法,同时也在不断补充这一集合。对于目标模型,基于每种算法都能给出扰动量-识别率曲线以评估模型面对该算法攻击下的防御性能,综合了各种算法和各扰动量下的识别率给出最终安全性评估分值。

以下是“AI安全诊断大师”分别处于Resnet50和VGG16中,在不同攻击下的鲁棒性表现。横轴是扰动的噪声强度,纵轴是模型识别准确率,每一条实曲线表示一种攻击方法,可以看出使用相同攻击方法时扰动强度越大则攻击成功率越高,导致模型识别准确率下降越多;而虚线是在每一个扰动强度下多种攻击方法下模型识别准确率的最小值组成的,表示模型在该扰动强度下的最低防御能力。因此,曲线下的面积可用于评估模型在各攻击方法和综合方法下的鲁棒性。

“AI安全诊断大师”在不同攻击下的鲁棒性表现

除了对模型进行面对白盒攻击的安全评估之外,它还可以提供黑盒攻击实验并进行安全评估。就好比对于那些不方便“面诊”的“患者”,只能提供API接口的AI服务,“AI安全诊断大师”提供了多种黑盒查询攻击和迁移攻击的手段,只需要调用接口即可评测服务的安全性。

对于模型的安全性能评估不是最终目标。“AI安全诊断大师”检测出算法服务的潜在安全风险后,还会提供针对恶意攻击的防火墙功能,通过算法对不同种类攻击的脆弱性程度,定制化提出防御升级的方案。

下图是通过黑盒迁移攻击针对多个算法API进行实验后,绘制的成功率直方图报告。图中左侧部分是在输入样本中添加不同的随机噪声后,导致算法输出结果出错的比例,在大部分情况下各API都具备了较高的鲁棒性,右侧则是使用不同的对抗样本生成方法进行的攻击,其中白盒攻击成功率最高,而黑盒攻击下各API之间的成功率差别就非常明显了,也表示它们所用的模型在安全性上的差距。

“AI安全诊断大师”给多个算法API出具的遭遇攻击的体检报告

“将多种攻击检测和对抗防御方法作为附加模块,可为AI模型部署前置服务,在不修改原模型的基础上,提升模型对于对抗样本攻击的防御性能,降低用户使用成本和风险。经过在色情、暴恐、敏感图像识别等多种内容安全服务上的测试,‘AI安全诊断大师’可将模型对外部攻击的有效防御能力整体提升40%以上。”华棠说。

王树徽评价:“阿里安全从整体层面考虑了人工智能安全的架构性漏洞,提出了‘安全基建’的构想和技术系统。在关键技术层面,集成了最新的AI攻防技术,充分考虑了人工智能安全攻防两端的应用需求,分析结果可解释性强,易于理解并指导实践。在实用层面,提供了一套切实可行、即插即用的解决方案,定制化提出防御升级方案,帮助广大人工智能技术实践者有效提高其算法系统的免疫力和安全水平。此外,阿里安全的新一代安全架构的应用成果也有望促进人工智能技术的发展和进步,为新一代人工智能的理论方法研究提供了支持。”

目前阿里安全正在与相关部门、高校、企业一起参与人工智能安全标准的制定,“AI安全诊断大师”作为优秀应用案例被收录于全国信息标准化技术委员会打造的《人工智能安全标准化白皮书(2019版)》。

对AI攻防的探索

除了尝试将模型攻击防御技术在实际算法服务场景上落地,阿里安全图灵实验室的工程师也在坚持研发新技术推动AI安全更好地服务实际应用。

在攻击方面,他们提出一种针对k近邻分类器的攻击方法,k近邻分类器作为无参模型,不会回传梯度,也就无法提供信息用于对抗样本的生成。为了攻击这样的模型,研究者们设计了一种新的策略,提出了深度k近邻区块(DkNNB),用于估计k近邻算法的输出。具体的,提取深度分类模型某层特征,使用k近邻方法可以获得其最近的k个邻居,并统计这些邻居的标签分布,以每类出现概率分布作为最终的优化目标,来优化DkNNB参数。

针对目前防御性能突出的kNN模型进行攻击实验

在防御方面,他们提出了一种基于Transformer的对抗样本检测方法,改进了传统对抗样本检测方法只能检测特定攻击,难以泛化到其他攻击的缺陷。新的对抗样本检测方法通过自适应的学习样本在特征空间中与其k近邻个样本特征之间的关联,得到比传统用特征空间人工距离度量来分类,更加泛化通用的检测器。该方法面向更加实际场景的对抗攻击检测,目前已在某些内部场景中测试使用。

通过Transformer框架来更好的检测对抗样本

另外,阿里安全图灵实验室的研究者发现,自监督模型在对抗样本上的具有的天然防御能力,以此为基础,提出了一种新的基于自监督模型的对抗训练方法,进一步提升了模型的防御能力,以上两个工作即将在线上举办的ICASSP 2020学术会议发表。

基于自监督模型的对抗训练

不久前,阿里安全还发布了一个高效打造AI深度模型的“AI训练师助手”,让AI训练模型面对新场景时不用从头学习,直接从已经存在的模型上迁移,迅速获得别人的知识、能力,成为全新的AI模型,将模型打造周期从一个月缩短为一天。

搭建AI安全研究者社区

为了让AI对抗研究进展更快,阿里安全图灵实验室正在搭建对抗攻防研究者社区,联合天池承办一系列AI对抗攻防竞赛,并面向顶尖高校企业进行推广,吸引了大批高水平的选手。已举办的比赛覆盖了从ImageNet图像分类、淘宝类目识别、人脸识别等多个场景。

阿里安全图灵实验室的工程师们开发了完整的后台评估框架,可以评测包含白盒/黑盒攻击、有目标/无目标攻击、模型防御等多种攻防场景。

华棠表示,从已经成功举办的比赛看,多种外部选手提供的攻击或者防御策略,为发现更多实际场景中AI算法的潜在威胁,并针对这些威胁开发鲁棒模型提供了参考。

阿里安全图灵实验室在2019年上半年成功举办了阿里巴巴首个AI对抗算法竞赛,以淘宝宝贝主图图像类目分类预测作为场景,公开了11万张,110个类的淘宝商品图像数据集,包含服装、鞋子、生活家居用品等类目。

比赛通过无目标攻击,有目标攻击和防御三个赛道进行,吸引了2500支高校队伍参加。推动了AI安全领域被更多人知晓,并打造了AI对抗样本研究者社区,促进交流的同时,也让更多感兴趣的人加入到其中来。

随后,阿里安全图灵实验室联合清华大学举办安全AI挑战者计划系列赛,探索在现实场景中,对抗攻击的可行性。为了模拟最真实的黑盒场景,这个系列赛并不公开后台算法,也禁止选手大量query后台模型。第一季的安全AI挑战者计划分为三期,场景分别为人脸识别,ImageNet图像分类,以及文本分类。现在,第一季的安全AI挑战者计划已经结束,选手们参赛的同时也体验了真实场景中AI安全攻防的复杂性。

推荐阅读

  • 360金融首席科学家张家兴:别指望AI Lab做成中台

  • 我们想研发一个机器学习框架,6 个月后失败了

  • 那个分分钟处理 10 亿节点图计算的 Plato,现在怎么样了?

  • 中国 App 出海“变形记”

  • 詹克团反攻比特大陆:一场失去人心的自我挽留

  • 你点的每个“在看”,我都认真当成了AI

相关文章:

Spring学习总结(7)——applicationContext.xml 配置文详解

web.xml中classpath:和classpath*: 有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 存放位置: 1:src下面 需要在web.xml中定义如下&…

GDB查看栈信息

栈:是程序存放数据内存区域之一,特点是LIFO(后进先出)。 PUSH:入栈 POP:出战 使用场景: 1.保存动态分配的自动变量使用栈 2.函数调用时,用栈传递函数参数,半寸返回地址…

数据库学习之路

今天迎来入冬的第二场雪,闲来无事就整理了下总结下工作以来所有数据库方面的书籍和资料,发现了不少,很多已经读过或者正在读的书籍,oracle真的很强大,直到现在发现才入门的水平,当然很多书读一遍是不行的&a…

为什么铺天盖地都是Python的广告?

最近,知乎关于Python有一个热议问题: 甚至在抖音上,笔者有一次还看到Python占领了热搜!应该有很多不懂技术的吃瓜群众也被Python的热度炒懵了……但是,Python真的值得学吗?真的值得花这么多钱去学吗&#x…

python3正则表达式符号和用法

转载于:https://www.cnblogs.com/wumac/p/5441322.html

从寄存器看I386和x64位中函数调用中参数传递

x86_64基本使用寄存器存储函数参数,寄存器不够才入栈; 而i386将所有参数保存在栈上,通过gcc的扩展功能__attribute__((regparm()))即可实现部分参数的寄存器传递。 调试语法: --《深入理解计算机系统(原书第2版)》 代码 #incl…

转:去掉Flex4生成的SWF加载时的进度条

方法一&#xff1a; <?xml version"1.0" encoding"utf-8"?> <s:Application xmlns:fx"http://ns.adobe.com/mxml/2009" xmlns:s"library://ns.adobe.com/flex/spark" xmlns:mx"library://ns.adobe.com/f…

饿了么交易系统5年演化史

作者 | 挽晴来源 | 阿里巴巴中间件&#xff08;ID&#xff1a;Aliware_2018&#xff09;个人简介:2014年12月加入饿了么&#xff0c;当时参与后台系统的研发(WalisJavis>Walle)&#xff0c;主要面向客服和BD。2015年5月开始接触订单系统的研发&#xff0c;7月负责订单研发组…

Python迁移MySQL数据到MongoDB脚本

MongoDB是一个文档数据库&#xff0c;在存储小文件方面存在天然优势。随着业务求的变化&#xff0c;需要将线上MySQL数据库中的行记录&#xff0c;导入到MongoDB中文档记录。 一、场景&#xff1a;线上MySQL数据库某表迁移到MongoDB&#xff0c;字段无变化。 二、Python模块&am…

使用valgrind分析C程序调用线路图

Valgrind可以检测内存泄漏和内存违例&#xff0c;但是用Valgrind生成的日志信息结合kcachegrind就可以查看C程序的执行线路图&#xff0c;调用时间&#xff0c;是做性能优化和查看代码的非常好的工具。 1.下载安装 Valgrind 安装 到www.valgrind.org下载最新版valgrind # wg…

纯CSS实现蓝色圆角下拉菜单

代码简介&#xff1a; 这个菜单没有使用任何的图片&#xff0c;完全是用CSS实现的&#xff0c;包括圆角效果也同样是&#xff0c;而且还考虑了多浏览器的兼容性&#xff0c;可以说非常不错&#xff0c;既兼容性好&#xff0c;又外观漂亮&#xff0c;下拉导航菜单目前比较流行&a…

生产型机器学习已经没那么困难了?

作者 | Caleb Kaiser译者 | 香槟超新星出品 | CSDN&#xff08;ID:CSDNnews&#xff09;封面图源自视觉中国在软件工程的诸多领域内&#xff0c;生产用例是相当标准化的。以Web开发为例&#xff0c;要在Web应用中实现身份认证&#xff0c;你不会去创造一个数据库&#xff0c;自…

poj1330Nearest Common Ancestors 1470 Closest Common Ancestors(LCA算法)

LCA思想&#xff1a;http://www.cnblogs.com/hujunzheng/p/3945885.html 在求解最近公共祖先为问题上&#xff0c;用到的是Tarjan的思想&#xff0c;从根结点开始形成一棵深搜树&#xff0c;非常好的处理技巧就是在回溯到结点u的时候&#xff0c;u的子树已经遍历&#xff0c;这…

干货 | 时间序列预测类问题下的建模方案探索实践

作者 | 陆春晖责编 | Carol出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;背景时间序列类问题是数据分析领域中一类常见的问题&#xff0c;人们有时需要通过观察某种现象一段时间的状态&#xff0c;来判断其未来一段时间的状态。而时间序列就是该种现象某一个统计指…

Redis安装与源码调试

linux版本&#xff1a;64位CentOS 6.5 Redis版本&#xff1a;redis-3.0.6 (更新到2016年1月22日) Redis官网&#xff1a;http://redis.io/ Redis常用命令&#xff1a;http://redis.io/commands 1.安装Redis # wget http://download.redis.io/releases/redis-3.2.6.tar.g…

system pause in C#

方法一&#xff1a; Console.Write("Press any key to continue . . . "); Console.ReadKey(true); 注&#xff1a;也可用ReadLine()或Read()&#xff0c;但是只能对回车进行响应&#xff0c;不能达到anykey的效果。 方法二&#xff1a; 1) 在源文件using处加入using…

C#设置当前程序通过IE代理服务器上网

注意&#xff1a;以下设置只在当前程序中有效&#xff0c;对IE浏览器无效&#xff0c;且关闭程序后&#xff0c;自动释放代码。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices;public static …

计算机科学精彩帖子收集

linux源码 LXR 源自“the Linux Cross Referencer”&#xff0c;中间的“X”形象地代表了“Cross”。与 Source Navigator 类似&#xff0c;它也是分析阅读源代码的好工具。不同的是&#xff0c;它将源代码借助浏览器展示出来&#xff0c;文件间的跳转过程成了我熟悉的点击超链…

挑战王者荣耀“绝悟” AI,我输了!

作者 | 马超责编 | 伍杏玲出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;腾讯 AI Lab 与王者荣耀联合研发的策略协作型AI&#xff0c;“绝悟”首次开放大规模开放&#xff1a;5月1日至4日&#xff0c;玩家从王者荣耀大厅入口&#xff0c;进入“挑战绝悟”测试&…

java 注解类说明

一、类中注解 SuppressWarnings ("serial"); 关键字 用途deprecation使用了不赞成使用的类或方法时的警告unchecked执行了未检查的转换时的警告&#xff0c;例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型。fallthrough当 Switch 程序块直接通往下一种…

《ArcGIS Runtime SDK for Android开发笔记》——(13)、图层扩展方式加载Google地图...

1、前言 http://mt2.google.cn/vt/lyrsm225000000&hlzh-CN&glcn&x420&y193&z9&sGalil 通过图层扩展类的方式加载Google地图的是我们通常获取Google地图的一种方式&#xff0c;根据这种方式我们可以通过拼接地图瓦片Url字符串获取瓦片数据&#xff0c;关…

调试JDK源码-一步一步看HashMap怎么Hash和扩容

调试JDK源码-一步一步看HashMap怎么Hash和扩容 调试JDK源码-ConcurrentHashMap实现原理 调试JDK源码-HashSet实现原理 调试JDK源码-调试JDK源码-Hashtable实现原理以及线程安全的原因 还是调试源码最好。 开发环境 JDK1.8NetBeans8.1 说明&#xff1a;调试HashMap的 publ…

开源一年,阿里轻量级AI推理引擎MNN 1.0.0正式发布

在经过充分的行业调研后&#xff0c;阿里淘系技术部认为当时的推理引擎如TFLite不足以满足手机淘宝这样一个亿级用户与日活的超级App。于是&#xff0c;他们从零开始自己搭建了属于阿里巴巴的推理引擎MNN。1年前&#xff0c;MNN在Github上开源&#xff0c;截止目前获得了3.9k S…

人生在成败中进步

参考文献《佛经》 人生在成败中进步佛经中有云&#xff1a;“菩萨者&#xff0c;福慧深利&#xff0c;道观双流。”“福慧双修”、“福慧双全”是众生成佛的必由之道&#xff0c;也是众生修行的理想追求。人生中&#xff0c;虽然不可能人人都能成佛&#xff0c;但是佛经有云&am…

【原】YUI压缩与CSS media queries下的bug

大概是上个月&#xff0c;使用YUI压缩一个css文件后&#xff0c;发现只要是被压缩后的css文件有部分根本无法工作&#xff0c;一直都不知啥问题引起的&#xff0c;让我感到头疼。 今天发现了只要是在媒体查询中的样式无法起作用&#xff0c;于是才开始怀疑是media被压缩后引起的…

Spring源码分析【4】-Spring扫描basePackages注解

org.springframework.beans.factory.support.DefaultListableBeanFactory 重要数据结构 /** Map of bean definition objects, keyed by bean name */private final Map<String, BeanDefinition> beanDefinitionMap new ConcurrentHashMap<String, BeanDefinition&…

c语言c++语言中静态变量,函数详解

静态变量&#xff0c;静态函数对于一些c&#xff0c;c的初学者来说&#xff0c;造成了不少的困扰。昨晚和寝室的室友讨论到这 个问题&#xff0c;想了一下&#xff0c;作了一下总结&#xff1a;虽然说c和c在很多人的眼里就是孪生姐妹&#xff0c;其实还是有很大区别的。在这里分…

深度解析MegEngine亚线性显存优化技术

基于梯度检查点的亚线性显存优化方法[1]由于较高的计算/显存性价比受到关注。MegEngine经过工程扩展和优化&#xff0c;发展出一套行之有效的加强版亚线性显存优化技术&#xff0c;既可在计算存储资源受限的条件下&#xff0c;轻松训练更深的模型&#xff0c;又可使用更大batch…

2016-04-28

2019独角兽企业重金招聘Python工程师标准>>> 1.提交form表单之前的函数(校验不错):onsubmit"return A();".2.解析XML的方式:2.1.DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准,基于"树"(DocumentBuilderFactory).2.2.SAX的优点类似于…

Spring源码分析【8】-MyBatis注解方法不能重载

代码如下&#xff1a; 这是不可以的&#xff0c;会报错&#xff1a; 2016-08-18 11:36:00,267 [main] ERROR [org.mybatis.spring.mapper.MapperFactoryBean] - Error while adding the mapper interface com.unix21.mapper.UserMapper to configuration.java.lang.IllegalArgu…