解读生成对抗网络(GAN) 之U-GAN-IT
Unsupervised Generative Attentionnal Networks with Adapter Layer-In(U-GAN-IT)
从字面我们可以理解为无监督生成对抗网络和适配层的结合
论文实现:
- 论文实现了无监督图像的翻译问题,当两个图像之间两个图像、纹理差别较大时的图像风格(style)转换。
- 论文实现了相同的网络结构和超参数同时需要同时保持shape的图像翻译I(类似风格迁移但是图像本身形状这些原始shape不变),以及需要改变shape的图像翻译任务(个人观点,跨domain)

图1:风格迁移(horse2zebra)

图2跨domain的图像翻译(cat2dog)
创新:
在于这篇论文新增加了一个新的注意模块(attention):辅助分类器和一个可以自主学习的规范化函数(自适应的归一化方式)AdaLIN,使得该模型具有更优越性。
- attention:增强判别器的鉴别能力,更好的区分原始图像和生成图像
- 自适应的归一化AdaLIN:增强鲁棒性
得到了在固定网络结构和超参数下保持形状(如horse2zebra)和改变形状(如cat2dog)的图像转换的预期结果。需要针对特定数据集调整网络结构或超参数设置。在这项工作中,我们提出了一种新的无监督图像到图像的翻译方法,它以端到端的方式结合了一个新的注意模块和一个新的可学习的规范化函数。我们的模型根据辅助分类器获得的注意图,通过区分源域和目标域,引导翻译关注更重要的区域而忽略次要区域。这些注意映射被嵌入到生成器和鉴别器中,以集中在语义上重要的区域,从而便于形状转换。而在生成器中的注意图将焦点诱导到专门区分这两个域的区域,而鉴别器中的注意映射通过聚焦目标域中真实图像和假图像的差异来帮助微调。除了注意机制外,我们还发现,对于形状和纹理变化量不同的数据集,归一化函数的选择对转换结果的质量有显著影响。受批处理实例规范化(BIN)(Nam&Kim(2018))的启发,我们提出了自适应层实例规范化(AdaLIN),该方法通过自适应选择实例规范化(IN)和层规范化(LN)之间的比例,在训练过程中从数据集学习参数。AdaLIN函数帮助我们的注意力引导模型灵活地控制形状和纹理的变化量。不需要改变模型的整体形状,也不需要改变模型的整体形状。实验结果表明,与现有的模型相比,本文提出的方法在风格转换和物体变形方面都具有优势。拟议工作的主要贡献可概括如下:

图3.生成器和判别器工作流程
AdaLIN:

层级归一化Layer Norm(LN),更多考虑特征输入通道之间的相关性,自适应实例级归一化(IN)更多考虑的是单个特征通道的内容,可以更好地保存源图像的语义信息,但是对于风格转换不彻底。所以本论文将两者相结合,并且做了很多实验从实验数据我们可以看到这种学习方法,证明实验可用性。
Ateention:
图三中我们可以分析出该神经网络的流程,首先经过一个编码器获得图片特征,编码器由上采样和残差block结构组成,然后经过全连接层获得一个预测E然后乘以权重之后经过attention之后的特征图经过解码(dencoder)之后获得最后的图片。
数据验证:

前置内容:
GAN的基本思想
纳什均衡,也叫非合作博弈均衡。

Pdata(x) = Pgen(x) ∀x
D(x) = 1/2 ∀x
理解起来就是生成器的生成图片能够让判别器判别不出来为最终目的,通过一个数据样本的潜在分布生成一个新的数据样本,这和VAE(变分自编码器)是很相似的。
CycleGAN:
本篇论文应对cycleGAN有一个前置了解,本篇论文的网络结构基于cycleGAN

