リカレントニューラルネットワーク
リカレントニューラルネットワーク(RNN)とは
端的に言いますと、内部に「ある条件」の「再帰結合」を持つニューラルネットワークのことです。
これだけではよくわかりませんので、以下に説明を続けます。
再帰結合
- 再帰結合とは、ニューラルネットワークのある層(隠れ層)の出力を別の層の入力として利用する再帰的構造のことです。
この再帰結合を持つニューラルネットワークのことを、「再帰型ニューラルネットワーク(Recursive Neural Network)」と呼びます。 - ある再帰型ニューラルネットワークが持つ再帰結合が、時系列データ(後述)を処理するために、「同一構造の再帰結合を入力データの時系列に従って直線的に並べたものである場合」、そのニューラルネットワークのことを「リカレントニューラルネットワーク(Recurrent Neural Network, RNN)」と呼びます。
言い換えますと、リカレントニューラルネットワークは、再帰型ニューラルネットワークの一種です。
※補足:日本語表記と略称について
Recursive NNとRecurrent NNの日本語表記や略称について、ネットの解説記事等では以下のような揺らぎが見受けられます。
日本語表記は
・Recursive NN→「再帰型ニューラルネットワーク」
・Recurrent NN→「再帰型ニューラルネットワーク」、「リカレントニューラルネットワーク」など
また、略称は両方とも「RNN」になりますので、混乱を避けるために、本ブログでは以下のように表記します。
・Recursive NN→「再帰型ニューラルネットワーク」、RNNと略さない
・Recurrent NN→「リカレントニューラルネットワーク」、RNNと略す
RNNの適用分野
RNNは時系列データ、文章などの連続的な情報の処理に使用されます。
時系列データとは、例えば「1時間ごとの北海道の降雪量」など、「特定の情報について、時間順に従って取得されたデータ」のことです。
文章は、文や単語が順番に並んでいるという点で連続的な情報と言えます。
文章の処理に関しては、機械翻訳、文章生成、文章要約など様々な自然言語処理に使用されています。
RNNの欠点、問題点
RNNによって文章や動画などで長い時系列データを処理する場合、以下のような問題があります。
演算量が爆発的に増加し、処理不能となる。
ネットワーク階層が深くなりすぎて、情報が伝達されない現象が生じることがある。
そのため、RNNでは少ない量の連続データしか処理できませんでした。
RNNの拡張版:LSTMについて
上記のようなRNNの問題点を解決するために、LSTM(Long Short-Term Memory、長期短期記憶)という仕組みが考案されました。
LSTMはRNNの一種で、長期の時系列データを学習することができます。
さいごに
今回は、リカレントニューラルネットワーク(RNN)とLSTMの概要を紹介しました。
- 当ページの人物画像はNIGAOE MAKERで作成しました。