当前位置: 首页 > news >正文

扩散模型论文概述(三):Stability AI系列工作【学习笔记】

视频链接:扩散模型论文概述(三):Stability AI系列工作_哔哩哔哩_bilibili

本期视频讲的是Stability AI在图像生成的工作。

 同样,第一张图片是神作,总结的太好了!

介绍Stable Diffusion之前,先来看一个重要的铺垫工作,VQGAN可以看作是SD的雏形。在这个架构中,可以看到对图像先进行压缩,然后在隐空间里进行建模的思想。

这张幻灯片展示了VQGAN的生成结果,可以看到其已经具备条件控制生成和修复的能力。

而Latent Diffusion Model也就是所谓的SD模型,将VQGAN中基于Transformer序列建模的部分替换成去噪扩散,利用交叉注意力机制将条件约束引入扩散过程。LDM中继承了VQGAN中对图像进行压缩的思想,相较于DDPM,极大的减少了计算量。

LDM在不同条件下可以生成多种输出。例如,文本条件控制、布局图控制以及修复功能。这些能力也展示了模型的多样性与强大性能。

这里可以看到语义分割图的应用效果。该模型还具有超分辨率生成的能力,输出结果可以展示更高的细节和真实感。

这里展示了LDM在ImageNet上类别控制的生成结果。值得注意的是,以上所有模型都是使用相同的LDM架构进行训练的,只需要调整LDM中的条件控制编码器,就能接受各种不同类型的条件输入。

SDXL提出类似Google CDM的架构,将生成过程分为Base和Refiner两个阶段。在Base阶段生成初步的隐变量表征,然后在Refiner阶段进一步优化,最终生成高分辨率的图像。同时,相较于SD,它额外使用了一个更大的文本编码器(OpenCLIP ViT-bigG),用于更好的语义理解。

SDXL重点关注了训练数据本身存在问题,这张幻灯片展示了数据集中高度和宽度分布。我们发现大量的训练数据小于256尺寸,同时长宽比并不等于1。如果直接对小于256尺寸的图像进行筛除,那么会有39%的数据会被丢弃。

为了解决训练图像尺寸的问题,SDXL提出了尺寸和裁剪微条件控制处理算法,先讨论尺寸控制。右图展示了不同尺寸控制条件下生成的图像对比效果,可以看到引入尺寸作为输入的控制条件,随着尺寸大小增加,图像的质量显著提升。

这里展示的是SDXL在裁剪条件下的效果。可以看到左侧SD 1.5和SD 2.1生成的图像中,猫的头部被裁剪了。一个可能的原因是使用了Pytorch框架中进行提量预训练时,为了保持tensor形状一致而对图像做出了缩放和裁剪。而SDXL额外引入裁剪作为控制条件,解决了上述问题并可人为控制被裁剪样本的生成。

SDXL Turbo模型使用对抗扩散蒸馏(ADD)方法,通过对SDXL进行蒸馏得到更高效的模型SDXL Turbo,仅需一个采样步长就能生成令人满意的结果。

2023年DiT横空出世,全面取代了扩散模型传统的UNet/ViT的网络骨架。SD 3进一步拓展了DiT框架,提出MM-DiT,使DiT能够支持文本等条件约束。

同时SD 3做了大量的对比实验,探索了多模态DiT的Scaling Law,发现基于DiT的文生图模型与大模型一样,也具有Scaling Law的规律。

相关文章:

扩散模型论文概述(三):Stability AI系列工作【学习笔记】

视频链接:扩散模型论文概述(三):Stability AI系列工作_哔哩哔哩_bilibili 本期视频讲的是Stability AI在图像生成的工作。 同样,第一张图片是神作,总结的太好了! 介绍Stable Diffusion之前&…...

JVM调优,参数在哪里设置的?

JVM调优,参数在哪里设置的? 在Java应用程序中,JVM(Java Virtual Machine)的调优通常通过设置JVM启动参数来实现。这些参数可以控制JVM的内存分配、垃圾回收策略、线程管理、性能优化等方面。 1. JVM参数的位置 JVM参…...

2024年最新Stable Diffusion 新手入门教程,安装使用及模型下载

一、安装要求: ① 操作系统:Windows10以后的系统 ② CPU:不做强制性要求 ③ 内存:推荐8G以上 ④ 显卡:必须是Nvidia的独立显卡,显存最低4G,推荐20系以后;A卡、核显只能用CPU跑 …...

