当前位置: 首页 > article >正文

BERT_

在BERT之前没有一个好的深度网络使得训练好之后能够帮助一大片的NLP任务
pre-training预训练
?BERT是芝麻街里面另外一个主人公的名字

摘要

BERT使用了左侧和右侧的信息预测未来(双向)

引入

NLP之前没有预训练的,BERT后就有了。
两种预训练:基于特征的,微调
将学到的特征和输入一一起放进去,作为一个很好的特征的表达。
标准的语言模型是单向的。但如果要对句子做一些分析,比如说情绪分析,从左到右和从右到左都是一样的,同理还有QA。
如果把两个方向的信息都放出来后,应该能够提升性能。
带掩膜的模型,等价于给句子挖一些空填,相当于完形填空。还训练了下一个句子的预测,随机采样两个句子判断他们是否相邻。
三点贡献:

  • 证明了双向预训练语言表征的重要性
  • BERT是第一个基于微调的模型,效果好

相关工作

非监督基于特征的方法:elmo
非监督的微调方法:
带标号的数据上迁移学习L在NLP这方面效果并不好
trick:无监督的大量数据,比有监督的少量数据摇号

模型

下游任务会根据具体内容微调,初始化用预训练的模型

多层双向transformer编码器
模型的可学习参数来源有二:一是嵌入层(输入字典的大小,输出是隐藏单元H,头的个数A64=H),二是transformer块
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
自注意力块的总可学习参数为H^2
4
后面跟一个全连接层,总学习参数为H^2 8
一共L个transformer块,12
L*H^2(transformer块) + 30k H(嵌入向量)

输入/输出表征:
输入是一段序列,可以一个句子也可以两个句子。

切词使用WordPiece(如果一个词出现频率低且较长,看能否把他切成高频的子序列,只保留该子序列)

每个序列的句首token为[CLS]。用特别的token[SEP]分开不同的句子,加一个可学习的嵌入层。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

embedding的构成:tokenembed + segmentembed(属于哪个句子)+positionembed(位置) 都是可学习的

随机将15%的词元替换成特殊的掩码token[mask]。还要细分,内部的80%真的是mask,10%替换成随机词语,10%替换成目标。(加噪音)

Task

预测下一个句子
50%概率B真的在A之后,50%B随机选取句子(有正例和反例)
BERT识别句子之间的关系?

实验

GLUE:句子分类数据集。CLS对应的输出向量,多加一个MLP+softmax层作为多分类问题
SQuad:QA数据集,学习两个概率S,E分别对应是答案开始和答案最后的概率

总结

主要工作把前人的结果拓展到深的双向的架构上面,使得同样的预训练模型能够成功处理大量得那不一样的自然语言的任务
具体来说不是把语言模型变成预测未来,而是变成完形填空

评价

选择双向性有些不好,失去了可解释性,在机器翻译任务上效果不太好

启示

有意思,BERT跟gpt和elmo的区别是什么
讲你的模型好时候,需要列出你的绝对精度和相对别人提升的精度,哪些任务好
论文需要自洽,后面人过来读可能不知道你的概念,但这是你的方法不可或缺的一部分


http://www.kler.cn/a/301544.html

相关文章:

  • 问题分析与解决:Android开机卡动画问题分析
  • 定时器简介
  • Flutter:Dio下载文件到本地
  • 什么是 C++ 内联函数?它的作用是什么?
  • 以太坊基础知识结构详解
  • 工化企业内部能源能耗过大 落实能源管理
  • ubuntu 20.04 部署standalone dolphinscheduler
  • 【K8S实践笔记】Kubernetes(v1.28)集群搭建部署(1)
  • 爬虫3:re正则表达式获取数据
  • 中英双语共享充电宝投放管理投资理财源码五级分销返利+地图显示模式
  • 微擎忘记后台登录用户名和密码怎么办?解决方法
  • 深入理解 JavaScript 中的 `void` 操作符
  • 水壶问题记录
  • 微服务网关终极进化:设计模式驱动的性能与可用性优化(四)
  • Linux 基础命令-压缩与解压缩
  • 基于SpringBoot+Vue+MySQL的滑雪场管理系统
  • 社群空间站9.9付费入群系统易支付版全套搭建教程
  • 掌握 Ansible:高效自动化运维的完整教程
  • 【4.2】图搜索算法-DFS和BFS解单词拆分
  • Mysql事件操作
  • 计算机网络练级第二级————网络套接字1
  • 嵌入式初学-C语言-数据结构--四
  • ​​​​​​​Oracle11 分析函数等高级函数使用说明
  • 智能会计定义
  • Peewee+Postgresql+PooledPostgresqlDatabase重连机制
  • 掌握 Linux 命令的艺术:深入解析与实用指南