存根 稳定扩散面临的三大挑战 - Unite.AI
关注我们.

人工智能

稳定扩散面临的三大挑战

mm
更新 on

释放 stable.ai 的稳定扩散 潜在扩散 几周前的图像合成模型可能是最重要的技术披露之一 自1999年DeCSS以来; 这无疑是 2017 年以来人工智能生成图像领域最大的事件 深度造假代码 被复制到 GitHub 并分叉成后来的样子 深度人脸实验室换脸,以及实时流媒体deepfake软件 深脸直播.

一下子, 用户沮丧内容限制 DALL-E 2 的图像合成 API 中的功能被抛在了一边,因为稳定扩散的 NSFW 过滤器可以通过更改 唯一一行代码。 以色情为中心的 Stable Diffusion Reddits 几乎立即兴起,但很快就被砍掉了,而开发者和用户阵营在 Discord 上分为官方社区和 NSFW 社区,Twitter 开始充斥着奇幻的 Stable Diffusion 创作。

目前,采用该系统的开发人员似乎每天都会带来一些惊人的创新,插件和第三方附件正在匆忙编写。 粉笔, Photoshop中, Cinema4D, 混合器,以及许多其他应用平台。

稳定扩散 Krita 插件

在此期间, 即时工艺 – 现在的“人工智能耳语”专业艺术,最终可能成为自“Filofax活页夹”以来最短的职业选择 – 已经成为 商业化,而稳定扩散的早期货币化正在发生 会员级别,对于那些不愿意导航的人来说,肯定会有更复杂的产品出现 基于Conda 源代码的安装,或基于 Web 的实施的规定性 NSFW 过滤器。

开发的步伐和用户的自由探索意识正以令人眼花缭乱的速度进行,以至于很难看到很远的未来。 本质上,我们还不知道我们正在处理什么,或者所有的限制或可能性可能是什么。

尽管如此,让我们来看看快速形成和快速发展的稳定扩散社区面临并有望克服的三个最有趣和最具挑战性的障碍。

1:优化基于图块的管道

由于硬件资源有限且训练图像分辨率受到硬性限制,开发人员很可能会找到解决方法来提高稳定扩散输出的质量和分辨率。 许多此类项目都涉及利用系统的局限性,例如其原始分辨率仅为 512×512 像素。

与计算机视觉和图像合成计划的一贯情况一样,稳定扩散在平方比图像上进行训练,在本例中重新采样为 512×512,以便源图像可以被正则化并能够适应 GPU 的约束训练模型。

因此,稳定扩散以 512×512 的方式“思考”(如果它有思考的话),当然也以平方方式“思考”。 目前探索系统极限的许多用户报告说,稳定扩散在这种相当受限的纵横比下产生最可靠和最少故障的结果(参见下面的“解决四肢”)。

尽管各种实现都具有通过以下方式进行升级的功能 真实ESRGAN (并且可以通过修复渲染不佳的面孔 GFPGAN) 一些用户目前正在开发将图像分割成 512x512px 部分并将图像拼接在一起以形成更大的合成作品的方法。

这个 1024x576 渲染通常不可能在单个稳定扩散渲染中实现,它是通过将 Attention.py Python 文件从稳定扩散的 DoggettX 分支(实现基于图块的升级的版本)复制并粘贴到另一个分支中来创建的。 来源:https://old.reddit.com/r/StableDiffusion/comments/x6yeam/1024x576_with_6gb_nice/

这个 1024×576 渲染通常是不可能在单个稳定扩散渲染中实现的分辨率,它是通过从 多吉特X 将 Stable Diffusion(实现基于图块的升级的版本)分叉到另一个分叉中。 来源:https://old.reddit.com/r/StableDiffusion/comments/x6yeam/1024x576_with_6gb_nice/

尽管此类举措的一些举措正在使用原始代码或其他库,但 txt2imghd 端口 GOBIG(需要 VRAM 的 ProgRockDiffusion 中的一种模式)将很快向主分支提供此功能。 虽然 txt2imghd 是 GOBIG 的专用端口,但社区开发人员的其他努力涉及 GOBIG 的不同实现。

