在 word2vec paper ,他们使用线性激活函数。我的原因可能是他们提供了足够的训练数据来学习词嵌入,因此不需要非线性激活函数,我是对的吗?
此外,如果我们在隐藏层中使用非线性激活函数,那么我认为结果应该会更好。那么为什么谷歌在单词到向量的情况下使用线性激活函数呢?
最佳答案
在我看来,您的困惑大部分来自于认为他们的模型完全是线性的。这不是真的,因为实际上最后总是有一个 softmax 层。线性是指之前的一切,这与 NNLM 不同。
请记住,所有单词表示方法的主要思想是预测相邻单词,即通过中心单词最大化上下文的总条件概率(反之亦然):
因此目标函数必然以最终的 softmax 层(或类似层)结束。我鼓励您阅读this post有关更多详细信息,它非常简短且写得很好。
你是对的,神经网络的非线性程度越高,它的灵 active 就越大,从而更好地逼近目标分布。在这种情况下,他们认为额外的灵 active 并没有带来返回:最终,他们更快地获得了非常好的结果,这使得可以将此方法扩展到巨大的语料库,从而提供更好的结果。
旁注:线性回归根本不需要训练来找到解决方案,有一个封闭的公式(尽管大矩阵存在技术困难)。
关于machine-learning - Word to Vector 中的线性激活函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45115809/