【GAN货】生成式对抗网络资料荟萃(原理/教程/报告/论文/实战/资料库)

简介:

简介

生成式对抗网络,是近些年来最火的无监督学习方法之一,模型由Goodfellow等人在2014年首次提出,将博弈论中非零和博弈思想与生成模型结合在一起,巧妙避开了传统生成模型中概率密度估计困难等问题,是生成模型达到良好的效果。

基本思想

囚徒困境

1950年,由就职于兰德公司的梅里尔·弗勒德和梅尔文·德雷希尔拟定出相关困境的理论,后来由顾问艾伯特·塔克以囚徒方式阐述,并命名为“囚徒困境”。经典的囚徒困境如下:

警方逮捕甲、乙两名嫌疑犯,但没有足够证据指控二人有罪。于是警方分开囚禁嫌疑犯,分别和二人见面,并向双方提供以下相同的选择:

若一人认罪并作证检控对方(相关术语称“背叛”对方),而对方保持沉默,此人将即时获释,沉默者将判监10年。

若二人都保持沉默(相关术语称互相“合作”),则二人同样判监半年。

若二人都互相检举(互相“背叛”),则二人同样判监5年。

纳什均衡

如同博弈论的其他例证,囚徒困境假定每个参与者(即“囚徒”)都是利己的,即都寻求最大自身利益,而不关心另一参与者的利益。那么囚徒到底应该选择哪一项策略,才能将自己个人的刑期缩至最短?两名囚徒由于隔绝监禁,并不知道对方选择;而即使他们能交谈,还是未必能够尽信对方不会反口。就个人的理性选择而言,检举背叛对方所得刑期,总比沉默要来得低。试设想困境中两名理性囚徒会如何作出选择:

若对方沉默、我背叛会让我获释,所以会选择背叛。

若对方背叛指控我,我也要指控对方才能得到较低的刑期,所以也是会选择背叛。

二人面对的情况一样,所以二人的理性思考都会得出相同的结论——选择背叛。背叛是两种策略之中的支配性策略。因此,这场博弈中唯一可能达到的纳什均衡,就是双方参与者都背叛对方,结果二人同样服刑5年。 这场博弈的纳什均衡,显然不是顾及团体利益的帕累托最优解决方案。以全体利益而言,如果两个参与者都合作保持沉默,两人都只会被判刑半年,总体利益更高,结果也比两人背叛对方、判刑5年的情况较佳。但根据以上假设,二人均为理性的个人,且只追求自己个人利益。均衡状况会是两个囚徒都选择背叛,结果二人判监均比合作为高,总体利益较合作为低。这就是“困境”所在。例子有效地证明了:非零和博弈中,帕累托最优和纳什均衡是互相冲突的。

生成模型与判别模型

机器学习的任务就是学习一个模型,应用这个模型,对给定的输入预测相应的输出。这个模型的一般形式为决策函数Y=f(x),或者条件概率分布:Y=argmaxYP(Y|X)。 机器学习方法又可以分为生成方法和判别方法,所学到的模型分别称为生成模型(Generative Model)和判别模型(Discriminative Model)。

判别方法由数据直接学习决策函数 f(X),或者条件概率分布P(Y|X)作为预测模型,即判别模型。 生成方法由数据学习联合分布P(X,Y),然后求出条件概率分布 P(Y|X)做预测的模型,即为生成模型,具体公式如下:‍‍P(Y|X)=P(X,Y)P(X)

‍‍相比于判别方法,生成模型更关注数据之间的内在联系,需要学习联合分布;而判别模型更关注于给定输入 X,模型应该预测怎么样的输出 Y。由生成模型可以推导出判别模型,反之则不能。

生成式对抗网络

什么是对抗生成网络?用Ian Goodfellow自己的话来说:

生成对抗网络是一种生成模型(Generative Model),其背后基本思想是从训练库里获取很多训练样本,从而学习这些训练案例生成的概率分布。而实现的方法,是让两个网络相互竞争,‘玩一个游戏’。其中一个叫做生成器网络( Generator Network),它不断捕捉训练库里真实图片的概率分布,将输入的随机噪声(Random Noise)转变成新的样本(也就是假数据)。另一个叫做判别器网络(Discriminator Network),它可以同时观察真实和假造的数据,判断这个数据到底是不是真的。”
基本原理

