前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >强化学习笔记6:值函数估计Value function Approximation

强化学习笔记6:值函数估计Value function Approximation

作者头像
列夫托尔斯昊
发布2020-08-25 16:43:17
6720
发布2020-08-25 16:43:17
举报
文章被收录于专栏:探物及理

introduction

v、q表的问题

  • 解决离散化的s,a,导致q-table存储量、运算量大
  • 解决连续s、a的表示问题 ## solution 用带权重估计函数,估计v or q \[ \begin{aligned} \hat{v}(s, \mathbf{w}) & \approx v_{\pi}(s) \\ \text { or } \hat{q}(s, a, \mathbf{w}) & \approx q_{\pi}(s, a) \end{aligned} \] ## 函数估计器 可谓函数逼近,需要函数式可微分的
  • 线性组合
  • 神经网络

这些不可微

  • 决策树 decision tree
  • 领域Nearest neighbour
  • 傅里叶/ 小波Fourier/ wavelet bases

incremental methods

Gradient descent

值函数估计:随机梯度下降法SGD

Table lookup 是 GD的一种特例

Find a target for value function approximation

把估计函数作为一个监督学习 目标是谁呢,通过MC、TD方法,设定目标

生成训练集

For linear MC

  • 无偏目标估计
  • 局部最优

For linear TD(0)

  • 收敛趋向全局最优

For linear TD(\(\lambda\))

\(\delta\) scalar number \(E_t\) 维度和s维度一致

  • 前后向 相等

Incremental Control Algorithms

用q函数,替代v函数

不能保证收敛性

  • On-policy:一般边训练,边执行,(s,a)是当前policy产生的
  • off-policy:离线训练,通过训练其他策略或者agent产生的(s,a)训练集

引入Gradient TD,完全满足贝尔曼方程,无差

batch methods

For least squares prediction

LS定义,估计误差平方,求和

baseline是已经训练的结果\((s,v_\pi)\in D\),再用SGD更新之

找到使LS最小的权重\(w^\pi\)

Experience Replay in Deep Q-Networks (DQN)

Two features

  • Experience Relpay:minibatch的数据采样自memory-D
  • Fixed Q-targets:\(w^-\) 在一个更新batch内 ,保持不变,让更新过程更稳定

算法流程

  1. Take action at according to ε-greedy policy
  2. Store transition (st,at,rt+1,st+1) in replay memory D
  3. Sample random mini-batch of transitions (s,a,r,s′) from D
  4. Compute Q-learning targets w.r.t. old, fixed parameters \(w^− \)
  5. Optimise MSE between Q-network and Q-learning targets \[ \mathcal{L}_{i}\left(w_{i}\right)=\mathbb{E}_{s, a, r, s^{\prime}} \sim \mathcal{D}_{i}\left[\left(r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime} ; w_{i}^{-}\right)-Q\left(s, a ; w_{i}\right)\right)^{2}\right] \]
  6. 用SGD更新 伪算法:

注意:

  1. Fixed Q-target \(\theta\),每C steps 更新一次
  2. Experience Replay: minibatch 从 memory D 采样

例子

DQN in Atari

构成:

  • input: state s (4 frames pictures)
  • output: Q(s,a)
  • CNN: mapping input(s) to output(Q)

LS 最小二乘法 总结

  • Experience replay -> LS solution
  • 迭代次数太多
  • 用线性估计\(\hat v(s,w) = x(s)^Tw\)
  • 直接求解LS

LSP 直接求解

平衡状态,梯度=0 求解方程,得到w值关于状态s和v真值的函数关系

However,真值不知道 缺点是复杂度高,引入了矩阵的逆

Other algorithms

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • introduction
    • v、q表的问题
    • incremental methods
      • Gradient descent
        • Table lookup 是 GD的一种特例
          • Find a target for value function approximation
            • 生成训练集
              • For linear MC
              • For linear TD(0)
              • For linear TD(\(\lambda\))
          • Incremental Control Algorithms
            • 不能保证收敛性
            • batch methods
              • For least squares prediction
                • Experience Replay in Deep Q-Networks (DQN)
                  • Two features
                  • 算法流程
                  • 例子
                • LS 最小二乘法 总结
                  • LSP 直接求解
                    • Other algorithms
                相关产品与服务
                批量计算
                批量计算(BatchCompute,Batch)是为有大数据计算业务的企业、科研单位等提供高性价比且易用的计算服务。批量计算 Batch 可以根据用户提供的批处理规模,智能地管理作业和调动其所需的最佳资源。有了 Batch 的帮助,您可以将精力集中在如何分析和处理数据结果上。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档