在前面我们讲到了DNN,以及DNN的特例CNN的模型和前向反向传播算法,这些算法都是前向反馈的,模型的输出和模型本身没有关联关系。今天我们就讨论另一类输出和模型间有反馈的神经网络:循环神经网络(Recurrent Neural Networks ,以下简称RNN),它广泛的用于自然语言处理中的语音识别,手写书别以及机器翻译等领域。

1. RNN概述

    在前面讲到的DNN和CNN中,训练样本的输入和输出是比较的确定的。但是有一类问题DNN和CNN不好解决,就是训练样本输入是连续的序列,且序列的长短不一,比如基于时间的序列:一段段连续的语音,一段段连续的手写文字。这些序列比较长,且长度不一,比较难直接的拆分成一个个独立的样本来通过DNN/CNN进行训练。

    而对于这类问题,RNN则比较的擅长。那么RNN是怎么做到的呢?RNN假设我们的样本是基于序列的。比如是从序列索引1到序列索引ττ的。对于这其中的任意序列索引号tt,它对应的输入是对应的样本序列中的x(t)x(t)。而模型在序列索引号tt位置的隐藏状态h(t)h(t),则由x(t)x(t)和在t−1t−1位置的隐藏状态h(t−1)h(t−1)共同决定。在任意序列索引号tt,我们也有对应的模型预测输出o(t)o(t)。通过预测输出o(t)o(t)和训练序列真实输出y(t)y(t),以及损失函数L(t)L(t),我们就可以用DNN类似的方法来训练模型,接着用来预测测试序列中的一些位置的输出。

    下面我们来看看RNN的模型。

2. RNN模型

    RNN模型有比较多的变种,这里介绍最主流的RNN模型结构如下:

循环神经网络(RNN)模型与前向反向传播算法相关推荐

  1. LSTM模型与前向反向传播算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前  言 在循环神经网络(RNN)模型与前向反向传播算法中,我们总 ...

  2. RNN与其反向传播算法——BPTT(Backward Propogation Through Time)的详细推导

    前言 一点感悟: 前几天简单看了下王者荣耀觉悟AI的论文,发现除了强化学习以外,也用到了熟悉的LSTM.之后我又想起了知乎上的一个问题:"Transformer会彻底取代RNN吗?" ...

  3. 深度学习(四):卷积神经网络(CNN)模型结构,前向传播算法和反向传播算法介绍。

    在前面我们讲述了DNN的模型与前向反向传播算法.而在DNN大类中,卷积神经网络(Convolutional Neural Networks,以下简称CNN)是最为成功的DNN特例之一.CNN广泛的应用 ...

  4. 误差反向传播算法笔记

    复习一下基础. 一.机器学习模型的处理方法 (1) 数据预处理: 经过数据的预处理,如去除噪声等.比如在文本分类中,去除停用词等. (2) 特征提取:从原始数据中提取一些有效的特征.比如在图像分类中, ...

  5. 深度学习---反向传播算法

    装载原文:https://www.cnblogs.com/yeluzi/p/7418291.html 一. 一种基于矩阵运算快速计算神经网络输出的方法 在介绍反向传播之前,先介绍怎么利用矩阵运算快速的 ...

  6. 快速计算梯度的魔法--反向传播算法

    一.实验介绍 1.1 实验内容 第一次实验最后我们说了,我们已经学习了深度学习中的模型model(神经网络).衡量模型性能的损失函数和使损失函数减小的学习算法learn(梯度下降算法),还了解了训练数 ...

  7. php梯度区间计算,快速计算梯度的魔法--反向传播算法

    2.1 计算梯度的数值方法 第一次实验我留的一个课后作业里问你是否能够想出一个求解梯度的办法,其实不难想到一种简单的办法就是使用"数值法"计算梯度. 办法很简单,就是对于损失函数中 ...

  8. 花书+吴恩达深度学习(十五)序列模型之循环神经网络 RNN

    目录 0. 前言 1. RNN 计算图 2. RNN 前向传播 3. RNN 反向传播 4. 导师驱动过程(teacher forcing) 5. 不同序列长度的 RNN 如果这篇文章对你有一点小小的 ...

  9. 「NLP」 深度学习NLP开篇-循环神经网络(RNN)

    https://www.toutiao.com/a6714260714988503564/ 从这篇文章开始,有三AI-NLP专栏就要进入深度学习了.本文会介绍自然语言处理早期标志性的特征提取工具-循环 ...

最新文章

  1. java动态加载配置文件
  2. 生产订单结算时候的几个差异
  3. Redis实现发布与订阅(转)
  4. Asp.Net MVC CodeFirst模式数据库迁移步骤
  5. rk3399硬件设计指南_CMMI2实施过程系列-系统设计
  6. 十分钟读懂『卡尔曼滤波算法』
  7. java true false_关于java:如何存储boolean返回false / true的次数
  8. 米斯特白帽培训讲义 漏洞篇 代码执行
  9. 凌晨一点的粤海街道对抗来自美国的力量|湾区人工智能
  10. python操作docx入门教程
  11. @ab测试工具使用详解
  12. android TabHost
  13. kali netstat使用教程
  14. 简述sqlite数据库的特点_sqlite数据库特点
  15. pycharm文件名颜色含义
  16. 韩寒:给李彦宏先生的一封信
  17. 数据管理平台DMP细致研究——BlueKai
  18. C语言零基础入门级数据类型+运算符+控制流+ASCII 码表+面试题【系统学习第二天】
  19. 基于BIM+3DGIS物联网技术,如是实现智慧园区(楼宇)可视化管控平台的?
  20. 怎么在短时间内快速提高网站排名

热门文章

  1. Microsoft.Bcl.Build 1.0.10 稳定版发布
  2. 关于文件的默认读取和保存路径(转)
  3. libcurl 域名解析分析
  4. 算法提高课-数学知识-矩阵乘法-AcWing 1303. 斐波那契前 n 项和:矩阵乘法,快速幂,线性代数
  5. PAT甲级1112 Stucked Keyboard:[C++题解]卡住的键盘、双指针、去重
  6. php 三元运算符 为空,PHP中三元运算符和Null合并运算符的简单比较
  7. python heap_python topN max heap,使用heapq还是自己实现?
  8. python 图标字体_Icon-font图标字体的四类制作方法
  9. iis php session丢失,Session丢失的解决办法小结
  10. c#对象集合去重_C# List集合去重操作注意点