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背后的数学理论

百度AI Studio论文精读

解读生成对抗网络(GAN) 之U-GAN-IT的更多相关文章

  1. 生成对抗网络(GAN)

    GAN的全称是 Generative Adversarial Networks,中文名称是生成对抗网络.原始的GAN是一种无监督学习方法,巧妙的利用“博弈”的思想来学习生成式模型. 1 GAN的原理 ...

  2. 不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)【转】

    本文转载自:https://www.leiphone.com/news/201703/Y5vnDSV9uIJIQzQm.html 生成对抗网络(Generative Adversarial Netwo ...

  3. AI佳作解读系列(六) - 生成对抗网络(GAN)综述精华

    注:本文来自机器之心的PaperWeekly系列:万字综述之生成对抗网络(GAN),如有侵权,请联系删除,谢谢! 前阵子学习 GAN 的过程发现现在的 GAN 综述文章大都是 2016 年 Ian G ...

  4. 用MXNet实现mnist的生成对抗网络(GAN)

    用MXNet实现mnist的生成对抗网络(GAN) 生成式对抗网络(Generative Adversarial Network,简称GAN)由一个生成网络与一个判别网络组成.生成网络从潜在空间(la ...

  5. [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述

    Valse 2017 | 生成对抗网络(GAN)研究年度进展评述 https://www.leiphone.com/news/201704/fcG0rTSZWqgI31eY.html?viewType ...

  6. 生成对抗网络(GAN)

    基本思想 GAN全称生成对抗网络,是生成模型的一种,而他的训练则是处于一种对抗博弈状态中的. 譬如:我要升职加薪,你领导力还不行,我现在领导力有了要升职加薪,你执行力还不行,我现在执行力有了要升职加薪 ...

  7. 生成对抗网络(GAN)相关链接汇总

    1.基础知识 创始人的介绍: “GANs之父”Goodfellow 38分钟视频亲授:如何完善生成对抗网络?(上) “GAN之父”Goodfellow与网友互动:关于GAN的11个问题(附视频) 进一 ...

  8. 生成对抗网络(Generative Adversarial Networks,GAN)初探

    1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...

  9. 使用生成对抗网络(GAN)生成手写字

    先放结果 这是通过GAN迭代训练30W次,耗时3小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...

随机推荐

  1. HTB::Postman

    实验环境 渗透过程 0x01 信息搜集 masscan扫描 扫描结果目标服务开放了22(ssh),80(http),6379(redis),10000(webmin)端口 nmap扫描 nmap -s ...

  2. HTML5提高

    HTML5提高 前言 我个人觉得,当你学会了一些最基本的标签其实是够用的,但是在很多网页中可以发现很多新的标签.这个时候不知道它是干嘛的实际上心里是非常没底的,所以在这里我打算写一篇HTML5提高的文 ...

  3. java 面向对象(十六):Object类的使用

    1.java.lang.Object类的说明: * 1.Object类是所Java类的根父类 * 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object ...

  4. 数据可视化之PowerQuery篇(十二)客户购买频次分布

    https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的 ...

  5. bzoj3526[Poi2014]Card*

    bzoj3526[Poi2014]Card 题意: 有n张卡片在桌上一字排开,每张卡片上有两个数,第i张卡片上,正面的数为a[i],反面的数为b[i].有m个操作,第i个操作会交换c[i]和d[i]两 ...

  6. bzoj3062[Usaco2013 Feb]Taxi*

    bzoj3062[Usaco2013 Feb]Taxi 题意: Bessie在农场上为其他奶牛提供出租车服务,她必须赶到这些奶牛的起始位置,并把他们带到它们的目的地.Bessie的车很小,所以她只能一 ...

  7. linux中无法使用vim命令

    报:linux中  vim 不是内部指令! 解决: 1. rpm -qa | grep vim // 查看vim命令在什么软件包 出现 vim-minimal-7.4.160-4.el7.x86_64 ...

  8. 如何写一个自己的HashMap

    想必很多Java工程师出去面试的时候都会被问到HashMap的底层实现原理,很多人觉得没什么必要,反正我会用就行,就我的感觉而言,在初期确实没什么必要,但是站在公司角度想,如果面试者连底层实现都搞定了 ...

  9. Cyber Security - Palo Alto Firewall Objects Addresses, Services, and Groups(2)

    Users Objects and Groups Creating local user objects. Creating local user groups. https://docs.paloa ...

  10. Python Ethical Hacking - WEB PENETRATION TESTING(4)

    CRAWING SPIDER Goal -> Recursively list all links starting from a base URL. 1. Read page HTML. 2. ...