【强化】Q-learning(basic idea)

  1. review
    critic: 评价一个policy的好坏
    状态价值函数state-value function V π ( s ) V^{\pi}(s) Vπ(s): 使用policy π \pi π, 从state s开始,到结束的expected cumulated reward

  2. how to estimate V V V
    · 蒙特卡洛
    · temporal difference(TD): 有的episodes太长,用MC方法太久
    V π ( s t ) = V π ( s t + 1 ) + r t V^{\pi}(s_t) = V^{\pi}(s_{t+1}) + r_t Vπ(st)=Vπ(st+1)+rt
    两种方法对比:
    · MC的一个问题是方差太大,因为游戏本身具有随机性,var(kx) = k^2var(x); TD方差小,但是准确度无法保证
    · 下面这个例子用mc和td的方法计算出来的结果是不一样的
    在这里插入图片描述

  3. 另一种Critic: Q function
    state-action value function Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a): 使用policy π \pi π, 在state s强制使用action a(后续的action是不强制的), 得到的cumulated reward;
    在这里插入图片描述
    所以,critic不止可以用来评估policy的好坏,还可以用来决策使用哪个action、找到更好的policy。
    Q 和 V 的关系: V π ( s ) V^{\pi}(s) Vπ(s) = Q π ( s , π ( s ) ) Q^{\pi}(s,\pi(s)) Qπ(s,π(s))

  4. Q-Learning
    通过 Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a),找到一个更好的 π ′ \pi' π。更好的定义是,对于所有的state, V π ′ ( s ) V^{\pi'}(s) Vπ(s) >= V π ( s ) V^{\pi}(s) Vπ(s)
    π ′ ( s ) = a r g m a x a Q π ( s , a ) \pi'(s) = argmax_aQ^{\pi}(s,a) π(s)=argmaxaQπ(s,a)
    找到Q最大的action, π ′ \pi' π就是会采取action a的policy, π ′ \pi' π不取决于额外的参数,只取决于Q-function,但不适用于a是连续值。
    证明过程:在这里插入图片描述

  5. target network
    在使用TD的方法训练Q的时候,由于有两套参数需要update, 会导致训练不稳定,所以一般采取先freeze t+1部分的网络,只训练t部分的,参数更新多次之后再去update另一边。
    在这里插入图片描述

  6. exploration

a = a r g m a x a Q π ( s , a ) a = argmax_aQ^{\pi}(s,a) a=argmaxaQπ(s,a) ,用这样的方法选择action不是最好的方法。因为如果有的action没有尝试过的话,无法进行一个准确的估计。(类似bandit里面那个EE)
解法:
· epsilon greedy:加入epsilon的概率去采取随机action
· boltzmann exploration: 根据q value的概率分布去选

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值