[DALL·E 2] Hierarchical Text-Conditional Image Generation with CLIP Latents

1、目的

        CLIP + DDPM进行text-to-image生成

2、数据

        (x, y),x为图像,y为相应的captions;设定z_{i}z_{t}为CLIP的image和text embeddings

3、方法

                                

        1)CLIP

                学习图像和文本的embedding;在训练prior和decoder时固定该部分参数

        2)prior model P(z_{i}|y)

                从给定的文本caption(或CLIP text embedding)中生成CLIP image embedding

                -> Autoregressive (AR) prior

                        用PCA对CLIP image embeddings降维(1024 - 319),然后排序和数值化

                        将text caption和CLIP text embedding编码为sequence的prefix

                -> Diffusion prior

                        decoder-only Transformer

                        casual attention mask with causal attention mask on a sequence (encoded text, CLIP text embedding, embedding for the diffusion timestep, noised CLIP image embedding, final embedding whose output from the Transformer is used to predict the unnoised CLIP image embedding)

                        同时生成两个z_{i},选择与z_{t}的点积更大的那一个

                        不预测\epsilon,而是直接预测z_{i}

                        

        3)CLIP image embedding decoder P(x|z_{i}, y)

                -> 用diffusion models、以CLIP image embeddings作为条件生成图像(可能会用到text caption)。直接将embedding作为采样起点效果不佳。

                -> 映射和添加CLIP embeddings到existing timestep embedding

                -> 将CLIP embedding映射到4个额外的context token中,和GLIDE text encoder的输出并联

                -> 因为是CLIP image encoder的逆过程,因此本文的方法也被称为unCLIP

                -> 尝试沿用GLIDE中的text conditioning,但作用不大

                -> 训练细节

                        10%的概率随机设置CLIP embedding(或learned embedding)为0,实现classifier-free guidance;50%的概率随机去除text caption

                        两个upsample网络,64x64 - 256x256 - 1024x1024;第一个上采样阶段采用gaussian blur,第二个上采样阶段采用BSR degradation;训练时随机裁剪1/4大小的图像,推理时则用正常大小;只用spatial convolution,不用attention层;网络为unconditional ADMNets

                -> 备选方案:直接用caption或者text embeddings作为条件,不用prior

4、应用

        1)non-deterministic,给定一个image embedding,可以生成多个图像

        2)通过插值image embedding,可以对生成图像进行插值

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

        3)通过插值text embedding,可以对生成图像进行插值

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

                                                

        4)可以有效抵挡CLIP容易受到影响的typographic attack

5、局限性

        1)对于不同物品和属性的关联能力不如GLIDE。因为CLIP embedding本身不关联物品和属性,而decoder也会mix up属性和物品

        2)无法写出连贯的文本。因为CLIP本身不编码拼写信息,BPE编码也会模糊单词的拼写

        3)无法生成复杂场景中的细节。因为模型在低分辨率下训练,然后再上采样

        4)生成效果越好,制造欺骗性或有害图片的能力就更大

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ的WorkQueues模型

WorkQueues模型 Work queues,任务模型。简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。 当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,…

运维.Linux下执行定时任务(中:Cron的常用替代方案)

运维系列 Linux下执行定时任务(中:Cron的常用替代方案) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAd…

Android集成mapbox教程

目录 简介准备工作创建Token系统开发简介 Mapbox是来自美国的一家为开发者提供地图服务和开发工具的开放平台。Mapbox以开源的形式构建了矢量瓦片技术生态,开发了矢量切片工具、瓦片服务传输框架。Mapbox的底图平台非常受欢迎,特别是开发者和学生群体,可以使用免费的开源软…

FileNotFoundError: Cannot find DGL C++ graphbolt library at ...

FileNotFoundError: Cannot find DGL C graphbolt library at ...-CSDN博客https://blog.csdn.net/weixin_44017989/article/details/137658749

2024最新算法:鳗鱼和石斑鱼优化(Eel and grouper optimizer,EGO)算法求解23个函数,MATLAB代码

一、算法介绍 鳗鱼和石斑鱼优化器(Eel and grouper optimizer,EGO)是2024年提出的一种智能优化算法,EGO算法的灵感来自海洋生态系统中鳗鱼和石斑鱼的共生相互作用和觅食策略。 参考文献: [1]A. Mohammadzadeh, S. Mi…

学会python——统计文件中文字出现次数(python实例九)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、统计文本文件中单词频率 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计…

浅谈逻辑控制器之ForEach控制器

