prompt攻防战!哥伦比亚大学提出BPE造词法,可绕过审核机制,DALL-E 2已中招

简介: prompt攻防战!哥伦比亚大学提出BPE造词法,可绕过审核机制,DALL-E 2已中招
【新智元导读】最近哥伦比亚大学的研究人员发现用多语言的subword组合出的新词,在DALL-E 2系统中仍然能生成预期图像,或可绕过审查系统!


2022年什么最值钱?prompt

 

基于文本的图像生成(text-guided image generation)模型,如DALL-E 2大火后,网友们也是乐此不疲地生成各种搞怪图像。

 

 

但想要让模型生成清晰、可用的目标图像,必须得掌握正确的「咒语」才行,也就是prompt须得精心设计之后才能用,甚至还有人架设网站卖起了prompt

 

 

要是prompt是邪恶咒语,那生成的图片可能会「涉嫌违规」。

 

虽然DALL-E 2发布之初就设立了各种机制来避免模型被滥用,比如从训练数据中删除暴力、仇恨或少儿不宜的图像;使用技术手段防止生成人脸的超写实照片,尤其是一些公众人物。

 

在生成阶段,DALL-E 2还设置了一个prompt过滤器,不允许用户输入的提示词中包含暴力、成人或政治内容。

 

但最近哥伦比亚大学的研究人员发现,可以在prompt添加一些看似胡言乱语的单词,使得过滤器无法识别出词义,但AI系统最终还是能返回有意义的生成图像。

 

论文链接:https://arxiv.org/pdf/2208.04135.pdf

 

作者提出两种构造prompt的方法,第一种称之为macaronic prompting,其中macaronic一词的原意指多种语言的单词进行混合后生成新的词汇,比如说在巴基斯坦,乌尔都语和英语的混合词就很常见。

 

而DALL-E 2的训练语料通常是从互联网上收集的数据,文本和图像之间建立概念联系的过程中多多少少都会涉及到多语言学习,使得训练后的模型具有同时识别多语言概念的能力。

 

所以可以利用多语言组合成新词,绕过人类设计的prompt过滤器,达到对抗攻击的目的。

 

比如鸟(birds)这个词在德语里是Vögel,用意大利语是uccelli,用法语是oiseaux,西班牙语是pájaros,在CLIP模型使用byte pair encoding(BPE)算法对输入提示句进行分词后,可以拆分成多个subword。

 

 

把subword重新排列组合成新词后,比如输入uccoisegeljaros,DALL-E 2仍然能够生成鸟类的图像,但人类却完全无法读懂这个词的含义。

 

 

甚至不严格遵守subword的边界,比如再换成voiscellpajaraux和oisvogajaro,模型仍能生成鸟类图。

 

 

除了鸟类,研究人员发现组合多语言这个方法在不同的图像域都能取得不错的效果,图像生成结果展现出相当高的一致性。

 

 

从动物界到风景、交通工具、场景、情绪的相关图像的生成都不在话下。

 

 

虽然不同的文本指导的图像生成模型有不同的架构、训练数据和分词方法,但原则上,macaronic提示可以应用于任何在多语言数据上训练的模型,比如在DALL-E mini模型中也能发现相同的效果。

 

值得注意的是,尽管名字相似,但DALL-E 2和DALL-E mini是相当不同的。它们有不同的架构(DALL-E mini没有使用扩散模型),在不同的数据集上训练,并使用不同的分词程序(DALL-E mini使用BART分词器,可能会以不同于CLIP分词器的方式分割单词)。

 

尽管有这些差异,macaronic提示仍然能够在两种模型上都能发挥作用,背后的原理还需要再深入研究。

 

但并非所有的macaronic提示都能在不同的模型间适当地转移,比如虽然farpapmaripterling按照预期产生了DALL-E 2的蝴蝶图像,但在DALL-E mini中生成的却是蘑菇图像。

 

 

研究人员推测,可能在更大的数据集上训练出来的更大的模型更容易受到macaronic提示的影响,因为它们在不同语言的子词单元和视觉概念之间学习到了更强的关联关系。

 

这可能可以解释为什么一些在DALL-E 2中产生预期结果的macaronic提示在DALL-E mini中不起作用,却几乎找不到相反的例子。

 

这种趋势可能不是什么好消息,因为大规模模型可能更容易受到使用macaronic提示的对抗性攻击。

 

