NICE-GAN翻译 — Reusing Discriminators for Encoding: Towards Unsupervised Image-to-Image Translation

本文主要是介绍NICE-GAN翻译 — Reusing Discriminators for Encoding: Towards Unsupervised Image-to-Image Translation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 🥇 版权: 本文由【墨理学AI】原创、在CSDN首发、各位大佬、敬请查阅
  • 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
  • ❤️ 如果文章对你有帮助、欢迎一键三连

文章目录

    • 论文题目
    • 前言
    • 论文翻译
      • Abstract
      • 1 Introduction
      • 2 Related Work
      • 3. Our NICE-GAN
      • 4. Experiments
      • 5. Conclusion
    • 结语
    • 模型训练可简单参考
    • ❤️ 人生苦短, 欢迎和墨理一起学AI


论文题目


  • 《Reusing Discriminators for Encoding: Towards Unsupervised Image-to-Image Translation》
  • 《重用判别器进行编码:实现无监督的图像到图像翻译》
  • NICE-GAN:No-Independent-Component-for-Encoding GAN
  • 官方git代码实现
  • ❤️ Nice -GAN环境搭建 模型训练 有效教程

备注:最近使用该代码进行了一些风格迁移的实验,效果上佳,因此拜读大作,下文乃该论文部分段落(前两部分)翻译,如有不足之处,还望海涵!


前言


前言原文链接

  当我们回顾当前成功的图像转换框架时(例如CycleGAN),大多数都由三个部分组成:1、将输入图像嵌入到低维隐层空间的编码器;2、将隐层编码转换为其他域图像的生成器;3、使用对抗训练进行域对齐的判别器。尽管这种堆叠方式是标准的,但我们仍然好奇这样的问题:是否有可能重新考虑每个组件在转换框架中的作用?是否还有更紧凑更有效的网络框架?

新的网络框架

  这篇文章提出了一个新颖的思路。众所周知,在图像转换任务中,当网络训练完成后,当前的网络框架将丢弃判别器。而在论文提出的新框架中,判别器赋予了双重角色——编码和分类:通过复用目标域判别器的前几层网络来替代目标域图像的编码器。作者将这个新的体系结构称为NICE-GAN。实际上,判别器的编码潜力在DCGAN这篇文章中就已经被讨论。

  • 图1 CycleGAN的框架与作者的NICE-GAN框架之间的主要差异
    1

  与以前的方法相比,NICE-GAN具有两个优势:首先,由于不需要独立的编码组件,因此结构更紧凑,同时在训练完成后,其编码部分仍保留用于推断。其次,传统的编码器是通过生成器的梯度传播进行间接训练的。在这里,通过将其插入判别器中,可以直接利用判别损失(Discriminative Loss)进行训练,如果应用了多尺度判别器结构,则它将拥有更多的信息量和更高的训练效率。

解耦训练策略

  NICE-GAN框架中的主要问题是编码器上的转换构造(translation)与判别(discrimination)之间存在矛盾的耦合——当我们通过GAN玩min-max游戏时,编码器与生成器一起训练以最小化对抗损失,而与判别器一起训练则为了使对抗损失最大化,这会导致训练目标的冲突。为了解决这个问题,作者提出了一种解耦训练策略,使编码器的训练仅与判别器相关联,而与生成器无关通过该策略——仅在最大化对抗损失(Discriminative Loss)的时候对编码器进行训练,否则将其冻结。
2

  NICE-GAN前向传播和后向传播示意图。解耦的训练方式:在最小化对抗损失、重构损失和循环一致性损失时,编码器冻结权重,而在最大化对抗损失时训练编码器。
实验: 见论文

