第二篇-深度强化学习之Q学习

深度强化学习

第二篇:深度强化学习之Q学习

提纲

  • 什么是Q学习?
  • Q学习实战

内容

🙋 Q学习:一种基于数值的强化学习算法。

🙋 Q表:创建一个表格,用于计算每种状态下采取的没中行动的最大的未来预期奖励。Q表示动作的质量每个单元格的值是该给定状态和行动的最大未来预期奖励。

🙋 Q学习算法:学习动作值函数(Q函数)

  • img
  • 动作值函数有两个输入:“状态”和“动作”,它返回该动作在该状态下的预期未来奖励。

    💭 注:探索之前,Q表中的值是固定的初始值(一般为0)。在探索环境时,使用Bellman方程迭代更新Q(s,a),Q表中的值将趋近于更好。

  • Q学习算法过程:

    • 算法概述
    • 算法详述

      • 初始化Q值

        构建一个Q表,有m列(m=行动数)和n行(n=状态数),将值初始化为0

        0000
        0000
        0000
        0000
        0000
        0000
      • 终身学习或直到学习停止

      • 选择操作(和第一篇中的explore & exploit有关)

        • 开始时,使用探索率(初始化为1),即随机执行的step的速度,随机选择行动进行大量探索
        • 生成一个随机数,如果这个数字,那么我们将进行使用(这意味着我们使用已知的方法来选择每一步最佳动作),否则,继续探索。
        • 在Q函数训练开始时,有一个较大的,随着agent做的越来越好,这个越来越小。
        • 评估:采取行动a,观察结果s‘和r,更新Q函数(使用Bellman方程)

        其中为学习率

        💪 Bellman方程更新代码

    🙋 实战

    💪 冰冻游戏

    img

    💪 代码

    🐭 Q表生成过程

    🐭 将表格代入运行得:

    🐭 使用图像引擎可观察到,在最后测试的五个例子里,有4次都成功到达G。

    💭 注:S-start ;F-frozen ice;H-hole ;G-goal

    💭 关于OpenAI的gym图像引擎、物理引擎和相关环境函数将在下一篇中列出。