AI降维打击人类画家,文生图引入ControlNet,深度、边缘信息全能复用

随着庞大文本 – 图象模型的出现,天生一幅吸引人的图象已经变得非常简单,用户必要做的就是动动手指输出简单的 prompt 就可以。通过一系列操作得到图象后,我们不免又会产生这样几个成绩:基于 prom

随着庞大文本 – 图象模型的出现,天生一幅吸引人的图象已经变得非常简单,用户必要做的就是动动手指输出简单的 prompt 就可以。通过一系列操作得到图象后,我们不免又会产生这样几个成绩:基于 prompt 天生的图象能够满足我们的要求吗?我们应该构建怎样的架构来处理用户提出的各种要求?在一定任意中,庞大模型是否还能保持从数十亿张图象中获得的优势和能力?为了回答这些成绩,来自斯坦福的研究者对各种图象处理应用进行了大量调查,并得出以下三个发现:首先,在一定领域中可用数据实际比训练通用模型的数据要少,这主要表现在,例如在一定成绩上(例如姿态理解等)最大的数据集通常低于 100k,比大规模、多模态文本图象数据集 LAION 5B 少了 5 × 10^4 数量级。这就要求神经网络鲁棒性要好,以避免模型过度拟合,并在针对一定成绩时拥有良好的泛化性。其次,当运用数据驱动处理图象任意时,庞大较量争论集群并不总是可用的。这时快速训练方法就变得很重要,这种方法在可接受的时间和内存空间内能够针对一定任意对大模型进行优化。更进一步,在后续的处理过程中可能还必要微调、迁移学习等操作。最后,在图象处理过程中遇到的各种成绩会有不同形式的定义方式。在解决这些成绩时,虽然图象聚集算法可以以「程序化(procedural)」方式进行调节,例如,约束去噪过程、编辑多头注意力激活等,但这些手工制定的规则基本上是由人类指令规定的,考虑到一些一定的任意,如深度 – 图象、姿态 – 人等,这些成绩本质上必要将原始输出解释为对象级或场景级的理解,这使得手工制作的程序方法不太可行。因此,想要在多个任意中给出解决方案,端到端学习是必不可少的。基于上述发现,本文提出了一种端到端的神经网络架构 ControlNet,该架构可以通过增加额外前提来控制聚集模型(如 Stable Diffusion),从而改善图生图效果,并能实现线稿天生全彩图、天生拥有同样深度结构的图、通过手部关键点还能优化手部的天生等。

图片

论文地址:https://arxiv.org/pdf/2302.05543.pdf项目地址:https://github.com/lllyasviel/ControlNet效果展示那么 ControlNet 效果到底如何呢?Canny 边缘检测:通过从原始图象中提取线稿,能够天生同样构图的图象。

图片

深度检测:通过提取原始图象中的深度信息,可以天生拥有同样深度结构的图。

图片

带有语义分割的 ControlNet:

图片

运用基于学习的深度霍夫变换从 Places2 中检测直线,然后运用 BLIP 天生字幕。

图片

HED 边缘检测图示。

图片

人体姿态识别图示。

图片

方法介绍ControlNet 是一种神经网络架构,它可以增强拥有任意一定(task-specific)前提的预训练图象聚集模型。我们先来看 ControlNet 的基本结构。ControlNet 操纵神经网络块的输出前提,从而进一步控制整个神经网络的整体行为。这里「网络块」指的是一组神经层,它们被放在一起作为一个构建神经网络的常用单元,例如 resnet 块、多头注意力块、Transformer 块。以 2D 特征为例,给定一个特征图 x ϵ R^h×w×c,其中 {h, w, c} 分别为高度、宽度和通道数。拥有一组参数 Θ 的神经网络块 F (・; Θ) 将 x 转换为另一个特征图 y,以下公式 (1) 所示。

图片

这一过程以下图 2-(a) 所示。

图片

神经网络块由一种被称为「零卷积」的独特卷积层对接,即权重和偏置都零初始化的 1×1 卷积层。研究者将零卷积运算表示为 Z (・;・) ,并运用两个参数实例 {Θ_z1, Θ_z2} 组成 ControlNet 结构,以下公式 (2) 所示。

图片

其中 y_c 成为该神经网络块的输出,以下图 2-(b) 所示。图象聚集模型中的 ControlNet研究者以 Stable Diffusion 为例,介绍了如何运用 ControlNet 控制拥有任意一定前提的庞大聚集模型。Stable Diffusion 是一种在数十亿张图象上训练的庞大文本到图象聚集模型,本质上是一个由编码器、中间块和残差对接解码器组成的 U-net。以下图 3 所示,研究者运用 ControlNet 来控制 U-net 的每一层。必要注意,这里对接 ControlNet 的方式在较量争论上是高效的:由于原始权重被锁定,原始编码器上的梯度较量争论不必要进行训练。并且又由于原始模型上少了一半梯度较量争论,可以加快训练速度并节省 GPU 内存。运用 ControlNet 训练一个 Stable Diffusion 模型只必要在每次训练迭代中增加大约 23% 的 GPU 内存和 34% 的时间(在单个 Nvidia A100 PCIE 40G 上测试)。

图片

具体地,研究者运用 ControlNet 创建了 12 个编码块和 1 个 Stable Diffusion 中间块的可训练副本。这 12 个编码块有 4 种分辨率,分别为 64×64、32×32、16×16 和 8×8,每种分辨率有 3 个块。输出被增加到 U-net 的 12 个残差对接和 1 个中间块。由于 Stable Diffusion 是典型的 U-net 结构,因此这种 ControlNet 架构很可能可以用于其他聚集模型。训练及提升训练给定图象 z_0,聚集算法渐进地向图象增加噪声并产生噪声图象 z_t,t 是增加噪声的次数。当 t 足够大时,图象近似于纯噪声。给定一组包括时间步长 t、文本 prompts c_t 的前提以及任意一定前提 c_f,图象聚集算法学习网络 ϵ_θ 以预测增加到噪声图象 z_t 的噪声,以下公式 (10) 所示。

图片

在训练过程中,研究者随机将 50% 的文本 prompts c_t 替换为空字符串,这有利于 ControlNet 从输出前提 map 中识别语义内容的能力。此外,研究者还讨论了几种改进 ControlNets 训练的策略,特别是在较量争论设备非常有限(如笔记本电脑)或非常强大(如拥有可用大规模 GPU 的较量争论集群)的极端情况下。更多技术细节请参阅原论文。

原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/21728

(0)
上一篇 2023年2月20日 下午2:23
下一篇 2023年2月20日 下午2:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注