背景:
強化学習タスクでニューラルネットワークの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はある状態で行われた特定のアクションの予測を行います。