机器学习深度学习——针对序列级和词元级应用微调BERT

news/2025/1/17 7:42:33/

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er
🌌上期文章:机器学习&&深度学习——NLP实战(自然语言推断——注意力机制实现)
📚订阅专栏:机器学习&&深度学习
希望文章对你们有所帮助

在上一节使用了注意力机制来实现自然语言推断模型,后面会给出更好的实现方式,也就是利用微调BERT来进行实现,而自然语言推断模型是针对序列级的模型,在这里先分别针对序列级和词元级的问题,讲解如何应用微调BERT。

针对序列级和词元级应用微调BERT

  • 引入
  • 序列级任务
    • 单文本分类
    • 文本对分类或回归
  • 词元级任务
    • 文本标注
    • 问答
  • 小结

引入

在之前,我们分别为自然语言处理的应用设计了几个模型,包括基于RNN、CNN、注意力和多层感知机。这些模型在有空间或时间限制的情况下是有帮助的,但是,为每个自然语言处理任务精心设计一个特定的模型实际上是不可行的。在之前,已经讲解过了BERT的预训练模型,该模型可以对广泛的自然语言处理任务进行最少的架构更改。一方面,在提出时,BERT改进了各种自然语言处理任务的技术水平。另一方面,原始BERT模型的两个版本分别带有1.1亿和3.4亿个参数。因此,当有足够计算资源时,我们可以考虑为下游自然语言处理应用微调BERT。
下面,我们将自然语言处理应用的子集概括为序列级和词元级。在序列层次上,介绍了在单文本分类任务和文本对分类(或回归)任务中,如何将文本输入的BERT表示转换为输出标签。在词元级别,我们将简要介绍新应用,如文本标注和问答,并说明BERT如何表示它们的输入并转换为输出标签。在微调期间,不同应用之间的BERT所需的“最小架构更改”是额外的全连接层。在下游应用的监督学习期间,额外层的参数是从零开始学习的,而预训练BERT模型中的所有参数都是微调的。

序列级任务

单文本分类

单文本分类将单个文本序列作为输入,并输出其分类结果,之前的情感分析就是单文本分类问题。
在这里插入图片描述
BERT的输入序列明确表示了是单个文本还是文本对,其中特殊分类标记“<cls>”用于序列分类,而特殊分类标记“<sep>”标记单个文本的结束或分隔成对文本。如上图所示,在单文本分类应用中,特殊分类标记“<cls>”的BERT表示对整个输入文本序列的信息进行编码。作为输入单个文本的表示,它将被送入到由全连接(稠密)层组成的小多层感知机中,以输出所有离散标签值的分布。

文本对分类或回归

上一节中的自然语言推断就是文本对分类问题,除此之外还有语义文本相似度问题,以一对文本作为输入但输出连续值,数据集中句子对的相似度得分时0(无语义重叠)到5(语义等价)的分数区间。我们的目标就是预测这些分数。
在这里插入图片描述
与单文本分类相比,文本对分类的微调BERT在输入表示上有所不同。对于文本对回归任务(如语义文本相似性),可以应用细微的更改,例如输出连续的标签值和使用均方损失(回归问题中很常见)。

词元级任务

文本标注

文本标注中每个词元都被分配了一个标签。在文本标注任务中,词性标注为每个单词分配词性标记(例如,形容词和限定词)。
在这里插入图片描述
与单文本分类相比,文本标注的输入文本的每个词元的BERT表示被送到相同的额外全连接层中,以输出词元的标签,例如词性标签。

问答

