更新参数ϕ,ϕ←ϕ−α∑idQϕ(si,ai)dϕ(Qϕ(si,ai)−y(si,ai)),返回 2 直到收敛 流程图如下: Q-Learning存在的问题 在上述算法描述的第4步可以写为:ϕ←ϕ−∑iαdQϕ(si,ai)dϕ(Qϕ(si,ai)−r(si,ai)+γmaxa′Qϕ(si′,ai′))但在r(si,ai)+γmaxa′Qϕ...
当Q-learning发生“局部收敛”时,我们算出的Q(s,a)不是Q^*(s,a),而可能是某个“次优策略”(sub-optimal policy)\pi对应的Q值,即Q_{\pi}(s,a)。我们可以简单地理解“局部收敛”就是只学会了一招便不思进取,学得了一些粗浅皮毛便沾沾自喜,待在“舒适区”不愿出来。
Q表示的是,在状态s下采取动作a能够获得的期望最大收益,R是立即获得的收益,而未来一期的收益则取决于下一阶段的动作。 所以,Q-learning的学习步骤可以归结为如下: 在迭代到收敛之后,我们就可以根据Q-learning来选择我们的路径走出房间。 看一个实际的例子,首先设定λ=0.8,奖励矩阵R和Q矩阵分别初始化为: 随机选择...
Sarsa和Q-learning在收敛的时间上大致相同,但Q-learning能够学习13个步骤的最优路径。Sarsa无法学习最优路径,它会选择避开悬崖。这是因为它的更新函数是使用贪婪的方式来获取下一个状态-动作值,因此悬崖上方的状态值较低。Q-learning在更新中使用了下一个状态动作值的最大值,因此它能够小心地沿着边缘移动到目标状...
总体来说,Q-learning是一个非常勇敢的策略,在有限动作和有限状态情况下,它能够收敛找到全局最优策略。
Q-learning算法是用来给出一个智能体(agent)从一个初始状态(state)出发到一个最优状态(State)的“路线”的算法。在每个不同的state,agent都可以执行不同的动作(action)转移到不同的state。Q-learning通过计算每个state下不同action的下的Q值,来规划出一个最优的动作集,这些动作集组成了路线。下面通过举一...
第1节 Q-learning逐步教程 本教程将通过一个简单但又综合全面的例子来介绍Q-learning 算法。该例子描述了一个利用无监督训练来学习未知环境的agent。 假设一幢建筑里面有5个房间,房间之间通过门相连。我们将这五个房间按照从0至4进行编号,且建筑的外围可认为是一个大的房间,编号为5。房间结构如下图: ...
Q-Learning算法属于model-free型,这意味着它不会对MDP动态知识进行建模,而是直接估计每个状态下每个动作的Q值。然后,通过在每个状态下选择具有最高Q值的动作,来绘制相应的策略。 如果智能体不断地访问所有状态动作对,则Q-Learning算法会收敛到最优Q函数[1]。
其实,Q-Value Iteration和Q-Learning还有很多细节上的差别。但是证明Q-learning的收敛,本质上还是要靠...
如果智能体能够以无限多的次数访问状态—行动对,那么 Q-Learning 将会收敛到最优的 Q 函数 [1]。 同样,我们也不会深入讨论 Q-Learning 的细节。如果你对它不太熟悉,这里有 Siraj Raval 的解释视频。 下面我们将展示 Q-Learning 的 Python 实现。请注意,这里所拥的学习率(alpha)遵循 [3] 的结果,使用 w=0....