原始 512x512px 渲染中的方便抽象图像(左侧和左侧第二个); 由 ESGRAN 升级,现在或多或少是所有稳定扩散发行版的原生版本; 并通过 GOBIG 的实现给予“特别关注”,产生至少在图像部分的范围内看起来更好的细节。 来源:https://old.reddit.com/r/StableDiffusion/comments/x72460/stable_diffusion_gobig_txt2imghd_easy_mode_colab/

原始 512x512px 渲染中的方便抽象图像(左侧和左侧第二个); 由 ESGRAN 升级,现在或多或少是所有稳定扩散发行版的原生版本; 并通过 GOBIG 的实现给予“特别关注”,产生至少在图像部分的范围内看起来更好的细节。 S来源:https://old.reddit.com/r/StableDiffusion/comments/x72460/stable_diffusion_gobig_txt2imghd_easy_mode_colab/

上面提到的那种抽象示例有许多细节的“小王国”,适合这种唯我论的升级方法,但可能需要更具挑战性的代码驱动解决方案,以便产生不重复的、有凝聚力的升级。 就像它是由许多零件组装而成的。 尤其是在人脸的情况下,我们对像差或“刺耳”的伪影异常敏感。 因此,人脸最终可能需要一个专用的解决方案。

稳定扩散目前没有机制可以在渲染过程中将注意力集中在面部上,就像人类优先考虑面部信息一样。 尽管 Discord 社区中的一些开发人员正在考虑实现这种“增强注意力”的方法,但目前在初始渲染发生后手动(最终自动)增强面部要容易得多。

人脸具有内部且完整的语义逻辑,而在(例如)建筑物底角的“瓷砖”中找不到这种逻辑,因此目前可以非常有效地“放大”并重新渲染稳定扩散输出中的“粗略”面孔。

左图,Stable Diffusion 最初的努力,提示“克里斯蒂娜·亨德里克斯穿着雨衣进入拥挤的地方的全长彩色照片; Canon50,目光接触,高细节,高面部细节”。 右图是通过使用 Img2Img 将第一次渲染中模糊和粗略的脸部反馈回稳定扩散的全部注意力而获得的改进脸部(请参见下面的动画图像)。

左图,Stable Diffusion 最初的努力,提示“克里斯蒂娜·亨德里克斯穿着雨衣进入拥挤的地方的全长彩色照片; Canon50,目光接触,高细节,高面部细节”。 右图是通过使用 Img2Img 将第一次渲染中模糊和粗略的脸部反馈回稳定扩散的全部注意力而获得的改进脸部(请参见下面的动画图像)。

在没有专门的文本反转解决方案(见下文)的情况下,这仅适用于名人图像,其中相关人物已经在训练稳定扩散的 LAION 数据子集中得到了很好的体现。 因此,它将适用于汤姆·克鲁斯、布拉德·皮特、詹妮弗·劳伦斯等人,以及源数据中大量图像中存在的有限范围的真正媒体名人。

生成一张看似合理的新闻图片,并提示“克里斯蒂娜·亨德里克斯穿着雨衣进入拥挤场所的全长彩色照片; Canon50,目光接触,高细节,高面部细节”。

生成一张看似合理的新闻图片,并提示“克里斯蒂娜·亨德里克斯穿着雨衣进入拥挤场所的全长彩色照片; Canon50,目光接触,高细节,高面部细节”。

对于职业生涯长久且持久的名人,稳定扩散通常会生成该人最近(即较年长)年龄的形象,并且有必要添加及时的附加物,例如 '年轻的' or “今年 [YEAR]” 以产生看起来更年轻的图像。

女演员詹妮弗·康纳利 (Jennifer Connelly) 拥有近 40 年的杰出、出镜率很高、始终如一的职业生涯,是 LAION 中为数不多的允许稳定扩散 (Stable Diffusion) 代表各个年龄段的名人之一。 来源:prepack Stable Diffusion,本地,v1.4 检查点; 与年龄相关的提示。

