ポリシー勾配について知りたい方はこちらをご参照ください 強化学習。
私たちは、REINFORCEアルゴリズムを実装します。このアルゴリズムは、学習を開始するために完全な軌道を完成させる必要があります。以下の式を見ていただければ、その理由がわかると思います。
$R_t = r_t + \gamma R_{t+1}$
注意:次の時間ステップからのディスカウントしたリターンを常に必要とします。 したがってモンテカルロ法を用いて、戦闘全体をシミュレートする必要があります(時間差学習を行っていないため)。 戦闘中は各時間ステップ(TimeStep)で報酬を集め、最後の時間ステップから逆算してディスカウントしたリターンを計算します。
import numpy as np
def get_discounted_return(rewards, gamma):
running_discounted_reward = rewards[len(rewards)-1]
discounted_return = rewards.copy()
discounted_return[-1] = rewards[-1]
for t in reversed(range(len(discounted_return) - 1)):
discounted_return[t] = rewards[t] + gamma * running_discounted_reward
running_discounted_reward =+ rewards[t]
return np.array(discounted_return)
すべての連続空間RLモデルと同様に、我々は状態を政策に対応させるために近似関数を使用します。 AIアリーナの初期テストでは、リサーチャーがフィードフォワード、完全連結、ニューラルネットワークを使用するように制限しています。
スターターモデルのニューラルネットワーク部分を以下のフレームワークで実装しており、以下のコードスニペットも含まれています。
<aside> ↩️ 戻る
</aside>
<aside> ➡️ 次のページ
</aside>