一步成像:Hyper-SD在图像合成中的创新与应用

2024-05-09 09:12

本文主要是介绍一步成像:Hyper-SD在图像合成中的创新与应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、摘要

         论文:https://arxiv.org/pdf/2404.13686

        代码:https://huggingface.co/ByteDance/Hyper-SD

        在生成人工智能领域,扩散模型(Diffusion Models, DMs)因其出色的图像生成质量而备受关注,但其多步骤推理过程的高计算成本一直是其广泛应用的瓶颈。本文介绍的Hyper-SD框架是来自字节的一篇工作,通过创新的轨迹分割一致性蒸馏(Trajectory Segmented Consistency Distillation, TSCD)技术,显著提升了图像合成的效率,同时保持了生成图像的高质量。 主要贡献包括:

  1. 轨迹分割一致性蒸馏(TSCD):一种新颖的蒸馏技术,通过在预定义的时间步段内逐步执行一致性蒸馏,有效保留了原始ODE(常微分方程)轨迹,同时减少了推理步骤。
  2. 人类反馈学习:结合人类对生成图像的美学偏好,通过反馈学习优化模型性能,尤其在低步骤推理情况下显著提升了图像质量。
  3. 统一的LoRA模型:提出了一个支持1到8步推理的统一LoRA模型,为不同需求的用户提供了灵活性,同时保证了全时推理的一致性。
  4. 性能提升:在少步骤推理中,Hyper-SD在多个评估指标上超越了现有技术,包括CLIP Score和Aes Score等,证明了其在图像合成任务中的领先地位。

        本博客对Hyper-SD的技术细节,包括其核心算法、实验结果做简单总结供快速阅读之用。

二、核心内容:

        这篇论文介绍了一个名为Hyper-SD的新型框架,旨在提高扩散模型(Diffusion Models, DMs)在图像合成任务中的效率和性能。以下是对论文内容的总结,包括主要贡献、主要创新、核心网络结构和核心算法细节:

1.)主要贡献:

  1. 加速(Accelerate):提出了轨迹分割一致性蒸馏(Trajectory Segmented Consistency Distillation, TSCD),这是一种更细粒度和高阶一致性蒸馏方法,用于原始基于分数的模型。
  2. 提升(Boost):通过人类反馈学习(Human Feedback Learning, ReFL)进一步提升模型在低步数推理条件下的性能。
  3. 统一(Unify):提供了一个统一的低秩适应(Low-Rank Adaptation, LoRA)模型,作为全时一致性模型,并支持所有NFE(Noise Free Expressions)的推理。
  4. 性能(Performance):Hyper-SD在1到8步推理中为SDXL和SD1.5实现了最先进的性能。

2.)主要创新:

  • 轨迹分割一致性蒸馏(TSCD):通过将时间步分割成多个段,并在每个段内执行一致性蒸馏,逐步减少段数以实现全时一致性。
  • 人类反馈学习:利用人类对美学的反馈和现有的视觉感知模型来优化加速模型,调整ODE(常微分方程)轨迹以更好地适应少步推理。
  • 分数蒸馏(Score Distillation):通过统一的LoRA技术,增强了一步生成性能,实现了理想的全时一致性模型。

3.)核心算法细节:

  1. TSCD:通过将时间步分为多个段,每个段内执行一致性蒸馏,然后逐步减少段数,最终实现全时一致性。
  2. 教师-学生模型:在蒸馏过程中,使用教师模型(ftea)和学生模型(fstu)来训练学生模型,以近似教师模型的流位置。
  3. 人类反馈学习:包括奖励模型训练和偏好微调两个阶段,使用人类偏好数据对奖励模型进行训练,然后利用该模型对去噪图像进行评分,以此来微调扩散模型。
  4. 一步生成增强:使用优化的分布匹配蒸馏(DMD)技术来提升一步生成的性能,结合均方误差(MSE)损失和人类反馈学习技术。

4.)实验和评估:

  • 使用了LAION和COYO数据集的子集进行训练。
  • 与现有的加速方案进行了定量和定性比较,证明了Hyper-SD在少步推理中的优势。
  • 进行了广泛的用户研究,以更准确地评估性能。

5.)讨论和局限性:

  • 论文讨论了未来的改进方向,包括保留CFG特性、定制人类反馈优化和探索扩散变换器架构(DIT)。

三、结论:

        Hyper-SD通过结合轨迹保持和轨迹重构的蒸馏技术,实现了在少步推理中的高性能图像生成,为生成AI社区的发展提供了推动力。论文还提供了一些量化的比较结果,展示了Hyper-SD在不同指标上相比于其他方法的优势。此外,论文开源了从1到8步推理的LoRA插件,以及一个专门的一步SDXL模型,以促进生成AIGC社区的发展。

这篇关于一步成像:Hyper-SD在图像合成中的创新与应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972987

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2