LSTM (長・短期記憶)

LSTM(長・短期記憶)とは

LSTM (Long Short-Term Memory: 長・短期記憶)ネットワークは、RNN(再帰型 ニューラル ネットワーク) の一種です。

LSTM の強みは、時系列データの学習や予測(回帰・分類)にあります。一般的な応用分野としては感情分析、言語モデリング、音声認識、動画解析などがあります。

RNN を訓練する最も一般的な方法は、通時的誤差逆伝播法(BBTT)です。しかしながら、その勾配消失問題により長期的な情報は損なわれ、ネットワークのパラメータは短期的な依存関係を学習してしまいます。 また、これとは逆の勾配爆発が発生することもあり、この場合は誤差がタイムステップ毎に大幅に増大します。

 

LSTM Applications and Examples

The examples below use MATLAB® and Deep Learning Toolbox™ to apply LSTM in specific applications. Beginners can get started with LSTM networks through this simple example: Time Series Forecasting Using LSTMs.

Radar Target Classification

Classify radar returns using a Long Short-Term Memory (LSTM) recurrent neural network in MATLAB

Keyword Spotting

Wake up a system when a user speaks a predefined keyword

Text Generation

Train a deep learning LSTM network to generate text word-by-word

Classifying ECG Signals

Categorize ECG signals, which record the electrical activity of a person's heart over time, as Normal or AFib

Water Distribution System Scheduling

Generate an optimal pump scheduling policy for a water distribution system using reinforcement learning (RL)

Video Classification

Classify video by combining a pretrained image classification model and an LSTM network

Technical Features of RNN and LSTM

LSTM networks are a specialized form of RNN architecture. The differences between the 

再起型 ニューラル ネットワーク

LSTMネットワークは、ゲートを用いて、関連する情報を選択的に保持し、関連しない情報を忘却することで、勾配消失問題(バニシング・グラジエント)の問題を解決します。時間差に対する感度が低いため、LSTMネットワークは単純なRNNよりも時系列データの解析に適しています。

以下がLSTMブロックのアーキテクチャです。一般的なLSTMブロックは、従来のRNNにおける隠れ状態に加え、メモリセル、入力ゲート、出力ゲート、忘却ゲートを有しています。

LSTMブロック

入力ゲートへの重みとバイアスは、新しい値のセルへの流入量を制御します。同様に、忘却ゲートと出力ゲートに対する重みとバイアスは、それぞれセル内にどの程度値が保持されるかと、そのセル内の値がどの程度LSTMブロックの出力の活性化状態を計算するために用いられるかを制御します。

LSTMネットワークの詳細については、「Deep Learning Toolbox™」を参照してください。

参考: MATLAB for deep learning, machine learning, MATLAB for data science, GPU computing, artificial intelligence