はじめに
強化学習で用いられるML-AgentsのSetReward
メソッドとAddReward
メソッドの違いについて調べてみました。
実行環境
Unity 2019.1.4f1
ML-Agents 0.8.1
説明
SetReward
: 現在のステップの報酬量を設定します。もし同じステップにSetRewardを何度も呼び出した場合は最後のものだけが有効になります。
AddReward
: 現在のステップの報酬量を調整します。
例
SetReward(0.3f); // normal step reward 0.3
if (gotBonus)
AddReward(0.1f); // adjust reward to 0.4
else if (gotPenalty)
AddReward(-0.1f); // adjust reward to 0.2
if (reachedGoal)
SetReward(1.0f); // reset step reward to 1.0