作为另一个词元级应用,问答反映阅读理解能力。例如,斯坦福问答数据集SQuAD v1.1的目标是在给定问题和段落的情况下预测段落中文本片段的开始和结束。
在这里插入图片描述
为了微调BERT进行问答,在BERT的输入中,将问题和文章分别作为第一个和第二个文本序列。
为了预测文本片段开始的位置,相同的额外的全连接层将把来自位置的任何词元的BERT表示转换成标量分数si。文章中所有词元的分数还通过softmax转换成概率分布,从而为文章中的每个词元位置i分配作为文本片段开始的概率pi。预测文本片段的结束与上面相同,只是其额外的全连接层中的参数与用于预测开始位置的参数无关。
当预测结束时,位置i的词元由相同的全连接层变换成标量分数ei。
对于问答,监督学习的训练目标就像最大化真实值的开始和结束位置的对数似然一样简单。当预测片段时,我们可以计算从位置i到位置j的有效片段的分数si+ei,并输出分数最高的跨度。

小结

1、对于序列级和词元级自然语言处理应用,BERT只需要最小的架构改变(额外的全连接层),如单个文本分类(例如,情感分析和测试语言可接受性)、文本对分类或回归(例如,自然语言推断和语义文本相似性)、文本标记(例如,词性标记)和问答。
2、在下游应用的监督学习期间,额外层的参数是从零开始学习的,而预训练BERT模型中的所有参数都是微调的。


http://www.ppmy.cn/news/1055965.html

相关文章

linux————LVS集群

目录 一、集群概述 一、负载均衡技术类型 二、负载均衡实现方式 二、LVS结构 一、三层结构 二、架构对象 三、LVS工作模式 四、负载均衡算法 一、静态负载均衡 二、动态负载 五、ipvsadm命令详解 六、LVS配置 一、基础配置 二、实现NAT模型搭建 配置IP地址 安装…

appium2.0+ 单点触控和多点触控新的解决方案

在 appium2.0 之前&#xff0c;在移动端设备上的触屏操作&#xff0c;单手指触屏和多手指触屏分别是由 TouchAction 类&#xff0c;Multiaction 类实现的。 在 appium2.0 之后&#xff0c;这 2 个方法将会被舍弃。 "[Deprecated] TouchAction action is deprecated. Ple…

使用 SQLStudio 进行数据库管理并通过 Docker Compose 进行部署

在现代软件开发中&#xff0c;数据库管理是一个至关重要的环节。SQLStudio 是一个强大的工具&#xff0c;可以帮助开发人员轻松管理数据库&#xff0c;现在改名成SQLynx&#xff0c;我们用的是旧的镜像&#xff0c;本文还是用SQLStudio这个名称。同时&#xff0c;使用 Docker C…

Linux下彻底卸载jenkins

文章目录 1、停服务进程2、查找安装目录3、删掉相关目录4、确认已完全删除 1、停服务进程 查看jenkins服务是否在运行&#xff0c;如果在运行&#xff0c;停掉 ps -ef|grep jenkins kill -9 XXX2、查找安装目录 find / -name "jenkins*"3、删掉相关目录 # 删掉相…

Java加载ICC文件的方法总结

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【大数据】Hive 中的批量数据导入

Hive 中的批量数据导入 在博客【大数据】Hive 表中插入多条数据 中&#xff0c;我简单介绍了几种向 Hive 表中插入数据的方法。然而更多的时候&#xff0c;我们并不是一条数据一条数据的插入&#xff0c;而是以批量导入的方式。在本文中&#xff0c;我将较为全面地介绍几种向 H…

硬件知识积累 LED的介绍与选型 (简单电路)

1. LED 的介绍 1.1 LED 是什么 LED :是一种能发光的半导体电子元件。发光二极管&#xff08;LED&#xff09;于20世纪60年代问世。在20世纪80年代之前&#xff0c;LED主要作为指示灯使用&#xff0c;从其光色来看&#xff0c;只有红光、橙光、黄光和绿光等几种。这一时期属于…

mac下安装tomcat

1. 官网下载Apache Tomcat - Apache Tomcat 9 Software Downloads 2. 授权bin目录下所有.sh文件权限sudo chmod 755 *.sh 3. 启动程序(后台运行) sudo sh ./startup.sh 4. 在当前窗口启动程序&#xff0c;随时看到日志sudo sh ./catalina.sh run 5. 关闭程序 sudo sh ./shu…