gpt4 book ai didi

performance - Q学习——epsilon贪心更新

转载 作者:行者123 更新时间:2023-12-04 03:01:46 25 4
gpt4 key购买 nike

我想了解 epsilon - DQN 中的贪心方法。我正在学习 https://github.com/karpathy/convnetjs/blob/master/build/deepqlearn.js 中提供的代码

以下是epsilon的更新规则,随着年龄的变化如下:

$this.epsilon = Math.min(1.0, Math.max(this.epsilon_min, 1.0-(this.age - this.learning_steps_burnin)/(this.learning_steps_total - this.learning_steps_burnin)));

这是否意味着 epsilon 值从 min(由用户选择)开始,然后随着年龄增加,达到老化步骤并最终变为 1?或者 epsilon 是否从 1 左右开始然后衰减到 epsilon_min ?

不管怎样,在这个过程之后学习几乎停止了。那么,我们是否需要足够谨慎地选择 learning_steps_burnin 和 learning_steps_total?关于需要选择什么值(value)的任何想法?

最佳答案

由于 epsilon 表示策略中的随机性(操作是贪婪的概率 1-epsilon 和随机的概率 epsilon),你想从一个相当随机的策略开始,然后慢慢转向确定性策略。因此,您通常从较大的 epsilon(如代码中的 0.9 或 1.0)开始,然后将其衰减为较小的值(如 0.1)。最常见和简单的方法是线性衰减和指数衰减。通常,您知道将执行多少学习步骤(在您的代码中称为 learning_steps_total)并调整衰减因子(您的 learning_steps_burnin),以便在此间隔 epsilon 从 0.9 到 0.1。

您的代码是线性衰减的示例。指数衰减的一个例子是

epsilon = 0.9
decay = 0.9999
min_epsilon = 0.1
for i from 1 to n
epsilon = max(min_epsilon, epsilon*decay)

关于performance - Q学习——epsilon贪心更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48583396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com