4

博士意外发现秘密:DALL-E 2自创语言,人看不懂但能生成特定图像,可能会被用来搞事!

 2 years ago
source link: https://www.qbitai.com/2022/06/35004.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

博士意外发现秘密:DALL-E 2自创语言,人看不懂但能生成特定图像,可能会被用来搞事!

head.jpg丰色 2022-06-01 13:41:35 来源:量子位

“Apoploe vesrreaitais”代表鸟类

丰色 金磊 发自 凹非寺

量子位 | 公众号 QbitAI

DALL·E 2,这个AI竟然自己搞了一套秘密语言

7829e9197d36462e94eb0e0546e67824~tplv-tt-shrink:640:0.image

例如这两个非常奇怪的词组:

  • Apoploe vesrreaitais(下文简称A)
  • Contarra ccetnxniams luryca tanniounons(下文简称C)

(翻译软件都会崩溃,可以去试试)

但到了DALL·E 2这里,画风却截然不同。

在它看来,A就是“鸟类”的意思,而C则是“害虫”之意。

于是乎,如果给DALL·E 2喂上一句:A eat C,那么它的打开方式就会这样:

06dd28dcf91b4e158e6ca5e4fb9bf89d~tplv-tt-shrink:640:0.image

清一色产出的图片,都是鸟吃害虫相关。

而且你要是跟DALL·E 2说,生成“两只鲸鱼讨论食物,带字幕”,结果会是这样:

c30979cc71de48dc807b600d371b6d7b~tplv-tt-shrink:640:0.image

图里的“Wa ch zod rea”,在DALL·E 2的词库里竟然是“食物”的意思!

此事一经曝光,瞬间引发了众多网友的热议。

5c00d5a30d0c45269a3a988370ad95a3~tplv-tt-shrink:640:0.image

甚至还有人提出,有了这些秘密语言,可以绕开DALL·E 2的“违禁词过滤器”,从而生成一些有争议的图像了。

(搞事情!)

42bbffc0c8bd469e9838fe5530d1ea90~tplv-tt-shrink:640:0.image

所以,关于DALL·E 2的秘密咒语,到底是怎么一回事?

一次意外的发现

发现这个问题的是国外一名计算机专业的博士生。

902f35f458af435f890a7273fcaa3270~tplv-tt-shrink:640:0.image

他注意到DALL-E 2模型在遇到需要给出带文字的图像时,总是会出现一些奇怪的单词。

比如输入这句:“两个农民谈论蔬菜,带字幕(Two farmers talking about vegetables, with subtitles)”,就出来这样一张图像:

d76301a34ff54bf9b2160b684372335a~tplv-tt-shrink:640:0.image

像是挺像的,不过这字幕写的啥啊,不是英语又不是法语的,太奇怪了。

“你给我翻译翻译什么这是?”

灵机一动的小哥把其中一个“单词”“Vicootes”当作描述丢给模型,没想到,出来这样一堆图像:

d2a47fa35fbf4b22a35e692413fffc0c~tplv-tt-shrink:640:0.image

有萝卜、有南瓜、有小柿子……难道“Vicootes”就代表蔬菜?

接着他又把气泡中的那一串“Apoploe vesrreaitais”扔给DALL-E 2,一堆鸟图出现了:

5c7c769bd33b46c6a32cd1874dad569c~tplv-tt-shrink:640:0.image

“哦我明白了,这个单词代表‘鸟’,所以农民们似乎在谈论影响他们蔬菜的鸟类?”

看来DALL-E 2没有糊弄人……

9918817166694c7d8784f1a66384b682~tplv-tt-shrink:640:0.image

“我发现了DALL-E 2的秘密语言!”小哥惊呼,继而打算再验证一下这是不是偶然。

还是刚才提到的鲸鱼讨论食物的例子中,小哥把那串“Wa ch zod rea”再输回去。

结果还真出来一堆吃的,而且还全是海鲜,符合鲸鱼们的“食性”。

10369a635d5c4bc6978ab09ffc712655~tplv-tt-shrink:640:0.image

DALL-E 2,真·诚不我欺。

更进一步,他用这些“咒语”搭配形容图像风格的词,看看DALL-E 2是否能正常解析。

结果也都没问题。看看这些“手绘鸟“、“卡通鸟”、“3D鸟”以及“线稿鸟”:

adc3d7012d1c48f6937c98fc4f1d7b56~tplv-tt-shrink:640:0.image

emmmm,最后一张怎么混进来个蚊子?

先不管它了(一会再说)。

所以这个模型为什么要用这种秘密语言来表示呢?

为什么会这样?

“DALL-E 2秘密咒语”话题之热,也引来了众多“解析侠”们的关注。

例如一位叫k1uge的网友便提出,问题出在了BPE(Byte Pair Encoding)身上。

e1a6e6930f8e4c95a966e4edfcea492f~tplv-tt-shrink:640:0.image