除了将单个合成词作为prompt以外,合成词也可以嵌入到英语句法中组成句子,生成图像的效果和原始词汇相似。

 

 

并且合成词还有一个优势,就是组合起来可以产生更具体和复杂的场景。虽然复杂的macaronic提示需要符合英语的句法结构,从而使生成结果比使用合成字符串的提示更容易解释,但传达给模型的信息仍然相对模糊。

 

对于大多数人来说,如果没有事先接触过macaronic提示和用于杂交的语言知识,要猜出用提示语An eidelucertlagarzard eating a maripofarterling会产生什么样的场景可能是很困难的。

 

此外,这种成分复杂的提示不会触发基于黑名单的内容过滤器,尽管它们使用的是普通英语单词,只要使用macaronic方法对受审查的概念进行充分「加密」即可。

 

macaronic提示也不一定非在多语言中组合subword,在单一语言内进行合成也能产生有效的视觉概念,不过熟悉英语的人可能会猜测到该字符串的预期效果,比如happeerful这个词很容易猜到是happy和cheerful的合成词。

 

 

第二种方法称为Evocative Prompting,和macaronic不同的是,evocative不需要从现有的词中组合触发视觉联想,而是由特定领域中某些字母组合的统计学意义进行「唤起」,创造出一个新词。

 

参照生物学分类里的二名法(Binomial Nomenclature),可以根据「属名」和「种加词」来创造一个新的「伪拉丁词」,DALL-E就能够根据相应的主题生成对应的物种。

 

 

根据药物的命名规律也可以生成新的药物图片。

 

 

evocative提示也可以应用于语言的特定特征和与相应语言的地点和文化有关的视觉特征之间的关联。比如根据建筑名称,模型就可以推断是哪个国家的风格,如Woldenbüchel生成的场景看起来像德国或奥地利村庄;Valtorigiano看起来像意大利古镇;Beaussoncour则像法国的历史城镇。

 

 

不过也不一定都是建筑物,比如最后一个用DALL-E mini生成的图像则是17世纪的法国肖像,而非法国的地点,但与法国文化的联系还是被保留了下来。

 

evocative提示也可以与词汇杂交结合起来,以获得对输出的具体特征的更多控制。

 

在伪拉丁命名法中引入英语词块会使DALL-E 2生成具有特定属性的动物图像,比如提示词scariosus ferocianensis将可怕(scary)和凶猛(ferocious)与伪拉丁词条结合起来,可以生成传统上可怕的「爬行动物」的图像,如蝎子。

 

 

cutiosus adorablensis将可爱(cute)和adorable与伪拉丁词条结合起来,能够生成传统意义上可爱的哺乳动物的图像;watosus swimensis将水(water)和游泳(swimming)与伪拉丁词缀结合起来,能够生成水生动物的图像;flyosus wingensis将飞行(fly)和有翼(winged)与伪拉丁词缀结合起来能够生成飞行昆虫的图像。

 

从原理上来看,macaronic方法生成的词汇可以提供一种简单的、看似可靠的方法来绕过prompt过滤器,别有用心者可以用来生成有害的、攻击性的、非法的或其他敏感的内容,包括暴力、仇恨、种族主义、性别歧视或色情图片,以及可能侵犯知识产权或描述真实个人的图片。

 

虽然提供图像生成服务的公司已经根据其内容政策,在防止生成这类输出方面做出了大量的努力,但macaronic提示仍然能够对商业图像生成系统的安全协议的造成巨大威胁。

 

而evocative提示带来的威胁不那么明显,因为它没有提供一种十分有效且可靠的方法来触发特定视觉联想的字符串,它大多局限于与单词或语言的广泛形态特征有关的概念的模糊联想。

 

总的来说,macaronic的提示比evocative提示的可操作性更强,基于关键词的黑名单在此类模型中的内容过滤不足以抵御攻击。

 

难道DALL-E 2要开始黑化了?

参考资料:https://www.unite.ai/the-nonsense-language-that-could-subvert-image-synthesis-moderation-systems/

