发布于 2017-11-15 02:27:35
那么,培训语言模型到底是什么呢?
我觉得你不需要训练语料库里的每一个字。只需使用一个序列序列模型,当你预测下一个词,给定先前的单词,你只需选择一个概率最高的。
因此,我有20个由10k个条目组成的矩阵(参数?)
是的,每一步解码。
这是一个正确的实现吗?我有大约2的困惑,它几乎不会在迭代中改变,这肯定不是在通常的范围内,比如大约100。
您可以首先阅读一些开源代码作为参考。例如:word-rnn-tensorflow和char-rnn-tensorflow。-log(1/10000)是一个很大的困惑,约为每字9(这意味着该模型完全不经过训练,完全随机选择单词,因为调整后的模型会降低复杂度,所以2是合理的)。我认为你的陈述中有100句可能意味着每句话的复杂性。
例如,如果使用损失计算复杂性,则如果将average_across_timesteps和average_across_batch都设置为True为默认值,则结果将小于10;但如果将average_across_timesteps设置为False,且序列的平均长度约为10,则大约为100。
https://stackoverflow.com/questions/47297321
复制相似问题