当前的语音识别技术发展良好,各大公司的语音识别率也到了非常高的水平。语音识别技术落地场景也很多,比如智能音箱,还有近期的谷歌 IO 大会上爆红的会打电话的 Google 助手等。本文章的重点是如何使用对抗性攻击来攻击语音识别系统。本文发表在 The Gradient 上,雷锋网将全文翻译如下。

假设你在房间的角落放一台低声嗡嗡作响的设备就能阻碍 NSA 窃听你的私人谈话。你会觉得这是从来自科幻小说吗?其实这项技术不久就会实现。

今年 1 月,伯克利人工智能研究人员 Nicholas Carlini 和 David Wagner 发明了一种针对语音识别 AI 的新型攻击方法。只需增加一些细微的噪音,这项攻击就可以欺骗语音识别系统使它产生任何攻击者想要的输出。论文已经发表在 https://arxiv.org/pdf/1801.01944.pdf 。

虽然本文是首次提出针对语音识别系统的攻击,但也有其他例如针对图像识别模型系统的攻击(这个问题已经得到了不少研究,具体技术手段可以参考 NIPS 2017 图像识别攻防对抗总结),这些都表明深度学习算法存在严重的安全漏洞。

深度学习为什么不安全?

2013 年,Szegedy 等人引入了第一个对抗性样本,即对人类来说看似正常的输入,但却可以欺骗系统从而使它输出错误预测。Szegedy 的论文介绍了一种针对图像识别系统的攻击方法,该系统通过在图片(蜗牛图片)中添加少量专门设计的噪声,添加完的新图像对于人来说并未改变,但增加的噪声可能会诱使图像识别模型将蜗牛分类为完全不同的对象(比如手套)。进一步的研究发现,对抗性攻击的威胁普遍存在:对抗性样本在现实世界中也能奏效,涉及的改动大小最小可以只有 1 个像素;而且各种各样内容的图像都可以施加对抗性攻击。

这些攻击的例子就是深度学习的阿基里斯之踵。试想如果仅仅通过在停车标志上贴上贴纸就可能破坏自动驾驶车辆的安全行驶,那我们还怎么相信自动驾驶技术?因此,如果我们想要在一些关键任务中安全使用深度学习技术,那么我们就需要提前了解这些弱点还要知道如何防范这些弱点。

对抗攻击的两种形式

对抗攻击分为针对性攻击和非针对性攻击两种形式。

非针对性对抗攻击仅仅是让模型做出错误的预测,对于错误类型却不做干预。以语音识别为例,通常攻击完产生的错误结果都是无害的,比如把「I'm taking a walk in Central Park」转变为「I am taking a walk in Central Park」。

针对性对抗攻击则危险的多,因为这种攻击通常会诱导模型产生攻击者想要的错误。例如黑客只需在「我去中央公园散步」的音频中加入一些难以察觉的噪音,模型就会将该音频转换为随机乱码,静音,甚至像「立即打 911!」这样的句子。

花的爱拥还是死亡之萼?兰花螳螂是自然界中众多针对性欺骗的例子之一

对抗攻击算法

Carlini 和 Wagner 的算法针对语音识别模型的进行了第一次针对性对抗攻击。它通过生成原始音频的「基线」失真噪音来欺骗模型,然后使用定制的损失函数来缩小失真直到无法听到

基线失真是通过标准对抗攻击生成的,可以将其视为监督学习任务的变体。在监督学习中,输入数据保持不变,而模型通过更新使做出正确预测的可能性最大化。然而,在针对性对抗攻击中,模型保持不变,通过更新输入数据使出现特定错误预测的概率最大化。因此,监督学习可以生成一个高效转录音频的模型,而对抗性攻击则高效的生成可以欺骗模型的输入音频样本。

但是,我们如何计算模型输出某种分类的概率呢?

通过算法推导出此音频片段中所说的词语并不容易。难点有如每个单词从哪里开始和哪里结束?

