6章ゲート付きRNN
忘却はよりよき前進を生む。
——ニーチェ
前章で見てきたRNNはループする経路を持ち、過去の情報を記憶することができました。さらに、その構造は単純であり、簡単に実装することができました。しかし残念なことに、前章のRNNはあまり性能が良くありません。その原因は、(多くの場合)時系列データの長期の依存関係をうまく学習することができない点にあります。
現在では、前章の単純なRNNに代わって、LSTMやGRUと呼ばれるレイヤがよく使われます。実際のところ、「RNN」と言ったとき、それが指すレイヤは前章のRNNではなく、LSTMであることが多く見受けられます。ちなみに、前章のRNNを明示的に指すときは「シンプルなRNN」や「エルマン(Elman)」などと呼びます。
LSTMやGRUには「ゲート」と呼ばれる仕組みが加わっています。そのゲートによって、時系列データの長期的な依存関係を学習することができるようになります。ここでは前章のRNNの問題点を指摘し、それに代わるレイヤとしてLSTMやGRUのような「ゲート付きRNN」を紹介します。特に、LSTMの仕組みをじっくりと時間をかけて見ていき、それが“長い記憶”を可能にしているメカニズムを解き明かします。また、LSTMを使って言語モデルを作り、実際のデータでうまく学習できることを示します。
6.1 RNNの問題点
前章で説明したRNNは、時系列データの長期の依存関係を学習することが苦手です。その理由は、BPTT(Backpropagation Through Time)において勾配消失もしくは勾配爆発が起こることに原因があります。ここでは、前章で学んだRNNレイヤの復習から始め、続いて、RNNレイヤが長期記憶を苦手とする理由を実例を使って説明していきます。 ...
Get ゼロから作るDeep Learning ❷ ―自然言語処理編 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.