@[TOC](Generative Adversarial Text to Image Synthesis 生成性对抗性文本图像合成)
这是一篇用GAN做文本生成图像(Text to Image、T2I)的论文,文章在2016年由Reed等人发布,被ICML会议录取。可以说是用GAN做文本生成图像的开山之作。
论文链接:https://arxiv.org/pdf/1605.05396.pdf
代码链接: https://github.com/zsdonghao/text-to-image
本篇文章是精读这篇论文的报告,包含一些个人理解、知识拓展和总结。
一、摘要
从文本中自动合成真实图像将是有趣和有用的,但目前的人工智能系统离这一目标还很远。然而,近年来,人们发展了通用的、功能强大的递归神经网络结构来学习区分性文本特征表示。与此同时,深度卷积生成性对抗网络(GAN)已经开始生成特定类别的极具吸引力的图像,如人脸、专辑封面和房间内部。在这项工作中,我们用GAN开发了一种新的深层架构,以有效地桥接文本和图像建模方面的这些进展,将视觉概念从字符转换为像素。我们展示了该模型能够从详细的文本描述中生成似是而非的鸟和花的图像。
二、关键词
Deep Learning, Generative Adversarial Network, Image Synthesis, Computer Vision
三、相关工作
本研究方向是多模态机器学习一个子集。 模态:每一种信息的来源或者形式,都可以称为一种模态。 例如,人有触觉,听觉,视觉嗅觉;信息的媒介,有语音、视频、文字等;多种多样的传感器,如雷达、红外、加速度计等。以上的每一种都可以称为一种模态。多模态学习旨在通过机器学习的方法实现处理和理解多源模态信息的能力,多模态学习中的关键挑战包括学习跨模态的共享表示,以及以另一种模态为条件预测一种模态中的缺失数据。
Denton等人(2015)使用拉普拉斯金字塔对抗生成器和鉴别器合成多分辨率图像。这项工作生成了引人注目的高分辨率图像,并且还可以对类标签进行控制生成。拉普拉斯金字塔生成式对抗网络。图像金字塔是图像中多尺度表达的一种,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。拉普拉斯金字塔: 用来从金字塔低层图像重建上层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,高斯金字塔用来向下降采样图像,而拉普拉斯金字塔则用来从金字塔底层图像中向上采样(即尺寸加倍,分辨率++)重建一个图像。
Radford等人(2016)使用了标准卷积解码器,但开发了一种高效稳定的体系结构,结合批量标准化,以实现显著的图像合成结果。
Mansimov等人(2016年)中,使用可变循环自动编码器(VAE)从文本标题生成图像,但生成的图像还不真实。
该文章与上面描述的GAN的主要区别在于,1)我们的模型条件是文本描述,而不是类标签。2)第一个从字符级别到像素级别端到端的架构。3)引入了一个流形插值正则化器,能显著提高生成样本的质量。
四、背景知识
4.1、GAN
损失函数为:
在这里插入图片描述
GAN有关的数学知识可以看这篇博客:深入浅出理解GAN中的数学原理
4.2 、Deep symmetric structured joint embedding
为了获得文本描述的视觉辨别矢量表示,文章用《Learning Deep Representations of Fine-Grained Visual Descriptions》中的方法,使用卷积循环神经网络文本编码器,学习与图像的对应函数,如下式。包括一个图像分类器和一个文本分类器,在本文中,图像分类器用的是GoogLeNet,文本分类器用的是LSTM和CNN。得到文本特征后,需要把文本特征压缩后与图像特征拼接在一起,放入DC-GAN。
在这里插入图片描述
在这里插入图片描述
三、主要方法
3.1、框架
训练了一个 基于卷积循环神经网络文本编码器 的 深度卷积生成对抗网络(DC-GAN)。生成器网络G和鉴别器网络D均根据文本特征执行前馈推理。
在这里插入图片描述
其中,生成器和鉴别器都使用文本编码φ(t)。
生成器G将文本信息经过预处理(卷积循环神经网络文本编码器)得到特征表达,然后将其和噪声向量组合在一起。在上图中蓝色长方体就代表文本信息的特征表达,z对应的白色长方体是噪声向量。将得到的组合向量输入到反卷积网络中,经过多层处理最终得到一幅图像。
判别器D将图像进行卷积操作之后,将文本信息在深度方向上和原图像卷积得到的特征向量组合在一起,最后得到一个二值元,用来判断图像的真假。
3.2、第一个改进:GAN-CLS
GAN-CLS:匹配感知鉴别器。在以前的对抗网络中,判别器D的输入包括两种:正确的图片和其对应的文本,合成的图片和任意文本。那么判别器就要识别出两种情况:一是判别出合成的图片,二是真实图片与不匹配的文本。本文中将D的输入增加了一种:真实图像和错误的文本描述。通过这样的方法,让D能够更好地学习文本描述和图片内容的对应关系。
在这里插入图片描述伪代码为:
在这里插入图片描述
3.3、第二个改进:GAN-INT
GAN-INT:流形插值学习。通过简单地在训练集文本的嵌入之间进行插值来生成大量额外的文本嵌入。关键的是,这些插入的文本嵌入不需要对应于任何实际的书面文本,因此没有额外的标签成本。这是因为深度网络学习到的特征表示具有可插值性。 两个代表不同意义的句子A和B,A和B中间意思的句子C的embedding会和A和B分别的embedding的均值比较接近。 比如“A:一只牛在吃草”和“B:一只鸟在树上”, 深度特征插值后可能出现“C:一只牛在树上”,其与A、B的embedding很接近。
1)融合两个文本的公式:
在这里插入图片描述
beta是融合的比例,论文中取0.5,也就是各个句子融合一半
2)风格迁移公式:
在这里插入图片描述
S提取生成器一张图像的风格信息,得到s(style),其次将随机噪声换成提取到的s,s与embedding(t)输入生成器中,生成某风格下的图像。
四、实验
4.1、数据集
数据集:使用了CUB(鸟)、Oxford-102(花)。CUB分为有150个训练类集合和50个测试类集合,而Oxford-102有82个训练类集合和20个测试类集合。每个图像配有5个对应文本。
4.2、文本特征的预训练
对于文本特征,首先使用了卷积循环神经网络文本编码器进行预训练,即char-CNN+RNN,将其与1024维GoogLeNet图像(Szegedy在2015)嵌入进行结构化联合嵌入。对文本编码器进行预训练的原因只是为了提高训练其他组件的速度,以便更快地进行实验。
4.3、训练过程
训练图像大小设置为64×64×3。文本编码器产生1024维嵌入,在深度连接到卷积特征映射之前,在生成器和鉴别器中投影到128维。采取交替步骤更新生成器和鉴别器网络,学习率设置为0.0002,使用了ADAM solver(动量0.5),生成器的随机噪声从100维单位正态分布取样。Minibatch的大小为64,训练了600个epoch。
4.4、实验结果
在这里插入图片描述
在这里插入图片描述
4.5、分离内容和风格
所谓内容,我们指的是鸟本身的视觉属性,如身体的形状、大小和颜色。所谓风格,我们指的是图像中所有其他变化因素,如背景颜色和鸟的姿势。文本嵌入主要包括内容信息,通常与样式无关,GAN使用随机噪声来制作风格。使用K-means将图像分组为100个簇,其中来自同一簇的图像共享相同的样式。相同风格(例如相似姿势)的图像之间的相似性应高于不同风格的图像之间的相似性。GAN-INT、GANINT-CLS的模型在这项任务中表现最好。
在这里插入图片描述
文章把图像根据图的背景色,鸟或者花的姿态利用k-means聚成了100个类。用训练的CNN网络用G生成的图片预测style,并计算style和其同类与不同类图像的cos相似度。从下图中可看出,文本caption表现出一条直线,说明文本和图像的style是完全没有关系的(ROC曲线越是靠近左上角,灵敏度越高,误判率越低,则诊断方法的性能越好)
在这里插入图片描述
4.6、流形插值的结果
通过插值学习的文本流形,通过控制插值可以准确反映颜色信息,例如鸟类从蓝色变为红色,而姿势和背景不变。通过控制两个噪声向量之间进行插值,并保持内容固定,生成两种样式之间平滑过渡的鸟类图像。如下图,左图是保证随机噪声不变,改变两个句子的权重大小(即内容变、风格不变)。右图是保证句子不变,对两个随机噪声做插值(即内容不变风格变)。
在这里插入图片描述
4.7、泛化性
作者为了测试泛化性,在MS-COCO数据集上面进行了训练测试。从远处看,结果令人鼓舞,但经过仔细观察,很明显,生成的场景通常不连贯。
在这里插入图片描述
4.8、实验结论
开发了一个简单有效的模型,用于根据详细的视觉文本描述生成图像。我们证明了该模型可以合成给定文本标题的许多合理的视觉解释。我们的流形插值正则化器大大改进了CUB上的文本到图像合成。我们展示了风格和内容的分离,以及从查询图像到文本描述的鸟姿和背景转换。最后,我们用MS-COCO数据集上的结果证明了我们生成具有多个对象和可变背景的图像的方法的通用性。
五、心得
这篇文章是用GAN做文本生成图像的开山之作,作者使用了卷积循环神经网络文本编码器+深度卷积生成对抗网络(DC-GAN)。在此基础上,作者还做了三点改进:
1)GAN-CLS:匹配感知鉴别器,其加入一组:真实图像和错误的文本描述的输入,通过这样的方法,让D能够更好地学习文本描述和图片内容的对应关系。
2)GAN-INT:流形插值学习,在训练集文本的嵌入之间进行插值,增加文本的变化,从而让G具有更强大的生成能力。
3)分离内容和风格:使用随机噪声来制作风格,使用K-means将图像分组为100个簇进行风格阐述。让z能够特征化风格,从而解决文本描述本身不对风格进行任何阐述的问题,随机化的z可以加入不同的风格,从而增加生成样本的真实性与多样性。
补充知识点:
受试者工作特征曲线 (receiver operating characteristic curve,简称ROC),又称为感受性曲线(sensitivity curve)。ROC曲线下面积(the area under the ROC curve, AUC)是指ROC曲线与x轴、x=1围绕的面积,只要ROC曲线下面积大于0.5,就证明该诊断试验具有一定的诊断价值。同时,AUC越接近1证明诊断试验的真实性越好。ROC曲线越是靠近左上角,灵敏度越高,误判率越低,则诊断方法的性能越好。可知ROC曲线上最靠近左上角的ROC曲线上的点其灵敏度和特异性之和最大。
扩展阅读
下一篇:Text to image论文精读 StackGAN:Text to Photo-realistic Image Synthesis with Stacked GAN具有堆叠生成对抗网络文本到图像合成
阅读指南:2016~2021 文字生成图像 Text to image(T2I)阅读路线和阅读指南
2021文本生成图像最新综述 阅读报告:Adversarial Text-to-Image Synthesis: A Review