RNN Seq2Seq

news/2024/10/30 8:43:53/

Feedforward v.s. Recurrent

  1. Feedforward network does not have input at each step
  2. Feedforward network has different parameters for each layer

在这里插入图片描述

双向RNN

在这里插入图片描述
双向递归层可以提供更好的识别预测效果,但却不能实时预测,由于反向递归的计算需要从最末时刻开始,网络不得不等待着完整序列都产生后才可以开始预测。在对于实时识别有要求的线上语音识别,其应用受限

RNN如何训练

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

RNN的训练现象

  • 梯度截断
    梯度截断(Gradient Clipping)是一种用于解决梯度爆炸问题的技术。在深度学习中,由于网络层数的增加和反向传播算法的存在,梯度可能会变得非常大,导致网络无法收敛。
  • 为了解决这个问题,可以采用梯度截断技术,即限制梯度的大小,使其不超过一个指定的阈值。
    在这里插入图片描述

在这里插入图片描述

  • 举例子说明,0.99 和 1.01 的1000次方 ,因为时间t每更新一次,权重矩阵就要自乘一次
    在这里插入图片描述

RNN的问题

在实践中,如果序列过长会导致优化时出现梯度消散或梯度爆炸的问题,从而丧失学
习到连接如此远的信息的能力

  • 为了有效的利用梯度下降法学习,我们希望使不断相乘的梯度的积保持在接近1的数
    值。目前最有效的方式gated RNNs,通过gates的调控,允许线性自连接的权重在
    每一步都可以自我变化调节。LSTM就是gated RNNs中的一个实现

梯度消失的原因之一:tanh激活函数求导后的连乘

  1. 前向计算不可能保证都是1
  2. 反向传播可能趋近于0或者正无穷
    在这里插入图片描述

LSTM

  • LSTM 能解决梯度消失的问题,遗忘门
    • LSTM的遗忘门可以控制信息的流动,从而避免了梯度消失的问题。在传统的RNN中,每个时间步的输入和前一时刻的隐藏状态都会被直接传递到下一时刻,这样会导致信息在时间序列中不断累积,从而导致梯度消失或梯度爆炸的问题。而LSTM的遗忘门可以选择性地遗忘前一时刻的隐藏状态,从而控制信息的流动,避免了信息在时间序列中的累积。同时,LSTM的门控机制也可以控制信息的输入和输出,从而进一步避免了梯度消失或梯度爆炸的问题。因此,LSTM的遗忘门能够有效地解决梯度消失的问题。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
GRU模型如下,它只有两个门了,分别为更新门和重置门,即图中的𝑧𝑡和𝑟𝑡。

  • 更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越小说明前一时刻的状态信息带入越多。
  • 重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。

Seq2Seq

  • 过程:Sample and Softmax
    在这里插入图片描述

Conditional Generation

  • generate based on conditions
    在这里插入图片描述

http://www.ppmy.cn/news/97636.html

相关文章

【Servlet】

目录 🎂1. 第一个 Servlet 程序:使用 Servlet 写 hello world 🥞1.1 创建项目 🍳1.2 引入依赖 🎃1.3 创建目录 🍘1.4 开始写代码 🌍1.5 打包代码 🍤1.6 部署 👑1…

《C++程序设计原理与实践》笔记 第18章 向量和数组

本章将介绍如何拷贝以及通过下标访问向量。为此,我们讨论一般的拷贝技术,并考虑向量与底层数组表示之间的关系。我们将展示数组与指针的关系及其使用引发的问题。我们还将讨论对于每种类型必须考虑的五种基本操作:构造、默认构造、拷贝构造、…

python--杂识--9--subprocess.Popen()各参数含义

subprocess.Popen() 是一个非常有用的 Python 模块,它可以在当前进程内或者在子进程中运行系统命令,并能够查看返回结果。它的一般语法如下: subprocess.Popen(args, bufsize-1, executableNone, stdinNone, stdoutNone,stderrNone, preexec…

rust初级概念及部分操作

文章目录 1、变量与可变性2、数据类型2.1、标量类型2.2、复合类型 3、函数4、控制流4.1、if else4.2、循环 5、所有权5.1、stack与heap5.2、所有权规则5.3、内存与分配5.4、所有权与函数5.5、引用和借用5.6、切片 6、struct7、枚举与匹配7.1、枚举7.2、match 8、package、crate…

漫游计算机系统

1.信息就是位 上下文 那么什么是信息呢? 在计算机系统中,所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据。本质上是一串比特位。 那么又要了解什么是比特了,比特(bit)就是二进制&#xff…

面试题 01.01. 判定字符是否唯一

判定字符是否唯一 实现一个算法&#xff0c;确定一个字符串 s s s 的所有字符是否全都不同。 示例 1&#xff1a; 输入: s “leetcode” 输出: false 示例 2&#xff1a; 输入: s “abc” 输出: true 限制&#xff1a; 0 < len(s) < 100 s[i]仅包含小写字母 如果…

mysql错误码1045解决方案

用数据库连接工具访问提示 1045的错误码&#xff0c;在命令行输入mysql -u root –p&#xff0c;输入密码&#xff0c;经常出现下面的错误信息&#xff0c;相信该错误信息很多人在使用mysql时都遇到过。 ERROR 1045 (28000): Access denied for user rootlocalhost (using pas…

网站部署与上线(1)虚拟机

文章目录 .1 虚拟机简介2 虚拟机的安装 本章将搭建实例的生产环境&#xff0c;将所有的代码搭建在一台Linux服务器中&#xff0c;并且测试其能否正常运行。 使用远程服务器进行连接&#xff1b; 基本的Linux命令&#xff1b; 使用Nginx搭建Node.js服务器&#xff1b; 在服务器端…