RNN与NLP

news2024/12/24 9:34:20

目录

数据处理基础:

处理文本信息(text -> sequence):

simple RNN模型:


这个教程的笔记:

RNN模型与NLP应用(1/9):数据处理基础_哔哩哔哩_bilibili

数据处理基础:

不能用标量表示类别特征。

可以用one-hot编码把一些类别特征变成数值向量。

处理文本信息(text -> sequence):

1. Tokenization(string->list):把文本变成列表,一个token是一个单词或者一个字符等。

2. 统计词频(建立一个dict):把每个单词映射到一个正整数(字典的key,value,key的个数叫词汇量)。把词频按从高到低排序,然后把词频换成index,从1开始数,然后保留常用词,去掉低频词(可能是人名或拼写错误),这样可以在ont-hot编码时向量的维度变小,减小计算量。

3. sequences:进行完第二步后,每个单词映射到一个正整数,这样一个文本用一个正整数的列表表示。

4. 如果有必要,进行one-hot编码:编码后向量的维度就是第二步字典中的词汇量。

5. 将列表对齐(alignment):每段文本信息的长度不一定一样,可以采取的一种措施是取一个固定值8,当长度小于8时,用0进行填充,当长度大于8时,只选取最后8个。

6. word-embedding(词嵌入):把one-hot编码的向量用一个参数矩阵变成一个低维向量。

simple RNN模型:

RNN适用于文本、语音、时序序列等信息,按照顺序读取每一个词向量。

不如以前流行,如果训练数据足够多,效果不如transformer。在小规模上很有用。

  • Simple RNN很擅长short term dependence,而不擅长long term dependence。第100个输出的状态h_{100}与第一个输入x_{1}几乎没有关系了,这显然是不合理的。

RNN中,在状态h中积累看到过的信息,h_t可理解为RNN从整个序列中抽取到的特征向量,积累了之前看到的所有x_t的信息.

新的状态h_t是旧的状态h_{t-1}和新的输入x_t的tanh函数(双曲正切),它还依赖于矩阵A。

神经网络的模型参数是矩阵A,可能还有一个intercept参数向量b,参数矩阵A随机初始化之后再循环中不断学习更新。

参数矩阵的维度是shape(h)×(shape(h)+ shape(x))。simple RNN只有一个参数矩阵,不管这个时序有多长。

参数矩阵:A

下一个状态:h_t

上一个状态:h_{t-1}

新输入的词向量(特征):x_t

 LSTM模型:

LSTM可避免梯度消失的问题,可以有更长的记忆。

LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。

使用了一个“传送带”来获得比simple RNN更长的记忆。

包含了三个模块:

遗忘门:输出f_t

记忆门:包括sigmoid和tanh两个层,分别输出i_t\tilde{c_t}

记忆门的作用是确定什么样的新信息被存放在细胞状态(也就是前面说的单元模块)中。记忆门包括两个部分:sigmoid,决定什么值需要更新;tanh,创建一个新的候选值向量,生成候选记忆。

针对遗忘门中丢弃的属性信息,在本单元模块找到相应的新的属性信息,添加进去,以补充丢弃的属性信息。

输出门:

输出o_t:决定从传送带c_{t-1}h_t(LSTM的输出,同时输入到下一个状态)

LSTM有四个参数矩阵:W_fW_iW_cW_o、。

参数的数量:4×shape(h)×(shape(h)+ shape(x))。

参考:

Understanding LSTM Networks -- colah's blog

[译] 理解 LSTM(Long Short-Term Memory, LSTM) 网络 - wangduo - 博客园 (cnblogs.com)

The Unreasonable Effectiveness of Recurrent Neural Networks (karpathy.github.io)

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

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

相关文章

eBay在人工智能道路上的成败得失:衡量标准是关键

我是2006年加入eBay的。2009年,这家公司的运营状况非常糟糕,其股价创历史新低(远低于近24美元的历史高位),还出现削减各项成本、负增长、市场占有率降低、技术团队缺乏创新能力等情况。 简而言之,eBay公司…

[极客大挑战 2019]LoveSQL1

万能密码测试,发现注入点 注意这里#要使用url编码才能正常注入 测试列数,得三列 查看table,一个是geekuser另一个是l0ve1ysq1 查看column,有id,username,password,全部打印出来,…

未来已来:AI引领智能时代的多领域巨变

大家好,今天我们将深入探讨人工智能如何彻底改变我们的生活方式,领略未来的无限可能性。 1. 医疗革新:AI担任超级医生 医疗领域是AI最引人注目的战场之一。智能医学影像诊断系统,不仅能够精准识别病变,还能辅助医生提…

excel统计分析——Tukey‘s-b法多重比较

参考资料:生物统计学 Tukeys-b多重比较法是对Tukey法和S-N-K法的综合,取两种方法临界值的各1/2合成。临界值表达式为: 其中,m为秩次距,k为样本平均数的个数,df为误差项自由度, Tukey多重比较具…

计算机网络 第4章(网络层)

系列文章目录 计算机网络 第1章(概述) 计算机网络 第2章(物理层) 计算机网络 第3章(数据链路层) 计算机网络 第4章(网络层) 文章目录 系列文章目录1. 概述1.1 简介1.2 总结 2. 网络…

