000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
作者|李梅,刘秉义
编辑|陈
Dalle和Dalle-2已经见识了从文本生成图像的魔力。作为深度生成模型,它们可以将文本作为输入,并生成与给定文本匹配的超现实图像。
然而,Dalle-2的一个众所周知的局限性是很难生成带有文本的图像。
比如,给个文字提示:两个农民在谈论蔬菜,有字幕。(两个农民在谈论蔬菜,有字幕)
Dalle-2生成的图像如下:
谁能告诉我这张图上的字是什么语言?你什么意思?
在Dalle-2生成的带有文本的图像中,Dalle-2显然在说一种我们人类听不懂的语言。事实上,在Dalle-2的原始论文和Marcus等人对模型的初步评估中已经发现了这一点。
最近才发现,这些看不懂的文字不是随机的!
来自德克萨斯大学奥斯汀分校的博士生詹尼斯达拉斯(Giannis Daras)和亚历山大g迪马基斯(Alexandros G. Dimakis)教授发现,DALLE-2背后有一种秘密语言,模型中似乎有一个隐藏的词汇。从这些隐藏的词汇中,模型会学习一些单词,并创建一些荒谬的文本提示来生成图像。
例如,在Dalle-2的语言系统中,Apoploe vesrreaitais的意思是鸟,而Contar Raccetxniams Luryca Tannioounons的意思是昆虫或害虫。
当你以文本提示的形式输入这句话时:apoploe vesrreaitais吃contara ccetxniams luryca tani ounons
Dalle-2生成了以下图像,这些图像的内容被翻译成英语,显然是“一只鸟正在吃一只虫子”(一只鸟正在吃一只虫子)。
Dalle-2这是“精华”吗?
1
DALLE-2 的秘密语言
Daras和Dimakis采用了一种简单的方法来破解Dalle-2的词汇。
例如,假设我们想找出dalle-2的语言系统中的英文单词“vegetables”是什么,我们可以使用下面的句子来提示dalle-2:
一本写有蔬菜这个词的书。)
两个人谈论蔬菜,有字幕。(两个人在聊蔬菜,有字幕。)
用10种语言写的单词蔬菜。(“蔬菜”这个词用10种语言写成。)
然后,Dalle-2将生成一个带有文本的图像,该文本的意思是“蔬菜”。比如上图“两个农民谈蔬菜”,Dalle-2给出了自己的翻译文本:AVCopinitegoos Vicootes,Apoploe Vesrreaitais。
接下来,我们可以输入Dalle-2自己的词汇,看看它会生成什么图像。例如,下图(左)由单词“vicootes”生成,下图(右)由短语“apoploe vesrreaitais”生成:
明白了,所以“vicotes”是“蔬菜”的意思,“apoploe vesrreaitais”是“鸟”的意思~只是这些鸟看起来倔强而自由,好像在盯着农民的蔬菜被破坏。
所以我不需要告诉你这张照片的意思。
好玩。很好玩。我等不及要学习Dalle-2的语言了!
再看一个例子。输入文本“两只鲸鱼在谈论食物,w”
ith subtitles”(两只鲸鱼在谈论食物,有字幕),DALLE-2 给出了如下的图片回执(左)~ 上面写着 “Wa ch zod ahaakes rea.”谁看的懂??可能人类不懂就对了――我猜这两头鲸鱼正在用DALLE-2 的语言谈论它们的食物。紧接着,把这句话作为输入,DALLE-2生成的图像(右)是......一堆海鲜美食!
这些有趣的发现引起了吃瓜群众的热烈讨论:
这真是不可思议。我们能要求它用我们的语言说话吗?例如 “两只鲸鱼在谈论食物,有英文字幕”。
伟大的工作!这些输出让我想起了我一直在训练的GANs,它们产生了以前没有听说过的新词。有些是英语单词,有些可能是但不是。它们会赋予这些新词有意义的表述。
我要吹毛求疵一下。如果农民谈论的是 “Apoploe vesrreaitais”,而 “Apoploe vesrreaitais的3D效果图 ”,或 “线条艺术,Apoploe vesrreaitais ”可以指昆虫(或如他们所说的更普遍的 “会飞的东西”),那我认为农民更可能是在说昆虫而不是鸟。
我不太相信我们在“farmers with subtitles”的图片中看到的文字和推断的单词含义之间有很强的相关性。我们不知道这个农民的例子是如何“偷梁换柱”的,而且它甚至不起作用:如果这个假设是真的,“Apoploe vesrreaitais ”就对应“蔬菜”,但它对应的却是“鸟”。而且由于某种原因,我们看到的是 “vicootes ”的输出,而不是 “vicootess”。这看起来很似是而非。
令人难以置信的结果!我猜想,由于CLIP从未在纯语言任务上接受过训练,它从未被激励“不”去将胡言乱语与概念联系起来(不像Imagen中使用的常规语言模型)。
-所以它必须从带有文字的图像中获得语言知识,但由于其训练数据中只有这么多这样的图像,它在找到的文字之间做了某种不完整的插值。虽然给我们的是胡言乱语,但胡言乱语仍然是以特定数据为索引的。
-它的语言模型是来自CLIP,所以问题一定是来自那个模型。
-我的理解是,它只在图像上进行训练,对吧?它用文本描述对图像进行编码,但它实际上从未 “看到 ”文本描述,除非图像中恰好有文本。
-任何被索引到文本描述的图像文本(或图像文本的插值)都不会只是随机的胡言乱语,这很有道理。有趣的是它如何对语言概念本身进行索引,以及它将它们混合在一起的能力。就像人类对语言的使用一样。
2剥其机理
两位作者对DALLE-2的词汇库做了进一步的研究。
词汇组合性
先来瞅瞅它的 Compositionality(组合性)。
从前面的例子中,我们知道 "Apoploe vesrreaitais" 指“鸟类”。通过重复有关农民的提示的实验,我们还可推测 “Contarra ccetnxniams luryca tanniounons”表示“害虫或虫子”。
那么一个有趣的问题就来了,DALLE-2能否把这两个概念组成一个句子呢?
如下图所示 ,DALLE-2可以将词和短语组合成句子,根据 "Apoploe vesrreaitais eating Contarra ccetnxniams luryca tanniounons" 生成了鸟类在吃虫子的图像。不过这种情况不是发生在所有的生成图像中,所以一致性并不是十分稳健。
风格迁移
DALLE-2 能够根据提示中指定的风格,生成一些相关概念的图像。
例如,预设我们想得到一个苹果的逼真图像,或苹果的线条艺术。要先测试单词(如Apoploe vesrreaitais)是否对应于视觉概念,这些概念能否根据提示的上下文转化为不同的风格。
在下图中提示有时会导致飞虫,而不是鸟类。
DALLE-2 生成的不同风格的 “Apoploe vesrreaitais”,形态虽异,但“会飞的东西 ”这一视觉概念得到了保持。
文本和生成图像的一致性
回顾一下农民和鸟的例子。
当时的提示是:两个农民在谈论蔬菜,有字幕。
结果,既发现有蔬菜、也发现有鸟的存在。两个农民谈论鸟类是非常合理的,这就提出了一个非常有趣的问题:DALLE-2 的文本输出是否与文本条件和生成的图像一致?
实验表明,有时我们得到的胡言乱语的文本翻译成视觉概念,与首先产生胡言乱语文本的标题一致。
有点绕口,简单一点,就是种瓜得瓜种豆得豆,管它是印象派还是写实派,结出的瓜和豆和最初的瓜豆种子(废话文学快住嘴),能看的出还是有联系的。
例如,"Two whales talking about food, with subtitles"(两只鲸鱼在谈论食物,有字幕)产生了一个带有文字 "Wa ch zod ahaakes rea" 的图像。把这段文字作为提示输入模型,在生成的图像中看到了海鲜。
结合上图“不同风格的鸟”看来,胡言乱语的文本确实有其含义,有时与产生它的文本条件相一致。
在鲸鱼图中,生成图像中不明所以的文字 "Wa ch zod ahaakes rea",与产生的图像、标题和第一幅图像的视觉输出是相关的。
3安全性和可解释性的挑战
有一种可能是,这些非人类现有语言的单词是不同语言中正常单词的拼写错误,但两位作者在搜索中没有发现任何这样的例子,所以这些词的来源仍然令人困惑。而且在他们的初步实验中,有些词并不像其他词那样具有一致性,也就是说,目前DALLE-2 的这套语言在从文本生成图像时的稳健性可能不足。
初步研究表明,像“Contarra ccetnxni ams lurycat anni ounons”这样的提示有时会产生包含虫子和害虫的图像(约占生成图像的一半),每次还会产生不同的图像,大部分是动物。而“Apoploe vesrreaitais”这个短语的一致性明显更强,可以以各种方式组合来生成具有一致性的图像。
如果要测试更多提示语的稳健性,则需要大量的实验。论文作者表示,如果一个系统表现出疯狂的不可预测性,即使这种情况很少发生,也仍然是一个重要的问题,特别是对于一些应用程序而言。
另一个有趣的问题是,Imagen是用语言模型训练的,而不是CLIP,它是否也会有一个类似的隐藏词汇库呢?
无论如何,生成图像的荒谬提示挑战了我们对这些大型生成模型的信心。显然,在理解这些现象和创建稳健的、与人类预期相一致的语言和图像生成模型方面还需要更多的基础研究。
更多细节,可参考论文原文:
论文地址:https://giannisdaras.github.io/publications/Discovering_the_Secret_Language_of_Dalle.pdf
参考链接:
https://twitter.com/giannis_daras/status/1531693111755149312
https://www.reddit.com/r/MachineLearning/comments/v1zzh8/d_dalle_2_has_its_own_secret_language/
雷峰网雷峰网