神经网络与深度学习(四)--自然语言处理NLP

这里写目录标题

  • 1.序列模型
  • 2.数据预处理
    • 2.1特征编码
    • 2.2文本处理
  • 3.文本预处理与词嵌入
    • 3.1文本预处理
    • 3.2文本嵌入
  • 3.RNN模型
    • 3.1RNN概要
    • 3.2RNN误差反传
  • 4.门控循环单元(GRU)
    • 4.1GRU基本结构
  • 5.长短期记忆网络 (LSTM)

1.序列模型

分类问题与预测问题

  • 图像分类:当前输入->当前输出
  • 时间序列预测:当前+过去输入->当前输出

自回归模型

2.数据预处理

2.1特征编码

在这里插入图片描述

  • 第1列表示年龄,是一个数值特征
  • 第2列表示性别,是一个只有位( 0,1)的特征
    0 -> Male, 1 > Male, 1 > Male, 1 > Male, 1 -> Female > Female > Female
  • 第3列表示国籍,目前有 197 个国家1 -> US, 2 -> China,
    可以用一个整数来表示,或者独热 向量来表示 , 如US: [1,0, ….,0]
    在这里插入图片描述

2.2文本处理

按字母处理
例如:S=“… to be or not to be”
将文本切分为字母排列:
L=[…, ‘t’, ‘o’, ’ ', ‘b’, ‘e’]

按单词处理文本切分
给定文本片段,如:S=“… to be or not to be”
将文本切分为单词序列:
L=[…,to,be,or,not,to,be]

3.文本预处理与词嵌入

3.1文本预处理

一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。我们将解析文本的常见预处理步骤。 这些步骤通常包括:

  1. 将文本作为字符串加载到内存中。
  2. 将字符串切分为词元(如单词和字符)。
  3. 建立一个字典,将拆分的词元映射到数字索引。
  4. 将文本转换为数字索引序列,方便模型操作。

第一步:读取数据集
以H.G.Well的时光机器为例,从中加载文本。 这是一个相当小的语料库,只有30000多个单词,而现实中的文档集合可能会包含数十亿个单词。如Chatgpt包含65T数据
在这里插入图片描述
第二步:词汇切分
将原始文本以文本行为单位进行切分
在这里插入图片描述
第三步:构建词索引表
在这里插入图片描述

3.2文本嵌入

如何将词映射成向量?
直接想法:使用之前所述的独热向量

在这里插入图片描述
问题:维数过高→解决方案:

词嵌入(word embedding),将独热向量映射为低维向量
在这里插入图片描述
在这里插入图片描述
映射参数矩阵
在这里插入图片描述
词嵌入训练效果
在这里插入图片描述
准确率74%(测试集),不好不差

3.RNN模型

3.1RNN概要

用RNN建模序列数据
输入:The cat sat on the mat
在这里插入图片描述
问题
随着输入的增加,会产生“遗忘”问题

在这里插入图片描述

3.2RNN误差反传

每个时间步的隐状态和输出可以写为:

在这里插入图片描述
通过一个目标函数在所有𝑇个时间步内评估输出 ot​和对应的标签 yt​之间的差异:
在这里插入图片描述
按照链式法则:
在这里插入图片描述
ht​既依赖于ℎ𝑡−1,又依赖于 wh​ , 其中 ht−1​的计算也依赖于wh​。因此,用链式法则产生:
在这里插入图片描述
使用下面的公式移除上式的循环计算:
在这里插入图片描述
截断时间步:可以在𝜏步后截断上式中的求和计算

4.门控循环单元(GRU)

一个良好的记忆产生一个良好的预测。良好的记忆要素:
关注机制(更新门)
遗忘机制(重置门)

基本思想:不是每个观察都同样重要

  1. 门控机制: GRU引入了门控机制来控制信息的流动,这些门控机制有助于模型学习长期依赖关系。与长短期记忆网络(LSTM)类似,GRU也有遗忘门和更新门,但其结构更加简单。
  2. 更新门(Update Gate): GRU中的更新门决定了在当前时间步,模型将多少来自前一个时间步的信息保留下来。更新门的值在0到1之间,它们通过一个sigmoid激活函数生成。当更新门接近1时,大部分过去的状态信息被保留,而当它接近0时,则意味着大部分过去的状态信息被遗忘。
  3. 重置门(Reset Gate): 重置门决定了在当前时间步,模型将如何考虑先前的信息。重置门的作用是控制过去状态的遗忘程度,从而允许模型更灵活地适应不同的时间序列结构。
  4. 候选状态(Candidate State): 在每个时间步,GRU会计算一个候选状态,该状态是根据当前输入和前一个状态生成的。候选状态会结合更新门的信息和先前的状态信息。
  5. 更新状态: 最后,根据更新门和候选状态,GRU会计算出当前时间步的隐藏状态。更新门控制了过去的信息如何被整合到当前的状态中,从而使模型能够更好地适应长期依赖关系。

4.1GRU基本结构

在这里插入图片描述
训练结果(The time machine):和RNN对比
在这里插入图片描述

5.长短期记忆网络 (LSTM)

网络模型
在这里插入图片描述
遗忘门(Forget Gate): 遗忘门决定了在当前时间步,模型将保留多少来自前一个时间步的状态信息。遗忘门的值为0到1之间,当门接近0时,意味着大部分过去的状态信息被遗忘,而当门接近1时,则意味着大部分过去的状态信息被保留。
在这里插入图片描述
输入门(Input Gate): 输入门决定了在当前时间步,模型将保留多少来自当前输入的信息。输入门的值为0到1之间,它控制了新信息与先前状态的整合程度。
在这里插入图片描述
输出门(Output Gate): 输出门决定了在当前时间步,模型将输出多少信息到下一个时间步。输出门的值为0到1之间,它控制了当前状态的哪些部分将被输出。
在这里插入图片描述
总结
参数量是RNN的4倍
输入输出和RNN相同

在这里插入图片描述
训练结果和 GRU 对比
在这里插入图片描述

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

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

相关文章

FSD自动驾驶泛谈

特斯拉的FSD(Full-Self Driving,全自动驾驶)系统是特斯拉公司研发的一套完全自动驾驶系统。旨在最终实现车辆在多种驾驶环境下无需人类干预的自动驾驶能力。以下是对FSD系统的详细探讨: 系统概述 FSD是特斯拉的自动驾驶技术&…

Java 基础重点知识-(Java 语言特性、数据类型、常见类、异常)

文章目录 Java 语言特性形参和实参的区别是什么?值传递和引用传递的区别?Java 是值传递还是引用传递?final 的作用是什么?final finally finalize 有什么不同?static 的作用是什么?static 和 final 的区别是什么? Java 数据类型Java基本数据类型有几种? 各占多少位?基…

Isaac Sim 2 (学习笔记4.26)

今天一整天都要开会,闲的无聊,把这周学的东西简单整理下。纯英文文档想不起来东西的时候总是找不到位置...持续更新一整天 1.将块与块连接起来 尝试连接块与块的时候发现只能是cube、mesh连接,如果是一整个的包括坐标系、材质包等等&#xf…

iBarcoder for Mac:一站式条形码生成软件

在数字化时代,条形码的应用越来越广泛。iBarcoder for Mac作为一款专业的条形码生成软件,为用户提供了一站式的解决方案。无论是零售、出版还是物流等行业,iBarcoder都能轻松应对,助力用户实现高效管理。 iBarcoder for Mac v3.14…

扩展大型视觉-语言模型的视觉词汇:Vary 方法

在人工智能领域,大型视觉-语言模型(LVLMs)正变得越来越重要,它们能够处理多种视觉和语言任务,如视觉问答(VQA)、图像字幕生成和光学字符识别(OCR)。然而,现有…

基于AT89C52单片机的智能热水器控制系统

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/89242443?spm1001.2014.3001.5503 C 源码仿真图毕业设计实物制作步骤05 题 目 基于单片机的智能热水器系统 学 院 专 业 班 级 学 号 学生姓名 指导教师 完成日期…

DevEco Studio mac版启动不了【鸿蒙开发Bug已解决】

文章目录 项目场景:问题描述原因分析:解决方案:此Bug解决方案总结Bug解决方案寄语项目场景: 最近也是遇到了这个问题,看到网上也有人在询问这个问题,本文总结了自己和其他人的解决经验,解决了【DevEco Studio mac版启动不了】的问题。 问题描述 报错如下。 -------…

【javaWeb项目】基于网页形式,通过浏览器访问的java应用程序,就称为javaweb程序

JavaWeb前端 第一章 1、javaWeb是什么 //基于网页形式,通过浏览器访问的java应用程序,就称为javaweb程序2、web程序的分类 //1、静态web程序特点:网页上的内容是固定不变的,不能动态加载,例如web前端//2、动态web程序…

神经网络基础(Neural net foundations)

Today we’ll be learning about the mathematical foundations of deep learning: Stochastic gradient descent (SGD), and the flexibility of linear functions layered with non-linear activation functions. We’ll be focussing particularly on a popular combination…

基于SSM的文物管理系统(含源码+sql+视频导入教程+文档+PPT)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的文物管理系统拥有俩种角色 管理员:个人信息管理、用户管理、分类管理、文物信息管理、文物外借管理、文物维修管理、留言板管理等 用户:登录注册、分类…

接口测试 - postman

文章目录 一、接口1.接口的类型2. 接口测试3. 接口测试流程4. 接口测试用例1. 测试用例单接口测试用例-登录案例 二、HTTP协议1. HTTP请求2. HTTP响应 三、postman1. 界面导航说明导入 导出用例集 Get请求和Post请求的区别:2.postman环境变量和全局变量3. postman 请求前置脚本…

【webrtc】MessageHandler 4: 基于线程的消息处理:以Fake 收发包模拟为例

G:\CDN\rtcCli\m98\src\media\base\fake_network_interface.h// Fake NetworkInterface that sends/receives RTP/RTCP packets.虚假的网络接口,用于模拟发送包、接收包单纯仅是处理一个ST_RTP包 消息的id就是ST_RTP 类型,– 然后给到目的地:mediachannel处理: 最后消息消…

如何轻松在D盘新建文件夹?意外丢失的文件夹怎么找回

对于很多刚接触电脑的朋友来说,如何正确地新建文件夹并将其放置在特定盘符(如D盘)可能是一个不小的挑战。同时,如果新建的文件夹突然消失,而我们又确信自己没有删除它,那么该如何找回呢?本文将为…

想要接触网络安全,应该怎么入门学习?

作为一个网络安全新手,首先你要明确以下几点: 我刚入门网络安全,该怎么学?要学哪些东西?有哪些方向?怎么选?这一行职业前景如何? 其次,如果你现在不清楚学什么的话&…

微信小程序实现九宫格

微信小程序使用样式实现九宫格布局 使用微信小程序实现九宫格样式,可以直接使用样式进行编写,具体图片如下:1、js代码: Page({/*** 页面的初始数据*/data: {current: 4},// 监听activeClick(e) {let index e.currentTarget.dat…

IOT-9608I-L 的GPIO应用

目录 概述 1 GPIO接口介绍 2 板卡上操作IO 2.1 查看IO驱动 2.2 使用ECHO操作IO 2.2.1 端口选择 2.2.2 查看IO 2.2.3 echo操作IO 3 C语言实现一个操作IO的案例 3.1 功能介绍 3.2 代码实现 3.3 详细代码 4 测试 测试视频地址: IOT-9608I-L的一个简单测试&a…

使用Gradio搭建聊天UI实现质谱AI智能问答

一、调用智谱 AI API 1、获取api_key 智谱AI开放平台网址: https://open.bigmodel.cn/overview 2、安装库pip install zhipuai 3、执行一下代码,调用质谱api进行问答 from zhipuai import ZhipuAIclient ZhipuAI(api_key"xxxxx") # 填写…

回溯Backtracking Algorithm

目录 1) 入门例子 2) 全排列-Leetcode 46 3) 全排列II-Leetcode 47 4) 组合-Leetcode 77 5) 组合总和-Leetcode 39 6) 组合总和 II-Leetcode 40 7) 组合总和 III-Leetcode 216 8) N 皇后 Leetcode 51 9) 解数独-Leetcode37 10) 黄金矿工-Leetcode1219 其它题目 1) 入…

汽车热辐射、热传导、热对流模拟加速老化太阳光模拟器系统

汽车整车结构复杂,材料种类繁多,在使用过程中会面临各种严酷气候环境的考验,不可避免会出现零部件材料老化、腐蚀等不良现象,从而影响汽车的外观、功能,甚至产生安全隐患。因此,分析汽车零部件材料老化腐蚀…

【图论】图论基础

图论不同地方讲的不太一样,本文仅限作者的理解 定义 图是一般由点集 V V V 和边集 E E E 组成。 对于 v ∈ V v\in V v∈V,称 v v v 为该图的一个节点。 对于 e ∈ E e\in E e∈E,一般用二元组 ( u , v ) (u,v) (u,v) 表示 e e e&am…