ディープラーニングの基本・応用⑪

RNN(リカレントニューラルネットワーク)モデルについて。

目次

AI・ディープラーニングの全体像

  • 人工知能
  • 機械学習
  • ディープラーニングの基本・応用
  • ディープラーニングの研究
  • AIプロジェクト
  • AI社会実装に伴う法律・倫理

RNN(リカレントニューラルネットワーク)

概要

  • 「RNN(リカレントニューラルネットワーク;再帰型ニューラルネットワーク)」
  • ”リカレント”は、”再帰的”、”繰り返し処理”の意味
  • 「時系列データ」(言語、音楽、音声、動画など)を扱うニューラルネットワーク
  • 一度処理した情報を同じセルに記憶できる→「値の順序(単語の並びなど)」を解析できる
  • 「可変長データ」にも対応できる
  • 他のニューラルネットワーク→「フィードフォワード(順伝播型)」
    データが入力側から出力側に向かい、一方向に処理される
    個々に処理されるため時間順序の情報が削られる
  • RNN→以前に処理した情報を現時刻にフィードバックする仕組み
    過去の隠れ層と現在の隠れ層の間に、情報の繋がりを持つ(過去の時刻の情報を考慮しつつ、現時刻の情報を処理する)
    時間順序の情報が削られないことから、時系列データを扱うことに適している

可変長データ

  • RNNの重要な特徴→「可変長の入出力に対応できること」
  • 入力データや出力データの時系列長を揃える必要はない
    ※機械翻訳などでは、おおむね入力の長さと出力の長さは揃わない
  • 「エンコーダ(Encoder)」「デコーダ(Decoder)」→初期のニューラル機械翻訳モデルで利用されていた
    ※ルールベースや統計的手法の機械翻訳より精度が改善された

課題

①勾配消失問題

  • 長い順伝播型モデルとなる(時間ステップの分だけ深くなる)ので、勾配消失が通常のニューラルネットワークよりも深刻となる

②重み衝突問題

  • 「BPTT(Back Propagation Through Time)」→RNNにおける誤差逆伝播
  • 「重み衝突問題」→ある時点では重要度(重み)が低くとも、ある時点では重要度(重み)が高くなり、過去データの重みを特定値に決定できない問題
    「入力重み衝突問題」「出力重み衝突問題」
  • ある時刻では大きい勾配、ある時刻では小さい勾配、という不揃い状態になる
  • 長い時系列データの場合に影響がより大きくなり、精度が悪化する

解決策

①LSTM(Long Short Term Memory)

  • 「LSTM(Long Short Term Memory)」→RNNの改良版
  • セルへ出入りする情報を制御するための「ゲート構造」を設ける
    従来のRNNよりも長い系列データを扱えるようになった
  • ゲート学習に必要な誤差情報を適宜メモリに書き留めることで、勾配消失を軽減
    不要になった情報を棄却する機能もあり
  • 「CEC(Constant Error Carousel)」→LSTMのセル
  • 「ゲート」→セルへ出入りする情報を適切なタイミングで制御
  • 「CTC(Connectionist Temporal Classification)」→入力系列長と出力系列長とが一致しなくともよいよう、空白文字(blanc)を加えて処理し、形式的に系列長を揃える技術
  • 入力ゲート:入力時の重みを制御
  • 出力ゲート:出力時の重みを制御
  • 忘却ゲート:誤差が過剰にセルに停留することを防止、リセットの役割も果たす

②GRU(Gated Recurrent Unit)

  • 「GRU(Gated Recurrent Unit)」→LSTMを簡略化したもの
  • リセットゲート
  • 更新ゲート

この記事が気に入ったら
いいね または フォローしてね!

  • URLをコピーしました!
目次