摘要:
        我们提出了一种新的无监督的图像到图像的转换方法,它以端到端的方式结合了一个新的注意力模块和一个新的可学习归一化功能。注意力模块指导我们的模型根据辅助分类器获得的注意力图,把重点放在区分源域和目标域的更重要区域。不同于以往不能处理域之间的几何变化的基于注意的方法,我们的模型可以转换需要整体变化的图像和需要大的形状变化的图像。而且,我们新提出的AdaLin(自适应图层-实例归一化)功能,通过在数据集上学习参数,帮助我们基于注意力引导的模型能够灵活的控制在形状和结构上的改变。实验结果表明,与现有的具有固定网络结构和高参数的最新模型相比,该方法具有优越性。代码和数据集在全球最大同性交友网站上可以获取,给个友情链接:https://github.com/taki0112/UGATIT   或  https://github.com/znxlwm/UGATITpytorch

介绍:(简化翻译,有些是废话,没必要翻译的很仔细)

图像到图像的转换旨在学习在两个不同域中映射图像的函数。这个话题在机器学习和计算机视觉的研究者之间获得了广泛的关注,由于它在各方面都有应用。当给予配对的数据集,模型可以用一个条件生成模型或简单回归模型以监督学习的方式训练。在没有配对数据集的时候,图像通过共享潜在空间和循环一致性假设方法也能成功转换。这些工作已进一步发展,以处理多种形式的任务。

尽管有这些进步,以前的方法根据不用域之间形状和纹理的变化量显示性能差异。举个例子,它们能成功把照片变换为梵高的风格,但是不能在把狗变成猫的任务上执行很好。因此,一些预处理会被使用,来避免数据分布的复杂性。除此之外,现存的方法,比如DRIT,在保存形状改变形状但固定网络结构和超参数两方面不能都得到想要的结果。网络结构和超参数需要根据具体数据集来调整。

在这项工作中,我们提出了一种新的无监督的图像到图像的转换方法,它以端到端的方式结合了一个新的注意力模块和一个新的可学习归一化功能。我们的模型引导图片转换的注意力到更重要的区域,并且忽视次要区域,通过基于辅助分类器获得的注意力图来区分,这种区分在源域和目标域都有。这些注意力图被嵌入到生成器域判别器,用于关注语义上重要的区域,从而促进形状上的转换。当生成器中的注意力图将重点集中在两个域之间特定区分的区域上时,鉴别器中的注意力图通过关注目标域中真实图像和虚假图像之间的差异,来进行微调。除了注意力机制,我们发现归一化功能的选择对在形状和结构各不相同的多个数据集上的转换结果有重要的影响。受批-实例归一化(BIN)的启发,我们提出了一个自适应的图层-实例归一化,它的参数在训练阶段通过自适应地调整实例归一化(IN)和图层归一化(LN)之间的比例来学习。这个AdaLIN功能帮助我们基于注意力引导的模型灵活地控制形状和结构上的改变。因此,我们的模型,不需要修正结构或超参数,就能很好的完成图像转换任务,不管时整体的变化还是形状上的大改。在实验中,我们展示了提出的方法的优越性,通过在风格转换和目标转换领域最优的模型比较。工作的主要贡献为以下三点:

1)我们提出了一种新的无监督图像到图像转换方法,它具有新的注意模块和新的归一化函数AdaLIN。

2)我们的注意模块通过基于辅助分类器获得的注意力图来区分源域和目标域,从而帮助模型知道在何处进行密集转换。

3)AdaLIN功能帮助我们的基于注意力引导的模型在不修改模型架构或超参数的情况下灵活地控制更改形状和纹理的数量。

相关工作:

我也不知道为什么我找到的论文没有相关工作,网上看到的一个翻译有相关工作,我按照自己的来了,就不讲相关工作方面了。

讲模型之前先放图,整个网络是生成对抗网络形式,用的为类似cycle GAN的结构,图中只展示生成器和判别器的组成。我觉得以下的图与翻译不能很好的理解,得看源码(至少对我来说是这样的)。

模型:

我们的的目标时训练一个函数将图片从源域映射到目标域,这个训练过程仅仅使用未配对的样本。我们的模型框架包含了两个生成器以及两个判别器。注意力模块在生成器与判别器中都有使用,在判别器的注意力使模型重点关注更重要的区域,在生成器的注意力用来区分两域。我们只讲,另一对同理。

生成器

定义分别表示源域和目标域的样本集合。生成模型包含了编码器,解码器和辅助分类器表示x来自的可能性。定义表示编码器输出层的第k个激活图,表示这个激活图(i,j)处的值。由于被CAM启发(CAM使一种注意力可视化的工具吧),辅助分类器使用全局最大池化和全局平均池化来训练,用来学习源域第k层特征图的权重,其具体表达式为:

