AI学习笔记——循环神经网络(RNN)的基本概念

简介: 目前深度学习和神经网络算法最典型的有两个应用实例,一个是图像识别,一个是语音识别。上一篇文章讲到图形识别的卷积神经网络(CNN)就广泛应用在了图像别方面,而这篇文章就来讲另一个广泛应用于语音识别的算法循环神经网络(RNN)。

目前深度学习和神经网络算法最典型的有两个应用实例,一个是图像识别,一个是语音识别。上一篇文章讲到图形识别的卷积神经网络(CNN)就广泛应用在了图像别方面,而这篇文章就来讲另一个广泛应用于语音识别的算法循环神经网络(RNN)。

如果说CNN通过滤波器识别出图片中空间像素的关系,那么RNN就能够在时间序列的数据中找到规律,从而预测未来。所以RNN与CNN最大的不同就是, RNN的神经元输入的不仅是要有当前时间点的数据,还需要之前时间点的输出结果。因为当前的输出是跟之前(甚至是之后)的输出是相关的。

举一个简单的例子,给你一组数据【1,2,3,4,5,6】,让你将时间窗口向未来移动一步,你很容易就可以得到结果【2,3,4,5,6,7】。你给出答案7,是因为你发现了7跟6的关系,6跟5的关系,一次类推,RNN的基本原理是这样,就是发现时间序列上输入与输出之间的 关系。

1. RNN基本结构

跟普通神经网路的神经元一样,输入和输出之间是一个线性函数和一个非线性的激活函数如图

img_3239bceca13c5c4289893e0f485d9c96.png
image.png

只不过在神经元会将输出结果又返回给输入端,如果将这个过程在时间的维度上展开就是这个样子的

img_39ed54c42e24875a5a827297c9477a66.png
image.png

当然一层也可以拥有多个神经元

img_8bb63cd4f0b9b6d5f797b4554fd4f1e7.png
image.png

2.RNN的应用实例

RNN并不是每个神经元都要有输入跟输出,输入跟输出可以是多对多(输入输出一一对应)多对一一对多多对多(输入和输出并非一一对应的)

举一个多对多,输入输出一一对应的例子。比如给一段话" Tom is very happy to play with Bill" ,让你判断这句话中每一个单词是否是人名。那输出就应该是[1, 0, 0, 0, 0, 1],"1"代表是人名,"0"代表不是人名。这就是典型的多对多一一对应的例子

img_c1ae96585630f83319dc08e727d3a8f3.png
image.png

当然也有多对一的例子,比如,输入是一段话的影评,然后输出是一个评分的数字。

img_062a7b2c5d912aaf745a23a4bcf339e0.png
image.png

一对多的例子也有很多,比如给一个开头的基调让机器谱曲。

img_e480bf2158213e5649d0a4ddada6060f.png
image.png

最后是多对多,但并非一一对应的RNN。这种情况典型应用就是翻译,因为每种语言的词汇都不是一一对应的。

img_6354af0688ca2ba63ee61e4044ffb171.png
image.png

RNN的基本概念就是这么简单,之后的文章会继续深入介绍一下RNN的具体模型以及在文字处理方面的应用。

本文和之前的文章中用到了twitter上TessFerrandez在吴恩达深度学习课程的笔记,在此对TessFerrandez的精美笔记表示感谢。

————
相关文章
AI学习笔记——神经网络和深度学习
AI学习笔记——卷积神经网络1(CNN)
————
文章首发steemit.com 为了方便墙内阅读,搬运至此,欢迎留言或者访问我的Steemit主页

目录
相关文章
|
7天前
|
机器学习/深度学习
HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
13 0
|
8天前
|
机器学习/深度学习 算法 PyTorch
fast.ai 深度学习笔记(三)(3)
fast.ai 深度学习笔记(三)(3)
24 0
|
8天前
|
机器学习/深度学习 PyTorch 算法框架/工具
fast.ai 深度学习笔记(三)(1)
fast.ai 深度学习笔记(三)(1)
25 0
|
8天前
|
机器学习/深度学习 固态存储 Python
fast.ai 深度学习笔记(四)(2)
fast.ai 深度学习笔记(四)
44 3
fast.ai 深度学习笔记(四)(2)
|
8天前
|
机器学习/深度学习 算法框架/工具 PyTorch
fast.ai 深度学习笔记(五)(4)
fast.ai 深度学习笔记(五)
63 3
fast.ai 深度学习笔记(五)(4)
|
机器学习/深度学习 自然语言处理 Web App开发
fast.ai 深度学习笔记(五)(3)
fast.ai 深度学习笔记(五)
109 2
fast.ai 深度学习笔记(五)(3)
|
8天前
|
机器学习/深度学习 API 调度
fast.ai 深度学习笔记(六)(3)
fast.ai 深度学习笔记(六)
77 6
fast.ai 深度学习笔记(六)(3)
|
机器学习/深度学习 计算机视觉 存储
fast.ai 深度学习笔记(七)(4)
fast.ai 深度学习笔记(七)
81 8
fast.ai 深度学习笔记(七)(4)
|
8天前
|
机器学习/深度学习 自然语言处理 搜索推荐
fast.ai 深度学习笔记(二)(3)
fast.ai 深度学习笔记(二)
84 2
fast.ai 深度学习笔记(二)(3)
|
8天前
|
算法框架/工具 机器学习/深度学习 PyTorch
fast.ai 深度学习笔记(一)(4)
fast.ai 深度学习笔记(一)
11 0
fast.ai 深度学习笔记(一)(4)

热门文章

最新文章