循环神经网络介绍(RNN)

ops/2024/11/13 17:55:13/

序列模型

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

类型

        语音识别

        情感分析

        机器翻译

特点:

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

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

循环神经网络

定义:循环(递归)神经网络是神经网络的一种,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.ppmy.cn/ops/16502.html

相关文章

赋能智慧校园!A3D数字孪生可视化,轻量又高效!

放假之后,学生们会逐步返学,大量人员出入校园,安全更是不容忽视,如何在短时间内对大批人员及设施进行智能监管?数字化转型是关键手段,我们可以融合线上线下数据,搭建3D立体的智慧校园&#xff0…

多客圈子交友系统 uniapp+thinkphp6适配小程序/H5/app/api全开源,多款插件自选,支持个性定制!

网上交友的优点包括: 1. 方便:网上交友可以随时随地进行,不受时间和空间的限制,方便且高效。 2. 匿名性:网上交友可以实现匿名性,用户可以匿名地搜索、聊天或交换信息,保护个人隐私和安全。 3.…

OpenStack云计算(十)——OpenStack虚拟机实例管理,增加一个计算节点并进行实例冷迁移,增加一个计算节点的步骤,实例冷迁移的操作方法

项目实训一 本实训任务对实验环境要求较高,而且过程比较复杂,涉及的步骤非常多,有一定难度,可根据需要选做。可以考虑改为直接观看相关的微课视频 【实训题目】 增加一个计算节点并进行实例冷迁移 【实训目的】 熟悉增加一个…

云计算革新:以太网 Scale-UP 网络为 GPU 加速赋能

谈谈基于以太网的GPU Scale-UP网络 Intel Gaudi-3 采用 RoCE 互联技术,促进了 Scale-UP 解决方案。业界专家 Jim Keller 倡导以太网替代 NVLink。Tenstorrent 成功应用以太网实现片上网络互联。RoCE 和以太网已成为互联解决方案的新兴趋势,为高性能计算提…

Docker资源管理-数据管理

一、CPU 资源控制: 1.cgroups: cgroups,是一个非常强大的linux内核工具,他不仅可以限制被 namespace 隔离起来的资源, 还可以为资源设置权重、计算使用量、操控进程启停等等。 所以 cgroups(Control grou…

Docker 的数据管理 端口映射 容器互联 镜像的创建

目录 概念 概念 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。总结:因为容器数据是临时保存的为了安全,就要让数据保持持久化。 1&#…

C/C++开发,opencv-ml库学习,支持决策树(DTrees)应用

目录 一、决策树(DTrees) 1.1决策树算法简介 1.2 OpenCV决策树 二、cv::ml::DTrees 库应用 2.1 训练及样本数据准备 2.2 程序编译 2.3 main.cpp全代码 一、决策树(DTrees) 1.1决策树算法简介 决策树(Decision T…

jsp+springboot+java二手车交易管理系统258u6

设计而成的系统要有以下目标:管理员和用户能够跳转到不同的页面当中。因此要把系统的目标设置为如下几项: (1) 系统在操作上不能过于复杂。 (2) 用户对应着不同的角色 (3) 设计完成的数据库要有能够处理并发和安全的作用 (4) 设计完成的管理…