3 种自然语言处理(NLP)技术:RNN、Transformers、BERT

自然语言处理 (NLP) 是人工智能的一个领域,旨在使机器能够理解文本数据。NLP 研究由来已久,但直到最近,随着大数据和更高计算处理能力的引入,它才变得更加突出。

随着 NLP 领域的规模越来越大,许多研究人员都试图提高机器理解文本数据的能力。经过大量的进步,许多技术在 NLP 领域被提出并应用。

本文将比较 NLP 领域中处理文本数据的各种技术。本文将重点讨论 RNN、Transformers 和 BERT,因为它们是研究中经常使用的技术。让我们开始吧。

图片

< NLP - RNN、Tranformers、BERT>

循环神经网络

循环神经网络(RNN) 于 1980 年开发,但最近才在 NLP 领域引起关注。RNN 是神经网络家族中的一种特殊类型,用于处理顺序数据或不能相互独立的数据。顺序数据示例包括时间序列、音频或文本句子数据,基本上是任何具有有意义顺序的数据。

RNN 与常规前馈神经网络不同,因为它们处理信息的方式不同。在常规前馈神经网络中,信息是在层之后处理的。然而,RNN 使用循环周期来处理信息输入。为了理解差异,让我们看下面的图片。

图片

如您所见,RNN 模型在信息处理过程中实现了循环。RNN 在处理此信息时会考虑当前和以前的数据输入。这就是为什么该模型适用于任何类型的顺序数据。

如果我们以文本数据为例,假设我们有句子“我早上 7 点起床”,并且我们将单词作为输入。在前馈神经网络中,当我们到达单词“起床”时,模型已经忘记了单词“我”、“起床”和“起床”。但是,RNN 会使用每个单词的每个输出并将它们循环回来,这样模型就不会忘记。

在 NLP 领域,RNN 经常用于许多文本应用,例如文本分类和生成。它经常用于词级应用,例如词性标注、下一个词生成等。

深入研究文本数据上的 RNN,RNN 有很多种类型。例如,下图是多对多类型。

图片

看上图,我们可以看到每个步骤(RNN 中的时间步)的输出都是一步一步处理的,并且每次迭代总是考虑先前的信息。

另一种在许多 NLP 应用中使用的 RNN 类型是编码器-解码器类型(Sequence-to-Sequence)。其结构如下图所示。

图片

此结构引入了模型中使用的两个部分。第一部分称为编码器,它接收数据序列并基于该序列创建新的表示。该表示将用于模型的第二部分,即解码器。使用此结构,输入和输出长度不一定相等。示例用例是语言翻译,其输入和输出之间的长度通常不相同。

使用 RNN 处理自然语言数据有各种好处,包括:

  1. RNN 可用于处理不受长度限制的文本输入。
  2. 该模型在所有时间步骤中共享相同的权重,这使得神经网络在每个步骤中使用相同的参数。
  3. 由于具有过去输入的记忆,RNN 适用于任何序列数据。

但是,它也存在一些缺点:

  1. RNN 容易受到梯度消失和梯度爆炸的影响。梯度消失是指梯度结果接近于零(消失),导致网络权重仅更新很小的量,或者梯度结果非常显著(爆炸),以至于赋予网络不切实际的巨大重要性。
  2. 由于模型的序列特性,训练时间较长。
  3. 短期记忆意味着模型训练的时间越长,就会开始忘记。RNN 有一个扩展,称为LSTM,可以缓解这个问题。

Transformers

Transformers 是一种 NLP 模型架构,旨在解决 RNN 中以前遇到的序列到序列任务。如上所述,RNN 在短期记忆方面存在问题。输入越长,模型在遗忘信息方面就越突出。这就是注意力机制可以帮助解决问题的地方。

Bahdanau等人(2014)在论文中引入了注意力机制,用于解决长输入问题,尤其是编码器-解码器类型的 RNN。我不会详细解释注意力机制。基本上,它是一个层,允许模型在进行输出预测的同时专注于模型输入的关键部分。例如,如果任务是翻译,那么输入单词“Clock”将与印尼语中的“Jam”高度相关。

transformers 模型由Vaswani等人(2017)提出。该架构受到编码器-解码器 RNN 的启发,并考虑到注意力机制而构建,并且不按顺序处理数据。整个 transformers 模型的结构如下图所示。

在这里插入图片描述

Transformers 架构(Vaswani等人,2017 年)

在上述结构中,Transformers 使用位置编码将数据向量序列编码为词向量,同时使用解码将数据转换为原始形式。在注意力机制的帮助下,编码可以根据输入赋予重要性。

与其他模型相比,Transformer 具有一些优势,包括:

  • 并行化过程增加了训练和推理速度。
  • 能够处理更长的输入,从而更好地理解上下文

