最近几年生成式AI(generative AI)的技术很火,和人类的大脑类比,生成式AI类比于人类的文档撰写,绘画设计和视频制作等,好的AI技术可以服务人类,将人类从一部分的工作中解放出来,去做更有创造性和创新型的事情。这里简要阐述一下视觉生成模型技术的一些技术思路,不正确的地方欢迎批评指正。
在图像生成方面,生成式AI经历了几次技术方案的迭代,从VAE,GAN,到diffusion models,效果越来越好,而且已经在视频生成领域取得了很大的技术进步,如最近的sora模型,效果好,是最近很热门的话题,小视频的介绍也有不少。图像生成都是从一个二维的随机高斯分布的image作为输入,通过模型的计算得出最后生成的模型,生成的结果的多样性在于输入中高斯输入的随机性以及训练数据的多样性。独立高斯分布可以理解为输入中的每一个像素点的值服从高斯分布,每一个像素点可以理解为图像中对应位置特征的值,不同点的独立高斯分布作为输入说明每一次输入的对应特征不一样,从而会带来丰富多样的结果。从随机的输入(根据训练集的特性随机效果的生成)或者再加上有意义的prompt生成满足特定场景的视觉效果。
1、VAE,VAE生成式算法主要是生成一个隐空间(latent space)假设隐变量服从高斯分布,而且尽可能的接近均值为0,标准差为1的标准正态分布(可以通过KL loss进行约束)而且在VAE中,隐变量的值也是通过训练集中数据的输入通过网络计算得出的,从数据输入到隐空间的计算相当于一种编码器,然后隐空间经过解码器恢复到原始数据空间。在生成的时候可以通过随机生成器生成隐空间的数据后再decode即可;
2、GAN,一度非常火热的算法,根据高斯随机分布的输入数据或条件数据通过生成网络和判别网络间的相互博弈交替训练去动态生成。大概轮流交替训练过程如下:(1)、先训练生成式网络,生成网络的loss,以及生成的结果在判别网络中的输出为true为ground truth;(2)、然后训练判别式网络,将生成网络的结果(fake)在判别网络中的输出为false为ground truth,而真实的数据在判别网络中的数据结果为true。具体一点的说明为:在训练生成式网络阶段(判别器网络参数固定),判别器尽可能将任务生成的结果判别为真实的,并且满足生成的条件(如条件生成,如风格迁移等),而在训练判别式网络阶段(生成式网络参数固定),判别器尽可能将生成网络生成的结果判别为fake,而真实的数据结果判别为true,这样在生成网络训练过程中,生成的结果越来越和真实的接近,生成的能力越来越强,而且判别式网络训练的过程中,生成的结果和真实的结果尽可能区分开,判别式网络的能力越来越强,这样不断的在生成网络和判别网络相互不段变强博弈的过程中,最后达到判别器网络”真假不分”的状态,也就是判别器区分不了是ground truth还是生成器生成的结果。
3,diffusion models,采用迭代的去噪过程,从原始的高斯随机数据一步步去噪生成结果的图像数据,数学推导比较繁琐,可以参考引文。其中stable diffusion models在图像生成领域是一个里程碑式的结果,其首先将图像用VAE模型将其转换到隐空间,然后在压缩后的隐空间进行模型的训练,并根据transformer的kv特性将条件prompt进行(CLIP进行text encoding)融合,从而实现文生图的功能。最近的sora的原理没有看到,但感觉应该是二维图像空间的扩展,据说也是在隐空间进行的训练。具体细节以后有机会再去详细了解。
最后总结畅想一下,未来视觉生成领域的可能创新和进步:(1)、条件视觉生成,这个可以用来一致性视觉生成的实现,如现在生成一段文字描述的视频,其中的人物或场景能否提取作为条件作为后续文字的背景条件生成?如果可以实现,生成长剧本的影视场景倒也是有可能的;(2)、多模态生成,影视短视频中视频加语音混合生成,比如人说话,或者和环境交互产生的动作和语音效果;(3)、可编辑式视频生成,生成的视频可能大部分满足自己的要求,但有些内容和场景需要进一步去编辑调整,可以通过文字表达的方式,也比如基于视频的control net的约束生成实现。
References
- Machine Learning Lecture 20(DiffusionModels-Stable Diffusion)_哔哩哔哩_bilibili
- (1 封私信 / 11 条消息) VAE(变分自编码器)隐藏空间Z如何构建的?是每一个均值和标准差的集合吗?生成文本时如何在Z中采样? – 知乎 (zhihu.com)
- PyTorch-GAN/implementations/dcgan/dcgan.py at master · eriklindernoren/PyTorch-GAN · GitHub
- Diffusion Model系列一:原理公式详细解读 – 知乎 (zhihu.com)
- Diffusion Model系列二:DDPM关键代码理解注释 – 知乎 (zhihu.com)
Leave a Reply