2022最新版-李宏毅机器学习深度学习课程-P51 BERT的各种变体

之前讲的是如何进行fine-tune,现在讲解如何进行pre-train,如何得到一个pre train好的模型。

CoVe

其实最早的跟预训练有关的模型,应该是CoVe,是一个基于翻译任务的一个模型,其用encoder的模块做预训练。

但是CoVe需要大量的翻译对,这是不容易获得的,能不能通过一大段没有标注的语料进行预训练呢?

因为有监督的标注是十分费时费力的,因此采用自监督的方法。即给定一个无标签的语料,之后利用语料库自己产生一系列的标签,之后再进行对应的训练。

Predict Next Token

比较直觉的自己监督方法就是预测下一个单词是什么。给出的解法就是将一个token输入到网络中,经过softmax之后,得到下一个token的概率分布。

最早的自监督的方法就是预测下一个token是什么。

elmo & ulmfit 

其中使用LSTM做predict next token的工作有elmo,以及ulmfit。

使用self-attention的方式进行next token prediction。这种方法就是避免模型知道下一个词是什么。

语言学家认为,一个单词应该与其经常出现的单词一起出现。因此使用LSTM的时候,用隐向量编码其左边context的所有向量,就表示其前面出现的所有单词。

elmo不但关心其左边的context,还关心其右边的context。但是有一个缺点,就是其左边lstm进行编码的时候只能看到左边的token,右边的lstm进行编码的时候,只能看到右边的token。看到的句子是不完整的,这就存在问题,bert是完整的,可以解决这个问题。

但是随机的进行mask往往是会产生不好的效果的,有时候mask掉的是一个短语中的一个token,这样的话是不好出比较好的效果的。因此有方法提出了三个比较好的mask方法,其一是先分词,之后将分词(word)整个mask掉,其二是phrase-level(就是好几个word),其三是实体level的mask,就是先做ner,之后再将整个entity给mask掉,就是ERNIE模型

spanbert

spanbert方法就是也不考虑是盖住一个词,一个短语,还是一个entity了。就直接盖住一排的token。

spanBert中添加了一个新的预训练任务,SBO,即根据被盖住的左边token和右边token,之后预测被盖住的词中的第n个token。

BERT的一个太好的点就是其不善于处理生成任务,语言模型往往是给定左边的token,之后去预测右边的token,但是BERT是双向的模型,在生成任务中只能看到左边的token,是无法看到右边的token的,所以效果比较一般,

MASS/BART

之前的MASS和BART训练的是一个seq2seq的任务。但是都在输入端对原句子进行一定程度的破坏。

UniLM

UniLM是可以做encoder可以做decoder可以做seq2seq

UniLM本质上其实是一堆的transformer层的组合,并没有明确区分哪些是encoder,哪些是decoder。我们可以通过区分训练任务来对实现的任务进行区分。可以像bert一样做一个encoder,这时候可以看到整个句子中的token,像bert一样进行训练。可以像GPT一样进行decoder的训练,但是在生成的时候只能看左边的token,右边的token是不可以看的。也可以像BART和MASS一样,做encoder和decoder的任务,输入是两个句子,第一个句子可以看到全部的token,第二个句子则只可以看到左边的token。

 ELECTRA

预测mask掉的token有时候是一个比较难得事情,因此有模型ELECTRA随机得替换原始句子中的一些token,生成一些文法没有问题,但是语义怪怪得句子,之后为模型识别出哪些token被替换了,哪些token没有被替换。

但是如果随机找一个不相关的词直接替换的话,模型应该学不到什么有用的信息,所以在ELECTRA中,训练了一个小的BERT,让其生成替换的词,从而对ELECTRA进行训练

之前都是对各个token进行embedding,如何得到一个sentence的embedding呢?

Skip Thought & Quick Thought

RoBERTa & ALBERT

T5 & C4

ERNIE

还有语音版bert

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/171931.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CV计算机视觉每日开源代码Paper with code速览-2023.11.17

点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【点云分割】(CVPR2023)Center Focusing Network for Real-Time LiDAR Panoptic Segmentation 论文地址:…

【每日OJ —— 232.用栈实现队列(栈)】

每日OJ —— 232.用栈实现队列(栈) 1.题目:232.用栈实现队列(栈)2.解法2.1.方法讲解2.1.1.算法讲解2.1.2.代码实现2.1.3.提交通过展示 1.题目:232.用栈实现队列(栈) 2.解法 2.1.方法…

图解算法数据结构-LeetBook-栈和队列04_望远镜中最高的海拔_滑动窗口

科技馆内有一台虚拟观景望远镜,它可以用来观测特定纬度地区的地形情况。该纬度的海拔数据记于数组 heights ,其中 heights[i] 表示对应位置的海拔高度。请找出并返回望远镜视野范围 limit 内,可以观测到的最高海拔值。 示例 1: 输…

AI技术实力认证,宏电股份荣获2023年度AI天马“领军企业”

近日,由中国新一代人工智能发展战略研究院指导,深圳市人工智能产业协会主办,广东未来产业研究院承办的2023年度“AI天马”认定最终结果公布,宏电股份荣获AI天马“领军企业”奖项。 宏电股份基于20余年的技术沉淀,在工业…

【OpenGauss 列存储学习总结 2】

OpenGauss 列存储学习总结 2 概述文章链接 概述 列存储是一种优化技术,用于在数据库系统中存储和查询大量数据。与传统的行存储方式不同,列存储将每个列的数据分别存储在独立的存储单元中,而不是按照行的方式存储。这种存储方式在分析性查询、…

