PaperWeekly 第九期

简介: 深度生成模型基本都是以某种方式寻找并表达(多变量)数据的概率分布。有基于无向图模型(马尔可夫模型)的联合概率分布模型,另外就是基于有向图模型(贝叶斯模型)的条件概率分布。前者的模型是构建隐含层(latent)和显示层(visible)的联合概率,然后去采样。

深度生成模型基本都是以某种方式寻找并表达(多变量)数据的概率分布。有基于无向图模型(马尔可夫模型)的联合概率分布模型,另外就是基于有向图模型(贝叶斯模型)的条件概率分布。前者的模型是构建隐含层(latent)和显示层(visible)的联合概率,然后去采样。基于有向图的则是寻找latent和visible之间的条件概率分布,也就是给定一个随机采样的隐含层,模型可以生成数据。


生成模型的训练是一个非监督过程,输入只需要无标签的数据。除了可以生成数据,还可以用于半监督的学习。比如,先利用大量无标签数据训练好模型,然后利用模型去提取数据特征(即从数据层到隐含层的编码过程),之后用数据特征结合标签去训练最终的网络模型。另一种方法是利用生成模型网络中的参数去初始化监督训练中的网络模型,当然,两个模型需要结构一致。


由于实际中,更多的数据是无标签的,因此非监督和半监督学习非常重要,因此生成模型也非常重要。本篇主要介绍一种基于对抗模式的生成模型,GAN - 从第一篇提出此模型的论文开始,之后紧接着两篇基于它的实现以及改进。三篇文章一脉相承,可以看到结合这种模型的研究进展及方向。


Generative Adversarial Nets

1


作者

Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio

单位

Universite of Montreal

关键词

生成模型 (Generative model)

文章来源

NIPS 2014

问题

通过模拟对抗过程,提出一种新的生成模型框架

模型

1、建模

在对抗生成模型中,同时训练两个网络,第一个网络是生成网络,G(z),输入z一般是来自常见概率分布函数的样本向量,维度一般比较低,比如100。生成网络输入向量z,输出图片样例,如果使用卷机网实现的话,整个网络可以看过一个反向的CNN,其中的卷积层替换成 transposed convolution layer。第二个网络是识别网络discriminator net - D(x),输入为一张图片x,而输出为一个标量,用来代表x来自真实图片的概率。

2、训练

整个网络的loss定义为

V = E’[log D(x)] + E’’[log (1 - D(G(z)) )]
E’ - 当x来自真实数据的期望
E’’ - 当x来自生成网络的期望

很显然,在对抗网络中,生成模型希望能够增大D(G(z)),即,希望生成的图片越真实而让识别模型“误以为”是来自真实的图片集。

如果生成网络G的参数用theta表示,识别模型的参数用theta_d表示,在使用SGD训练的时候,两组参数分别进行训练,对于D来说,需要对上面的公式求Gradient,但是只更新自己的参数。对G来说,只有第二项是相关的,而且可以等效的转换为maximize log D(G(z))。两个网络的参数更新交替进行。

资源

网上有很多实现,比如:

goodfeli/adversarial: Theano GAN implementation released by the authors of the GAN paper.
Newmu/dcgan_code: Theano DCGAN implementation released by the authors of the DCGAN paper.
carpedm20/DCGAN-tensorflow: Unofficial TensorFlow DCGAN implementation.

这些实现一般都会包含MNIST测试集。

相关工作

其他的生成模型包括restricted Boltzmann machine (RBM), deep Boltzmann machine (DBM) 以及 variational autoencoder

简评

其他生成模型中训练过程涉及intractable的计算,在实际实现时往往采取马尔可夫链模特卡洛采样(MCMC)。对抗生成模型(GAN)则不需要,整个网络的训练可以使backpropagation来实现。缺点包括训练不稳定,生成网络会塌陷到某些数据点(比如这些数据点目前看最像真实数据,生成网络会不停生成这些数据点),接下来的几篇中将提及如何改进。


Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks 2


作者

Alec Radford, Luke Metz, Soumith Chintala

单位

facebook

关键词

DCGAN, Representation Learning

文章来源

ICLR 2016

问题

基于深度卷积网络的生成对抗模型(DCGAN)实现

模型

在GAN的论文中提出的对抗模型的原型,但是对抗模型是一个大的框架,并不局限于某种网络实现。本文给出了基于卷机网的实现。

生成网络

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

其中反卷积的过程是

0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

识别网络是传统的CNN
640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

简评

本文紧密承接上篇论文,描述了实现过程中的细节,比如参数设置。也提到了解决GAN中训练不稳定的措施,但是并非完全解决。文中还提到利用对抗生成网络来做半监督学习。在训练结束后,识别网络可以用来提取图片特征,输入有标签的训练图片,可以将卷基层的输出特征作为X,标签作为y做训练。


Improved Techniques for Training GANs  3


作者

Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, Xi Chen

单位

OpenAI

关键词

DCGAN

文章来源

ICLR 2016

问题

提出改进DCGAN的措施

模型

这篇论文同样跟前文非常紧密,具体针对DCGAN中的问题,提出了改进方法。具体有

1、feature matching 解决训练不稳定instability的问题

2、minibatch discrimination 解决生成网络生成图片集中的问题,原理是让识别网络一次看一组图片,而不是一张图片

3、如果对实现感兴趣,其他改进细节可以参见论文

简评