浅谈逻辑控制器之ForEach控制器 ForEach控制器是一个非常实用的功能,它允许用户遍历某个变量的所有值,并为每个值执行控制器内的子采样器或逻辑。这对于处理从先前请求(如CSV Data Set Config、JSON Extractor、Regular Expression Extracto…

设计工程师在FMEA团队中的职责是什么?

在复杂多变的工程环境中,FMEA(失效模式与影响分析)已成为确保产品质量、提高系统可靠性和降低潜在风险的关键工具。FMEA团队由多个专业领域的专家组成,其中设计工程师作为团队的重要成员,扮演着至关重要的角色。本文&a…

boost asio异步服务器(4)处理粘包问题tlv

粘包的产生 当客户端发送多个数据包给服务器时,服务器底层的tcp接收缓冲区收到的数据为粘连在一起的。这种情况的产生通常是服务器端处理数据的速率不如客户端的发送速率的情况。比如:客户端1s内连续发送了两个hello world!,服务器过了2s才接…

BP神经网络

BP神经网络 BP神经网络是一种多层前馈神经网络,它通过反向传播算法进行训练,旨在最小化损失函数,从而对输入数据进行精确的分类或回归预测。 背景 BP (Back Propagation) 神经网络是1986年由 Rumelhart 和 McClelland 为首的科学家提出的概…

SAP ABAP 之容器

文章目录 前言一、案例介绍/笔者需求二、自定义容器 a.实例化对象 b.自定义容器效果演示 c.Copy Code 三、自适应容器 a.常用 必须 参数理解 b.METRIC 度量单位 c.RATIO 百分比尺寸 d.STYLE 容器…

商业银行流动性创造指标数据集(2005-2022)

数据简介:中文数据库商业银行流动性创造指标参考邓伟等老师(2022)的做法,常备借贷便利与中期借贷便利数据来源于中国人民银行发布的《中国货币政策执行报告》。银行层面的微观指标主要来源于BankScope数据库和CSMAR数据库&#xf…

Spring Cloud Netflix:构建强大微服务生态系统的利器

Spring Cloud Netflix是一组集成框架,它将Netflix的多个开源组件整合到Spring Boot应用程序中,使得构建云原生应用程序变得更加简单。这些组件包括用于服务发现和注册的Eureka,断路器模式的实现Hystrix,用于API网关的Zuul&#xf…

springboot家乡特色推荐系统 LW +PPT+源码+讲解

3系统需求分析 3.1系统功能 通过前面的功能分析可以将家乡特色推荐系统的功能分为管理员和用户两个部分,系统的主要功能包括首页,个人中心,用户管理,文章分类管理,文章分享管理,系统管理等内容。任何用户…

【c语言】二级指针

1,定义 本质还是从指针的角度去理解,只不过存的指针的值 2,使用方法

第三方软件连接虚拟机

第三方软件连接虚拟机 1 查看本机VM(VMware)虚拟机网段2 开启虚拟机系统,修改网卡配置3 重新打开网络并测试连通性4 打开VM虚拟机网络开关5 通过第三方软件建立连接6 可能遇到的问题 1 查看本机VM(VMware)虚拟机网段 子…

38.控制功能实现

上一个内容:37.添加简易的调试功能 以 37.添加简易的调试功能 它的代码为基础进行修改 效果图: 下图红框位置的功能实现 Dlls项目中添加一个Dialog Dialog如下 然后给它添加一个类,MFC添加的类可能会报错添加 #include "afxdialogex.h…

煤矿智能巡检机器人:推动煤矿行业变革的关键力量

目前我国煤炭资源总量达到了2078.85亿吨,已探明储量为1432亿吨,煤矿能源现阶段还是我国重要的基础能源。而煤矿生产作业存在巨大危险,主要包括高温、高压、燃爆和有毒气体等环境因素,同时机械设备运转过程中潜藏着重大风险。这些危…

【Python/Pytorch - 网络模型】-- 高阶SVD算法

文章目录 文章目录 00 写在前面01 基于Python版本的高阶SVD算代码02 HOSVD 的步骤 00 写在前面 高阶奇异值分解(Higher-Order SVD,HOSVD)是一种将传统的奇异值分解(SVD)扩展到高阶张量的方法。它能够将一个高阶张量分…

【摄像头标定】使用kalibr进行双目摄像头标定(ros1、ros2)

使用kalibr进行双目摄像头标定 前言标定板标定①板端准备和录制②上位机准备和标定 前言 本文不是纯用ros1进行标定,需要ros1和ros2通信。给使用ros2进行开发,但又想用kalibr标定双目摄像头的小伙伴一个教程。本文双目摄像头的数据发布使用ros2&#xf…