VLM调研记录

Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction

  • 北大和字节团队的一篇VLM,在生成任务上,用GPT范式,声称在FID上超过了DIT,SD3和SORA。开源。
  • 首先是multi-scale的VQVAE,然后是VAR transformer,如下图所示。每个尺度其实并不是GPT范式的,每个尺度都是Bert范式的,只是上一尺度的输出会拿来上采样,产生新一轮的输入。感觉这根本不能算是GPT范式,scale level的只是一种coarse to fine的bert而已。
    在这里插入图片描述

Autoregressive Image Generation without Vector Quantization

  • 这是一篇 MIT,DeepMind 和 清华的论文,何凯明是作者之一,开源
  • 文章提出去掉vq,把categorical cross-entropy loss训练的离散预测任务,改成由diffusion loss训练的连续任务。网络的输出接一个denoising diffusion(MLP),作为condition,然后算diffusion的损失:
    在这里插入图片描述
  • 这个diffusion就是标准的diffusion,有forward和backward,train这个diffusion model的时候顺便也把梯度传到了z,从而train到了GPT的网络。训练的时候对每一张图片采样4个不同的t来算损失,提高训练效率。noise schedule是cos shape,1000 steps。inference的时候用了100步来去噪。condition 的z通关AdaIN的方式加入到这个diffuison 网络。
    在这里插入图片描述
  • 本文不是GPT范式的,而是对MAE范式的一个拓展。文章认为GPT范式受限于casual attention,而对于图像来说bidirectional attention是更合理的。所以基于MAE范式做了一个AR的generation,用的还是自回归,一次根据自己上次预测的一些token,预测一些新的token,encoder用的是MAE的encoder,基于已知的tokens,做bidirectional 的attention,decoder则是加了一些mask和positional embedding,从这些空的token预测出新的东西来。并且,一次不仅预测一个token,而是多个。如下图所示:最终的MAR方案,其实是Figure2(b)的方案的decoder结构和Figure3 ©的方案表示的next sets-of-token prediction的结合。训练的时候和MAE差不多,mask ratio是0.7到1.0;inference的时候,用64步的自回归,mask ratio从1到0的曲线是cosine曲线。同时,被mask掉的token是完全random的,也就是说下一个预测的token是完全随机的。
    在这里插入图片描述
  • 从实验结果看,主要做的三点改进,都是有效的。第一点是把quantization+crossentropy loss改成w/o vq+diffusion loss;第二点改进是把raster order改成random order;第三点改进是把casual attention改成bidirectional attention:
    在这里插入图片描述
  • 可以看到,三点改进都使得FID下降了。
  • 此外,可以看到最后多了一个CFG的变量,是因为文章引进了diffusion loss,那就可以引进classifier-free guidance,就是最后一栏的效果。不过不知道crossent是怎么引进CFG的。。
  • 文章给了一些VLM范式的重要启发,包括casual/bidirectional direction的注意力,包括image patch放到1D squence的order,包括提出了新的MAR范式。

Taming Transformers for High-Resolution Image Synthesis

  • 这是一篇海德堡大学的两个下属研究机构的一篇论文,开源。
  • 文章的结构就很自然,就是GPT范式,把图像用VQGAN转成token,再用GPT做next token prediction,再用VQGAN的decoder解成img:
    在这里插入图片描述
  • 首先用下面的损失train一个VQ-GAN:
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • train好的VQ-GAN 有了encoder,codebook和decoder,就可以用GPT来生成img了。
  • 如果要实现conditioned synthesis,如果条件也是图片,可以再train一个针对条件的VQ-GAN,然后把条件的tokens放在前面,继续用GPT的方式来生成输出的token即可。
  • 另一点是,生成图像的时候,如果用上全局注意力,成本太高了。因此,用了局部注意力,结合上next token prediction,整体看起来就是这样的:
    在这里插入图片描述
  • 使用1024的code book,16x16的sequence length,GPT2-medium的结构(307M parameters),12G显存。