女演员詹妮弗·康纳利 (Jennifer Connelly) 拥有近 40 年的杰出、出镜率很高、始终如一的职业生涯,是 LAION 中为数不多的允许稳定扩散 (Stable Diffusion) 代表各个年龄段的名人之一。 来源:prepack Stable Diffusion,本地,v1.4 检查点; 与年龄相关的提示。

这主要是因为从 2000 年代中期开始,数字(而不是昂贵的、基于乳剂的)新闻摄影的普及,以及后来由于宽带速度的提高而导致图像输出量的增长。

渲染的图像传递到稳定扩散中的 Img2Img,其中选择“焦点区域”,并且仅由该区域构成新的最大尺寸渲染,从而允许稳定扩散集中所有可用资源来重新创建面部。

渲染的图像传递到稳定扩散中的 Img2Img,其中选择“焦点区域”,并且仅由该区域构成新的最大尺寸渲染,从而允许稳定扩散集中所有可用资源来重新创建面部。

将“高度关注”的脸部重新合成到原始渲染中。 除了面部之外,此过程仅适用于具有潜在已知、有凝聚力和整体外观的实体,例如原始照片中具有独特物体的部分,例如手表或汽车。 例如,放大墙壁的一部分将导致重新组装的墙壁看起来非常奇怪,因为瓷砖渲染在渲染时没有更广泛的上下文来说明这个“拼图块”。

将“高度关注”的脸部重新合成到原始渲染中。 除了面部之外,此过程仅适用于具有潜在已知、有凝聚力和整体外观的实体,例如原始照片中具有独特物体的部分,例如手表或汽车。 例如,放大墙壁的一部分将导致重新组装的墙壁看起来非常奇怪,因为瓷砖渲染在渲染时没有更广泛的背景来说明这个“拼图块”。

数据库中的一些名人的时间被“预先冻结”,要么是因为他们早逝(例如玛丽莲·梦露),要么是因为在主流媒体中的知名度转瞬即逝,在有限的时间内产生了大量的图像。 投票稳定扩散可以说为现代和老明星提供了一种“当前”受欢迎程度指数。 对于一些较老的和现在的名人来说,源数据中没有足够的图像来获得非常好的相似度,而特定已去世或褪色的明星的持久受欢迎程度确保可以从系统中获得他们合理的相似度。

稳定扩散渲染可以快速揭示哪些著名面孔在训练数据中得到了很好的体现。 尽管在撰写本文时米莉·鲍比·布朗 (Millie Bobby Brown) 作为一名年龄较大的青少年非常受欢迎,但当 LAION 源数据集从网络上被删除时,米莉·鲍比·布朗 (Millie Bobby Brown) 还更年轻,知名度也较低,这使得稳定扩散的高质量相似度目前存在问题。

稳定扩散渲染可以快速揭示哪些著名面孔在训练数据中得到了很好的体现。 尽管在撰写本文时米莉·鲍比·布朗 (Millie Bobby Brown) 作为一名年龄较大的青少年非常受欢迎,但当 LAION 源数据集从网络上被删除时,米莉·鲍比·布朗 (Millie Bobby Brown) 还更年轻,知名度也较低,这使得稳定扩散的高质量相似度目前存在问题。

在数据可用的情况下,稳定扩散中基于图块的高分辨率解决方案可以比追踪面部更进一步:它们可以通过分解面部特征并调动本地 GPU 的全部力量来实现更准确和更详细的面部在重新组装之前,单独提供有关显着特征的资源——目前该过程仍然是手动的。

这不仅限于面部,而且仅限于至少可预测地放置在宿主对象的更广泛上下文中的对象部分,并且符合人们可以合理期望在超大规模中找到的高级嵌入数据集。

真正的限制是数据集中可用参考数据的数量,因为最终,深度迭代的细节将变得完全“幻觉”(即虚构)并且不太真实。