x生成y,y反循环给x,确保F(G(X))≈X。
分析:
我们复现论文可以从以下几点考虑
1. 该模型基于cycleGAN,所以应该对cycleGAN深入了解
2.关于attention以及AdaLIN自适应的使用
git:https://github.com/znxlwm/UGATIT-pytorch
参考出处:
李宏毅GAN2018笔记 | GAN背后的数学理论
解读生成对抗网络(GAN) 之U-GAN-IT的更多相关文章
- 生成对抗网络(GAN)
GAN的全称是 Generative Adversarial Networks,中文名称是生成对抗网络.原始的GAN是一种无监督学习方法,巧妙的利用“博弈”的思想来学习生成式模型. 1 GAN的原理 ...
- 不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)【转】
本文转载自:https://www.leiphone.com/news/201703/Y5vnDSV9uIJIQzQm.html 生成对抗网络(Generative Adversarial Netwo ...
- AI佳作解读系列(六) - 生成对抗网络(GAN)综述精华
注:本文来自机器之心的PaperWeekly系列:万字综述之生成对抗网络(GAN),如有侵权,请联系删除,谢谢! 前阵子学习 GAN 的过程发现现在的 GAN 综述文章大都是 2016 年 Ian G ...
- 用MXNet实现mnist的生成对抗网络(GAN)
用MXNet实现mnist的生成对抗网络(GAN) 生成式对抗网络(Generative Adversarial Network,简称GAN)由一个生成网络与一个判别网络组成.生成网络从潜在空间(la ...
- [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述
Valse 2017 | 生成对抗网络(GAN)研究年度进展评述 https://www.leiphone.com/news/201704/fcG0rTSZWqgI31eY.html?viewType ...
- 生成对抗网络(GAN)
基本思想 GAN全称生成对抗网络,是生成模型的一种,而他的训练则是处于一种对抗博弈状态中的. 譬如:我要升职加薪,你领导力还不行,我现在领导力有了要升职加薪,你执行力还不行,我现在执行力有了要升职加薪 ...
- 生成对抗网络(GAN)相关链接汇总
1.基础知识 创始人的介绍: “GANs之父”Goodfellow 38分钟视频亲授:如何完善生成对抗网络?(上) “GAN之父”Goodfellow与网友互动:关于GAN的11个问题(附视频) 进一 ...
- 生成对抗网络(Generative Adversarial Networks,GAN)初探
1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...
- 使用生成对抗网络(GAN)生成手写字
先放结果 这是通过GAN迭代训练30W次,耗时3小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...
随机推荐
- python 爬虫:HTTP ERROR 406
解决方法: 设置了Accept头后解决了,但是还是不知道原因 headers:{ Accept:"text/html, application/xhtml+xml, */*" }原 ...
- python 迭代器(三):迭代器基础(三)典型的迭代器
标准迭代器 示例 14-4 sentence_iter.py:使用迭代器模式实现 Sentence 类 import re import reprlib RE_WORD = re.compile('\ ...
- redis未授权访问简单总结
redis环境搭建 下载有漏洞的redis版本 wget http://download.redis.io/releases/redis-3.2.11.tar.gz 编译文件 make 进入src目录 ...
- Mesos+Zookeeper+Marathon+Docker环境搭建
相关理论请参考:https://www.cnblogs.com/Bourbon-tian/p/7155054.html,本文基于https://www.cnblogs.com/Bourbon-tian ...
- Python Ethical Hacking - Intercepting and Modifying Packets
INTERCEPTING & MODIFYING PACKETS Scapy can be used to: Create packets. Analyze packets. Send/rec ...
- 为什么SpringBoot项目里引入其他依赖不要写版本号
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> < ...
- pta习题:退休日期推算
6-3 退休日期推算 (10分) 关于日期的结构定义如下: struct DateG{ int yy,mm,dd;}; 编写两个函数,一个计算自公元1年1月1日到指定的日期共经历了多少天.另一个是 ...
- 题解 CF13E 【Holes】
这个题和$P3203\ $弹飞绵羊基本上完全一致 我的做法是用\(LCT\)维护信息,开一个节点\(fly\),表示到此节点时,小球会弹飞,那么查询弹多少次即为\(siz[fly]-1\) 最后一次落 ...
- SmartMS如何使用二次验证码/虚拟MFA/两步验证/谷歌身份验证器?
一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接 SmartMS如何使用二次验证码/虚拟MFA/两步验证/谷歌身份验证器? 二次验证码小程序于谷歌身份验证器APP的优势 1.无 ...
- Flutter防止布局溢出
添加一层可滑动View(Widget)的布局, 将之前进行包裹: return new Scaffold( appBar: new AppBar( title: new Tex ...