Redian新闻
>
创世游戏:Diffusion Model的非数学解释

创世游戏:Diffusion Model的非数学解释

公众号新闻

©作者 | 张瑞

单位 | 站酷网络技术有限公司

研究方向 | 推荐、搜索、NLP等




前言


我很喜欢科幻小说中常出现的「宇宙是台计算机」这个意象。在以 Disco Diffusion、Stable Diffusion 等为代表的扩散模型大火之后,我常常要面对很多人的疑问——扩散模型的原理是什么?为什么会画出惊人的画面?又为什么很多时候会出现一些不知所云的画面?

我发现,要解释清楚这个问题是一个很难的事情——你不能对着一位艺术家讲马尔科夫过程、采样、参数估计;所以,我想写一篇文章,从「宇宙计算机」的 idea 出发,试图形象地解释扩散模型是什么、发生了什么、如何进行训练的。希望这篇文章能够对大家(直观地)理解扩散模型有所帮助。

相关:文章中的示意图大部分通过站酷 AI 实验室 [1] 生成。少部分来自 Illustrated Stable Diffusion [2]



A Big Bang——从无到有


根据宇宙学的理论,均匀各向同性的宇宙从一个「奇点」膨胀出来,这个膨胀的过程被称为 The Big Bang —— 宇宙大爆炸 [3]。在大爆炸之后很短的时间内,由于具备随机性的量子涨落 [4] 的影响,构成物质的各种基本粒子逐渐从各向同性的能量中沉淀出来;接下来,在四种基本力:强力、弱力、电磁力、引力的作用下,弥散在空间中的基本粒子逐步汇聚形成原子、分子、分子团,继而构成了星云、恒星、行星。

而当物质出现之后,稳定的物质结构和物理定律开始主导宇宙,量子涨落的随机性效应逐步退场,这意味着,你将不会走在街上胸口突然出现一个大洞,或者被凭空出现的一块大石头砸成肉泥。

▲ 图1:宇宙的演化过程

如果大家对 Diffusion Model 有一定的理解,那么我们可以发现,上面的图和 Diffision Model 中的去噪过程惊人地相似:

▲ 图2:扩散模型生成图片的过程

所以,我们也可以将 Diffusion Model 生成图的过程同样视为一种「创世演化」模型:从一张空白的图片,通过随机的采样(量子涨落)生成无意义的噪点(基本粒子);由模型提供「物理定律」的引导,从噪点逐步演化出颜色、线条、纹理,进而构成物体、人脸、意象、场景、画面。从这个层面来说,Diffusion Model 的运行原理和人类的思维是完全不同的,Diffusion Model 作画是一个 down-top 的过程。

人类作画则是 top-down 的:先有场景——如「一个美丽的少女走在森林中」,有经验的画师会勾勒出只有几条线的再逐步细化画面中的每一个元素:少女在哪里,森林里有几棵树,然后少女是什么面容、穿什么衣服,森林里的树是哪些种类;而 Diffusion Model 则是:先随机地生成像素,然后从这些像素中慢慢浮现出人物、场景等。

下图是经过 50 步迭代生成「少女在森林中」的一个过程,右下角是最原始的噪声图像,从右到左、从下到上依次迭代;每一步的生成都和上一步的结果相关(一阶马尔科夫链)。

可以看到,一开始,图像是完全的噪声,什么都看不出来;经过十几步的迭代后,如果有足够的想象力,应该可以联想到,中间浮现出的一片白色似乎可以绘制成一个人影,后面杂乱无章的大片绿色纹理经过细化应该可以画成森林背景;再经过十几步的迭代,图像已经基本定型,人和森林的轮廓都出现了;经过多次迭代,最终生成了一张合乎逻辑和语义的图片。

▲ 图3:经过 50 步迭代生成一张图像的过程,从右下角到左上角

如果改变初始的噪声呢?我们使用同样的文本条件,重新生成了一张图像,但初始噪声则是重新随机生成,生成过程如下图所示(为了展示方便,50 步的生成过程中,之保留了 9 张中间步骤,每隔 5~6 步输出一张图):

