LSTMとは〜概要と応用について〜

音声信号処理や文章・対話の生成に用いられているLSTM(Long Short Term Memory)についてまとめました。

目次

前回、Deep Neural Networkについての内容を紹介しました。以下がその記事です。

--------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Deep Learningの基本的な構造では、例えば手書き文字の認識だと、ピクセルの画素値を入力として、出力としてそれが何の数字かを返すものでした。
ここで注目すべきなのが、「ピクセルごとの隣接した情報を使っていない」ということです。
入力が画像であれば、隣接した情報は似通ったものであるかもしれないし、ある程度同じ情報を有しているはずです。下の猫の例をみてもらうと分かると思います。

猫の画像を部分的に拡大すると同じような画素値が含まれている。これらは相互に関係があるはず。
ここで、隣接したピクセルに注目してネットワークを組んだのがCNN(Convolutional Neural Network)です。現在では画像処理の分野でなくてはならない技術になっています。

今回紹介するLSTMも入力層ごとの関係を考慮したモデルになっています。

1. LSTMとは

LSTMとはLong-Short-Term-Memoryの略です。これはリカレントニューラルネットワークの一つであり、時系列データを扱う際に大きな効力を発揮します。主に使われている分野としては

・音声認識
・映像認識

などです。時間で変動するデータをNeural Network で用いるときに便利なようです。

2. LSTMの構造

LSTMは以下のような構造になっています。

LSTMの構造

LSTMには
・忘却層
・保持層

などがあります。過去の情報を踏まえた上で現在の推定に用いることができるモデルになっているわけです。
LSTMは勾配消失問題を解決することができ、情報を削除したり追加する機能を持っています。この操作を制御することも可能になっています。

つまり、音の情報が与えられたとき、「この情報は必要!」と「この情報は必要ない!」とを分類できるわけですね。

3. LSTMの発展

LSTMを拡張した内容としては、

・Attention Model
http://www.aclweb.org/anthology/D15-1044

・Sequence to Sequence Model
https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf

などもあります。
Attention Modelでは、「どこに注目するか」を考えることができるモデルです。例えば、画像からキャプションをつける技術などに使われているようです。

Sequence to Sequence model

用途に応じてNetworkの構成を変えるというのも面白いですね!
Deep Learningと一言で言ってもいろいろあるようです。

今回はLSTMの概要とそれの持つ可能性について説明しました。
LSTMをchainerで実装しようと思っているので、それについてもまとめてみようかなと思います。