最近,Facebook 发布了一篇关于名为 StarSpace 的通用神经嵌入模型的论文。
在他们的论文中,他们解释了模型的损失函数和训练过程,但并没有过多地强调模型的架构。
有人知道背后的NN是什么样的吗?
最近,Facebook 发布了一篇关于名为 StarSpace 的通用神经嵌入模型的论文。
在他们的论文中,他们解释了模型的损失函数和训练过程,但并没有过多地强调模型的架构。
有人知道背后的NN是什么样的吗?
我认为将 StarSpace 称为神经模型会产生误导。您当然可以将其视为具有单层和线性激活函数的神经网络,但我认为这不会很有启发性。他们在那篇论文中没有过多地讨论架构是有原因的——除了对维数的限制之外,实际上没有任何关于神经元层、激活函数、潜在变量或其他任何东西的内容。
事实上,思考 StarSpace 最有用的方法是,它的核心就像跨自然语言、图形等的许多(也许是最)流行的嵌入技术一样,它是一种低秩矩阵分解。采样程序正在做的是以某种方式使用数据来生成正定 gram 矩阵。最初看起来并非如此,因为这仅通过采样完成 - 但是,如果您要找到每个输入/目标对的期望值,您会发现优化目标是最大化向量相似度的期望值项目对上的联合分布减去边际分布(这是由于负样本)。本质上,
如果这对于 SGNS 隐式分解移位的 PPMI 矩阵或 GloVe 显式分解相同的松弛变体听起来很熟悉,那么很好。具体情况不同,StarSpace 在其使用的采样分布方面具有更大的灵活性,但原理是相同的。如果我没记错的话,“Neural Word Embedding as Implicit Matrix Factorization”和“Improving Distributional Similarity with Lessons Learned from Word Embeddings”是 Levy 在 2014 年和 2015 年发表的精彩论文,讨论了神经嵌入和 PPMI 等显式矩阵分解技术之间的联系- SVD 和手套以及使它们成功的原则。
类似地,“作为矩阵分解的网络嵌入:统一 DeepWalk、LINE、PTE 和 node2vec”很好地讨论了神经网络嵌入与与神经词嵌入相同的隐含目标之间的联系。
简而言之,就建筑而言,StarSpace 听起来并没有发生太多事情,因为没有。它实际上是在调整嵌入空间中点的位置,以使相关项目彼此之间比不相关项目更相似。