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

NLP基础——序列模型(动手学深度学习)

序列模型

定义

序列模型是自然语言处理(NLP)和机器学习领域中一类重要的模型,它们特别适合处理具有时间顺序或序列结构的数据,例如文本、语音信号或时间序列数据。

举个例子:一部电影的评分在不同时间段的评分可能是不一样的,锚定效应:当一部电影获得某项大奖后,该电影的评分可能会上升。季节性:新年贺岁电影和圣诞电影在相应时间会更受欢迎。电影评分不是不变的,和时间是有相关性的。

统计工具

处理序列数据需要统计工具和新的深度神经网络架构。我们通常使用 x t x_t xt 表示模型在时间 t t t 的输出, t t t 代表时间步,通过以下公式进行预测: x t ∼ P ( x t ∣ x t − 1 , … , x 1 ) x_t\sim P(x_t|x_{t-1},\dots,x_1) xtP(xtxt1,,x1)
使用条件概率展开: P ( a , b ) = P ( a ) P ( b ∣ a ) = P ( b ) P ( a ∣ b ) P(a,b)=P(a)P(b|a)=P(b)P(a|b) P(a,b)=P(a)P(ba)=P(b)P(ab)
根据条件概率的链式法则有: P ( x ) = P ( x 1 ) ⋅ P ( x 2 ∣ x 1 ) ⋅ P ( x 3 ∣ x 1 , x 2 ) ⋅ ⋯ P ( x t ∣ x 1 , ⋯ , x t − 1 ) P(x)=P(x_1)\cdot P(x_2|x_1)\cdot P(x_3|x_1,x_2)\cdot \cdots P(x_t|x_1,\cdots,x_{t-1}) P(x)=P(x1)P(x2x1)P(x3x1,x2)P(xtx1,,xt1)

对条件概率建模, P ( x t ∣ x 1 , ⋯ , x t − 1 ) = P ( x t ∣ f ( x 1 , ⋯ , x t − 1 ) ) P(x_t|x_1,\cdots,x_{t-1})=P(x_t|f(x_1,\cdots,x_{t-1})) P(xtx1,,xt1)=P(xtf(x1,,xt1))这里的 f f f 函数可以看作对之前的数据进行建模,来预测序列中的下一个元素。(这正是序列模型如循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)和最近的Transformer模型所做的事情)

举个序列预测的例子(文本生成):输入一段文本,根据该文本的数据训练好一个模型,现在有一句话“今天天气……”,要求对之后的话进行续写,续写其实就是预测下一个最可能的字(这也是GPT系列模型的原理),这里每个字就可以看作在时间 t t t 的输出。 根据之前的文本,可能之前出现很多次“今天天气真好”,那么“真”字在“今天天气”已经存在的情况下的概率就会比较高 P ( 真 ∣ 今天天气 ) > P ( 不 ∣ 今天天气 ) P(真|今天天气) >P(不|今天天气) P(今天天气)>P(今天天气)。再根据“真”,预测出“好”。

自回归模型

自回归模型:根据自己之前的序列数据建模进行之后元素的预测,所以叫自回归。
输入数据的数量, 输入 x t − 1 , … , x 1 x_{t-1},\dots,x_1 xt1,,x1 本身因 t t t而异。 也就是说,输入数据的数量这个数字将会随着我们遇到的数据量的增加而增加(甚至是指数级的增长), 因此需要一个近似方法来使这个计算变得容易处理。有以下两种策略。

马尔可夫模型

马尔可夫假设认为现实情况下相当长的序列 x t − 1 , ⋯ , x 1 x_{t-1},\cdots,x_1 xt1,,x1 可能是不必要的, 因此我们只需要满足某个长度为 τ \tau τ 的时间跨度, 即使用观测序列 x t − 1 ⋯ , x t − τ x_{t-1}\cdots,x_{t-\tau} xt1,xtτ 来进行 x t x_t xt 的预测。 这样当 t > τ t>\tau t>τ 时参数的数量总是不变的。
在这里插入图片描述

