オセロの時間差分学習エージェントを構築しようとしています。私の実装の残りの部分は意図したとおりに動作しているように見えますが、ネットワークのトレーニングに使用される損失関数について疑問に思っています。サットンの著書「強化学習: 入門」では、平均二乗値誤差 (MSVE は標準損失関数として示されています。これは基本的に、平均二乗誤差にポリシー分布を掛けたものです。(すべての状態の合計 s ( onPolicyDistribution(s ) * [V(s) - V'(s,w)]² ) )
私の質問は次のとおりです。ポリシーが学習値関数の e-greedy 関数である場合、ポリシーの配布でこれを取得するにはどうすればよいですか? 代わりに MSELoss を使用する場合、それは必要ですか?
私はこれらすべてをpytorchで実装しているので、簡単に実装できるボーナスポイントです:)