Text to image论文精读 AttnGAN: Fine-Grained TexttoImage Generation with Attention(带有注意的生成对抗网络细化文本到图像生成)

简介: 这篇文章提出了一种注意力生成对抗网络(AttnGAN),它允许注意力驱动、多阶段细化细粒度文本到图像的生成,此外,还提出了一种深度注意多模态相似性模型来计算细粒度图像-文本匹配损失以训练生成器,进而生成更逼真的图像。文章被2018年CVPR(IEEE Conference on Computer Vision and Pattern Recognition)会议收录。论文地址: https://arxiv.org/pdf/1711.10485.pdf代码地址: https://github.com/taoxugit/AttnGAN本博客是精读这篇论文的报告,包含一些个人理解、知识拓展和

@[TOC](AttnGAN: Fine-Grained TexttoImage Generation with Attention(带有注意的生成对抗网络细化文本到图像生成))

这篇文章提出了一种注意力生成对抗网络(AttnGAN),它允许注意力驱动、多阶段细化细粒度文本到图像的生成,此外,还提出了一种深度注意多模态相似性模型来计算细粒度图像-文本匹配损失以训练生成器,进而生成更逼真的图像。

文章被2018年CVPR(IEEE Conference on Computer Vision and Pattern Recognition)会议收录。

论文地址: https://arxiv.org/pdf/1711.10485.pdf

代码地址: https://github.com/taoxugit/AttnGAN

本博客是精读这篇论文的报告,包含一些个人理解、知识拓展和总结。

一、摘要

在本文中,我们提出了一种注意力生成对抗网络(AttnGAN),它允许注意力驱动、多阶段细化细粒度文本到图像的生成。通过一种新的注意生成网络,AttnGAN可以通过关注自然语言描述中的相关词语,合成图像不同子区域的细粒度细节。此外,本文还提出了一种深度注意多模态相似性模型来计算细粒度图像-文本匹配损失以训练生成器。AttnGAN显著优于之前的最新水平,在CUB数据集上,最佳报告初始得分提高了14.14%,在更具挑战性的COCO数据集上,提高了170.25%。通过可视化AttnGAN的注意层,也可以进行详细的分析。这是第一次表明分层注意GAN能够自动选择单词级的条件来生成图像的不同部分。

二、关键词

Deep Learning, Generative Adversarial Nets, Image Synthesis, Computer Vision

三、为什么提出AttnGAN?

传统文本生成图像方法是将整个文本描述编码为全局句子向量,作为基于GAN的图像生成的条件,这种方法在全局句子向量上调节GAN,缺乏单词级的重要细粒度信息。

四、主要原理

主要原理跟StackGAN++差不多,也是多阶段图像生成,但是在其中引入注意力机制。AttnGAN主要是以GAN、CNN、Decnn、LSTM、Attention等机制模块组成的一个复杂网络,模型最简单的模型就是LSTM+CNN,做的事情就是:

  1. 将文本embedding得到word features和sentence features(利用到了LSTM);
  2. 利用sentence features生成一个低分辨率的图像(这一步与stackGAN差不多);
  3. 在低分辨率的图像上进一步加入word features和sentence features来生成更高分辨率的图像。

网络由三大模块组成:LSTM网络,生成器网络、判别器网络。

4.1、两大核心组成

AttnGAN创新主要在于两大组成部分:注意力生成网络和DAMSM

注意力生成网络:生成网络中的引入的注意机制使AttnGAN能够在单词的水平上实现单词与图片中的某个子区域的映射,自动选择字级条件以生成图像的不同子区域

DAMSM:能够计算细粒度文本图像匹配损失,其仅应用于最后一个生成器的输出,有利于生成更高质量的图片。

4.2 、损失函数

最终设计模型的损失函数为:

L=LG+λLDAMSM, where LG=i=0m1LGi

其中,λ是平衡因子,G的损失函数LG为:

