研究者意外发现DALL-E 2在用自创语言生成图像:全文黑话,人类都看不懂

简介: 研究者意外发现DALL-E 2在用自创语言生成图像:全文黑话,人类都看不懂

「我们发现 DALLE-2 似乎有一个隐藏的词汇表,用于生成各种荒谬描述内容的图像。例如,Apoploe vesrreaitais 似乎是指鸟类,而 Contarra ccetnxniams luryca tanniounons 有时指虫子。我们发现这些 prompt 通常在孤立的情况下是一致的,但有时也是组合的,」研究人员写道。

DALL-E 生成的各种诡异图片在社交网络上刷屏已经持续了一段时间,有关为什么人工智能可以生成自然界中不存在的事物,很多研究者正在寻根问底。近日,来自德克萨斯大学奥斯丁分校的学者发现,DALL-E2 会使用看似随机但与视觉概念有一些关联的单词来形容自己做的事。

简而言之,AI 自创了一门语言,这份可解释性研究让人们细思极恐,连 Gary Marcus 也受到震撼。

自从 OpenAI 发布 DALLE 和 DALLE-2 以来,多模态大模型的视觉生成能力有目共睹。它们以文本标题作为输入,就能生成与给定文本相匹配的高质量图像。

DALLE-2 使用无分类器的扩散引导,但其众多周知的局限性是它会与文本相抗。比如文本 prompt 是「An image of the word airplane」的时候,通常会导致生成图像完全没听懂文本的内涵。研究者们发现,这个生成的文本不是随机的,而是揭示了一套隐藏的体系,这个词汇模型似乎是从内部发展出来的。比如说,当输入这些不知所云的的文本时,模型经常会生成飞机。

这些隐藏词汇中的一些是可以被学习的,并用来创造出一些离奇的 prompt,最终生成自然的图像。例如,Apoploe vesrreaitais 似乎意味着「鸟类」,Contarra ccetnxniams luryca tanniounons 有时则意味着「虫子」或「害虫」。研究者发现,可以用「An image of a cartoon apoploe vesrreaitais」这样的 prompt 来生成卡通鸟类图像,甚至可以组合这些词来创造以鸟类为食的虫子。


也有人提了一句,这种现象并不是首次出现。早在几年前,Facebook 的一个机器人就开始使用自己的 pidgin 语言进行交流。

也有人说,这个故事不过是类似当年的「聪明汉斯」实验罢了:

发现 DALLE-2 的「黑话」

偶然发现之后,研究者摸索出了一个简单的方法来发现 DALLE-2 的黑话,这个规律可以通过一个例子来体现:

假设我们想要找到「蔬菜」(vegetables)对应的黑话,就可以用下列句子之一(或者这些句子的变体)来作为 DALLE-2 的 prompt:

  • 上面写着蔬菜这个单词的一本书;
  • 两个农民在谈论蔬菜,带字幕;
  • 用 10 种语言书写的蔬菜这个词。


对于上面的每个 prompt,DALLE-2 通常会创建包含一些包含文本的图像。对于人类来说,这些书写出来的文本通常是胡言乱语,原始论文和 Marcus 的评论里都提到了这一点。

然而,研究者观察到一个令人惊讶的现象:这些文本并不像它看起来那样「混乱」。在许多情况下,它与想要翻译的单词密切相关。

比如我们将 prompt 设置为「两个农民在谈论蔬菜,带字幕」,就会得到如图 2(a)这样的图像。如果解析这个出现在图像中的文本,并将其继续作为 prompt,得到的结果如图 2(b)和(c)所示,

似乎 Vicootes 就是蔬菜的意思,Apoploe vesrreaitais 就是鸟类的意思,看起来两位农民在讨论鸟类干扰了他们的蔬菜。

当然,研究者也注意到,这个简单的方法并不总是有效的。有时,当 prompt 返回模型时,生成文本也会随机显示图像。然而,他们也发现,通过一些实验 (选择一些词语,运行不同的生成文本等等) ,通常可以找到随机出现的词语,并与一些视觉概念(至少在一些上下文上) 相关。关于这个规律,任何感兴趣的人都可以继续去挖掘。

黑话词汇表

此外,研究者还对已发现的 DALLE-2 黑话性质进行了初步研究。

