循环神经网络_机器学习:循环神经网络知识要点

循环神经网络(RNN)擅长捕捉序列数据中的依赖关系,其内部结构允许信息在时间轴上传递。本文介绍了RNN的基本原理,并通过Keras展示了如何实现RNN。进一步,文章详细探讨了长短期记忆网络(LSTM),解释了其遗忘门、输入门、状态更新和输出门的工作机制,帮助读者深化对序列模型的理解。
摘要由CSDN通过智能技术生成

概述

循环神经网络特点是可以挖掘出数据序列之间的关系信息,实际使用中每一个样本的输入是数据序列,也就是一系列的数据,其中的每个数据是一个时间步。

RNN

RNN层也是由一个或者多个神经元组成的,每个神经元的输入由两部分构成,一部分是序列数据中的某一个数据,另一部分是这个数据的前一个数据经过循环层神经元时,神经元输出的隐藏状态。神经元的输出也包含两部分,一部分时输出的预测值,另一部分时隐藏状态。RNN的结构图如下:

149a153b82d86870dc432750631d153a.png

循环神经网络 RNN

使用keras实现循环神经网络

每一个时刻的输入包含两部分,一个是这个时刻的输入数据,另一个是上一时刻的输出数据;

keras的实现如下:

e803123676c2a4faff54c6443a25206c.png

基础的RNN

LSTM

下面以LSTM层中只有一个神经元为例(units=1),说明前向传播过程。下面的ot,ht,ct都是一维的。如果units不只一个,则每个神经元均按照如下方式计算,可类比一个全连接层有一个和多个神经元,同一层的这些神经元之间是没有联系的。

9a678c7751edbd604b75cdd315f24178.png

LSTM

输入:本次输入X(t),神经元的上一个状态C(t-1),神经元的上一个隐藏状态H(t-1)

输出:本次更新后的神经元状态C(t),本次的隐藏状态H(t)

遗忘门计算:

189e41a0ff085c19ddee4690d1756d73.png

遗忘门

输入门:

322c3ba42c1470703b6d292b2c707063.png

输入门

状态更新:

22c7726af6e2e6ba1033673a9a560153.png

状态更新

输出门计算:

ca1dec124b212a8205ea4cc32a2ca909.png

输出门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值