我正在尝试了解 word2vec(word embedding) 架构,对此我有几个问题:
- 首先,为什么 word2vec 模型被认为是对数线性模型?是因为它在输出层使用了软最大值吗?
- 二、word2vec为什么要去掉隐藏层?仅仅是因为计算复杂吗?
- 三、word2vec为什么不用激活函数?(与 NNLM(神经网络语言模型)相比。
我正在尝试了解 word2vec(word embedding) 架构,对此我有几个问题:
首先,为什么 word2vec 模型是对数线性模型?因为它在输出层使用了软最大值?
确切地说,softmax 是一个对数线性分类模型。目的是在输出处获得可被视为后验概率分布的值
二、word2vec为什么要去掉隐藏层?仅仅是因为计算复杂性?三、为什么word2ved不用激活函数?比较 NNLM(神经网络语言模型)。
我认为您的第二个和第三个问题是相关的,因为额外的隐藏层和激活函数会使模型变得比必要的复杂。请注意,虽然没有明确制定激活,但我们可以将其视为线性分类函数。看来 word2vec 模型试图建模的依赖关系可以通过输入单词之间的线性关系来实现。
添加非线性激活函数允许神经网络映射更复杂的函数,这反过来可能导致将输入拟合到不保留 word2vec 寻求的依赖关系的更复杂的东西上。
另请注意,线性输出不会饱和,这有助于基于梯度的学习。