在语音识别中,正确分类的概率是使用连接主义时空分类(CTC)损失函数计算的。设计 CTC 损失函数的关键出发点是界定音频边界很困难:与通常由空格分隔的书面语言不同,音频数据以连续波形的形式存在。因为词汇波形之间可能存在许多「特征」,所以某个句子的正确识别率很难最大化。CTC 通过计算所有可能的输出中「期望输出」的总概率来解决这个问题。

Carlini 和Wagner 做出的改进

尽管这种初始基线攻击能够成功的欺骗目标模型,但人们也容易发觉音频被改动过。这是因为 CTC 损耗优化器倾向于在已经骗过模型的音频片段中添加不必要的失真,而不是专注于目标模型更难欺骗的部分。

Carlini&Wagner 的自定义损失函数。π 是已计算特征,δ 是已学习对抗失真,τ 是最大可接受音量,ci是一个用于最小化失真并进一步欺骗模型的参数,Li 是第 i 个输出令牌的损失。

由于针对性攻击的最薄弱环节直接决定了攻击的强力与否,Carlini 和 Wagner 引入了一个定制的损失函数,该函数会惩罚最强攻击部分的不必要的失真。以基线失真为始,该算法会迭代地最小化该函数,在保持失真的对抗性的同时逐渐降低其音量,直到人听不到为止。最终的结果是音频样本听起来与原始样本完全相同,但攻击者可以使目标语音识别模型产生任意他想要的结果。

现实世界中的对抗攻击

尽管语音攻击令人担忧,但相比其它应用类型中的攻击,语音识别攻击可能并不那么危险。例如,不像自动驾驶中的计算机视觉技术,语音识别很少成为关键应用的核心控制点。并且语音激活控件可以有 10 秒左右的时间冗余,这段时间完全可以用来正确理解命令然后再去执行。

另外,对抗性攻击理论上可以用于确保隐私。比如制造一个设备,这个设备通过发出柔和的背景噪音使监控系统系将周围的对话误认为完全沉默。即使窃听者设法记录您的对话,但要从 PB 级的非结构化原始音频搜索出有用信息,还需要将音频自动转换为书面文字,这些对抗性攻击旨在破坏这一转化过程。

不过目前还并没有大功告成。Carlini & Wagner 的攻击在使用扬声器播放时会失效,因为扬声器会扭曲攻击噪音的模式。另外,针对语音转文本模型的攻击必须根据每段音频进行定制,这个过程还不能实时完成。回顾过去,研究者们只花费了几年的时间就将 Szegedy 的初始图像攻击发展的如此强大,试想如果针对语音的对抗性攻击的发展速度也这么快,那么 Carlini 和 Wagner 的研究成果着实值得关注。

雷锋网(公众号:雷锋网) AI 科技评论认为对抗性攻击可能会利用深度学习的算法漏洞进行破坏,引发诸如自动驾驶等应用的安全问题,但如上文所述,针对音频的对抗性攻击对于隐私保护也有积极意义。

原文发布时间为:2018-05-21

本文作者:sanman

本文来自云栖社区合作伙伴“雷锋网”,了解相关信息可以关注“雷锋网”。

