序列模型也能做图像生成?

Wings Lv2

图像生成任务

在当前AIGC(AI内容生成)的浪潮下,图像生成是一个很关键的领域,一个很自然的想法是让模型学会生成图像,就是让模型理解图像,并将理解的内容重新生成图像,这个过程就是“编码-解码”过程。“编码”可以理解为模型理解图像的过程,将图像压缩成模型中的隐藏向量;而“解码”就是生成过程,模型利用图像所对应的隐藏向量重新生成对应的图像[1]。

所以模型结构就很自然地被分成两个阶段:编码模块(Encoder)和解码模块(Decoder)。解码阶段的任务可以形式化为:

其中就是图片,通过模型的编码结构映射成一个高维向量 。接着,模型通过解码结构将该高维向量重新生成大小一致的矩阵有:

其中。很直观地,中间没有引入额外的信息,所以理应要保持一致。也就有:

但这个只是一种理想,是因为在这个过程中,模型一般情况会压缩了信息,毕竟从矩阵维度上来说,所以有可能丢失了信息,这导致在还原的时候会缺少一部分信息的依赖,但总之通过这种方式,就能够形成图像理解-图像生成的过程。

所以很自然,如果能够随意给定隐藏向量,再通过就能够生成图像,但是直接给定隐藏向量对于人类来说是很难理解的一个事情,不知道每一个维度之间如何控制图像的哪些属性。

那么在这个基础上,就有带条件控制的图像生成,从上述问题的视角来理解,就可以理解到这是一个在原有模型自我理解,自我生成的基础上留出一部分人类所能理解,所能控制的模块让人类能够控制,可以是文字,标签等等,这就是带控制条件的图像生成。从上述过程来看,就是相当于有一个额外的与人类操作对齐的编码器,人类控制作为输入影响隐藏向量的生成,所以数据对也需要“控制符号-图像”之间的关联。

序列图像生成任务

但是在这个生成过程中,有研究者认为,解码部分也就是生成部分的生成效率是不可控的[2,3],即生成时间是一个很大的问题。所以在这个基础上,想通过按照像素一个接着一个生成的形式来进行图像生成,而最直接的就是序列图像生成。

将图像生成过程建模成序列生成过程,即从左往右,从上往下依次生成,这样在生成效率上是可控的,是因为图像总的就是这么多像素,无非就是生成到了什么位置的像素。而按照这样的形式进行建模,图像生成任务就被转换成序列生成任务即:

其中。那么在这里就可以直接采用循环神经网络(RNN)等序列模型来进行模型搭建。从这个视角来看,这样的任务建模可能只是一盘饺子,真正的醋应该是“序列模型”能够被应用上去。

序列模型进行图像生成的权衡

在这里不具体讨论模型如何构建,而是重点关注不同类型的模型的特性。在图像生成任务上,还能够理解到这么一种情况:卷积神经网络(CNN)也是序列模型,为什么呢?是因为卷积神经网络的计算按照计算形式,其计算过程可被看做是不断向后移动的计算,然后通过感受域的内容和权值计算对应的结果,这一点和注意力机制(Attention)有点类似,事实上,注意力机制可以被看做是RNN和CNN的权衡状态。

简述一下两者的区别:

  • RNN:序列可以无限长,其中通过状态变量维持序列累积信息,不断通过给定的信息生成下一步骤的内容。
  • CNN:序列长度固定,通过给定范围的序列信息生成下一步骤的内容。

但通过展开CNN的计算过程,实际上CNN是一种并行计算的过程,是因为,其可以提前将所要乘积的内容展开,一次性同时进行计算。

所以在文章[2, 3]和社区反馈中,采用CNN反而是常用的序列模型,是因为其计算效率高,且性能不差(很多时候局部信息即可完成内容),所以受到了广泛地使用。

从序列图像生成的视角理解注意力机制

所以在上述的权衡下就能够理解,注意力机制,实际上是一种“无限长”,“计算效率”高的选择,这促使了那段时期相关的论文,就像是拿着醋(注意力机制)找钉子(各类任务转换成序列任务),包括图像,文字,视频,语音等数据形式都转换成自回归的生成式任务[4, 5],然后就使用注意力机制(Transformer)来进行内容生成。其形式也如上述那般存在编码过程和解码过程,以及带控制的生成形式。

总结

虽然序列图像生成在生成任务上有一点“不正确”,是因为按照图像内容本身的生成过程来看,其什么顺序都有,而非固定的从左到右,从上到下,但是其序列属性应当是存在的,这也是为什么利用序列对图像生成建模其模型有效的缘故所在吧。

不过,当前看到Transformer,注意力机制大行其道,也需要理解到其背后平衡了无限长属性和计算效率,是一种计算舒适区的存在。

参考文献

[1] Kingma D P, Welling M. Auto-encoding variational bayes[J]. arXiv preprint arXiv:1312.6114, 2013.

[2] Van Den Oord A, Kalchbrenner N, Kavukcuoglu K. Pixel recurrent neural networks[C]. International conference on machine learning. PMLR, 2016: 1747-1756.

[3] Salimans T, Karpathy A, Chen X, et al. Pixelcnn++: Improving the pixelcnn with discretized logistic mixture likelihood and other modifications[J]. arXiv preprint arXiv:1701.05517, 2017.

[4] Parmar N, Vaswani A, Uszkoreit J, et al. Image transformer[C]. International conference on machine learning. PMLR, 2018: 4055-4064.

[5] Child R, Gray S, Radford A, et al. Generating long sequences with sparse transformers[J]. arXiv preprint arXiv:1904.10509, 2019.

  • 标题: 序列模型也能做图像生成?
  • 作者: Wings
  • 创建于 : 2026-05-05 10:00:00
  • 更新于 : 2026-05-08 12:34:48
  • 链接: https://www.wingslab.top/深度学习/序列模型也能做图像生成?/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。