精选文章 飞桨PaddlePaddle之论文复现心得 U-GAT-IT

飞桨PaddlePaddle之论文复现心得 U-GAT-IT

作者:cgq081616 时间: 2021-02-05 09:43:24
cgq081616 2021-02-05 09:43:24
【摘要】感谢百度飞桨提供的论文复现营的课程,本人对U-GAT-IT这篇论文很感兴趣。 
论文复现课程链接: 
https://aistudio.baidu.com/aistudio/education/group/info/1340 
selfie2anime数据下载参考下面链接: 
https://blog.csdn.net/KF_Guan/article/details/107859946 
查...

感谢百度飞桨提供的论文复现营的课程,本人对U-GAT-IT这篇论文很感兴趣。

论文复现课程链接:

https://aistudio.baidu.com/aistudio/education/group/info/1340

selfie2anime数据下载参考下面链接:

https://blog.csdn.net/KF_Guan/article/details/107859946

查阅一下资料以及百度大咖对这篇论文的解读,总结一下学习心得。

这篇论文的主要创新点是

1.提出了一种新的无监督图像到图像的翻译方法,该方法具有一个新的注意模块和一个新的归一化函数AdaLIN。
2.注意模块根据辅助分类器获得的注意图,通过区分源域和目标域,帮助模型知道在哪里进行集中转换。
3.AdaLIN 功能帮助注意力引导模型灵活地控制形状和纹理的变化量,增强模型鲁棒性。

U-GAT-IT的模型如下:

飞桨PaddlePaddle之论文复现心得 U-GAT-IT1

生成器结构可以归结下来有以下几个点:

  • 编码器中没有采用AdaILN以及ILN,而且只采用了IN,原文给出了解释:在分类问题中,LN的性能并不比批规范化好,由于辅助分类器与生成器中的编码器连接,为了提高辅助分类器的精度,我们使用实例规范化(批规范化,小批量大小为1)代替AdaLIN;
  • 使用类别激活图(CAM)来得到注意力权重;
  • 通过注意力特征图得到解码器中AdaILN的gamma和beta;
  • 解码器中残差块使用的AdaILN,而其他块使用的是ILN;
  • 使用镜像填充,而不是0填充;
  • 所有激活函数使用的是RELU

而鉴别器具体结构与生成器类似,不过规范化使用的是谱规范化,使训练更加稳定,收敛得更好,激活函数使用的是leakyrelu

如何实现图像编码后注意力模块以及 AdaLIN 怎样引导解码得到目标域图像的呢?

CAM & Auxillary classifier

对于这部分计算 CAM,结合模型结构图做进一步理解:

飞桨PaddlePaddle之论文复现心得 U-GAT-IT2

由上图,我们可以看到对于图像经过下采样和残差块得到的 Encoder Feature map 经过 Global average pooling 和 Global max pooling 后得到依托通道数的特征向量。创建可学习参数 weight,经过全连接层压缩到 B×1 维,这里的 B 是 BatchSize,对于图像转换,通常取为 1。

对于学习参数 weight 和 Encoder Feature map 做 multiply(对应位想乘)也就是对于 Encoder Feature map 的每一个通道,我们赋予一个权重,这个权重决定了这一通道对应特征的重要性,这就实现了 Feature map 下的注意力机制。

对于经过全连接得到的 B×1 维,在 average 和 max pooling 下做 concat 后送入分类,做源域和目标域的分类判断,这是个无监督过程,仅仅知道的是源域和目标域,这种二分类问题在 CAM 全局和平均池化下可以实现很好的分类。

当生成器可以很好的区分出源域和目标域输入时在注意力模块下可以帮助模型知道在何处进行密集转换。将 average 和 max 得到的注意力图做 concat,经过一层卷积层还原为输入通道数,便送入 AdaLIN 下进行自适应归一化。

AdaLIN

飞桨PaddlePaddle之论文复现心得 U-GAT-IT3

由上图,完整的 AdaLIN 操作就是上图展示,对于经过 CAM 得到的输出,首先经过 MLP 多层感知机得到 γ,β,在 Adaptive Instance Layer resblock 中,中间就是 AdaLIN 归一化。

