深入浅出话表示学习:从Word2vec到Elmo,再到GPT,最后到BERT

本文介绍了表示学习的发展历程,从Word2vec的基础介绍,到Elmo结合上下文的改进,再到GPT的单向Transformer应用,最后聚焦于BERT的双向Transformer革新。每个模型都在解决前一代的问题,不断推进自然语言处理的进步。

首先,具体介绍各个模型特点之前,先从感性层面认识一下,这些模型到底在做什么:Word2vec是该领域从无到有的一个突破,后面所有厉害的模型都是在丰富完善表示学习这种方法。所以这里用Word2vec说明:比如用向量表示‘篮球’这个词,假定向量维度是256维,每一维表示不同的属性,随便说一下:第一维表示这个词有没有生命,第二维表示这个词有几条腿,第三维表示这个词跟体育相不相关,第四维表示这个词的感情色彩是积极还是消极,第五维表示这个词吧啦吧啦……,……。可以发现向量维度越高,对词刻画的越饱满,包含的信息也就越多(但是解释性就没那么强了,我们不能拿一个训练好的模型说出词向量的每个维度代表什么属性,但大量研究证明该方法确实有效,这也是深度学习被称为黑盒子的原因了)。

接下来,分别介绍各个模型的优缺点及其改进。

Word2vec:开疆拓土的伟型(模型)

在Word2vec被提出之前,自然语言处理领域底层对字符串的表示多是用one-hot向量表示:就是字典总共有多少词,每个词的向量除了其所在位置为1外,其它位置都是0,这种表示方法会随着字典容量的扩大对上层的处理任务造成维度灾难,然而,随着超算和云计算的发展,这还不是最主要的问题,制约该模型性能上限的因素是不能计算词语间的相关性,但自然语言中又有很多相似或相关的词,比如“开心”和“高兴”肯定比“开心”和“衬衫”距离要近,而用one-hot方法表示的任意两个的点积都是零。所以Word2vec,应运而生,该模型解决了one-hot的两个问题:(1)将高维向量映射到低维向量中,方便后续处理;(2)放弃稀疏的表示方法以满足词语间的相关性计算。至于模型的具体结构和如何训练,限于篇幅,这里不再展开来讲。

看上去皆大欢喜,Word2vec好像很完美,其实不然。虽然Word2vec解决了one-hot的两个问题,但是其自身也存在缺陷,也是自然语言处理领域的老大难问题:歧义,比如‘苹果’一词,在不同场景中有不同的含义,而通过Word2vec方法表示的词向量则忽略了这层信息,也就是没有考虑上下文。

老规矩,为了解决Word2vec的确定,elmo出现了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值