基于循环神经网络的字符级语言模型

34 阅读1分钟

基于循环神经网络的字符级语言模型

字符级语言模型的优缺点见下 好处:不用担心 (\left<\text{UNK}\right>) 的出现 坏处:最终的序列要长的多;训练也要复杂得多(对内存和速度的要求都要高得多) 现如今,人们一般使用单词级RNN,但是也有特殊情况会使用字符级RNN 在训练了一个RNN后,我们可以利用这个RNN采样,去大概看一下他学会了些什么 采样步骤 * 选择第一个单词/字符作为第一个输入

  • 对当前的输入,用RNN生成一个分步,再在这个分布里面随机采样一个单词/字符作为下一个输入(例如利用 numpy.random.choice ),重复此步骤
  • 如果 (\left<\text{EOS}\right>) 是词典中的一部分,那么当采样到结束标记时就可以停止采样了;否则,可以规定一个输出单词的数量,如 (20) 个或者 (100) 个什么的 注意,如果我们的词典中有 (\left<\text{UNK}\right>) ,我们是有可能生成这个单词/字符的。一种解决方法就是拒绝这个标记,重新取样,或者不介意的话就不管 效果如下

原文链接: www.cnblogs.com/dingxingdi/…