建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

蜡笔不辣

发帖: 22粉丝: 4

发消息 + 关注

发表于2020年11月19日 14:27:08 76 2
直达本楼层的链接
楼主
显示全部楼层
[AI人工智能全栈成长计划] 【问答官3阶段】简述BERT模型

请按照你自己的理解进行阐述BERT模型的架构。

举报
分享

分享文章到朋友圈

分享文章到微博

franco52576

发帖: 25粉丝: 0

发消息 + 关注

发表于2020年11月19日 15:23:54
直达本楼层的链接
沙发
显示全部楼层

1.BERT贡献

a.BERT利用masked model实现了语言模型的双向性,证明了双向性对语言表示预训练的重要性。如下图,传统的方法如OpenAI GPT是单向语言模型,每个词只能用到该词左边的词信息进行学习(RNN时间序列模型);ELMo是利用双向LSTM,将一层left-to-right 和right-to-left两个单独的LSTM进行结合;而BERT模型是真正意义上的双向语言模型,每个词可以同时利用该词的上下文信息。

b.BERT是第一个微调模型在sentence-level和token-level自然语言任务都达到了最好效果。证明了pre-trained representations可以缓解了不同任务对特殊模型结构的设计需求。

c.BERT在11个自然语言处理任务上达到了最好效果。并在BERT的extensive ablations证明了“BERT的双向性”是一个重要的创新。


2.BERT模型结构

BERT模型是一个多层的Transformer,具体Transformer模型结构见,一下模型结构根据代码可得

  • embedding层:将input_id转化为word embedding

  • embedding_processor层:word embedding + position embedding(和Transformer一致) +segment embedding(BERT模型创新)

  • Transformer层

  BERT-base: L=12, H=768, A=12, Total Parameters=110M
  BERT-large: L=24, H=1024, A=16, TotalParameters=340M

  BERT-base为了和OpenAI GPT进行对比,所以模型大小与OpenAI GPT设置一致。不同的在于OpenAI GPT使用left-to-right的self-attention,而BERT使用双向self-atten


点赞 评论 引用 举报

Felix666

发帖: 51粉丝: 2

发消息 + 关注

发表于2020年11月22日 21:07:02
直达本楼层的链接
板凳
显示全部楼层

all_encoder_layers: 经过transformer_model函数返回每个block的结果,即对应bert的12个Transformer层,均是原始高维数据。如果要分析不同层抽取何种特征,可以分析这个得出一些结论

embedding_table: vocab表,用于构建字符embedding向量

embedding_output: embedding结果

sequence_output: 是bert最后一层的输出,需要验证一下all_encoder_layers最后一层的输出有何区别

维度为[Batch_szie, seq_length, hidden_size],这和一开始词向量的维度是一样的,只不过这个结果是经过Transformer Encoded提取特征之后的,包含重要的信息,也是bert想得到的结果

pooled_output: 一般分类任务需要的特征,pooled_output是取sequence_output的第一个切片然后线性投影获得,这个位置就是[CLS]


点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册