为什么我们使用输入隐藏权重矩阵作为单词向量而不是隐藏输出权重矩阵?

时间:2017-09-06 02:12:56

标签: nlp gensim word2vec

在word2vec中,训练后得到两个权重矩阵:1。输入隐藏权重矩阵; 2.隐藏输出权重矩阵。人们会使用输入隐藏权重矩阵作为单词向量(每行对应一个单词,即单词向量)。这就是我的困惑:

  1. 为什么人们使用输入隐藏权重矩阵作为单词向量而不是隐藏输出权重矩阵。
  2. 为什么我们不将softmax激活功能添加到隐藏层而不是输出层,从而防止耗费时间。
  3. 另外,澄清关于如何获得像这样的单词向量的直觉的评论将不胜感激。

2 个答案:

答案 0 :(得分:0)

问题1:

因为输入权重矩阵用于target word,而输出权重矩阵用于context word。我们试图学习单词的向量是单词本身的向量target word - 因为word2vec的直觉是words(as target word!) which occur in similar contexts learn similar vector representations

因此,context word的向量仅存在于训练的需要中,人们可能会想到使用与target word相同的向量,但单独学习这两个向导会更好,例如,如果我们使用相同的向量表示然后我们的模型产生在其自身的上下文中出现的单词的最高概率(两个相同向量的点积),但它显然是错误的(我们多久经常使用许多相同的单词?)。

答案 1 :(得分:0)

关于输入-隐藏权重矩阵和隐藏-输出权重矩阵这两个有趣的研究论文。 Mitra等人,“文档排名的双重嵌入空间模型”,arXiv 2016.(https://arxiv.org/pdf/1602.01137.pdf。 与您的问题类似,本文研究了这两个权重矩阵的不同之处,并声称它们编码的单词具有不同的特征。

总体而言,根据我的理解,根据您的数据和要解决的问题,您可以选择使用输入隐藏权重矩阵(惯例),隐藏输出权重矩阵或组合的词嵌入形式。

相关问题