【苦しみながら理解するDeepLearning】Training RNNs as Fast as CNNs

すごいサイトを見つけてしまった!

論文の実装を紹介してくれている…

これを参考に自分でも実装してみて、慣れてきたら新しい論文を実装すべく頑張る!(今回は無関係)

論文

Training RNNs as Fast as CNNs

どんなもの?

Simple Recurrent Unit(SRU)の提案。
SRUは、コンピュータ計算を簡略化し、並列性を生む。

先行研究と比べてどこがすごい?

RNNでは、時系列データを扱う時に、計算に直近のアウトプットを用いていたため、直近のアウトプットの計算が終わるまで計算が開始できないという並列性の欠点がある。
RNNの一つであるLSTM(Long short-term memory)の5-10xの速さ。

技術や手法のキモはどこ?

LSTMやGRUでは勾配消失問題を解決するためにgateを使っているが、この論文ではそのgateをsigmoid関数を使ったシングルレイヤーのフィードフォワードネットワークで定義した。
時系列データにおける、gateの計算を直近のデータのみ使用することによって、従来は行列の乗法で計算していたところをアダマール積で計算可能し、計算コストが下がった。
また、highway connectionを使い、reset gateも加えた。

どうやって有効だと検証した?

Classification, Question Answering, Language Modeling, Machine Translation, Speech Recognitionにおいて主にLSTMとSRUの精度と学習速度の比較。

議論はある?

特になし。

次に読むべき論文は?

LSTMGRUについて知らないので論文じゃないけどこのサイトを読む。

と、思ったが、やるべきは深層強化学習だという結論に至ったので、そちらを読む。

その他

Recurrent neural network

Reccurent neural networks(RNN) are at the core of state-of-the-art approaches for a large number of natural language tasks, including machine translation, language modeling, opinion mining, situated language understanding, and question answering.

LSTM

LSTM(Long short-term memory)は、RNN(Recurrent Neural Network)の拡張として1995年に登場した、時系列データ(sequential data)に対するモデル、あるいは構造(architecture)の1種です。その名は、Long term memory(長期記憶)とShort term memory(短期記憶)という神経科学における用語から取られています。LSTMはRNNの中間層のユニットをLSTM blockと呼ばれるメモリと3つのゲートを持つブロックに置き換えることで実現されています。

LSTMのその最も大きな特長は、従来のRNNでは学習できなかった長期依存(long-term dependencies)を学習可能であるところにあります。

forget gate

忘却ゲートは、誤差信号を受け取ることで、一度メモリセルで記憶した内容を一気に「忘れる」ことを学習します。

GRU

Gated recurrent unit(GRU)は、LSTMの構造的複合性を縮減したモデルとして設計されている。LSTMがメモリセル、入力ゲート、出力ゲート、忘却ゲートの区別によって構成されているのに対して、GRUは「リセットゲート(reset gate)」と「更新ゲート(update gate)」の区別によって構成されている。そのアーキテクチャはLSTMと類似しているが、GRUの場合は別個のメモリセルを持たない。

point-wise multiplication

アダマール積

アダマール積

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です