AdaLIN 正如图中展示的那样,就是 Instance Normalization 和 Layer Normalization 的结合,学习参数为 ρ,论文作者也是参考自 BIN [3]设计。AdaIN 的前提是保证通道之间不相关,因为它仅对图像 map 本身做归一化,文中说明 AdaIN 会保留稍多的内容结构,而 LN 则并没有假设通道相关性,它做了全局的归一化,却不能很好的保留内容结构,AdaLIN 的设计正是为了结合 AdaIN 和 LN 的优点。

 

参考链接:

https://github.com/FangYang970206/PaperNote/blob/master/GAN/UGATIT.md

https://www.sohu.com/a/333947112_500659

论文复现课程U-GAT-IT讲解链接:

https://aistudio.baidu.com/aistudio/education/lessonvideo/515097

pytorch代码

https://github.com/znxlwm/UGATIT-pytorch

tensorflow代码

https://github.com/taki0112/UGATIT

 


 

 

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:搞定pandas,我用二八神功!(送书)

下一篇:SmartVB6 v2.0.4插件功能介绍

您可能感兴趣

  • 使用strcpy的几点心得

    根据《出现频率最高的笔试题》cphj(原作),及众多的网友的观点。本人做了以下总结:    大多数人都同意以下这个写法:只是个人风格有些不同而已。    char *strcpy(char* dest, const char* src)    {       assert(NULL != dest);       assert(NULL != src);        char *tmp =...

  • 文件上传的一点心得

    最近,笔者在忙一个项目的时候,涉及到一个上传的问题,当然这个问题是一个比较常见的问题,也有很多人在这个方面写了很好的文章。在这里,我只写一下自己怎样去用System.Web.UI.HtmlControls.HtmlInputFile 去实现我所想要的功能: 首先,在界面上放上几个控件,用于收集信息: protected System.Web.UI.WebControls.Button But...

  • 研究心得------->CPU信息的获得,比较全面的。

    最近到整理了一份CPU的信息,应该算是比较全面的吧。几乎现在所有的X86 CPU都内置了CPUID指令以辨别真伪,一些CPU厂商例如AMD,VIA等还内置了更加丰富的扩展CPUID指令,用着更方便了。下面我们利用Delphi来实现一个CPU检测的软件。CPUID的调用方式如下: asm push eax push ebx push ecx push edx mov eax,X//******...

  • Dhtml+Js算法:5个小球运动的简化版,变通实现更简单的飞行的图片

    网页飞行图片

  • 使用VC和MATCOM结合开发应用程序心得笔记

    使用VC和MATCOM结合开发应用程序心得笔记1.       什么是Matcom?Matcom是MathTools公司(UPenn)开发的一个基于C++矩阵函数库Matrix的一个matlab m文件与cpp文件的转换程序。MIDEVA为他的一个集成调试编译环境(界面)。Matcom独立于matlab之外,但需要外部的c++编译器,在安装时需要指定,否则无法工作。安装的时候需要指定matl...

  • Transform 使用的一点心得。

    Transform 使用的一点心得。XSLT 文件: 如果在html代码之前有 比如下面的XSLT代码: http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">......

  • 关于自定义客户端验证脚本同时和服务器控件关联的一些心得

    .NET为我们提供了不少验证控件,一定程度上减少了程序员在开发上的工作量,但是有很多时候我们往往会需要自定义一些自己的验证流程,而无法通过.NET中所提供的验证控件来完成。通常验证的话,分为客户端和服务器端验证,这里我们所提到的验证都是指客户端验证。最常见的做法便是自己写一段JavsScript脚本,根据验证是否通过返回true或者是false。然后通过controlID.Attribute...

  • Asp.Net 中 动态生成 Excel 文件的心得

    近段时间一直在维护修改一个package(Asp.net + C#+SQLServer),在动态生成Excel文件方面有些心得。我现在只知道两种方法1,Server 端存在 Excel 文件,也就是模板。 复制模板,取得要显示的数据,以操作表的形式,将数据写入Excel 。关于 操作方法   原来的Post上面有,在此不详细说明了。2,Server端无模板,通过 xslt 和 xml 转化成...

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
飞桨PaddlePaddle之论文复现心得 U-GAT-IT介绍:华为云为您免费提供飞桨PaddlePaddle之论文复现心得 U-GAT-IT在博客、论坛、帮助中心等栏目的相关文章,同时还可以通过 站内搜索 查询更多飞桨PaddlePaddle之论文复现心得 U-GAT-IT的相关内容。| 移动地址: 飞桨PaddlePaddle之论文复现心得 U-GAT-IT | 写博客