值函数近似Value Function Approximation

1.Introduction 

值函数有两种:状态值函数V(s)和动作状态值函数Q(s,a)。对于大规模MDP问题,有很多state或者action需要存储,单个学习每种状态的价值非常慢,因此使用函数逼近function approximation来估计value function。

值函数逼近有以下三种类型,使用MC或者TD来更新w即可,不需要再单独计算值函数

常见的函数逼近有:

  • linear combinations of features
  • neural network
  • decision tree
  • nearest neighbour

2.Incremental Method

2.1Gradient Descent

  • 目标:找到参数向量w,最小化平方误差(逼近值函数和真实值函数)

  • 梯度下降:找到局部最优 ,\alpha是更新步长,每次更新遍历整个数据集

  • 随机梯度下降:样本更新梯度,每次使用单个样本更新

 2.2Linear Function Approximation

使用特征向量feature vector表示state

x(S)={(x_1(S)...x_n(S))}^T

  • 使用线性函数代表值函数

\hat{v}(S,w)={x\left(S\right)}^Tw=\sum_{j=1}^{n}{x_j(S)w_j}

  • 目标函数是参数w的二次函数

J(w)=E_\pi\left[\left(v_\pi(s)-{x\left(S\right)}^Tw\right)^2\right]

  • SGD收敛于局部最优
  • 更新规则非常简单

\nabla_w\hat{v}\left(S,w\right)=x\left(S\right)

\Delta w=\alpha (v_\pi(s)-\hat{v}(S,w))x(S)

updata=step-size✖️prediction error✖️feature value

table lookup:全连接的权重矩阵

使用table lookup feature,参数w代表单个state的价值

2.3Incremental Prediction Algorithms

  • MC:target是回报G_t

  •  TD:target是R_{t+1}+\gamma\hat{v}(S_{t+1},w)

  • TD(\lambda):target是G_t^\lambda

 2.4 Incremental Control Algorithms

与增量预测算法相似,区别在逼近的是动作值函数\hat{q}(S,A,w)\approx q_\pi(S,A)

  • 目标函数:最小化均方误差 

  • SGD找到局部最小 

  • 线性函数逼近 

  • 控制算法 

  • 控制算法的收敛 

3.Batch Method 

Reply能更高效使用数据集

(1)not reply: 按照时间一个接一个选择<state,value>

(2)reply:每次从经验D随机选择一个<state,value>,打乱时间顺序

3.1 SGD with experience reply

给定包含<state,value>的经验D,重复一下操作:

  1. 从D中随机选择state和value
  2. 使用SGD更新权重

收敛到least squares解,Least squares找到参数向量w,使其最小化近似值与目标值误差平方和

3.2 DQN 

DQN使用经验回放和固定Q值

  1. DQN利用卷积神经网络逼近行为值函数
  2. DQN利用经验回放训练强化学习过程
  3. DQN设置目标网络单独处理时间差分算法中的TD误差

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值