DNCのアーキテクチャを調べると、実際にLSTMと多くの類似点が示されています。リンクしたDeepMindの記事の図を検討してください。
これをLSTMアーキテクチャ(SlideShareのananthのクレジット)と比較してください。
ここにはいくつかの類似点があります:
- LSTMと同様に、DNCは入力から固定サイズの状態ベクトル(LSTMのhおよびc)への変換を実行します
- 同様に、DNCはこれらの固定サイズの状態ベクトルから潜在的に任意の長さの出力への変換を実行します(LSTMでは、満足するまで、モデルが終了するまでモデルから繰り返しサンプリングします)
- 忘れると、入力 LSTMのゲートが表すライト(「忘却」本質的にちょうどゼロにされるか、または部分的にメモリをゼロ)DNCの動作を
- LSTM の出力ゲートは、DNCの読み取り操作を表します
ただし、DNCは間違いなくLSTM以上のものです。最も明らかに、それは、チャンクに離散化(アドレス指定可能)されるより大きな状態を利用します。これにより、LSTMの忘却ゲートをよりバイナリにすることができます。これにより、LSTM(シグモイド活性化機能を使用)では必然的に状態が低下するのに対し、状態は必ずしもすべてのタイムステップで何らかの割合で侵食されるわけではありません。これは、あなたが言及した壊滅的な忘却の問題を減らすかもしれず、したがって、より良くスケーリングします。
DNCは、メモリ間で使用するリンクも斬新です。ただし、これは、アクティベーション機能を備えた単一のレイヤー(これをスーパーLSTMと呼びます)ではなく、各ゲートの完全なニューラルネットワークを使用してLSTMを再想像した場合よりも、LSTMの限界的な改善になります。この場合、十分に強力なネットワークを使用して、メモリ内の2つのスロット間の関係を実際に学習できます。DeepMindが示唆しているリンクの詳細はわかりませんが、記事では、通常のニューラルネットワークのように勾配を逆伝播するだけですべてを学習していることを暗示しています。したがって、リンクでエンコードしている関係はすべて、理論的にはニューラルネットワークで学習できるはずです。したがって、十分に強力な「スーパーLSTM」でそれをキャプチャできるはずです。
言われていることすべてで、ディープラーニングでは、表現力のための同じ理論的能力を持つ2つのモデルが実際に大きく異なることを行うことがよくあります。たとえば、リカレントネットワークは、展開するだけで巨大なフィードフォワードネットワークとして表すことができると考えてください。同様に、畳み込みネットワークは、表現力を高める余地があるため、バニラニューラルネットワークよりも優れています。実際、それがより効果的になるのは、その重みに課せられた制約です。したがって、2つのモデルの表現力を比較することは、実際にそれらのパフォーマンスを必ずしも公平に比較することではなく、それらがどの程度拡張されるかを正確に予測することでもありません。
DNCについての1つの質問は、DNCのメモリが不足するとどうなるかです。従来のコンピューターでメモリが不足し、別のメモリブロックが要求されると、プログラムは(せいぜい)クラッシュし始めます。DeepMindがこれにどのように対処する予定かを知りたいです。現在使用されているメモリのインテリジェントな共食いに依存すると思います。ある意味では、コンピューターは、メモリの負荷が特定のしきい値に達した場合に、OSがアプリケーションに重要でないメモリを解放するように要求するときにこれを行います。