深度学习:循环神经网络 --- LSTM网络原理

LSTM网络的介绍

循环神经网络(Recurrent Neural Networks,RNN)是一种用于处理序列数据的神经网络,它能够处理任意长度的序列,并且能够保持对之前数据的记忆。LSTM(Long Short-Term Memory)网络是RNN的一种特殊类型,它在处理长序列数据时表现更为出色,因为它能够学习到长期依赖关系。

LSTM (长短时记忆网络)或 GRU(门控循环单元)就是如此,它们可以学习只保留相关信息来进行预测,并忘记不相关的数据。简单说,因记忆能力有限,记住重要的,忘记无关紧要的。LSTM 和 GRU 是解决短时记忆问题的解决方案,它们具有称为"门"的内部机制,可以调节信息流。

RNN网络的结构

第一个词被转换成了机器可读的向量,然后 RNN 逐个处理向量序列。

LSTM 有3种类型的门结构:

遗忘门(Forget Gate)

功能:决定应丢弃哪些关键词信息。

步骤:遗忘门的目的是决定哪些信息应该从细胞状态中被遗忘或保留。它通过以下步骤工作:

  1. 输入:遗忘门接收前一个时间步的输出(隐藏状态)ht−1和当前时间步的输入 xt。

  2. 合并:将这两个输入合并成一个向量。

  3. sigmoid 函数:将合并后的向量通过sigmoid函数,输出一个介于0和1之间的值。这个值决定了细胞状态中每个单元格的遗忘程度。

  4. 遗忘操作:将前一个细胞状态 Ct−1​ 与sigmoid函数的输出相乘。接近0的值意味着这部分信息将被遗忘,而接近1的值意味着这部分信息将被保留。

输入门(Input Gate)

功能:用于更新细胞状态。

步骤:输入门负责决定哪些新信息将被存储在细胞状态中。它包括两个主要部分:sigmoid层和tanh层。

  1. 输入:输入门同样接收前一个时间步的隐藏状态 ht−1​ 和当前时间步的输入 xt。

  2. sigmoid 函数:首先,将输入合并并通过一个sigmoid函数,这个函数决定哪些值需要更新。

  3. tanh 函数:同时,将相同的输入合并并通过一个tanh函数,生成一个新的候选值向量。这个向量的值介于-1和1之间,表示可能被加入到细胞状态的新信息。

  4. 更新细胞状态:将sigmoid函数的输出(决定更新的部分)与tanh函数的输出(候选值)相乘,然后将这个结果加到通过遗忘门更新的细胞状态上。

输出门(Output Gate)

功能:用来确定下一个隐藏状态的值。

步骤:输出门决定细胞状态中的哪些信息将被输出到下一层或作为序列的预测输出。

  1. 输入:输出门接收前一个时间步的隐藏状态 ht−1​ 和当前时间步的输入 xt​。

  2. 合并:将这两个输入合并成一个向量。

  3. sigmoid 函数:将合并后的向量通过sigmoid函数,输出一个介于0和1之间的值。这个值决定了细胞状态中每个单元格的输出程度。

  4. tanh 函数:同时,将当前的细胞状态 Ct 通过一个tanh函数,这个函数将细胞状态的值标准化到-1和1之间。

  5. 输出:将sigmoid函数的输出(决定输出的部分)与tanh函数的输出(当前细胞状态的标准化值)相乘,得到最终的隐藏状态 ht,这个隐藏状态可以作为输出或传递到下一个LSTM单元。

这三个门的协同工作使得LSTM网络能够捕捉长期依赖关系,并在处理序列数据时表现出色。

相关推荐
格林威3 分钟前
常规线扫描镜头有哪些类型?能做什么?
人工智能·深度学习·数码相机·算法·计算机视觉·视觉检测·工业镜头
lyx331369675910 分钟前
#深度学习基础:神经网络基础与PyTorch
pytorch·深度学习·神经网络·参数初始化
007php00731 分钟前
某大厂跳动面试:计算机网络相关问题解析与总结
java·开发语言·学习·计算机网络·mysql·面试·职场和发展
知识分享小能手42 分钟前
微信小程序入门学习教程,从入门到精通,微信小程序核心 API 详解与案例(13)
前端·javascript·学习·react.js·微信小程序·小程序·vue
递归不收敛1 小时前
吴恩达机器学习课程(PyTorch 适配)学习笔记:3.3 推荐系统全面解析
pytorch·学习·机器学习
B站计算机毕业设计之家1 小时前
智慧交通项目:Python+YOLOv8 实时交通标志系统 深度学习实战(TT100K+PySide6 源码+文档)✅
人工智能·python·深度学习·yolo·计算机视觉·智慧交通·交通标志
又是忙碌的一天3 小时前
前端学习 JavaScript(2)
前端·javascript·学习
蒙奇D索大3 小时前
【数据结构】考研数据结构核心考点:二叉排序树(BST)全方位详解与代码实现
数据结构·笔记·学习·考研·算法·改行学it
玲娜贝儿--努力学习买大鸡腿版3 小时前
推荐算法学习笔记(十九)阿里SIM 模型
笔记·学习·推荐算法
光影少年4 小时前
Flutter生态及学习路线
学习·flutter