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,最小化平方误差(逼近值函数和真实值函数)
- 梯度下降:找到局部最优 ,
是更新步长,每次更新遍历整个数据集
- 随机梯度下降:样本更新梯度,每次使用单个样本更新
2.2Linear Function Approximation
使用特征向量feature vector表示state
- 使用线性函数代表值函数
- 目标函数是参数w的二次函数
- SGD收敛于局部最优
- 更新规则非常简单
updata=step-size✖️prediction error✖️feature value
table lookup:全连接的权重矩阵
使用table lookup feature,参数w代表单个state的价值
2.3Incremental Prediction Algorithms
- MC:target是回报
- TD:target是
:target是
2.4 Incremental Control Algorithms
与增量预测算法相似,区别在逼近的是动作值函数
- 目标函数:最小化均方误差
- SGD找到局部最小
- 线性函数逼近
- 控制算法
- 控制算法的收敛
3.Batch Method
Reply能更高效使用数据集
(1)not reply: 按照时间一个接一个选择<state,value>
(2)reply:每次从经验D随机选择一个<state,value>,打乱时间顺序
3.1 SGD with experience reply
给定包含<state,value>的经验D,重复一下操作:
- 从D中随机选择state和value
- 使用SGD更新权重
收敛到least squares解,Least squares找到参数向量w,使其最小化近似值与目标值误差平方和
3.2 DQN
DQN使用经验回放和固定Q值
- DQN利用卷积神经网络逼近行为值函数
- DQN利用经验回放训练强化学习过程
- DQN设置目标网络单独处理时间差分算法中的TD误差