在一般的神经网络模型中,「预测」或者「推理」的部分通常是端到端的——输入被送入模型,经过模型的一次运行和处理,能够直接生成结果。而在 Diffusion Model 中,这个过程则通过几十到几百个时间步来完成。这是为什么呢? 如同我们在创世游戏中要生成一个岩石行星一样,从 Big Bang 的开始,到行星的生成,经过了数十亿年的演化。我们如果将这数十亿年的演化历程按照「年」拆成无数的时间片,那么物理规则的归纳将比较简单——比如造物主告诉一位神明,给你一堆样本,每个样本中包含数亿个粒子构成的粒子动力系统及该系统在一秒钟前和一秒钟后的状态,你去总结粒子的动力学法则,这是相对比较简单的。 而如果想要直接从 0 时间点直达最终当前的时间点,那么「物理规则」的总结将变得极其复杂:
岩石行星的地壳、地幔和地核都是由什么元素构成?遵循什么样的规律?
大气由什么元素构成?是否会散逸?
有没有生物圈?生物圈的构成是什么?
等等等等。 虽然神明没有学过地质学和生物学,但凭借总结出来的粒子动力学法则,及近乎无限的计算能力和漫长的时间,这位神明仍然能够从一堆星际粒子中演化出一颗岩石行星。 对于神经网络模型也是如此。神经网络模型本质上是对「规则」的编码,需要编码的规则越简单,意味着神经网络的训练越容易,计算效率也会更高。在实践中,Diffusion Model 的训练过程是「迭代式」的。在 Diffusion Model 的训练中,训练的样本是 形式的样本对。Diffusion Model 学习到的是:
这些学习到的规律编码在神经网络的参数中。Stable Diffusion 和 Disco Diffusion 数 G 体积的模型(如果大家在自己的电脑上跑模型,势必需要下载这些模型参数),就是训练得到的、固定和存储下来的对这些规律的编码。 相对应的,生成也是一种迭代式的反演。Diffusion Model 的每一步迭代只根据「当前图像的状态」和「模型中编码的规则约束」考虑下一步的状态会怎样。经过数十次的迭代后,也许生成的图像和初始状态千差万别,但其仍然是图像,并且符合语义引导。
神经网络机制问题。神经网络模型偏向于「记忆」而不是「推演」,对人类来说因为 A 所以 B 的简单逻辑,对神经网络来说,只能通过大量数据样本的训练,尝试记住「若 A 出现则有 B 出现」;而这种记忆是无法「衍生」的,比如「因为 A,所以 B,因为 B,所以 C」,对人类来说也很容易推导出「因为 A 所以 C」,而对神经网络无法组合两条规则得到「若 A 出现则有 C 出现」;
数据的问题。最常见的「手部画不好」的问题,很多人推测这是由于在数据中,不同视角、不同场景下的照片,人的手部形态看起来差异非常大(如握拳、握手、五指张开、比 V 字手势),在对应的文本中都是「手」;而且一些动漫人物(常常 4 个手指、甚至没有手指)的图片,也让神经网络对「手」的概念极端困惑;
神经网络注意力的问题。神经网络的梯度反向传播训练机制会让模型把注意力放在整体的画面感上。「整体画面 OK 而局部细节错误」相对应于「整体画面错误而局部细节完美」,其损失函数取值较小,意味着模型能够得到更多的奖赏和更少的惩罚,模型在做不到「整体画面和局部细节都完美」的情况下,往往更倾向于追求整体画面感;这也造成了「画人物肖像精美,但一个宏大场景下的人脸往往形同鬼魅」的现象;
除了这些问题之外,由于数据偏见,也常常导致模型的输出有偏差。例如,研究机构发现,当输入「CEO」的时候,Diffusion Model 有极大概率生成「一张西装革履的白人中年/老年男性」的形象,而不是女性、有色人种、少年人的形象,甚至在输入「黑人少年 CEO」的情况下也有不小的概率出现。这是因为在训练模型的样本中,「CEO」这个词汇往往和「西装革履的白人中年/老年男性」同时小出现,模型错误地学习了这种偏见。
ACM/IEEE第23届模型驱动工程语言和系统国际会议,是模型驱动软件和系统工程的首要会议系列,由ACM-SIGSOFT和IEEE-TCSE支持组织。自1998年以来,模型涵盖了建模的各个方面,从语言和方法到工具和应用程序。模特的参加者来自不同的背景,包括研究人员、学者、工程师和工业专业人士。MODELS 2019是一个论坛,参与者可以围绕建模和模型驱动的软件和系统交流前沿研究成果和创新实践经验。今年的版本将为建模社区提供进一步推进建模基础的机会,并在网络物理系统、嵌入式系统、社会技术系统、云计算、大数据、机器学习、安全、开源等新兴领域提出建模的创新应用以及可持续性。
官网链接:http://www.modelsconference.org/ a>