分析与结论:

  通过t-SNE可视化隐层编码,并利用Maximum Mean Discrepancy(MMD)以计算隐层空间两个编码分布的差异。有趣的是,通过NICE的训练,两个域的隐层空间分布变得更加聚集和紧密,但彼此依然可分。这种现象解释了为什么NICE-GAN表现出色。基于共享隐层空间假设构建的NICE-GAN,通过缩短低维隐层空间中域之间的转换路径,可能会促进高维图像空间的域的转换。同时进一步支持了一个重要观点:对比由通过最大似然训练的编码器网络学习的特征,由经过判别训练的网络学习到的特征往往更具表现力,也更适合推理。在NICE-GAN中,编码器也成为分布距离度量函数的一部分,而生成器只需要从隐层分布中提取循环一致性信息并拟合目标域分布。这种简单解耦的明确分工,有望引起人们对判别器实际作用的重新思考,它可能会刷新基于GAN的诸多任务的实现框架。


论文翻译


1


Abstract


  无监督的图像到图像转换是计算机视觉中的中心任务。一旦训练任务完成,当前的转换框架便会丢弃判别器(只需要生成器去生成目标即可)。本文通过重用判别器对目标域的图像进行编码,来证明判别器的新作用。所提出的体系结构称为NICEGAN,与以前的方法相比,具有两个有利的模式:首先,由于不需要独立的编码组件,因此结构更紧凑;其次,这种插入式编码器通过对抗损失直接进行训练,如果应用 a multiscale discriminator,可以使其信息更丰富,训练更有效。 NICEGAN算法中存在的主要问题是编码端的翻译与识别的耦合,当我们通过GAN进行最小-最大博弈时,可能会导致训练不一致。为了解决这一问题,我们提出了一种解耦的训练策略,使得编码器只在最大化对抗损失的情况下进行训练,否则保持冻结状态。在四个流行的基准上进行的大量实验表明,NICE-GAN在FID、KID和人类偏好方面都优于最先进的方法。此外,还进行了全面的消融实验,以分离出每个提出的组件的有效性(to isolate the validity of each proposed component.)。

1-1


1 Introduction


  图像到图像的转换将图像从一个域转换到另一个域,在视觉任务中得到了广泛的应用,从着色[39],图像编辑[6],超分辨率[20]到视频生成[35]。 考虑到在域之间收集配对图像的大量工作,更实际的研究方向[40,25,12,21,16]将目标定向到没有特征描述配对信息的无监督情况。 由于无监督翻译中的不可识别性问题[25],有人提出了各种方法来解决这个问题,通过使用额外的规则来解决这个问题,包括权重耦合[25]、循环一致性[40、17、38], forcing the generator to the identity function [34],或者更常见的是它们的组合。

  当我们回顾当前成功的翻译框架(如CycleGAN[40]提出的翻译框架)时,大多数翻译框架由三个部分组成:一个编码器将输入图像嵌入低维隐藏空间,一个生成器将隐藏向量转换为另一个域的图像,以及一种利用GAN训练进行域分配的判别器[9]。尽管这种图像翻译的框架结构是标准的,但我们仍然有兴趣问:是否有可能重新考虑每个组件在当前 图像转换(GAN) 框架中的作用? 更重要的是,我们是否可以根据我们的重新思考来改变当前的架构(例如,使结构更紧凑)?

The Problem《一个有深度的提问》 : is there any possibility to rethink the role of each component in current translation frameworks? and more importantly, can we change the current formulation (for example, to a more compact architecture) based on our rethinking?

