我正在设计一个散文模仿系统。它会阅读一堆散文,然后模仿它。它主要是为了好玩,所以模仿散文不需要太多意思,但我想尽可能地做到最好,只需要很少的努力。
我的第一个想法是使用我的示例散文来训练分类前馈神经网络,该神经网络将其输入分类为训练数据的一部分或不是部分。然后,我想以某种方式反转神经网络,找到新的随机输入,这些输入也被训练的网络分类为训练数据的一部分。这样做的显而易见和愚蠢的方法是随机生成单词列表并仅输出分类超过特定阈值的单词列表,但我认为有更好的方法,使用网络本身将搜索限制到输入的某些区域空间。例如,也许您可以从随机向量开始并执行梯度下降优化以在随机起始点周围找到局部最大值。这种模仿过程是否有一个词?有哪些已知的方法?
答案 0 :(得分:2)
Generative Adversarial Networks(GAN,Goodfellow 2014)及其更先进的兄弟姐妹如Deep Convolutional Generative Adversarial Networks如何?有很多适当的研究文章,还有更温和的介绍,如this one on DCGAN和this on GAN。引用后者:
GAN是一个有趣的想法,最初是在2014年由a引入的 蒙特利尔大学的一组研究人员由伊恩领导 Goodfellow(现在在OpenAI)。 GAN背后的主要思想是拥有两个 竞争神经网络模型。一个人将噪音作为输入和 生成样本(因此称为生成器)。另一种模式 (称为鉴别器)从两个发生器接收样本 和训练数据,并且必须能够区分 两个来源。这两个网络连续玩游戏,其中 生成器正在学习生成越来越逼真的样本,并且 鉴别者正在学习如何变得越来越好 区分生成的数据和实际数据。这两个网络是 同时训练,希望竞争对手 驱动生成的样本与实际数据无法区分。
(DC)GAN应该很适合你的任务。