深度强化学习——第四章策略梯度
1. Components
在 reinforcement learning 中有 3 个components:
- 1 actor
- 1 environment
- 1 reward function。
下面以机器玩 video game 为例,介绍各component 的工作
actor : 操控游戏的摇杆, 比如说向左、向右、开火等操作;
environment : 即游戏的主机, 负责控制游戏的画面负责控制说,怪物要怎么移动, 你现在要看到什么画面等等;
reward function: 记录你在游戏过程中可以得到多少分数, 比如说杀一只怪兽得到 20 分等等。
1.1 可控部分——Policy
非可控(学习前固定):environment 、reward function
可控(人为调整): actor 里面的 policy,使得 actor 可以得到最大的 reward。Policy 就是给一个外界的输入,然后它会输出 actor 现在应该要执行的行为
一般用 π ( θ ) \pi ( \theta ) π(θ)表示 Policy, θ \theta θ 表示 π \pi π 的参数
1.2 轨迹序列——Trajectory
假设初始画面为
s
1
s_1
s1 ,
第一次执行的动作为
a
1
a_1
a1
第一次执行动作完以后得到的 reward 为
r
1
r_1
r1
Environment 接受
a
1
a_1
a1 产生的回应为
s
2
s_2
s2
以此类推,开始下一轮 episode
经过多个episode后形成一个轨迹序列
T
r
a
j
e
c
t
o
r
y
Trajectory
Trajectory
τ
\tau
τ
T r a j e c t o r y Trajectory Trajectory τ = { s 1 , a 1 , s 2 , a 2 , ⋯ , s t , a t } \tau =\lbrace s1,a1,s2,a2,⋯,st,a_t \rbrace τ={s1,a1,s2,a2,⋯,st,at}
产生这个轨迹序列
τ
\tau
τ 的概率
p
θ
(
τ
)
p_θ(τ)
pθ(τ),
p
θ
(
τ
)
=
p
(
s
1
)
p
θ
(
a
1
∣
s
1
)
p
(
s
2
∣
s
1
,
a
1
)
p
θ
(
a
2
∣
s
2
)
p
(
s
3
∣
s
2
,
a
2
)
⋯
p_θ(τ)=p(s_1)p_θ(a_1∣s_1)p(s_2∣s_1,a_1)p_θ(a_2∣s_2)p(s_3∣s_2,a_2)⋯
pθ(τ)=p(s1)pθ(a1∣s1)p(s2∣s1,a1)pθ(a2∣s2)p(s3∣s2,a2)⋯
=
p
(
s
1
)
∏
t
=
1
T
p
θ
(
a
t
∣
s
t
)
p
(
s
t
+
1
∣
s
t
,
a
t
)
= p(s_1)\quad \prod_{t=1}^T p_θ(a_t∣s_t)p(s_{t+1}∣s_t,a_t)
=p(s1)∏t=1Tpθ(at∣st)p(st+1∣st,at)
p θ ( τ ) p_θ(τ) pθ(τ)取决于两部分, 不可控的Environment 项 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}∣s_t,a_t) p(st+1∣st,at) 和 可控的Actor项 p θ ( a t ∣ s t ) p_θ(a_t∣s_t) pθ(at∣st)
整个轨迹对应的 reward function 为 R ( τ ) R(\tau) R(τ) ,