アクションごとに1つの出力ユニットがある場合、ニューラルネットワークでのQ学習はどの程度効率的ですか?


9

背景:
強化学習タスクでニューラルネットワークのQ値の近似を使用しています。アプローチは、この質問で説明したものとまったく同じですが、質問自体が異なります。

このアプローチでは、出力の数は、実行できるアクションの数です。簡単な言葉で言えば、アルゴリズムは次のとおりです。アクションAを実行し、報酬を調べ、NNにすべての可能なアクションのQ値を予測し、最大Q値を選択し、特定のアクションAのQをとして計算しR + max(new_state_Q)ます。予測されたQ値にモデルを近似し、そのうちの1つだけをに置き換えR + max(new_state_Q)ます。

質問:出力数が多い場合、このアプローチはどの程度効率的ですか?

試行:実行できるアクションが10あるとします。各ステップで、モデルに10個の値を予測するように依頼します。モデルの初期の年齢では、この予測は完全に混乱しています。次に、出力の1つの値を変更し、これらの値にモデルを適合させます。

私はこのアプローチがどのように良い/悪いかについて反対の考えを2つ持っており、どちらが正しいかを判断できません。

  • 1つの観点から、ランダムデータで各ニューロンを9回トレーニングし、実際の値に近いデータで1回だけトレーニングします。NNが状態SのアクションAに対して5を予測したが、実際の値が-100の場合、NNを値5で9回、次に値-100で1回当てはめます。クレイジーですね。
  • 他の観点から見ると、ニューラルネットワークの学習はエラーの逆伝播として実装されているため、モデルが5を予測して5でトレーニングしている場合、エラーは0であるため、新しい学習は行われません。重みは影響を受けません。そして、-100を計算してモデルに適合させる場合にのみ、重みの再計算を行います。

どのオプションが正しいですか?多分私が考慮していない他の何かがありますか?

更新: 「どれほど効率的」とは、1つの出力-予測報酬を伴うアプローチと比較することを意味します。もちろん、この場合、アクションは入力の一部になります。したがって、アプローチ#1はある状態に基づいてすべてのアクションの予測を行い、アプローチ#2はある状態で行われた特定のアクションの予測を行います。


現在の形でこの質問に決定的な答えを出すことは非常に困難です:「このアプローチはどれほど効率的ですか?」ええと、それは...何と比較して?より効率的な場合とそうでない場合のある別のアプローチを提案しますか?
Dennis Soemers、2018年

こんにちは@DennisSoemers。ご質問ありがとうございます。投稿を更新しました。基本的に、代替アプローチは1つの成果-報酬を持っています。そして、すべての可能なアクションのための追加のN入力。主なアプローチはINPUT(状態)とOUTPUT(Nアクションに対するNリワード)です。代替はI(状態+アクション)とO(報酬)です。
Serhiy

回答:


1

したがって、比較する2つのオプションは次のとおりです。

  1. 入力=状態表現、出力=アクションごとに1ノード
  2. 入力=状態表現+アクションのワンホットエンコーディング、出力= 1ノード

私自身の直感によると、表現力や学習速度(反復の観点から)に関して、これら2つのオプションの間に大きな違いがあるとは思えません。

表現力については、最初のオプションは、入力の近くにわずかに「小さい」ネットワークを、出力の近くに「より広い」ネットワークを提供します。何らかの理由で、たとえば入力ノードに近い重みを増やすことが有益である場合は、最初の非表示レイヤー(入力に近い)を少し大きくすることでもほぼ達成できます。

学習速度については、基本的には、出力の1つにのみ正確な学習信号があり、他の出力にはないという基本的な懸念があります。2番目のオプションでは、入力ノードに接続されている重みについてもまったく同じことが言えるので、そこに大きな違いがあるとは思えません。

私が述べたように、上記のすべては私の直感に基づいていますが、それについてより信頼できる参照を見るのは興味深いでしょう。

QQnn

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.