▲ 图4:从左上角到右下角,用与图 1 完全相同的 prompt 再次生成一张图片的过程


容易看到,「随机性」的引入,可以在同样的初始条件下,生成截然不同的结果。关于扩散模型中随机性和确定性的解释,将在第 4 节详细介绍。



创世游戏中的「物理定律」从何而来?


宇宙中的一切都是由自组织形成:宇宙大爆炸形成的夸克;宇宙星云中产生的星体;地球岩石圈的形成;石膏和氯化纳的结晶;六角形雪花的凝结;等等等等。宇宙中的四种力:强力、弱力、电磁力和引力是万能的粘合剂,是它们促使复杂组织能自发地建造。... 非生命物质自组织过程是不需要模板的,或者说它也要模板,但这种模板很简单,宇宙中无处不有。所以,太阳和 100 亿光年外的恒星可以有相同的成长过程;巴纳德星系的行星上如果飘雪花,它也只能是六角,绝不会是五角。

——王晋康《水星播种》


在类比创世游戏的图像生成过程中,我们知道,「物理定律」是「宇宙生成游戏」中的一个重要组成部分。缺乏物理定律的约束,完全随机的量子涨落会产生一个即使是在微观尺度上也是各向同性的、充满了躁动的虚粒子的宇宙;类似地,如果在图像生成过程中缺少规则的约束,那么,图像将永远是一堆噪点。

在 Diffusion Model 中的「物理定律」包括两个部分,分别对应生成的两种模式:无引导的生成和条件引导的生成。

我们先看无引导的生成。无引导的生成以创世游戏来类比,对应的是「基本物理规则」:假如我们在 Big Bang 之后产生的空间中划定一块,只规定基本的物理法则,那么这块空间中,通过随机量子涨落和物理法则的共同作用,可能产生星云,也可能产生恒星、黑洞,甚至是一个生命聚集的群落。

而在图像生成过程中,生成的结果如何,则决定于初始的规则和模型从「样本构成的数据宇宙」中学习到的知识:如果数据集中只有人脸的图片,那么通过无引导的生成过程,绝不会产生一只狗的照片,而是会生成一张人脸,因为模型只能从这些数据中学习到「如何生成人脸」的「物理定律」。而对于一个包罗万象的数据集训练出来的模型,做这个实验则有意思的多:

▲ 图5:没有任何初始引导条件下随机生成的两张图片

我们使用 stable diffusion,在不进行任何初始条件输入(没有 prompt、input_image 和 input mask,使用随机 seed)的情况下生成两次图像,可以看到,其生成的图片能被称为「有意义的图像」,但完全无法受控,两者甚至没有任何联系。这意味着,模型自身存储了「从噪点生成图像」的「法则」——尽管能够生成什么样的图像,如同著名的薛定谔的猫,在生成之前我们完全无法想象也无从决定。

而有条件的引导,则对应「创世游戏」的另一种模式。例如,我们划定一块空间,除了指定基本物理规律之外,还进行了一些「引导规律」:

  • 增大生成重元素的概率,当轻元素生成后,让它们更高概率地生成重元素;

  • 当重元素生成后,更高概率地将他们聚合在一起;


那么,这块空间中更有可能产生一颗岩石星球,而不是弥散整个空间的气体星云或者星际尘埃。

对应 Diffusion Model,在输入文本引导或者初始图像引导时,实际上也引入了「基本物理规律」之外的「引导规律」。当我们使用文本引导,例如「一个美丽的少女照片」的时候,文本将被模型编码成「引导规律」,与「图像生成的基本法则」一起,指导图像的生成——当噪点经过随机扰动出现了一根线条的时候,「文本引导规律」倾向于将这根线条解释成少女的头发或者衣褶,并推动这一区域的像素点向「细化头发/衣褶的纹理」方向变化。所以,Diffusion Model 的运作过程实际上是:

▲ 图6:Diffusion Model 的基本原理。需要注意的是,「基础图像规律」、「引导规律」、「编码器」等都是为了方便理解创造的概念,在 Diffusion Model 并不是以此为依据划分网络模块


「基础图像规律」和「引导规律」编码于神经网络的参数中,与人画图所掌握的规律(如何构图、使用什么样的笔触、线条如何画等等)不同,Diffusion Model 编码的是「像素点在某种条件引导下运动和变化的规律」。

那么,神经网络中编码的规律从何而来?答案是:从样本中学习。如果只使用图片的数据,那么神经网络学习到的是「基础图像规则」;如果使用「图文编对」的数据,神经网络则不仅仅能够学习到「基础图像规律」,还能学习到「文字引导规律」。

由于多模态匹配技术如 CLIP 的成熟,「从文字引导中学习图像生成规律」的大部分工作都不需要从 0 开始。这也是文生图模型在 2022 年大量爆发的一个原因(CLIP 模型由 OpenAI 在 2021 年初发布)。



为什么使用多步迭代生成?


在一般的神经网络模型中,「预测」或者「推理」的部分通常是端到端的——输入被送入模型,经过模型的一次运行和处理,能够直接生成结果。而在 Diffusion Model 中,这个过程则通过几十到几百个时间步来完成。这是为什么呢?

如同我们在创世游戏中要生成一个岩石行星一样,从 Big Bang 的开始,到行星的生成,经过了数十亿年的演化。我们如果将这数十亿年的演化历程按照「年」拆成无数的时间片,那么物理规则的归纳将比较简单——比如造物主告诉一位神明,给你一堆样本,每个样本中包含数亿个粒子构成的粒子动力系统及该系统在一秒钟前和一秒钟后的状态,你去总结粒子的动力学法则,这是相对比较简单的。

而如果想要直接从 0 时间点直达最终当前的时间点,那么「物理规则」的总结将变得极其复杂:

  • 岩石行星的地壳、地幔和地核都是由什么元素构成?遵循什么样的规律?
  • 大气由什么元素构成?是否会散逸?
  • 有没有生物圈?生物圈的构成是什么?


等等等等。

虽然神明没有学过地质学和生物学,但凭借总结出来的粒子动力学法则,及近乎无限的计算能力和漫长的时间,这位神明仍然能够从一堆星际粒子中演化出一颗岩石行星。

对于神经网络模型也是如此。神经网络模型本质上是对「规则」的编码,需要编码的规则越简单,意味着神经网络的训练越容易,计算效率也会更高。在实践中,Diffusion Model 的训练过程是「迭代式」的。在 Diffusion Model 的训练中,训练的样本是 形式的样本对。Diffusion Model 学习到的是:
  • 如果我们有某个时间片开始的状态 ,想要得到下一个状态 ,那么对应的「像素点运动或者变化的规律」是怎样的?
  • 或者,如果加入一个引导条件 ,在 共同作为输入的情况下,想要得到 ,那么对应的「像素点运动或者变化的规律」又是怎样的?
这些学习到的规律编码在神经网络的参数中。Stable Diffusion 和 Disco Diffusion 数 G 体积的模型(如果大家在自己的电脑上跑模型,势必需要下载这些模型参数),就是训练得到的、固定和存储下来的对这些规律的编码。

相对应的,生成也是一种迭代式的反演。Diffusion Model 的每一步迭代只根据「当前图像的状态」和「模型中编码的规则约束」考虑下一步的状态会怎样。经过数十次的迭代后,也许生成的图像和初始状态千差万别,但其仍然是图像,并且符合语义引导。



Diffusion Model中的随机性和确定性


在使用 Stable Diffusion 的过程中,最开始的时候大家都会有一个困惑:为什么同样的文本,两次生成的图像大相径庭?

答案是:随机性。像第一节中我们通过图片展示的那样,不同的初始条件会产生不一样的结果。在图像生成的过程中,总是充满了随机性:

  • 初始的图片(噪声图片)是随机生成的;
  • 在迭代生成的每一步中,「像素点」的运动过程也引入了一定的随机性。


