为了账号安全,请及时绑定邮箱和手机立即绑定

AI学习笔记——循环神经网络(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基本结构

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

webp

image.png

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

webp

image.png

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

webp

image.png

2.RNN的应用实例

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

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

webp

image.png

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

webp

image.png


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

webp

image.png


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

webp

image.png


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

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



作者:Hongtao洪滔
链接:https://www.jianshu.com/p/540946052325


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消