首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用CNN生成/合成数据

用CNN生成/合成数据
EN

Data Science用户
提问于 2017-08-30 08:49:06
回答 1查看 50关注 0票数 2

有可能使用经过训练的CNN来生成数据吗?在对X和相应的Y的数据进行训练之后,给出一个新的Y来生成X?还是我必须使用GANs或RNN?我对这个话题还是很陌生的,所以如果我必须朝这个方向走的话,我很乐意有一些线索。

目前,我正在学习tensorflow,并试图实现“卷积序列序列学习”论文。

澄清:我想使用CNN来生成文本序列。我有一个大型的描述数据库,也是1000个类中的一个,我想尝试使用CNN(因为我来自图像分类)。

EN

回答 1

Data Science用户

回答已采纳

发布于 2017-08-30 09:17:35

一般来说,如果你想要生成X,或X,Y对中的数据,那么你应该从训练一个生成模型开始,而不是一个判别模型,这是大多数神经网络分类器的特点。生成模型有多种类型。

变分自动编码器 (VAE)和生成对抗性网络 (GAN)最近在图像上得到了有趣的结果--尽管两者都需要大量的训练数据和时间,并且都局限于相对较小的图像维数(例如128x128)。这两种设计有许多子类型,包括一个联合VAEGAN,它试图将两者的优点结合起来。

有了受过训练的CNN,你就可以生成一些数据。您可以做的是从X和Y的任意值开始,然后使用反向传播来计算代价函数的梯度。但是,不是使用梯度来更新权重,而是将所有的渐变传播到输入,并使用输入处的梯度来更改X,重复过程多次。

本质上,这就是深度梦想和风格转换的工作方式(虽然这些值一般不使用Y值,但在层中选择了激活值)。对于这种方法,有一个重要的警告--您所生成的X将不会从网络已经训练过的任何X分布中平均抽样。相反,您将为给定的Y生成一个“超级刺激”X。

你提到了RNNs。其中一种可以用来生成X的方法是通过从它们的输出中抽取样本并将其反馈到输入中。对于文本序列,这倾向于生成语法上正确的废话。我不确定这是否会被认为是一个严格的生成模型,因为我不清楚输入X是否被均匀抽样。很可能您也可以使用这种方法来生成图像,尽管您必须注意定义序列是什么(仅仅是一个像素序列逐行可能不会产生任何可识别的图像)。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/22702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档