Q-learning算法是一种无模型、在线、非策略强化学习方法。q -学习代理是一种基于价值的强化学习代理,它训练批评者估计回报或未来的回报。
有关不同类型的强化学习代理的更多信息,请参见强化学习代理.
Q-learning agents可以在以下观察和行动空间的环境中进行训练。
观察太空 | 行动空间 |
---|---|
连续或离散 | 离散 |
Q代理使用以下批评表示。
评论家 | 演员 |
---|---|
核反应能量函数评论家问(年代,一个),您可以使用 |
Q代理不使用actor。 |
在训练过程中,agent使用贪婪探索探索动作空间。在每个控制区间内,agent随机选择一个有概率的动作ϵ,否则它会贪婪地选择一个关于概率为1-的值函数的动作ϵ.这种贪婪行为是价值函数最大的行为。
为了估计价值函数,q -学习代理保持一个批评家问(年代,一个),这是一个表或函数近似器。评论家进行观察年代和行动一个作为输入并返回相应的长期回报期望。
有关创建值函数近似的批评家的更多信息,请参见创建策略和价值功能表示.
当训练完成时,将训练的值函数近似器存储在批评家中问(年代,一个).
创建Q-learning agent:
创建一个批评家使用rlQValueRepresentation
对象。
指定代理选项rlQAgentOptions
对象。
使用rlQAgent
对象。
Q-learning agents使用如下的训练算法。要配置训练算法,请使用rlQAgentOptions
对象。
初始化批评问(年代,一个),使用随机值。
对于每个培训集:
设定初始观测值年代.
对每一个情节重复以下步骤,直到年代是一种终端状态。
对于当前的观测年代,选择一个随机动作一个的概率ϵ.否则,选择批评家价值作用最大的行动。
指定ϵ和它的衰减率,用EpsilonGreedyExploration
选择。
执行动作一个.观察奖励R其次观察年代.
如果年代是终端状态,设定值函数的目标吗y来R.否则,设置为
设置折扣率γ,可以使用DiscountFactor
选择。
计算批评家参数更新。
使用学习速率更新批评家α.
属性,在创建评论家表示时指定学习速率LearnRate
选项rlRepresentationOptions
对象。
设置观察年代来年代.