共计 4535 个字符,预计需要花费 12 分钟才能阅读完成。
AI绘画模型的世界观偏见问题
22 年基于扩散模型的图像生成技术的突破,迅速引发了一场全球性的图像 AIGC 研发热潮和应用变革。这其中非常值得一提的是由 Stability 公司开发并开源的 Stable Diffusion[1]模型,让普通人也可以快速体会到 AI 技术对现实生产力的切实改变和推动。围绕着开源的 Stable Diffusion 模型,众多开源开发者和 AI 绘画爱好者已经形成了众多庞大的 AI 绘画社区,如 Civitai[2],Stable Diffusion Online[3]等等,并在这些社区中不断推出各种衍生工具和模型,形成推动 AI 绘画技术进步的重要力量。
中文 AI 绘画模型的研发在整体上落后于英文 AI 绘画模型。AI 绘画模型属于 CV 大模型的范畴,训练一个 AI 绘画模型需要海量的训练数据并对训练算力要较高的要求。以 Stable Diffusion 2.1 为例,根据公开资料[4]: SD2.1 仅 base 模型的训练就动用了 256 块 A100 GPU,训练折算 20 万卡时,共 28.7 亿的图文样本训练量。而国内能够同时满足算力和数据要求的研发机构屈指可数。这就导致大量的中文 AI 绘画产品背后实际上都是以开源的英文 SD 模型及其微调模型为能力基座。
但是,以 SD 为代表的英文 AI 绘画模型,包括且不限于 SD1.4/1.5/2.1 以及 DALLE-2[5]、Midjourney[6]等都普遍带有明显的英文世界偏见。如工作 [7] 所指出的,当前英文模型生成的人物形象更偏向于白人和男性。除人物形象外,如下图 1 所示,物品、建筑、车辆、服饰、标志等等都存在普遍的英文世界偏见。除此之外,之前遭到网友们调侃的“车水马龙”、“红烧狮子头”[8]等现象,本质上也是因为中文概念无法被英文 AI 绘画模型准确生成。
图 1 英文 AI 绘画模型的世界观偏见示例,生成的车辆、建筑、人物、旗帜、标志等都具有明显的英文世界偏向。从左到右分别是:SDXL,Midjourney,国内友商 B *,国内友商 V *
中文 AI 绘画模型的路线选择
中文 AI 绘画模型的研发从易到难当前有如下的几种方式:
-
英文模型 + 翻译。这种方式简单粗暴,除了翻译外几无成本,可以说是最低成本的“中文化”选择,并在大量 AI 绘画产品中得到了广泛采用。但这种方式只能解决表面上的中文输入问题,并不能解决英文模型因为模型偏见而无法准确生成符合中文世界认知形象的问题。
-
英文模型 + 隐式翻译。与显式的调用翻译服务的方式不同,这种方式是将英文模型的 text encoder 替换为中文 text encoder,并利用翻译模型训练中使用的中英文平行语料对中文 text encoder 进行训练,使其输出的 embedding 空间与原来的英文 text encoder 对齐。本质上属于一种隐式翻译。
-
英文模型 + 隐式翻译 + 微调。在上面方法的基础上,将对齐了 text encoder 的模型使用中文图文数据进行进一步的整体微调以提升 AI 绘画模型对中文形象的输出能力。这种方式可以在一定程度上缓解英文基底模型带来的模型偏见问题,但因为其隐式翻译的本质,对多义词的理解和绘制能力总有漏洞。这方面的代表性工作有 IDEA 太乙 [9]、天工[10] 等。8 月 31 日面向公众开放的文心一言也同样存在这方面的问题[11]。
图 2 最新版本的文心一言仍存在隐式翻译带来的英文多义词绘制混淆问题[11]
-
英文模型的结构,使用中文数据从头训练。这是一种非常彻底的中文化方案,因为模型使用中文数据完全从头训练,因此可以保证最终训练得到的模型具有完整的原生中文能力:理解中文输入,并能给出符合中文世界认知的图像输出结果。这方面的代表性工作有阿里达摩院 [12] 和华为的悟空画画 [13] 等。这种方式的优点是具备最优的中文能力,完全没有前述几种路线的英文模型偏见问题,但这种方式在实际落地应用中也有着非常大的不足:除了训练成本高外,最致命的问题是无法复用英文 AI 绘画社区的已有成果,如各种不同风格的微调模型、LoRA、ControlNet 等等。
表 1 当前中文 AI 绘画模型的不同路线选择及其优缺点比较
BDM 中文原生 AI 绘画模型
如表 1 所总结的,当前的中文 AI 绘画模型路线中,中文从头训练能够为中文用户提供最为完整的原生中文能力,但代价是中文模型与英文 SD 模型不兼容,因此在英文 SD 模型上衍生出的大量社区资源如微调模型、LoRA、Dreambooth、ControlNet 等无法直接使用,理论上这些模型都需要针对中文模型重新进行适配训练。这就导致中文模型很难形成社区效应,并可能持续落后于英文社区的进步速度。
能否在原生中文能力之上,进一步打通中文原生模型与英文 SD 社区的兼容性问题,就成为我们所要攻克的一个关键难题。经过近半年的技术攻关,我们提出了一种新的扩散模型结构,称为“Bridge Diffusion Model”(BDM),以解决上述的困境。BDM 不仅可以精确的生成中文语义图片,解决了英文模型的世界偏见问题,同时又保持了和英文社区之间的互通性,无缝兼容各种英文 SD 社区插件,这也是命名中“Bridge”的由来。BDM 通过主干 - 旁支的架构结合原始英文模型,同时使用纯中文数据训练,打造中文原生 AI 绘画模型。
论文链接:https://arxiv.org/abs/2309.00952
1、模型框架
BDM 采用类似 ControlNet[14]的主干 - 旁支网络结构,如图 3(b)所示。其中主干网络采用 Stable Diffusion 1.5 的结构并使用其预训练参数进行初始化,旁支网络则是由主干网络派生出来的可学习副本构成。与 ControlNet 相比,BDM 在结构上的不同之处在于不存在旁支中的条件图像卷积层,这是因为在 BDM 中,中文 prompt 是通过旁支网络而非主干网络进行处理。我们选择了 Chinese CLIP text encoder[15]做为中文的文本编码器。主干网络的英文 text encoder 可以去掉只通过旁支网络支持中文 prompt,或者也可以保留从而实现中英双语的支持。在我们的实现中我们选择保留英文 text encoder,因此 BDM 同时具备中英双语绘画的能力。BDM 网络结构的一个关键优点在于,主干网络包含了完整的英文 SD 结构并在训练中冻结,因此 BDM 的隐空间与英文 SD 模型保持一致,从而可以无缝兼容各种适配于英文 SD 模型的社区插件。
图 3 ControlNet 和 BDM 的网络结构图,左图是 ControlNet,右图是 BDM
2、训练策略
BDM 的整体训练 loss 如图 4 所示,扩散模型 [16] 算法学习一个网络 εθ,以根据一组条件来预测添加到带噪图像 zt 中的噪声,这些条件包括时间步长 t,用于主干的文本输入 cent 以及用于旁支的文本输入 cnlt。
然而仅有这样的网络结构和训练目标是不够的,因为在训练过程中同时将语义信息注入到主干和旁支并不可行,这是由于经过预训练的主干已经包含了强大的英文语义信息,这会阻碍旁支的中文语义学习。因此,BDM 使用了一个关键的训练策略——训练阶段主干的文本输入始终为空字符串,即 cent 始终为“”。这是因为在 SD1.5 训练过程中,文本输入有 10% 的概率置为空,因此可以认为空字符串对应的隐空间是 SD1.5 生成图像整体的平均隐空间。对于 BDM,主干提供英文模型的平均隐空间,同时旁支在这个空间中学习中文语义,寻找中文语义在英文空间中的偏移,这样就真正将 BDM 中文原生模型和英文社区有机的结合在了一起,使得 BDM 可以无缝接入英文社区。
图 4 BDM 训练 loss
3、推理策略
在训练阶段,主干参数始终锁死,主干文本输入也始终为空字符串,但在推理阶段可以有很多不同的选择。
首先我们可以将主干的正 / 负文本输入都设置为空字符串,这和训练阶段保持一致,只用中文正 / 负输入来注入语义。我们观察到,对于训练早期的 BDM 模型,推理阶段在主干使用通用的正 / 负文本输入显著改善了图像质量;然而对于训练末期的 BDM 模型,中文旁支已经得到了充分训练,英文正 / 负输入对图像质量的影响就很小了。当然,为了实现更好的生成效果,中文和英文的正 / 负输入都可以根据用户的需求进行自适应调整。
BDM 也可以和英文社区的各种插件无缝结合。当结合 LoRA[17]时,将 LoRA 模型嵌入到 BDM 主干结构中即可,和常规的英文模型嵌入 LoRA 方式相同,然后从旁支输入所需中文提示即可。如果 LoRA 包含触发词,那么推理时候需要将触发词输入到主干中。同样,当结合 ControlNet 时,可以将 ControlNet 分支嵌入到 BDM 主干上,这样就形成了主干—双旁支结构。当结合 checkpoint 或者 Dreambooth[18]时,把 BDM 主干从 SD1.5 切换到对应的底模即可。结合 Textual Inversion[19]时,可以直接把对应的 embedding 加载到主干的文本输入中即可。以上操作可以根据需求任意组合。
4、效果展示
如图 5 是 BDM 使用 SD1.5 和 realisticVisionV51[20]分别作为主干来生成中文概念,可以看到中文独有概念以及英文多义词概念都生成的很合理。
图 5 中文概念生成
如图 6 是 BDM 分别用不同风格的 checkpoint[21][22][23][24]作为主干进行生成,由于不同模型生成特定风格所需条件不同,比如有的需要触发词,有的需要风格词,推理时候中 / 英文正 / 负输入会根据风格条件进行微调,以达到更好的效果;但可以肯定的是,微调的文本只涉及触发词或者风格词,具体图像内容只会从中文文本来输入。
图 6 不同风格 checkpoint 效果
如图 7 是 BDM 分别结合不同 LoRA[25][26][27]进行生成
图 7 不同风格 LoRA 效果
如图 8 是 BDM 结合 ControlNet[28]的生成
图 8 结合 ControlNet 效果
如图 9 是 BDM 结合不同 Dreambooth 的生成,使用了 6 个名人的底模[29]。
图 9 不同 Dreambooth 效果
如图 10 是 BDM 结合 Textual Inversion[30]的生成,使用了年龄调节 Textual Inversion。
图 10 不同 Textual Inversion 效果
未来工作
BDM1.0 模型使用 360 内部收集的 12 亿中文互联网图文数据训练得到,如前面所展示的,BDM 具有非常好的中文原生 AI 绘画能力,且能无缝兼容当前英文 SD 社区的各种模型和插件。基于 BDM1.0 能力开发的中文 AI 绘画产品“360 鸿图”也将于近期面向公众开放,体验入口:https://ai.360.cn/。
BDM 的结构非常灵活,除了可以与 SD1.5 结合外,基于相同的原理也可以将 BDM 与 SDXL、DALLE-2、Imagen 等等模型结构相结合,进一步提升中文原生 AI 绘画模型的规模和能力。
此外,众所周知的,当前 AI 绘画模型对文本 prompt 的理解能力仍然存在非常显著的缺陷,要想得到好的生成结果,prompt 指令更多的是各种关键词 / 魔法词的堆砌,与人类交流中使用的自然语言仍相去甚远。提升 AI 绘画模型对 prompt 指令的遵循能力,也是我们目前在多模态 LLM(SEEChat: https://github.com/360CVGroup/SEEChat)与 AIGC 结合方面着力的重点。