“闭门造车”之多模态思路浅谈:自回归学习与生成

c8151d87cc3ebfd9b3c0525b20ed2b97.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 科学空间

研究方向 | NLP、神经网络

这篇文章我们继续来闭门造车,分享一下笔者最近对多模态学习的一些新理解。

在前文《“闭门造车”之多模态思路浅谈:无损》中,我们强调了无损输入对于理想的多模型模态的重要性。如果这个观点成立,那么当前基于 VQ-VAE、VQ-GAN 等将图像离散化的主流思路就存在能力瓶颈,因为只需要简单计算一下信息熵就可以表明离散化必然会有严重的信息损失,所以更有前景或者说更长远的方案应该是输入连续型特征,比如直接将图像的原始像素特征 Patchify 后输入到模型中。

然而,连续型输入对于图像理解自然简单,但对图像生成来说则引入了额外的困难,因为非离散化无法直接套用文本的自回归框架,多少都要加入一些新内容如扩散,这就引出了本文的主题——如何进行多模态的自回归学习与生成。当然,非离散化只是表面的困难,更艰巨的部份还在后头。

ad787762c93505380c0627250d37a5fb.png

无损含义

首先我们再来明确一下无损的含义。无损并不是指整个计算过程中一丁点损失都不能有,这不现实,也不符合我们所理解的深度学习的要义——在 2015 年的文章《闲聊:神经网络与深度学习》[1] 我们就提到过,深度学习成功的关键是信息损失。所以,这里无损的含义很简单,单纯是希望作为模型的输入来说尽可能无损。

当前多模态模型的主流架构依然是 Transformer,很多工作都会先对图像进行“前处理”再输入到 Transformer 中,比如简单将图像 Pixels 分 Patch、通过 VAE 来提取特征或者通过 VQ 来离散化等,其共同特点是将图像从 的数组变成 (其中 )的数组,我们都可以称为广义的 “Patchify”。

不同的 Patchify 可能会有不同程度的信息损失,其中 VQ 的信息损失往往是最严重且最明确的,比如最近字节的 TiTok [2] 将 256*256 的图像压缩为 32 个 token,要理解它的信息损失都不用算信息熵,因为它的编码本只有 4096,意味着它顶多能存 张图片,我们知道汉字就不止 4096 个了,换句话说如果图上有 32 个汉字,那么所有排列组合就超出了这种编码方式能表达的上限。

如果图像在输入模型之前就有明显信息损失,那么必然会限制模型的图像理解能力,比如将 TiTok 的 32 个 Token 输入到模型中,那么它基本就没法做 OCR 任务了,而且 VQ 的这个瓶颈非常本质,即使改为 32*32 个 Token 也很难有明显的改善,除非 Token 的数量达到了原始 RGB 的 Pixels 数量级,但这样一来 VQ 的意义也就没有了。

所以,为了更好地适应各种图像理解任务,多模态模型理想的图像输入方式应该就是尽可能无损的连续型特征,由模型自己在计算过程中根据上下文决定要损失什么。

29f0e343e0559a71384710a3788b5f2b.png

自回归式

正如本文开头所说,以连续型特征输入对于图像理解来说其实是一个非常合理和自然的方式,只是对于图像的自回归(AutoRegressive,AR)生成来说会引入额外的困难。看到这里读者可能会有一个疑问:为什么图像非得要做自回归?图像不是有扩散模型这样的更好用的生成方式了吗?

首先,我们知道,“自回归模型 + Teacher Forcing 训练”本身就是一种非常普适的学习途径,是“手把手教学”的典型体现,所以它潜力是足够的;其次,扩散模型这个例子,更加说明了自回归在图像生成中的必要性。

以 DDPM 为例,它实质就是一个自回归模型,在《生成扩散模型漫谈:DDPM = 自回归式VAE》我们就将其冠以自回归之名,它将单个图像解构为序列 ,然后去建模 ,训练方式本质上也是 Teacher Forcing(所以也有 Exposure Bias 问题),可以说 DDPM 不仅是自回归,而且还只是自回归中最简单的 2-gram 模型。

事实上,从早期的 PixelRNN [3]、PixelCNN [4]、NVAE [5] 等工作,到如今流行的扩散模型以及将图像 VQ 之后当文本那样训练语言模型,它们传递出来的信号更多的是——对于图像来说,问题并不是该不该做自回归,而是以何种方式来更好地去做自回归。它的作用不仅是为多模态模型赋予图像生成能力,而且还是一个重要的无监督学习途径。

笔者的偶像 Feynman 说过一句著名的话 “What I cannot create, I do not understand”,这句话放到大模型也是成立的,也就是说“不会生成就不会理解”。当然,这句话看上去有点武断,因为通过有监督学习各种图文数据对似乎也能获得足够的图像理解能力。

然而,单纯通过有监督的方式去学习图像理解,一方面覆盖面可能有限,另一方面也受限于人的理解水平,所以我们需要无监督的生成式预训练来获得更充分的图像理解能力,这跟文本的 “Pretrain + SFT” 的 Pipeline 是一致的。

38349563ac84c758b829f52822dcb4ce.png

平方误差

可能有部份读者觉得,将图像分 Patch 排序后,不也就可以跟文本一样预测下一个 Patch 吗?就算输入格式不离散化而是改为连续特征,那也只需要把交叉熵损失换成平方误差就行了?看上去图像的自回归学习也没有什么困难?思路上确实如此,但事实上这里边提到的两个关键地方——“分 Patch 排序“损失函数”——都是难以解决的问题。

这一节我们先来看损失函数问题。假设图像已经按某种方式分 Patch 排序好,那么图像就变成了 Patch 的一维序列,自回归学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值