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