是不是被各种Embedding模型弄得眼花缭乱啊?这篇论文统一了很多类似模型,提供了一个简单框架。论文可点击阅读原文下载。 这篇文章来自David Blei的实验室。文章的核心思想非常直观,那就是如何把Word2Vec的思想能够给Generalize到其他应用场景,提供一个比较通用的模型框架。在这个新的框架下,其他的很多类似模型都能够归纳成为这个新框架的特殊形式。 新的框架模型叫做Exponential Family Embedding(EF-EMB)。其中包含三个要素: A Context Function A Conditional Exponential Family An Embedding Structure 首先,Context Function是定义如何把当前的数据点(Data Point)和一个Context里面的其他数据点联系起来。这是一个建模的选择。比如,对于Language Data来说,这个Context可以就是周围的字;而对于Neural Data来说,这个Context则可以是周围的Neuron;对于Shopping Data来说,这个Context则可能就是购物车里的其他商品。 其次,Conditional Exponential Family定义一个合适的Distribution,来解释数据的产生过程。比如,对于Language Modeling来说,这个分布就是Categorical Distribution;而对于Real-Valued数据来说,则就是Gaussian Distribution。另外,在这个Conditional Exponential Family的定义里,每一个Data Point有两种Embeddings:一种叫做Embedding Vector;另一种叫做Context Vector。通俗得讲,也就是每个数据点分解成为了Embedding Vector和一组Context Vector(这个被上面的Context Function所定义)的乘积形式。 第三个要素Embedding Structure定义在建模中,Embeddings是如何被共享(Shared)的。比如,直播,对于Language Data来说,每一个词只有唯一的Embedding Vector和唯一的Context Vector。还有其他的一些Setting里,这两者也可以是相同的。 在定义了之前的这些结构以后,Objective Function则是Log Conditional Probability的加和,外加Log定义的Regularizer。 文章讨论了好几个模型的例子,这里就不复述了。总之,atv,现有的一些Embedding模型都很容易在这个框架下被重现。 模型的Inference则采用了SGD。文章里还讨论了在SGD的情况下,如何得到类似于Negative Sampling的结果。同时,文章后面有详细的模型讨论。 总之,这篇文章很值得细看一下。一方面也是因为这里面统一了很多关于Embedding模型的讨论;另一方面,从软件工程角度来说,也许也能够设计和实现一个类型的模型框架。 ©机器之心经授权转载,转载请联系作者获得授权。 ?------------------------------------------------ 加入机器之心(全职记者/实习生):[email protected] 投稿或寻求报道:[email protected] 广告&商务合作:[email protected] (责任编辑:本港台直播) |