Autoregressive image generation using residual quantization

  • 这是两个韩国人发的一篇论文,虽然是22年的,但是残差量化的思想还挺有意思的。同时,这也是一个GPT范式的工作
  • 本文对VQ-VAE进行了改进,VQ只有一个codebook,存在各种问题。RQ-VAE把VQ量化后的结果和量化前的特征计算的残差,也进行量化,并且和第一步的量化共享码表。
  • 因此,每张图片,考虑有D层的残差,应该有TD个token,其中T是HW。直接对TD长度的sequence做transformer反而时间复杂度太高。为此,专门设计了RQ-Transformer。
  • 首先就是把TD给按设计的那样求和起来,也就是说D个token求和变成最接近量化前的那个vector,这样sequence length就是T了。这一步称为spatial transformer。spatial transformer的结果就是对T个token会产生T个输出的h。第二步,就是用这T个h,各自用AR的方式,去自回归生成D个token,这一步称为depth transformer。这TD个token最终就可以用最初定义的方式去decode回图像。
  • inference的时候,就很自然,给一个起始的u1,spatial transformer的输出就是v1,v1送进depth transformer,输出S11,S11再送进depth transformer,AR地继续产生S12,S13,。。。到S1D,然后求和,产生u2,u2再送进spatial transformer,产生v2,以此类推,就能够自回归地生成一张图片。如下图所示:
    在这里插入图片描述
  • 接着提出了两个配合的训练策略。就GPT训练的时候输入一般是直接把GT放进来,然后用casual mask来训练,测试才自回归嘛。如果要采样自回归,就没法一整个句子并训练,会慢很多。但这里,因为有VQ encoder,所以其实还是可以给输入加一下扰动的,就是quantify的时候,根据与code book的距离用采样的策略而不用min;然后label也同样用距离的函数来算一个soft label而非one-hot的label。从消融实验可以看到加上这两个trick,FID稍微低了一点。

Vector-quantized image modeling with improved vqgan

  • 这是google search发表在ICLR2022上的工作,使用的是GPT范式,把VQGAN改进了一下。
  • 首先是把VQ-GAN的encoder改成了ViT, patch size是88,一张256256的图片会切成32*32个patch,一共1024个token。不过文章声称,从CNN改成transformer,只要给更多的训练数据,不仅performance提升了,速度也加快了,很神奇,1024个token的transformer会比CNN快吗?
    在这里插入图片描述
  • 对于VQ的过程也做了几点改进,首先还是用sample而不是用最小距离选code;其次look up的时候不是直接对比encoder的输出和码表,而是用一个linear projection把256d的code映射到32d上再去look up,这提高了reconstruction的表现。第三是对encoder和codebook都做了L2归一化,使得code限制在一个球面上。
  • ViT-VQGAN的损失函数如下:
    在这里插入图片描述

Generative pretraining from pixels

  • 这是OpenAI在ICML2020发表的一篇paper

TODO:

  • Unified-io: A unified model for vision, language, and multi-modal tasks.
  • Unified-io 2: Scaling autoregressive multimodal models with vision, language, audio, and action
  • Generative pretraining from pixels
  • Conditional image generation with pixelcnn decoders
  • Parallel multiscale autoregressive density estimation
  • Sequential modeling enables scalable learning for large vision models
  • Zero-shot text-to-image generation
  • Movq: Modulating quantized vectors for high-fidelity image generation
  • Generating diverse high-fidelity images with vq-vae-2
  • Language models are few-shot learners
  • Language models are unsupervised multitask learners
  • Scaling autoregressive models for content-rich text-to-image generation
  • codeformer
  • Diffusion models as masked autoencoders
  • Denoising autoregressive representation learning
  • 1D tokenizer
  • Sequence level training with recurrent neural networks

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一起学习LeetCode热题100道(52/100)

52.腐烂的橘子(学习) 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返…

PHP轻创推客集淘客地推任务平台于一体的综合营销平台系统源码

🚀轻创推客,营销新纪元 —— 集淘客与地推任务于一体的全能平台🌐 🌈【开篇:营销新潮流,轻创推客引领未来】 在瞬息万变的营销世界里,你还在为寻找高效、全面的营销渠道而烦恼吗?&…

【数据安全】数据中心数据安全整体解决方案(Doc完整版)

第一章 解决方案 1.1 建设需求 1.2 建设思路 1.3 总体方案 信息安全系统整体部署架构图 1.3.1 IP准入控制系统 1.3.2 防泄密技术的选择 1.3.3 主机账号生命周期管理系统 1.3.4 数据库账号生命周期管理系统 1.3.5 双因素认证系统 1.3.6 数据库审计系统 1.3.7 数据脱敏…

图数据库查询语言 Cypher 基础

Cypher 是 Neo4j 的声明式查询语言,为属性图提供了富有表现力和高效的查询,是一种成熟和直观的图数据库查询语言。在图上执行任何类型的创建、读取、更新或删除(CRUD),Cypher 是 Neo4j 的主要接口。 本文介绍了 Cypher 基础知识,…

软件测试用例的编写(六)

软件测试用例 定义 测试用例(TestCase)是为项目需求而编制的一组测试输入,执行步骤,以及预期结果,以便测试某个程序是否满足客户需求 可以总结为:每一个测试点的数据设计和步骤设计 – 对测试点的细化 作…

大数据技术之Zookeeper安装 (2)

目录 下载地址 本地模式安装 1)安装前准备 2)配置修改 3)操作 Zookeeper 配置参数解读 Zookeeper 集群操作 集群规划 解压安装 配置服务器编号 配置 zoo.cfg 文件 集群操作 Zookeeper 集群启动停止脚本 创建脚本 增加脚本执行权限 …

