human
PPOアルゴリズムの書き方
gpt
これは、PPOアルゴリズムの書き方についての私の理解です。

PPOアルゴリズムは、戦略ベースと2つのニューラルネットワーク強化学習アルゴリズムです[1]。PPOはTRPOアルゴリズムの改善です。実装におけるTRPOの複雑な計算を簡素化し、実験のパフォーマンスはTRPOよりも優れています[2]。PPOには2つの主要なバリアントがあり、1つはKLペナリティと組み合わされ、もう1つはClipメソッドを使用しています。この記事では、後者、つまりPPO-Clip [1]を実装しています。
PPOアルゴリズムを達成するには、最初に擬似コードを理解する必要があります。擬似コードは次のとおりです。

`` `
範囲のi（num_updates）：
    ＃ データ収集
    data = collect_data（env、ポリシー、batch_size）
    ＃計算アドバンテージ関数
    利点= calculating_advantages（data.reward、data.done、data.value、next_value）
    ＃更更
    範囲のエポックの場合（num_epochs）：
        policy_loss、value_loss = update_policy_and_value（data.observation、data.action、
                                                          利点、old_policy）
        ＃ポリシーが大きすぎる場合は、古い戦略にロールバックします
        if policy_loss> 1.5 * old_policy_loss：
            壊す
    ＃古い戦略を更新します
    old_policy = copy.deepcopy（ポリシー）
`` `

その中で、collect_data（）関数はデータを収集するために使用されます; calculating_advantages（）関数はアドバンテージ関数を計算するために使用されます; update_policy_and_value（）関数は戦略と値関数を更新するために使用されます;ポリシーが更新されている場合、ロールバック古い戦略[3] [4] [4] [4] [4] [4] [4] [4] [4] [4] [4] [4] [4] [4]]エッセンス
参考資料：
[1] https://blog.csdn.net/qq_36372583/article/details/103986782
[2] https://hrl.boyuai.com/reinforcement-rearning/policy-gradient/2020/08/20/ppo.htmml
[3] https://www.jiansshu.com/p/fc9d8f7a6b0e
[4] https://deeprlhub.com/docs/pdf/ppo.pdf
human
こんにちは