word2vec与cw2vec的数学原理

统计语言模型(Statistical Language Model)

传统的统计语言模型是表示语言基本单位(一般为句子)的概率分布函数,这个概率分布也就是该语言的生成模型[1,2]。在这里仅讨论n-gram语言模型和神经网络语言模型(Neural Network Language Model,NNLM)。前者通过前n-1个上下文词出现的频次和它们共同出现的频次关系来表示简化计算,使复杂度大大降低。后者通过计算词向量来实现,在该过程中,使用一个三层的神经网络结构来训练词向量。

word2vec的原理

词向量的作用已经不需赘述,谷歌提出了两种模型[3,4]:

1、CBOW(Continuous Bag-of-Words Model,连续词袋模型)

这是一种与前向 NNLM 类似的模型,不同点在于 CBOW 去掉了最耗时的非线性隐层且所有词共享隐层。如下图所示。可以看出,CBOW 模型是预测 P(w |Context(w) ),即前后上下文预测中间的字。


图1 模型简介图

2、Skip-Gram

Skip-Gram 模型的图与 CBOW 正好方向相反,预测概率为P(w |Context(w) ),即中间的字预测前后上下文。

疑问:为什么要使用 Hierarchical Softmax 或 Negative Sampling ?

不管是CBOW还是Skip-Gram模型,都要使用Hierarchical(分层) Softmax 或者Hierarchical Softmax(负采样)的方法才能完成词向量的训练。原因是p(wo |wi )的结果是一个多分类的logistic regression,即 softmax 模型,对应的 label 是One-hot representation,只有当前词对应的位置为 1,其他为 0。普通的方法是 p(wo |wi ) 的分母要对所有词汇表里的单词求和,这使得计算梯度很耗时。另外一种方法是只更新当前 wo 、wi 两个词的向量而不更新其他词对应的向量,也就是不管归一化项,这种方法也会使得优化收敛的很慢。

Hierarchical Softmax 使用哈夫曼编码构造的一连串两分类。但是在训练过程中,模型会赋予这些抽象的中间结点一个合适的向量,这个向量代表了它对应的所有子结点。因为真正的单词公用了这些抽象结点的向量,所以Hierarchical Softmax 方法和原始问题并不是等价的,但是这种近似并不会显著带来性能上的损失同时又使得模型的求解规模显著上升。

Negative Sampling 也是用二分类近似多分类 , 区别在于使用的是one-versus-one 的方式近似,即采样一些负例,调整模型参数使得模型可以区分正例和负例。换一个角度来看,就是 Negative Sampling 有点懒,他不想把分母中的所有词都算一次,就稍微选几个算算,选多少,就是模型中负例的个数,怎么选,一般就需要按照词频对应的概率分布来随机抽样了。

cw2vec

cw2vec是蚂蚁金服2018年提出的基于笔画的中文词的word embedding 方法[5]。文中将中文笔画划分为5类,每个词语使用 n-gram 窗口滑动的方法将其表示为多个笔画序列。每个 gram 和词语都被表示成向量,用来训练和计算他们之间的相似度。


图2 词语的相似度
图3 条件概率
图4 负采样的损失函数

该实验中使用组成目标词语的所有 gram 向量和词语向量的内积和来表示词语之间的相似度,为了简化计算文中也采用了负采样的方法。在使用负采样的分布 U(w) 时,为了防止数据稀疏性问题,常采用 U(w)的3/4次方,实验也取得了良好的效果。

一个 word embedding 的可视化:链接

Tricks:

1)在相同语料和vector 维度下,skip-gram在semantic下表现极为出色,在syntactic下也非常好。

2)CBOW在syntactic下表现很不错(但还是弱于skip-gram),但在samentic下的表现去非常糟糕。

3)在固定C=5的情况下,所有基本相同的情形,skip-gram的是训练时长差不多是CBOW的三倍。

4)对于CBOW,训练时长与语料规模基本成1倍关系,与维度也基本成1倍关系。

5)对于skip-gram,训练时长与语料规模基本成1倍关系,与维度基本成1.5倍关系。

6)在大规模语料上,通过NNLM训练高维度词向量,几乎不可能,成本太大了。

7)在大规模语料+高维度情况下,此时CBOW在syntactic上的表现开始不弱于skip-gram了。

综上,skip-gram 训练时间长,但是效果较CBOW好

参考:

【1】word2vec的数学原理

【2】Deep Learning实战之word2vec

【3】Efficient Estimation of Word Representations inVector Space

【4】stributed Representations of Words and Phrasesand their Compositionality

【5】cw2vec: Learning Chinese Word Embeddings with Stroke n-gram Information

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容