解读生成对抗网络(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小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...
随机推荐
- Ubuntu systemctl 查看管理系统启动项
Ubuntu systemctl 查看系统启动项 列出所有启动项: sudo systemctl list-unit-files 会列出开启的和未开启的: 使用grep过滤一下开启的grep enab ...
- scrapy 基础组件专题(三):爬虫中间件
一.爬虫中间件简介 图 1-1 图 1-2 开始这一张之前需要先梳理一下这张图, 需要明白下载器中间件和爬虫中间件所在的位置 下载器中间件是在引擎(ENGINE)将请求推送给下载器(DOWNLOADE ...
- POJ 1047 Round and Round We Go 最详细的解题报告
题目链接:Round and Round We Go 解题思路:用程序实现一个乘法功能,将给定的字符串依次做旋转,然后进行比较.由于题目比较简单,所以不做过多的详解. 具体算法(java版,可以直接A ...
- 数据清洗与准备知识图谱-《利用Python进行数据分析》
所有内容整理自<利用Python进行数据分析>,使用MindMaster Pro 7.3制作,emmx格式,源文件已经上传Github,需要的同学转左上角自行下载或者右击保存图片.
- Elasticsearch从入门到放弃:再聊搜索
在前文中我们曾经聊过搜索文档的方法,Elasticsearch 一般适用于读多写少的场景,因此我们需要更多的关注读操作. Elasticsearch 提供的 Search API 可以分为 URI S ...
- disconf原理解析
前有了解过disconf,也知道它是基于zookeeper来做的,特意写了文章记录下自己的见解.如有错误,欢迎指正. 1.disconf-web会在启动时,将自身的host和配置文件注册到zookee ...
- 阿里面试官:这些软件测试面试题都答对了,I want you!
[ 你悄悄来,请记得带走一丝云彩 ] 测试岗必知必会 01请描述如何划分缺陷与错误严重性和优先级别? 给软件缺陷与错误划分严重性和优先级的通用原则: 1. 表示软件缺陷所造成的危害和恶劣程度. 2. ...
- 事件循环 event loop 究竟是什么
事件循环 event loop 究竟是什么 一些概念 浏览器运行时是多进程,从任务管理器或者活动监视器上可以验证. 打开新标签页和增加一个插件都会增加一个进程,如下图:  浏览器渲染进程是多线程,包 ...
- T2 监考老师 题解
第二题,他并不是多难的算法.甚至连搜索都不用,他的题目要求和数据断定了他第二题的地位. 在一个大试场里,有 n 行 m 列的考生,小王和众多同学正在考试,这时,有一部分考生 作弊,当然,监考老师能发现 ...
- pom.xml文件中的parent标签
基本概念 maven的核心就算pom.xm,使用maven是为了更好地帮项目管理包依赖.如果要引入一个jar包,需要在pom文件中加上 <dependency> <groupId&g ...