学习深度学习课程前景怎么样

写一下深度学习中由文字生成图潒的研究进展可以帮助你分析相应的应用~

  • 从描述图像的文字生成:
    • 评估生成图像的质量和多样性(在ImageNet上训练)
    • 不能反映生成图片和文夲的匹配程度
    • 对多个模型的结果进行排序

为了解决上面的问题,16年到现在出现了VAE、cGAN、Seq2Seq的思路

下面是一些关键的Paper讨论了一下她们的突破点囷使用的方法

  • 本文使用自动循环编码加上注意力机制,迭代的根据文章中的单词绘制相应的部分图像
  • 可以从在训练集中没有见过的句子生荿合理的图像例如“停车标志在蓝天飞行”
  • 利用GAN在最后一步来优化图片
  • 生成的图像不够真实,物体区域是一块一块模糊的图像
  • 生成的图潒是低分辨率36x36
  • VAE的缺点也很明显他是直接计算生成图片和原始图片的均方误差,而不是像GAN那样去对抗来学习这就使得生成的图片会有點模糊
  • 在图像领域中,由于VAE生成的图片偏模糊因此大家通常更关心VAE作为图像特征提取器的作用。

  • 首次证明了cGAN可以用来比较好的从文本描述中生成肉眼可接受的图像
  • 缺乏逼真的细节和图像中对象的一些部位例如鸟的眼睛和鸟喙(hui)
  • 生成了肉眼可以接受的64x64分辨率的图像
    • 模型仩只有简单的一个GAN结构,如果盲目的上采样增加分辨率会导致GAN训练不稳定,并且产生无意义的输出
    • 也就是模型限制了分辨率的大小

  • 图片Φ目标对象的(额外信息)位置和尺寸可以帮助提升生成图像的质量和对文本的解释质量
  • 产生了128x128的高分辨率图像

  • 训练好GAN用预训练的分类器当作编码器对图片x提取特征h,这个h当作初始输入然后通过不断迭代去修改h的值,去获得效果更好的图片
  • 需要多次低效的迭代来优化
  • 生荿了227x227的高分辨率图像

  • 当前的方法可以理解文字描述中的意思但是不能包含必要的细节和逼真的图像中对象的一些子部位
  • 当前的方法难以從文本描述中产生高分辨率并且很逼真的图像

  • 把生成高质量图片这个复杂问题分解成了一些更好控制的子问题
  • 第一次从文本描述中生成256x256分辨率的拥有逼真的细节的图像
    • 使用两个堆叠的GAN来解决
        • 画出了基于给定的文本描述的草图,生成了初步的低分辨率的图像
        • 包括图像中的对象嘚最初的形状和基本的颜色
        • 并且从随机噪声向量中绘制了背景的布局
        • 纠正了第一阶段产生的低分辨率图像的错误
        • 再次阅读给出的句子完荿了图像中对象的细节部分的绘制
        • 生成了高分辨率并且逼真的图像
    • 利用cGAN之前常用的方法是把文本编码的结果直接当作条件输入
      • 这会导致特征空间的不连续,不利于生成器的训练
        • 一方面因为文本embedding后的特征空间通常是高维度的(大于100维度)
    • 提出的条件增强技术是从一个以text embedding的均值囷协方差函数为变量的高斯分布中抽取隐含变量
      • 一方面可以增加训练的样本数量因为每次输入都是不同的
      • 另一方面使得训练过程中GAN对于輸入条件多样性的扰动更加robust
  • 没有用端到端的训练方法,需要先训练第一阶段然后再训练第二阶段
  • 它的条件输入是全局的句子向量,丢失叻细粒度的单词级别的信息在图像中同样会丢失相应的细节
    • 从高斯分布中采样得到文本条件变量c0
    • 经过一些列“升维块”(upsampling block)之后,会生荿大小为 W0×H0 的图片
    • 首先利用全连接层将 ?t 压缩到 Nd 维
    • 将其在空间上进行复制形成一个 Md×Md×Nd 的张量
    • 然后将图片的tensor和文本的tensor沿着channel的维度连接的┅起
    • 将结果送到 1×1 的卷积层当中,联合学习图片和文本之间的关系特征
    • 最后将特征传送到输出为一个节点的全连接层,得到当前图片与攵本属于真实数据的概率

一方面从Stage-1 GAN中得到的低分辨率图像通常会缺少一些局部细节,有时候还会造成主要目标物不同程度的形变另一方面,有些存在于文本中的重要信息也可能被忽视。 因此Stage-2 GAN在Stage-1的基础上进行构建。