答案是肯定的,如果我们仔细回顾编码器和判别器之间的关系。判别器基本上是区分源域的翻译图像和目标域的真实图像。为此,判别器需要对输入图像进行语义编码,才能分辨出哪些图像是真的,哪些是假的。换句话说,这就证明了判别器的两个角色:编码和分类。事实上,DCGAN的论文[30]揭示了判别器的编码能力:从判别器的最后一个卷积层开始的前6个学习的卷积特征中观察到对输入图像的强烈响应。(strongly responses to the input image are observed in the first 6 learned convolutional features from the last convolution layer in the discriminator.)

  基于上述动机,本文提出将判别器重新用于编码。特别是,我们将判别器中一定数量的早期层重用为目标域的编码器,如图 1 所示。 这种重用具有两个优点:一,实现了更紧凑的架构。由于编码器现在已成为判别器的一部分,因此我们不再需要用于编码的独立组件。此外,与现有的方法(在训练后放弃了判别器)不同,判别器的编码部分仍保留在我们的框架中以供推断。二。编码器得到了更有效的训练。编码器的传统训练是由生成器反向传播梯度,这是间接的。在这里,通过将其插入判别器,可以直接通过判别损失来训练编码器。此外,现代的判别器已经诉诸于多尺度方案以提高表达力[8、13、7、36]。如果应用多尺度判别器,我们的编码器将自然地继承表达能力。

  我们方法的另一个问题是如何进行对抗性训练。对于传统方法[40、25、12、21、16],编码器与生成器一起训练以最小化GAN损耗,而判别器则进行单独训练以使目标最大化。在我们的框架中,编码器和判别器会重叠,如果我们应用传统训练将编码器作为翻译的一部分进行最小化训练,则编码器和判别器将变得不稳定,同时它属于判别器并且也针对判别器进行了训练最大化。为了消除不一致之处,我们开发了一种分离的训练范式。具体而言,编码器的训练仅与判别器相关联,而与生成器无关。我们在几个基准上进行的实验表明,这种简单的去耦可显着促进训练(请参见4.7节中的详细信息)。背后的另一种直觉是,使编码器脱离翻译训练的束缚将使编码器朝着除翻译之外的更通用编码目的,从而实现更大的通用性。
  我们总结本文贡献如下:

  • 据我们所知,我们是第一个重用判别器进行编码的专门用于无监督的图像到图像的翻译。通过这样的重用,我们得到了一个更紧凑、更有效的体系结构,我们称之为 No-Independent-Component-for-Encoding GAN (NICE-GAN).
  • 鉴于重用判别器会导致典型训练过程的不稳定性,本文提出了一种简单而有效的解耦训练范式。
  • 在几个流行基准上进行的广泛实验评估表明,所提出的方法优于各种最新的同类方法。 还进行了全面的消融研究,以验证每个提出组件的有效性。

2 Related Work


  Image-to-image translation. Isola等人提出的基于条件GAN的标准框架。 [14],促进了图像到图像翻译的研究。多项工作将其扩展为处理超分辨率[36]或视频生成[35]。 尽管他们获得了可喜的成果,但是所有这些方法都需要成对的数据进行训练,这限制了它们的实际使用。
  Unsupervised image-to-image translation.对于具有不成对训练数据的无监督图像到图像转换,CycleGAN [40],DiscoGAN [17],DualGAN [38]通过使用循环一致性损失来保留输入图像和转换图像之间的关键属性。针对CycleGAN扩展的各种扩展方法已经提出。 第一种方式是to enable multimodal generations : MUNIT [12]和DRIT [21]将图像的潜在空间分解为领域不变的内容空间和领域特定的样式空间,以获取不同的输出。 另一个关于CycleGAN的功能改进是同时在多个(两个以上)域之间执行翻译,例如StarGAN [5]。 更具功能性的研究重点在于差异较大的域之间的转换。 例如,使用域共享潜在空间的CoupledGAN [26],UNIT [25],ComboGAN [2]和XGAN [31],以及U-GAT-IT [16]都使用关注模块进行特征选择。 最近,提出了TransGAGA [37]和TravelGAN [1]分别通过使用几何的笛卡尔积和保留矢量算法来刻画潜在表征( to characterize the latent representation )。
   Introspective Networks. 内省神经网络(INN)[15,19,23]和内省对抗网络(IAN)[4,33]已经探索了判别器的双重作用。尽管INN确实具有重复使用判别器的目的,但与我们的NICE-GAN相比,它表现出一些显着差异。首先,INN和NICE-GAN处理不同的任务。 INN 用于纯生成,判别器重用是用于从隐向量到图像的生成(作为解码);我们的NICE-GAN用于翻译,判别器重用是用于从图像中提取特征到隐向量(作为编码)(embedding from images to hidden vectors (as encoding).)此外,INN即使在进行推理时也需要顺序训练,而NICE-GAN只需要一次前向传递就可以生成一个新颖的图像,效率更高。对于IAN,也是纯粹的生成,重用一个判别器生成自伪样本,这是一种内省机制;我们的NICE-GAN重用一个域的判别器生成另一个域的伪样本,这是一种相互内省的机制。


