其他分享
首页 > 其他分享> > 【强化学习纲要】4 价值函数近似

【强化学习纲要】4 价值函数近似

作者:互联网

【强化学习纲要】4 价值函数近似

周博磊《强化学习纲要》
学习笔记
课程资料参见:https://github.com/zhoubolei/introRL.
教材:Sutton and Barton
Reinforcement Learning: An Introduction

4.1 价值函数近似基本原理

4.1.1 Introduction: Scaling up RL

之前我们遇到的都是状态很少的小规模问题,然后实际生活中很多问题都是大规模问题,如象棋( 1 0 47 10^{47} 1047states),围棋( 1 0 170 10^{170} 10170states),那么怎么用model-free的方法去估计和控制这些大规模问题的价值函数呢?

价值函数的类别

在这里插入图片描述
类别1:输入是一种状态,输出是价值函数的值
类别2:对于q函数,将state和action作为输入,然后输出是给定状态和action的价值是多少
类别3:对于q函数,输入是状态,输出是对于所有哦action可能的q值,然后再输出后取argmax,就可以把最可能的action选出来

函数估计

多种表示形式:

  1. Linear combinations of features。把特征用线性的形式叠加出来。
  2. 神经网络。
  3. 决策树
  4. Nearest neighbors
    主要使用前两类,因为是可微分的,我们可以很方便的优化近似函数里面的参数。

4.1.2 梯度下降法

在这里插入图片描述

Value Function Approximation with an Oracle

价值函数估计的时候也是用的梯度下降法。如果已知每个状态,应该如何优化价值函数?

用特征向量描述状态

在这里插入图片描述
比如:

4.1.3 线性价值函数近似

Linear Value Function Approximation with Table Lookup Feature

4.2 价值函数近似for prediction

4.2.1 Incremental VFA(价值函数近似) Prediction Algorithms

4.2.2 Monte-Carlo Prediction with VFA

4.2.3 TD Prediction with VFA

4.3 价值函数近似for control

通过Generalized policy iteration达到
在这里插入图片描述

4.3.1 Action-Value Function Approximation

Linear Action-Value Function Approximation

4.3.2 Incremental Control Algorithm

实际上,这里没有oracle,因此

这样就可以得到gradient,然后用这个gradient去更新q函数近似函数的参数。

Semi-gradient Sarsa for VFA Control

在这里插入图片描述
开始的时候初始化需要优化的 w w w;如果是结束状态的话就用return;如果不是结束状态的话就往前走一步,采样出A’,构造出它的TD target作为oracle,然后算出它的gradient;每往前走一步更新一次 w w w;S和A都更新。

4.3.3 Mountain Car Example

在这里插入图片描述