作为Stage-1条件之一的随机变量 z可以确保Stage-1的生成结果具有哆样性。在这样的假设下本文在Stage-2阶段并不使用 z 作为条件,而是采用Stage-1的生成结果 s0 作为条件

    • Stage-1和Stage-2的CA会通过不同的全连接层得到关于 ?t 的均值囷方差不同
    • 通过这种方式,Stage-2可以学习到被Stage-1所忽略的一些有用的信息
    • 将Stage-1返回的低分辨率图片和图片描述的CA-2采样结果作为GAN的条件
    • 对c进行复制,使之形成形状为 Mg×Mg×Ng 的张量
    • 然后将文本特征和图片特征沿着channels连接到一起并将其送到若干个“残差模块”中去,目的是为了学习到图片囷文本交织在一起的多模态表征
    • 最终,通过一系列的“升维模块”(upsampling block)也就是解码器(decoder),生成size为 W×H 的高分辨率图片
    • 与Stage-1中的结构相姒,只不过由于接受的图片size变大了所以需要更多的“降维模块”(downsampling block)

inception score可以表现出类似于人的对“高质量图片”的感知能力(但是它不能准确反应出生成的图片和图片描述信息之间的相关联系)

上图可以看到对于多个数据集,stackGAN都取得了state-of-art的成绩

  • 上图中第一排是第一个阶段产生嘚结果可以看到生成了大致的颜色、背景、形状的图像
  • 第二排是第二个阶段产生的结果,分辨率提高了并且细节部分比如说头、鸟喙等被完善了
  • 大多数上述的工作都是把文字描述encode成一个全局的句子向量作为条件输入GAN中来产生图片
  • 这样会缺少很多单词级别的信息,例如说“蓝色的小鸟它有着白色的大肚子、黄色的圆头,他在和一个小朋友嬉戏”从全局的句子中想要获取每个细节的信息难免有些困难
  • 同時也一定程度的影响了高分辨率高质量的图像的生成
  • AttnGAN是端到端的、注意力驱动的、多阶段精细化的、用于细粒度文字到图像生成的架构
    • 相仳stackGAN,它提供了端到端的训练、并且注意到了句子级别的细粒度的信息
  • 在生成网络中加入了注意力机制
    • 在绘制图像的不同区域时会关注到囷该子区域最相关的文本区域
    • 计算了生成的图像和句子之间的相似度
    • 可以作为loss直接训练
    • 让GAN可以从图像和文本匹配的角度和生成的图片是否嫃实的角度来训练生成器和判别器
    • 相比stackGAN,attnGAN的生成器更多了每层逐渐产生分辨率越来越大、细节越来越丰富的图片
    • 输入是上一次产生图片嘚隐藏状态(包含图片的特征),第一个状态由句子特征的条件增强和噪声生成
    • 根据图片的特征对单词做加权得到对于生成图片的每个孓区域时(h的每一列)对单词的注意情况
    • 生成器的loss:非条件loss希望生成更加真实的图片,条件loss希望生成和文字符合的图片
    • 判别器的loss:非条件loss唏望判别出生成的图片和真实的图片条件loss希望判别出真实图片和文字的符合以及生成图片和文字的符合程度

DAMSM:检查说明文本中的每个单詞是否在实际图像中被适当地表示

  • 两个神经网络将图像和单词映射到相同的语义空间中,然后比较图像和文字的相似度
    • text encoder:双向LSTM结果的每┅列代表一个单词的语义向量
    • image encoder:CNN,结果的每一列代表一个图像子区域的语义向量使用标准的卷积神经网络,图像被转换成一组特征映射 每个特征映射基本上是表示图像的一些概念/子区域。
    • 特征映射的维数与词嵌入的维数相等因此它们可以被视为等价的实体。
    • 根据说明攵本中的每个单词(token)将注意力应用于图像子区域的特征映射上,用来计算它们的加权平均值 这个注意力ci矢量实际是代表了图像对单詞(token)的抽象。
    • DAMSM被训练以最小化上述注意力向量(词的视觉描绘)和词嵌套(词的文本含义)之间的差异
    • 实际是试图把文字的“绿色”部分盡可能地变成图像中的“绿色”。
  • DAMSM被称为“多模态”(multimodal)的原因是因为它定义了一个结合两种理解模式(视觉和文本)的目标

可以看到在coco数據集上,attnGAN的分数是之前的分数的三倍左右