图像识别攻击还没完全解决,语音识别攻击又来了!相关推荐

  1. 抗D十招:十个方法完美解决DDoS攻击防御难题

    转载自:https://zhuanlan.zhihu.com/p/30150531 可以说,DDoS是目前最凶猛.最难防御的网络攻击之一.现实情况是,这个世界级难题还没有完美的.彻底的解决办法,但采取 ...

  2. 如何完美解决DDoS攻击

    可以说,DDoS是目前最凶猛.最难防御的网络攻击之一.现实情况是,这个世界级难题还没有完美的.彻底的解决办法,但采取适当的措施以降低攻击带来的影响.减少损失是十分必要的.将DDoS防御作为整体安全策略 ...

  3. 网络转载:局域网安全:解决ARP攻击的方法和原理

    局域网安全:解决ARP攻击的方法和原理 IT世界网2006-01-26 10:17 [故障原因] 局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序). [ ...

  4. 468,提莫攻击的两种解决方式

    想了解更多数据结构以及算法题,可以关注微信公众号"数据结构和算法",每天一题为你精彩解答.也可以扫描下面的二维码关注 问题描述 在<英雄联盟>的世界中,有一个叫 &qu ...

  5. vue异步数据 报错_vue中异步请求数据,异步请求还没完成,文件就执行了就会报错,怎么解决?...

    vue中,axios异步加载数据,但是有的文件里面需要用到异步拿到的数据,数据还没拿到,文件已经执行了,这时候数据就是空,就会报错,这个问题怎么解决? 具体表现: 我这边vue项目是进入页面的时候会调 ...

  6. linux shell ddos木马,利用Shell 脚本解决DDOS攻击问题

    思路:主要利用 awk ,if结构,sort,uniq #!/bin/bash FilePath="access.log" awk '{print $1}' $FilePath | ...

  7. linux运维解决ddos,运维人员该如何排查并解决DDOS攻击

    今天小编要跟大家分享的文章是关于运维人员该如何排查并解决DDOS攻击.DOS攻击或者DDOS攻击是试图让机器或者网络资源不可用的攻击.这种攻击的攻击目标网站或者服务通常是托管在高防服务器比如银行,信用 ...

  8. 【墨子对战平台】还没连接上墨子推演服务器,再等1秒 解决办法

    运行墨子平台AI开发环境时,如果提示还没连接上墨子推演服务器,再等1秒,可能是服务端的系统配置没有调整到AI训练模式. 解决办法: 1.打开Mozi\MoziServer\bin\ConfigSet. ...

  9. SYN洪水攻击的原理,syn洪水攻击的解决办法

    SYN洪水攻击的原理及解决办法分享 SYN洪水攻击的原理 遭到SYN攻击该如何防御呢? 1.修改等待数 2.启用syncookies 3.修改重试次数 4.限制单IP并发数 5.限制C类子网并发数 6 ...

最新文章

  1. 编写好代码的10条戒律
  2. ifconfig 命令找不到解决
  3. php代码导入sql,php导入SQL文件(示例代码)
  4. 帮助罕见病患者买得到药 京东健康上线“罕见病关爱中心”
  5. MFC UI库知多少
  6. UVA10194 Football (aka Soccer)【排序】
  7. JavaScript实现 网页倒计时
  8. 基于STM32MP1的IOT参考设计分享
  9. 经典算法研究系列:五、红黑树算法的实现与剖析
  10. win10蓝屏修复之死路一条
  11. antd vue 将表格导出为Excel
  12. 相似度衡量: 苏剑林博客-1
  13. 服务器 12 种基本故障+排查方法
  14. 关于电气工程及其自动化学科,国家电网的这些事你都知道吗?
  15. 51Nod1367 完美森林 贪心
  16. Dell服务器raid5扩容及相关技术mark
  17. [软考]之原码、反码、补码和移码
  18. 分享给妈咪们减肥小感悟
  19. 动态壁纸安卓_安卓壁纸专为安卓打造,拥有海量高清壁纸,还有精美动态壁纸!...
  20. COOX基础培训之AM

热门文章

  1. Unity_IL2CPP常见问题分析
  2. Eclipse中图标含义
  3. Nginx日志分析系统——Elastic Stack的系列产品的使用
  4. Python环境配置
  5. 基本折线图:最直观呈现数据的趋势和变化
  6. 包装行业智慧供应链系统:加快产业周转效率,改善业务处理流程
  7. centos查看mysql默认密码和修改密码
  8. 非常好用的Flash控件
  9. 微信小程序实现基本页面设置
  10. 深度学习论文导航 | 07 PANet:用于实例分割的路径聚合网络