IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> ContraD论文部分翻译与解读(Training GANs with Stronger Augmentations via Contrastive Discriminator) -> 正文阅读

[人工智能]ContraD论文部分翻译与解读(Training GANs with Stronger Augmentations via Contrastive Discriminator)

Training GANs with Stronger Augmentations via Contrastive Discriminator

借助对比判别器实现的通过更强的数据增强来训练生成对抗网络

摘要

最近关于GAN(生成对抗网络)的研究和工作都开始重新把注意力转向各种各样的数据增强技术来有效地避免判别器的过拟合。然而,我们仍然不清楚什么样的数据增强可以实际上改善GAN的表现以及特别是如何在训练中采用一种更大范围的数据增强。在这篇论文中,我们提出了一种新颖的方式来解决这个问题:把最近的一种叫做对比表征学习的模式与GAN的判别器相结合,简称为ContraD(contrastive learning)。这种“融合”使得判别器可以利用更强得多的数据增强来进行训练,却不增加不稳定性,因此更有效地避免了GAN中判别器过拟合的问题。甚至,我们发现,对比学习本身是有利于训练GAN的,好的对比表征对GAN的判别器有好处,反之亦然。我们的实验结果显示,采用ContraD技术的GAN可以改善在FID和IS上的评测表现。……(后面的不是重点,就不翻译了)

看了摘要,大家应该大致了解了ContraD到底是个啥玩意。更具体地说,就是将对比学习(contrastive learning)和GAN相结合,借鉴并综合了SimCLRSupervised Contrastive Learning中的loss function,得出了独特loss function。那么所以呢?到底ContraD有什么作用?看论文标题就知道,最终还是为了训练GAN。摘要里面也说了,训练GAN的时候有各种各样的问题,他们就提出了ContraD来解决一些问题。那么怎么解决的呢?往下看吧。

因为这篇论文中用到了SimCLR和Supervised Contrastive Learning中的方法,所以首先要介绍一下SimCLR。这是2020年发布的论文了,已经有不少好的文章介绍了,所以我指路大佬,大家看这篇文章就好。如果你好好看懂了这篇文章,请继续往下看。

就像文章里提到的一样,SimCLR是自监督训练,没有标签,在教会模型区分不同图片时,会把同一类的不同照片区分开,比如,黑狗和白狗都是狗,但它们被当做不同的类(讲道理,连标签都没有,这也不能叫做“类”吧)。很明显这是我们不喜欢的,也没必要这么做。GAN最重要的目的之一就是训练出一个优秀的生成器来生成我们想要的东西,如果我们想要的是狗,我们就希望生成器给我们生成一条狗,这条狗是啥样子我不管,是狗就行。至于这条狗的颜色啊耳朵大小啊这些属性,我们可以人为的指定。
左边为SimCLR,右边为Supervised Contrastive Learning

为了解决自监督学习的不足,Supervised Contrastive Learning出现了。Supervised Contrastive Learning是有监督学习,训练数据是有标签的。我们不再只是让来自同一张图片的representation之间的相似度达到最大,而是让来自同一类图片的representation之间的相似度达到最大。于是,所有狗的representation都被看做positive,其他representation被看做negative。
在ContraD中,作者把两者进行了结合,使用这SimCLR和Supervised Contrastive Learning的两种loss优化判别器(还有别的loss,后面会说)。ContraD的概览图
概览图简介:我们首先对真实数据x进行数据增强,得到两个view:V(1), r和V(2), r,同时对生成器生成的数据G(z)进行增强,得到Vf。然后我们把这三个view都送入判别器,判别器输出view对应的representation。下一步,让三个representation通过projection head,得到对应的向量(如果你看懂了SimCLR,你就应该懂这些),最后用各种loss来优化。注意,这里,作者对判别器做了修改,让判别器的输出不再是一个0~1之间的数(scalar),而是一个向量,毕竟判别器本身可以看做一个encoder嘛。当然,依然是先训练判别器,再训练生成器。

关于loss function:

  • 概览图右侧上方的L+, con就是SimCLR中的loss,是loss for real samples,因此,大家看,指向L+, con的hr的大括号框住了两个真实数据的representation。
  • 概览图右侧中间的L-, con就是Supervised Contrastive Learning中的loss,是loss for real and fake samples,因此,指向L-, con的hf的大括号框住了所有包括真假样本的三个representation。
  • 概览图右侧下边的Ldis,这是作者设计的loss。别忘了,我们训练完判别器还要训练生成器,训练生成器用的还是GAN原本的loss,因此我们需要判别器输出一个scalar来优化生成器。由于作者把判别器的输出改成了向量,这里我们要加一个discriminative head(作者可爱起名儿了,不知道咋翻译),其实就是一个两层的MLP,来把判别器输出的向量转化为一个0~1之间的scalar。由于我们不采用GAN原本的loss训练判别器,我们使用了stop gradient。训练完判别器后,再用GAN原本的loss训练生成器。

到这里,我们介绍完了所有loss,于是我们可以得出判别器的loss:
在这里插入图片描述
其中的两个λ是超参数(hyperparameter),在论文中,作者统一设为1。

生成器的loss:
在这里插入图片描述

这里采用了不饱和loss,在这里就不赘述了。

到这里我们分析完了论文的核心部分。作者还做了一些ablation study,用来研究实验中的某些设置或计算方法对实验整体的贡献、重要程度。感兴趣的可以去论文看看详细内容。
关于ablation study,没有准确的中文翻译,ablation本意为“烧蚀,消融”。可以看看维基百科的定义

In artificial intelligence (AI), particularly machine learning (ML), ablation is the removal of a component of an AI system. An ablation study studies the performance of an AI system by removing certain components, to understand the contribution of the component to the overall system. The term is by analogy with biology (removal of components of an organism), and, continuing the analogy, is particularly used in the analysis of artificial neural nets, by analogy with ablative brain surgery. Ablation studies require that the system exhibit graceful degradation: that they continue to function even when certain components are missing or degraded.

大家可以看看这篇论文的review,有很多reviewer提出了有独到见解的问题,有助于大家加深理解,开拓思维:https://openreview.net/forum?id=eo6U4CAwVmg

这是我第一次在平台上发论文解读相关的文章,我深知自己只是一个小白,和大佬完全比不了。以上内容中可能有一些不严谨或错误之处,希望大佬指正。

我们互相学习,一起变得更强!

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-20 15:47:40  更:2021-09-20 15:50:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:32:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码