这种高水平的颗粒放大对詹妮弗·康纳利来说很有效,因为她在各个年龄段都有很好的代表性。 LAION-美学 (的主要子集 莱昂5B 稳定扩散使用),并且通常跨越 LAION; 在许多其他情况下,准确性会因缺乏数据而受到影响,需要进行微调(额外的训练,请参阅下面的“自定义”)或文本倒置(请参阅下文)。

平铺是稳定扩散产生高分辨率输出的一种强大且相对便宜的方式,但是这种算法平铺升级,如果缺乏某种更广泛、更高级别的关注机制,可能会达不到预期的效果。适用于各种内容类型的标准。

2:解决人类四肢问题

在描述人类四肢的复杂性时,稳定扩散并不名副其实。 手可以随机繁殖,手指可以合并,第三条腿不请自来地出现,现有的肢体消失得无影无踪。 在其辩护中,Stable Diffusion 与它的稳定伙伴(尤其是 DALL-E 2)都存在同样的问题。

2 年 1.4 月底 DALL-E 2022 和 Stable Diffusion (XNUMX) 的未经编辑结果均显示四肢问题。 提示是“一个女人拥抱一个男人”

2 年 1.4 月底 DALL-E 2022 和 Stable Diffusion (XNUMX) 的未经编辑结果均显示四肢问题。 提示是“一个女人拥抱一个男人”

Stable Diffusion 粉丝希望即将推出的 1.5 检查点(经过更严格训练的模型版本,具有改进的参数)能够解决肢体混乱问题,但可能会失望。 新车型将于 大约两周的时间,目前正在商业 stable.ai 门户网站上首映 梦想工作室,默认使用 1.5,用户可以将新输出与本地或其他 1.4 系统的渲染进行比较:

来源:Local 1.4 prepack 和 https://beta.dreamstudio.ai/

来源:Local 1.4 prepack 和 https://beta.dreamstudio.ai/

来源:Local 1.4 prepack 和 https://beta.dreamstudio.ai/

来源:Local 1.4 prepack 和 https://beta.dreamstudio.ai/

来源:Local 1.4 prepack 和 https://beta.dreamstudio.ai/

来源:Local 1.4 prepack 和 https://beta.dreamstudio.ai/

通常情况下,数据质量很可能是主要原因。

为稳定扩散和 DALL-E 2 等图像合成系统提供支持的开源数据库能够为人类个体和人类之间的行为提供许多标签。 这些标签与其相关图像或图像片段共生地进行训练。

Stable Diffusion 用户可以通过查询 LAION-aesthetics 数据集(为系统提供动力的较大 LAION 5B 数据集的子集)来探索训练到模型中的概念。 这些图像不是按字母顺序标签排序,而是按“审美分数”排序。 来源:https://rom1504.github.io/clip-retrieval/

Stable Diffusion 用户可以通过查询 LAION-aesthetics 数据集(为系统提供动力的较大 LAION 5B 数据集的子集)来探索训练到模型中的概念。 这些图像不是按字母顺序标签排序,而是按“审美分数”排序。 来源:https://rom1504.github.io/clip-retrieval/

A 良好的层次结构 有助于描绘人类手臂的各个标签和类别的数量类似于 身体>手臂>手>手指>[小指+拇指]>[数字段]>指甲.

手部各部分的粒度语义分割。 即使这种异常详细的解构也使每个“手指”成为一个单独的实体,而不考虑手指的三个部分和拇指的两个部分来源:https://athitsos.utasisites.cloud/publications/rezaei_petra2021.pdf

手部各部分的粒度语义分割。 即使这种异常详细的解构也使每个“手指”成为一个单独的实体,而没有考虑到手指的三个部分和拇指的两个部分。 资料来源:https://athitsos.utasisites.cloud/publications/rezaei_petra2021.pdf

实际上,源图像不太可能在整个数据集中得到如此一致的注释,并且无监督标记算法可能会停止在 更高 例如,“手”的级别,并将内部像素(技术上包含“手指”信息)保留为未标记的像素块,从中可以任意导出特征,并且可能在以后的渲染中表现为不和谐的元素。

