要使用下面的代码,强烈建议您至少使用一个更高端的NVIDIA GPU。在另一篇文章中我介绍了我的硬件配置()。你还需要安装Tensorflow。 PTB文本和字符模型 Tensorflow的语言建模教程使用非常小的Penn Tree Bank数据集中更小型的模型。不过,它是使用RNN做语言建模的非常好的介绍。更“大”的模型需要在一台GTX 1080上花费约3.5小时训练。 完整源代码可以在GitHub上获得(https://github.com/deeplearningathome/rnn_text_writer)。 语言建模 语言建模是一种在一系列所有可能的词序列中学习概览分布P(w_1, ..., w_n)的任务。其目标是理解这样一个事实:在概率分布P中真正的句子会比随机的单词组合拥有更大的概率。一旦这些概率分布原理被学会,我们就能把它当成一个生成模型,从中建立样本,以生成新的文本。从语言模型中抽取样本是最有趣的部分,但是,在TensorFlow的官方教程中并不包含这一部分,所以,我们在这里进行补充。 首先,我们对模型的图进行调整,把样本生成器包括进来: 接下来,我们增加抽样函数,由它来喂给数据并实际执行抽样:
注意到这一函数接收到了一个种子序列( seeding sequence),并将根据这一种子序列,抽取它的第一个样本。对于第一个之后的所有样本,它会同时考虑种子序列和此前生成的样本。你可以生成任意长度的样本序列。 PTB 数据集很小,并且执行的是现代的标准。在数据集中,它只有887521个单词,附带一个词汇表,内含10000个不同的词汇。我会使用这一数据库训练2个模型:1)一个使用单词作为输入的语言模型;2)只使用字母作为输入的语言模型。 基于单词的PTB语言模型 在这里,我遵照TensorFlow的官方教程,实现了78.853的测试复杂度,这与Zaremba等人提供的原论文《Recurrent Neural Network Regularization》是一致的。在训练模型之前,我在每一epoch上增加了抽样步骤。
我的种子词组是“the balance is supplied”,这是在原始的数据中找到的词组。在进行训练并随机的生成模型之前,我得到的一些东西包括: influx stretching stein formula sell petco intellectual underwear conglomerate rowe microsoft than audio exactly cardiovascular azoff order boasts usx child-care 26-week petrie commodity misconduct recycling 正如早先期待的那样,这没什么意义,意味着我们在词序列的(目前随机的)概率分布并不是特别有用。让我们检查一下,离最终的训练还有多远。再一次的,我们使用种子词组“the balance is supplied”。在经历了54epoch后,我得到的结果是: by slowing growth jack chips the government 's chief financial officer in detroit said the intention of investment to be produced by citicorp 55次epoch 后我得到: as defendants allow many purchasers to participate in proportion to those who are no greater than a temporary recession to invest he admits the 注意,至少从语法上,这看起来已经很像英语了。例如,在“the balance is supplied”之后,单词 “as” or “by” 比“influx”在语法上更正确。还有,后面两句话的 “topic” 是 finance或investing,而第一句话至少随机的单词组合(本来也应该如此)。 基于字母的PTB语言模型 我把代码中的配置也写出来了:
为了便于比较,我使用了相同的种子词组:“the balance is supplied”。当我使用随机生成的模型抽样,获得的东西如下: usb9xkrd9ruaias$dsaqj’4lmjwyd61\se.lcn6jey0pbco40ab’65<8um324 nqdhm<ufwt#y*/w5bt’nm.zq«2rqm-a2'2mst#u315w&tNwdqNafqh 这是一个字母的随机序列。令人意外的是,在第一个epoch之后(验证复杂度为3.64),我得到的结果如下: to will an apple for a N shares of the practeded to working rudle and a dow listed that scill extressed holding a (责任编辑:本港台直播) |