在线问诊平台开发指南:基于互联网医院系统源码的实现路径

今天,小编将详细讲解如何通过互联网医院系统源码开发在线问诊平台。 一、在线问诊平台的需求分析 在线问诊平的核心目标是通过互联网技术,实现患者与医生之间的远程交流与诊断。因此,在开发过程中,首先需要明确平台的核心功能需求…

将 hugo 博客搬迁到服务器

1. 说明 在 Ubuntu 22.04 上使用 root 账号,创建普通账号,并赋予 root 权限。 演示站点:https://woniu336.github.io/ 魔改hugo主题: https://github.com/woniu336/hugo-magic 2. 服务器配置 建立 git 用户 adduser git安装 git sudo apt …

SpringBoot笔记01

第1章 Spring Boot概要 1.1 SpringBoot介绍 随着动态语言的流行(Ruby、Scala、Node.js), Java的开发显得格外的笨重;繁多的配置、低下的开 发效率、复杂的部署流程以及第三方技术整合难度大。 在上述环境下,Spring Boot由此诞生…

光伏检测气象站:实时监测:高效管理

随着全球对可再生能源需求的日益增长,光伏发电作为清洁能源的重要组成部分,其重要性日益凸显。然而,光伏发电的效率与稳定性受气象条件影响显著,如光照强度、温度、湿度、风速等因素均能直接影响光伏板的发电效率。因此&#xff0…

巧用PDF转Markdown插件,在扣子(Coze)手搓一个有趣好玩的AI Bot

近期,TextIn团队开发的PDF转Markdown插件已经上架Coze平台。 短短的时间内,已经有不少朋友愉快地和我们的工具开始玩耍。今天我们抛砖引玉,介(an)绍(li)几种PDF转Markdown插件的有趣玩法&#…

阅读、分析和维护高质量开源软件有感——小计一笔

目录 一、问题分析 软件开发问题分析 动机 学什么 目的 二、要求 阅读 理解 运用 分析 评估 认知 三、案例选择 MiNotes”开源软件 方式 实践支撑软件工具 操作流程 应该学到的知识 学习过程 四、任务与输出 1.阅读开源软件 2.标注开源软件 3.分析开源…

路径规划 | 灰狼算法+B样条曲线优化无人机三维路径规划(Matlab)

目录 效果一览基本介绍程序设计参考文献 效果一览 基本介绍 灰狼算法B样条曲线优化无人机三维路径规划(Matlab) 群智能路径规划算法。三维灰狼算法(GWO)加B样条曲线优化的matlab代码。无人机(UAV)路径规划…

二叉树剪枝

1、题目解析 2、算法解析 本题使用二叉树的后序遍历,通过递归函数将左右子树进行处理,得到处理结果后,判断左右结果以及自身的val判断是否需要剪枝。 3、代码编写 class Solution { public:TreeNode* pruneTree(TreeNode* root) {if(root …

SpringBoot项目多线程实现定时任务-只需要三步

众所周知,项目中需要使用定时任务发布的需求时非常常见的,例如:数据同步,清理垃圾文件,清理过期用户等需求,可能需要我们定时去清理数据。 但是我们如果集成xxl-job,Quartz,spring …

Leetcode每日刷题之1004.最大连续1的个数|||(C++)

1.题目解析 本题的目的是找出能最多翻转k个0的情况下最长连续的1的个数,并且这是一个二进制数组,只存在0和1,翻转0就是将0变为1 2.算法原理 首先我们想到的一定是暴力枚举,即依次列举出在最多翻转k个0的情况下所有连续1的子数组的…

odoo17 网站内容存在哪了

odoo17 网站内容存在哪了 查数据库内容,却没找到 没理解这些内容到底存在了哪里呢

从0-1建一个webpack/vue项目,熟悉一下webpack知识点

以下配置项部分优化来自于国内直连GPT/Claude 第一步 首先整个新文件夹,打开终端,然后创建一个新目录,或者直接在vscode里面建个新文件夹,并进入该目录; mkdir my-vue-webpack-project第二步 进入当前目录 cd my-v…

JavaSE基础(11)——java.util包

目录 1、Random 创建Random对象 方法 2、Date类 创建Date对象 3、Canlender类 创建Calendar类对象 方法 4、java.text.SimpleDateFormat类 创建SimpleDateFormat对象 方法 SimpleDateFormat格式规范 5、java.time包 java.time包含的主要类 方法分类 1、Rando…

Servlet---Web会话跟踪 ▎token令牌

▍为什么要进行Web会话跟踪? http请求是无状态的,不携带用户信息的,当用户登录成功后,之后在于服务器交互时,服务器并不知道是哪个用户发送的请求 ▍Web会话跟踪 解决方法:在用户成功登录后,后端向前端响应token令牌(token令牌:用户信息),前端保存token令牌每次访问后端都先…