StackGAN 论文阅读笔记(二)

简介: StackGAN 论文阅读笔记(二)

研究成果


Research Results

首次在文本到图像的任务中,生成了256*256分辨率的高质量图像

提出的条件增强方法,能增强模型的鲁棒性并提升生成效果的多样性


成为了文本生成图像任务中的一个里程碑

基于VAE思想的条件增强方法,对之后的研究者造成了一定启发


条件增强


条件增强

Conditioning Augmentation

文本嵌入的隐空间维度通常非常高(> 100),在数据量有限的情况下,这通常会导致隐数据流形中的不连续性


从高斯分布 中随机采样latent code,是关于词向量 的函数



均值μ和方差Σ使用一个全连接层来求解

把KL散度作为一个正则项加入生成器的训练

使用重参化技巧

使用上述的条件增强方法后,可以产生更多的训练数据,使条件流形更加平滑

增加的采样随机性,可以使输入同一个句子时产生不同的输出图像


两阶段的GAN


Stacked GAN



阶段1

从标准高斯分布中采样得到z,与从条件增强方法采样得到的 进行concat作为输入

为文本描述所对应的真实图像,在所有实验中λ都设为1

在判别器中,输入图像经过下采样,最终得到长宽为M的矩阵;而词向量会先经过全连接层来压缩到N维,然后在空间维度上复制变为MMN的矩阵

图像和词向量的矩阵concat到一起,再通过1*1卷积和全连接层得到最终的输出分数


阶段2



把阶段1的输出 与又一次条件增强采样得到的 进行concat作为输入

在生成器中增加了残差block;判别器中的负样本有真实图像-错误文本,生成图像-正确文本两种情况


实现细节

上采样使用最近邻resize + 33卷积

除了最后一层外,在每个卷积层之后都使用了BN和ReLU

在128128的StackGAN中使用了2个残差block,在256256中使用了4个

判别器中,下采样的block使用44步长为2的卷积,除了第一层没使用BN外,别的都使用了BN和LeakyReLU

首先训练阶段1的GAN 600个epochs,接着将其固定,再训练阶段2的GAN 600个epochs

都使用Adam优化器,batch size设为64

初始学习率设为2e-4,之后进行指数衰减,每100个epochs衰减到1/2

目录
相关文章
LaTeX中的多行数学公式
LaTeX中的多行数学公式
3264 0
LaTeX中的多行数学公式
|
NoSQL JavaScript 前端开发
MongoDB系列--深入理解MongoDB聚合(Aggregation )
MongoDB中聚合(aggregate) 操作将来自多个document的value组合在一起,并通过对分组数据进行各种操作处理,并返回计算后的数据结果,主要用于处理数据(诸如统计平均值,求和等)。MongoDB提供三种方式去执行聚合操作:聚合管道(aggregation pipeline)、Map-Reduce函数以及单一的聚合命令(count、distinct、group)。
2023 0
MongoDB系列--深入理解MongoDB聚合(Aggregation )
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
1692 1
|
10月前
|
存储 开发框架 Devops
eino — 基于go语言的大模型应用开发框架(一)
Eino 是一个受开源社区优秀LLM应用开发框架(如LangChain和LlamaIndex)启发的Go语言框架,强调简洁性、可扩展性和可靠性。它提供了易于复用的组件、强大的编排框架、简洁明了的API、最佳实践集合及实用的DevOps工具,支持快速构建和部署LLM应用。Eino不仅兼容多种模型库(如OpenAI、Ollama、Ark),还提供详细的官方文档和活跃的社区支持,便于开发者上手使用。
2244 8
|
人工智能 前端开发 IDE
通义灵码一周年测评:@workspace 和 @terminal 新功能体验分享
作为一名前端开发工程师,我近期体验了通义灵码的@workspace和@terminal新功能。@workspace通过智能解析项目结构,帮助快速上手新项目;@terminal则提供内置命令行环境,简化代码调试和系统管理。这两项功能显著提升了开发效率和代码管理的便捷性,是前端开发的得力助手。
通义灵码一周年测评:@workspace 和 @terminal 新功能体验分享
|
算法
LabVIEW机械臂轨迹跟踪控制
LabVIEW机械臂轨迹跟踪控制
214 3
|
网络协议 算法 网络架构
OSPF 如何计算到目标网络的最佳路径
【8月更文挑战第24天】
303 0
|
消息中间件 网络协议 物联网
如何入门做物联网系统压测?
【4月更文挑战第13天】物联网系统在架构、网络模式、通信协议等方面与传统的互联网系统有所区别。因此,传统的性能测试方法不能直接套用到物联网系统中。
453 2
如何入门做物联网系统压测?
|
存储 前端开发 JavaScript
[初学者必看]JavaScript 简单实际案例练习,锻炼代码逻辑思维
【6月更文挑战第2天】这是一个前端小项目合集,包括图片轮播器、动态列表、模态框、表单验证等14个项目,旨在帮助初学者提升编码技能和实战经验。每个项目提供关键提示,如使用HTML、CSS和JavaScript实现不同功能,如事件监听、动画效果和数据处理。通过这些项目,学习者可以锻炼前端基础并增强实际操作能力。
575 2