3. Our NICE-GAN


  本节详细介绍了我们的方法构思。我们首先介绍了它的基本思想,然后通过提供NICE-GAN中每个组件的详细信息来跟进,解耦训练机制也进行了具体说明。
1-2

3.1. General Formulation
1

2

3

3.2. Architecture
   Multi-Scale Discriminators Dx and Dy.我这里之讨论Dx ,因为Dy 是相似的构思。补充材料(SP)中提供了完整的详细信息。我们使用 multi-scale discriminators 的灵感来自先前的著作[8、13、7、36]。 在这些方法中,将不同比例的判别器应用于不同尺寸的图像(通过降采样从原始图像获得小尺寸图像)。 在本文中,我们考虑了一种更有效的方法,即将单个输入的不同层中的特征图视为不同比例的图像,然后将它们分别输入到分类器中,并使用相应的输入大小进行区分,这与特征金字塔表示法在目标检测中的应用(例如SSD [27]和FPN [24])是类似的。
4

5

3.3. Decoupled Training
   训练过程使用到三种损失:对抗性损失,身份重建损失和循环一致性损失。 对抗性损失是为了促进域转移,而重建损失和周期一致性损失都是为了解决前面指出的不可识别性问题。

   由于编码器Ex不仅是判别器Dx的一部分,而且还被当作生成器Gx→y的输入,因此如果我们采用常规对抗训练,则会导致不一致。为了克服这一缺陷,我们将Ex的训练与生成器Gx→y的训练解耦。 下文提供了计算每种损失的详细信息。
loss

  • Adversarial loss.
  • Cycle-consistency loss
  • Reconstruction loss.

4. Experiments


4.1. Baselines
   We compare the performance NICE-GAN with stateof-the-art methods including CycleGAN [40], UNIT [25],MUNIT [12], DRIT [21], and U-GAT-IT [16] considering their competitive performance on unsupervised image-toimage translation. All compared methods are conducted by using the public codes. Specifically for U-GAT-IT, we use its light version due to the memory limit of our GPU machine. The details of all baselines are introduced in the SP.
8
9

4.3. Evaluation Metrics(评估指标)

  • Human Preference
  • The Frechet Inception Distance (FID)
  • The Kernel Inception Distance (KID)

9

4.5. Comparisons with state of the arts(与最新方法比较)
4.6. Ablation study (消融实验)
4.7. Decoupled Training Analysis(解耦训练分析)
1

3

   尽管如此,NICE-GAN还是利用编码器和分类器进行区分,因为它与图像空间的分布相匹配,因此可以捕获更精确的信息。

   NICE-GAN清楚地区分了不同组件的职责,因此既简单又有效。 此外,它进一步支持以下观点[4]:区别对待的训练网络学习的特征比通过最大似然训练的编码器网络学习的特征更具表现力,因此更适合推理


5. Conclusion


   在本文中,我们介绍了NICE-GAN,这是一种用于无监督的图像到图像翻译的新颖框架。

它重复使用判别器进行编码,并提出一种解耦范式以进行有效的训练。 在几个流行基准上的可比实验评估表明,NICE-GAN通常比最先进的方法具有更高的性能。 我们的研究有望引起人们对判别器实际作用的重新思考,在其他情况下,它有可能适用于刷新基于GAN的模型。


