文章目录
- DELL · E
- DELL · E 1
- DELL · E 2
- ERNIE-ViLG
- ERNIE-ViLG 1
- ERNIE-ViLG 2
- Paddlehub
- Imagen
- Midjourney
- Stable Diffusion
- AltDiffusion
- eDiff-I
- 阿里通义
DELL · E
DALL·E到目前为止有两个版本,2021年1月,OpenAI发布了DALL·E;2022年,DALL·E 迎来了升级版本-DALL·E 2。与 DALL·E 相比,DALL·E 2 在生成用户描述的图像时具有更高的分辨率和更低的延迟。
DELL · E 1
DALL-E 只开放了使用图像重建部分 d-VAE 训练的 CNN 编码器和解码器部分,而 Transformer 代码部分还没有公开。
DALL·E是GPT-3的120亿参数版本,训练文本-图像对数据集从文本描述中生成图像。与GPT-3一样,DALL·E也是一个语言Transformer模型,它接受文本和图像作为包含1280 tokens的单独数据流,使用最大似然训练去一个接一个地生成所有的tokens。这种训练程序允许DALL·E不仅从头开始生成图像,还可以依据文本提示词生成存在图像的任何区域扩展到该图像的右下角。
一个token是离散词汇表里面的任何符号。DALL·E的此汇报包含文本和图像概念的tokens。文本词汇表里的token总数是16384,每个图像标题使用最大256 BPE编码的tokens表示;图像词汇表里的token总数是8192,每个图像使用1024个token表示(1024+256=1280)。
DALL·E训练一个Transformer,将文本和图像tokens作为单个数据流进行自回归建模。训练采用了两个阶段策略。
- 第一阶段:训练一个离散变分自动编码器(discrete variational autoen coder,dVAE)将每个256x256大小的RGB图像压缩为32x32网格大小的图像tokens,其中网格中的每一个元素可假设有8192个可能值。这样就可以将上下文大小减少了192倍(256x256x3=192x32x32)却不会导致视觉质量大幅下降。
- 第二阶段:合并256 BPE编码的文本tokens和32x32=1024图像token,训练一个自回归transformer模型建模文本和图像tokens的联合分布。
DELL · E 2
DALL · E 2体验需要有OpenAI的账号,目前OpenAI对中国地区不提供服务,注册OpenAI需要科学上网,并且需要验证手机号。我在淘宝上买了一个美国的手机号验证码,才注册成功。DALL·E 2需要收费,15美元115 credits,一个credit就是一条成功的请求。
DALL · E 2仅仅具有35亿参数量,但是生成的图像分辨率却是DALL · E 的4倍。而且相比于DALL · E,DALL · E 2可以综合文本描述中给出的概率、属性与风格等三个元素生成更真实和更准确的图像。
假设图像为
x
x
x,与图像相对应的文本为
y
y
y,文本-图像对为
(
x
,
y
)
\left(x, y \right)
(x,y)。对于给定的图像
x
x
x,
z
i
z_{i}
zi和
z
t
z_{t}
zt分别为此图像对应的CLIP图像嵌入向量和文本嵌入向量。DALL · E 2从文本生成图像包含两个组件:
- 先验 P ( z i ∣ y ) P\left( z_{i} | y \right) P(zi∣y)输出给定文本 y y y的CLIP图像嵌入向量 z i z_{i} zi。
- 解码器 P ( x ∣ z i , y ) P\left( x | z_{i}, y \right) P(x∣zi,y)生成以上述图像嵌入向量为条件的图像 x x x。
ERNIE-ViLG
ERNIE-ViLG是百度文心系列的生成模型,目前已到2.0版本。文心ERNIE-ViLG是全球最大规模中文跨模态生成模型。
ERNIE-ViLG 1
文心 ERNIE-ViLG 参数规模达到100亿,它构建了包含1.45亿高质量中文文本-图像对的大规模跨模态对齐数据集,该模型首次通过自回归算法将图像生成和文本生成统一建模,增强模型的跨模态语义对齐能力,显著提升图文生成效果。文心 ERNIE-ViLG模型可以做文本生成图像任务、图像描述(Image Captioning)任务和生成式视觉问答(Generative VQA)任务。
ERNIE-ViLG 使用编码器-解码器参数共享的 Transformer 作为自回归生成的主干网络,同时学习文本生成图像、图像生成文本两个任务。基于图像向量量化技术,文心 ERNIE-ViLG 把图像表示成离散的序列,从而将文本和图像进行统一的序列自回归生成建模。在文本生成图像时,文心 ERNIE-ViLG 模型的输入是文本 token 序列,输出是图像 token 序列;图像生成文本时则根据输入的图像序列预测文本内容。两个方向的生成任务使用同一个 Transformer 模型。视觉和语言两个模态在相同模型参数下进行相同模式的生成,能够促进模型建立更好的跨模态语义对齐。
ERNIE-ViLG 2
文心 ERNIE-ViLG 2.0 通过视觉、语言等多源知识指引扩散模型学习,强化文图生成扩散模型对于语义的精确理解,以提升生成图像的可控性和语义一致性。同时,ERNIE-ViLG 2.0 首次引入基于时间步的混合降噪专家模型来提升模型建模能力,让模型在不同的生成阶段选择不同的“降噪专家”网络,从而实现更加细致的降噪任务建模,提升生成图像的质量。
基于语言和图像知识的知识增强算法。 为提升生成图像的语义一致性和可控性,ERNIE ViLG 2.0 将知识增强算法融入扩散模型学习,在扩散模型学习过程中,引入语言、视觉等多源知识指引模型更加关注文本和图像中的核心语义元素,同时针对训练数据噪声带来的训练图文样本语义偏差问题提出了文本语义补全的方法,对图文的语义一致性进行针对性学习,进而实现精准的细粒度语义控制。
混合降噪专家网络。 针对模型建模能力不足,导致图像质量不够好的问题,ERNIE ViLG 2.0 提出了针对不同阶段选择不同网络(降噪专家)进行建模的框架,有效地解决了不同阶段对模型能力要求不一致的问题,减少降噪任务的互相干扰,提升图像生成的质量。由于每个生成阶段只选取一个专家进行生成,实现了在不增加模型预测计算量的情况下对模型建模能力的扩充。
Paddlehub
paddlehub中提供了ERNIE-ViLG的模型API预测,需要安装paddlepaddle和paddlehub。
命令行预测如下所示,事先需要申请API key和Secret key。style参数可选如下风格:古风、油画、水彩、卡通、二次元、浮世绘、蒸汽波艺术、 low poly、像素风格、概念艺术、未来主义、赛博朋克、写实风格、洛丽塔风格、巴洛克风格、超现实主义、探索无限
hub run ernie_vilg --text_prompts “火焰,凤凰,少女,未来感,高清,3d,精致面容,cg感,古风,唯美, 毛发细致,上半身立绘” --style “古风” --output_dir ernie_vilg_out --ak ‘your API key’ --sk ‘your Secret key’
提示词 | 生成的图片1 | 生成的图片2 | 风格 |
---|---|---|---|
巨狼,飘雪,蓝色大片烟雾,毛发细致, 烟雾缭绕,高清,3d,cg感,侧 面照 | 写实风格 | ||
人间四月芳菲尽,山寺桃花始盛开 | 古风 | ||
A young pretty Jewish woman, realistic, 4K, award winning photograph, portrait photography, Kodachrome | 写实风格 | ||
火焰,凤凰,少女,未来感,高清,3d,精致面容,cg感,古风,唯美, 毛发细致,上半身立绘 | 古风 |
Imagen
Imagen是谷歌推出的,谷歌发现在纯文本预料库上预训练的通用大型语言模型对于文本到图像的生成人物非常有效。
- 文本被输入到一个冻结的预训练Transformer 编码器,该编码器输出向量队列(文本编码)
- 文本编码器被传递到图像生成扩散模型中,该模型从高斯噪声逐渐去除噪声,生成反映文本内语义信息的新图像,该模型的新图像是一个64x64大小的图像。
- 之后,再使用两个扩散模型(STM和MTL),以第一步的文本编码为条件,将图像超分成一个1024x1024的图像。
Imagen的文本编码器是T5的编码器。图像生成器是扩散模型。Small-to-Medium(STM)超分模型以64x64的图像为输入,超级解析生成256x256的图像,STM也是一个扩散模型。Medium-to-Large(MTL)超分模型以256x256的图像为输入,超级解析生成1024x1024的图像,MTL和STM模型相似,也是一个扩散模型。
imagen只开源了pytorch版的imagen实现,但是并没有公布模型参数,所以需要自己训练数据集生成模型才能够推理使用。
Midjourney
Midjourney是一个由Midjourney研究实验室开发的人工智能绘图程序,Midjourney应用托管到聊天应用Discord,用户注册Discode并加入Midjourney的服务器就可以开始AI创作了。Midjourney在2023年三月已经迭代到V5版本,V5版本生成的图片分辨率更高,写实风格人物主体塑性更加准确。
国内用户想要使用Midjourney,一是科学上网,注册验证Discord账号,然后进入MidJourney官网找到Join the Beta绑定Discode账号,接受邀请,进入Midjourney社区。二是需要付费。
可在Discode中添加个人服务器,再邀请Midjourney机器人进入个人服务器即可。在底部对话框中输入指令/imagine + prompt
就可生成图像。
Midjourney V5版本凭借如下的一张情侣照片"火出圈",逼真地就像人类拿着摄像机照出的相片。相比较于V4,V5版本细节更加逼真;拥有更多的风格;能画手,在有面部特写时,也能搞定各种肌肤纹理以及光影效果;对提示词更加敏感,用更少更精简的文本生成更好更有效的图片。风格可以从0-1000中选择,越靠近1000,越艺术。
2023年6月底,Midjourney又推出了5.2版本,最令人心动的新功能是Zoom out 功能,通过1.5倍、2倍以及自定义缩放,将相机拉出,并填充所有侧面细节,达到重构图像的效果。
Stable Diffusion
Stable Diffusion,该项目由初创公司 StabilityAI 和慕尼黑大学机器视觉学习组和 AI 视频剪辑技术创业公司 Runway 合作开发,并得到了黑客组织 EleutherAI和德国非盈利组织 LAION 的支持。
Stable Diffusion不是一个整体模型,它由几个组件和模型组成。首先是文本理解组件(text-understanding component),将文本信息转换成数字表示,以捕捉文本中的想法。其次是图像生成器(image generator),图像生成器包括两步,图像信息创建者( Image information creator)和图像解码器(Image Decoder)。
下图是stable diffusion的一个流程图,包含了上述描述的三个组件,每个组件都有相应的神经网络。
- 文本理解组件:Clip Text为文本编码器。以77 token为输入,输出为77 token 嵌入向量,每个向量有768维度。
- 图像信息创建者:UNet+Scheduler,在潜在空间中逐步处理扩散信息。以文本嵌入向量和由噪声组成的起始多维数组为输入,输出处理的信息数组。
- 图像解码器:自动编码解码器,使用处理后的信息数组绘制最终的图像。以处理后的维度为4x64x64的信息数组为输入,输出尺寸为3x512x512的图像。
Stable Diffusionv1-v2版本都已开源,SD模型可微调,常见的微调方法:DreamBooth、textual inversion、hypernetwork和LoRA。
Stable Diffusion的图像生成很吃prompt。本来想所有提示词都一样,好对所有模型进行一个效果对比,但是SD的表现太拉跨,所以SD模型只展示有效prompt下生成的最好图片。
提示词 | 图片 |
---|---|
In this photography, the rose and mulberry background is set against the backdrop of a misty garden with tiny water droplets glistening on the leaves and petals | |
a highly detailed and whimsical concept art illustration of a white rabbit cub in a pink and blue school uniform and cute plush hat, sitting on a giant apple made of transparent foam, gl crystals, and cherry blossoms within a magical winter wonderland scene. The rabbit has symmetrical ears, bright big eyes, a sweet smile, and a plump body. The scene has a whimsical and enchanting atmosphere, similar to the art style of Studio Ghibli or Hayao Miyazaki, with soft lighting that creates a magical movie-like atmosphere. The image is rendered in high resolution with Pixar or Unreal Engine rendering software, with exquisite fur details that capture the rabbit’s fluffy texture and realistically recreate the snow-covered landscape. |
AltDiffusion
智源研究院首先推出的是双语AltDiffusion,时隔不到一周,智源团队又推出重要升级版 AltDiffusion-m9,全面支持中、英、西、法、日、韩、阿、俄、意等九种不同语言的文图生成任务,后来又推出18种语言文生图模型AltDiffusion-m18。智源团队使用多语言预训练模型和 Stable Diffusion 结合,训练多语言文图生成模型 —— AltDiffusion-m18,支持18种语言的文图生成,包括中文、英文、日语、泰语、韩语、印地语、乌克兰语、阿拉伯语、土耳其语、越南语、波兰语、荷兰语、葡萄牙语、意大利语、西班牙语、德语、法语、俄语。
AltDiffusion使用 AltCLIP(双语CLIP),基于Stable-Diffusion训练了双语Diffusion模型,训练数据来自 WuDao数据集和LAION。AltCLIP 则是 AltDiffusion 模型背后的重要训练技术。利用 OpenAI 发布的预训练的多模态表征模型 CLIP,将其文本编码器更换为预训练的多语言文本编码器 XLM-R(XLM-R是Facebook推出的多语言模型,2.5TB,100种语言,干净的CommonCrawl数据集上训练得到),并通过包含教师学习和对比学习的两阶段训练模式对语言和图像表征进行对齐。这种方法在第一阶段先将其他语言的表征与 CLIP 中的英文表征做对齐,在这个训练阶段不需要多语言的图文对数据,而只需要多语言的平行语料。在第二阶段只需要少量的多语言图文对,就能学到效果很好的多语言图文表征,很大程度上减少了多语言多模态表征模型对于训练数据的依赖。
智源提供体验的平台为flagstudio.,现模型默认是AltDiffusion-m18。包括几十种绘画风格和艺术家风格。AltCLIP-m18模型代码已经在FlagAI/examples/AltCLIP-m18上开源,权重位于modelshub上,此外还提供了微调,推理,验证的脚本
提示词 | 生成的图片1 | 生成的图片2 | 风格 |
---|---|---|---|
在飘雪和蓝色大片烟雾的环境下,一只毛发细致的巨狼的侧面照 | 写实风格 | ||
人间四月芳菲尽,山寺桃花始盛开 | 国画+丰子恺 | ||
A young pretty Jewish woman, realistic, 4K, award winning photograph, portrait photography, Kodachrome | 相机 |
eDiff-I
eDiff-I出自NVIDIA,与其他通过迭代去噪进行图像合成的生成式文转图模型不同,Nvidia的eDiff-I使用一个专门对生成过程的不同区间进行去噪的强大去噪器集合。
eDiff-I的图像合成管道是由三个扩散模型组成——一个低分辨率扩散模型,可以合成64 x 64分辨率的样本,以及两个高分辨率扩散模型,可以分别将图像逐步上采样到256 x 256和1024 x 1024分辨率。eDiff-I用到了两个文本编码器,T5和CLIP,还有CLIP图像编码器,对文本和图像进行编码后,送入级联扩散模型中,逐渐生成分辨率为1024x1024的图像。
eDiff-I没找到开源的GitHub项目,也没找到可试用的网址或者API,只有youtube上eDiff-I的效果展示video。
阿里通义
阿里文生图模型名称为ModelScope,暂不支持pipeline推理、下载和训练。ModelScope整体参数模型约50亿,支持中英双语输入,输入token最大为500,生成图片尺寸有三种选择,1024:1024,1280:768和768:1280。
文本到图像生成扩散模型由特征提取、级联生成扩散模型等模块组成。通过知识重组与可变维度扩散模型加速收敛并提升最终生成效果。ModelScope模型分为文本特征提取(CLIP)、文本特征到图像特征生成(Transformer)、级联扩散生成模型(UNet)等子网络组成,训练也是分别进行。
- 文本特征提取使用大规模图文样本对数据上训练的CLIP的文本分支得到。
- 文本到图像特征生成部分采用GPT结构,是一个width为2048、32个heads、24个blocks的Transformer网络,利用causal attention mask实现GPT预测。
- 64x64、256x256、1024x1024扩散模型均为UNet结构,在64x64、256x256生成模型中使用了Cross Attention嵌入image embedding条件。为降低计算复杂度,在256扩散模型训练过程中,随机64x64 crop、128x128 crop、256x256 crop进行了multi-grid训练,来提升生成质量;在1024扩散模型中,对输入图随机256x256 crop。
提示词 | 生成图片 |
---|---|
在飘雪和蓝色大片烟雾的环境下,一只毛发细致的巨狼的侧面照 | |
人间四月芳菲尽,山寺桃花始盛开 | |
A young pretty Jewish woman, realistic, 4K, award winning photograph, portrait photography, Kodachrome |