Word2Vec与图嵌入:简单神经网络架构的应用
1. SGNS模型的神经架构
SGNS(Skip-Gram with Negative Sampling)是对之前讨论的基本skip-gram模型的一种改进。它不仅效率高,而且在skip-gram模型的不同变体中能提供最佳结果。
原始的word2vec论文似乎将SGNS视为skip-gram模型的效率优化,但实际上它在最终层使用的激活函数方面有着根本不同的架构。原始论文没有明确指出这一点,只给出了改变后的目标函数,这容易造成混淆。
SGNS修改后的神经架构如下:
- 不再使用softmax层。
- 图2.16中的每个观测值$y_{ij}$被独立视为二元结果,而非多项结果(在多项结果中,上下文位置不同结果的概率预测相互依赖)。
- 用sigmoid激活函数来创建概率预测$\hat{y} {ij}$,无论$y {ij}$是0还是1。
- 可以将$\hat{y} {ij}$相对于观测值$y {ij}$的对数损失在所有$m·d$个可能的$(i, j)$值上相加,以创建上下文窗口的完整损失函数。但由于$y_{ij}$的零值数量太多且零值有噪声,SGNS使用负采样来近似这个修改后的目标函数。这意味着对于每个上下文窗口,我们只从图2.16中$m·d$个输出的一个子集中进行反向传播,该子集的大小为$m + m · k$,从而实现了效率提升。
SGNS架构与原始skip-gram模型在基本神经网络使用上有根本不同(使用逻辑激活而非softmax激活),这种差异类似于朴素贝叶斯分类中伯努利模型和多项模型的差异(负采样仅应用于伯努利模型),显然不能将
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



