NLP 3.5 Transformer的结构,BERT&masked language model

1411-李同学

发表文章数:148

首页 » 算法 » 正文

1、Transformer

NLP 3.5 Transformer的结构,BERT&masked language model
LSTM 和 transformer可以互相替代。

Long term dependency 是 rnn/lstm-based models 的主要问题。以及串行计算的高时间复杂度。shallow model,只在时间维度上deep,纵向的角度是浅层的。

Linear computation 是时序模型的通病。

1.2 Transformer的结构

encoder+decoder: 每个部分都是deep的

每个encoder:self-attention+feed forward

NLP 3.5 Transformer的结构,BERT&masked language model

1.3 Encoder结构

NLP 3.5 Transformer的结构,BERT&masked language model

1.4 Decoder 结构

NLP 3.5 Transformer的结构,BERT&masked language model

1.5 Each encoder block

NLP 3.5 Transformer的结构,BERT&masked language model

Self-attention:q,k,v

NLP 3.5 Transformer的结构,BERT&masked language model
针对thinking这个单词,计算每个词对于它的依赖性的权值的过程。

NLP 3.5 Transformer的结构,BERT&masked language model
在self-attention的计算中,把一句话的每个词当作平等的关系计算它们之间的相关性。

NLP 3.5 Transformer的结构,BERT&masked language model
NLP 3.5 Transformer的结构,BERT&masked language model
通过self-attention可以计算每两个词之间的相关性,颜色越深代表相关性越强。

Multi-head attention 同时定义多个q,k,v矩阵。

NLP 3.5 Transformer的结构,BERT&masked language model

最终的输出的是每一组q,k,v拼接起来的向量:z1+z2+z3+z4+z5+Z6+Z7,再定义一个w0,使其降维成z。

NLP 3.5 Transformer的结构,BERT&masked language model

1.6 Encoder layer 部分代码

NLP 3.5 Transformer的结构,BERT&masked language model
流程:经过attention layer,经过feedforward net

定义multi head attention & feed forward network

NLP 3.5 Transformer的结构,BERT&masked language model
NLP 3.5 Transformer的结构,BERT&masked language model

2、decoder 端

self-attention+encoder/decoder attention+feedforward

2.1 DecoderLayer

NLP 3.5 Transformer的结构,BERT&masked language model

2.2 encoder-decoder attention

NLP 3.5 Transformer的结构,BERT&masked language model
enocer-decoder attention使用的是encoder的output+decoder的output

NLP 3.5 Transformer的结构,BERT&masked language model

3、BERT

3.1 Pretraining embedding

  • Word2vec。问题:单词在不同场景下语义不同,embedding应该也不一样。
  • Context representation

3.2 Learn contextualized embedding

Language model/LSTM+ unsupervised data:给定当前单词,预测下一个单词

pretraining+fine tuning:预训练一个模型,拿到一个新的task,微调参数,使得模型可以在new task上得到好的结果

NLP 3.5 Transformer的结构,BERT&masked language model

3.3 回顾language model

语言模型一般是单向的,优点是比较适合生成单词。但当目的是:想学习出最好的单词表示法(在上下文中),比如学习w2在整句话中的含义,需要观察整个句子的单词。

如何改进语言模型?

1)bidirectional LSTM:相当于训练了两个模型。

NLP 3.5 Transformer的结构,BERT&masked language model

2)Fully bidirectional context embedding

NLP 3.5 Transformer的结构,BERT&masked language model

为什么language model 要设计成单向?

计算的便利性。

3.4、Masked language model

把一些单词随机的去掉,去掉的单词加入特殊符号,任务变成通过一层模型,输入带特殊符号的句子,预测出那些被去掉的单词。使用交叉熵计算loss进行优化。

NLP 3.5 Transformer的结构,BERT&masked language model
masked language model 预测的是被masked 的位置,计算loss只计算被标记的单词。

为什么要这么做?
为了让模型更加稳定:add noise(drop out 也属于add noise的方法),希望模型在加入noise后也能有很好的表现
De-noising auto-encoder:输入的向量加入一些噪声输入到encoder,通过学习使得decoder依然可以很好的复原未加入噪声的图片。

masked language model存在的问题

domain的不匹配,测试数据是不包含mask的
如何解决:
NLP 3.5 Transformer的结构,BERT&masked language model

3.5 Masked language model in BERT

masked language model+transformer.

NLP 3.5 Transformer的结构,BERT&masked language model

未经允许不得转载:作者:1411-李同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《NLP 3.5 Transformer的结构,BERT&masked language model》 发布于2021-02-23

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录