Ubuntu 20.04安装gcc

一、安装GCC 1.更新包列表 user596785154:~$ sudo apt update2.安装gcc user596785154:~$ sudo apt install gcc3.验证安装 user596785154:~$ gcc --version二 编译C文件 1.新建workspace文件夹 user596785154:~$ mkdir workspace2.进入workspace文件夹 user596785154:~…...

IT运维的365天--024 闲置路由器关闭了dhcp,如何知道它的IP是啥

有时候各种原因,我们关闭了路由器的Dhcp,比如需要获取的无线IP和有线同一个网段的情况。时间久了,如果没做标记,大部分时候就会忘了路由器原来设置的是什么IP,没有路由器的对应IP,自然也无法进路由器后台去…...

kaggle竞赛:纽约出租车行程时间NYC Taxi Trip Duration

1.引言 作为一名(坦白说有点懒的)图像处理方向的研究生,说实话最近新开一个坑,可能是因为要寒假了比较无聊,这次带来的系列是kaggle数据处理竞赛的经典例题:纽约出租车行程时间问题。希望大家多多支持&…...

Freemarker模板进行判空

文章目录 freemarker判断对象是否为null使用 ?? 操作符使用 ?has_content 内建函数直接使用 ! 操作符取反 freemarker判断列表是否为空 freemarker判断对象是否为null 在 FreeMarker 模板引擎中,你可以使用内建的指令和条件判断来检测一个对象是否为 null。Free…...

C++ const关键字(八股总结)

作用 const修饰符用来定义常量,具有不可变性。 修饰变量,说明该变量不可以被改变;修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer&…...

Linux 清楚历史命令

在 Linux 中,执行完命令后,如果你想清除终端屏幕上的内容,可以使用以下几种方法: 1. 使用 clear 命令 clear 是 Linux 中最常用的清除屏幕命令。它会将终端屏幕清空,并将光标移动到屏幕左上角。 bash clear 2. 使用快…...

服务器双网卡NCCL通过交换机通信

1、NCCL变量设置 export CUDA_DEVICE_MAX_CONNECTIONS1 export NCCL_SOCKET_IFNAMEeno2 export NCCL_IB_DISABLE0 #export NCCL_NETIB export NCCL_IB_HCAmlx5_0,mlx5_1 export NCCL_IB_GID_INDEX3 export NCCL_DEBUGINFOGPUS_PER_NODE4MASTER_ADDR192.168.1.2 MASTER_PORT600…...

Redis哨兵(sentinel)

是什么 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务 哨兵的作用 1、监控redis运行状态,包括master和slave 2、当master down机,能自动将slave切换成新master 能干嘛…...

小白学Pytorch

小白学Pytorch 发现一个比较好的教程,对于自己来说比较合适,适合从零开始的教程。 1、搭建一个简单的网络 https://www.cnblogs.com/PythonLearner/p/13587092.html 搭建网络这步说的比较清楚: 我们使用nn包中的Sequential搭建网络&#…...

ros2笔记-2.5.3 多线程与回调函数

