强化学习中的蒙特卡罗方法与时间差分学习
1. 蒙特卡罗控制
蒙特卡罗控制是一类利用折扣回报样本来寻找最优或接近最优策略的方法,也就是从经验中学习最优策略。由于需要依靠经验来发现最优策略,所以在训练过程中必须进行探索。接下来,我们将实现 $\epsilon$-贪心策略,这是一种软策略,能让我们在训练期间进行探索。之后,会介绍两种不同类型的蒙特卡罗控制方法:同策略(on-policy)和异策略(off-policy)方法。
1.1 实现 $\epsilon$-贪心策略
$\epsilon$-贪心策略与我们在多臂老虎机问题中所做的类似,以 $\epsilon$ 的概率随机选择一个动作,以 $1 - \epsilon$ 的概率选择使动作价值函数最大化的动作。这样,我们既能继续探索所有的状态 - 动作对,又能大概率选择我们识别出的最优动作。
以下是将确定性动作转换为 $\epsilon$-贪心动作的函数实现:
def get_eps_greedy(actions, eps, a_best):
prob_a = {}
n_a = len(actions)
for a in actions:
if a == a_best:
prob_a[a] = 1 - eps + eps/n_a
else:
prob_a[a] = eps/n_a
return prob_a
在训练过程中,探索对于找到最优策略是必要的。但在训练后或推理阶段,我们不希望采取探
超级会员免费看
订阅专栏 解锁全文
1538

被折叠的 条评论
为什么被折叠?



