强化学习(三)-策略梯度优化policy Gradient
直接优化策略梯度而不是优化Q函数来指导agent做决策
1 基本概率
- 策略 policy: π ( a ∣ s ) \pi(a|s) π(a∣s)
- 状态价值函数
V π ( s t ) = E A [ Q π ( s t , A ) ] V_\pi (s_t)=E_A[Q_\pi(s_t,A)] Vπ?(st?)=EA?[Qπ?(st?,A)]
V π ( s t ) = ∑ a π ( a ∣ s ) ? Q π ( s t , A ) V_\pi (s_t)=\sum_a\pi(a|s)*Q_\pi(s_t,A) Vπ?(st?)=∑a?π(a∣s)?Qπ?(st?,A)
2 目标最大化 V π ( s t ) V_\pi (s_t) Vπ?(st?)
- 策略梯度 policy gradient
? V π ( s ) ? θ = E A ~ π [ ? I n π ( A ∣ s ; θ ) ? θ ? Q π ( s , A ) ] \frac{\partial V_\pi(s)}{\partial \theta}=E_{A~\pi}[\frac{\partial In\pi(A|s;\theta)}{\partial \theta} * Q_\pi(s,A)] ?θ?Vπ?(s)?=EA~π?[?θ?Inπ(A∣s;θ)??Qπ?(s,A)]
3 添加baseline
如下添加一个b,和动作A是独立,不随A的变化而变化。
E
A
~
π
[
b
?
?
I
n
π
(
A
∣
s
;
θ
)
?
θ
]
E_{A~\pi}[b * \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ]
EA~π?[b??θ?Inπ(A∣s;θ)?]
3.1 baseline的梯度为0证明
由于b独立于A
E
A
~
π
[
b
?
?
I
n
π
(
A
∣
s
;
θ
)
?
θ
]
E_{A~\pi}[b * \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ]
EA~π?[b??θ?Inπ(A∣s;θ)?]
=
b
?
E
A
~
π
[
?
I
n
π
(
A
∣
s
;
θ
)
?
θ
]
b* E_{A~\pi}[ \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ]
b?EA~π?[?θ?Inπ(A∣s;θ)?]
=
b
?
∑
a
π
(
a
∣
s
;
θ
)
?
I
n
π
(
a
∣
s
;
θ
)
?
θ
b *\sum_a\pi(a|s;\theta) \frac{\partial In\pi(a|s;\theta)}{\partial \theta}
b?∑a?π(a∣s;θ)?θ?Inπ(a∣s;θ)?
=
b
?
∑
a
π
(
a
∣
s
;
θ
)
1
π
(
a
∣
s
;
θ
)
?
π
(
a
∣
s
;
θ
)
?
θ
b *\sum_a\pi(a|s;\theta) \frac{1}{\pi(a|s;\theta)} \frac{\partial \pi(a|s;\theta)}{\partial \theta}
b?∑a?π(a∣s;θ)π(a∣s;θ)1??θ?π(a∣s;θ)?
=
b
?
∑
a
?
π
(
a
∣
s
;
θ
)
?
θ
b *\sum_a\frac{\partial \pi(a|s;\theta)}{\partial \theta}
b?∑a??θ?π(a∣s;θ)?
=
b
?
?
1
?
θ
b* \frac{\partial 1}{\partial \theta}
b??θ?1?
=0
即证: E A ~ π [ b ? ? I n π ( A ∣ s ; θ ) ? θ ] = 0 E_{A~\pi}[b * \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ]=0 EA~π?[b??θ?Inπ(A∣s;θ)?]=0
4 策略梯度添加baseline
- 策略梯度 policy gradient
?
V
π
(
s
)
?
θ
=
E
A
~
π
[
?
I
n
π
(
A
∣
s
;
θ
)
?
θ
?
Q
π
(
s
,
A
)
]
?
E
A
~
π
[
b
?
?
I
n
π
(
A
∣
s
;
θ
)
?
θ
]
\frac{\partial V_\pi(s)}{\partial \theta} =E_{A~\pi}[\frac{\partial In\pi(A|s;\theta)}{\partial \theta} * Q_\pi(s,A)] -E_{A~\pi}[b * \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ]
?θ?Vπ?(s)?=EA~π?[?θ?Inπ(A∣s;θ)??Qπ?(s,A)]?EA~π?[b??θ?Inπ(A∣s;θ)?]
=
E
A
~
π
[
?
I
n
π
(
A
∣
s
;
θ
)
?
θ
?
(
Q
π
(
s
,
A
)
?
b
)
]
E_{A~\pi}[\frac{\partial In\pi(A|s;\theta)}{\partial \theta} * (Q_\pi(s,A)-b)]
EA~π?[?θ?Inπ(A∣s;θ)??(Qπ?(s,A)?b)]
5 蒙特卡洛计算策略梯度
随机从策略policy
π
(
a
∣
s
)
\pi(a|s)
π(a∣s) 中选择动作a,计算梯度
g
(
a
t
)
=
?
I
n
π
(
a
t
∣
s
t
;
θ
)
?
θ
?
(
Q
π
(
s
t
,
a
t
)
?
b
)
g(a_t)=\frac{\partial In\pi(a_t|s_t;\theta)}{\partial \theta} * (Q_\pi(s_t,a_t)-b)
g(at?)=?θ?Inπ(at?∣st?;θ)??(Qπ?(st?,at?)?b)
6思考 :b不影响梯度的变化,为什么还要选择b?
因为b虽然不影响梯度的变化,由于我们的Q函数一般是近似的,因此使用一个baseline,能够使采样的数据的方差变小,使估计的数据更准确(相当于对数据做了去均值化)。
7 baseline的选择
baseline的选择有很多种方式,根据不同选择方式,有不同的优化算法。
小结
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!