Chainer-GAN库发布,利用Chainer实现多种GAN算法及特征匹配去噪

2017 年 7 月 12 日 机器人圈


原文来源:GitHub、Arxiv

「机器人圈」编译:嗯~阿童木呀、BaymaxZ


Chainer是一个基于Python的深度学习框架。它基于动态计算图以及面向对象的高级API,以构建并训练神经网络,提供自动微分API。它还支持CUDA / cuDNN使用CuPy进行高性能训练。


Chainer-GAN库汇集了当前最高水准的基于Chainer实现的GAN算法;

这些代码已在Cifar-10数据集中,使用inceptionscore进行过评估;

请注意,代码在基于原论文的基础上做了些许修改。



如何使用?

首先要阅读安装要求:


pip install -r requirements.txt


此实现已通过以下版本进行测试。


python 3.5.2 chainer 2.0.0 cupy 1.0.0.1 tensorflow 1.2.0 # only for downloading inception model numpy 1.11.1


https://github.com/hvy/chainer-inception-score中可获得inception score模块,下文将进行详细解读。


git submodule update -i


下载inception模型。


cd common/inception python download.py --outfile inception_score.model


你可以使用train.py开始进行训练。


python train.py --gpu 0 --algorithm dcgan --out result_dcgan


请参阅example.sh来训练其他算法。



定量评估

Inception scores是通过对5000个样本进行10次平均评估得到的。


FID是通过对5000个训练数据集和10000个生成样本进行计算的。


生成的图像

WGAN-GP


DFM


Cramer GAN


DRGAN


DCGAN


Minibatch discrimination


BEGAN


Inception Score

