Classifier-Free Guidance (CFG) Scale in Stable Diffusion

news2024/9/23 19:23:51

1.Classifier-Free Guidance Scale in Stable Diffusion

笔记来源:
1.How does Stable Diffusion work?
2.Classifier-Free Diffusion Guidance
3.Guide to Stable Diffusion CFG scale (guidance scale) parameter

1.1 Classifier Guidance Scale

分类器引导是一种将图像标签合并到扩散模型中的方法。您可以使用标签(label)来指导扩散过程。例如,标签“猫”引导反向扩散过程来生成猫的照片
分类器指导尺度 (CG Scale) 是控制扩散过程有多大程度遵循标签引导的参数

下面是论文Classifier-Free Diffusion Guidance中的一个例子
假设有 3 组图像(下图中的三个分布代表),标签为“猫”、“狗”和“人”
如果扩散是无引导的(如最左侧)模型抽取的样本有时它可能会抽取适合两个标签的图像,例如一个男孩在抚摸一只狗
如果扩散是有引导的(如右侧三个)模型抽取的样本可能只会含有一个标签的图像,例如一只狗
在高分类器指导下,扩散模型生成的图像将偏向极端或明确的图像。如果你要求模型生成一只猫,它只会返回一张明确是猫的图像,除此之外别无其他

尽管分类器指导取得了破纪录的性能,但它需要一个额外的模型来提供该指导,这给训练带来了一些困难,我们需要同时训练两个模型(Unet + Classifier)代价较大

1.2 Classifier-Free Guidance Scale

无分类器指导是实现“没有分类器的分类器指导”的一种方法。他们没有使用类标签和单独的模型进行指导,而是建议使用图像标题(caption)并训练条件扩散模型,就像我们在文本到图像中讨论的模型一样。
他们将分类器部分作为噪声预测器 U-Net 的条件,实现了图像生成中所谓的“无分类器”(即没有单独的图像分类器)指导。也就是文本提示提供了文本到图像的指导

将Classifier用文本替代后,加入Cross Attention使得文本与图像融合,从而我们只需训练一个模型(Unet)

无分类器引导尺度(CFG Scale)是控制扩散过程有多大程度遵循文本引导的参数
当 CFG 比例设置为 0 时,图像生成是无条件的(即忽略提示)
当 CFG 比例设置过高时,文本会引导扩散朝向,图像越贴近给定文本,但这并不意味着该值应始终设置为最大值,因为更多的指导意味着更少的多样性和质量

text (caption) = “panda playing guitar”

CFG=1
CFG=2
CFG=7
CFG=10
CFG=15
CFG=20

注意它在极端情况下的表现:
当CFG设置为1时,文本提示将被忽略。
当CFG设置为最大20时,但图像质量较差。
最具“创意”和“艺术性”的结果通常在 7-12 的指导范围内生成。但使用高达 15 的比例仍然会产生几乎没有伪影的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1929791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚拟机及其Debian(kali)安装

本机电脑为Windows10系统专业版,在此基础上安装VMware和系统(Kali) 步骤如下 一、安装 VMware Workstation Pro v16.2.4 安装步骤可参照网上博客,该步骤较简单,此处不做讲解。文件中共计两个,其中一个是激活…

python的异常

异常 定义 异常是程序执行中发生的错误事件,它可以打断正常的指令流。Python提供了强大的异常处理机制,允许程序在发生错误时执行某些替代指令,而不是直接崩溃。 类型 TypeError:类型错误,比如尝试将字符串和整数相加。…

Nest.js 实战 (一):使用过滤器优雅地统一处理响应体