LGi=unconditional loss 21Ex^ipGi[log(Di(x^i)]conditional loss 21Ex^ipGi[log(Di(x^i,eˉ)],

D的损失函数LD为:

LDi=unconditional loss 21Exipdata i[logDi(xi)]21Ex^ipGi[log(1Di(x^i)]+conditional loss 21Exipdata i[logDi(xi,eˉ)]21Ex^ipGi[log(1Di(x^i,eˉ)]

可以看出,总损失的第一项LG,原理与StackGAN中的无条件+有条件结构相似,无条件损失确定图像是真实的还是假的,条件损失确定图像和句子是否相符。

没看StackGAN++可以点击->:Text to image论文精读 StackGAN++

而损失函数的第二项LDAMSM是由DAMSM计算的字符级细粒度图像-文本匹配损失,这部分在本博文的第七节中介绍。

五、框架分析

在这里插入图片描述

整个模型分三大块:

  1. 最左边文本编码器(LSTM)+最右边的图像编码器组合
    文本编码器利用注意力机制对文本进行编码,输出sentence feature和word feature,其中sentence feature:取LSTM最后一个状态的输出,作用是当作生成器的控制信息;word feature:取中间隐藏状态的输出,用来确定图片与句子的一致性。图像编码器采用卷积神经网络(CNN)将图像映射到语义向量。
  2. 中间橘色框注意力生成网络,生成器接收的是sentence feature,生成具有句子特征的图片,从第二个生成器开始加入注意力机制,注意力机制接收的是生成器输出的h0矩阵以及word feature矩阵,输出是一个矩阵作为下一个生成器的输入。每个生成器由上采样、残差网络、全连接、卷积组成。
  3. 下方的判别器,输入是sentence feature和该阶段生成器生成的图片,判断图片与句子的相符性。

六、生成网络中的注意力机制

6.1、生成网络注意力框架

在这里插入图片描述

F^attn^、F^ca^、Fi、Gi都是神经网络模型

F_i^attn^是第i阶段的注意力模型,F^ca^是条件增强模块,Conditioning

Augmentation其将句子向量e^-^转换为条件向量) ,z是随机噪声,e是句子向量的矩阵,e^-^表示全局句子向量

6.2、实现细节

2.1、第一步

在这里插入图片描述

编码后的F^ca^ 通过F0, h0=F0 (z,F^ca^(e^-^ )) ,F0通过一个FC层和若干上采样层将输入的向量转换成指定维数。

hi=Fi(hi1,Fiattn(e,hi1)) for i=1,2,,m1Fattn(e,h)=(c0,c1,,cN1)RD^×N

其中,Fi^attn^的输入有两个,维数为D×T的单词特征e和维数为D^-^×N的上一隐藏层中的图像特征h,h的每一列是图像每个子区域的特征向量。Fi^attn^输出为c,c_i表示为第i个子区域的单词上下文向量。

6.2、第二步

对输入图片的每一部分,匹配最相关的单词向量来约束其生成,增加图像的细粒度细节。匹配图像子区域和最相关的单词公式如下:

cj=i=0T1βj,iei, where βj,i=k=0T1exp(sj,k)exp(sj,i)

其中sj,i=hjTei

而β(i,j)表示    第i个单词对生成图像的第j个区域的重要程度。

6.3、第三步

通过将图像特征和相应的单词上下文特征结合起来生成图像,将生成的图像和sentence feature输入到D中训练。

在这里插入图片描述

七、DAMSM (Deep Attentional Multimodal Similarity Model)

7.1、DAMSM框架

在这里插入图片描述

DAMSM主要有两个神经网络,文本编码器和图像编码器。其将句子的图像和单词的子区域映射到一个公共语义空间,从而在单词级别测量图像-文本相似度,以计算图像生成的细粒度损失。

文本编码器:采用双向长短期记忆网络(LSTM)

图像编码器:采用卷积神经网络(CNN),将图像映射到语义向量

7.2、实现细节

7.2、第一步

根据图像和文本之间的注意模型来衡量图像-句子对的匹配程度,首先计算相似矩阵:

s=eTv

其中,s∈R^(T*289)^。s_ij描述的是文本中第i个单词和图片的第j个区域的点积相似性。v是图像的特征向量,e是单词的特征向量。

将其归一化:

sˉi,j=k=0T1exp(sk,j)exp(si,j)

7.2、第二步

建立一个注意模型来计算每个单词的区域上下文向量:

ci=j=0288αjvj, where αj=k=0288exp(γ1sˉi,k)exp(γ1sˉi,j)

其中ci是与句子第i个单词相关的图像子区域向量表示,其中γ1是一个因素,表示对图像相关子区域特征的关注度。

7.3、第三步

应用余弦相似度定义计算第i个单词与图片的相关性:

R(ci,ei)=(ciTei)/(ciei)

进而得出整个图像与整个文本描述之间的注意力机制图像-文本匹配:

R(Q,D)=log(i=1T1exp(γ2R(ci,ei)))γ21

7.4、损失函数

对于一个批度文本图片对{[Qi,Di]}Mi=1,有一个后验概率:

P(DiQi)=j=1Mexp(γ3R(Qi,Dj))exp(γ3R(Qi,Di))

   将后验概率引入图像与其相应文本描述匹配的负对数损失函数:

L1w=i=1MlogP(DiQi),L2w=i=1MlogP(QiDi)

   以相同方法得到L1s,L2s

   最终可以得出DAMSM的损失函数为:

LDAMSM=L1w+L2w+L1s+L2s

八、实验

实验数据集:CUB、COCO

定量标准:IS、R-precision

实验效果:

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

九、实验复现

AttnGAN代码复现(详细步骤+避坑指南)

十、相关阅读

下一篇:论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for t2i 用于文本图像合成的动态记忆生成对抗网络

2016~2021 文字生成图像 Text to image(T2I)论文整理 阅读路线和阅读指南

文字转图像专栏

相关文章
|
4月前
|
机器学习/深度学习 人工智能
类人神经网络再进一步!DeepMind最新50页论文提出AligNet框架:用层次化视觉概念对齐人类
【10月更文挑战第18天】这篇论文提出了一种名为AligNet的框架,旨在通过将人类知识注入神经网络来解决其与人类认知的不匹配问题。AligNet通过训练教师模型模仿人类判断,并将人类化的结构和知识转移至预训练的视觉模型中,从而提高模型在多种任务上的泛化能力和稳健性。实验结果表明,人类对齐的模型在相似性任务和出分布情况下表现更佳。
92 3
|
21天前
|
机器学习/深度学习 人工智能 搜索推荐
PaSa:字节跳动开源学术论文检索智能体,自动调用搜索引擎、浏览相关论文并追踪引文网络
PaSa 是字节跳动推出的基于强化学习的学术论文检索智能体,能够自动调用搜索引擎、阅读论文并追踪引文网络,帮助用户快速获取精准的学术文献。
173 15
|
28天前
|
负载均衡 芯片 异构计算
NSDI'24 | 阿里云飞天洛神云网络论文解读——《LuoShen》揭秘新型融合网关 洛神云网关
NSDI‘24于4月16-18日在美国圣塔克拉拉市举办,阿里云飞天洛神云网络首次中稿NSDI,两篇论文入选。其中《LuoShen: A Hyper-Converged Programmable Gateway for Multi-Tenant Multi-Service Edge Clouds》提出超融合网关LuoShen,基于Tofino、FPGA和CPU的新型硬件形态,将公有云VPC设施部署到边缘机柜中,实现小型化、低成本和高性能。该方案使成本降低75%,空间占用减少87%,并提供1.2Tbps吞吐量,展示了强大的技术竞争力。
|
28天前
|
SQL Cloud Native API
NSDI'24 | 阿里云飞天洛神云网络论文解读——《Poseidon》揭秘新型超高性能云网络控制器
NSDI‘24于4月16-18日在美国加州圣塔克拉拉市举办,汇聚全球网络系统领域的专家。阿里云飞天洛神云网络的两篇论文入选,标志着其创新能力获广泛认可。其中,《Poseidon: A Consolidated Virtual Network Controller that Manages Millions of Tenants via Config Tree》介绍了波塞冬平台,该平台通过统一控制器架构、高性能配置计算引擎等技术,实现了对超大规模租户和设备的高效管理,显著提升了云网络性能与弹性。实验结果显示,波塞冬在启用EIP时的完成时间比Top 5厂商分别快1.8至55倍和2.6至4.8倍。
|
3月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
194 3
|
3月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
88 3
|
4月前
|
机器学习/深度学习 编解码 算法
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
117 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
|
3月前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习的奇迹:如何用神经网络识别图像
【10月更文挑战第33天】在这篇文章中,我们将探索深度学习的奇妙世界,特别是卷积神经网络(CNN)在图像识别中的应用。我们将通过一个简单的代码示例,展示如何使用Python和Keras库构建一个能够识别手写数字的神经网络。这不仅是对深度学习概念的直观介绍,也是对技术实践的一次尝试。让我们一起踏上这段探索之旅,看看数据、模型和代码是如何交织在一起,创造出令人惊叹的结果。
56 0
|
2月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
86 17
|
2月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章