NLP课程笔记-基于transformers的自然语言处理入门

@toc

项目地址

https://github.com/datawhalechina/learn-nlp-with-transformers/

  • 2017年,Attention Is All You Need论文(Google Brain)首次提出了Transformer模型结构并在机器翻译任务上取得了The State of the Art(SOTA, 最好)的效果。
  • 2018年,BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (Google AI Language lab)使用Transformer模型结构进行大规模语言模型(language model)预训练(Pre-train),再在多个NLP下游(downstream)任务中进行微调(Finetune),一举刷新了各大NLP任务的榜单最高分,轰动一时。
  • 2019年-2021年,研究人员将Transformer这种模型结构和预训练+微调这种训练方式相结合,提出了一系列Transformer模型结构、训练方式的改进(比如transformer-xl,XLnet,Roberta等等)。如下图所示,各类Transformer的改进不断涌现。

现在较为流行的基于transformer模型,基本你都可以在hugging/transformer库中找到并直接使用。

2.1 图解attention

问题:Attention出现的原因是什么? 潜在的答案:基于循环神经网络(RNN)一类的seq2seq模型,在处理长文本时遇到了挑战,而对长文本中不同位置的信息进行attention有助于提升RNN的模型效果

于是学习的问题就拆解为:1. 什么是seq2seq模型?2. 基于RNN的seq2seq模型如何处理文本/长文本序列?3. seq2seq模型处理长文本序列时遇到了什么问题?4.基于RNN的seq2seq模型如何结合attention来改善模型效果?

2.1.1 Seq2seq框架

seq2seq是一种常见的NLP模型结构,全称是:sequence to sequence,翻译为“序列到序列”。顾名思义:从一个文本序列得到一个新的文本序列。
典型的任务有:机器翻译任务,文本摘要任务。谷歌翻译在2016年末开始使用seq2seq模型,并发表了2篇开创性的论文。

首先看seq2seq干了什么事情?seq2seq模型的输入可以是一个(单词、字母或者图像特征)序列,输出是另外一个(单词、字母或者图像特征)序列。一个训练好的seq2seq模型如下图所示(注释:将鼠标放在图上,图就会动起来):
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ADB安装教程

1 adb简介 Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。 adb命令可用于执行各种设备操作,例如安装和调试应用。 adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务…

一篇文章带你弄懂Java集合的泛型

目录 第一问:什么是泛型?有什么好处? 第二问:泛型是如何实现的呢? 第三问:类型擦除的缺点有哪些? 第四问:泛型中上下界限定符extends和super有什么区别? 第五问&…

HR人才测评,如何做中层管理人员的素质测评?

中层管理人员是企业中的重要力量,他们是连接高层管理和基层员工的桥梁,对企业的发展至关重要。因此,对中层管理人员的素质测评尤为重要。下面,我将介绍一些HR人才测评的方法和步骤,以帮助企业准确评估中层管理人员的素…

中信银行积极开展2024年金融科技活动周宣传活动

近日,2024年全国金融“科技活动周”正式启动。中信银行围绕“弘扬科学家精神 激发全社会创新活力”为主题,积极面向公众宣传各类金融知识,全面营造热爱科学、崇尚科学的社会氛围。 自5月25日起,中信银行通过全国网点大屏播放宣传…

【C++】77组合

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 使用回溯算法。我们可以按照以下步骤来实现: 创建一个辅助函数 backtrack,用来进行回溯搜索。其中包括当前组合的状态变量 current、起始…

C# list集合

一、list集合基本使用 1.添加元素 ① 单个元素添加 List<int> list new List<int>();for (int i 0; i < 3; i){list.Add(i);}//输出&#xff1a;0,1,2 ②初始化时添加元素 List<int> list2 new List<int> { 1, 2, 3 };//输出&#xff1a;0,1…

Jenkins从放弃到入门:部署、配置与应用

目录 Jenkins详解 一、Jenkins介绍 1、Jenkins 功能 2、Jenkins 概念 3、Jenkins 目的 4、Jenkins 特性 5、产品发布流程 二、Jenkins CI/CD 流程 三、部署Jenkins git 1、jenkins 安装 yum 安装 jenkins *jenkins 依赖 java 环境 #注意2.346之后的版本不再支持jdk…

RabbitMQ-发布/订阅模式

1、发布/订阅模式介绍 在普通的生产者、消费者模式&#xff0c;rabbitmq会将消息依次传递给每一个消费者&#xff0c;一个worker一个&#xff0c;平均分配&#xff0c;这就是Round-robin调度方式&#xff0c;为了实现更加复杂的调度&#xff0c;我们就需要使用发布/订阅的方式…

EXSI虚拟机新增磁盘并将空间扩充到已有分区

