【论文笔记】Self-Supervised GAN :辅助性旋转损失的自监督生成式对抗网络
这是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的整体架构如下图所示,具体实现:
- 第一个判别器按照以前的方法,输出 true/false 的判断结果;
- 第二个判别器倒数第二层输出,作为特征,加上线性分类器,预测旋转的类型。

作者指出,SS-GAN将对抗训练与自监督学习相结合,实现了CGAN的优势,而不需要任何标注数据。SS-GAN实现了大规模无条件 ImageNet 图像生成,这项目工作是向着高质量、无监督的自然图像合成方向迈出的重要一步。
【论文笔记】Self-Supervised GAN :辅助性旋转损失的自监督生成式对抗网络的更多相关文章
- GAN实战笔记——第七章半监督生成对抗网络(SGAN)
半监督生成对抗网络 一.SGAN简介 半监督学习(semi-supervised learning)是GAN在实际应用中最有前途的领域之一,与监督学习(数据集中的每个样本有一个标签)和无监督学习(不使 ...
- 生成式对抗网络(GAN)学习笔记
图像识别和自然语言处理是目前应用极为广泛的AI技术,这些技术不管是速度还是准确度都已经达到了相当的高度,具体应用例如智能手机的人脸解锁.内置的语音助手.这些技术的实现和发展都离不开神经网络,可是传统的 ...
- 【CV论文阅读】生成式对抗网络GAN
生成式对抗网络GAN 1. 基本GAN 在论文<Generative Adversarial Nets>提出的GAN是最原始的框架,可以看成极大极小博弈的过程,因此称为“对抗网络”.一般 ...
- 学习笔记TF051:生成式对抗网络
生成式对抗网络(gennerative adversarial network,GAN),谷歌2014年提出网络模型.灵感自二人博弈的零和博弈,目前最火的非监督深度学习.GAN之父,Ian J.Goo ...
- 【神经网络与深度学习】生成式对抗网络GAN研究进展(五)——Deep Convolutional Generative Adversarial Nerworks,DCGAN
[前言] 本文首先介绍生成式模型,然后着重梳理生成式模型(Generative Models)中生成对抗网络(Generative Adversarial Network)的研究与发展.作者 ...
- GAN生成式对抗网络(四)——SRGAN超高分辨率图片重构
论文pdf 地址:https://arxiv.org/pdf/1609.04802v1.pdf 我的实际效果 清晰度距离我的期待有距离. 颜色上面存在差距. 解决想法 增加一个颜色判别器.将颜色值反馈 ...
- 不要怂,就是GAN (生成式对抗网络) (一)
前面我们用 TensorFlow 写了简单的 cifar10 分类的代码,得到还不错的结果,下面我们来研究一下生成式对抗网络 GAN,并且用 TensorFlow 代码实现. 自从 Ian Goodf ...
- 不要怂,就是GAN (生成式对抗网络) (一): GAN 简介
前面我们用 TensorFlow 写了简单的 cifar10 分类的代码,得到还不错的结果,下面我们来研究一下生成式对抗网络 GAN,并且用 TensorFlow 代码实现. 自从 Ian Goodf ...
- 学习笔记GAN001:生成式对抗网络,只需10步,从零开始到调试
生成式对抗网络(gennerative adversarial network,GAN),目前最火的非监督深度学习.一个生成网络无中生有,一个判别网络推动进化.学技术,不先着急看书看文章.先把Demo ...
随机推荐
- Ajax实现文件上传(Spring MVC)
## 前端表单 和 JQuery jsp/html代码 使用JQuery <script src="static/js/jquery-3.4.1.js"></sc ...
- python实用笔记——IO编程
打开文件 f = open('/Users/michael/test.txt', 'r') 再读取 >>> f.read() 'Hello, world!' 最后关闭 >> ...
- 补充:回答网友的问题,如何不用路径,而直接将CImage画到DC中,之后DC一起显示.
补充:回答网友的问题,如何不用路径,而直接将CImage画到DC中,之后DC一起显示.注释掉 pDC->BeginPath(); // 打开路径层 pDC->Rectangle(0,0,p ...
- CodeForces 3 D.Least Cost Bracket Sequence【贪心+优先队列】
Description 给出一个括号序列,中间有一些问号,将第i个问号换成左括号代价是a[i],换成右括号代价是b[i],问如果用最少的代价将这个括号序列变成一个合法的括号序列 Input 第一行一个 ...
- numpy模块&pandas模块
目录 numpy模块 pandas模块 numpy模块 import pandas as pd import numpy as np df=pd.Series(np.array(['a','b'])) ...
- npm tip: go to the package's home page
exec the following order: --- npm home <package name>
- mysql 常见使用场景
场景1:表中多条相同账户数据,根据创建日期排序取第一条. select * from cms_client_rpq rpq where id = ( select id from cms_client ...
- 「单调队列优化DP」P2034 选择数字
「单调队列优化DP」P2034 选择数字 题面描述: 给定一行n个非负整数a[1]..a[n].现在你可以选择其中若干个数,但不能有超过k个连续的数字被选择.你的任务是使得选出的数字的和最大. 输入格 ...
- 5.scrapy过滤器
scrapy过滤器 1. 过滤器 当我们在爬取网页的时候可能会遇到一个调转连接会在不同页面出现,这个时候如果我们的爬虫程序不能识别出 该链接是已经爬取过的话,就会造成一种重复不必要的爬取.所以我们要对 ...
- pythonl操作数据库
目录 今日内容详细 Navicat软件 提示 练习题 pymysql模块 sql注入 navicat可视化界面操作数据库 数据库查询题目讲解(多表操作) python如何操作MySQL(pymysql ...