结语


   目前能力有限,很多内容还理解不到位,也不敢擅自翻译,希望有条件的还是直接看原文!
   感觉真正认真翻译并解读(本文没有解读,还望海涵)一篇顶会文章还是需要很大努力的,毕竟都是大佬们付出了很多的精力在里面,致敬!
   各位看官手下留情,感激不尽!

风格迁移实验—训练时间补充如下,供参考:
  • 训练集:A、B两种领域的图像 各1600张
  • 设备:单卡训练,GTX 1080Ti 11G
  • 训练:总共 一个 epoch , 50万 次 iterations
  • 训练时长:120小时
  • 训练效果:上佳(我很满意)

模型训练可简单参考


与本论文相关的模型训练教程博文如下,各位小伙伴、有兴趣可简单参考 —— 2021-12 -14 补充

  • 【深度学习入门项目】给学妹换个风格,画风突变【❤️CVPR 2020 风格迁移之NICE-GAN❤️】
  • Nice -GAN环境搭建 ——模型训练有效教程——【一文读懂】

对深度学习Cuda、Pytorch 环境搭建不是很清晰的小伙伴,可简单查阅我的这篇最强总结

  • ❤️ 深度学习模型训练推理——基础环境搭建推荐博文查阅顺序【基础安装—认真帮大家整理了】

博主的其他若干专栏、例如目标检测、图像修复、超分重建、大多也有不少干货、各位小伙伴,❤️可以多多推荐给初做相关方向研究的小伙伴,一起快乐学习更多有趣 AI ❤️


❤️ 人生苦短, 欢迎和墨理一起学AI


  • 🎉 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
  • ❤️ 码字不易、如果文章对你有帮助、不要忘了、点赞、评论鼓励博主的每一分认真创作

9-9

这篇关于NICE-GAN翻译 — Reusing Discriminators for Encoding: Towards Unsupervised Image-to-Image Translation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312410

相关文章

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

linux dlopen手册翻译

名称 dlclose, dlopen, dlmopen 打开和关闭一个共享对象 简介 #include <dlfcn.h>void *dlopen(const char*filename, int flags);int dlclose(void *handle);#define _GNU_SOURCE#include <dlfcn.h>void *dlmoopen(Lmid_t lm

从计组中从重温C中浮点数表示及C程序翻译过程

目录 移码​编辑  传统浮点表示格式 浮点数的存储(ieee 754)->修炼内功 例子:   ​编辑 浮点数取的过程   C程序翻译过程 移码  传统浮点表示格式 浮点数的存储(ieee 754)->修炼内功 根据国际标准IEEE(电⽓和电⼦⼯程协会)  32位 例子:    64位    IEEE754对有效数字M和

生成对抗网络(GAN网络)

Generative Adversarial Nets 生成对抗网络GAN交互式可视化网站 1、GAN 基本结构 GAN 模型其实是两个网络的组合: 生成器(Generator) 负责生成模拟数据; 判别器(Discriminator) 负责判断输入的数据是真实的还是生成的。 生成器要不断优化自己生成的数据让判别网络判断不出来,判别器也要优化自己让自己判断得更准确。 二者关系形成

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络(GAN, Generative Adversarial Network)是一种深度学习模型,由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据,通过两个神经网络相互对抗,来生成以假乱真的新数据。以下是对GAN的详细阐述,包括其概念、作用、核心要点、实现过程、代码实现和适用场景。 1. 概念 GAN由两个神经网络组成:生成器(Generator)和判别器(D

HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 翻译

HumanNeRF:单目视频中运动人物的自由视点绘制 引言。我们介绍了一种自由视点渲染方法- HumanNeRF -它适用于一个给定的单眼视频ofa人类执行复杂的身体运动,例如,从YouTube的视频。我们的方法可以在任何帧暂停视频,并从任意新的摄像机视点或甚至针对该特定帧和身体姿势的完整360度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的照片级真实感细节,如从输入视频中可能