这是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. java命令行输入参数

    Java命令行输入参数 代码用例:命令行输入参数,并进行加法运算. public class Demo01 { public static void main(String[] args) { for ...

  2. Windows安装 PyCharm

    PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制. ...

  3. egret Exml自定义组件

    有个需求,在A组件里面包裹 B组件: 碰到了一些奇怪的问题,这些问题是由于编辑器bug引起的.创建了皮肤后并没有在default.thm.json直接添加进去,造成拖动组件莫名其妙的bug,这里忘记保 ...

  4. Linux系统中虚拟设备文件的各种实用用法

    大家好,我是良许. 大家知道,在 Linux 下,一切皆文件,对于设备文件也是如此.我们在工作的过程中,经常会看到 /dev/null 这个玩意,那它到底是什么呢? 专业地讲,/dev/null 是一 ...

  5. Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志

    简述 本文用于记录如何使用Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana) 收集Docker容器日志,使用EFK,可以无侵入代码,获得灵活, ...

  6. 邓布利多拍了拍你,并递来一份CSS魔法

    校长:阿不思·邓布bai利多 亲爱的少年:我们愉快地通知您,您已获准在CSS魔法学校就读.特此带给你一份CSS魔法秘籍,代码简单,支持个性化定制.学期定于今日开始,我们将在此静候您的猫头鹰带来您的回信 ...

  7. EOS基础全家桶(十五)智能合约进阶2

    简介 今天我们继续补充智能合约的进阶使用技巧,这次的主题是交易,合约内我们除了可以发起内联action的调用,很多使用还需要直接调用其他的合约action或者以交易的形式调用自身的action. 发起 ...

  8. Bootstrap 搭建基础页面

    基于Bootstrap实现下图所示效果的页面,一个居中的标题和一个大按钮: <!DOCTYPE html> <html lang="zh-cn"> < ...

  9. Maven 专题(五):Maven核心概念详解(一)

    **Maven 的核心程序中仅仅定义了抽象的生命周期,而具体的操作则是由 Maven 的插件来完成的.**可是 Maven 的插件并不包含在 Maven 的核心程序中,在首次使用时需要联网下载. 下载 ...

  10. JVM 专题十四:本地方法接口

    1. 本地方法接口 2. 什么是本地方法? 简单来讲,一个Native Method就是一个Java调用非Java代码的接口.一个Native Method是这样一个java方法:该方法的实现由非Ja ...