我正在尝试用递归神经网络预测单词。我通过将独立预训练的单词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
哪一个更好?还是有其他选择?
如果有任何参考,请告诉我。
预测通常是通过输出softmax层进行的,该层给出了词汇表中所有单词的概率。
然而,最近的一篇论文建议将输入词向量与输出词分类器绑定并对其进行端到端训练。这大大减少了参数的数量。https://arxiv.org/abs/1611.01462
关于架构,至少对于培训,我更喜欢第二种选择,因为第一个会丢失有关第二和第三个单词的信息,这些信息也可用于培训。