トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

再帰型ニューラルネットワーク(RNN)

再帰型ニューラルネットワークは、 Recurrent Neural Network(リカレントニューラルネットワーク:以下、RNN)の訳です。 ニューラルネットワークディープラーニング )の一種です。

RNNは、順番のあるデータを扱うのが特徴です。 文章は、文字や単語が順番に並んでいますが、こうしたデータの処理方法として、知られています。

ある出力を出したら、その中間層を次のデータを出力するための入力データとして使います。

RNNのソフトの話は、 ディープラーニング のページにまとめています。

LSTM

LSTMは、Long Short Term Memoryの略です。

RNNでは、直前よりも前のデータの影響が入るようにすると、複雑なパターンを扱えるようになりますが、 例えば、単語によって文字数が違うので、この長さは一律に決まりません。 LSTMでは、パターンの長さを可変にする関数をモデルに入れています。

RNNとARモデル

あるタイミングのデータの計算に、それよりも前のデータを入れるアイディアは、古くは ARモデル状態空間モデル にもあります。

RNNは、こうしたモデルを、ものすごい非線形現象に拡張したもののようです。

重回帰分析 の枠組みで、時系列を扱えるようにしたのが、 ARモデル です。 従来の ニューラルネットワーク と RNNの関係は、これと似ています。

RNNの可能性

センサーデータ や、何らかの状態の変化を表すデータがあって、変化に時間的な規則性や、範囲などがあるのなら、 RNNはその変化をモデル化できてしまうかもしれません。

これができれば、 異常の予測 の方法としても期待できます。





参考文献

RNNの参考書は、 ディープラーニング のページにもあります。 RNNは、ディープラーニングとしては特殊なタイプです。 専門書はまだまだ必要と思います。


詳解ディープラーニング TensorFlow・Kerasによる時系列データ処理」 巣籠悠輔 著 マイナビ出版 2017
純粋にRNNを解説している感じです。 自然言語処理に使う話は、あまりありません。
LSTMは計算が長いのが弱点。 LSTMの代替として、期待しているのがGRU(gated recurrent unit)。リセットゲートと、更新ゲートでできている。
入力の順番と出力の順番に意味があるのが、質問の受け答えや、翻訳。 これは、sequence-to-sequenceモデルと呼ばれ、RNN Encoder-Decoderという手法がある。
TensorFlowよりも簡単に使えるのがKeras。 LSTMやGRUは、TensorFlowやKerasでは関数になっていて、自分で実装しなくても使えるようです。


Pythonで体験する深層学習」 浅川伸一 著 コロナ社 2016
ニューラルネットワーク、RNN、LSTMの解説をコンパクトにしています。 CNNの説明もありますが、RNN中心です
Chainerの利用を想定しています。
・word2vecは、単語の分散表現を求める方法。分散表現は、意味を扱う方法のひとつ。


深層学習」 人工知能学会 監修 近代科学社 2015
ディープラーニングの様々なアルゴリズムから、画像認識、音声認識、自然言語処理への応用まで、 これまでの様々な研究が詰め込まれています。
音声認識で、 RNNやLSTM が出てきます。
自然言語処理は、意味を扱うモデルの話で、RNNは出て来ません。
このサイトでは、 Recurrent Neural Network(リカレントニューラルネットワーク)を、 「再帰型ニューラルネットワーク」と訳していますが この本は、「回帰結合ニューラルネットワーク」と訳しています。
そして、 Recursive Neural Network(リカーシブニューラルネットワーク)を、 「再帰ニューラルネットワーク」と訳しています。 「とても美しい絵」という文では、「とても」が「美しい」に係り、それが「絵」に係って行きますが、 こうした文法を扱う方法のようです。


脳・身体性・ロボット 知能の創発をめざして」 土井利忠・藤田雅博・下村秀樹 編 シュプリンガー・フェアラーク東京 2005
脳の徹底的な模倣や、人間の発育や学習の過程の模倣を、力学的な動きや情報処理と結び付けることが、アプローチになっています。
この技術の中に、RNNがあります。 この本ではRNNを「動き」に使います。


順路 次は グラフニューラルネットワーク

データサイエンス教室