在一般的 DQN 框架中,如果我知道某些动作比其他一些动作更好,是否可以让代理更频繁地选择更好的动作?
在 DQN 中,是否有可能使某些动作更有可能发生?
人工智能
强化学习
dqn
探索策略
2021-10-25 04:22:06
1个回答
对于单步 Q 学习,行为策略可以是任何随机策略,无需对更新规则进行任何进一步调整。
你不必使用-greedy 基于当前的 Q 函数近似,尽管这是一个常见的选择,因为它在一般情况下效果很好。但是,如果您希望算法收敛,您应该始终允许一些采取所有操作的机会 - 如果您修复了一些问题以便永远不会采取不良操作,那么代理将永远不会知道它们的价值很低。
使用最佳操作的初始想法的最简单方法可能是编写一个函数,该函数返回您对要采取的操作的评估,并以一定的概率使用它而不是完全随机的选择。在某些时候,您还希望停止引用辅助函数(除非它保证完美)并使用某种形式的标准-基于当前 Q 值的贪婪。
我在 DQN 学习玩 Connect 4 时做过类似的事情,其中代理将使用前瞻搜索功能,可以看到例如提前 7 步。如果那是不确定的,它将使用当前 Q 值的 argmax。这两种固定的行动选择都可以被替换,有概率,带有随机动作选择以确保探索。它工作得很好。您可以将我示例中的前瞻搜索替换为任何出于任何原因返回“最佳”操作的函数。
还有其他一些方法可以使动作选择偏向更好看的动作选择。您可以研究玻尔兹曼探索或置信上限 (UCB)作为为 DQN 创建行为策略的其他方法。
其它你可能感兴趣的问题