RL算法笔记 WIP
RL算法笔记 WIP
最终目标!!!

贝尔曼公式 Bellman Equation
定义
- 回报(Return)和价值(Value)
我们定义回报 (Return)
:执行动作后的即时奖励(reward)。 :折扣因子(Discount Factor)。- 注:奖励(reward)是即时的,回报(return)是累计的。
这里面可以用递归的技巧写出:
- 状态价值函数(State Value)
状态价值函数
- 这里是回报(全局概念)而不是奖励(reward)
- 动作价值函数(Action Value)
在状态
- 和 State Value 的差异就是它选择了一个 action
因此:
推导
基于上述定义,我们将
这里分出来两个期望,分别是下一步的即时 reward 和未来的 return
1.
-
第一步:由于
是个策略函数,输出多个动作,而每个动作都是一个可能性,因此 需要拆成对每个动作进行求和, 是在状态 下,选择动作 的概率 -
第二步:
是一个环境反馈项 是状态 和动作 下,环境给予的奖励(reward) 自不必说,是这个奖励 的概率
2.
这里的遍历性(期望如何展开)在于,在
这里还存在期望项没有展开完,我们还需要继续进行,而由于 RL 算法一般假设马尔可夫过程,因此在求
这里面有个容易注意到的事实(但我来说难以注意),
但这并非我们想要的项,因为
分别是状态
- 贝尔曼方程
上面求的所有中间结果代回:
我们发现里面都有
这就是贝尔曼方程
注意这是个递推式,只描述了状态
其次,把
矩阵表示
由于我们上面求出的是个递推式,为了全局求解,我们实际上需要列出方程组,因此先推导矩阵表示,我们回到提出
- 即时奖励部分
- 未来回报部分
有了这两个记号原来的方程可以简化为:
再写成向量表示:
价值向量
奖励向量
转移矩阵
于是直接写成:
由于
但实际中解析解通常求不出来,原因如下:
- 如果
很大,矩阵求逆会非常困难,复杂度 ,而实际问题中, 一般都很大 - 有时我们不知道
和 是什么,或者难以模拟,被称为 Model-Free 场景
于是我们需要一种迭代求解方法
贝尔曼最优方程 bellman optimal equation
首先我们定义何为最优 , 这和博弈论的优势策略是一样的:
我们就说策略
基于此,我们要寻找的最优状态价值函数
这就引出几个问题:
- 这样的策略是否存在?
- 这样的策略是否唯一?
- 这样的策略是随机策略还是确定性策略?
- 如何达到这样的策略?
我们继续用上面矩阵表示的记号,对于任意固定策略
观察上式,实际上的未知变量只有
其中:
这个形式可以用不动点定理,需证明
对于任意两个价值向量
详细证明略
由此,我们可知解存在,并可以采用迭代方法求解:只需要随机初始化一个