事件驱动优化:理论
作者:互联网
EBO 的理论和强化学习很像,也是 value function(性能势)和 Q function(Q 因子)。
估计熟悉 RL 的朋友已经想象出画面了,但是要注意三点:
- value function 不代表 “特定状态下的预期收益”,而是 “特定事件发生后的预期收益”;同样,Q function 代表 “特定事件发生后、做出特定动作的预期收益”。
- EBO 的 value function 和 Q function 没法 bootstrap 迭代(一步更新),得用整个轨迹做 Monte Carlo 估计。
- 目前月出不知 EBO 是否要加 gamma discount,综述论文没有加,而是“对足够长的 N 步收益求和”。
月出会在下文罗列数学公式,写自己对 性能势、Q 因子 的理解。
1 性能势 / value function
1.1 性能势的定义、优化思路
先从我们 RLer 熟悉的 value function 开始,状态 i 的性能势定义如下。其中,d 是策略,X 是系统状态,E 是事件, N 是远大于 1 的正整数。注意,这里是 状态性能势 而非 事件性能势,先从这里开始推导。
\[g^d_N(i)=\mathbb E\bigg\{\sum_{n=0}^{N-1}f(X_n,d(E_n))|X_0=i\bigg\} \tag{1} \]然后,定义 \(\pi^d(i|e)\) 为策略 d 下发生事件 e 时,系统处于状态 i 的概率。可以得到事件 e 的性能势:
\[\sum_{i\in I(e)}\pi^d(i|e)\bigg(f(i,d(e))+\sum_{j\in O_i(e)}p(j|i,e,d(e))g_N^d(j)\bigg) \tag{2} \]因为策略 d 对每个事件 响应一个特定动作,是字典的映射关系;因此,如果我们已知概率 \(\pi^d(i|e)\)、收益 f、系统转移概率 \(p(j|i,e,d(e))\)、状态性能势 \(g_N^d(j)\),就可以遍历所有动作,找一个让上式 argmax 的动作。
1.2 优化细节的讨论
可以和 RL 的 value iteration 一样,迭代地更新策略:更新状态性能势、同时更新策略。
然而有个大问题:
- 如果没法对任意策略 d 都给出 \(\pi^d(i|e)\),自然想到用 Monte Carlo 采样估算 \(\pi^d(i|e)\)。
- 假如我们希望,从策略 d 更新得到更优策略 h,即对每个事件,h 的 (2)式 大于等于 d 的 (2)式,这样 h 比 d 更优。
- 然而,为了判断 h 确实比 d 更优,需要知道 \(\pi^h(i|e)\) 来计算 (2)式,即,用策略 h 的轨迹估算 \(\pi^h(i|e)\)。
- 但,计算 (2)式 本来就是为了得到 更优策略 h,为了得到更优策略(迭代更新策略),需要先得到更优策略(确保得到“更优”策略),直接逻辑矛盾了
标签:function,状态,策略,理论,事件驱动,事件,pi,优化,性能 来源: https://www.cnblogs.com/moonout/p/16315325.html