2017-06-13 181 views
0

我试图用循环神经网络来预测单词。 我正在训练网络,将独立预训练的word2vec字作为输入。rnn使用word2vec进行单词预测

我想知道是否可以使用目标词的word2vec来计算错误代价。 它似乎不工作,我从来没有见过这样的例子或论文。 是否可以使用word2vec作为计算错误成本的目标值? 如果是这样,我应该使用什么样的成本函数? 如果不是,请以数学方式解释原因。

我应该如何设置输入和目标? 现在我使用的架构如下图所示:

input : word1, word2, word3, target : word4 
input : word1, word2, word3, word4, target : word5 

也许我可以像使用其他选项:

input : word1, word2 target : word2, word3 
input : word1, word2, word3, target : word2, word3, word4 

哪一个更好?还是有另一种选择?

如果有任何参考让我知道。

+0

感谢您编辑我的问题。 应该更关心标签吗?标记。 –

回答

0

预测通常是通过输出softmax层进行的,该输出给出词汇表中所有单词的概率。

然而最近的一篇文章表明,与所述输出字分类捆扎输入字矢量和训练他们端至端。这大大减少了参数的数量。 https://arxiv.org/abs/1611.01462

至于架构,至少训练以来的第一个丧失有关,也可用于训练的第二个和第三个单词的信息,我宁愿第二个选项。

+0

我看报纸,并认为这可能是提高我的模型的方式之一,但它不是我所期待的。 –

+0

我想计算网络输出(下一个单词向量的预测)和目标单词的单词向量之间的损失。 但在论文中,他们转换网络的输出转换成分布在所有的话,并得到目标与目标词和嵌入层分布。然后用cce计算损失 - 就像他们自己的损失函数一样。 –