组合性。从前面的例子中,我们了解到,Apoploe vesrreaitais 似乎是鸟类的意思。通过重复农民的实验,我们还了解到: Contarra ccetnesniams luryca tanniounons 可能意味着「害虫」或「虫子」。

一个有趣的问题是,我们是否可以像在普通语言中那样,把这两个概念组合成一个句子?图 1 已经说明了这是可能的,至少有时是这样。「Apoploe vesrreaitis eating Contarra ccetnxniams luryca tannions」给出了鸟类吃虫子的图像。研究者的发现是,这种情况只发生在部分图片上,并非所有生成的图片都是如此。

风格转换。DALLE-2 能够根据 prompt 中指定的不同风格,生成某些概念的图像。例如,你可能会要求一张苹果的逼真图像,或者一张展示苹果的线条艺术图。研究者测试了一些发现的单词 (例如 Apoploe vesrreaitais) 是否与视觉概念相对应,这些视觉概念可以根据 prompt 的上下文转换为不同的样式。实验结果如图 3 所示,似乎这种 prompt 有时会导致生成飞虫而不是鸟类。

DALL-E 2 在 prompt「Apoploe vesrreaitais」下生成的不同图像。这些图像都保持了同一个要素:「会飞的东西」。
文本与标题及生成图像的一致性。回忆一下刚才农民的例子,prompt 是「两个农民在谈论蔬菜,带字幕」。从这个例子中,研究者发现了蔬菜和鸟类这两个词。两个农民谈论鸟类确实是极有可能的,因此这提出了一个非常有趣的问题,即 DALLE-2 的文本输出是否与文本条件和生成的图像一致。

最初的实验表明,有时得到的乱码文本会转化为与最初创建的乱码文本标题相匹配的视觉概念。例如,prompt「两只鲸鱼在谈论食物,带字幕」生成了带有文本「Wa ch zod ahaakes rea」(或至少接近这个)的图像。研究者将此文本作为 prompt 提供给模型,并在生成的图像中看到了一些「海鲜」,如图 3 所示。似乎乱码文本确实具备有时与产生它的文本条件一致的含义。
图 4:左:使用 prompt:「Two whales talking about food, with subtitles」生成的图像;右图:使用 prompt:「Wa ch zod ahaakes rea.」生成的图像。乱码文本「Wa ch zod ahaakes rea.」会生成与第一张图像的标题和视觉输出相关的图像。

安全性和可解释性挑战

DALL-E 2 的语言」让我们大开眼界,来的研究出现了一些有趣的方向。研究者表示某些乱码也许是不同语言中正常单词的拼写错误,但尚未搜索到此类示例。许多 prompt 中词的来源仍然令人困惑,并且在该研究的初步实验中,其中一些词与其他词不一致。

另一个有趣的问题是 Imagen 是否也有类似的隐藏词汇表,因为它是用语言模型而不是 CLIP 训练的。研究者推测 DALL-E 的 prompt 是 CLIP 文本编码器的对抗性示例,即「Apoploe vesrreaitais」的向量表征接近「鸟类(bird)」的表征。研究者试图在 CLIP 上使用其他对抗性攻击方法(例如白盒)来生成荒谬的文本 prompt,并用 DALL-E 2 生成目标图像。

稳健性和局限性

最重要的问题之一是所用方法的一致性。例如,该研究初步研究表明,像「Contarra ccetnxniams luryca tanniounons」 这样的 prompt 有时存在 bug,多次实验生成的图像不一致;而 「Apoploe vesrreaitais」这样的 prompt 则更加稳健。

研究者还强调,寻找其他强大的 prompt 具有挑战性,需要大量的实验。该研究尝试了各种让 DALL-E 生成图像的方法,并测试生成文本的一致性。虽然这种方法适用于一些乱码 prompt(很难找到),但这仍然是一个很大的可解释性和安全性问题。如果一个系统以非常不可预测的方式运行,即使这种情况很少发生,它仍然是一个重要的安全隐患,尤其是对于某些应用程序。

其中,首要的安全问题就是这些乱码 prompt 可能与后门对抗性攻击或一些绕过滤波器的方法有关。荒谬的 prompt 让我们对大型生成模型产生怀疑。显然,我们需要更多的基础研究来理解这些现象,并创建符合人类预期的语言和图像生成模型。

