摘要
本系列知识点讲解基于蘑菇书EasyRL中的内容进行详细的疑难点分析!具体内容请阅读蘑菇书EasyRL!
我们先来看这一项的数学形式:
(
a
−
μ
(
s
)
)
T
Σ
(
s
)
(
a
−
μ
(
s
)
)
(a-\mu(s))^T \Sigma(s) (a-\mu(s))
(a−μ(s))TΣ(s)(a−μ(s))
这实际上是一个二次型(quadratic form),也常称为马氏距离的平方(Mahalanobis distance squared),它的意义可以从以下几个角度来理解:
-
衡量动作与“最佳动作”之间的距离
- μ ( s ) \mu(s) μ(s) 是神经网络输出的均值向量,代表在状态 s s s 下最优或最“期望”的动作。
- a a a 是实际选择的动作。
- 因此, a − μ ( s ) a - \mu(s) a−μ(s) 表示实际动作与期望动作之间的偏差或误差。
- 当这个偏差经过正定矩阵 Σ ( s ) \Sigma(s) Σ(s)加权后,其结果给出了一种“距离”度量,这个距离越大,说明实际动作与最优动作偏离得越远。
-
正定矩阵 Σ ( s ) \Sigma(s) Σ(s) 的作用
- Σ ( s ) \Sigma(s) Σ(s) 是一个正定矩阵,可以看作对各个维度的重要性和不同维度之间的相关性进行编码。
- 例如,如果某个动作维度对回报的影响更大,那么在 Σ ( s ) \Sigma(s) Σ(s) 中,这个维度对应的权重会较高,导致相应偏离产生更大的“惩罚”。
- 因此,该二次项不仅衡量了偏差的大小,而且根据 Σ ( s ) \Sigma(s) Σ(s) 的结构,体现了不同动作分量的重要性和协同效应。
-
对 Q 值的影响
- 在定义中,整个 Q 函数为
Q ( s , a ) = − ( a − μ ( s ) ) T Σ ( s ) ( a − μ ( s ) ) + V ( s ) . Q(s,a) = - (a-\mu(s))^T \Sigma(s) (a-\mu(s)) + V(s). Q(s,a)=−(a−μ(s))TΣ(s)(a−μ(s))+V(s). - 因为这一项前面有个负号,所以当 a a a 与 μ ( s ) \mu(s) μ(s) 接近时,这一项为零,此时 Q ( s , a ) = V ( s ) Q(s,a)=V(s) Q(s,a)=V(s) 达到最大值;而如果 a a a 与 μ ( s ) \mu(s) μ(s) 偏离较大,则该项数值会变大(正数),从而使 Q 值降低。
- 这就确保了在决策时(例如求 arg max a Q ( s , a ) \arg\max_a Q(s,a) argmaxaQ(s,a))最佳动作正好是 a = μ ( s ) a=\mu(s) a=μ(s)。
- 在定义中,整个 Q 函数为
-
直观意义
- 可以把它看作是一种“能量”或“成本”函数:实际动作 a a a 偏离最优动作 μ ( s ) \mu(s) μ(s) 的“成本”,该成本以 Σ ( s ) \Sigma(s) Σ(s) 为权重加权。
- 网络在训练时会学到合适的 Σ ( s ) \Sigma(s) Σ(s) 来反映环境中不同状态下回报的敏感性和不确定性。
数值例子
假设在某个状态 s s s 下,网络输出:
- 最优动作: μ ( s ) = [ 1 2 ] \mu(s) = \begin{bmatrix} 1 \\ 2 \end{bmatrix} μ(s)=[12]
- 我们构造一个下三角矩阵
L
(
s
)
L(s)
L(s) 如:
L ( s ) = [ 2 0 1 1 ] , L(s) = \begin{bmatrix} 2 & 0 \\ 1 & 1 \end{bmatrix}, L(s)=[2101],
那么 Σ ( s ) = L ( s ) L ( s ) T \Sigma(s) = L(s)L(s)^T Σ(s)=L(s)L(s)T 为:
Σ ( s ) = [ 4 2 2 2 ] . \Sigma(s) = \begin{bmatrix} 4 & 2 \\ 2 & 2 \end{bmatrix}. Σ(s)=[4222].
我们考虑三个不同的实际动作 a a a:
-
动作 a 1 a_1 a1 与最优动作一致
设 a 1 = [ 1 2 ] a_1 = \begin{bmatrix} 1 \\ 2 \end{bmatrix} a1=[12]。
则 a 1 − μ ( s ) = [ 0 0 ] a_1 - \mu(s) = \begin{bmatrix} 0 \\ 0 \end{bmatrix} a1−μ(s)=[00];
二次型为:
( a 1 − μ ( s ) ) T Σ ( s ) ( a 1 − μ ( s ) ) = 0. (a_1-\mu(s))^T \Sigma(s) (a_1-\mu(s)) = 0. (a1−μ(s))TΣ(s)(a1−μ(s))=0.
所以该部分为 0,Q 值达到最大 V ( s ) V(s) V(s)。 -
动作 a 2 a_2 a2 稍有偏离
设 a 2 = [ 2 2 ] a_2 = \begin{bmatrix} 2 \\ 2 \end{bmatrix} a2=[22]。
则 a 2 − μ ( s ) = [ 1 0 ] a_2 - \mu(s) = \begin{bmatrix} 1 \\ 0 \end{bmatrix} a2−μ(s)=[10]。
计算:
Σ ( s ) ( a 2 − μ ( s ) ) = [ 4 2 2 2 ] [ 1 0 ] = [ 4 2 ] . \Sigma(s)(a_2-\mu(s)) = \begin{bmatrix} 4 & 2 \\ 2 & 2 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 4 \\ 2 \end{bmatrix}. Σ(s)(a2−μ(s))=[4222][10]=[42].
再计算二次型:
( a 2 − μ ( s ) ) T [ 4 2 ] = 1 × 4 + 0 × 2 = 4. (a_2-\mu(s))^T \begin{bmatrix} 4 \\ 2 \end{bmatrix} = 1 \times 4 + 0 \times 2 = 4. (a2−μ(s))T[42]=1×4+0×2=4.
Q 值为:
Q ( s , a 2 ) = − 4 + V ( s ) . Q(s,a_2) = -4 + V(s). Q(s,a2)=−4+V(s).
如果假设 V ( s ) = 10 V(s)=10 V(s)=10,则 Q ( s , a 2 ) = 6 Q(s,a_2)=6 Q(s,a2)=6。 -
动作 a 3 a_3 a3 偏离另一方向
设 a 3 = [ 1 3 ] a_3 = \begin{bmatrix} 1 \\ 3 \end{bmatrix} a3=[13]。
则 a 3 − μ ( s ) = [ 0 1 ] a_3-\mu(s) = \begin{bmatrix} 0 \\ 1 \end{bmatrix} a3−μ(s)=[01]。
计算:
Σ ( s ) ( a 3 − μ ( s ) ) = [ 4 2 2 2 ] [ 0 1 ] = [ 2 2 ] . \Sigma(s)(a_3-\mu(s)) = \begin{bmatrix} 4 & 2 \\ 2 & 2 \end{bmatrix}\begin{bmatrix} 0 \\ 1 \end{bmatrix} = \begin{bmatrix} 2 \\ 2 \end{bmatrix}. Σ(s)(a3−μ(s))=[4222][01]=[22].
二次型:
( a 3 − μ ( s ) ) T [ 2 2 ] = 0 × 2 + 1 × 2 = 2. (a_3-\mu(s))^T\begin{bmatrix} 2 \\ 2 \end{bmatrix} = 0 \times 2 + 1 \times 2 = 2. (a3−μ(s))T[22]=0×2+1×2=2.
则 Q 值:
Q ( s , a 3 ) = − 2 + V ( s ) = − 2 + 10 = 8. Q(s,a_3) = -2 + V(s) = -2 + 10 = 8. Q(s,a3)=−2+V(s)=−2+10=8.
通过这些例子可以看出:
- 当动作 a a a 正好等于 μ ( s ) \mu(s) μ(s) 时,惩罚项为 0,Q 值最高;
- 当动作 a a a 偏离 μ ( s ) \mu(s) μ(s) 时,二次型产生的值越大,Q 值越低;
- 不同的偏离方向,由于 Σ ( s ) \Sigma(s) Σ(s) 的权重作用,产生的惩罚不同。
总结
这一项 ( a − μ ( s ) ) T Σ ( s ) ( a − μ ( s ) ) (a-\mu(s))^T \Sigma(s)(a-\mu(s)) (a−μ(s))TΣ(s)(a−μ(s)) 的作用在于:
- 度量偏离:量化实际动作 a a a 与理想动作 μ ( s ) \mu(s) μ(s) 之间的偏差;
- 权重调整:通过正定矩阵 Σ ( s ) \Sigma(s) Σ(s) 给出各维度的重要性和协同影响;
- 优化决策:在 Q 函数中,以负号惩罚偏离,从而使得最大 Q 值在 a = μ ( s ) a = \mu(s) a=μ(s) 处,也使得求 arg max a Q ( s , a ) \arg\max_a Q(s,a) argmaxaQ(s,a) 变得非常直接;
- 不确定性表达:如果 Σ ( s ) \Sigma(s) Σ(s) 由网络学习,它可以反映在不同状态下动作回报的不确定性。