类似宇宙演化的过程中,从各向同性的空间和能量中演化出了不一样的天体,暴涨时代的随机量子涨落是最主要的原因——即使是同类型的天体,岩石行星的大小、元素构成、地貌、环境也是千差万别。但当「随机性」占据主导的时代过去,物质开始沉淀,随机扰动就开始渐渐让位于确定的物理法则。

如同图 3 和图 4 中所示,尽管由于随机的扰动,对同一个文本生成的图片差异很大,但如果从图 3 所示生成过程的后半段(「大概定型」之后的图片)开始继续迭代生成,那么随机性就不再重要,我们将有很大概率得到和图 3 最终结果类似的图片。

但冯-诺依曼体系结构的计算机毕竟不是量子计算机。这里需要明白一个概念,就是经典结构的计算机中只存在伪随机性 [5] ——如果输入完全相同,则输出必然完全相同。而在 Diffusion Model 的使用中,我们可以通过指定 Seed(随机数发生的种子,相同的种子会产生完全相同的随机数序列),来保证两次生成的结果是相同的。



一些常见问题:为什么Stable Diffusion无法正确生成「男人在女人左边」或者「正常的人脸」一类的图像?


还有一个常见的问题是:Diffusion Model 的生成结果,往往整个画面充满了张力,但特别不擅长处理一些细节和逻辑性的概念。例如:

  • 方位关系:如果输入「一个男人在一个女人左边」,似乎两个人的位置是随机的;
  • 数量:如果输入「五只老虎」,很可能得到数量不等的 N 只老虎;
  • 细节:如果画「人物肖像」,则可能得到一张精致的人脸;但如果画「一位英俊的武士骑马奔驰在广阔的草原上」,好像这位武士没有五官……


导致这些问题的原因很复杂,很可能也不是单一的。目前最靠谱的猜测包括如下:

  • 神经网络机制问题。神经网络模型偏向于「记忆」而不是「推演」,对人类来说因为 A 所以 B 的简单逻辑,对神经网络来说,只能通过大量数据样本的训练,尝试记住「若 A 出现则有 B 出现」;而这种记忆是无法「衍生」的,比如「因为 A,所以 B,因为 B,所以 C」,对人类来说也很容易推导出「因为 A 所以 C」,而对神经网络无法组合两条规则得到「若 A 出现则有 C 出现」;
  • 数据的问题。最常见的「手部画不好」的问题,很多人推测这是由于在数据中,不同视角、不同场景下的照片,人的手部形态看起来差异非常大(如握拳、握手、五指张开、比 V 字手势),在对应的文本中都是「手」;而且一些动漫人物(常常 4 个手指、甚至没有手指)的图片,也让神经网络对「手」的概念极端困惑;
  • 神经网络注意力的问题。神经网络的梯度反向传播训练机制会让模型把注意力放在整体的画面感上。「整体画面 OK 而局部细节错误」相对应于「整体画面错误而局部细节完美」,其损失函数取值较小,意味着模型能够得到更多的奖赏和更少的惩罚,模型在做不到「整体画面和局部细节都完美」的情况下,往往更倾向于追求整体画面感;这也造成了「画人物肖像精美,但一个宏大场景下的人脸往往形同鬼魅」的现象;


除了这些问题之外,由于数据偏见,也常常导致模型的输出有偏差。例如,研究机构发现,当输入「CEO」的时候,Diffusion Model 有极大概率生成「一张西装革履的白人中年/老年男性」的形象,而不是女性、有色人种、少年人的形象,甚至在输入「黑人少年 CEO」的情况下也有不小的概率出现。这是因为在训练模型的样本中,「CEO」这个词汇往往和「西装革履的白人中年/老年男性」同时小出现,模型错误地学习了这种偏见。



引用及感谢