通过利用,我们可以计算得到具体域的注意力特征图,其中n是编码器输出特征图的通道数。然后生成模型就相当于。受最近在归一化层和组合归一化函数中使用有限变换参数的工作启发,我们在残差块中添加了AdaLIN,AdaLIN的参数γ和β由注意力图中的全连接层动态计算。

          (实际代码在括号外)

,

其中是通道的均值和标准差,是层的均值和标准差。是全连接层生成的参数,是学习率,表示优化器确定的参数更新向量(例如梯度)。通过在参数更新步骤施加边界,将的值限制在[0,1]的范围内。在生成器中,如果实例归一化比较重要,接近1,如果层归一化比较重要,接近0。在编码器的残差块中,初始化为1,而在上采样块中,初始化为0。

将内容图转换到某种风格图的最佳方法是应用白化着色变换(WCT),但计算代价很大。AdaIN比WCT快很多,它是WCT的次优方法,并且它假设了特征通道之间的不相关性,因此,转化后的特征包含了更多的内容中的模式。而LN没有假设通道的不相关性,有时候它不能很好的保存源域的内容结构,因为它只考虑特征图的全局统计。 为了克服这点,我们提出的AdaLIN通过可选择的保持或者改变内容的信息的方法把DdaIN和LN的有点联合起来,这解决了很多的图像转换问题。

判别器

定义分别代表目标域图片和源域转换之后的图片。与其他转换模型类似,判别器包含编码器,分类器和辅助分类器。与其他模型不同的是,我们的都是用来判断x来自还是。给定x,利用来工作,训练的,然后把作用于编码器输出,如式求得。然后我们的就相当于

损失函数

我们模型的全部目标包括四个损失函数 。我们使用LSGAN的对抗损失来帮助平稳训练。

对抗损失:

循环一致损失:从Xs生成假的Xt,再从假的Xt到Xs,要能够恢复回来。

一致损失:我们的生成器能用Xs生成假的Xt,那用Xt去生成假的Xt,应该更容易且更好。

CAM损失:CAM利用了辅助分类器的信息。给定一个图像x∈{Xs,Xt},知道他们需要改进的地方,或者在当前状态下两个域之间的最大区别是什么。

整体目标:

我们使用的参数是:λ1 = 1,λ2 = 10,λ3 = 10,λ4 = 1000。这里,其他几个部分也同样由两项。主要是和cycleGAN那样。

实验

基准模型

我们用cycle GAN,UNIT,MUNIT,DRIT,AGGAN和CartoonGAN与我们的方法比较,所有的代码都用了作者提供的代码。

数据集

我们用4个有代表性的数据集和1个自建的数据集评价模型,所有的图片大小都是256*256像素。

实验结果

我们首先分析了注意力机制与AdaLIN对模型的影响,然后比较了该模型与其他模型之间性能差距。为了评估翻译图像的视觉质量,我们进行了一项用户研究。用户被要求在五种不同方法生成的图像中选择最佳图像。补充材料中包括了将我们的模型与其他模型进行比较的更多结果示例。

以下为注意力机制的可视化与它的影响:

a)原图   b)生成器注意力图   c-d)判别器的局部与全局注意力图   e)加了CAM的结果   f)没有CAM的结果

CAM分析

首先我们进行了去除研究来确定生成器与判别器的注意力的作用。正如上图b展示,注意力图帮助生成器聚焦于更易于从目标图像区别的原图区域。比如眼睛或嘴巴。同时,通过可视化鉴别器的局部和全局注意图,我们可以看到鉴别器集中注意力的区域来判断目标图像是真是假,如上图c,d。生成器可以使用判别器的注意图来微调。注意,我们结合了两个具有不同大小感受野的鉴别器的全局和局部注意图。这些地图可以帮助生成器捕获全局结构和局部区域。有了这些信息,一些地区的翻译就更加仔细了。上图e展示了使用注意力机制的优点。另一方面,可以看到眼睛未对齐,或者根本没转换,如上图f。

AdaLIN分析

下图展示不同注意力的作用:

a)原图    b)我们的结果    c)IN+CAM     d)LN+CAM     e)AdaIN+CAM     f)GN+CAM

不想分析了,反正就是AdaLIN的效果最好就完了。

再看看别的模型和本文模型的结果评价:

a)原图   b)U-GAT-IT   c)cycleGAN   d)UNIT   e)MUNIT    f)DRIT   g)AGGAN

文中有些地方需要看源码才能理解,如果有无法理解的地方,建议看源码

附录

附录中会参考其他作者的解读,侵删

以下来自:https://www.sohu.com/a/333947112_500659

由上图,我们可以看到对于图像经过下采样和残差块得到的 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 下进行自适应归一化。

这边有点问题,weight其实来自fully connected,所以图中有点小错误。

