【问题标题】:word prediction with rnn using word2vec使用 word2vec 使用 rnn 进行单词预测
【发布时间】:2017-06-13 14:39:12
【问题描述】:

我正在尝试使用循环神经网络预测单词。 我通过将独立预训练的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

哪个更好?还是有其他选择?

如果有任何参考,请告诉我。

【问题讨论】:

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

标签: nlp recurrent-neural-network word2vec


【解决方案1】:

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

然而,最近的一篇论文建议将输入词向量与输出词分类器联系起来,并对它们进行端到端的训练。这显着减少了参数的数量。 https://arxiv.org/abs/1611.01462

关于架构,至少在训练方面我更喜欢第二种选择,因为第一种会丢失关于第二个和第三个单词的信息,而这些信息也可用于训练。

【讨论】:

  • 我阅读了这篇论文,并认为这可能是改进我的模型的一种方法,但这不是我想要的。
  • 我想计算网络输出(下一个词向量的预测)和目标词的词向量之间的损失。但在那篇论文中,他们将网络的输出转换为所有词的分布,并通过目标词和嵌入层获得目标分布。然后用 cce-like 自己的损失函数计算损失。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 2019-01-30
  • 2020-10-29
  • 2016-08-24
  • 2018-06-20
  • 2019-07-07
  • 1970-01-01
相关资源
最近更新 更多