RNN、LSTM知识点总结

news2024/11/30 8:31:46

CNN——用于计算机视觉(CV)

RNN——用于自然语言处理(NLP)

理解:其中h0,h1...ht-1是中间结果,x0,x1...x代表时序输入。举例:如I am Chinese,I love China,则x0=‘I’,x1=‘am’...xt=‘China’,但单词不能直接输入网络,所以使用word2vec将单词转换成向量后,即可作为输入。

缺点:RNN会考虑之前的所有结果记录下来,记得太多就会产生错误或误差

LSTM:针对RNN的缺点,选择性的保留之前的信息

每个黄色方框表示一个神经网络层,由权值,偏置以及激活函数组成;每个粉色圆圈表示元素级别操作;箭头表示向量流向;相交的箭头表示向量的拼接;分叉的箭头表示向量的复制

LSTM的核心部分是上图,这一部分一般叫做单元状态(cell state)它自始至终存在于LSTM的整个链式系统中,其中( C:控制参数,决定什么信息保留,什么信息遗忘)

门:让信息选择式通过的方法,由一个sigmoid函数和乘法操作构成。通过使用sigmoid输出0到1之间的数值,用于描述每个部分有多少量可以通过,0代表不允许任何量通过,1代表允许任意量通过。

 

 

 

word2Vec:将文本向量化(对顺序敏感,能体现相近意思)

使用-1到1描述一个属性(如一个人性格是内向还是外向),一般用50-300维度的向量

一个50维词向量(表示50个特征)

 使用热力图表示(颜色越深表示数值越大,-1.6到1.6之间)

例如我们通过这种方法得到三个词向量,其中man和boy的词向量有很多地方是相近的

如何训练一个词向量(一个词应该用什么向量表示)(前向传播去计算损失函数值,反向传播则通过损失函数值去更新权值参数)

随机赋值创建一个词库表1),然后输入一句话的前俩个词,根据输入的俩个词从词库表中找出这俩个词的向量,然后输入网络,最终得到一个分类结果,然后将结果与真实结果比对后得到损失值,然后反向传播更新网络权值和词库表 ,当训练到一定程度后即可得到所有词的词向量了

训练的数据从哪来?合乎语言逻辑的文本都可以

构建训练数据:通过一个滑动串口来选取

 不同的选取模型   

CBOW

Skipgram

 

给定一个点序列(图像和sinx函数相似),然后我们选择一个一个合适的滑动块模式(如50个数一组),然后输入到RNN中(如图) (备注:xi可以输入1维数,可以输入多维向量)

 

网络结构图:

(None,49,1)代表有49个输入节点(滑动块规模),每个输入为1维的数字

然后第一个LSTM,将1维数转换成50维的向量了

然后第二个LSTM,将50维转换成100维的向量了 ,并且只去了最终结果ht,前面的结果丢掉了(None,100)(dropout略)

然后全连接层将100维转为1维数,这个数就是最终的结果(输入x0,x1,x2,x3,...x49后预测得到的值)

 首先读csv文件(5000个数据),将数据集切分为测试集和训练集,然后构建模型(根据上图设计即可,再指定以下损失函数MSE,优化器ADMA),然后画结构图,

有4000-50个序列, 然后从csv中获取0到50的数据,然后取前49个数据作为训练集xi,最后一个最为预测值y,然后从1到51开始以此类推获取

最终得到:x=》(3950,49,1)y=》(3950,1)(当我们拿到陌生代码时应习惯打印shape,通过数据维度来理解代码)

然后用x和y去训练

EarlyStopping:监视损失函数值是否已经收敛,收敛则会停止训练

ModelCheckPoint:保存训练权值,方便接续前一次继续训练

 测试

 

 

 

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

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

相关文章

PS AI功能真实测评;OpenAI提示词最佳实践官方指南;产品出海的多语言场景设计策略;AI黑客松的复兴与狂欢 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 百度商业AI技术创新大赛 (CTI),报名截至7月13日 百度商业AI技术创新大赛,是面向全社会开放的全国性技术创新大…

ROS EKF 机器人位姿估计功能包:robot_pose_ekf 详解

ROS EKF 机器人位姿估计功能包:robot_pose_ekf 详解 功能包使用文件结构配置参数 订阅的话题具体代码轮速里程计惯导数据视觉里程计 发布的话题robot_pose_ekf 的工作原理 功能包使用 文件结构 没有launch文件夹,有两个launch文件都在外面没有config文件…

chatgpt赋能python:Python如何下载FFmpeg:必知方法及优势

Python如何下载FFmpeg:必知方法及优势 如果你是一位使用Python进行视频处理的开发者,那么推荐在项目中使用FFmpeg库。FFmpeg是一个免费开源的视频框架,可以用于解析、编码、转换和流媒体处理等多种操作。本文将介绍如何通过Python下载和使用…

5. 超炫酷的爬虫源代码-vip音乐下载器

文章目录 1. 准备工作2. 安装第3方库2.1 os 库2.2 tkinter库2.3 webbrowser 库2.4 requests 库2.5 PySimpleGUI 库2.6 retrying库 3. 源代码4. 运行结果5. 音乐下载器的使用6. 去哪里找下载的音乐7. 部分代码解析8. 留言 1. 准备工作 在电脑D盘新建一个【安迪笔记】文件夹。 【…

chatgpt赋能python:Python怎么下载cfg模块

Python怎么下载cfg模块 Python是一种流行的编程语言,它多用于Web开发、数据分析、人工智能等领域。要想使用Python编写程序,需要掌握大量的Python模块。其中,cfg模块是一个比较特殊的模块,它可以用来读取和写入INI文件。本文将介…

chatgpt赋能python:Python科学计算之超级强大的数据分析库:Pandas

Python科学计算之超级强大的数据分析库:Pandas Python作为一种高级编程语言,已经被广泛应用于数据分析、机器学习和人工智能等领域。在这些领域中,Pandas是最重要的Python库之一。它提供了高效、灵活的数据结构和数据分析工具,如…

chatgpt赋能python:PythonNumpy下载指南

Python Numpy下载指南 在Python中进行科学计算和数据处理,numpy是一个非常重要和必不可少的工具包。Numpy是Python中强大的数学和科学计算工具,它提供了高效的数据结构和计算方法,可以快速处理大型数据集和复杂的科学计算任务。本文介绍了如…

HashMap源码

介绍 HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。 特点&#xff1…

redis到底是怎么样进行渐进式Rehash的

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。那么redis的底层是如何来存储数据的呢? 一、redis如何在存储大量的key时候,查询速度还能接近O(1)呢&#xf…

JavaSE笔记(六)重制版

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hqvdx4nQ-1685927311485)(https://s2.loli.net/2022/10/04/SkAn9RQpqC4tVW5.png)] 集合类与IO 前面我们已经把基础介绍完了,从这节课开始,我们就正式进入到集合类的讲解中。 …

【ChatGPT+Python】Landsat卫星图像黑边去云及旋转校正

引言 下图是一张Landsat图像的示例(右图)。我们可以明显地看到四周的黑边和倾斜的角度。这是由于卫星传感器成像导致的。一般情况下,我们是不需要去除黑边和选择的,因为这样做之后投影信息和位置信息就不正确了。但对于做深度学习…

React 基本介绍

目录 1、React是什么 2、React 三大颠覆性的特点 2.1 组件 2.2 JSX 2.3 Virtual DOM 3、Flux 架构(redux) 3.1 Flux 3.2 redux 4、打包工具(webpack) 4.1 webpack与RequireJS、browserify 4.2 模块规范 4.3 非 JavaSc…

二叉树的数学性质、最大堆的实现

每层个数的通式 第一层: 2 0 第二层: 2 1 第三层: 2 2 第四层: 2 3 每层个数的通式 2 n − 1 个, n 为层数 \begin{aligned} 第一层:2^0 \\ 第二层:2^1 \\ 第三层:2^2 \\ 第四层&…

linux历史记录简易审计系统

1、有时候我们需要对线上用户的操作进行记录,可以进行追踪,出现问题追究责任,但是linux自带的history并不会实时的记录(仅仅在内存中,当用户正常退出(exit logout )时才会记录到history文件里),并且还有1000行的限制可以删除的; 为了保证让用户的操作进行实时记录&…

chatgpt赋能python:Python入门:如何下载NumPy库

Python入门:如何下载NumPy库 如果你是Python初学者或是有开发经验的工程师,你可能会涉及到使用NumPy库。NumPy是Python中一个非常重要的科学计算库,它提供了高效的多维数组数据结构和数学函数,被许多人用于数据分析、机器学习、科…

Verilog基础:task和function的使用(二)

相关文章 Verilog基础:表达式位宽的确定(位宽拓展) Verilog基础:表达式符号的确定 Verilog基础:数据类型 Verilog基础:位宽拓展和有符号数运算的联系 Verilog基础:case、casex、ca…

CSS的学习1

使用css的目的是让网页具有美观一致的页面。 语法 CSS规则由两个主要的部分构成:选择器以及一条或多条声明(样式) 选择器:h3 声明:{color:red;font-size:30px;} 选择器通常是需要改变的HTML元素; 每条…

六一儿童节-王者连连看

庆祝六一 用java实现的连连看练手小游戏 王者连连看 🤣 游戏介绍😜 核心😮‍💨总结: 🤣 游戏介绍 王者连连看游戏的目标是通过消除相同的图案来得分并进入更高级别的挑战。   游戏分为四个难度   可以自…

cpp: Visitor Pattern

/*****************************************************************//*** \file Gold.h* \brief 访问者模式 Visitor Pattern C 14 行为模式* 2023年6月8日 涂聚文 Geovin Du Visual Studio 2022 edit.文章来源《C新经典设计模式》 王健伟编著 清华大学出版社* \author…

记录:VS2019+OpenCV4.7.0编译

一、准备 OpenCV官网提供了动态库的安装包,但是只有64位,而且没看到编译参数,如果需要32位或者静态链接还是得自己编译。 CMake:https://cmake.org/download/ Visual Studio:https://visualstudio.microsoft.com/zh…