bert 多义词_BERT 与 Attention – 深度学习

BERT与语义理解发展史

最初,有了word embedding思想。它是想把词映射到onehot vector,再把onehot vector映射到一个向量空间。类似于feature提取。

如何训练Word embedding

起初,人们用语言模型来训练word embedding。语言模型,说白了,就是给出上文,让你预测当前的词是什么。

最简单的训练方法,就是把word映射到onehot vector,再把onehot vector映射到向量空间,再加一些neural networks,最后softmax输出一个onehot vector,作为当前值的预测。

后来有了word2vector,它用当前词的上下文,来预测当前词,也即CBOW(continuous Bag-of-words model)。

但是word2vector无法解决多义词的问题,它没有语境信息。

ELMO

ELMO给出了语境问题的解决方案。它用了两层双向向的LSTM。不仅能输出一个单词embedding,还能输出单词在句子中的句法特征,和语义特征。

ELMO的缺点,LSTM抽取信息能力弱于Transformer

GPT

用Transformer做单向信息抽取。

GPT的缺点:没有用双向(正向、反向)抽取

BERT

双向,transformer抽取语义。

Transformer很可能在未来取代RNN与CNN成为信息抽取的利器。

zhuanlan.zhihu.com/p/49271699

Attention注意力模型的强大应用

起初,我们用encoder,decoder来encode语句到语义上, 在decode语义到下游任务中。

比如:输入是中文,输出是英文,这就是翻译系统。

输入是文章,输出时摘要,这就是摘要系统。

输入是问题,输出是答案,这就是QA问答系统,对话机器人。

输入是图片,输出是文字,这就是图片自动描述系统。

输入是语音,输出是文字,这就是ASR系统。

Encoder-decoder的缺陷:所有的输入词的权重都是一样的,没有区别。

Attention模型

Soft Attention

以自动翻译为例,在翻译到目标文本的每个词时,encoder出来的语义Ci都会跟着变化,因为source里的每个单词对当前要翻译的词的贡献度不同

c65a7c3885015f4bc75e92838ff68b3a.png

先举个例子说明什么是

0ae6afa9537d0595664d12c40c51ffe4.png。以“汤姆追逐杰瑞” “Tom chase Jerry”为例。

102ae160152e2ddf2559f5f5145ffc07.png

在翻译“chase”时,chase所占的注意力(0.6)自然比其他的单词”tom – 0.2″”jerry – 0.2″所占的注意力要高。

f2表示encoder对于输入单词的变换函数,如果encoder是RNN的话,他就代表着某个时刻输入

b32c15eb3eab629881c212e9129033d1.png后隐层节点的状态值。

g一般是个加权求和公式

59b3494245f714ecd2a9a75d28b97bf4.png

7172b11f65ca1037f745016a9815a3a9.png 是语句的长度。$a_ij$ 是target输出第i个单词时,source里第j个单词的注意力系数,hj是source里第j个单词的编码向量

我们以RNN作为encoder和decoder为例

e819b795cd30ada6af431d1504ec2c55.png

那么如何找到输出target单词

f731fff36a86957cfd8b26d21a673c6d.png,在

8069cf2cc2172bae2f4718533db9a62d.png时刻,对应的source里每个word的attention呢?也即如何找出

0ae6afa9537d0595664d12c40c51ffe4.png?

让我们把时间退回到t-1,此时在生成

5ea8c60c94a94f0d64f3542e5c44e519.png时,我们知道$H_(i-1)$的值,也知道source里每个单词的hj的值,那么我们以F(H_i-1, hj)计算他们的相似度,算出每个hj所应该对应的注意力概率。

3794c009fe0925b2d5ff9c01bd4dffc5.png

zhuanlan.zhihu.com/p/37601161

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值