生成对抗网络是一个强大的基于博弈论的生成模型学习框架。该模型由GoodFellow在2014年首次提出,结合了生成模型和对抗学习思想。生成对抗网络的目的是训练一个生成模型G,给定随机噪声向量noise,生成符合真实数据分布的样本。 G训练信号来自于判别器 D(x)。 D(x)的学习目标目是准确区分输入样本的来源(真实数据或生成数据), 而生成器 D的学习目标是生成尽可能真实的数据,使得判别器 G认为生成数据是真实的。整个模型使用梯度下降法进行训练,生成器和判别器可以根据特定的任务选择具体的模型,包括但不限于全连接神经网络(FCN)、卷积神经网络(CNN)、回归神经网络(RNN)、长短期记忆模型(LSTM)等。

3


基础知识

台大李弘毅老师gan课程。参考链接:

#youtube#:

https://www.youtube.com/watch?v=DQNNMiAP5lw&index=1&list=PLJV_el3uVTsMq6JEFPW35BCiOQTsoqwNw]

#bilibili#

https://www.bilibili.com/video/av24011528?from=search&seid=11459671583323410876]

成对抗网络初学入门:一文读懂GAN的基本原理

[http://www.xtecher.com/Xfeature/view?aid=7496]

深入浅出:GAN原理与应用入门介绍

[https://zhuanlan.zhihu.com/p/28731033]

港理工在读博士李嫣然深入浅出GAN之应用篇
[https://pan.baidu.com/s/1o8n4UDk] 密码: 78wt

萌物生成器:如何使用四种GAN制造猫图
[https://zhuanlan.zhihu.com/p/27769807]

GAN学习指南:从原理入门到制作生成Demo
[https://zhuanlan.zhihu.com/p/24767059x]

生成式对抗网络GAN研究进展

报告教程

微软剑桥研究院153页最新GAN教程(附代码)

【CVPR2018】Google GAN之父Ian Goodfellow 最新演讲:生成对抗网络介绍

【干货】Google GAN之父Ian Goodfellow ICCV2017演讲:解读生成对抗网络的原理与应用

[论文笔记] GAN开山之作及最新综述

NIPS 2016教程:生成对抗网络

[https://arxiv.org/pdf/1701.00160.pdf]

训练GANs的技巧和窍门
[https://github.com/soumith/ganhacks]

OpenAI生成模型
[https://blog.openai.com/generative-models/]

论文前沿

对抗实例的解释和利用(Explaining and Harnessing Adversarial Examples)2014
[https://arxiv.org/pdf/1412.6572.pdf]

基于深度生成模型的半监督学习( Semi-Supervised Learning with Deep Generative Models )2014
[https://arxiv.org/pdf/1406.5298v2.pdf]

条件生成对抗网络(Conditional Generative Adversarial Nets)2014
[https://arxiv.org/pdf/1411.1784v1.pdf]

基于深度卷积生成对抗网络的无监督学习(Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (DCGANs))2015
[https://arxiv.org/pdf/1511.06434v2.pdf]

基于拉普拉斯金字塔生成式对抗网络的深度图像生成模型(Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks)2015
[http://papers.nips.cc/paper/5773-deep-generative-image-models-using-a-5. laplacian-pyramid-of-adversarial-networks.pdf]

生成式矩匹配网络(Generative Moment Matching Networks)2015

超越均方误差的深度多尺度视频预测(Deep multi-scale video prediction beyond mean square error)2015
[https://arxiv.org/pdf/1511.05440.pdf]

通过学习相似性度量的超像素自编码(Autoencoding beyond pixels using a learned similarity metric)2015
[https://arxiv.org/pdf/1512.09300.pdf]

对抗自编码(Adversarial Autoencoders)2015
[https://arxiv.org/pdf/1511.05644.pdf]

基于像素卷积神经网络的条件生成图片(Conditional Image Generation with PixelCNN Decoders)2015
[https://arxiv.org/pdf/1606.05328.pdf]

通过平均差异最大优化训练生成神经网络(Training generative neural networks via Maximum Mean Discrepancy optimization)2015
[https://arxiv.org/pdf/1505.03906.pdf]

训练GANs的一些技巧(Improved Techniques for Training GANs)2016

[https://arxiv.org/pdf/1606.03498v1.pdf]

InfoGAN:基于信息最大化GANs的可解释表达学习(InfoGAN:Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets)2016
[https://arxiv.org/pdf/1606.03657v1.pdf]

上下文像素编码:通过修复进行特征学习(Context Encoders: Feature Learning by Inpainting)2016

[http://www.cvfoundation.org/openaccess/content_cvpr_2016/papers/Pathak_Context_Encoders_Feature_CVPR_2016_paper.pdf]

生成对抗网络实现文本合成图像(Generative Adversarial Text to Image Synthesis)2016

对抗特征学习(Adversarial Feature Learning)2016
[https://arxiv.org/pdf/1605.09782.pdf]

结合逆自回归流的变分推理(Improving Variational Inference with Inverse Autoregressive Flow )2016
[https://papers.nips.cc/paper/6581-improving-variational-autoencoders-with-inverse-autoregressive-flow.pdf]

深度学习系统对抗样本黑盒攻击(Practical Black-Box Attacks against Deep Learning Systems using Adversarial Examples)2016
[https://arxiv.org/pdf/1602.02697.pdf]

参加,推断,重复:基于生成模型的快速场景理解(Attend, infer, repeat: Fast scene understanding with generative models)2016
[https://arxiv.org/pdf/1603.08575.pdf]

f-GAN: 使用变分散度最小化训练生成神经采样器(f-GAN: Training Generative Neural Samplers using Variational Divergence Minimization )2016
[http://papers.nips.cc/paper/6066-tagger-deep-unsupervised-perceptual-grouping.pdf]

在自然图像流形上的生成视觉操作(Generative Visual Manipulation on the Natural Image Manifold)2016
[https://arxiv.org/pdf/1609.03552.pdf]

对抗性推断学习(Adversarially Learned Inference)2016
[https://arxiv.org/pdf/1606.00704.pdf]

基于循环对抗网络的图像生成(Generating images with recurrent adversarial networks)2016
[https://arxiv.org/pdf/1602.05110.pdf]

生成对抗模仿学习(Generative Adversarial Imitation Learning)2016
[http://papers.nips.cc/paper/6391-generative-adversarial-imitation-learning.pdf]

基于3D生成对抗模型学习物体形状的概率隐空间(Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling)2016
[https://arxiv.org/pdf/1610.07584.pdf]

学习画画(Learning What and Where to Draw)2016
[https://arxiv.org/pdf/1610.02454v1.pdf]

基于辅助分类器GANs的条件图像合成(Conditional Image Synthesis with Auxiliary Classifier GANs)2016
[https://arxiv.org/pdf/1610.09585.pdf]

隐生成模型的学习(Learning in Implicit Generative Models)2016
[https://arxiv.org/pdf/1610.03483.pdf]

VIME: 变分信息最大化探索(VIME: Variational Information Maximizing Exploration)2016
[http://papers.nips.cc/paper/6591-vime-variational-information-maximizing-exploration.pdf]

生成对抗网络的展开(Unrolled Generative Adversarial Networks)2016
[https://arxiv.org/pdf/1611.02163.pdf]

基于内省对抗网络的神经图像编辑(Neural Photo Editing with Introspective Adversarial Networks)2016,原文链接:

[https://arxiv.org/pdf/1609.07093.pdf]

基于解码器的生成模型的定量分析(On the Quantitative Analysis of Decoder-Based Generative Models )2016,原文链接:

[https://arxiv.org/pdf/1611.04273.pdf]

结合生成对抗网络和Actor-Critic 方法(Connecting Generative Adversarial Networks and Actor-Critic Methods)2016,原文链接:

[https://arxiv.org/pdf/1610.01945.pdf]

通过对抗网络使用模拟和非监督图像训练( Learning from Simulated and Unsupervised Images through Adversarial Training)2016,原文链接:

[https://arxiv.org/pdf/1612.07828.pdf]

基于上下文RNN-GANs的抽象推理图的生成(Contextual RNN-GANs for Abstract Reasoning Diagram Generation)2016,原文链接:

[https://arxiv.org/pdf/1609.09444.pdf]

生成多对抗网络(Generative Multi-Adversarial Networks)2016,原文链接:

[https://arxiv.org/pdf/1611.01673.pdf]

生成对抗网络组合(Ensembles of Generative Adversarial Network)2016,原文链接:

[https://arxiv.org/pdf/1612.00991.pdf]

改进生成器目标的GANs(Improved generator objectives for GANs) 2016,原文链接:

[https://arxiv.org/pdf/1612.02780.pdf]

训练生成对抗网络的基本方法(Towards Principled Methods for Training Generative Adversarial Networks)2017,原文链接:

[https://arxiv.org/pdf/1701.04862.pdf]

生成对抗模型的隐向量精准修复(Precise Recovery of Latent Vectors from Generative Adversarial Networks)2017,

生成混合模型(Generative Mixture of Networks)2017,原文链接:

[https://arxiv.org/pdf/1702.03307.pdf]

记忆生成时空模型(Generative Temporal Models with Memory)2017,原文链接:

[https://arxiv.org/pdf/1702.04649.pdf]

AdaGAN: Boosting Generative Models". AdaGAN。原文链接[https://arxiv.org/abs/1701.04862]

Loss-Sensitive Generative Adversarial Networks on Lipschitz Densities。原文链接:[https://arxiv.org/abs/1701.06264];代码:[https://github.com/guojunq/glsgan/]

Wasserstein GAN, WGAN。原文链接:[https://arxiv.org/abs/1701.07875];代码:

[https://github.com/martinarjovsky/WassersteinGAN]

Boundary-Seeking Generative Adversarial Networks,BSGAN。原文链接:[https://arxiv.org/abs/1702.08431];代码地址:

[https://github.com/wiseodd/generative-models]

Generative Adversarial Nets with Labeled Data by Activation Maximization,AMGAN。原文链接:

[https://arxiv.org/abs/1703.02000]

Triple Generative Adversarial Nets,Triple-GAN。原文链接

[https://arxiv.org/abs/1703.02291]

BEGAN: Boundary Equilibrium Generative Adversarial Networks。原文链接:[https://arxiv.org/abs/1703.10717];代码:

[https://github.com/wiseodd/generative-models]

Improved Training of Wasserstein GANs。原文链接:[https://arxiv.org/abs/1704.00028];代码:

[https://github.com/wiseodd/generative-models]

MAGAN: Margin Adaptation for Generative Adversarial Networks。原文链接[https://arxiv.org/abs/1704.03817],

代码:

[https://github.com/wiseodd/generative-models]

Gang of GANs: Generative Adversarial Networks with Maximum Margin Ranking。原文链接:

[https://arxiv.org/abs/1704.04865]

Softmax GAN。原文链接:

[https://arxiv.org/abs/1704.06191]

Generative Adversarial Trainer: Defense to Adversarial Perturbations with GAN。原文链接:

[https://arxiv.org/abs/1705.03387]

Flow-GAN: Bridging implicit and prescribed learning in generative models。原文链接:

[https://arxiv.org/abs/1705.08868]

Approximation and Convergence Properties of Generative Adversarial Learning。原文链接:

[https://arxiv.org/abs/1705.08991]

Towards Consistency of Adversarial Training for Generative Models。原文链接:

[https://arxiv.org/abs/1705.09199]

Good Semi-supervised Learning that Requires a Bad GAN。原文链接:[https://arxiv.org/abs/1705.09783]

On Unifying Deep Generative Models。原文链接:

[https://arxiv.org/abs/1706.00550]

DeLiGAN:Generative Adversarial Networks for Diverse and Limited Data。原文链接:

[http://10.254.1.82/cache/6/03/openaccess.thecvf.com/e029768353404049dbcac9187a363d5a/Gurumurthy_DeLiGAN__Generative_CVPR_2017_paper.pdf];代码:[https://github.com/val-iisc/deligan]

Temporal Generative Adversarial Nets With Singular Value Clipping。

Least Squares Generative Adversarial Networks. LSGAN。

工程实践

【GAN货】用神经网络生成音乐

【代码资源】GAN | 七份最热GAN文章及代码分享(Github 1000+Stars)

【干货】基于GAN实现图像锐化应用(附代码)

【ACL2018】什么都能GAN,无监督神经网络翻译新方法

【干货】基于GAN实现图像锐化应用(附代码)

深度卷积生成对抗模型(DCGAN)参考链接

[https://github.com/Newmu/dcgan_code]

用Keras实现MNIST生成对抗模型,参考链接:

[https://oshearesearch.com/index.PHP/2016/07/01/mnist-generative-adversarial-model-in-keras/]

用深度学习TensorFlow实现图像修复,
TensorFlow实现深度卷积生成对抗模型(DCGAN),参考链接:

[https://github.com/carpedm20/DCGAN-tensorflow]

Torch实现深度卷积生成对抗模型(DCGAN),参考链接:

[https://github.com/soumith/dcgan.torch]

Keras实现深度卷积生成对抗模型(DCGAN),参考链接:

[https://github.com/jacobgil/keras-dcgan]

使用神经网络生成自然图像(Facebook的Eyescream项目),参考链接:

[https://github.com/facebook/eyescream]

对抗自编码(AdversarialAutoEncoder),参考链接:

[https://github.com/musyoku/adversarial-autoencoder]

利用ThoughtVectors 实现文本到图像的合成,参考链接:

[https://github.com/paarthneekhara/text-to-image]

对抗样本生成器(Adversarialexample generator),参考链接:

[https://github.com/e-lab/torch-toolbox/tree/master/Adversarial]

深度生成模型的半监督学习,参考链接:

[https://github.com/dpkingma/nips14-ssl]

GANs的训练方法,参考链接:

[https://github.com/openai/improved-gan]

生成式矩匹配网络(Generative Moment Matching Networks, GMMNs),参考链接:

[https://github.com/yujiali/gmmn]

对抗视频生成,参考链接:

[https://github.com/dyelax/Adversarial_Video_Generation]

基于条件对抗网络的图像到图像翻译(pix2pix)参考链接:

[https://github.com/phillipi/pix2pix]

对抗机器学习库Cleverhans, 参考链接:

[https://github.com/openai/cleverhans]

资料收集

The GAN Zoo千奇百怪的生成对抗网络,都在这里了。你没看错,里面已经有有近百个了。参考链接:

[https://github.com/hindupuravinash/the-gan-zoo]

gan资料集锦。参考链接:

[https://github.com/nightrome/really-awesome-gan]

gan在医学上的案例集锦:

[https://github.com/xinario/awesome-gan-for-medical-imaging]

gan应用集锦:

[https://github.com/nashory/gans-awesome-applications]

生成对抗网络(GAN)的前沿进展(论文、报告、框架和Github资源)汇总

原文发布时间为:2018-09-19
本文作者:专知内容组
本文来自云栖社区合作伙伴“专知”,了解相关信息可以关注“专知”。

相关文章
|
1月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
97 6
|
14天前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
17天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
50 7
|
22天前
|
机器学习/深度学习
NeurIPS 2024:标签噪声下图神经网络有了首个综合基准库,还开源
NoisyGL是首个针对标签噪声下图神经网络(GLN)的综合基准库,由浙江大学和阿里巴巴集团的研究人员开发。该基准库旨在解决现有GLN研究中因数据集选择、划分及预处理技术差异导致的缺乏统一标准问题,提供了一个公平、用户友好的平台,支持多维分析,有助于深入理解GLN方法在处理标签噪声时的表现。通过17种代表性方法在8个常用数据集上的广泛实验,NoisyGL揭示了多个关键发现,推动了GLN领域的进步。尽管如此,NoisyGL目前主要适用于同质图,对异质图的支持有限。
36 7
|
25天前
|
存储 数据可视化 API
重磅干货,免费三方网络验证[用户系统+CDK]全套API接口分享教程。
本套网络验证系统提供全面的API接口,支持用户注册、登录、数据查询与修改、留言板管理等功能,适用于不想自建用户系统的APP开发者。系统还包含CDK管理功能,如生成、使用、查询和删除CDK等。支持高自定义性,包括20个自定义字段,满足不同需求。详细接口参数及示例请参考官方文档。
|
1月前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
55 3
|
1月前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
66 4
|
1月前
|
网络协议 物联网 API
Python网络编程:Twisted框架的异步IO处理与实战
【10月更文挑战第26天】Python 是一门功能强大且易于学习的编程语言,Twisted 框架以其事件驱动和异步IO处理能力,在网络编程领域独树一帜。本文深入探讨 Twisted 的异步IO机制,并通过实战示例展示其强大功能。示例包括创建简单HTTP服务器,展示如何高效处理大量并发连接。
50 1
|
1月前
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!