VLM调研记录

news2024/11/26 21:36:31

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.coloradmin.cn/o/2063072.html

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

相关文章

第二百零九节 Java格式 - Java数字格式类

Java格式 - Java数字格式类 以下两个类可用于格式化和解析数字: java.text.NumberFormatjava.text.DecimalFormat NumberFormat 类可以格式化一个数字特定地区的预定义格式。 DecimalFormat 类可以格式化数字以特定区域设置的自定义格式。 NumberFormat类的 getXXXInstance…

实战分享:服务可视化编排在交付团队中的真实作用

最近有个技术团队的CTO 交流的时候,聊到了逻辑引擎、API服务编排,他很反感逻辑的编排,觉得还不如写代码来得快。 对方是一个小型的交付团队,对方的老板(也稍微懂一些技术,不是很深刻)&#xff…

常见网络协议汇总(非常详细)从零基础入门到精通,看完这一篇就够了

前言 本篇博客将对基于 计算机网络五层模型 中的常见协议做以总结 ,目的通过这些具体的协议更深刻的认识整体网络的传输流程及相关网络原理 计算机网络五层模型回顾 应用层:为用户为用户的应用进程提供网络通信服务 协议——DNS协议、HTTP协议、HTTPS协…

浪潮服务器NVME 硬盘通过 Intel VROC 做RAID

INTEL VROC Configuration solution 1.VMD configuration in BIOS Processor > IIO Configuration> Intel(R) VDM Technology> Intel(R) VMD for volume Management Device on Socket 0 “CPU 0”, Intel VMD for volume management device for “PStack0” or “PSta…

fluent UI 中的Combobox如何在option的上面加一个input

fluent UI 9 中的Combobox如何在它自带的input框下面,option的上面,再加一个用于search的input框 会出现一个问题,点击search input框,可以触发input的onClick事件,但是无法获取焦点,焦点还在select的下拉…

龙格-库塔法(Matlab实现)

四阶龙格-库塔法介绍 在各种龙格-库塔法当中有一个方法十分常用,以至于经常被称为“RK4”或者就是“龙格-库塔法”。该方法主要是在已知方程导数和初始值时,利用计算机的仿真应用,省去求解微分方程的复杂过程。 令初…

干货分享|如何使用SD插件进行老旧照片修复上色?

每个家庭都保存着一些温馨记忆的老照片。修复并给老照片上色曾经是一项难度颇大的技术活,现在有了AI技术的加持,使用Photoshop和SD插件,几分钟内就能让那些泛黄老旧的照片焕然一新。 打开一张老照片后按CtrlA快捷键以选取整个画布&#xff…

Linux命令抽象

linux命令都含有一定格式,有具体的语法。我们应用命令时一般需要按语法应用。 有些特殊命令,不遵从通用格式,应用时要格外注意。 命令很多,不需要都记住,但对命令有一个整体的了解,对快速使用命令、找到需…

MySQL运维学习(2):主从复制

1.什么是主从复制 *主从复制是指将主数据库的DDL和 DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制,从库也可以作为其他从…

Django 集成与扩展:Database Task Queue

文章目录 Django 连接 PostgreSQL安装 PostgreSQL 驱动配置 PostgreSQL 数据库更新 Django 设置确保证书文件的权限测试连接示例:完整的 settings.py 配置注意事项 Django 连接 MySQL安装 MySQL 驱动配置 MySQL 数据库更新 Django 设置运行迁移调试连接问题 Django …

独立站卖家投放Facebook广告的8个建议

在外贸领域,独立站结合Facebook广告投放是一种推动销售增长的关键策略,而结合自动化广告投放工具能使广告投放变得更加高效。以下是一系列针对外贸独立站卖家的Facebook广告投放建议,希望能帮助卖家更有效地利用这一平台,实现营销…

ISO 26262中的失效率计算:IEC 61709-Clause 17_Switches and push-buttons

概要 IEC 61709是国际电工委员会(IEC)制定的一个标准,即“电子元器件 可靠性 失效率的基准条件和失效率转换的应力模型”。主要涉及电学元器件的可靠性,包括失效率的基准条件和失效率转换的应力模型。本文介绍IEC 61709第十七章&…

四川财谷通,信息科技引领者!

在数字化浪潮席卷全球的今天,电子商务作为新经济形态的重要代表,正以前所未有的速度改变着我们的生活方式和消费习惯。四川财谷通信息技术有限公司,作为这一领域的佼佼者,凭借其深厚的技术底蕴与创新思维,在抖音小店这…

机房动环监控系统的主要功能@卓振思众

机房动环监控系统(Data Center Environmental and Monitoring System)是一种用于监测和管理数据中心或机房内部环境和设备状态的系统。其主要目的是确保机房设备在最佳环境条件下运行,从而提高系统的稳定性和安全性。以下是【卓振思众】机房动…

QLibrary的load失败(0x000000c1)

前言 用vs加载dll库是没有问题&#xff0c;移植到qt creator开发却加载失败。 #include <QLibrary>void LoadDll() {QString appPath QCoreApplication::applicationDirPath();QString strLibFile appPath "/Pay.dll";QLibrary *m_pLib nullptr;if (QFile:…

行业标杆 | 澳鹏Appen入选“2024年中国AI基础数据服务研究报告”

AI基础数据服务可加速高质量数据的获取与标注&#xff0c;推动AI算法的创新与持续优化&#xff0c;是AI产业发展的重要支撑。艾瑞咨询近日发布《2024年中国AI基础数据服务研究报告》&#xff0c;深度剖析了当前AI数据行业的挑战和机遇&#xff0c;并前瞻预测了未来趋势。作为AI…

2.3.2存储修改调整

如果使用的是云存储&#xff0c;错误提示&#xff1a;这个点击生成海报&#xff0c;直接提示 二维码生成失败 修改方法路径&#xff1a;crmeb\services\QrcodeService.php 增加代码&#xff1a; (string) 2. 本地存储修改 &#xff1a; //return $this->setError(‘请检…

com.alibaba.fastjson.JSONException: unclosed string : 

场景: 解析json字符串到java对象中报错 FinanceDownLoadFileDto financeDownLoadFileDto JSON.parseObject(line, FinanceDownLoadFileDto.class); 分析: 这不用想,一定是json格式问题 ,但是我去核对了几次文本中的json格式是正确的,因为我是复制粘贴到代码中的,只有考虑是…

“失业程序员跑滴滴求生,意外踏入AI绘画新天地:一个家庭的逆境转机故事“

我叫李明泽&#xff0c;一名在IT行业摸爬滚打多年的程序员。在这个看似光鲜的职业背后&#xff0c;却隐藏着无数的心酸与无奈。曾几何时&#xff0c;我以为我会一直在这个行业稳稳当当&#xff0c;但现实却给了我一记响亮的耳光。 一、就业市场的寒冬 随着互联网行业增速放缓&a…

电脑回收站数据怎么恢复回来 回收站怎么恢复半年前的文件

回收站是电脑一项非常重要的功能。有些小伙伴在操作电脑的时候&#xff0c;可能会不小心将一些重要的文件资料误删除&#xff0c;这些误删除的文件资料&#xff0c;不会彻底的被删除&#xff0c;而是会暂时存储在回收站中&#xff0c;在一定程度上可以保证文件资料的“安全”。…