Java GUI实现桌球小游戏

桌球游戏是一种室内运动,通常在一个正式的桌球台上进行。这种游戏也被称为台球或母球。桌球游戏的目标是使用一个击球杆将彩球击入桌面四个角落的袋子中,得分最高的一方获胜。桌球游戏需要一定的技巧和策略,因此是一项受欢迎的竞技运动和休闲…

Vue:[##################] / reify:core-js: timing reifyNode:node_modules/lodash Completed in 4923ms

Vue创建项目卡在[##################] / reify:core-js: timing reifyNode:node_modules/lodash Completed in 4923ms不动的问题. 遇到问题不要慌,别人可以你也可以。 1.什么是npm npm是node官方的包管理器。 cnpm是个中国版的npm,是淘宝定制的 cnpm (g…

第2关:图的深度优先遍历

任务要求参考答案评论2 任务描述相关知识编程要求测试说明 任务描述 本关任务:以邻接矩阵存储图,要求编写程序实现图的深度优先遍历。 相关知识 图的深度优先遍历类似于树的先序遍历, 是树的先序遍历的推广,其基本思想如下: …

广西梧州盾构机主轴承尺寸测量检测CAV检测上门三维扫描-CASAIM中科广电

一、背景介绍 大型盾构机在掘进过程中,只能前进,不能倒退,盾构机掘进过程中,主轴承“手持”刀盘旋转切削掌子面并为刀盘提供旋转支撑,主轴承一旦失效,会造成严重损失。因此,主轴承是盾构机刀盘…

软件系统运维方案

1.项目情况 2.服务简述 2.1服务内容 2.2服务方式 2.3服务要求 2.4服务流程 2.5工作流程 2.6业务关系 2.7培训 3.资源提供 3.1项目组成员 3.2服务保障 点击获取所有软件开发资料:点我获取

PHP中cookie与session使用指南

PHP中cookie与session使用指南 Cookie和session的出现,是为了解决http协议无状态交互的窘境,它们都用于存储客户端的相关信息 0x01 Cookie使用 简介 Cookie 是一种在客户端存储数据的机制,通常用于记录用户的状态和偏好。下面将介绍如何在…

软件测试最重要的事:测试用例的编写

前言 软件测试用例得出软件测试用例的内容,其次,按照软件测试写作方法,落实到文档中,两者是形式和内容的关系,好的测试用例不仅方便自己和别人查看,而且能帮助设计的时候考虑的更周。 一个好的测试用例必…

企业app软件定制开发的重点是什么?|小程序网站搭建

企业app软件定制开发的重点是什么?|小程序网站搭建 在当今数字化时代,企业对于信息技术的依赖越来越大。为了适应市场需求并提高内部运营效率,许多企业开始寻求定制开发企业app软件。这种定制开发可以根据企业的具体需求和业务流程进行个性化…

DITTEL控制器维修SENSITRON6-2AE

DITTEL工控产品维修包括:德国DITTEL平衡测试仪维修,DITTEL模块,过程监控模块,DITTEL控制器,平衡头,机电平衡头,显示器,平衡系统等产品。 DITTEL过程控制模块维修 DM6000是一个过程控制模块&…

5分钟带你了解什么是原型图!

原型图,亦称原型设计稿,在软件研发流程中是非常基础和重要的一类设计项目。而对于产品经理、交互设计师以及产品运营等职业群体来说,原型设计则是一门不可或缺的技能。并且,原型设计也是一门有门槛、有规范的工作。 什么是原型图…

【通俗易懂】git原理、安装及连接gitlab,github

目录 一、GIT原理【这部分也挺简单,可以看看,如果没时间可以直接跳到第二部分】 SVN与Git的的区别 二、安装Git 2.1 获取Git安装程序 2.2 Git安装过程 三、Git连接Gitlab 3.1 gitlab准备工作 3.2 本地计算机准备工作及配置git 四、Git连接Github…

【EI会议征稿】第七届电子器件与机械工程国际学术会议(ICEDME 2024)

第七届电子器件与机械工程国际学术会议(ICEDME 2024) 2024 7th International Conference on Electron Device and Mechanical Engineering 第七届电子器件与机械工程国际学术会议(ICEDME 2024)将于2024年3月15-17日在山西太原召…

Sui生态多家协议上线流动质押,兼顾收益与灵活性

在Sui上,流动质押协议允许DeFi用户质押SUI,并获得可交易或用于其他DeFi活动的流动质押标记token。这一过程绕过了传统质押中验证节点锁定token的问题。用户可以通过Sui的权益证明机制(PoS)确保网络的安全,同时参与生态…

微波功率计/频率计-87234系列USB峰值/平均功率计

仪器仪表 苏州新利通 87234系列 USB峰值/平均功率计 频率范围覆盖:50MHz~67GHz 一款基于USB 2.0接口的二极管检波式宽带功率测量仪器 国产思仪功率计 01 产品综述 87234D/E/F/L USB峰值/平均功率计是一款基于USB 2.0接口的二极管检波式宽带功率测…

GNSS技术在交通运输领域的创新应用

全球导航卫星系统(GNSS)技术在交通运输领域发挥着越来越重要的作用,为汽车导航、航空、海运等交通模式提供了精准的定位和导航服务。本文将深入探讨GNSS技术在交通运输领域的应用,以及它对交通管理、安全性和效率的积极影响。 一、…