隐变量自回归模型

在序列模型中,隐变量(Latent Variable)是指那些在时间序列数据中不可直接观测,但却对序列的产生及其动态变化有着重要影响的变量。在这里隐变量可以看作对过去序列观测的总结 h t = f ( x 1 , ⋯ , x t − 1 ) h_t = f(x_1,\cdots,x_{t-1}) ht=f(x1,,xt1).
这样模型需要同时预测 x t x_t xt 和更新 h t h_t ht,于是模型形式上就变成: h t = g ( h t − 1 , x t − 1 ) h_t=g(h_{t-1},x_{t-1}) ht=g(ht1,xt1) x t = P ( x t ∣ h t ) x_t=P(x_t|h_t) xt=P(xtht) 在这里插入图片描述

总结

在这里插入图片描述

本专栏用于记录学习笔记和理解,其内容都是基于李沐老师的课程:动手学深度学习。
可以在b站学习老师的课程:动手学深度学习 PyTorch版
教材:教材

相关文章:

NLP基础——序列模型(动手学深度学习)

序列模型 定义 序列模型是自然语言处理(NLP)和机器学习领域中一类重要的模型,它们特别适合处理具有时间顺序或序列结构的数据,例如文本、语音信号或时间序列数据。 举个例子:一部电影的评分在不同时间段的评分可能是…...

机器学习AI大模型的开源与闭源:哪个更好?

文章目录 前言一、开源AI模型1.1 开源的优点1.2 开源的缺点 二、闭源AI模型2.1 闭源的优点2.2 闭源的缺点 三、开源与闭源的平衡3.1 开源与闭源结合的案例3.2 开源与闭源的战略选择 小结 前言 在过去的几年里,人工智能(AI)和机器学习&#xf…...

关于大模型多轮问答的两种方式

前言 大模型的多轮问答难点就是在于如何精确识别用户最新的提问的真实意图,而在常见的使用大模型进行多轮对话方式中,我接触到的只有两种方式: 一种是简单地直接使用 user 和 assistant 两个角色将一问一答的会话内容喂给大模型&#xff0c…...

达梦数据库相关SQL及适配Mysql配置总结

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…...

Centos7.9实现多台机器ssh免密登录

1.本机(172.16.10.228)先生成密钥对 ssh-keygen -t rsa 2.执行命令,把本机公钥拷贝到远程机器 ssh-copy-id rootdistinctIp 3.查看一下远程机器 、/root/.ssh/authorized_keys文件 cat /root/.ssh/authorized_keys 会看到里边多了个公钥…...

Unity3D DOTS JobSystem物理引擎的使用详解

前言 Unity3D DOTS(Data-Oriented Technology Stack)是Unity引擎的一项新技术,旨在提高游戏性能和扩展性。其中的Job System是一种用于并行处理任务的系统,可以有效地利用多核处理器的性能。在本文中,我们将重点介绍如…...

vue3+element-plus 表单校验和循环form表单校验

1.HTML页面 //el-form 标签添加上 ref"form2Form" :rules"rules2" :model"form2" 正常表单校验 //没有循环表单的使用事例<el-form-item label"投保人名称" class"insurance-date-no1" prop"tbrName">…...

Java集合基础知识点系统性总结篇

目录 集合一、图解集合的继承体系&#xff1f;&#xff08;[图片来源](https://www.cnblogs.com/mrhgw/p/9728065.html)&#xff09;点击查看大图二、List,Set,Map三者的区别&#xff1f;三、List接口的实现3.1、Arraylist 、 LinkedList、Vector3.2、Arraylist 、 LinkedList、…...

智能网联汽车信息安全风险识别与应对策略研究综述

摘要&#xff1a;随着智能网联汽车技术的飞速发展&#xff0c;其信息安全问题逐渐成为公众关注的焦点。本文概述了智能网联汽车技术的发展背景和信息安全风险的来源&#xff0c;采用STRIDE威胁分析方法对智能网联汽车的四层模型进行风险识别&#xff0c;进一步探讨了抗女巫攻击…...