Inception score模块的Chainer实现发布于《训练生成对抗网络的技术改进》(ImprovedTechniques for Training GANs)这篇论文中。代码源自OpenAI的官方开源代码(https://github.com/openai/improved-gan)。


Inception Score是OpenAI的Tim Salimans、GANs之父IanGoodfellow等人2016年在上述论文中提出的一种方法,使用预训练的分类器网络和采样图像,评估诸如VAE和GAN之类的生成式模型。


这正是基于以下事实:良好的样本(图像看起来像来自真实数据分布的图像)预计会产生:


低熵p(y|x),即高预测置信度

高熵p(y),即高度变化的预测

 

其中x是图像,p(y|x)是预先训练的Inception网络给出的x的推断类标签概率,p(y)是所有图像上的边际分布。


Inception Score的定义为exp(E_x[KL(p(y|x)|| p(y))])


用法

下载预先训练好的TensorFlow模型并创建一个名为inception_score.model的Chainer副本。


python download.py --outfile inception_score.model


加载预先训练的Chainer模型,并计算包括训练图像和测试图像在内的CIFAR-10数据集的inception score。为了限制图像的数量,请使用--samples 选项。


python example.py --model inception_score.model

... Batch size: 100 Total number of images: 60000 Total number of batches: 600 Running batch 1 / 600 ... Running batch 2 / 600 ... ... Running batch 600 / 600 ... Inception score mean: 12.003619194030762 Inception score std: 0.10357429087162018


在Python中的使用示例

import numpy as npfrom chainer import serializers, datasetsfrom inception_score import Inception, inception_score model = Inception() serializers.load_hdf5('inception_score.model', model) train, test = datasets.get_cifar10(ndim=3, withlabel=False, scale=255.0) mean, std = inception_score(model, np.concatenate(train, test))print('Inception score mean:', mean)print('Inception score std:', std)


注意

从inception score的得分情况来看,该实现相较于原来的基于CIFAR-10,使用双线性插值从(32,32)到(299,299)上采样的分数要高得多。



《训练生成对抗网络的技术改进》

Inception score模块的Chainer实现发布于《训练生成对抗网络的技术改进》这篇论文中,科研人员提出了将应用于生成对抗网络(GAN)框架的各种新的架构特征和训练程序。他们专注于GAN的两个应用:半监督学习,以及人类视觉逼真意义上的图像生成。与大多数生成模型的工作不同,其主要目标不是训练一个分配高相似性以测试数据的模型,也不要求模型能够在不使用任何标签的情况下进行学习。


使用这些新技术后,科研人员在MNIST、CIFAR-10和SVHN的半监督分类中获得了可喜成果。所产生的图像具有已通过视觉图灵测试证实的高质量:该模型可以生成人类无法从实际数据中区分的MNIST样本,以及生成人为错误率为21.3%的CIFAR-10样本。我们还以前所未有的分辨率呈现出了ImageNet样本,并显示该方法使模型能够学习到ImageNet等级的可识别特征。


在该论文中,科研人员推出了几种旨在鼓励GAN融合的技术,这些技术是从对非收敛问题的理解中获得灵感的。这使得半监督学习实现性能的提升和样本生成的改进。


更多信息可点击链接获取完整论文(https://arxiv.org/pdf/1606.03498.pdf

开源代码获取:https://github.com/pfnet-research/chainer-gan-lib/blob/master/README.md



欢迎加入


中国人工智能产业创新联盟在京成立 近200家成员单位共推AI发展



关注“机器人圈”后不要忘记置顶

我们还在搜狐新闻、机器人圈官网、腾讯新闻、网易新闻、一点资讯、天天快报、今日头条、QQ公众号…

↓↓↓点击阅读原文查看中国人工智能产业创新联盟手册

登录查看更多
3

相关内容

GAN:生成性对抗网,深度学习模型的一种,在神经网络模型中引入竞争机制,非常流行。
《强化学习—使用 Open AI、TensorFlow和Keras实现》174页pdf
专知会员服务
136+阅读 · 2020年3月1日
生成式对抗网络GAN异常检测
专知会员服务
114+阅读 · 2019年10月13日
带你读论文 | 生成对抗网络GAN论文TOP 10
微软研究院AI头条
24+阅读 · 2019年4月11日
必读!TOP10生成对抗网络GAN论文(附链接)
数据派THU
16+阅读 · 2019年3月24日
论文推荐 | 生成对抗网络GAN论文TOP 10
机器学习算法与Python学习
5+阅读 · 2019年3月20日
必读!生成对抗网络GAN论文TOP 10
全球人工智能
6+阅读 · 2019年3月19日
Self-Attention GAN 中的 self-attention 机制
PaperWeekly
12+阅读 · 2019年3月6日
干货 | Github项目推荐 : GANSynth: 用GANs创作音乐
AI科技评论
9+阅读 · 2019年3月2日
用PyTorch实现各种GANs(附论文和代码地址)
gan生成图像at 1024² 的 代码 论文
CreateAMind
4+阅读 · 2017年10月31日
在TensorFlow中对比两大生成模型:VAE与GAN
机器之心
12+阅读 · 2017年10月23日
Arxiv
3+阅读 · 2019年10月31日
Arxiv
10+阅读 · 2018年3月23日
Arxiv
6+阅读 · 2018年3月12日
Arxiv
5+阅读 · 2018年1月30日
VIP会员
相关VIP内容
《强化学习—使用 Open AI、TensorFlow和Keras实现》174页pdf
专知会员服务
136+阅读 · 2020年3月1日
生成式对抗网络GAN异常检测
专知会员服务
114+阅读 · 2019年10月13日
相关资讯
带你读论文 | 生成对抗网络GAN论文TOP 10
微软研究院AI头条
24+阅读 · 2019年4月11日
必读!TOP10生成对抗网络GAN论文(附链接)
数据派THU
16+阅读 · 2019年3月24日
论文推荐 | 生成对抗网络GAN论文TOP 10
机器学习算法与Python学习
5+阅读 · 2019年3月20日
必读!生成对抗网络GAN论文TOP 10
全球人工智能
6+阅读 · 2019年3月19日
Self-Attention GAN 中的 self-attention 机制
PaperWeekly
12+阅读 · 2019年3月6日
干货 | Github项目推荐 : GANSynth: 用GANs创作音乐
AI科技评论
9+阅读 · 2019年3月2日
用PyTorch实现各种GANs(附论文和代码地址)
gan生成图像at 1024² 的 代码 论文
CreateAMind
4+阅读 · 2017年10月31日
在TensorFlow中对比两大生成模型:VAE与GAN
机器之心
12+阅读 · 2017年10月23日
相关论文
Top
微信扫码咨询专知VIP会员