强化学习,ε-贪婪方法与最优动作
Reinforcement Learning, ϵ-greedy approach vs optimal action
在强化学习中,为什么我们应该 select 根据 ε-greedy 方法而不是总是 select 最优动作?
我们在训练期间使用 epsilon-greedy 方法进行探索。这意味着当通过训练选择一个动作时,它要么被选择为具有最高 Q 值的动作,要么被某个因素(epsilon)选择为随机动作。
在这两者之间进行选择是随机的,并且基于 epsilon 的值。最初,采取了很多随机行动,这意味着我们从探索 space 开始,但随着训练的进行,采取了更多具有最大 q 值的行动,我们逐渐开始较少关注具有低 Q 值的行动.
在测试过程中,我们使用了这种 epsilon 贪婪方法,但 epsilon 的值非常低,因此存在强烈的开发偏向于探索,倾向于选择具有最高 q 值的动作而不是随机行动。但是,有时仍然会选择随机动作。
这一切都是因为我们要消除过拟合或欠拟合的负面影响。
使用 epsilon 0(始终选择最佳操作)是一种充分利用的选择。例如,考虑一个迷宫游戏,其中代理的当前 Q 估计收敛到最优策略,除了一个网格,它贪婪地选择向边界(当前是最优策略)移动,导致它保持相同网格,如果代理达到任何这样的状态,并且它正在选择最大 Q 动作,它将被卡在那里。但是,在其策略中保留一个小的 epsilon 因子可以使其摆脱这种状态。
如果您已经知道最好的行动是什么,就不会有太多的学习,对吧? :)
ε-greedy 是 "on-policy" 学习,这意味着您正在学习最优 ε-greedy 策略,同时使用 ε-greedy 策略进行探索。您还可以通过选择与您正在学习的策略不一致的动作来学习 "off-policy",例如始终随机探索(与 ε=1 相同)。
我知道一开始这可能会令人困惑,如果只是随机移动怎么能学到任何东西呢?这里的关键知识点是,你学习的策略不是由你如何探索来定义的,而是由你如何计算未来奖励的总和来定义的(在常规 Q-Learning 的情况下,它是 max(Q[next_state]) Q值更新中的一块)。
假设您进行了足够多的探索,这一切都有效,如果您不尝试新的操作,代理将永远无法首先确定哪些是最好的。
在强化学习中,为什么我们应该 select 根据 ε-greedy 方法而不是总是 select 最优动作?
我们在训练期间使用 epsilon-greedy 方法进行探索。这意味着当通过训练选择一个动作时,它要么被选择为具有最高 Q 值的动作,要么被某个因素(epsilon)选择为随机动作。
在这两者之间进行选择是随机的,并且基于 epsilon 的值。最初,采取了很多随机行动,这意味着我们从探索 space 开始,但随着训练的进行,采取了更多具有最大 q 值的行动,我们逐渐开始较少关注具有低 Q 值的行动.
在测试过程中,我们使用了这种 epsilon 贪婪方法,但 epsilon 的值非常低,因此存在强烈的开发偏向于探索,倾向于选择具有最高 q 值的动作而不是随机行动。但是,有时仍然会选择随机动作。
这一切都是因为我们要消除过拟合或欠拟合的负面影响。
使用 epsilon 0(始终选择最佳操作)是一种充分利用的选择。例如,考虑一个迷宫游戏,其中代理的当前 Q 估计收敛到最优策略,除了一个网格,它贪婪地选择向边界(当前是最优策略)移动,导致它保持相同网格,如果代理达到任何这样的状态,并且它正在选择最大 Q 动作,它将被卡在那里。但是,在其策略中保留一个小的 epsilon 因子可以使其摆脱这种状态。
如果您已经知道最好的行动是什么,就不会有太多的学习,对吧? :)
ε-greedy 是 "on-policy" 学习,这意味着您正在学习最优 ε-greedy 策略,同时使用 ε-greedy 策略进行探索。您还可以通过选择与您正在学习的策略不一致的动作来学习 "off-policy",例如始终随机探索(与 ε=1 相同)。
我知道一开始这可能会令人困惑,如果只是随机移动怎么能学到任何东西呢?这里的关键知识点是,你学习的策略不是由你如何探索来定义的,而是由你如何计算未来奖励的总和来定义的(在常规 Q-Learning 的情况下,它是 max(Q[next_state]) Q值更新中的一块)。
假设您进行了足够多的探索,这一切都有效,如果您不尝试新的操作,代理将永远无法首先确定哪些是最好的。