前言 在我们实际的业务开发中,我们可以看到后端接口返回格式都有一定的要求,假如我们统一规定接口的统一返回格式为: {data: any; // 业务数据code: number; // 状态码msg: string; // 响应信息timestamp: number; // 时间戳 }那么在 Nest.…

【数据结构】:时间和空间复杂度

目录 如何衡量一个代码的好坏 时间复杂度 概念 计算方法 实例计算 【实例1】 【实例2】 【实例3】 【实例4】:冒泡排序的时间复杂度 【实例5】:二分查找的时间复杂度 【实例6】:阶乘递归的时间复杂度 【实例7】:斐波那契…

昇思25天学习打卡营第22天|GAN图像生成

今天是参加昇思25天学习打卡营的第22天,今天打卡的课程是“GAN图像生成”,这里做一个简单的分享。 1.简介 今天来学习“GAN图像生成”,这是一个基础的生成式模型。 生成式对抗网络(Generative Adversarial Networks,GAN)是一种…

springboot系列九: 接收参数相关注解

文章目录 基本介绍接收参数相关注解应用实例PathVariableRequestHeaderRequestParamCookieValueRequestBodyRequestAttributeSessionAttribute 复杂参数基本介绍应用实例 自定义对象参数-自动封装基本介绍应用实例 ⬅️ 上一篇: springboot系列八: springboot静态资源访问&…

02-Redis未授权访问漏洞

免责声明 本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担&…

【Windows】Microsoft PC Manager

使用 Microsoft PC Manager,用户可以轻松执行基本的计算机维护,并通过一键操作提升设备速度。这款应用程序提供了一系列功能,包括磁盘清理、启动应用管理、病毒扫描、Windows 更新检查、进程监控和存储管理。 Microsoft PC Manager 的关键特…

React学习笔记03-----手动创建和运行

一、项目创建与运行【手动】 react-scripts集成了webpack、bable、提供测试服务器 1.目录结构 public是静态目录,提供可以供外部直接访问的文件,存放不需要webpack打包的文件,比如静态图片、CSS、JS src存放源码 (1&#xff09…

xss复习总结及ctfshow做题总结xss

xss复习总结 知识点 1.XSS 漏洞简介 ​ XSS又叫CSS(Cross Site Script)跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的…

ASF平台

最近一直在研究滑坡,但是insar数据处理很麻烦,自己手动处理gamma有很慢,而且据师兄说,gamma处理还很看经验,我就又去看了很多python库和其他工具: isce mintpy pyint 也使用了asf上面的处理产品,虽然也…

H. Beppa and SwerChat【双指针】

思路分析&#xff1a;运用双指针从后往前扫一遍&#xff0c;两次分别记作数组a&#xff0c;b&#xff0c;分别使用双指针i和j来扫&#xff0c;如果一样就往前&#xff0c;如果不一样&#xff0c;i–,ans #include<iostream> #include<cstring> #include<string…

C#绘制含流动块的管道

1&#xff0c;效果。 2&#xff0c;绘制技巧。 1&#xff0c;流动块的实质是使用Pen的自定义DashStyle绘制的线&#xff0c;并使用线的偏移值呈现出流动的效果。 Pen barPen new Pen(BarColor, BarHeight);barPen.DashStyle DashStyle.Custom;barPen.DashOffset startOffse…

解读InnoDB数据库索引页与数据行的紧密关联

目录 一、快速走进索引页结构 &#xff08;一&#xff09;整体展示说明 &#xff08;二&#xff09;内容说明 File Header&#xff08;文件头部&#xff09; Page Header&#xff08;页面头部&#xff09; Infimum Supremum&#xff08;最小记录和最大记录&#xff09; …

太速科技-FMC207-基于FMC 两路QSFP+光纤收发子卡

FMC207-基于FMC 两路QSFP光纤收发子卡 一、板卡概述 本卡是一个FPGA夹层卡&#xff08;FMC&#xff09;模块&#xff0c;可提供高达2个QSFP / QSFP 模块接口&#xff0c;直接插入千兆位级收发器&#xff08;MGT&#xff09;的赛灵思FPGA。支持利用Spartan-6、Virtex-6、Kin…

Webpack看这篇就够了

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

java.sql.SQLException: Unknown system variable ‘query_cache_size‘【Pyspark】

1、问题描述 学习SparkSql中&#xff0c;将spark中dataframe数据结构保存为jdbc的格式并提交到本地的mysql中&#xff0c;相关代码见文章末尾。 运行代码时报出相关配置文件错误&#xff0c;如下。 根据该报错&#xff0c;发现网络上多数解决方都是基于java开发的解决方案&a…

GPT-4从0到1搭建一个Agent简介

GPT-4从0到1搭建一个Agent简介 1. 引言 在人工智能领域&#xff0c;Agent是一种能够感知环境并采取行动以实现特定目标的系统。本文将简单介绍如何基于GPT-4搭建一个Agent。 2. Agent的基本原理 Agent的核心是感知-行动循环&#xff08;Perception-Action Loop&#xff09;…

【Windows】系统盘空间不足?WizTree 和 DISM++ 来帮忙

当您的系统盘空间接近饱和时&#xff0c;了解硬盘空间的使用情况变得尤为重要。在这种情况下&#xff0c;您可以利用 Windows 内置的存储使用工具来快速查看哪些文件和应用程序占用了大量空间&#xff0c;并采取相应措施进行清理。此外&#xff0c;第三方工具如 WizTree 可以提…

Java NIO合并多个文件

NIO API java.nio (Java Platform SE 8 ) 直接上代码 package com.phil.aoplog.util;import lombok.extern.slf4j.Slf4j;import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.channels.FileChannel;Slf4j public…