这里写自定义目录标题 1、在EXSI虚拟机中新增一块磁盘配置大小2、确认新磁盘3、格式化新分区4、添加新分区到LVM5、将新增分区添加到已有分区里 1、在EXSI虚拟机中新增一块磁盘配置大小 注意事项&#xff1a; (1)需确保虚拟机已关闭活处于维护模式&#xff0c;避免数据丢失 (2…

Spring Boot详解:深入了解与实践

文章目录 1. Spring Boot简介1.1 什么是Spring Boot&#xff1f;1.2 Spring Boot的历史背景1.3 Spring Boot的核心特点 2. Spring Boot的核心概念2.1 自动配置2.1.1 自动配置原理2.1.2 自定义配置 2.2 Spring Boot Starter2.3 Spring Boot CLI 3. Spring Boot的主要功能模块3.1…

网桥、路由器和网关有什么区别

在计算机网络领域&#xff0c;网桥、路由器和网关都是常见的网络设备&#xff0c;它们在网络通信中扮演着不同的角色。虽然它们都有连接不同网络的功能&#xff0c;但在实际应用中却具有各自独特的作用和特点。 1.网桥&#xff08;Bridge&#xff09; 定义&#xff1a;网桥是…

最佳 Mac 数据恢复:恢复 Mac 上已删除的文件

尝试过许多 Mac 数据恢复工具&#xff0c;但发现没有一款能达到宣传的效果&#xff1f;我们重点介绍最好的 Mac 数据恢复软件 没有 Mac 用户愿意担心数据丢失&#xff0c;但您永远不知道什么时候会发生这种情况。无论是意外删除 Mac 上的重要文件、不小心弄湿了 Mac、感染病毒…

CSS:list-style作用

list-style作用 介绍属性1. list-style-type2.list-style-image3.list-style-position 常见用法1.设置列表项标记类型2.设置列表项标记图像3.设置列表项标记位置4.组合使用5.为不同列表项设置不同的样式6.重置列表样式 示例 介绍 在Web开发中&#xff0c;list-style 是CSS的一…

ORACLE 查询SQL优化

1 使用EXPLAIN PLAN 使用EXPLAIN PLAN查看查询的执行计划&#xff0c;这可以帮助你理解查询是如何被Oracle执行的。基于执行计划&#xff0c;你可以确定是否存在索引缺失、不必要的全表扫描等问题。 以下是几种使用EXPLAIN PLAN的方法&#xff1a; 使用EXPLAIN PLAN FOR: 你可以…

【Epoch,Batch,Iteration】深度学习模型训练相关基础概念光速理解!

&#x1f525;模型训练相关基础概念&#xff01; Epoch: 一次 epoch 代表整个训练数据集已经被完整地送入神经网络进行了一轮训练。通常&#xff0c;模型需要多次 epoch 才能充分学习数据集中的模式。Batch: 由于数据集可能过大&#xff0c;无法一次性全部加载到内存中进行训练…

解决VSCode右键没有Open In Default Browser问题

在VSCode进行Web小程序测试时&#xff0c;我们在新建的HTML文件中输入 !会自动生成页面代码骨架&#xff0c;写入内容后&#xff0c;我们想要右键在浏览器中预览。发现右键没有“Open In Default Browser”选项。原因是没有安装插件。 下面是解决方案&#xff1a;首先在VSCode找…

探索Lora:微调大型语言模型和扩散模型的低秩适配方法【原理解析,清晰简洁易懂!附代码】

探索Lora&#xff1a;微调大型语言模型和扩散模型的低秩适配方法 随着深度学习技术的快速发展&#xff0c;大型语言模型&#xff08;LLMs&#xff09;和扩散模型&#xff08;Diffusion Models&#xff09;在自然语言处理和计算机视觉领域取得了显著的成果。然而&#xff0c;这…

3d渲染的常用概念和技术,渲染100邀请码1a12

之前我们介绍了3D渲染的基本原理和流程&#xff0c;这次说下几个常用概念和技术。 3D渲染中涉及到很多专业的概念和技术&#xff0c;它们决定了渲染质量和效果&#xff0c;常用的有以下几个。1、光线追踪 光线追踪是一些专业渲染器&#xff08;如V-Ray和Corona等&#xff09;…

Android UI控件详细解析(四)

1.UI控件 1.1 TextView控件 常用属性 属性含义id给当前控件定义了一个唯 一标识符layout_width高度&#xff0c;单位&#xff1a;dp (wrap_content, match_parent)layout_height宽度&#xff0c;单位&#xff1a;dp (wrap_content, match_parent)background设置背景图片text…

Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld

文章目录 前言一、Django环境配置1、python 环境2、Django环境3、mysql环境4、IDE&#xff1a;pycharm 二、第一次创建Django项目1、创建项目door_web_django_system2、运行启动 三、Django项目介绍1、介绍Django项目结构2、第一个helloword4、django的项目逻辑&#xff08;和j…