由于标签资源有限,或者此类标签的架构利用(如果数据集中确实存在),它应该如何(右上,如果不是上切),以及它往往如何(右下)。

由于标签资源有限,或者此类标签的架构利用(如果数据集中确实存在),它应该如何(右上,如果不是上切),以及它往往如何(右下)。

因此,如果潜在扩散模型能够渲染一只手臂,那么它几乎肯定至少会尝试在该手臂的末端渲染一只手,因为 手臂>手 是最低限度的必要层次结构,在架构所了解的“人体解剖学”方面相当高。

之后,“手指”可能是最小的分组,尽管在描绘人手时还需要考虑 14 个手指/拇指子部分。

如果这一理论成立,那么就没有真正的补救措施,因为整个行业缺乏手动注释的预算,并且缺乏足够有效的算法来实现自动化标记,同时产生较低的错误率。 实际上,该模型目前可能依赖人体解剖学一致性来掩盖其训练数据集的缺点。

一个可能的原因是 不能 靠这个,最近 建议 在稳定扩散不和谐的问题上,模型可能会对(现实的)人手应该拥有的正确手指数量感到困惑,因为为其提供动力的 LAION 衍生数据库具有可能拥有更少手指的卡通人物(这本身就是 省力捷径).

稳定扩散和类似模型中“缺失手指”综合症的两个潜在罪魁祸首。 下面是来自 LAION-aesthetics 数据集的卡通手示例,为稳定扩散提供动力。 来源:https://www.youtube.com/watch?v=0QZFQ3gbd6I

稳定扩散和类似模型中“缺失手指”综合症的两个潜在罪魁祸首。 下面是来自 LAION-aesthetics 数据集的卡通手示例,为稳定扩散提供动力。 来源:https://www.youtube.com/watch?v=0QZFQ3gbd6I

如果这是真的,那么唯一明显的解决方案是重新训练模型,排除不现实的基于人类的内容,确保真正的遗漏案例(即截肢者)被适当地标记为例外。 仅从数据管理角度来看,这将是一个相当大的挑战,特别是对于资源匮乏的社区工作而言。

第二种方法是应用过滤器,在渲染时排除此类内容(即“有三个/五个手指的手”),这与 OpenAI 在某种程度上的方式大致相同, 过滤 GPT-3 和 达尔-E 2,这样就可以调节它们的输出,而无需重新训练源模型。

对于稳定扩散,数字甚至四肢之间的语义区别可能会变得非常模糊,让人想起 1980 世纪 6 年代大卫·柯南伯格 (David Cronenberg) 等人的恐怖电影中的“身体恐怖”系列。 资料来源:https://old.reddit.com/r/StableDiffusion/comments/x6htfXNUMX/a_study_of_stable_diffusions_strange_relationship/

对于稳定扩散,数字甚至四肢之间的语义区别可能会变得非常模糊,让人想起 1980 世纪 XNUMX 年代大卫·柯南伯格 (David Cronenberg) 等人的恐怖电影中的“身体恐怖”系列。 资料来源:https://old.reddit.com/r/StableDiffusion/comments/x6htf6/a_study_of_stable_diffusions_strange_relationship/

然而,这需要的标签可能并不存在于所有受影响的图像中,这给我们带来了同样的后勤和预算挑战。

