长短期记忆 (LSTM) 网络是一种循环神经网络 (RNN)。LSTM 主要用于学习、处理和分类顺序数据,因为它们可以学习数据的时间步之间的长期相关性。
LSTM 的工作原理
LSTM 和 RNN
实际上,简单的 RNN 学习长期相关性的能力有限。RNN 通常通过反向传播来训练,在反向传播中,它们可能遇到梯度消失或爆炸问题。这些问题导致网络权重变得非常小或非常大,从而限制需要网络学习长期关系的应用的有效性。
LSTM 层架构
LSTM 层使用额外的门来控制隐藏状态中的哪些信息作为输出导出和传递到下一个隐藏状态。这些额外的门克服了 RNN 在学习长期相关性方面的常见问题。除了传统 RNN 中的隐藏状态之外,LSTM 模块的架构通常具有记忆单元、输入门、输出门和遗忘门。额外的门使网络能够更高效地学习数据中的长期关系。LSTM 网络对时间空缺的敏感度较低,这使得它比简单 RNN 更适合分析顺序数据。在下图中,您可以看到 LSTM 架构及其在时间步 t 处的数据流。
输入门的权重和偏置控制新值流入 LSTM 单元的程度。同样,遗忘门和输出门的权重和偏置分别控制值保留在单元中的程度以及单元中的值用于计算 LSTM 模块的输出激活的程度。
下图显示穿过一个具有多个时间步的 LSTM 层的数据流。输出中通道的数量与 LSTM 层中隐藏单元的数量匹配。
LSTM 网络架构
LSTM 可以很好地处理用于分类和回归任务的序列和时间序列数据。LSTM 也非常适合处理视频,因为视频本质上是一个图像序列。与处理信号类似,在将图像序列馈送到 LSTM 层之前执行特征提取会很有帮助。利用卷积神经网络 (CNN)(例如 GoogLeNet)对每帧进行特征提取。下图显示如何为不同任务设计 LSTM 网络。
双向 LSTM
双向 LSTM (BiLSTM) 可学习时间序列数据或序列数据的时间步的双向依存关系。当您希望网络在每个时间步都从完整时间序列中学习时,这些依存关系会很有用。BiLSTM 网络支持额外的训练,因为输入数据会传递过 LSTM 层两次,这可以提高网络的性能。
一个 BiLSTM 由两个 LSTM 组件组成:前向 LSTM 和后向 LSTM。前向 LSTM 从第一个时间步运算到最后一个时间步。后向 LSTM 从最后一个时间步运算到第一个时间步。在数据传递过两个 LSTM 组件后,该运算沿通道维度串联各个输出。
使用 MATLAB 中的 LSTM 示例快速入门
LSTM 应用
LSTM 特别擅长处理长度可能会变的顺序数据以及学习该数据的时间步之间的长期相关性。常见的 LSTM 应用包括情绪分析、语言建模、语音识别和视频分析。
广泛的 LSTM 应用
尝试以下示例,入门使用 LSTM 进行信号处理和自然语言处理。
垂直 LSTM 应用
随着深度学习应用的不断扩展,LSTM 也用于垂直应用,例如:
使用 LSTM 网络估计 NOx 排放量
雷诺汽车工程师使用 LSTM 开发下一代零排放车辆 (ZEV) 技术。
通过 MATLAB 使用 LSTM
借助 MATLAB® 和 Deep Learning Toolbox™,您能够设计、训练和部署 LSTM。您可以使用 Text Analytics Toolbox™ 或 Signal Processing Toolbox™ 将 LSTM 应用于文本或信号分析。
部署网络
在嵌入式系统、企业系统或云上部署经过训练的 LSTM:
- 自动生成优化的 C/C++ 代码和 CUDA 代码以部署到 CPU 和 GPU。
- 生成可综合的 Verilog® 和 VHDL® 代码以部署到 FPGA 和 SoC。
资源
通过文档、示例、视频等拓展您的知识。
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)