为什么我们需要与均匀分布进行比较来选择一个动作,而在 Deep RL 中策略函数会这样做

在Karpathy写的下面的代码中,为什么我们有这一行(为什么我们需要比较均匀分布来选择一个动作,而策略函数是这样做的)


  # forward the policy network and sample an action from the returned probability

  aprob, h = policy_forward(x)

  action = 2 if np.random.uniform() < aprob else 3 # roll the dice!

而不仅仅是


 # forward the policy network and sample an action from the returned probability

  aprob, h = policy_forward(x)

  action = 2 if 0.5 < aprob else 3 # roll the dice!

....Karpathy 的完整代码来自:https://gist.github.com/karpathy/a4166c7fe253700972fcbc77e4ea32c5


慕莱坞森
浏览 83回答 1
1回答

米脂

如果没有统一比较,政策将是确定性的。对于任何给定的状态,该policy_forward函数将返回相同的输出,因此每次都会采取相同的操作。因此,不会对您使用您提出的方法进行任何探索。制服在动作选择中引入了一些随机性,这鼓励了探索。没有探索,基本上不可能发现最优策略。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python