RNN语言模型和序列生成

  1. 语言模型告诉你特定句子出现的概率是多少。
  2. 为了建立一个好的RNN模型,需要包括很大语料库的训练集。
  3. 将每个单词都转成one-hot向量,包括结尾标记和标点符号、未见单词,作为输入。
  4. 第一个时间步的输入是零向量,做一个sorftmax,输出字典里所有单词的概率。以后每一步的输入为一个单词one-hot,输出下一个单词的概率。对所有输出交叉熵求和,再反向传播。
  5. 将输出相乘得到整个句子的概率。
  6. 新序列采样:根据第一个时间步输出概率向量输出,然后作为下一个时间步输入。直到遇到EOS序列生成结束。基于字符的语言模型不善于捕捉句子前部分是如何影响后面的部分,而且训练代价昂贵。

 

posted @ 2019-08-29 20:29  喜琅琅  阅读(869)  评论(0编辑  收藏  举报