Transformers 模型仍然存在一些缺点:

  • 高计算处理和需求。
  • 注意力机制可能需要对文本进行拆分,因为它可以处理的长度有限制。
  • 如果分割错误,上下文可能会丢失。

BERT

BERT,即 Transformers 的双向编码器表示,是由Devlin等人(2019)开发的模型,涉及两个步骤(预训练和微调)来创建模型。如果我们比较一下,BERT 是 Transformers 编码器的堆栈(BERT Base 有 12 层,而 BERT Large 有 24 层)。

BERT的整体模型发展如下图所示。

图片

BERT 总体流程(Devlin等人(2019)

预训练任务同时启动模型的训练,完成后,模型可以针对各种下游任务(问答、分类等)进行微调。

BERT 的特别之处在于它是第一个在文本数据上进行预训练的无监督双向语言模型。BERT 之前已在整个维基百科和书籍语料库上进行过预训练,包含超过 30 亿个单词。

BERT 被认为是双向的,因为它不是按顺序读取数据输入(从左到右或反之亦然),但 Transformer 编码器同时读取整个序列。

与按顺序(从左到右或从右到左)读取文本输入的定向模型不同,Transformer 编码器会同时读取整个单词序列。这就是为什么该模型被认为是双向的,并允许模型理解输入数据的整体上下文。

为了实现双向,BERT 使用了两种技术:

  • 掩码语言模型 (MLM) — 单词掩码技术。该技术将掩码 15% 的输入词,并尝试根据未掩码的单词预测这个被掩码的单词。
  • 下一句预测 (NSP) — BERT 尝试学习句子之间的关系。该模型以句子对作为数据输入,并尝试预测后续句子是否存在于原始文档中。

在 NLP 领域使用 BERT 有几个优点,包括:

  1. BERT易于用于预先训练的各种NLP下游任务。
  2. 双向使得 BERT 更好地理解文本上下文。
  3. 这是一个很受欢迎的模式,得到了社区的大力支持

尽管如此,它仍然存在一些缺点,包括:

  1. 一些下游任务微调需要很高的计算能力和很长的训练时间。
  2. BERT 模型可能会导致模型很大,需要更大的存储空间。
  3. 它更适合用于复杂任务,因为简单任务的性能与使用更简单的模型没有太大差别。

结论

NLP 近来变得越来越突出,许多研究都集中在改进应用程序上。在本文中,我们讨论了三种经常使用的 NLP 技术:

  1. 循环神经网络 (RNN)
  2. Transformers
  3. BERT

每种技术都有其优点和缺点,但总的来说,我们可以看到模型正在以更好的方式发展。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

【 html+css 绚丽Loading 】000051 方寸轮回矩

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f…

蓝桥杯-基于STM32G432RBT6的LCD进阶(LCD界面切换以及高亮显示界面)

目录 一、页面切换内容详解 1.逻辑解释 2.代码详解 code.c&#xff08;内含详细讲解&#xff09; code.h main.c 3.效果图片展示 ​编辑 二、页面选项高亮内容详解 1.逻辑解释 2.读入数据 FIRST.第一种高亮类型 code.c&#xff08;内含代码详解&#xff09; code.…

[000-01-008].第05节:OpenFeign特性-重试机制

我的后端学习大纲 SpringCloud学习大纲 1.1.重试机制的默认值&#xff1a; 1.重试机制默认是关闭的&#xff0c;给了默认值 1.2.测试重试机制的默认值&#xff1a; 1.3.开启Retryer功能&#xff1a; 1.修改配置文件YML的配置&#xff1a; 2.新增配置类&#xff1a; packa…

大模型时代:普通人如何获利

随着人工智能技术的飞速发展&#xff0c;我们正步入一个以大模型为驱动力的新时代。这些大型语言模型&#xff0c;如GPT-3和BERT&#xff0c;已经在各个领域展现出惊人的能力&#xff0c;包括文本生成、翻译、问答等。这些技术的进步不仅改变了我们的生活&#xff0c;也为普通人…

【ACM出版】第三届人工智能与智能信息处理国际学术会议(AIIIP 2024,10月25-27)

第三届人工智能与智能信息处理国际学术会议&#xff08;AIIIP 2024&#xff09; 2024 3rd International Conference on Artificial Intelligence and Intelligent Information Processing 中国-天津 | 2024年10月25-27日 | 会议官网&#xff1a;www.aiiip.net 官方信息 会议…

Redis常用操作及springboot整合redis

1. Redis和Mysql的区别 数据模型&#xff1a;二者都是数据库,但是不同的是mysql是进行存储到磁盘当中,而Redis是进行存储到内存中. 数据模型 : mysql的存储的形式是二维表而Redis是通过key-value键值对的形式进行存储数据. 实际的应用的场景: Redis适合于需要快速读写的场景&…

[Linux]:进程间通信(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;Linux学习 贝蒂的主页&#xff1a;Betty’s blog 1. system V通信 前面我们所探究的通信方式都是基于管道文件的&#xff0c;而…

深入解析代理模式:静态代理、JDK 动态代理和 CGLIB 的全方位对比!

代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它提供了对象的替身&#xff0c;即代理对象来控制对实际对象的访问。通过代理对象&#xff0c;可以在不修改目标对象的情况下&#xff0c;扩展或控制其功能。例如&#xff0c;代理模式可以用于延…

Cortex-A7的GIC(通用中断控制器):边沿触发和电平触发中断的区别

0 资料 ARM Generic Interrupt Controller Architecture version 2.0 Architecture Specification1 边沿触发和电平触发中断的区别 1.1 边沿触发和电平触发中断官方解释 边沿触发&#xff08;Edge-triggered&#xff09; This is an interrupt that is asserted on detectio…

DFS:深搜+回溯+剪枝实战解决OJ问题

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 排列、子集问题 1.1 全排列I 1.2 子集I 1.3 找出所有子集的异或总和 1.4 全排列II 1.5 字母大小写全排列 1.6 优美的排列 二 组合问题 2.1 电话号码的数字组合 …

物联网架构

1 三层架构 三层架构就像我们拿着一个设备&#xff0c;通过网络直接连接到服务器获取结果&#xff0c;步骤简单。 举个例子&#xff1a;智能家居的温度监控系统 1. 感知层&#xff08;设备与传感器&#xff09; 在智能家居系统中&#xff0c;温度传感器被安装在家里的各个房间…

战斗机检测系统源码分享

战斗机检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Visio…

4.提升客户服务体验:ChatGPT在客服中的应用(4/10)

本文大纲旨在指导撰写一篇全面探讨ChatGPT如何通过优化客户服务流程、提供实际应用案例和用户反馈&#xff0c;以提升客户服务体验的深入博客文章。 引言 在当今竞争激烈的商业环境中&#xff0c;客户服务已成为企业成功的关键因素。优质的客户服务不仅能够增强客户满意度和忠…

第十一章 【后端】商品分类管理微服务(11.1)——创建父工程

第十一章 【后端】商品分类管理微服务 11.1 创建父工程 项目名称:EasyTradeManagerSystem:Easy 表示简单易用,Trade 表示交易,Manager 表示管理,System 表示系统,强调系统在商品交易管理方面的便捷性,简称 etms。 新建工程 yumi-etms yumi-etms 作为所有模块的父工程,…

1.使用 IDEA 过程中的英语积累 - File 菜单(每一次重点积累 5 个单词)

前言 学习可以不局限于传统的书籍和课堂&#xff0c;各种生活的元素也都可以做为我们的学习对象&#xff0c;本文将利用 IDEA 页面上的各种英文元素来做英语的积累&#xff0c;如此做有 3 大利 这些软件在我们工作中是时时刻刻接触的&#xff0c;借此做英语积累再合适不过&…

QT + WebAssembly + Vue环境搭建

Qt6.7.2安装工具 emsdk安装 git clone https://github.com/emscripten-core/emsdk.git cd emsdk emsdk install 3.1.50 emsdk activate 3.1.50 Qt Creator配置emsdk 效果 参考 GitHub - BrockReece/vue-wasm: Vue web assembly loader Emscripten cmake多版本编译-CSDN博客 …

vue使用TreeSelect设置带所有父级节点的回显

Element Plus的el-tree-select组件 思路&#xff1a; 选中节点时&#xff0c;给选中的节点赋值 pathLabel&#xff0c;pathLabel 为函数生成的节点名字拼接&#xff0c;数据源中不包含。 在el-tree-select组件中设置 props“{ label: ‘pathLabel’ }” 控制选中时input框中回…

如何使用ssm实现企业人事管理系统+vue

TOC ssm628企业人事管理系统vue 研究背景 自计算机发展以来给人们的生活带来了改变。第一代计算机为1946年美国设计&#xff0c;最开始用于复杂的科学计算&#xff0c;占地面积、开机时间要求都非常高&#xff0c;经过数十几的改变计算机技术才发展到今天。现如今已是电子时…

Holynix: v1

确认物理地址 00:0C:29:BC:05:DE ip扫描 arp-scan -l 端口扫描 nmap 192.168.48.167 访问一下80端口 burp抓包 找到一个登录框 想着burp抓包试试 将抓到的包放入kali中的文件中使用sqlmap注入试试 sqlmap 存在sql注入 sqlmap -r password --batch --random-agent 发现…

卷积神经网络经典模型架构简介

【图书推荐】《PyTorch深度学习与企业级项目实战》-CSDN博客 《PyTorch深度学习与企业级项目实战&#xff08;人工智能技术丛书&#xff09;》(宋立桓&#xff0c;宋立林)【摘要 书评 试读】- 京东图书 (jd.com) ImageNet是一个包含超过1 500万幅手工标记的高分辨率图像的数据…