return作用
还是用这个迷宫游戏说。
首先明确,不撞墙到终点比撞墙到终点好。路径越短到终点越好。
- 不撞墙到终点比撞墙到终点好。你可以把撞墙这个reward设置成负数,不撞墙设置成0。那么在最终return进行累加的时候,不撞墙的return就会大。
- 路径越短到终点越好。我们计算return的时候还会乘上一个discount rate。介于0~1之间。走了几步这个rate就几次方再乘上reward进行求和。所以越后面到终点获得到的reward乘上这个rate就会越小
所以return可以来进行衡量我目前这个路径到底好还是不好
return计算
return可以衡量路径好还是不好那么也可以用来说明这个决策好还是不好。可以进行比较了。所以就需要进行对于return的计算。
比如说给出一个policy怎么计算他在这个policy下的return值为多少。
可以列出return式子长这样
可以用巧方法,把后面这个discount rate提出去变这样
每个都这样变换一下变成这样
然后把这几个标量组合到一起去,写成向量形式
然后就可以对这个矩阵方程进行求解,就可以解出这个V的向量值,也就是对应每一个return
这个就是贝尔曼公式
state value
刚刚的这个例子的策略是一个state只有一个action,但实际上我一个state不一定只有有一个action,可能会有好多个action进行选择做。所以需要新的指标,这个就是state value。
return实际上是针对一个trajectory进行一个reward进行一个累计。
那么如果我一个state有好几个action进行选择,然后每一个action进入了不同state,他们又有好几个action,推下去就有好多个好多个trajectory,也就是有好多个return。
state value就是把所有他们加起来算期望。也就是我只关心我的起点是这个state。只要是以这个state为起点就加进来算期望。最终得到的就是这个状态的state value
然后注意的是,这个state value也是要基于这个决策的。所以state value实际上会有两个参数,一个是policy一个是state。
例子
然后刚刚的那个return的例子,以及我们学习过的马尔科夫的性质,可以察觉到state value可以写成一个递推的式子。数学上确实也可以做的到。严谨的推理长这样:
把GT也就是return的第一步拆解了出来,再拆开期望进行分离,前部分就是关于行为获得reward的期望,后面就是discount rate乘上转移后状态的期望
然后去仔细分析一下这个概率取值。就会发现这个代表当前这个状态的各个行为的reward的期望
同样这个自习分析一下概率,可以发现这一项代表能够根据s状态转移到的不同状态对应的state value的期望
然后把前后两项相同的条件概率提出去就可以得到贝尔曼公式
参考第二个return特例,也可以写出贝尔曼公式的向量形式
action value
最后再说说action value。
return值可以反映我这个trajectory好不好。那么他进行期望,得到的state value就可以说明我这个状态是否是更接近我的目标的。
那么我们还需要进行考虑的是,我在我这个state 我到底需要进行那个action?所以就有action value。
感觉一下,我的做出action是不是有一个reward,然后我进行了action是不是到了一个新的state。所以我的action value就是把他们加起来。然后有多个action,算期望就行。
同理action value主要拿来评判我这个action到底哪个会好一点的。
有数学定义与证明。
这里略