首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从回归神经网络到生成神经网络

从回归神经网络到生成神经网络
EN

Data Science用户
提问于 2017-02-03 11:06:01
回答 1查看 1.1K关注 0票数 4

在游戏标题的基础上,利用文字嵌入、RNN和一些稠密层的神经网络来预测计算机游戏评论的评分。我在Python中使用了Keras。我想知道是否有可能将我的模型转换成一个具有高(或低)预测分数的生成模式。可以通过我的网络进行野蛮、强制和运行所有组合,但也许有一个更聪明的解决方案。

EN

回答 1

Data Science用户

发布于 2017-02-03 12:29:24

有不止一种生成网络。然而,我不知道一种通用的方法,这种方法可以采用经过训练的基于RNN的网络,并从本质上向后运行以获取期望产生给定输出的输入。所以我建议一些我见过有效的生成方法,但这需要你构建和训练一个新的网络。

您可以引入一些关于学习回归模型的典型网络大小的知识,但您不能直接重用回归模型并以某种方式逆转它。

请注意:尽管我曾短暂地使用过两种类型的生成网络,但我从未构建过一种以期望的目标为条件的网络,就像您想要与之合作的目标。

使用一种纯粹基于RNN的方法,您可以让网络预测标题中的下一个字母/单词--一个分类器--同时将标题(或它的X字符/单词)和评级(标准化)作为输入。

然后,一旦经过训练,您就可以从RNN中随机取样以生成新的字符串。这是卡帕在他现在著名的博客"递归神经网络的不合理有效性“中使用的技巧。有许多这样的序列抽样发生器的例子可供研究。

您还可以获取这样一个模型的输出,并查看它是否与前面的回归模型相匹配。但我认为,如果没有,你就没什么办法了,但如果没有达到预期,也许可以过滤掉生成的标题--例如,生成许多预期评级为10的标题,只有在你的初始模型也同意接近10评级时,才能显示出一个。

我能找到的最相关的Keras示例是lstm_文本_generation.py

一个基于RNN的生成对抗网络(GAN)也可以实现你想要的。然而,请注意,甘斯是出了名的微妙的训练。

一个GAN实际上是2个网络。您创建一个鉴别器和一个生成器,并并行地训练它们。生成器采用一个小的完全随机向量(例如,从N(0,1)采样的10个数字),再加上您想要达到的等级。然后生成一个文本序列输出。鉴别器将接受文本输入和评级,如果它是真实的,则输出1;如果是假的,输出0。您可以提供真实的培训数据或从生成器到鉴别器的输出,并使用这些数据对其进行训练。你根据发电机是否欺骗了鉴别者来训练它。

棘手的部分是保持两个组成部分之间的平衡--如果两者中的任何一个相对于另一个变得太好,训练就会停滞。

然而,如果你能让它工作,你将有一个真正的生成模型,它样本从一个总体空间(你输入的噪声向量)加上是取决于评级。

我能找到的最相关的Keras示例是马恩斯特_acgan.py,它生成一个图像,而不是文本序列,但希望能给出一个开始。

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

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

复制
相关文章

相似问题

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