11

バックプロパゲーションを備えたフィードフォワード多層ニューラルネットワークが強化学習で使用され、エージェントが実行するアクションを一般化するのに役立つことを私は知っています。これは、大きな状態空間がある場合、いくつかのアクションを実行でき、それらは状態空間全体を一般化するのに役立ちます。

代わりに、リカレントニューラルネットワークは何をしますか?一般的に、それらはどのようなタスクに使用されますか?

4

2 に答える 2

18

リカレントニューラルネットワーク、略してRNN(RNNはランダムニューラルネットワークを指定するために文献でよく使用されることに注意してください。これは事実上リカレントニューラルネットワークの特殊なケースです)、非常に異なる「フレーバー」があり、さまざまな動作を示します。特性。ただし、一般に、これらの多くの動作と特性の色合いは、個々のニューロンへの[フィードバック]入力の可用性に根ざしています。このようなフィードバックは、ローカルまたは遠隔のネットワークの他の部分、同じレイヤー(場合によっては「自己」を含む)、または異なるレイヤー(*)からも送信されます。「通常の」として扱われたフィードバック情報はニューロンを入力し、少なくとも部分的にその出力に影響を与える可能性があります。

さまざまな[Feedfoward-only]接続の相対的な重みを微調整する目的でフィードフォワードネットワークの学習フェーズで使用されるバックプロパゲーションとは異なり、RNNのFeedBackは、接続するニューロンへの真の入力を構成します。

フィードバックの用途の1つは、入力(つまり、ネットワーク全体への入力)のノイズやその他の欠陥に対してネットワークをより回復力のあるものにすることです。この理由は、ネットワーク入力(フィードフォワードネットワークに存在するはずの入力のタイプ)に「直接」関連する入力に加えて、ニューロンは他のニューロンが「考えている」ことに関する情報を持っているためです。この追加情報は、ヘッブの学習につながりますつまり、[通常]一緒に発火するニューロンは互いに発火するように「奨励」する必要があるという考えです。実際には、「同様に発火する」隣接ニューロン(またはそれほど発火しない隣接ニューロン)からのこの余分な入力は、その非フィードバック入力が発火しなかった(または発火が弱かった)場合でも、ニューロンに発火を促す可能性があります。ネットワークの種類によって異なります)。

入力の欠陥に対するこの回復力の例は、RNNの一般的な使用法である連想メモリです。アイデアは、フィードバック情報を使用して「空白を埋める」ことです。

フィードバックの別の関連するが明確な使用法は抑制性信号を使用することです。これにより、特定のニューロンは、他のすべての入力が発火を促す一方で、ネットワークの他の部分からの特定のフィードバック入力は、通常、他の入力が何らかの形でないことを示します。信頼される(この特定のコンテキストで)。

フィードバックのもう1つの非常に重要な使用法は、一部のアーキテクチャでは、システムに時間的要素を導入できることです。特定の[フィードバック]入力は、ニューロンに[現在]「考える」ことをあまり指示しない場合がありますが、代わりに、2サイクル前(サイクルが表すものは何でも)、ネットワークの状態(またはそのサブステート)は「X」でした。[通常]最近の過去を「記憶」するこのような能力は、入力のノイズに対する回復力のもう1つの要因ですが、その主な関心は、学習プロセスに「予測」を導入することかもしれません。これらの時間遅延入力は、ネットワークの他の部分からの予測と見なされる場合があります。「廊下で足音が聞こえました。ドアベル[またはキーのシャッフル]が聞こえることを期待しています」。

(*)ところで、フィードバックかフィードフォワードかにかかわらず、許可される接続を指示する「ルール」のこのような幅広い自由は、なぜこれほど多くの異なるRNNアーキテクチャとそのバリエーションがあるのか​​を説明します)。これらの多くの異なるアーキテクチャのもう1つの理由は、RNNの特徴の1つは、フィードフォワードモデルと比較して、数学的にもそうでない場合でも、容易に扱いにくいことです。その結果、数学的洞察または単純な試行錯誤のアプローチによって推進され、多くの異なる可能性が試されています。

これは、フィードバックネットワークが完全なブラックボックスであると言っているわけではありません。実際、ホップフィールドネットワークなどのRNNの一部はかなりよく理解されています。数学は通常、より複雑です(少なくとも私にとっては;-))

上記は、一般的に(あまりにも一般的です!)、 「 RNNは代わりに何をするのか」、および「それらが使用される一般的なタスク」という、むさぼり食うエリジウム(OP)の質問に対処していると思います。この情報を補足するために、RNNのアプリケーションに関する不完全で非公式な調査を以下に示します。このようなリストを収集することの難しさは複数あります。

  • フィードフォワードネットワークとRNN間のアプリケーションのオーバーラップ(結果として、これはRNNの特異性を隠します)
  • 多くの場合、高度に専門化されたアプリケーションの性質(「分類」などのあまりにも大げさな概念にとどまるか、「一連の飽和ベンゼンの炭素シフトの予測」に飛び込みます;-))
  • 下品なテキストで説明されている場合、ニューラルネットワークに関連することが多い誇大広告

とにかく、ここにリストがあります

  • モデリング、特に[しばしば'非線形]動的システムの学習
  • 分類(現在、FF Netもそのために使用されています...)
  • 組み合わせ最適化

また、RNNの時間的次元に関連する多くのアプリケーションがあります(FFネットワークが通常は見つからない別の領域)

  • モーション検知
  • 負荷予測(ユーティリティやサービスと同様:短期間の負荷の予測)
  • 信号処理:フィルタリングと制御
于 2009-11-23T16:34:45.433 に答える
7

基本的な強化学習フレームワークには、状態/アクション/報酬のシーケンスがマルコフ決定過程であるという仮定があります。つまり、基本的には、決定を下すために、このエピソードの以前の状態に関する情報を覚えておく必要がないことを意味します。

しかし、これは明らかにすべての問題に当てはまるわけではありません。情報に基づいた決定を行うために、最近のことを覚えておく必要がある場合があります。記憶する必要のあるものを明示的に状態信号に組み込むことができる場合もありますが、一般的には、システムに記憶する必要のあるものを学習させたいと考えています。これは部分観測マルコフ決定過程(POMDP)と呼ばれ、これを処理するために使用されるさまざまな方法があります。考えられる解決策の1つは、リカレントニューラルネットワークを使用することです。これは、以前のタイムステップの詳細が現在の決定に組み込まれているためです。

于 2009-11-23T14:32:09.723 に答える