iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python人工智能深度学习RNN模型结构流程
  • 791
分享到

Python人工智能深度学习RNN模型结构流程

2024-04-02 19:04:59 791人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.RNN基础模型2.LSTM3.流程结构1.RNN基础模型 RNN主要特点是,在DNN隐藏层的输出内容会被存储,并且可以作为输入给到下一个神经元。 如下图所示,当“台北”这个词

1.RNN基础模型

RNN主要特点是,在DNN隐藏层的输出内容会被存储,并且可以作为输入给到下一个神经元。

如下图所示,当“台北”这个词被输入的时候,前面的词有可能是“离开“,有可能是”到达“,如果把上一次输入的”离开“,所得的隐藏层内容,输入给下一层,这样就有可能区分开是”离开台北“,还是”到达台北“。

如果隐藏层存储的内容并给下次使用,叫做Elman Network

如果最终的输出内容给下次使用,叫做Jordan Network

双向RNN:从正向输入的内容,得到的存储内容,以及反向输入内容得到的存储内容,同时输入给模型。

2.LSTM

Long Short-term Memory,其实当人们说到使用RNN的时候,通常都是使用的LSTM。对于LSTM的每一个单元,除了输入的数据之外,还有另外三个“门”来控制输入,输出,存储。如下图所示,如此一来,每一个LSTM单元共有4个输入,以及1个输出。

这些控制的门都是向量,并且输入之后都需要进行一个sigmoid函数转换,因此输入和门进行计算之后,得到的输出是位于0-1之间的数据,这样就可以实现对输入、输出、存储与否的把控。而门的参数都需要由RNN学习得到。

3.流程结构

如下图,假如输入的是z,经过函数转换,得到g(z),输入门的数据z(i),经过一个sigmoid函数转换,将其相乘,得到g(z) * f(z(i))

同样的,当控制存储数的门得到的结果是1的时候,那么以前的数据就会和1相乘,并于前面算的结果相加,这样就实现了对上次存储数据的利用。是0的时候就会删除上次的数据,实现存储数据的格式化。

最终得到的输出是h(c),但如果输出门输入z0后计算的结果是0,则该输出就无法输出,是1的时候才可以输出。

LSTM和DNN的区别,就是把神经元换成了LSTM单元,输入的数据乘上权重之后,来控制各个门。因此参数变成平常DNN参数的4倍。

将整个流程简化来表示,如下。

实际中,LSTM不只是一个,它是多个组合,并且每一个的输出,以及存储的内容也会添加到下一次的输入当中。如下图所示:

以上便是LSTM的整体结构。

python人工智能深度学习RNN模型流程结构的详细内容今天就为大家讲解到这里了,更多关于RNN模型流程结构的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python人工智能深度学习RNN模型结构流程

本文链接: https://www.lsjlt.com/news/157111.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作