prompt攻防战!哥伦比亚大学提出BPE造词法,可绕过审核机制,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要开始黑化了?