本节体验下多线程。 python示例 在src/demo_python_pkg/demo_python_pkg/下新建文件,learn_thread.py import threading import requestsclass Download:def download(self,url,callback):print(f线程:{threading.get_ident()} 开始下载:{…...

第5章:Go语言错误处理和异常

第5章:Go语言错误处理和异常 5.1 错误类型基础 5.1.1 error接口 // error接口定义 type error interface {Error() string }// 自定义错误 type CustomError struct {Message stringCode int }func (e *CustomError) Error() string {return fmt.Sprintf(&quo…...

题库刷题知识点总结

算法与机器学习相关 支持向量机:是一种有监督的机器学习算法,用于分类和回归任务。它通过寻找一个最优超平面来将不同类别的数据点分开,最大化两类数据点到超平面的间隔,具有良好的泛化能力和抗噪声能力。机器学习:是…...

GraphRAG:LLM之Graphrag接入milvus

前言 微软目前的graphrag更像个demo,数据量大的时候不是很友好的啊,所以将milvus接入了graphrag,看完这篇文章,其他数据库接入应该也没问题 注:这篇文章只是在search的时候接入进来,index过程或者说整个流…...

adb使用及常用命令

目录 介绍 组成 启用adb调试 常用命令 连接设备 版本信息 安装应用 卸载应用 文件操作 日志查看 屏幕截图和录制 设备重启 端口转发 调试相关 设置属性 设备信息查询 获取帮助 模拟输入 介绍 adb全称为 Android Debug Bridge(Android调试桥),是 A…...

omnipeek分析beacon帧

omnipeek查询设备发送beacon时同一信道两个beacon发送间隔 目录 用例要求分析抓包数据 1.用例要求 Beacon帧发送频率符合规范要求。参数-【同一个信道两个beacon发送间隔不能超过100ms】 2.分析抓包数据 打开becon.pkt文件(用omnipeek工具提前抓取包&#xff09…...

Java数组问题

题目2: 定义一个数组,存储1,2,3,4,5,6,7,8,9,10 遍历数组得到的每一个元素,统计数组里面一共多少个能被3整除的数字 package com.s…...

salesforce 可以为同一个简档的同一个 recordtype 的对象设置多种页面布局吗

在 Salesforce 中,对于同一个 Record Type(记录类型),默认情况下,每个 Profile(用户简档) 只能分配一个 Page Layout(页面布局)。也就是说,页面布局的分配规则…...

我爱学算法之—— 前缀和(中)

一、724. 寻找数组的中心下标 题目解析 这道题,给定数组nums,要求我们找出这个数组的中心下标。 **中心下标:**指左侧所有元素的和等于右侧所有元素的和。 如果存在多个中心数组下标,就返回最左侧的中心数组下标。 算法思路 暴…...

Spring AOP执行原理源码解析

对【com.example.demo.TestAspect#aopTest】连接点增加了五个通知 在调用【com.example.demo.A#testAop()】(用户自定义)方法时,Cglib拦截器对其进行了拦截 可以看到执行顺序分别是环绕前置,前置,环绕后置,…...

JAVA开发工具——IntelliJ IDEA

JAVA开发工具——IntelliJ IDEA 软件下载地址https://www.jetbrains.com/idea/ IDEA项目结构介绍 项目(project)模块(module)包(package)类(class) 包含关系:项目 > 模块 >…...

Python学习(7) ----- Python起源

🐍《Python 的诞生》:一段圣诞假期的奇妙冒险 📍时间:1989 年圣诞节 在荷兰阿姆斯特丹的一个寒冷冬夜,灯光昏黄、窗外飘着雪。一个程序员 Guido van Rossum 正窝在家里度假——没有会议、没有项目、没有 bug&#xf…...

MATLAB实战:四旋翼姿态控制仿真方案

以下是一个基于MATLAB/Simulink的四旋翼姿态控制仿真方案。本方案使用简化姿态动力学模型,并设计PID控制器进行稳定控制。 1. 四旋翼姿态动力学模型 核心方程:I * ω̇ ω (I * ω) τ 其中: I diag([Ixx, Iyy, Izz]) 为转动惯量矩阵 …...

qt network 整体框架

以下是 Qt 网络模块中 QNetworkInterface、TCP、UDP 及相关类的层次关系图及说明: 一、Qt 网络模块层次结构 ┌─────────────────────────────────────────────────────────────┐ │ QtNetwork 模…...

小番茄C盘清理:专业高效的电脑磁盘清理工具

在使用电脑的过程中,我们常常会遇到系统盘空间不足、磁盘碎片过多、垃圾文件堆积等问题,这些问题不仅会导致电脑运行缓慢,还可能引发系统崩溃。为了解决这些问题,小番茄C盘清理应运而生。它是一款专业的C盘清理软件,能…...

9.RV1126-OPENCV 视频的膨胀和腐蚀

一.膨胀 1.视频流的膨胀流程 之前膨胀都是在图片中进行的,现在要在视频中进行也简单,大概思路就是:获取VI数据,然后把VI数据给Mat化发给VENC模块,然后VENC模块获取,这样就完成了。流程图: 2.代…...

JVM 核心概念深度解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆 一、JVM内存结构/运行时数据区 JVM运行时数据区主要分为以下几个部分: 程序计数器(PC Register) 线程私有,记录当前线程执行的字节码行号唯…...

VBA进度条ProgressForm1

上一章《VBA如何使用ProgressBar进度条控件》介绍了ProgressBar控件的使用方法,今天我给大家介绍ProgressForm1进度条的使用方法,ProgressForm1是集成ProgressBar控件和Label控件的窗体,可以同时显示进度条和百分比,如下图&#x…...