画像が得意なCNNに対し、順序のあるデータに強いのがRNN (再帰型ニューラルネットワーク)。文章・音声・株価の推移など、時間の流れを扱うネットワークの基礎を押さえます。Transformer時代でも基礎知識として必須です。
ふふ、画像に強いのがCNNなら、順番のあるデータに強いのがRNNよ。
文章、音声、株価の推移など、順序が意味を持つデータに使うの。
順番が重要って、どういうこと?
例えば『犬が猫を追いかけた』と『猫が犬を追いかけた』は同じ単語でも順序が違うと意味が変わるでしょ? RNNはそれを捉えられるの。
音声も『あ・い・う』と『う・い・あ』では意味が違うわね。
補足すると、RNNのキモは『隠れ状態を次の時刻に渡す再帰接続』です。
過去の情報を内部状態として保持したまま、次の入力を処理できる仕組みになっています。
えっ、まじ!? じゃあ文章を1単語ずつ読みながら、前に何を読んだか覚えてるってこと?
そのとおり。
各ステップで『前の自分の出力』と『今の入力』を合わせて次の計算をするの。
数式で言うと h_t = f(W·x_t + U·h_{t-1} + b) のように、前の隠れ状態 h_{t-1} が入力の一部として使われるわ。
ぽわわ〜、しりとりみたいですぅ! 前の人が言った言葉を覚えてないと、次が出せないですもんねぇ。
素敵な例えね。
音声認識でも、前に聞こえた音の文脈があるから次の音が『あ』なのか『い』なのか判断しやすくなるの。
でもさ、ずーっと昔の情報まで覚えてられるもんなの?
とても良い質問ね。
実は基本的なRNNには『勾配消失問題』があって、長い系列になると過去の情報が薄れやすいの。
これを解決するためにLSTMやGRUが登場したのよ。
これは次の記事で扱いましょう。
現代のTransformerは、RNNに代わる形で長期依存性を扱う手法として主流になっています。
ただしRNNの考え方は今でも時系列予測など多くの応用で生きています。
よっしゃ! 時系列はRNN、画像はCNN、って覚えとけばいいんだね!
試験では『RNNは〇〇データに強い』という形でよく問われるから、『順序のあるデータ』『時系列データ』というキーワードで押さえておくといいわね。
RNNには使い分けのバリエーションがあります。
感情分析のような many-to-one、画像キャプション生成のような one-to-many、機械翻訳のような many-to-many など、入出力の形でタスクを選びます。
さらに双方向RNNという亜種もあって、過去だけでなく未来の情報も参照できるのが特徴で、文章理解タスクではこちらがよく使われます。
順番に進む物語と同じですぅ。
前のページを覚えてないと次のページが楽しめないですし、後ろから読む探偵さんみたいで面白いですぅ! 音声も一瞬一瞬の音が順番を持ってるから、RNNが活躍するんですねぇ。
確認クイズ
RNN (再帰型ニューラルネットワーク) が得意とするデータの種類はどれか?
- 表形式データ
- 時系列データ
- 画像データ
- グラフ構造データ
こたえを見る
正解: 2. 時系列データ
RNNは再帰接続により過去の情報を隠れ状態として保持できるため、時系列データや文章など順序のあるデータの処理を得意とします。画像はCNN、グラフはGNNが向きます。