为什么Q-Learning在测试过程中使用epsilon-greedy?


18

在DeepMind关于Atari视频游戏的Deep Q-Learning的论文(此处)中,他们在训练过程中使用epsilon-greedy方法进行探索。这意味着在训练中选择一个动作时,它要么被选为q值最高的动作,要么是随机动作。两者之间的选择是随机的,并且基于epsilon的值,并且在训练过程中对epsilon进行退火,这样一开始,会采取许多随机动作(探索),但是随着训练的进行,会采取许多具有最大q值的动作(开发)。

然后,在测试过程中,他们也使用这种epsilon-greedy方法,但是epsilon的值非常低,因此对开发的偏向是对勘探的偏向,倾向于选择q值最高的行为而不是随机行为。但是,有时仍会选择随机动作(5%的时间)。

我的问题是:鉴于已经进行了培训,为什么在这一点上根本不需要进行任何探索?如果系统已经学会了最佳策略,那么为什么不总是将行动选择为q值最高的行动呢?难道不应该只在培训中进行探索,然后一旦学会了最佳策略,代理就可以反复选择最佳行动?

谢谢!


它可能以某种方式与ALE环境的确定性相关。如果在评估期间不执行随机动作,则将始终执行相同的动作序列(因为状态序列相同)。他们还会随机开始-最多等待30帧,因此不执行任何操作。
yobibyte '17

Answers:


10

他们在自然论文中提到:

通过在不同的初始随机条件(“空打”;请参阅扩展数据表1)和带有epsilon 0.05的电子贪婪策略下,每次玩30次,每次最多5分钟来评估受过训练的特工。采用此程序可最大程度减少评估过程中过度拟合的可能性。

我认为它们的意思是“消除过度/不适当的负面影响”。使用epsilon为0是一个充分利用(如您所指出的)的选择,并且可以做出强有力的陈述。

例如,考虑一个迷宫游戏,其中代理商的当前Q估计值收敛到最优策略,除了一个网格之外,在这个网格中,它贪婪地选择向边界移动,导致其保留在同一网格中。如果代理程序达到任何这样的状态,并且正在选择“最大Q”操作,它将永久停留在那里。但是,在其策略中保留模糊的探索性/随机性元素(例如少量的ε)可以使其脱离此类状态。

话虽如此,由于您在问题中列出的确切原因,在实践中我从代码实现中看过(并自己编写了代码)性能通常是用贪婪策略来衡量的。



2

我认为测试的目的是了解系统在现实环境中的响应方式。


ϵ

选择2:
如果他们担心自己会变得脆弱,与一个不太“通常理性”的球员比赛,那么他们可能会在“退火”他们的训练成绩,以免高估他们。

选项3:
这是他们的魔法烟。会有一些他们不能也不想分享的东西。他们可能会发布此出版物,以掩盖不想共享的与他们的业务有关的专有或异常相关的信息。

选项4:
他们可以使用重复测试以及各种epsilon值来测试系统中还剩下多少“脂肪”。如果他们的随机性较弱,或者样本太多,甚至没有公平的随机性就会开始重复,那么该方法可以“学习”不真实的行为对伪随机偏见。这可能允许在测试阶段进行检查。

我敢肯定还有其他六个有意义的原因,但是我能想到这些。

编辑:自言自语,我真的很喜欢“脆”的思想。我认为这可能是第一代中级AI的生存弱点。


1

ϵ

ϵϵ=0.05

特别是由于预处理后的输入包含以前遇到的状态的历史记录,因此担心的是,代理程序没有记住一般的游戏玩法,而是只是记住了该特定游戏的最佳轨迹,并在测试阶段重播了这些轨迹。这就是“评估过程中过度拟合的可能性”的意思。对于确定性环境,这是显而易见的,但对于随机状态转换,也会发生记忆(即过度拟合)。在测试阶段使用随机化(以随机长度的无操作开始以及游戏过程中的一部分随机动作的形式)迫使算法处理不可预见的状态,因此需要一定程度的概括。

ϵϵ=0在测试期间可能会改善性能,但是这里的重点是要显示出概括的能力。此外,在大多数Atari游戏中,状态也是无人值守的,因此,如果发生这种情况,代理商自然会变得“不粘手”。考虑到其他地方提到的迷宫式示例,其中环境不是无人值守的,代理商会很快了解到,如果奖励的形状正确(例如,每个步骤为-1),撞到墙上并不是一个好主意。特别是当使用乐观的初始值时,所需的探索自然就会发生。如果您仍然发现自己的算法在某些情况下陷入困境,那么这意味着您需要增加训练时间(即运行更多的情节),而不是针对动作引入一些辅助随机化。

但是,如果您在具有不断变化的系统动力学的环境中运行(即基础状态转换或奖励随时间变化),则必须保留一定程度的探索并相应地更新策略,以便跟上变化。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.