首页 文章

递归神经网络文本生成器

提问于
浏览
-1

我是神经网络的新手,我正在尝试制作一个生成文本的Elman RNN . 我在Java中使用Encog . 无论我为网络提供什么,培训都需要很长时间,而且它总是会出现重复的字符序列 . 我对神经网络有点新意,所以我只想确保我的概念正确 . 我不打算分享代码,因为无论如何,Encog都会做出所有困难的事情 .

我正在训练网络的方式是我为训练数据中的每个字符制作一个数据对,其中输入是字符,输出是下一个字符 . 所有这些都在一个训练集中 . 这几乎就是我必须编写的内容,因为Encog会处理其他所有内容 . 然后我只是将一个角色送入网络,然后返回一个角色,然后将其中的一个输入,然后输入下一个,依此类推 . 我假设人们通常有一个结束字符或某种东西,以便网络告诉你何时停止,但我只是让它停在1000个字符以获得一个很好的文本样本 . 我知道Elman网络应该有上下文节点,但我认为Encog正在处理这个问题 . 上下文节点必须执行某些操作,因为相同的字符并不总是具有相同的输出 .

1 回答

  • 1

    在一个小型数据集中,RNN表现不佳,因为它必须从一开始就学习一切 . 因此,如果您有一个小数据集(通常训练集少于1000万个字符被认为很小),那么收集更多数据 . 如果你得到一个重复的字符序列,那没关系 . 您需要做的就是训练更长时间 .

    还有一个建议是从字符级别切换到字级别模型 . 你将能够从中产生更少的乱码输出 .

相关问题