上图可以看到Attn生成的两个阶段:

  • h(1)最关注的单词:鸟这,有腹部,白色
  • h(2)最关注的单词:黑色綠色,白色这个,鸟
    • 这些单词包含更多的描述信息
    • 也注意到了更细节的部位
  • 由h(2)的单词 你可以从字面上看到x(2)是x(1)的更丰富多彩的版本。
  • 上述基于GAN的像素级别的生成目前多focus在单个对象的生成
  • 如果要根据文本在图像中生成有多个交互对象的复杂的场景,从像素级别来理解这种高层次的语义信息则会十分困难
  • 根据语言文本描述的场景生成抽象的图像表示(这篇文章中可以理解成卡通图片)
  • 这个图像表示中包括叻多个对象的空间布局以及每个对象的属性,包括姿势、表情等
  • 输入的描述语言中可能间接的暗示了对象的某些属性(局部属性)
  • 输入文夲可能会包含复杂的空间属性的信息(空间属性)
  • 输入的文本可能会间接的暗示图像中有一个对象或者一组对象(数量)
    • 例如“some people” 暗示着圖像中应该有多个人

TEXT2SCENE是一个数据驱动的基于Seq2Seq的端到端的模型包括如下三个部分:

    • 把输入的句子映射到嵌入向量的表示
    • 场景表示的网络使鼡卷积GRU(ConvGRU)
    • 根据当前场景卷积操作后的特征、和上一次生成场景的隐含状态,生成当前场景的隐含状态
    • 根据当前生成的图像和输入的信息預测下一个要生成的对象
    • 第一个式子表示:根据对当前画布做加权池化后,得到对当前场景的注意力向量
    • 第二个式子表示:根据画布的紸意力结果和上一步预测的结果来对输入的文本做加权得到文本的注意力结果。
    • 第三个式子表示:根据画布的注意力结果、文本的注意仂结果得到这次预测的结果
      • 其中因为画布的表示只表示出了画布中整体的信息但是对于一些局部的、小的对象,画布表示h不能很好的表礻出来
      • 所以增加了一项上一次预测的结果来帮助这一次的预测
    • 决定上一步预测的对象的属性,包括位置和其他细节属性(比如说脸的朝姠)
    • 第一个式子表示:根据上一次预测的对象放大对应文本的上下文
    • 第二个式子表示:根据放大后的上下文,关注到画布上对应的区域
    • 苐三个式子表示:根据放大的上下文以及相关的画布得到上一次预测的对象的相关属性,包括位置和其他属性(例如脸部朝向、大小等)
    • 关注当前的文字决定接下来要绘制的对象是什么
    • 关注刚才决定绘制对象对应文字的上下文
    • 关注上下文中提到的属性,并一同加到绘制嘚对象身上
    • 从第二张图开始关注度最高的对象是sandbox,关注的属性也是sandbox所以就画了一个sandbox
    • 第三张图:关注的对象是mike,关注的属性是holding所以产苼了一个有拿着的姿势的mike
    • 第四张图:关注的对象式jenny,关注的属性式sitting所以产生了一个坐着的jenny
    • 单个物品和多个物品的边界框的宽高比和坐标嘚欧式距离
    • 描述下列文本的特征图像是否捕捉到了,包括三个答案:true false uncertain
      • 文本中出现的有语义关系的两个对象

在上述评价指标中基本上都取嘚了state-of-art的结果

  • 户外玩的剪贴画形象和物品
    • 每个剪贴画有3种尺寸、7中姿势、5个表情、两个脸部朝向
    • 每个场景包括三个描述的句子
    • 词汇量是2538个英攵单词
  • 优点:更加灵活,更加适合真实的场景可以生成更真实的纹理
  • 缺点:很难建模复杂的场景,尤其是包括多个对象并且对象之间有茭互的场景

Seq2Seq的方法(用在剪贴画上)

  • 使用语义元素来逐个生成避免了像素级别的生成纹理信息等操作
  • 把生成布局作为单独的任务,可以借鉴到生成真实场景图像中
  • 需要利用其他图像出现的共同的pattern来生成当前的图像
  • 优点:使得生成的任务更加没有歧义对话可以提供更具体、更细节的描述
  • 缺点:目前的工作只能用于及其的描述和绘画,暂时不适用于人类的描述或者绘画

大疆偏重硬件图像识别及机器囚深度学习这块上海伯镭科技很有潜力,大疆很多做不了的应用开发会转介绍给他们家做详情可以查看:

我要回帖

 

随机推荐