李宏毅深度强化学习笔记(三)Q-learning(basic idea)

李宏毅深度强化学习笔记(三)Q-learning(basic idea)

参考jessie_weiqing博客:https://blog.csdn.net/cindy_1102/article/details/87905272
李宏毅深度强化学习课程 https://www.bilibili.com/video/av24724071

Q-Learning介绍

基本思想

Q-learning – value-base
什么是Critic:

  • critic并不直接决定采取什么行动,但是会用来衡量一个actor的好坏
  • critic的输出值取决于被评估的actor

状态价值函数 V π ( s ) V^\pi(s) Vπ(s):
对于actor π , 给定状态s,期望得到的累积收益,该值取决于状态s和actor π

**如何估计状态价值函数 V π ( s ) V^\pi(s) Vπ(s) **

  1. 基于蒙特卡洛的方法Monte-Carlo (MC)
    critic 观察 π \piπ 进行游戏的整个过程, 直到该游戏回合结束再计算累积收益(通过比较期望收益和实际收益G,来训练critic)

Tip: 有时一个游戏回合可能会很长,这个等到游戏回合结束再计算收益的方法训练起来会很慢,因此引入另外一种方法 Temporal-difference(TD)
2. 时序分差方法Temporal-difference (TD)
时序分差算法计算的是两个状态之间的收益差. (通过比较期望差异与实际差异r之间的差别来训练critic)

MC vs. TD

  • 由于从游戏中获取的收益是一个随机变量,而MC方法是各状态下收益的加总,相对而言,MC方法得到的实际累积收益G的方差会很大.
  • 相比较而言,TD只考虑状态之间的收益差,因此方差较小,但是由于没有从整体收益进行考虑,因此该方法的准确性不能得到保证

状态-行动价值方程 (another critic) Q π ( s , a ) Q^\pi(s, a) Qπ(s,a)
对于给定的actor π \piπ, 在状态s采取行动a预计能够得到的累计收益

Q-Learning:

  • 使用一个初始的actor π 与环境进行互动
  • 学习该actor对应的 Q function
  • 一定存在另外一个表现更好的actor π′ , 用这个更好的actor来替代原来的actor
  • 重复上述步骤

更好的 π′ 的含义是,对于所有的状态s,一定有 “采取π′ 获得的状态价值函数不小于π得到的状态价值函数 ”,那么π′ 就是由对Q求argmax返回的actor
在这里插入图片描述

Tips:

  • π′不包含额外的参数,它只取决于Q
  • 对于连续的action不适用
    在这里插入图片描述

Target network

计算Q的方式与TD类似,但是,在训练的过程中,由 s t s_t st s t + 1 s_{t+1} st+1生成的值是不固定的,在这种情况下训练会比较困难。
因此,在训练的时候,用来计算 的网络会被固定 s t + 1 s_{t+1} st+1,称为固定网络,于是,目标问题就变成了一个回归问题。
如下图,当前时间t网络生成的Q值与下一个时间网络生成的Q值(固定)之间应该只相差 r t r_t rt,因此需要用真实的 r t r_t rt与模型计算出来的 r t r_t rt 进行回归逼近。
在这里插入图片描述

Exploration

对于Q方程,它是policy的基础,这会导致actor每次都会选择具有更大Q值的行动action,对于收集数据而言是一个弊端,可以采用以下方法解决:

  • Epsilon Greedy (在训练的过程中 ϵ 的值会逐渐减小)
    下述公式的含义是,在采取action的时候,actor会有 1−ϵ 的概率选择使得Q值最大的a,随着训练时间变长,ϵ 的值逐渐减小,在后期actor选择最大Q值对应的a才会变大。
    在这里插入图片描述
    Boltzmann Exploration (和 policy gradient 类似, 根据一个概率分布来进行采样)
    在这里插入图片描述

Replay Buffer

  • step1: 用 π \piπ 和环境互动
  • step2: 将步骤1中互动得到的经验放入一个 buffer (放在buffer里面的经验来自不同的policy,当buffer满了的时候,移除旧的经验)
    (这里所说的经验是指集合 s t , a t , r t , s t + 1 {s_t, a_t, r_t, s_{t+1}} st,at,rt,st+1
    -,step3: 在每一次迭代中,学习 Q π ( s , a ) Q^\pi (s,a) Qπ(s,a) 1. 部分采样 2. 更新 Q-function
  • step4: 找到一个比 π 更好的 π′
  • step5: 重复上述步骤
    在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值