可以说,还有两条前进的道路:在问题上投入更多数据,并应用第三方解释系统,当此处描述的类型的物理错误呈现给最终用户时可以进行干预(至少,后者将为 OpenAI 提供一种为“身体恐怖”渲染提供退款的方法(如果该公司有动力的话)。

3:定制

稳定扩散的未来最令人兴奋的可能性之一是用户或组织开发修订系统的前景; 允许将预训练 LAION 领域之外的内容集成到系统中的修改,理想情况下不会产生重新训练整个模型的不可控制的费用,也不会产生将大量新图像训练为现有的、成熟的和有能力的模型时所带来的风险模型。

打个比方:如果两个天赋较差的学生加入一个由三十名学生组成的高级班,他们要么被同化并迎头赶上,要么成为异类而失败; 无论哪种情况,班级平均成绩可能都不会受到影响。 然而,如果有 15 名天赋较差的学生加入,整个班级的成绩曲线可能会受到影响。

同样,在持续且昂贵的模型训练中建立起来的协同且相当微妙的关系网络可能会因过多的新数据而受到损害,在某些情况下甚至会被有效地破坏,从而全面降低模型的输出质量。

这样做的情况主要是您的兴趣在于完全劫持模型对关系和事物的概念理解,并将其用于独家制作与您添加的附加材料类似的内容。

因此,训练 500,000 辛普森 框架到现有的稳定扩散检查点最终可能会给你带来更好的结果 辛普森 模拟器比原始构建所能提供的要好,假设有足够广泛的语义关系在该过程中幸存下来(即 荷马·辛普森吃热狗,这可能需要有关热狗的材料,这些材料不在您的附加材料中,但在检查点中已经存在),并且假设您不想突然从 辛普森 创作内容 格雷格·鲁特科斯基 (Greg Rutkowski) 的美妙风景 – 因为你的训练后模型的注意力已经被大量转移,并且不会像以前那样擅长做这类事情。

一个值得注意的例子是 waifu扩散,已成功 训练后的 56,000 张动漫图像 进入一个完整且训练有素的稳定扩散检查点。 不过,对于爱好者来说,这是一个艰难的前景,因为该型号需要至少 30GB 的显存,远远超出了 NVIDIA 即将发布的 40XX 系列中消费级可能提供的容量。

将自定义内容训练为稳定扩散:模型需要两周的训练后才能输出这种级别的插图。 左侧的六张图像显示了模型在基于新训练数据进行主题一致输出方面的进展。 资料来源:https://gigazine.net/gsc_news/en/20220121-how-waifu-labs-create/

通过 waifu-diffusion 将自定义内容训练为稳定扩散:模型需要两周的后期训练才能输出这种级别的插图。 左侧的六张图像显示了随着训练的进行,模型在根据新的训练数据生成主题一致的输出方面的进展。 资料来源:https://gigazine.net/gsc_news/en/20220121-how-waifu-labs-create/

可以在稳定扩散检查点的此类“分叉”上花费大量精力,但结果却因技术债务而受阻。 官方 Discord 的开发人员已经表示,以后的检查点版本不一定会向后兼容,即使具有可能适用于先前版本的提示逻辑,因为他们的主要兴趣是获得可能的最佳模型,而不是支持遗留应用程序和流程。

因此,决定将检查点分支为商业产品的公司或个人实际上没有回头路; 他们的模型版本在这一点上是一个“硬分叉”,并且将无法从 stable.ai 的后续版本中获得上游收益——这是一个相当大的承诺。

当前,对稳定扩散的定制的更大希望是 文本倒装,用户在少数情况下进行训练 CLIP- 对齐图像。

特拉维夫大学和 NVIDIA 合作,文本反转可以训练离散和新颖的实体,而不会破坏源模型的功能。 来源:https://textual-inversion.github.io/

特拉维夫大学和 NVIDIA 合作,文本反转可以训练离散和新颖的实体,而不会破坏源模型的功能。 来源:https://textual-inversion.github.io/

文本倒置的主要明显限制是推荐的图像数量非常少——只有五个。 这有效地产生了一个有限的实体,该实体对于风格转换任务可能比插入真实感对象更有用。

尽管如此,目前正在各种稳定扩散不和谐中进行实验,这些实验使用更多数量的训练图像,并且该方法的有效性还有待观察。 同样,该技术需要大量 VRAM、时间和耐心。

由于这些限制因素,我们可能需要等待一段时间才能看到稳定扩散爱好者进行的一些更复杂的文本反转实验,以及这种方法是否能够以比Photoshop 剪切和粘贴,同时保留官方检查点的惊人功能。

 

首次发布于 6 年 2022 月 XNUMX 日。