解读生成对抗网络(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小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...
随机推荐
- 数据可视化之powerBI技巧(十七)在Power BI中对数据进行分组
根据某一个维度的数据,进行分组统计,是很常见的做法,比如按年龄对客户进行分组,按考试成绩进行分组统计等,这篇文章介绍一下,在PowerBI中如何对数据进行分组. 在PowerQuery编辑器中分组 在 ...
- 数据可视化之分析篇(十)Power BI应用:如何计算在职员工数量?
https://zhuanlan.zhihu.com/p/128652582 经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有 ...
- 【C#】WebService接受跨域请求及返回json数据
问题概述 通过Web Service发布服务供客户端调用是一种非常简单.方便.快速的手段,并且服务发布后会有一个服务说明页面,直观明了,如图: 一般情况下,在web页面中的JavaScript中调用W ...
- MySql-Binlog协议
MySQL主备复制原理 MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events,可以通过 show binlog e ...
- Java8之Stream 集合聚合操作集锦(含日常练习Demo)
Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找.遍历.过滤以及常 ...
- Lucas定理 & Catalan Number & 中国剩余定理(CRT)
又双叒叕来水数论了 今天来学习\(Lucas \:\ \& \:\ Catalan Number\) 两者有着密切的联系(当然还有CRT),所以放在一起学习一下 \(Lucas\) 定义\(\ ...
- Linux文件搜索
一.whereis及which命令 这两个命令用来搜索命令的路径(也遵循/etc/updatedb.conf配置文件的筛选规则) whereis 命令名 ...
- Python学习周期 学习Python要多久?
学习python编程需要多长时间?首先我们需要明确一点,在互联网技术领域,技术始终在不断的迭代升级,只要进入IT行业就要时刻保持学习的状态,才能不被技术进步的车轮碾压.我们目前讨论的python学习周 ...
- Horse Pro(带负坐标的bfs搜索)
Horse Pro bfs搜索,但图中存在负值坐标,两种方法解决. 用数组标记,将原点设为300,300 用map标记 http://oj.jxust.edu.cn/contest/Problem?i ...
- vue学习(五) 访问vue内部元素或者方法
//html <div id="app"> <input type="button" value="ok" v-bind: ...