AI用語集・ディープラーニングの要素技術

RNNとは

アールエヌエヌrecurrent neural network略語 RNN

別名:リカレントニューラルネットワーク、再帰型ニューラルネットワーク

  • シラバス 技術22
  • ◯×チェック3問
  • 練習問題14問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

RNNとは、過去の時刻の情報を内部に保ち、次の時刻の計算に使うことで、時系列データの前後関係を扱えるようにしたニューラルネットワークのことです。

くわしく

RNN(リカレントニューラルネットワーク)は、文章、音声、センサーの記録のように、順序に意味がある時系列データを扱うためのニューラルネットワークです。

しくみ

通常のニューラルネットワークは、入力ごとに独立して計算します。RNNは、各時刻の隠れ層の状態を次の時刻へ持ち越し、新しい入力と合わせて計算します。この帰還する経路によって、それまでの入力の要約を「記憶」として保ちながら処理を進められます。隠れ層の出力を戻す形をエルマンネットワーク、出力層の出力を戻す形をジョルダンネットワークと呼びます。

RNNは、すべての時刻で同じ重みを使い回します。そのため、系列の長さが変わってもパラメータ数は変わらず、長さの異なるデータを扱えます。

学習方法

RNNを時刻ごとに横へ展開すると、時刻の数だけ層を重ねた深いネットワークと見なせます。この展開した形に誤差逆伝播法を適用する方法を、BPTT(Backpropagation Through Time)といいます。

弱点

BPTTでは、時刻をさかのぼるたびに勾配が掛け合わされます。そのため、勾配が急速に小さくなる勾配消失や、逆に大きくなりすぎる勾配爆発が起きやすくなります。勾配消失が起きると、遠い過去の情報を学習に反映できません。勾配爆発には、勾配の大きさに上限を設ける勾配クリッピングが使われます。

発展

長い期間の依存関係を学べるように、ゲートで情報の流れを制御するLSTMやGRUが考案されました。前後両方向から系列を読む双方向RNNや、入力系列を別の系列に変換するSeq2Seqも、RNNを土台にしています。ただし、時刻の順に1つずつ計算するため並列化しにくく、自然言語処理の多くの課題では、現在はTransformerが主流です。

覚え方

「前の時刻の自分からメモを受け取って、次の自分へ渡す」と覚えます。

G検定での出題

出題のされ方

隠れ層の状態を次の時刻へ渡す帰還構造、BPTTによる学習、長い系列で起きる勾配消失・勾配爆発と、それを補うLSTMやGRUとの関係が問われます。

シラバスでは「リカレントニューラルネットワーク(RNN)」と表記されています。

混同しやすい用語

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. RNNでは、各時刻の計算に使う重みが時刻ごとに異なるため、系列が長いほどパラメータ数が増える。

    答えを見る

    答え × 誤り

    RNNはすべての時刻で同じ重みを使い回します。そのため、系列の長さが変わってもパラメータ数は変わりません。

  2. RNNは、長さの異なる系列を入力として扱える。

    答えを見る

    答え ◯ 正しい

    同じ計算を時刻ごとに繰り返すだけなので、系列の長さを固定する必要がありません。文章や音声のように長さがそろわないデータに向きます。

  3. 単純なRNNは、BPTTで時刻をさかのぼるたびに勾配が掛け合わされるため、遠い過去の入力との関係を学習しにくい。

    答えを見る

    答え ◯ 正しい

    勾配が急速に小さくなる勾配消失が起き、離れた時刻まで学習の信号が届かなくなるためです。LSTMやGRUはゲート機構でこの弱点を補います。

この用語の練習問題

14問
  1. #0043勾配爆発の症状と対策難易度 標準・組合せ未回答
  2. #0055LSTMとGRUのゲート機構難易度 標準・単一選択未回答
  3. #0056エルマン型とジョルダン型RNN難易度 基礎・組合せ未回答

ほかに11問あります。続けて解くと、すべての問題を順に出題します。

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術22

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習