python-web应用程序-Django数据库-数据库表设计

python-web应用程序-Django数据库-数据库表设计 在models中创建一个类会自动对数据库进行管理&#xff0c;那么如何用类的声明来实现数据库表的设计呢&#xff1f; from django.db import models# Create your models here. class Department(models.Model):title models.Ch…...

C#知识|封装典型的SQLServer数据库查询方法。

哈喽,你好啊,我是雷工! 前边学习封装了增删改的方法封装: 《C#知识|通用数据访问类SQLHelper的编写》; 本节继续学习将两种典型的查询方法封装成类。 下边为学习笔记。 01 封装单一返回结果的封装 在查看封装后的代码之前,可以先看下封装前代码的写法: 《C#知识|通过A…...

第一篇 逻辑门(与门、或门、非门、异或门)

一、实验目的 了解DE1-SOC开发板一些外设。 掌握常用组合逻辑门电路的基本原理。 学习Verilog HDL的基本语法。 学习使用ModelSim工具对设计的电路进行仿真&#xff0c;包括编写Testbench仿真代码&#xff0c;以及ModelSim工具的使用。 熟悉使用Quartus软件从创建Quartus工…...

车牌号码智能监测识别摄像机

车牌号码智能监测识别摄像机是一项革命性的技术&#xff0c;为交通管理和安全提供了全新的解决方案。这种摄像机利用先进的人工智能和图像识别技术&#xff0c;能够实时监测道路上的车辆&#xff0c;并准确识别车辆的车牌号码&#xff0c;为交通管理和安全提供了强有力的支持。…...

Python局部变量:深入探索与实战应用

Python局部变量&#xff1a;深入探索与实战应用 在Python编程中&#xff0c;局部变量是一个至关重要的概念。它们被定义在函数或方法内部&#xff0c;并且只在定义它们的那个特定的代码块中可见。然而&#xff0c;局部变量的使用并不总是那么简单明了&#xff0c;尤其是当涉及…...

Java面试八股之怎么降低锁竞争

怎么降低锁竞争 减少锁的持有时间&#xff1a; 尽量缩短线程持有锁的时间&#xff0c;只在必要时才获取锁&#xff0c;一旦操作完成立即释放锁。可以通过将同步代码块的范围缩小到最小必要程度来实现&#xff0c;避免在锁保护的代码块中执行耗时操作或等待操作&#xff0c;比如…...

数组的操作方法

