Dalle-3、Sora、Stable Diffusion 3 掀起AIGC新浪潮
随着科技的飞速发展,我们迎来了视觉AIGC高光时刻,一个充满无限可能与机遇的新时代。在这个时代里,三大里程碑Dalle-3、Sora和Stable Diffusion 3以其炸裂式的技术发展,引领着AIGC领域的新浪潮。文章首先做相应简要介绍,后半部分着重做新兴技术拆解分析,看看究竟哪些模块值得借鉴!
Dalle-3在2023年9月以其强大的图像生成能力惊艳了世人。它从精细化的文本描述入手,融合进了GPT-4的丰富caption能力,另外还引入了早已验证成功了latent空间替代逐pixel的预测,大幅提高了生成图像的质量和多样性。Dalle-3的出现,极大地推动了视觉AIGC领域的发展,为后续的效果创新奠定了坚实的基础。以下是官方样例:
紧随其后的是2024年2月15的Sora,它在通用视频生成领域取得了突破性的进展。Sora引入了先进的DiTs模块替换掉了UNET,并且将视频处理成了Transformer结构中的visual patch,极大的提升了视频生成的性能,引发了业界广泛的关注。
压轴的是2024年2月22的Stable Diffusion 3,即图像生成领域的最新SOTA。它引入了更为先进的扩散过程和噪声估计技术Flow Matching,精细化的文本描述配合多模DiTs,使得生成的图像更具指令跟随能力,尤其在图像中文本控制的表现上刷新了新高度。Stable Diffusion 3的出现,不仅提升了扩散模型在图像生成任务中的性能,还为其他领域如自然语言处理、语音识别等提供了可借鉴的技术思路。以下是官方样例:
这三大技术的崛起,标志着视觉AIGC元年技术大爆炸的到来。它们不仅在各自领域内取得了卓越的成就,还在相互融合中催生出更多新的应用场景和商业模式。未来,随着技术的不断进步和创新,我们有理由相信,视觉AIGC将会为人类带来更多的惊喜和可能。
一、Dalle-3
论文题目:Improving Image Generation with Better Captions,https://cdn.openai.com/papers/dall-e-3.pdf
体验入口:Bing AI - 搜索,https://cn.bing.com/create
发布时间:2023.9
亮点:
1.)精细化caption
论文着重宣传部分。caption生成模块使用了CLIP(Contrastive Language-Image Pretraining)图像编码器和GPT语言模型(GPT-4),可为每张图像生成细致的文字描述。以下是用GPT-4生成更加精细化caption的例子:
2.)LDM diffusion
图像生成模块先用VAE将高分辨率图像压缩为低维向量,降低学习难度,然后使用T5 Transformer将文本编码为向量,并通过GroupNorm层将其注入LDM diffusion模型而且像素级diffusion,指导图像生成方向。与SDXL类似在潜空间进行diffusion是DALL-E 3比前两代生成的图片质量更好的核心原因之一。
二、Sora
论文题目:Video generation models as world simulators,https://openai.com/research/video-generation-models-as-world-simulators
体验入口:Video generation models as world simulators
发布时间:2024.2.15
亮点:
1.)visual patch
Sora将视频数据转换成Transformer大模型可以使用的tokens。这个过程涉及到将视频中的多帧图像进行深度学习压缩,并加上第三维的时间信息,形成patches。这些patches作为tokens,可以应用于Transformer模型中。这种数据转换方式使得Sora能够处理和理解视频数据,为后续的视频生成和处理打下基础。:
2.)diffusion transformer(DiTs)
Sora运用扩散模型来处理视频生成的连续性和细节刻画问题,而Transformer则用于理解并整合复杂的时空上下文信息。通过这样的组合方式,Sora能够高效且创造性地生成高质量的视频内容。具体来讲,使用Transformers替换扩散模型中U-Net主干网络,分析发现,这种Diffusion Transformers(DiTs)不仅速度更快(更高的Gflops),而且在ImageNet 512×512和256×256的类别条件图片生成任务上,取得了更好的效果,256×256上实现了SOTA的FID指标(2.27)。DiTs论文:Scalable Diffusion Models with Transformers,https://arxiv.org/abs/2212.09748。
其中DiTs结构如下:
三、SD-3
论文题目:Scaling Rectified Flow Transformers for High-Resolution Image Synthesis,https://arxiv.org/pdf/2403.03206.pdf
体验入口:https://stability.ai/stablediffusion3
发布时间:2024.02.22
该图表以 SD3 为基准,基于人类偏好评估,展示了 SD3 在视觉美学、提示遵循和排版等方面相对于其他竞争模型的优势。
亮点:
1.)diffusion transformer(DiTs)
与Sora类似用Latent Diffusion Transformer(DiTs) 换掉扩散模型中的 U-Net 结构。SD 3架构图如下所示:
具体来讲,多模态扩散是基座,该架构是建立在 DiT基础上。原始DiT 只考虑类别条件下的图像生成,并使用调制机制来对扩散过程的时间步和类别标签进行条件约束。MM-DiT有如下特点。
1、输入侧:简单文本特征+timestep,丰富文本特征,带噪latent特征+位置编码。
2、多模态DiT:如图 2b 所示,为文本和图像两种模态使用两组独立的权重,然后将两种模态转化后的特征连接起来进行attention后继续分拆出来文本与图像分支,如此嵌套。最终达到文本控制的最大化。
2.)Flow Matching
Flow Matching是一个新的生成模型框架,这项研究为基于连续归一化流(CNF)的生成建模引入了一种新范式,实现了以前所未有的规模训练 CNF。这个框架不依赖复杂的模拟或对数似然估计,而是直接处理生成目标概率路径的向量场。简单来说,Flow Matching给我们提供了一张地图(向量场)和一条路线(概率路径),让我们能够更清晰地了解数据是如何生成的。通过这张地图和路线,我们可以更轻松地训练生成模型,让它学习从噪声中生成出我们想要的数据。Flow Matching还提出了一个叫做条件Flow Matching (CFM)的损失函数,这个函数让模型的训练变得更容易。同时,它还支持各种概率路径,包括diffusion路径和OT路径,这让我们在训练模型时有了更多的选择。使用 Flow Matching 技术的意义则在于提升采样效率。Flow Matching论文:Flow Matching for Generative Modeling,https://arxiv.org/pdf/2210.02747.pdf。
图2和图6是Flow Matching对比diffusion和OT示意图
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sunbaigui/article/details/136898729
相关文章:
Dalle-3、Sora、Stable Diffusion 3 掀起AIGC新浪潮
随着科技的飞速发展,我们迎来了视觉AIGC高光时刻,一个充满无限可能与机遇的新时代。在这个时代里,三大里程碑Dalle-3、Sora和Stable Diffusion 3以其炸裂式的技术发展,引领着AIGC领域的新浪潮。文章首先做相应简要介绍,…...
Unity 视频组件 VideoPlayer
组件添加: 在自己定义的组件下(例如:Panel) 点击 Inspector 面板中的 AddComponent ,输入“VideoPlayer”。 资源 这里 视频资源有两种形式,第一种是 VideoClip ,需要将视频文件拖拽到该属性字段…...
RSTP环路避免实验(华为)
思科设备参考:RSTP环路避免实验(思科) 一,技术简介 RSTP (Rapid Spanning Tree Protocol) 是从STP发展而来 • RSTP标准版本为IEEE802.1w • RSTP具备STP的所有功能,可以兼容STP运行 • RSTP和STP有所不同 减少了…...
Arduino IDE工程代码多文件编程和中文设置
一、esp8266模块信息 二、中英文切换 点击文件( File )–选择首选项( Preference )—选择语言( Language )—选择中文–点击确定( OK ) 三、多文件编程 在Arduino编程中,将代码分割成多个文件是一种很好的做法,特别是项目变得越来越大和复杂时。这样…...
【微服务】Eureka(服务注册,服务发现)
文章目录 1.基本介绍1.学前说明2.当前架构分析1.示意图2.问题分析 3.引出Eureka1.项目架构分析2.上图解读 2.创建单机版的Eureka1.创建 e-commerce-eureka-server-9001 子模块2.检查父子pom.xml1.子 pom.xml2.父 pom.xml 3.pom.xml 引入依赖4.application.yml 配置eureka服务5.…...
windows上ssh设置代理,直接访问公司内网
ssh设置代理一般来说很简单,对于无密码或者可以支持密钥登录的,都比较无脑 难的地方在于使用用户名密码认证来使用一个http的代理或者socks5的代理,密码如何设置?特殊字符如何处理? 直接上答案,.ssh/conf…...
C++ union用法
在C中,union是一种特殊的数据类型,可以在同一个内存位置存储不同的数据类型。它的用法如下: 1. 声明union类型:使用关键字union加上union名称来声明一个union类型。 c union UnionName { dataType1 member1; dataType2 …...
JavaSE_运算符 案例分析
/*符号在字符串中的操作: 表示连接,会将其他内容和字符串连接在一起,形成一个字符串目标:理解符号在字符串中的作用会将其他内容和字符串连接在一起,形成一个字符串*/ public class Operator03 {public static void main(String[] args) {System.out.println("5 5 "…...
15、Spring Cloud Alibaba Sentinel实现熔断与限流
注:本篇文章主要参考周阳老师讲解的cloud进行整理的! 1、Sentinel 1.1、官网 https://sentinelguard.io/zh-cn/ 等价对标 Spring Cloud Circuit Breaker 1.2、是什么 https://github.com/alibaba/Sentinel/wiki 1.3、去哪下 https://github.com/alibab…...
Linux logout命令教程:如何安全地退出Linux会话(附实例详解和注意事项)
Linux logout命令介绍 logout命令用于退出当前的登录Shell。这个命令可以被普通用户用来结束他们自己的会话。 Linux logout命令适用的Linux版本 logout命令在所有主流的Linux发行版中都是可用的,包括但不限于Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、R…...
数据结构——顺序表(C语言版)
顺序表是数据结构中最基本的一种线性表,它以一段连续的存储空间来存储数据元素,元素之间的顺序由它们在内存中的位置来决定。在C语言中,我们通常使用数组来实现顺序表。 目录 顺序表的结构定义 顺序表的基本操作 应用实例 顺序表的结构定义…...
Knative 助力 XTransfer 加速应用云原生 Serverless 化
作者:元毅 公司介绍 XTransfer 是一站式外贸企业跨境金融和风控服务公司,致力于帮助中小微企业大幅降低全球展业的门槛和成本,提升全球竞争力。公司连续7年专注 B2B 外贸金融服务,已成为中国 B2B 外贸金融第一平台,目…...
服务器离线配置vscode连接,conda虚拟环境
记录一下服务器离线配置问题,以备不时之需。 服务器离线配置 vscode连接参考:vscode-server离线安装-CSDN博客 服务器离线配置conda虚拟环境:Conda 环境离线迁移(服务器断网情况下搭建虚拟环境envs) - 知乎 上次两个…...
各种需要使用的方法-->vue/微信小程序/layui
各种需要使用的方法-->vue/微信小程序/layui 1、vue里样式不起作用的方法,可以通过deep穿透的方式2、 js获取本周、上周、本月、上月日期3、ArrayBuffer Blob 格式转换ArrayBuffer与Blob的区别ArrayBuffer转BlobBlob转ArrayBuffer需要借助fileReader对象 4、使用…...
360奇酷刷机 360刷机助手 QGDP360手机QGDP刷机
360奇酷刷机 360刷机助手 QGDP破解版360手机QGDP刷机 360手机刷机资源下载链接:360rom.github.io 参考:360手机-360刷机360刷机包twrp、root 360奇酷刷机:360高通驱动安装 360手机刷机驱动;手机内置,可通过USB文件传输…...
2299. 强密码检验器 II
文章目录 题意思路代码 题意 题目链接 判断是否合法密码 思路 if 代码 class Solution { public:bool strongPasswordCheckerII(string password) {if (password.size() < 8)return false;int visit 0;for (size_t i 0; i < password.size(); i){char &ch pa…...
跟着cherno手搓游戏引擎【29】Batch简单合批
思路: CPU和GPU都开辟同样大小的一大块内存(为了存储顶点信息) 索引在程序运行时生成对应规则后绑定到索引缓冲中 动态生成顶点信息(现在改成Drawquad只是确定图形顶点的位置) 然后在Endscene,将CPU的动…...
粘包/半包及解决方案
一、粘包/半包介绍 1:粘包 粘包(Packet Concatenation)通常发生在基于流式传输协议(如 TCP)的通信中,因为 TCP 是面向流的传输协议,它不保证数据包的边界,而是将数据视为连续的字节…...
2024华为软件精英挑战赛记录
前言 本次主要是记录自己第一次参加华为软件挑战赛的经历。第一次参加比赛还是缺少经验,训练赛中拿到赛区的20多名,最后在正式赛中被反超了,只拿了40多名,实在是感到可惜。 题目:本次题目是一个智慧港口的问题。10个机…...
数据可视化艺术:Matplotlib与Seaborn实战
目录 1.Matplotlib基础绘图与定制化 1.1. 基础绘图 1.2. 定制化 2.Seaborn高级图表类型与样式设定 2.1. 高级图表类型 2.2. 样式设定 3.实战:绘制多维度数据可视化报告 4.总结 1. 前言 在数据科学领域,数据可视化扮演着至关重要的角色。通过图形化…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
Java中栈的多种实现类详解
Java中栈的多种实现类详解:Stack、LinkedList与ArrayDeque全方位对比 前言一、Stack类——Java最早的栈实现1.1 Stack类简介1.2 常用方法1.3 优缺点分析 二、LinkedList类——灵活的双端链表2.1 LinkedList类简介2.2 常用方法2.3 优缺点分析 三、ArrayDeque类——高…...
RabbitMQ 各类交换机
为什么要用交换机? 交换机用来路由消息。如果直发队列,这个消息就被处理消失了,那别的队列也需要这个消息怎么办?那就要用到交换机 交换机类型 1,fanout:广播 特点 广播所有消息:将消息…...