BPE是自然语言语言处理中较为重要的编码方式之一,也是一种常见的token压缩方法,在很多大语言模型中都会涉及。

它的核心思路就是:

每一步都将最常见的一对相邻数据单位,替换为该数据中没有出现过的一个新单位,反复迭代直到满足停止条件。

举个例子。

8385faf7e53b4fe5962ad2c1c5e6a06b~tplv-tt-shrink:640:0.image

如果要压缩“aaabdaaabac”这个单词,BPE就会先找出最常见的相邻字节对,即“aa”。

找到它之后,就可以用新的字节Z去代替,那么这个单词就变成了“ZabdZabac”

同理,下一个最常见相邻字节对是“ab”,用Y来代替,单词会进一步被压缩成“ZYdZYac”

再下一个最常见相邻字节对是“ZY”,用X来替代,最后单词就变成了“XdXac”

于是,基于这样的原理,这位网友查了下DALL-E 2针对“鸟类”所用的BPE。

它是这样的:

apoplo, e, ,ve, sr, re, ait, ais

而现实中很多鸟类的拉丁文学名,就有“apo”和“plo”的前缀。

例如Apodidae(雨燕)和Ploceidae(织布鸟),这两个单词属于鸟类的2种鸟科,每个科都有100余种。

Apodiformes(雨燕目)是鸟类中最大的目,共有400余种。

于是这位网友便认为,DALL-E 2是从标有这些“学术用语”标签的图片中,获取到了关于鸟类的大部分信息。

7365356df9c4430592a34b7cc0173d5d~tplv-tt-shrink:640:0.image

或许这就是造成DALL-E 2秘密咒语的原因了。

但,事情还有反转

激动的博士小哥还专门写了一篇小论文讲述这个事情,还把这些发现都发在了推特上,引来数千网友围观,令大家直呼“Incredible”。

24a081e10cf544ccb263dd117e536c68~tplv-tt-shrink:640:0.image

不过很快就有人亲自去试了一下,发现好像事情并没有那么简单。

比如代表“虫子”的那一串“Contarra ccetnxniams luryca tanniounons”,除了虫子,也会生成一些青蛙、牛或者鸽子的图像。

f5a14fc3f36f4ce6af8ae623e6c8616e~tplv-tt-shrink:640:0.image

如果给这个描述再加上“cartoon”一词作为限定,生成的是一些“奶奶”,跟虫子完全不搭边??

c18e7ed30e594c6fadfc7f2b8ec72ac3~tplv-tt-shrink:640:0.image

“Apoploe vesrreaitais”倒是没问题,出来的还是一些鸟。

f41d753df8de44aaa4ca50a03fc69c0d~tplv-tt-shrink:640:0.image

不过同样,一旦给它加上“cartoon”“3D render”这类词,又不对了,出来的是一些虫子。

(这和小哥最后那个例子里出现的蚊子也对应上了。)

85439642274f480c865900a51a10cefb~tplv-tt-shrink:640:0.image

代表蔬菜的“Vicootes”也是这样,单输没问题,一加上风格限定,出现的物种就变了;且基本可以说只符合“油画”“卡通”这些风格设定,跟前面的名词限定毫无关联,比如“Vicootes”+“painting”就是一堆纯风景绘画。

接着他还用同样的“两只鲸鱼谈论食物,带字幕”生成了一些图片,结果大部分文字都看不清,也没法转录。

最后找到一张这样的:

529f459eca5f4a0083d0c220e2f4b01f~tplv-tt-shrink:640:0.image

他用上面的”Evve waeles”再输入后,虽然得到了一张甜点照片,但出现了很多运动员、动物甚至水壶的照片。

38c18a26a28143bb860b97c46dde0263~tplv-tt-shrink:640:0.image

还真的有点摸不着头脑了。

于是这位实验者就表示:

在我看来,这更像是一些随机的噪音,而不是DALL-E 2的秘密语言。

e27a81938f9b40108f0814a6f2576448~tplv-tt-shrink:640:0.image

他艾特了博士小哥,希望他可以再给出相反的证据。

目前小哥还没有答复。

不过这确实是一个值得关注和讨论的话题,鉴于一些“咒语”和图像可以对上,如果真的是BPE码的话,那么真可能博士小哥所说:

有人用“白盒”方法解开这种规则,拿到一些违禁词的“咒语”,就可以绕过模型的过滤器了。

参考链接:

[1]https://twitter.com/giannis_daras/status/1531693093040230402
[2]https://twitter.com/BarneyFlames/status/1531736708903051265
[3]https://twitter.com/benjamin_hilton/status/1531780892972175361
[4]https://giannisdaras.github.io/publications/Discovering_the_Secret_Language_of_Dalle.pdf
[5]https://zhuanlan.zhihu.com/p/424631681

版权所有,未经授权不得以任何形式转载及使用,违者必究。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK