循环神经网络介绍(RNN)

news2024/11/20 6:31:44

序列模型

定义:自然语言处理、音频、视频以及其他序列数据的模型

类型

        语音识别

        情感分析

        机器翻译

特点:

      序列数据前后之间有很强的关联性

      序列数据的输入输出长度不固定

循环神经网络

定义:循环(递归)神经网络是神经网络的一种,RNN将状态在自身网络中循环传递,可以接受时间序列结构输入

类型:

一对一:固定的输入到输出,如图像分类

一对多:固定输入到序列输出,如图像的文字描述

多对一:序列输入到输出,如情感分析,分类正面负面情绪

多对多:序列输入到序列输出,如机器翻译,称为编解码网络

同步多对多:同步序列输入到同步输出,如文本生成,视频每一帧的分类,也称为序列生成

基础循环网络介绍

Xt:表示每一时刻的输入

Ot:表示每一时刻的输出

St:表示每一个隐层的输出

中间小圆圈代表隐藏层的一个单元(cell)

U V W参数共享所有的cell

每一个cell:有两个输入,前一个cell的状态和当前序列的输入

      _{S_{t}} = g1(Ux_{t}+Ws_{t-1}+ba)

每一个cell:有两个输出,当前cell的状态和cell的预测输出

       O_{t} = g2(Vs_{t}+by)

      输出:受到前面时刻隐藏状态的影响

g1,g2:表示激活函数  g1:tanh/relu    g2:sigmoid  softmax

序列生成案例

s  我  昨天  上学  迟到  了  e

词的表示

one - hot编码表示

建立一个所有词的词库(30000个),包含(开始结束)

输出的表示 --softmax

每一个时刻输出的是下一个最有可能的词,可以用概率表示,总长度为词的总数长度

所有词的概率组成的向量

使用softmax来计算概率

矩阵运算表示

以上面为例 

st = rule(Ust + Wst-1)

ot = softmax(Vst)

m :词的个数  xt:长度为m   n:可以人为设定,指定cell的状态输出 大小

形状表示:

[n  , m] * [m ,1] + [n , n] * [n , 1] = [n , 1]

矩阵U n*m  矩阵W n*n

[m , 1] * [n, 1] = [m * 1]

矩阵V [m , 1]

交叉熵损失

一整个序列作为一个训练实例,总误差就是各个时刻词的误差之和

时序反向传播算法(BPTT)

梯度沿着时间通道传播的BP算法

目标:计算误差关于参数U、V和W以及两个偏置bx,by的梯度

          每个时间的梯度都计算出来,然后加起来的梯度为每次w更新的梯度

区分最后一个cell和前面cell的s的梯度值

最后一个:计算最后一个时刻交叉熵损失对于st的梯度

最后一个前面的cell的ds

求出当前层损失对于当前隐层状态输出梯度 + 上一层梯度

每一个cell梯度计算过程

先计算ds^t 然后计算tanh函数梯度

利用链式法则去求U W ba 和x_t,s_t-1的梯度

梯度消失与梯度爆炸

如果矩阵中有非常小的值,并且经过矩阵相乘N次之后,梯度值快速以指数形式收缩,较远的时刻梯度变为0

如果矩阵的值非常大,就会出现梯度爆炸

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

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

相关文章

revit\navisworks各种安装问题

You have entered a nonvalid serial number ,怎么都不给你一个机会输出序列号,怎么办? step1: C:\Program Files (x86)\Common Files\Autodesk Shared\AdskLicensing目录下找到uninstall.exe,右键管理员模式运行,会…

7.MyBatis 操作数据库(初阶)

文章目录 1.什么是MyBatis2.为什么要学习 MyBatis?3.通过spring框架创建MyBatis项目3.1使用MyBatis查询数据库3.2 mysql连接不上报错解决方法 4.MyBatis的基础操作4.1企业建表规范:4.2MyBatis基本实现4.3单元测试4.4使用MyBatis可能遇到的问题4.5配置MyB…

初学python记录:力扣2385. 感染二叉树需要的总时间

题目: 给你一棵二叉树的根节点 root ,二叉树中节点的值 互不相同 。另给你一个整数 start 。在第 0 分钟,感染 将会从值为 start 的节点开始爆发。 每分钟,如果节点满足以下全部条件,就会被感染: 节点此…

一款面向个人和企业的本地云存储解决方案——派盘

派盘是一款什么软件? 派盘是一款面向个人和企业的本地云存储解决方案,它利用了本地硬盘的存储容量,通过“云化”的方式,可以将本地硬盘变成云存储空间,拥有强大的数据保护功能,保证了数据的私密性和安全性。 派盘不仅可以帮助个人用户打造“数字第二大脑”,还可以帮助团…

03 - 伪目标

---- 整理自狄泰软件唐佐林老师课程 文章目录 1. 思考2. 伪目标的引入2.1 伪目标的语法:先声明,后使用2.2 伪目标的妙用:规则调用(函数调用)2.3 绕开 .PHONY 关键字定义伪目标 1. 思考 Makefile 中的 目标 究竟是什么&…

1.3K Star我上位机项目中用了这个开源项目

软件介绍 ClientServerProject的软件是一款基于C-S(客户端-服务器)架构的通用开发框架,为中小型系统的快速开发提供强大的支持。该框架由服务端、客户端以及公共组件三部分组成,不仅提供了基础的账户管理、版本控制、软件升级、公…

车企如何利用数据技术,指导汽车全生命周期的业务运营?

引言:数据正作为重点,为行业提供不可或缺的指导 《汽车数据发展研究报告(2023)》指出,汽车行业正由传统硬件制造向“电动化、智能化、网联化”方向转变。德勤预测,到 2025 年,汽车行业 20%的利…

vue集成百度地图vue-baidu-map

文章目录 vue集成百度地图vue-baidu-map1. Vue Baidu Map文档地址2. 设置npm数据源3. 安装vue-baidu-map4. 配置vue-baidu-map4.1 main.js全局注册4.2 vue页面设置4.3 效果 vue集成百度地图vue-baidu-map 1. Vue Baidu Map文档地址 https://dafrok.github.io/vue-baidu-map/#…

WCH RISC CH32V303RCT6 单片机的SDI Printf 虚拟串口功能 类似RTT打印功能 简单分析

参考: 有关于 SDI printf 更多的信息和资料吗? 关于 CH32 系列 MCU SDI 虚拟串口功能的使用 【CH32X035 评估板测评】 教你使用 SDI 接口重定向 printf 0.前言 有段时间没有看CH32V单片机的开发了,今天帮新来的同事调试时候看到debug.c里面有…

Confluence 快捷键大揭秘:提高效率的小窍门

使用 Confluence 快捷键的好处有: 1.提高工作效率; 2.更流畅地进行编辑、导航和管理操作; 3.减少误操作; 4.展现专业水平。 更多精彩内容: 成为 Jira 大师:效率达人的必备秘诀 Jira Cloud 项目管理专栏 PMO…

WPF —— lCommand命令实例

首先在标签页面设置一个Button按钮 <Button Width"100" Height"40" Content"测试" ></Button> 1 创建一个类 继承于ICommand这个接口&#xff0c; 这个接口一般包含三部分&#xff1a; 俩个方法&#xff1a;一个判断指令是不是…

神经网络算法

神经网络基础&#xff08;用来做特征提取的&#xff09; 一、前向传播二、反向传播三、整体架构四、激活函数五、数据预处理六、参数初始化七、DROP-OUT&#xff08;在测试过程中因模型太过复杂而采取的一种随机杀死的方法&#xff09;八、总结 一、前向传播 1、线性函数 1&am…

Linux的自动化脚本:使用crul命令的从某个网站获取数据(从url获取数据),并将其写入一个文件中

目录 一、要求 二、思路 三、shell脚本实现演练 &#xff08;一&#xff09;脚本实现 &#xff08;二&#xff09;脚本代码说明 &#xff08;三&#xff09;脚本执行 &#xff08;四&#xff09;数据内容 一、要求 Linux的一个进程需要获取一个网站上的最新数据&#xf…

DSP技术及应用——学习笔记一(量化效应)

文章图片内容主要来着老师的PPT&#xff0c;内容为自己总结梳理的学习笔记 二进制定点表示与量化误差 二进制定点表示 基础知识 二进制小数的定点表示 正数小数的定点表示&#xff1a; 思考题&#xff1a;推算字长为16的二进制最大正数与二进制正数 补码&#xff1a;正数不变&…

【AI相关】数学和统计学知识

数学和统计学的知识可以分为两部分&#xff1a; 一部分是线性代数中的基础概念&#xff0c;比如标量、向量和张量。 另一部分是概率统计中常见的分布类型&#xff0c;比如正态分布和伯努利分布。 线性代数 什么是标量&#xff1f; 标量是一个单独的数&#xff0c;可以是整…

matlab新手快速上手6(引力搜索算法)

本文根据一个较为简单的matlab引力搜索算法框架详细分析蚁群算法的实现过程&#xff0c;对matlab新手友好&#xff0c;源码在文末给出。 引力搜索算法简介&#xff1a; 引力搜索算法是一种启发式优化算法&#xff0c;最初于2009年由伊朗的Esmat Rashedi、Hossein Nezamabadi-p…

Vitis HLS 学习笔记--HLS入门示例集合-目录

目录 1. 示例集合概述 2. Interface 接口 2.1 Aggregation_Disaggregation 聚合与解聚 2.1.1 aggregation_of_m_axi_ports 2.1.2 aggregation_of_nested_structs 2.1.3 aggregation_of_struct 2.1.4 auto_disaggregation_of_struct 2.1.5 disaggregation_of_axis_port …

类与对象(二)

类的六个默认构造函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会生…

2.6设计模式——Flyweight 享元模式(结构型)

意图 运用共享技术有效地支持大量细粒度的对象。 结构 其中 Flyweight描述一个接口&#xff0c;通过这个接口Flyweight可以接受并作用于外部状态。ConcreteFlyweight实现Flyweight接口&#xff0c;并作为内部状态&#xff08;如果有&#xff09;增加存储空间。ConcreteFlywe…

6547网新增信息素养大赛真题及白名单考级真题

打扰大家了&#xff0c;汇报一下最近的更新动态&#xff0c;如果大家有急切需要的白名单真题及试卷留言&#xff0c;我们会优先更新&#xff01; 6547网文库&#xff08;www.6547.cn/wenku&#xff09;&#xff1a;新增信息素养大赛图形化编程真题及Python真题&#xff0c;2024…