MATLAB知识点:var :计算方差(variance)

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自第3章 3.4.1节 var :计算方差(…

2024水果软件FL Studio21.2.3中文版破解注册机

FL Studio即“Fruity Loops Studio”,也就是众所周知的水果软件,一个全能音乐制作环境、数字音频工作站(DAW)。FL Studio可以用来进行编曲、剪辑、录音、混音,让你的计算机成为一个全功能录音室。 FL Studio 21 Win-安装包下载如下: https:…

【操作系统基础】【CPU访存原理】:寄存 缓存 内存 外存、内存空间分区、虚拟地址转换、虚拟地址的映射

存储器怎么存储数据、内存空间分区、虚拟地址转换 计算机的存储器:寄存 缓存 内存 外存(按功能划分) 计算机的处理器需要一个存储器来存储大量的指令和数据以便自己不断取指执行和访问数据。 内存(内存就是运行内存&#xff0c…

AI大模型中的Bert

1.全方位上下文理解:与以前的模型(例如GPT)相比,BERT能够双向理解上下文,即同时考虑一个词 的左边和右边的上下文。这种全方位的上下文理解使得BERT能够更好地理解语言,特别是在理解词义、 消歧等复杂任务上…

k8s图形化管理工具rancher

Rancher和K8s的关系,Rancher和K8s区别对比。简单来说,K8s(Kubernetes)为企业提供了一种一致的方式来管理任何计算基础架构,Rancher则是用于管理位于任何位置的Kubernetes集群的完整平台。如果用户是自己手动部署K8s集群…

一篇博客读懂排序

目录 一、常见的排序 二、冒泡排序 2.1基本思想: 2.2代码: 三、插入排序 3.1基本思想: 3.2思路讲解: 3.3代码: 3.4时间复杂度: 四、希尔排序 4.1基本思路: 4.2思路讲解:…

[BSidesCF 2020]Had a bad day

先看url&#xff0c;发现可能有注入 http://655c742e-b427-485c-9e15-20a1e7ef1717.node5.buuoj.cn:81/index.php?categorywoofers 试试能不能查看index.php直接?categoryindex.php不行&#xff0c;试试伪协议 把.php去掉试试 base64解码 <?php$file $_GET[category];…

JS高频面试题(下)

11. 线程和进程的区别 进程是资源分配的最小单元&#xff0c;线程是代码执行的最小单元。 一个应用程序可能会开启多个进程&#xff0c;进程之间数据不共享&#xff0c;一个进程内部可以开启多个线程&#xff0c;线程之间的数据可以共享的&#xff0c;所以多线程的情况下&…

【STM32】STM32学习笔记-W25Q64简介(37)

00. 目录 文章目录 00. 目录01. SPI简介02. W25Q64简介03. 硬件电路04. W25Q64框图05. Flash操作注意事项06. 预留07. 附录 01. SPI简介 在大容量产品和互联型产品上&#xff0c;SPI接口可以配置为支持SPI协议或者支持I 2 S音频协议。SPI接口默认工作在SPI方式&#xff0c;可以…

uniapp page宽度设置为750rpx,子元素宽度100%,大小不一致

uniapp page宽度设置为750rpx&#xff0c;子元素宽度100%&#xff0c;大小不一致。 原因是我在page加了margin: 0 auto;去掉就正常了&#xff08;但是如果在超大屏幕还是会出现&#xff0c;我猜是使用rpx导致的&#xff0c;rpx渲染成页面时会转成精确到一个小数点几位数的rem&a…

row_to_json 用法:postgresql将数据转化为json

如图示&#xff0c;表名为tbl_res_disposal_report,想将查出来的数据转化为json格式 sql: select row_to_json(tbl_res_disposal_report) from tbl_res_disposal_report where 11;查询结果如下图 如果只想转化其中的部分字段&#xff0c; select row_to_json(row(id,dept_n…

自动化网络故障管理

故障管理是网络管理的组成部分&#xff0c;涉及检测、隔离和解决问题&#xff0c;如果实施得当&#xff0c;网络故障管理可以使连接、应用程序和服务保持在最佳水平&#xff0c;提供容错能力并最大限度地减少停机时间&#xff0c;专门为此目的设计的平台或工具称为故障管理系统…

前端开发_JavaScript之WebAPI

WebAPI作用和分类 作用: 就是使用 JS 去操作 html 和浏览器 分类&#xff1a;DOM (文档对象模型)、BOM&#xff08;浏览器对象模型&#xff09; DOM DOM&#xff08;Document Object Model——文档对象模型&#xff09;是用来呈现以及与任意 HTML 或 XML文档交互的API DOM…

静态分析C语言生成函数调用关系的利器——cally和egypt

大纲 准备工作安装graphviz安装cally安装egypt简单分析GCC产生RTL&#xff08;Register transfer language&#xff09;文件callyegypt总结 高级分析callyegypt 总结参考资料 在《静态分析C语言生成函数调用关系的利器——cflow》和《静态分析C语言生成函数调用关系的利器——c…

【CentOS】Linux 文件权限与权限修改

目录 1、Linux 中的文件属性 2、如何修改文件属性与权限 3、目录权限与文件权限的区别 4、Linux 中的文件扩展名 用户与用户组是Linux文件权限的重要组成部分。 首先&#xff0c;一定要明确用户与用户组的概念&#xff1a; Linux 一般将文件可读写的身份分为三个类别&#…