相关文章
|
弹性计算 Ubuntu Linux
【搭建幻兽帕鲁/Palworld32人主机步骤】幻兽帕鲁/Palworld自建服务器教程
搭建32人Palworld幻兽帕鲁服务器自建服务器方法,创建幻兽帕鲁服务器1分钟部署教程,阿里云和腾讯云均推出幻兽帕鲁服务器专属优惠服务器和部署教程,4核16G和4核32G配置可选,分享1分钟自建幻兽帕鲁Palworld服务器教程。
161 0
【搭建幻兽帕鲁/Palworld32人主机步骤】幻兽帕鲁/Palworld自建服务器教程
Seata框架在AT模式下是如何保证数据一致性的?
通过以上这些机制的协同作用,Seata 在 AT 模式下能够有效地保证数据的一致性,确保分布式事务的可靠执行。你还可以进一步深入研究 Seata 的具体实现细节,以更好地理解其数据一致性保障的原理。
733 157
|
存储 Ubuntu Linux
揭开自制NAS的神秘面纱:一步步教你如何用Linux打造专属网络存储王国!
【8月更文挑战第22天】构建Linux NAS系统是技术爱好者的热门项目。通过选择合适的发行版如Alpine Linux或Ubuntu Server,并利用现有硬件,你可以创建一个高效、可定制的存储解决方案。安装Linux后,配置网络设置确保可达性,接着安装Samba或NFS实现文件共享。设置SSH服务方便远程管理,利用`rsync`与`cron`进行定期备份。还可添加Web界面如Nextcloud提升用户体验。这一过程不仅节约成本,还赋予用户高度的灵活性和控制权。随着技术发展,Linux NAS方案持续进化,为用户带来更丰富的功能和可能性。
1247 1
|
10月前
|
人工智能 Rust 安全
DeepClaude:结合 DeepSeek R1 和 Claude AI 各自优势开发的 AI 应用平台,支持 API 调用和零延迟的即时响应
DeepClaude 是一个开源的 AI 应用开发平台,结合了 DeepSeek R1 和 Claude 模型的优势,提供即时响应、端到端加密和高度可配置的功能。
896 4
DeepClaude:结合 DeepSeek R1 和 Claude AI 各自优势开发的 AI 应用平台,支持 API 调用和零延迟的即时响应
|
JavaScript Windows
记一下 Windows11 安装与配置 node.js 的标准步骤
这篇文章记录了在Windows 11系统上安装和配置Node.js的步骤,包括安装Node.js、验证安装、配置npm、设置npm镜像加速、全局安装cnpm并配置镜像、解决TLS连接不安全警告的详细过程。
1917 0
|
前端开发 JavaScript 安全
使用 JSX 书写标签语言
使用 JSX 书写标签语言
|
前端开发 JavaScript 测试技术
深入探索自动化测试框架:Selenium与Appium的对比分析
【4月更文挑战第29天】 在快速迭代的软件发展环境中,自动化测试已成为确保软件质量和加速产品上市的关键步骤。本文将重点探讨两种广泛使用的自动化测试框架——Selenium和Appium,通过对比它们的核心特性、适用场景及执行效率,为软件开发和测试团队提供选择指南。文章不仅分析了各自的技术架构和脚本语言支持,还讨论了它们在处理Web应用和移动应用测试时的优缺点,旨在帮助读者根据项目需求做出更加明智的选择。
|
负载均衡 监控 算法
HAproxy
HAProxy 是一个高性能的负载均衡软件,可以将客户端的请求均衡地分发给多个后端服务器。HAProxy支持多种负载均衡算法,并提供灵活的配置选项。与LVS相比,HAProxy更加灵活和高级,可以进行更复杂的负载均衡策略和应用层的请求转发。通常,HAProxy可以与Keepalived结合使用,以提供高可用性和负载均衡的解决方案。
344 5
|
小程序 Java API
如何优雅的设计一个SDK
如何优雅的设计一个SDK
822 0
|
存储 缓存 NoSQL
一文讲透 Redis 事务 (事务模式 VS Lua 脚本)
先说结论: Redis 的事务模式具备如下特点: - 保证隔离性; - 无法保证持久性; - 具备了一定的原子性,但不支持回滚; - 一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。 但 Lua 脚本更具备实用场景,它是另一种形式的事务,他具备一定的原子性,但脚本报错的情况下,事务并不会回滚。Lua 脚本可以保证隔离性,而且可以完美的支持**后面的步骤依赖前面步骤的结果**。
一文讲透 Redis 事务 (事务模式 VS Lua 脚本)