数组的操作方法 forEach 循环 数组的私有方法 7个内置操作方法 1.push 尾部添加 2.pop 尾部删除 3.shift 头部删除 4.unshift 头部添加 5.splice 删除 替换 插入(本质是删除 返回的是删除的元素组成的数组[因为可以删除多个…...

RK3588 Android13添加开机logo或开机动画

wzhlenkeng-HP-Pro-Tower-ZHAN-99-G9-Desktop-PC:/media/extern_sda/wzh/rk3588_android/device/rockchip/rk3588$ git show commit e8da2099dccfed7f7b348c2e324d9c3d3e555d39 (HEAD) Author: wzh <wuzenghonglenkeng.com> Date: Tue Jun 4 09:53:48 2024 0800添加开…...

JVM学习-监控工具(一)

使用数据说明问题&#xff0c;使用知识分析问题&#xff0c;使用工具处理问题 无监控&#xff0c;不调优&#xff01; 命令行工具 在JDK安装目录下&#xff0c;可以查看到相应的命令行工具&#xff0c;如下图 jps(Java Process Status) 显示指定系统内所有的Hotpot虚拟机…...

基础—SQL—DQL(数据查询语言)分页查询

一、引言 上一篇博客学习了排序查询&#xff0c;这次来讲查询的最后一个部分&#xff1a;分页查询。 涉及到的关键字是&#xff1a;LIMIT 。 二、DQL—分页查询 对于分页&#xff0c;不管以后做的是传统的管理系统还是做互联网的项目&#xff0c;基本上都会遇到分页查询的操…...

独立开发者通过这100种方式赚钱

独立开发者可以通过多种方式赚钱&#xff1a; 销售游戏&#xff1a;独立开发者可以通过 Steam、Itch.io 和 App Store 等平台直接向消费者销售他们的游戏。 他们还可以在自己的网站上出售游戏的实体副本或数字下载。 提供游戏内购买&#xff1a;一些游戏包括微交易或游戏内购…...

linux中systemctl详细理解及常用命令解析

一、systemctl理解Linux 服务管理两种方式service和systemctlsystemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度&#xff0c;尽可能启动较少的进程&#xff0c;尽可能更多进程并发启动。systemd对应的进程管理命令是systemctl1. systemctl命令兼容了service即…...

3个理由告诉你,为什么GraphvizOnline是技术文档的最佳图表工具

3个理由告诉你&#xff0c;为什么GraphvizOnline是技术文档的最佳图表工具 【免费下载链接】GraphvizOnline Lets Graphviz it online 项目地址: https://gitcode.com/gh_mirrors/gr/GraphvizOnline 还在为制作复杂的技术架构图而头疼吗&#xff1f;GraphvizOnline这款免…...

Dell G15终极散热控制:tcc-g15开源方案完全指南

Dell G15终极散热控制&#xff1a;tcc-g15开源方案完全指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否厌倦了Dell G15游戏本自带的AWCC软件那臃肿的…...

Qwen3-14B在Keil5 MDK开发中的奇思妙用:注释生成与调试日志分析

Qwen3-14B在Keil5 MDK开发中的奇思妙用&#xff1a;注释生成与调试日志分析 1. 嵌入式开发的痛点与AI机遇 在STM32项目开发过程中&#xff0c;每个工程师都经历过这样的场景&#xff1a;接手一个遗留项目&#xff0c;面对大段没有注释的汇编代码&#xff1b;或者调试时串口不…...

Qwen3.5-9B快速上手:3步启动WebUI(supervisorctl restart)超详细步骤

Qwen3.5-9B快速上手&#xff1a;3步启动WebUI&#xff08;supervisorctl restart&#xff09;超详细步骤 1. 开篇介绍 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型&#xff0c;具备强大的逻辑推理、代码生成和多轮对话能力。特别值得一提的是&#xff0c;它的多模态变体Qw…...

【OpenClaw从入门到精通】第55篇:上海人工智能实验室SafeClaw深度解析——内生式安全的三大支柱(2026实测版)

摘要:2026年OpenClaw安全审计报告显示,其34个测试场景安全通过率仅58.9%,36.4%的内置技能存在高风险,提示词注入、沙箱逃逸等威胁突出。上海人工智能实验室推出的SafeClaw平台,以“内生式安全”颠覆传统“外挂式隔离”,构建模型安全、过程安全、输出安全三重防火墙。本文…...

杰理之开mic关mic复位问题处理【篇】

开PC模式...

如何永久保存微信聊天记录:WeChatMsg本地化数据管理完全指南

如何永久保存微信聊天记录&#xff1a;WeChatMsg本地化数据管理完全指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…...

为什么选择Apache NetBeans?完整对比主流IDE的优势与特色

为什么选择Apache NetBeans&#xff1f;完整对比主流IDE的优势与特色 【免费下载链接】netbeans Apache NetBeans 项目地址: https://gitcode.com/gh_mirrors/ne/netbeans Apache NetBeans是一款由Apache软件基金会开发的开源集成开发环境&#xff08;IDE&#xff09;&a…...

测试计划详细说明

一份高质量的测试计划本质上是质量风险的防御蓝图&#xff0c;它要在有限资源和无限质量诉求之间找到平衡点。我将从结构、内容、决策逻辑三个维度展开&#xff0c;并提供一个可直接落地的框架。一、测试计划的核心定位测试计划的本质回答三个问题&#xff1a;测什么&#xff1…...