对抗生成网络的模型很有意思,Bengio, Hinton等都表达了很高的评价。相对其他生成模式而言,对抗生成模式模型清晰简单,目前来看效果也比较不错。但是目前对抗生成网络也有很多问题,比如生成模型是通过来自概率分布的向量生成样本,而不是直接表示输入的概率分布,因此,生成的图片可能不稳定之类。此外,希望能看到GAN在语言模型中的应用。



总结

GAN这种模型非常新颖,从论文中的结果来看,在图像生成上取得了不错的效果,对于MNIST这种简单的图形数据集,生成的图片已经可以“以假乱真”。对于另外的图片,比如在第二篇论文中的LSUN bedroom图片集以及人脸图片集上,生成的图片效果也不错(分辨率64×64)。
GAN目前来看已经卷积网络图像生成中取得了不错的效果,但是还有很多问题需要继续研究改进, 比如:

1、如何生成高像素高质量的图片。目前一般像素不超过64。
2、如何提高复杂图片的质量。目前在CIFAR,ILSVRC等图片集上训练生成的图片还是很糟糕。
3、如何提高整个模型的稳定性。在实际中,尤其对于复杂图形,生成器经常很快收敛到某些单个数据集,使得整个模型的训练陷入僵局。
4、如何在其他领域,比如NLP使用GAN,如何将GAN和LSTM结合的。目前来看,还没有成功的应用。原文作者在reddit上回答内容来看,由于GAN的输入是采样自连续分布,而NLP中,每个单词的表达往往是离散的,作者提到NLP可以用增强训练的方法替代。但是也不排除可以有其他方法将GAN和LSTM结合起来的,这也是以后的一个研究点。

感谢zhaoyue童鞋的整理和总结。



来源:paperweekly


原文链接


相关文章
|
11月前
|
测试技术 UED
【CSDN第五期竞赛】说说自己的感受吧
【CSDN第五期竞赛】说说自己的感受吧
60 0
|
12月前
|
机器学习/深度学习 人工智能 缓存
AI_Papers周刊:第五期
我们研究了语言模型中的上下文学习 (ICL) 如何受到语义先验与输入标签映射的影响。我们研究了两种设置——带有翻转标签的 ICL 和带有语义无关标签的 ICL——跨越各种模型系列(GPT-3、InstructGPT、Codex、PaLM 和 Flan-PaLM)。
154 0
|
12月前
|
机器学习/深度学习 编解码 自然语言处理
AI_Papers周刊:第六期
大型语言模型 (LLM) 因其令人印象深刻的能力而广受欢迎,但对特定于模型的微调或特定于任务的提示工程的需求可能会阻碍它们的泛化。我们提出了 UPRISE(用于改进零样本评估的通用提示检索),它调整了一个轻量级且多功能的检索器,该检索器可以自动检索给定零样本任务输入的提示。
108 0
CSDN竞赛第六期第二题(C++)
鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理,但是这次鬼艺接手了,你能帮鬼艺写一个程序统计每年消耗数量最多的鬼画符吗? 注解(这题是一道找出出现次数最多的字符串的一道题目) 输入描述: 第一行输入整数n.(1<=n<=1000)以下n行输入n个字符串,代表消耗的鬼画符。 输出描述: 输出消耗数量最多的鬼画符(字符串),无需考虑多种鬼画符消耗数量相同的情况。 示例1 输入 5 red red green green hen 输出 red
130 0
|
机器学习/深度学习 人工智能 监控
DayDayUp:7月25日,如何打造技术品牌影响力?顶级大咖独家传授—阿里云乘风者计划专家博主&CSDN TOP1“一个处女座程序猿”《我是如何通过写作成为百万粉丝博主的?》演讲全文回顾
DayDayUp:7月25日,如何打造技术品牌影响力?顶级大咖独家传授—阿里云乘风者计划专家博主&CSDN TOP1“一个处女座程序猿”《我是如何通过写作成为百万粉丝博主的?》演讲全文回顾 目录 个人简介 一、什么内容是受欢迎的写作内容? 1.1、学生(计算机相关)群体 1.2、同行(开发者)群体 1.3、好内容的特点 二、一些经典的技术文章逻辑框架设计 2.1、从写作逻辑和结构角度考虑 (1)、对于bug类型的文章——通过分析刨根问底 (2)、对于学习类型的文章—通过案例学以致用 (3)、对于总结类型的文章—通过思考产生共鸣 2.2、从写作技巧考虑 (1)、题目和摘要必须简单、清晰明了且定位
DayDayUp:7月25日,如何打造技术品牌影响力?顶级大咖独家传授—阿里云乘风者计划专家博主&CSDN TOP1“一个处女座程序猿”《我是如何通过写作成为百万粉丝博主的?》演讲全文回顾
|
机器学习/深度学习 数据挖掘
干货|机器学习基石精选文章链接
下面这部分内容列出了机器学习基石的精选文章。
175 0
干货|机器学习基石精选文章链接
|
程序员
2019 CSDN博客之星第三名,感谢各位支持
2019 CSDN博客之星第三名,感谢各位支持
2019 CSDN博客之星第三名,感谢各位支持
|
机器学习/深度学习 人工智能 安全
|
机器学习/深度学习 人工智能 数据可视化
AAAI 论文 | 为了“服装设计”反抄袭,阿里开发了一套版权算法
近日,由阿里安全和浙江大学合作研发的创新AI算法提出了一种面向服饰版权保护的属性感知细粒度相似度学习方法,从传统关注整体相似度细化到能够关注于局部区域的特定属性的相似度,从而进一步提升了甄别“局部抄袭”的准确率,为服饰版权保护提供更强大的技术支持。
1161 0
AAAI 论文 | 为了“服装设计”反抄袭,阿里开发了一套版权算法