首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于编码注入的对抗性NLP攻击

研究表明,机器学习系统在理论和实践中都容易受到对抗样本的影响。到目前为止,此类攻击主要针对视觉模型,利用人与机器感知之间的差距。尽管基于文本的模型也受到对抗性样本的攻击,但此类攻击难以保持语义和不可区分性。在本文中探索了一大类对抗样本,这些样本可用于在黑盒设置中攻击基于文本的模型,而无需对输入进行任何人类可感知的视觉修改。使用人眼无法察觉的特定于编码的扰动来操纵从神经机器翻译管道到网络搜索引擎的各种自然语言处理 (NLP) 系统的输出。通过一次难以察觉的编码注入——不可见字符(invisible character)、同形文字(homoglyph)、重新排序(reordering)或删除(deletion)——攻击者可以显着降低易受攻击模型的性能,通过三次注入后,大多数模型可以在功能上被破坏。除了 Facebook 和 IBM 发布的开源模型之外,本文攻击还针对当前部署的商业系统,包括 Microsoft 和 Google的系统。这一系列新颖的攻击对许多语言处理系统构成了重大威胁:攻击者可以有针对性地影响系统,而无需对底层模型进行任何假设。结论是,基于文本的 NLP 系统需要仔细的输入清理,就像传统应用程序一样,鉴于此类系统现在正在快速大规模部署,因此需要架构师和操作者的关注。

01
您找到你想要的搜索结果了吗?
是的
没有找到

反插件化:你的应用不是一个插件(转)

Android插件化技术是应用程序级别的一项创新型技术,它的初衷主要是用于热更新,减少APK安装包的大小,以及解决65535方法数量的限制。从技术层面来说,Android插件化技术与传统意义上的动态加载还不一样,因为它在不需要声明任何特定的接口或组件的情况下,它就在可以加载或者启动整个应用程序(比如apk文件)。Android插件化技术的主要应用场景是,在同一个设备上启动多个应用的实例,也就是我们常说的"双开"。根据我们的观察,诞生Android插件化的的两个主要动机是:1是在社交APP中的多账户需求,2是在应用商店中即时启动应用程序。上面这两种应用场景均来自用户的需求。比如,一个用户既拥有Twitter的个人账户,也有一个拥有Twitter的企业账户,而又不想来回注销切换账户并重复登录,并且不想使用两个手机。Google Play中有一个很受欢迎的APP——"Parallel Space",就是采用的这项技术,它的安装量已经有5000万次。

02

Android应用程序与SurfaceFlinger服务的连接过程分析

Android系统的开机动画是由应用程序bootanimation来实现的,它位于/system/bin目录下,它的具体实现可以参考Android系统的开机画面显示过程分析一文。为什么要选择Android系统的开机动画来分析Android应用程序与SurfaceFlinger服务的连接过程呢?首先,负责实现开机动画的应用程序bootanimation也是一个Android应用程序,只不过它是使用C++语言来开发的;其次,应用程序bootanimation是与UI相关的,即它与使用Java语言来开发的标准Android应用程序一样,都需要使用SurfaceFlinger服务来创建和渲染自己的Surface,即开机动画;第三,由于应用程序bootanimation不涉及用户输入,即不需要与用户进行交互(触摸屏、键盘等),因此它能够以最简洁的方式来体现Android应用程序与SurfaceFlinger服务的关系。

02

[干货]让你彻底搞懂 Context 到底是什么,如果没弄明白,还怎么做 Android 开发?

作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Android应用模型是基于组件的应用设计模式,组件的运行要有一个完整的Android工程环境,在这个环境下,Activity、Service等系统组件才能够正常工作,而这些组件并不能采用普通的Java对象创建方式,new一下就能创建实例了,而是要有它们各自的上下文环境,也就是我们这里讨论的Context。可以这样讲,Context是维持Android程序中各组件能够正常工作的一个核心功能类。

02
领券