这是CVPR2019上UCLA和google brain的一个工作。模型非常简单,利用辅助损失解决GAN不稳定问题;用旋转分类将辅助分类器对label的需求去掉,使图片可以直接对自己标注类别。

Self-Supervised GANs via Auxiliary Rotation Loss

论文地址:https://arxiv.org/abs/1811.11212

GITHUB代码:https://github.com/vandit15/Self-Supervised-Gans-Pytorch

论文指出,GAN模型的重要问题是不稳定(instability, divergence, cyclic behavior, or model collapse)。判别器通常学习了一个分布的特征,但后来的样本往往是不符合这个分布的,如果放任不管会造成模型欠拟合。为了提高模型的稳定性,研究人员又提出了CGAN,生成器和判别器通过使用有标签的数据来记住之前的数据分布。但是,CGAN的主要不足在于该模型依赖于标注好的数据。即使存在标注好的数据,这些数据往往也是sparse,并且仅仅只包含了一小部分高层抽象信息。

作者举了两个例子来说明当前模型的问题(判别器的遗忘问题),在下图中,蓝色虚线是当前的GAN,由于对模型分布记忆出现混乱,导致准确率下降。

在下图中,左侧表示GAN在每1K数据后换一次数据分布。可以看到数据分布换了以后,原始的GAN会存在较大的误差,几乎又回到了原始未学习的状态。

于是,作者提出了self-supervised GAN (SS-GAN),通过加入自监督能够有效的避免遗忘带来的不稳定。作者受到《Unsupervised Representation Learning by Predicting Image Rotations》这篇文章的启发,该方法使用的是基于图像旋转的自监督方法。该方法将几何变换定义为0,90,180,270度的图像旋转,为了让一个卷积网络能够识别图像中的旋转变换,需要理解图像中描述的对象概念。尽管这个自监督方法非常简单,但是为特征学习提供了一个强大的替代监督信号。

SS-GAN的整体架构如下图所示,具体实现:

  1. 第一个判别器按照以前的方法,输出 true/false 的判断结果;
  2. 第二个判别器倒数第二层输出,作为特征,加上线性分类器,预测旋转的类型。

作者指出,SS-GAN将对抗训练与自监督学习相结合,实现了CGAN的优势,而不需要任何标注数据。SS-GAN实现了大规模无条件 ImageNet 图像生成,这项目工作是向着高质量、无监督的自然图像合成方向迈出的重要一步。

【论文笔记】Self-Supervised GAN :辅助性旋转损失的自监督生成式对抗网络的更多相关文章

  1. GAN实战笔记——第七章半监督生成对抗网络(SGAN)

    半监督生成对抗网络 一.SGAN简介 半监督学习(semi-supervised learning)是GAN在实际应用中最有前途的领域之一,与监督学习(数据集中的每个样本有一个标签)和无监督学习(不使 ...

  2. 生成式对抗网络(GAN)学习笔记

    图像识别和自然语言处理是目前应用极为广泛的AI技术,这些技术不管是速度还是准确度都已经达到了相当的高度,具体应用例如智能手机的人脸解锁.内置的语音助手.这些技术的实现和发展都离不开神经网络,可是传统的 ...

  3. 【CV论文阅读】生成式对抗网络GAN

    生成式对抗网络GAN 1.  基本GAN 在论文<Generative Adversarial Nets>提出的GAN是最原始的框架,可以看成极大极小博弈的过程,因此称为“对抗网络”.一般 ...

  4. 学习笔记TF051:生成式对抗网络

    生成式对抗网络(gennerative adversarial network,GAN),谷歌2014年提出网络模型.灵感自二人博弈的零和博弈,目前最火的非监督深度学习.GAN之父,Ian J.Goo ...

  5. 【神经网络与深度学习】生成式对抗网络GAN研究进展(五)——Deep Convolutional Generative Adversarial Nerworks,DCGAN

    [前言]      本文首先介绍生成式模型,然后着重梳理生成式模型(Generative Models)中生成对抗网络(Generative Adversarial Network)的研究与发展.作者 ...

  6. GAN生成式对抗网络(四)——SRGAN超高分辨率图片重构

    论文pdf 地址:https://arxiv.org/pdf/1609.04802v1.pdf 我的实际效果 清晰度距离我的期待有距离. 颜色上面存在差距. 解决想法 增加一个颜色判别器.将颜色值反馈 ...

  7. 不要怂,就是GAN (生成式对抗网络) (一)

    前面我们用 TensorFlow 写了简单的 cifar10 分类的代码,得到还不错的结果,下面我们来研究一下生成式对抗网络 GAN,并且用 TensorFlow 代码实现. 自从 Ian Goodf ...

  8. 不要怂,就是GAN (生成式对抗网络) (一): GAN 简介

    前面我们用 TensorFlow 写了简单的 cifar10 分类的代码,得到还不错的结果,下面我们来研究一下生成式对抗网络 GAN,并且用 TensorFlow 代码实现. 自从 Ian Goodf ...

  9. 学习笔记GAN001:生成式对抗网络,只需10步,从零开始到调试

    生成式对抗网络(gennerative adversarial network,GAN),目前最火的非监督深度学习.一个生成网络无中生有,一个判别网络推动进化.学技术,不先着急看书看文章.先把Demo ...

随机推荐

  1. js语法基础入门(2)

    2.变量 2.1.变量的声明 声明变量的时候没有赋值,默认输出undefined //通过var 声明一个变量 var user: //默认输出undefined 可以同时声明多个变量 var use ...

  2. MFC中窗口静态分割&视图切换

    目录 窗口静态分割 单个分割器 声明 准备视图 静态分割窗口&添加视图 使视图大小随窗口大小改变 多个分割器 声明 静态分割窗口&添加视图 使视图大小随窗口大小改变 视图切换 视图之间 ...

  3. ASP.NET MVC 四种Controller向View传值方法

    控制器: // Get: Data public ActionResult Index() { //ViewData 方式 ViewData["UserName"] = " ...

  4. TypeScript学习——数组、元组、接口(2)

    数组 数组类型注解 const numberArr: (number | string)[] = [1, '2', 3]; //既可以是number 也可以是string const stringAr ...

  5. C++多种方法枚举串口号

    部分方式没结果,思路应该是没错. //7. std::cout << "M8: SetupDiGetClassDevs " << std::endl; // ...

  6. Yolo训练自定义目标检测

    Yolo训练自定义目标检测 参考darknet:https://pjreddie.com/darknet/yolo/ 1. 下载darknet 在 https://github.com/pjreddi ...

  7. NOIP 2016 D2T2 蚯蚓](思维)

    NOIP 2016 D2T2 蚯蚓 题目大意 本题中,我们将用符号 \(\lfloor c \rfloor⌊c⌋\) 表示对 \(c\) 向下取整,例如:\(\lfloor 3.0 \rfloor = ...

  8. 传递 HDU - 5961 题解

    题目传送门 分析 题目大意:给一个竞赛图,将图分成两部分,判断两部分的图是否符合传递闭包,a->b,b->c,则a->c 这道题用Floyd硬跑的显然n\({^3}\)会T 如果用b ...

  9. Ticket Game思维题

    题目链接 题意: 给你一个n的序列(n=2*k),由数字和?(偶数个)组成,A和B分别操作(B先操作):把?变成一个任意的0-9的数字,如果最后前n/2和后n/2个数字之和相等,则A胜,否则B胜. 分 ...

  10. 如何查询到你的wifi所在的公网ip?

    浏览器中输入:ip138.com  即可查询到.