每天给小编五分钟,小编用自己的代码,让你轻松学习人工智能。本文将剖析循环神经网络(RNN)的工作原理,精讲循环神经网络的特点和实现方式。野蛮智能,小白也能看懂的人工智能。

循环神经网络从何而来?

我在我的这篇文章介绍了卷积神经网络(CNN)卷积神经网络(CNN)核心知识点汇总,三分钟让你从小白到精通,卷积神经网络主要用来处理计算机视觉问题,在计算机“看”的过程中,主要是进行特征的对比,通过特征的对比,可以分辨出来这个图片(视频)是哪一种,是不是我们想要的。这在很大程度可以帮助我们实现计算机的智能化。

但是单单靠计算机视觉能力并不能实现自主的智能,其他人类能力的实现也是很重要的。例如,人类可以根据一个故事的开头猜到一个故事的结尾;可以根据对方说的话,揣测他背后的目的;这就是人类的分析能力,根据前因后果、语言的规则、说话的习惯,我们可以得到很多重要的信息。智者往往处理事情有理有据,层次分明,我们期待计算机也有这样的能力。所以学者们设计了神奇的循环神经网络。

循环神经网络的最大创新点

简单来说,序列指的就是前因后果。这种分辨因果的能力,对于计算机的智能化具有重要意义,所以序列问题倍受计算机学界关注。为了解决序列问题,循环神经网络在1982年被提出,由于当时计算能力不足,无法实现。所以很长一段时间,序列问题的解决方案一直被传统机器学习算法所垄断,但是机器学习依赖于人工提取特征,这也使得序列问题一直没有被很好的解决。

RNN的第一大创新点是与深度学习结合,自动提取特征。深度学习的核心本质是自动提取特征,这是深度学习对比于机器学习的优势所在,因此在深度学习理论成熟后,循环神经网络快速发展,获得了成熟的应用。例如,谷歌的翻译系统抛弃掉原来的机器学习算法,采用RNN,获得了远远好于之前的效果。

RNN的第二大创新点是,RNN的输入不仅有数据,也有序列。一个RNN网络运行过程中,数据输入进来后,就会被网络记住,然后把这个被记住的数据表达为一个向量,下一次再输入数据,就继续填到这个向量里,这样反复循环,这个向量就记住了这些数据的先来后到,这个向量叫做隐状态。所以说,RNN的输入包含两部分,第一部分是数据,第二部分是上一时刻的隐状态。

循环神经网络记忆的具体过程

上图基本概括了循环神经网络的核心。假设我们输入一句话:我爱北京,这句话就会被分为三个词我,爱,北京,第一时刻,“我”也就是X1进入系统,经过分解产生一个隐状态h1,接下来,这个隐状态h2和第二个词X2一起输入网络,再经过运算,又产生了第二个时刻的状态h2,然后X3再和h2一起输入,最终得到h3作为输出。h3作为一个向量,表示了这句话的内容。用一句总结,当前时刻的数据 + 上一时刻的状态 = 当前时刻的状态。

公式表示为:h(i+1) = f { [w*x + b] ,[W*h(i) + B] },公式中“w”表示数据x的权重,b表示数据x的偏置值。“W”表示隐状态的权重,B表示隐状态的偏置值。这两部分进过函数f就得到了下一个隐状态,经过循环,最终得到最终的隐状态。

循环神经网络的具体应用

既然是解决了序列问题,那么对顺序有依赖的问题都将迎刃而解。

机器翻译系统:把一种语言经过上述过程,变成一个隐状态向量,然后再反向用另一种语言解释出来,就得到了翻译的结果。你一直以为高大上的翻译系统其实就是这么简单。在小编的后续文章中,会专门写一篇文章,附加代码,来手把手带你做一个自己的翻译系统。

语音识别,人说的话,其实就是一组音频,如果每个固定的频率表示一定的含义,那么就可以得到语音的全部表达了。解决这一问题的关键在于,这样的特征是用语言描述不清楚的,所以可以交给深度学习自动提取音频特征,进行学习,利用RNN的序列特性,就可以清晰表达所说的内容。

除了以上应用,循环神经网络在自然语言处理等其他众多领域,也有十分可观的前景。所以下一篇文章,我会带领大家用代码敲出来一个循环神经网络。让理论扎根于实践!

野蛮智能,小白也能看懂的人工智能。大家有什么见解欢迎评论!