1. 本文中的部分图像及描述来自 Illustrated Stable Diffusion [6]。Jay Alammar [7] 是我很喜欢的一位计算机科学方面的「科普作家」,同时他也在 Discord 异常活跃,参与了很多 NLP、CV 方面的讨论。


2. 本文中的部分描述受到生成扩散模型漫谈:DDPM = 拆楼 + 建楼一文启发(尽管描述上有很大的不同);


3. 如果想深入研究扩散模型的原理、组件,可以从 GitHub - divamgupta/stable-diffusion-tensorflow: Stable Diffusion in TensorFlow / Keras [8] 入手。尽管这只是 stable diffusion 的一个不完整的实现(只有生成过程而没有训练过程,并且去掉了很多组件),但更加清晰易懂。


4. 本文封面由 www.zcool.com.cn/ailab 生成。



参考文献

[1] https://www.zcool.com.cn/ailab

[2] https://jalammar.github.io/illustrated-stable-diffusion/

[3]https://zh.wikipedia.org/wiki/大爆炸

[4] https://zh.m.wikipedia.org/zh-hans/量子涨落

[5] https://zh.wikipedia.org/wiki/伪随机性

[6] https://jalammar.github.io/illustrated-stable-diffusion/

[7] https://jalammar.github.io/

[8] https://github.com/divamgupta/stable-diffusion-tensorflow



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
大一统视角理解扩散模型Understanding Diffusion Models: A Unified PerspectiveAnimoca CEO萧逸谈NFT游戏:有寒气但不是寒冬,亚洲将是突破口改变者游戏:投资者应关注互金新叙事男孩游戏:我的性探索是从「被侵犯」开始的|故事FM再差的小孩,也能变成闪亮的星星:我用动机心理学解释了阿米尔·汗的电影凉拌脆鱼片11岁发现数学新定理,13岁登日本数学会学术会议,学界大佬:他是「可敬的数学家」十月十日左右有没有可能北京封城?牛津年度词汇“Goblin mode”是什么意思?媒体的解释扎心了……超43万辆!特斯拉召回国产Model 3和Model Y图学习如何可解释?首篇《图反事实解释:定义、方法、评价》综述,46页pdf165篇文献全面概述图反事实解释进展2022傅雷翻译出版奖获奖者揭晓 Le palmarès du Prix Fu Lei 2022 dévoiléGoogle Play公布年度游戏:Apex手游、原神,神觉者,幻塔美区获奖每日一词 1422:dislodge | 订阅赠全年学习社区人在洗澡时,为啥灵感这么多?神经学解释来了Stable Diffusion、DreamFusion、Make-A-Video、Imagen Video 和下一步入冬必备款!Moncler专场Bug价来啦,冬季软fufu的一抹亮色!看到可爱萌物就想捏,是心理有问题吗?科学解释来了恭喜Emory学员斩获BlackRock (US) 2023 Full-time Offer!为什么挠自己不会痒?最新研究找到神经科学解释抗美援俄,习近平带领中国走向深渊?diffusion model模型应用与理解免费游戏:LEGO Builder's Journey!仅24小时!@ EPIC Games自建 MongoDB 实战 | MongoDB 文档查询终身致力于数学教育的美国数学家说,与现实脱节的数学课,对99%的学生都没有用非媒:中非数字经济合作助力非洲脱贫恭喜DBC职梦USC学员斩获高盛 (US) Full Time Offer!复盘字节游戏:氪了几百亿元,没算出人性《山居续忆》:第六章:我和春节:(上)《西罗普郡一少年》: 44: 一枪毙命,干净利落?限时领!清华大学出品小学数学资料《DK图解数学》含184个数学知识点视频和253种科学思维!从消费神话到消费游戏:消费者并不是被单方面制造的苹果公布AppStore年度游戏:Apex手游、英雄联盟电竞经理成大赢家人类反超 AI:DeepMind 用 AI 打破矩阵乘法计算速度 50 年记录一周后,数学家再次刷新权力的游戏:如何走出 “零和博弈”的困境?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。