U-GAT-IT 翻译相关推荐

  1. perl代码实现DNA翻译蛋白序列

    #!/usr/bin/perl ##本代码用于逐条翻译fasta序列至蛋白序列,指定了起始密码子和终止密码子 use strict; use warnings; my %hash; my $id; m ...

  2. 生物信息学算法之Python实现|Rosalind刷题笔记:011 DNA六框翻译

    开放阅读框(Open Reading Frame, ORF)是由起始密码子开始,直到终止密码子结束,中间不含有其他终止密码子的核酸序列.由于 DNA 是双链结构,任何一条链都可以作为模板合成 RNA: ...

  3. 【GAT】如何理解Graph Attention Network(注意力机制)?

    论文链接:Graph Attention Networks Github链接:https://github.com/PetarV-/GAT 1 GAT的背景 2 GAT的主要结构 3 GAT的创新点是 ...

  4. SYSTRAN翻译系统的工作原理

    与其前身 GAT 相比, SYSTRAN 在语言学基础方面没有多少改进,但在计算技术方面则有显著的进步,这主要是指它的模块化程序设计而言.该系统主要有两类程序,即系统程序和翻译程序.系统程序是一些控制 ...

  5. 论文翻译:A Comprehensive Survey on Graph Neural Networks

    论文翻译:图神经网络综合研究 arXiv:1901.00596v1 文章目录 论文翻译:图神经网络综合研究 1 引言 2 定义 3 分类和框架 3.1 GNN的分类 3.2 框架 4 图卷积网络 4. ...

  6. python实现:DNA翻译和凯撒密码

    1.函数实现读文件操作和对文件内容进行处理的操作 def read_seq(inputfile):"""Reads and returns the input seque ...

  7. Paper:《Graph Neural Networks: A Review of Methods and Applications—图神经网络:方法与应用综述》翻译与解读

    Paper:<Graph Neural Networks: A Review of Methods and Applications-图神经网络:方法与应用综述>翻译与解读 目录 < ...

  8. 人工智能术语翻译(二)

    文章目录 摘要 E F G H 摘要 人工智能术语翻译第二部分,包括E.F.G.H开头的词汇! E 英文术语 中文翻译 常用缩写 备注 Eager Learning 急切学习 Early Stoppi ...

  9. Mysql函数group_concat、find_in_set 多值分隔字符字段进行数据库字段值翻译

    Mysql函数group_concat.find_in_set进行数据库字段值翻译 场景 配方表:记录包含的原料 sources表示原料,字段值之间用逗号分隔 原料表:对应原料id和原料名称 现需要查 ...

  10. “Attention is All You Need 翻译

    <p><img src="output_0_0.png" alt="png"></p> "Attention is ...

最新文章

  1. dubbo入门--Hello World
  2. 字节跳动:年前再招1万人!员工总数将突破10万
  3. [Java拾遗四]JavaWeb基础之Servlet_RequestResponse
  4. java 之 继承 super关键籽 this关键字 final关键字
  5. C++ Primer 5th笔记(chap 18 大型程序工具) 多重继承与虚继承
  6. python自动化测试书籍推荐豆瓣_推荐几本自动化测试的书籍
  7. python多维数据分析_Python 数据分析:numpy 多维数组 ndarray
  8. 如果王思聪是产品经理
  9. 诗与远方:无题(三十四)- 曾经写给妹子的一首诗
  10. linux 文件名加粗,linux – 具有粗体字体的显示目录 – 如何启用?用.bash_profile?...
  11. stm32时钟配置总结
  12. Boost Graph
  13. Q127:PBRT-V3,理解“体渲染”积分器的关键竟然是这张图
  14. Atitit 直播问题总结ffmpeg 目录 1.1. 屏幕太大,可以使用-s调整分辨率 1 1.2. Full size 1 1.3. 流畅度调整 1 2. 1 2.1. 没有录音 1 2.2.
  15. java中的Map每次只能put一次,写段增强的put,可以一次put很多次
  16. 《中国电子报》访极通研发总监梁绍博
  17. php query参数解析,php http_build_query()函数实例讲解
  18. pdf会签_图纸会签规定
  19. 神经网络和深度学习的简史
  20. 更多数学趣题:求对数

热门文章

  1. 6sigma 基本概念
  2. CJB的大作 - 乱搞
  3. 反映百度引擎权重的身分都有哪些
  4. gif动图怎么制作更简单,手把手教你在线gif制作
  5. 机械制图及计算机绘图试题库,机械制图及计算机绘图--试题库2016版.pdf
  6. iOS开发:唯一标志符
  7. [python][turtle]闪瞎眼的晶体管报时
  8. 【总结】深度学习阶段性总结
  9. python代码变成so
  10. 【verbs】ibv_modify_qp()|RDMA