相关文章
|
Kubernetes jenkins 持续交付
在jenkins中连接kubernetes集群
在jenkins中连接kubernetes集群
|
SQL 消息中间件 监控
实时计算 Flink版产品使用问题之怎么使用Metric Reporters监控作业
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
存储 Python
链表中插入节点
链表中插入节点
|
11月前
|
JSON 安全 API
微店item_search_shop-获得店铺的所有商品API接口设计指南
本文介绍如何设计高效、安全且易用的item_search_shop API接口,用于微店商品检索和管理。关键需求包括数据完整性、高并发支持、安全性及易用性。开发者需在微店开放平台注册获取API凭证,并通过Access Token调用接口。接口支持一次性获取店铺所有商品信息,提供Python示例代码。注意事项涵盖凭证安全、异常处理和数据准确性。此API助力商家提升电商运营效率。
|
11月前
|
Java 关系型数据库 数据库
京东面试:聊聊Spring事务?Spring事务的10种失效场景?加入型传播和嵌套型传播有什么区别?
45岁老架构师尼恩分享了Spring事务的核心知识点,包括事务的两种管理方式(编程式和声明式)、@Transactional注解的五大属性(transactionManager、propagation、isolation、timeout、readOnly、rollbackFor)、事务的七种传播行为、事务隔离级别及其与数据库隔离级别的关系,以及Spring事务的10种失效场景。尼恩还强调了面试中如何给出高质量答案,推荐阅读《尼恩Java面试宝典PDF》以提升面试表现。更多技术资料可在公众号【技术自由圈】获取。
|
安全 编译器 C++
C++一分钟之-泛型Lambda表达式
【7月更文挑战第16天】C++14引入泛型lambda,允许lambda接受任意类型参数,如`[](auto a, auto b) { return a + b; }`。但这也带来类型推导失败、隐式转换和模板参数推导等问题。要避免这些问题,可以明确类型约束、限制隐式转换或显式指定模板参数。示例中,`safeAdd` lambda使用`static_assert`确保只对算术类型执行,展示了一种安全使用泛型lambda的方法。
200 1
|
SQL 数据库 Java
HQL vs SQL:谁将统治数据库查询的未来?揭秘Hibernate的神秘力量!
【8月更文挑战第31天】Hibernate查询语言(HQL)是一种面向对象的查询语言,它模仿了SQL的语法,但操作对象为持久化类及其属性,而非数据库表和列。HQL具有类型安全、易于维护等优点,支持面向对象的高级特性,内置大量函数,可灵活处理查询结果。下面通过示例对比HQL与SQL,展示HQL在实际应用中的优势。例如,HQL查询“从员工表中筛选年龄大于30岁的员工”只需简单地表示为 `FROM Employee e WHERE e.age > 30`,而在SQL中则需明确指定表名和列名。此外,HQL在处理关联查询时也更为直观易懂。然而,对于某些复杂的数据库操作,SQL仍有其独特优势。
303 0
|
Web App开发 敏捷开发 测试技术
自动化测试之美:使用Selenium WebDriver进行网页功能验证
【8月更文挑战第29天】在数字时代,软件质量是企业竞争力的关键。本文将深入探讨如何通过Selenium WebDriver实现自动化测试,确保网页应用的可靠性和性能。我们将从基础设置到编写测试用例,逐步引导读者掌握这一强大的测试工具,同时分享实战经验,让测试不再是开发的负担,而是质量保证的利器。
秒杀圣经:10Wqps高并发秒杀,16大架构杀招,帮你秒变架构师 (1)
高并发下,如何设计秒杀系统?这是一个高频面试题。40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试Shopee时遇到了这个问题,未能很好地回答,导致面试失败。为此,尼恩进行了系统化、体系化的梳理,帮助大家提升“技术肌肉”,让面试官刮目相看。秒杀系统设计涉及16个架构要点,涵盖业务架构、流量架构、异步架构、分层架构、缓存架构、库存扣减、MQ异步处理、限流、熔断、降级、存储架构等多个方面。掌握这些要点,可以有效应对高并发场景下的秒杀系统设计挑战。
秒杀圣经:10Wqps高并发秒杀,16大架构杀招,帮你秒变架构师 (1)
.NET Core 服务注册步骤总结
.NET Core 服务注册步骤总结
225 0