私はリカレントニューラルネットワーク(RNN)が初めてであり、まだ概念を学んでいます。エコーステートネットワーク(ESN)は、入力が削除された後でも、入力シーケンス(信号)を(再)生成できることを抽象レベルで理解しています。しかし、Scholarpediaの記事を理解し、完全に理解するには難しすぎると感じました。
誰かが学習が数学的にどのように機能するかを可能な限り簡単な形で説明してください。
私はリカレントニューラルネットワーク(RNN)が初めてであり、まだ概念を学んでいます。エコーステートネットワーク(ESN)は、入力が削除された後でも、入力シーケンス(信号)を(再)生成できることを抽象レベルで理解しています。しかし、Scholarpediaの記事を理解し、完全に理解するには難しすぎると感じました。
誰かが学習が数学的にどのように機能するかを可能な限り簡単な形で説明してください。
回答:
エコー州のネットワークはReservoir Computingのより一般的な概念のインスタンスです。ESNの背後にある基本的な考え方は、RNN(互いに依存している入力シーケンス、つまり信号のような時間依存性を処理する)の利点を得ることですが、勾配勾配問題のような従来のRNNのトレーニングの問題はありません。
ESNは、S字型の伝達関数(入力サイズに対して、100〜1000単位など)を使用して、疎結合ニューロンの比較的大きなリザーバーを持つことでこれを実現します。貯水池の接続は一度割り当てられ、完全にランダムです。貯水池の重量は訓練されません。入力ニューロンはリザーバーに接続され、入力アクティベーションをリザーバーに供給します。これらにもトレーニングされていないランダムな重みが割り当てられます。訓練される唯一の重みは、リザーバを出力ニューロンに接続する出力重みです。
トレーニングでは、入力が貯水池に供給され、教師の出力が出力ユニットに適用されます。貯水池の状態は時間の経過とともにキャプチャされ、保存されます。すべてのトレーニング入力が適用されると、キャプチャされた貯水池状態とターゲット出力の間で線形回帰の単純なアプリケーションを使用できます。これらの出力の重みは、既存のネットワークに組み込まれ、新しい入力に使用できます。
アイデアは、貯水池のまばらなランダム接続により、以前の状態が通過した後でも「エコー」することができるため、ネットワークが訓練したものに類似した新しい入力を受信すると、貯水池のダイナミクスが開始されます入力に適した活性化軌跡をたどり、その方法でトレーニングしたものに一致する信号を提供できます。十分にトレーニングされている場合は、すでに見たものから一般化することができます。貯水池を駆動する入力信号が与えられた。
このアプローチの利点は、ほとんどの重みが一度だけランダムに割り当てられるため、非常に簡単なトレーニング手順にあります。それでも、彼らは時間をかけて複雑なダイナミクスをキャプチャすることができ、動的システムのプロパティをモデル化することができます。私がESNで見つけた最も役に立つ論文は次のとおりです。
Herbert JaegerによるRNNのトレーニングに関するチュートリアル(ESNのScholarpediaページのキュレーター)
マンタス・ルコシェヴィチウスによるエコー状態ネットワーク適用の実践ガイド
どちらも、適切なパラメーター値を選択するためのガイダンスを備えた実装を作成するための形式主義と卓越したアドバイスに沿って理解しやすい説明を持っています。
更新: Goodfellow、Bengio、およびCourville のDeep Learning bookには、Echo State Networksについてのもう少し詳細でありながら高レベルの議論があります。セクション10.7では、消失(および爆発)勾配問題と、長期的な依存関係を学習する難しさについて説明しています。セクション10.8は、エコー状態ネットワークに関するものです。特に、適切なスペクトル半径値を持つリザーバーウェイトを選択することが重要である理由について詳しく説明します。これは、非線形活性化ユニットと連携して安定性を促進し、情報を時間とともに伝達します。
ESNでの学習は、主に重みの調整を強制されるものではありません。より詳細には、出力層は、ネットワークが現在の状態に対してどの出力を生成するかを学習します。内部状態はネットワークダイナミクスに基づいており、動的リザーバー状態と呼ばれます。貯水池の状態がどのように形成されるかを理解するには、ESNのトポロジを調べる必要があります。
入力ユニットは内部ユニット(リザーバーユニット)のニューロンに接続され、重みはランダムに初期化されます。貯水池ユニットはランダムにまばらに接続されており、同様にランダムな重みを持っています。出力ユニットもすべてのリザーバユニットに接続されているため、リザーバの状態を受け取り、対応する出力を生成します。
入力をアクティブにすると、ネットワークのダイナミクスが上がります。信号は、繰り返し接続されたリザーバーユニットを介してタイムステップでフロートします。これは、ネット内で回繰り返されるエコー(歪む)として想像できます。適応される重みは、出力ユニットへの重みのみです。つまり、出力層は、どの出力が特定のリザーバー状態に属する必要があるかを学習します。また、トレーニングは線形回帰タスクになります。
トレーニングの仕組みを詳細に説明する前に、いくつかのことを説明して定義する必要があります。
教師の強制とは、時系列入力をネットワークに送り、対応する望ましい出力(遅延時間)を供給することです。所望の出力フィードをでバックは、出力フィードバックと呼ばれます。したがって、マトリックス格納されたランダムに初期化された重みが必要です。図1では、これらのエッジは点線の矢印で表示されています。
可変定義:
最後に、トレーニングはどのように詳細に機能しますか?
学習は非常に高速であるため、多くのネットワークトポロジを試して、適切なトポロジを取得できます。
ESN のパフォーマンスを測定するには:
スペクトル半径とESN
いくつかのスマートな人々がいる場合ESNのエコーStateプロパティのみを与えてもよいことを、証明されているSpec-tral
貯留重み行列の半径が以下である。エコー状態プロパティは、一定の時間が経過するとシステムが入力を忘れることを意味します。このプロパティは、ESNがアクティビティを展開せず、学習できるようにするために必要です。