rnn神经网络 层次_精讲深度学习RNN三大核心点,三分钟掌握循环神经网络相关推荐

  1. 精讲深度学习RNN三大核心点,三分钟掌握循环神经网络

    本文将剖析循环神经网络(RNN)的工作原理,精讲循环神经网络的特点和实现方式.野蛮智能,小白也能看懂的人工智能. 循环神经网络从何而来? 我在我的这篇文章介绍了卷积神经网络(CNN)卷积神经网络(CN ...

  2. 深度学习入门(五十六)循环神经网络——循环神经网络RNN

    深度学习入门(五十六)循环神经网络--循环神经网络RNN 前言 循环神经网络--循环神经网络RNN 课件 潜变量自回归模型 循环神经网络 使用循环神经网络的语言模型 困惑度(perplexity) 梯 ...

  3. 深度学习入门(六十四)循环神经网络——编码器-解码器架构

    深度学习入门(六十四)循环神经网络--编码器-解码器架构 前言 循环神经网络--编码器-解码器架构 课件 重新考察CNN 重新考察RNN 编码器-解码器架构 总结 教材 1 编码器 2 解码器 3 合 ...

  4. TensorFlow 2.0深度学习算法实战教材---第11章 循环神经网络

    人工智能的强力崛起,可能是人类历史上最好的事情,也可能是最糟糕的事情.−史蒂芬•霍金 卷积神经网络利用数据的局部相关性和权值共享的思想大大减少了网络的参数量,非常适合于图片这种具有空间(Spatial ...

  5. 深度学习“炼丹”难?三分钟带你了解国产丹炉旷视天元

    自从炼丹界推出新丹药"深度学习",各大炼丹世家(Google, Facebook, Microsoft)不惜重金招纳炼丹贤士.优秀的炼丹师一师难求,上古炼丹世家Google曾发布英 ...

  6. 人工智能:深度学习算法及应用——简单理解CNN卷积神经网络并python实现(带源码)

    深度学习算法及应用 一. 实验目的 二. 实验要求 三. 实验的硬件.软件平台 四. 实验原理 1.1. 深度学习概述 1.2. 深度学习的常见结构 1.3. 卷积神经网络(CNN) **卷积** * ...

  7. 深度学习入门笔记(七):深层神经网络

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  8. 吴恩达《神经网络与深度学习》精炼笔记(5)-- 深层神经网络

    上节课我们主要介绍了浅层神经网络.首先介绍神经网络的基本结构,包括输入层,隐藏层和输出层.然后以简单的2 layer NN为例,详细推导了其正向传播过程和反向传播过程,使用梯度下降的方法优化神经网络参 ...

  9. 神经网络学习小记录2——利用tensorflow构建循环神经网络(RNN)

    神经网络学习小记录2--利用tensorflow构建循环神经网络(RNN) 学习前言 RNN简介 tensorflow中RNN的相关函数 tf.nn.rnn_cell.BasicLSTMCell tf ...

最新文章

  1. zookeeper和duboo 没用
  2. python epoll 并发_Python语言之python并发原理(阻塞、非阻塞、epoll)
  3. HTML5笔记——formData
  4. array专题2---理解暴力枚举与动态规划
  5. Activity onSaveInstanceState(Bundle)
  6. mysql数据库的凭据是什么_使用存储的凭据通过dplyr连接到MySQL数据库
  7. retinex算法小感
  8. tinymce 编辑器 上传图片
  9. 字节跳动斥巨资开发出《Python知识手册》
  10. coreldraw x7对齐快捷键_CorelDraw X7中文版快捷键大全CDR教程
  11. 电脑怎么找回被删除的文件?
  12. 在水处理控制系统中正确运用信号隔离器
  13. w ndows无法完成格式化,windows无法完成格式化,小编教你解决windows无法完成格式化U盘...
  14. 根据日期、时间和当地经纬度计算太阳天顶角和方位角的原理
  15. 计算机网络网卡作用是什么,什么是网卡?它的作用是什么?
  16. python:open()方法+循环语句 练习
  17. python 内建排序 HOW TO
  18. 活动 | 旷视「智见AI」SpringCamp圆满结营 (附回放链接)
  19. 怎么将MP3转换为m4r格式 如何制作iphone手机铃声
  20. 用友U8 V13安装教程

热门文章

  1. java 类似xamarin_有人有基准(代码和结果)比较在Xamarin C#和Java编写的Android应用程序的性能吗?...
  2. github怎么自动更新被人更新过的项目_GitHub 的这 8 个实用技巧,95%的人不知道...
  3. mongodb上一篇下一篇_如何使用Microsoft office word—上一篇
  4. ie浏览器升级_IE 被微软专家从浏览器里除名了,专家说它只是个兼容性解决方案...
  5. noj大作业c语言扫雷,noj大作业.doc
  6. mac 连接hbase的图形化界面_MAC安装Hbase以及Hbase基本命令
  7. 聊天ListView使用ViewHolder
  8. nit计算机应用基础是考试大纲,NIT考试大纲--计算机应用基础.doc
  9. HTML5中的webSocket、ajax、http
  10. js如何获取服务器端时间?