RL的使用情境:
当使用Supervised Learing时需要大量的标注,而且收集这些labels很困难的时候,甚至说labeling本身就很困难;
正确答案甚至连人类都不知道时什么的时候
What is RL?
强化学习目的:智能体(agent)怎么在复杂、不确定的环境(environment)中最大化它能获得累积奖励
强化学习流程:智能体在环境中获取某个状态
s
t
s_t
st后,它会利用该状态输出一个动作
a
t
a_t
at,这个动作也称为决策(decision)。然后这个动作会在环境中被执行,环境会根据智能体采取的动作,输出下一个状态
s
t
+
1
s_{t+1}
st+1以及当前这个动作带来的奖励
r
t
r_t
rt
RL基本概念
智能体(Agent):Machine/decision maker,在环境中通过传感器感知环境,并能够通过效应器+执行器自主地作用于该环境
环境(environment):除智能体以外的实体
状态/观测(observation):某一时刻智能体感知的信息,可以理解为智能体对环境的一种理解和编码,对当前时刻环境的概括,通常包含了智能体所采取决策产生对环境影响的信息
状态空间(state space):所有可能存在状态构成的集合
动作(action):智能体(基于当前状态)可以执行的操作
动作空间(state space):所有可能动作构成的集合
奖励(reward):在智能体执行一个动作之后,环境回馈给智能体的即时信号,用于评估动作的好坏
状态转移(state transition):智能体从当前
t
t
t时刻的状态
s
t
s_t
st转移到下一个时刻的状态
s
t
+
1
s_{t+1}
st+1,数学描述:
p
t
(
s
t
+
1
∣
s
t
,
a
t
)
=
p
t
(
S
t
+
1
=
s
t
+
1
∣
S
t
=
s
t
,
A
t
=
a
t
)
p_t(s_{t+1}|s_t,a_t)=p_t(S_{t+1}=s_{t+1}|S_t=s_t,A_t=a_t)
pt(st+1∣st,at)=pt(St+1=st+1∣St=st,At=at)
注:表示在当前状态
s
t
s_t
st,智能体执行动作
a
t
a_t
at,环境的状态变为
s
t
+
1
s_{t+1}
st+1的概率;在
t
+
1
t+1
t+1时刻状态随机变量
S
t
+
1
S_{t+1}
St+1的条件概率分布
策略(policy):从状态集到动作集的映射,根据观测到的状态,如何做出决策,从动作空间中选择一个动作;假设:策略仅仅依赖于当前状态,而不依赖于历史状态,分为随机策略 π ( a ∣ s ) \pi(a|s) π(a∣s)和确定性策略
轨迹(trajectory):一个回合中,环境输出的 状态
s
s
s和奖励
r
r
r 与智能体输出的动作
a
a
a 全部组合起来,就是一个轨迹,即
τ
=
{
s
1
,
a
1
,
r
1
,
s
2
,
a
2
,
r
2
,
⋯
,
s
t
}
\tau=\left\{s_{1}, a_{1}, r_{1},s_{2}, a_{2},r_{2}, \cdots, s_{t}\right\}
τ={s1,a1,r1,s2,a2,r2,⋯,st}
回报(return):从当前时刻开始到本回合结束的所有奖励的总和,累计奖励/随机变量
U
t
U_t
Ut代表
t
t
t时刻的回报
U
t
=
R
t
+
R
t
+
1
+
R
t
+
2
⋯
+
R
n
U_t=R_t+R_{t+1}+R_{t+2}\cdots+R_n
Ut=Rt+Rt+1+Rt+2⋯+Rn
折扣回报:给未来的奖励做折扣; U t U_t Ut代表 t t t时刻的回报 U t = R t + γ R t + 1 + γ 2 R t + 2 ⋯ + R n , γ ∈ [ 0 , 1 ] U_t=R_t+\gamma R_{t+1}+\gamma^2R_{t+2}\cdots+R_n,\gamma \in[0,1] Ut=Rt+γRt+1+γ2Rt+2⋯+Rn,γ∈[0,1]
RL机器学习范式
RL作为机器学习的一部分,首先给出Machining Learing框架下的强化学习范式:
M
L
范式:
ML范式:
ML范式:
训练数据集:
D
=
{
x
i
,
y
i
}
i=1...n
训练数据集:D=\overset{\text{}}{% \left\{x_i,y_i \right\}% }% \underset{\text{i=1...n}}{}%
训练数据集:D={xi,yi}i=1...n
学习机:
f
w
(
x
)
;
f
∈
Φ
,
Φ
为决策函数集
学习机:f_{w}(x);f \in \Phi,\Phi为决策函数集
学习机:fw(x);f∈Φ,Φ为决策函数集
损失函数:
min
w
L
(
D
t
r
a
i
n
;
f
w
)
+
p
(
w
)
损失函数:\min\limits_{w}L(D_{train};f_{w})+p(w)
损失函数:wminL(Dtrain;fw)+p(w)
优化算法
:
G
r
a
d
i
e
n
t
D
e
s
c
e
n
t
,
w
t
+
1
=
w
t
−
η
∇
w
f
(
x
,
w
t
)
,
梯度引导更新参数
优化算法:Gradient\, Descent,w_{t+1}=w_t-\eta \nabla_{w} f(x,w_t),梯度引导更新参数
优化算法:GradientDescent,wt+1=wt−η∇wf(x,wt),梯度引导更新参数
R
L
范式:
RL范式:
RL范式:
训练数据集:
D
=
{
s
t
,
a
t
}
A
t
t=1...N
训练数据集:D=\overset{\text{}}{% \left\{s_t,a_t \right\} \,\,A_t% }% \underset{\text{t=1...N}}{}%
训练数据集:D={st,at}Att=1...N
学习机:
π
θ
(
a
∣
s
)
学习机:\pi_\theta(a|s)
学习机:πθ(a∣s)或者Q*
损失函数:
min
θ
L
=
∑
i
=
1
N
A
i
e
i
;
A
t
=
∑
n
=
t
N
γ
n
−
t
r
i
损失函数:\min\limits_{\theta}L=\sum_{i=1}^{N}A_ie_i;A_t=\sum_{n=t}^{N}\gamma^{n-t}r_i
损失函数:θminL=∑i=1NAiei;At=∑n=tNγn−tri
优化算法
:
,
θ
t
+
1
=
θ
t
+
η
∇
θ
E
[
R
θ
]
,
策略梯度引导更新参数
优化算法:,\theta_{t+1}=\theta_t+\eta \nabla_{\theta} E[R_\theta],策略梯度引导更新参数
优化算法:,θt+1=θt+η∇θE[Rθ],策略梯度引导更新参数
用Nerual Network来拟合策略函数 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(a∣s)
机器学习中的分类问题:
如图所示,如果要数据集有三个类别,则在最后一层接入softmax激活函数
探索与利用的平衡
随机性的两个来源:策略函数和状态转移函数
动作的随机性
动作的随机性来源于随机决策;给定当前状态
s
s
s,策略函数
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)会算出动作空间中每个动作
a
a
a的概率值,智能体执行的动作是随机抽样的结果–轮盘赌方法
状态的随机性
状态的随机性来自于状态转移函数,即使当状态
s
s
s和动作
a
a
a被确定下来,下一个状态仍然是不确定的;环境用状态转移函数
p
(
s
t
+
1
∣
s
t
,
a
t
)
p(s_{t+1}|s_t,a_t)
p(st+1∣st,at)计算出所有可能的状态的概率,然后做随机抽样,从而得到新的状态
强化学习流程:
在状态
s
t
s_t
st的观测下,通过策略函数
π
θ
(
a
∣
s
)
\pi_{\theta}(a|s)
πθ(a∣s)得到动作空间中每个动作的概率,使用轮盘赌的方式随机抽样得到
a
t
a_t
at,智能体执行动作
a
t
a_t
at,环境输入智能体的动作
a
t
a_t
at和
s
t
s_t
st,用状态转移函数
p
(
s
t
+
1
∣
s
t
,
a
t
)
p(s_{t+1}|s_t,a_t)
p(st+1∣st,at)计算所有可能状态的概率,然后做轮盘赌的随机抽样,进入下一个状态,如此循环往复,如图所示:
优化算法–策略梯度
在一场游戏里面,我们把环境输出的 s s s 与演员输出的动作 a a a 全部组合起来,就是一个轨迹,即
![](https://i-blog.csdnimg.cn/blog_migrate/76d375db8425b314dbd62e3517d13163.png)
τ = { s 1 , a 1 , s 2 , a 2 , ⋯ , s t , a t } \tau=\left\{s_{1}, a_{1}, s_{2}, a_{2}, \cdots, s_{t}, a_{t}\right\} τ={s1,a1,s2,a2,⋯,st,at}
给定演员的参数
θ
\theta
θ,我们可以计算某个轨迹
τ
\tau
τ发生的概率为
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
(
s
1
)
∏
t
=
1
T
p
θ
(
a
t
∣
s
t
)
p
(
s
t
+
1
∣
s
t
,
a
t
)
\begin{aligned} p_{\theta}(\tau) &=p\left(s_{1}\right) p_{\theta}\left(a_{1} | s_{1}\right) p\left(s_{2} | s_{1}, a_{1}\right) p_{\theta}\left(a_{2} | s_{2}\right) p\left(s_{3} | s_{2}, a_{2}\right) \cdots \\ &=p\left(s_{1}\right) \prod_{t=1}^{T} p_{\theta}\left(a_{t} | s_{t}\right) p\left(s_{t+1} | s_{t}, a_{t}\right) \end{aligned}
pθ(τ)=p(s1)pθ(a1∣s1)p(s2∣s1,a1)pθ(a2∣s2)p(s3∣s2,a2)⋯=p(s1)t=1∏Tpθ(at∣st)p(st+1∣st,at)
我们先计算环境输出
s
1
s_1
s1 的概率
p
(
s
1
)
p(s_1)
p(s1),再计算根据
s
1
s_1
s1 执行
a
1
a_1
a1 的概率
p
θ
(
a
1
∣
s
1
)
p_{\theta}\left(a_{1} | s_{1}\right)
pθ(a1∣s1),
p
θ
(
a
1
∣
s
1
)
p_{\theta}\left(a_{1} | s_{1}\right)
pθ(a1∣s1)是由策略里面的网络参数
θ
\theta
θ 所决定的。策略网络的输出是一个分布,演员根据这个分布进行采样,决定实际要采取的动作。接下来环境根据
a
1
a_1
a1 与
s
1
s_1
s1 产生
s
2
s_2
s2,因为
s
2
s_2
s2 与
s
1
s_1
s1 是有关系的,所以给定上一个状态
s
1
s_1
s1 和演员采取的动作
a
1
a_1
a1,就会产生
s
2
s_2
s2。环境在决定输出新的状态的时候有概率。
但实际上
R
(
τ
)
R(\tau)
R(τ)并不只是一个标量(scalar),它是一个随机变量,因为演员在给定同样的状态下会采取什么样的动作,这是有随机性的。环境在给定同样的观测时要采取什么样的动作,要产生什么样的观测,本身也是有随机性的,所以
R
(
τ
)
R(\tau)
R(τ)是一个随机变量。我们能够计算的是
R
(
τ
)
R(\tau)
R(τ)的期望值。给定某一组参数
θ
\theta
θ,我们可计算
r
θ
r_{\theta}
rθ 的期望值为
R
ˉ
θ
=
∑
τ
R
(
τ
)
p
θ
(
τ
)
=
1
N
∑
i
=
1
N
R
(
τ
i
)
;
τ
难以穷举,采样
N
个回合
τ
1
,
.
.
.
.
τ
N
\bar{R}_{\theta}=\sum_{\tau} R(\tau) p_{\theta}(\tau)=\frac{1}{N}\sum_{i=1}^{N}R(\tau^i);\tau难以穷举,采样N个回合\tau^1,....\tau^N
Rˉθ=τ∑R(τ)pθ(τ)=N1i=1∑NR(τi);τ难以穷举,采样N个回合τ1,....τN
我们要穷举所有可能的轨迹
τ
\tau
τ, 每一个轨迹
τ
\tau
τ 都有一个概率。
R
ˉ
θ
=
∑
τ
R
(
τ
)
p
θ
(
τ
)
=
E
τ
∼
p
θ
(
τ
)
[
R
(
τ
)
]
\bar{R}_{\theta}=\sum_{\tau} R(\tau) p_{\theta}(\tau)=\mathbb{E}_{\tau \sim p_{\theta}(\tau)}[R(\tau)]
Rˉθ=τ∑R(τ)pθ(τ)=Eτ∼pθ(τ)[R(τ)]
从分布
p
θ
(
τ
)
p_{\theta}(\tau)
pθ(τ) 采样一个轨迹
τ
\tau
τ,计算
R
(
τ
)
R(\tau)
R(τ) 的期望值,就是期望奖励(expected reward)。我们要最大化期望奖励。
因为我们要让奖励越大越好,所以可以使用梯度上升来最大化期望奖励。要进行梯度上升,我们先要计算期望奖励
R
ˉ
θ
\bar{R}_{\theta}
Rˉθ 的梯度。我们对
R
ˉ
θ
\bar{R}_{\theta}
Rˉθ 做梯度运算
∇
R
ˉ
θ
=
∑
τ
R
(
τ
)
∇
p
θ
(
τ
)
\nabla \bar{R}_{\theta}=\sum_{\tau} R(\tau) \nabla p_{\theta}(\tau)
∇Rˉθ=τ∑R(τ)∇pθ(τ)
其中,只有
p
θ
(
τ
)
p_{\theta}(\tau)
pθ(τ) 与
θ
\theta
θ 有关。
我们可以对
∇
p
θ
(
τ
)
\nabla p_{\theta}(\tau)
∇pθ(τ) 使用式(4.1),得到
∇
p
θ
(
τ
)
=
p
θ
(
τ
)
∇
log
p
θ
(
τ
)
\nabla p_{\theta}(\tau)=p_{\theta}(\tau) \nabla \log p_{\theta}(\tau)
∇pθ(τ)=pθ(τ)∇logpθ(τ)。
∇
f
(
x
)
=
f
(
x
)
∇
log
f
(
x
)
\nabla f(x)=f(x)\nabla \log f(x)
∇f(x)=f(x)∇logf(x)
接下来,我们可得
∇
p
θ
(
τ
)
p
θ
(
τ
)
=
∇
log
p
θ
(
τ
)
\frac{\nabla p_{\theta}(\tau)}{p_{\theta}(\tau)}= \nabla \log p_{\theta}(\tau)
pθ(τ)∇pθ(τ)=∇logpθ(τ)
我们对
τ
\tau
τ 进行求和,把
R
(
τ
)
R(\tau)
R(τ) 和
log
p
θ
(
τ
)
\log p_{\theta}(\tau)
logpθ(τ) 这两项使用
p
θ
(
τ
)
p_{\theta}(\tau)
pθ(τ) 进行加权, 既然使用
p
θ
(
τ
)
p_{\theta}(\tau)
pθ(τ) 进行加权 ,它们就可以被写成期望的形式。也就是我们从
p
θ
(
τ
)
p_{\theta}(\tau)
pθ(τ) 这个分布里面采样
τ
\tau
τ , 去计算
R
(
τ
)
R(\tau)
R(τ) 乘
∇
log
p
θ
(
τ
)
\nabla\log p_{\theta}(\tau)
∇logpθ(τ),对所有可能的
τ
\tau
τ 进行求和,就是期望的值(expected value)。
∇
R
ˉ
θ
=
∑
τ
R
(
τ
)
∇
p
θ
(
τ
)
=
∑
τ
R
(
τ
)
p
θ
(
τ
)
∇
p
θ
(
τ
)
p
θ
(
τ
)
=
∑
τ
R
(
τ
)
p
θ
(
τ
)
∇
log
p
θ
(
τ
)
=
E
τ
∼
p
θ
(
τ
)
[
R
(
τ
)
∇
log
p
θ
(
τ
)
]
\begin{aligned} \nabla \bar{R}_{\theta}&=\sum_{\tau} R(\tau) \nabla p_{\theta}(\tau)\\&=\sum_{\tau} R(\tau) p_{\theta}(\tau) \frac{\nabla p_{\theta}(\tau)}{p_{\theta}(\tau)} \\&= \sum_{\tau} R(\tau) p_{\theta}(\tau) \nabla \log p_{\theta}(\tau) \\ &=\mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[R(\tau) \nabla \log p_{\theta}(\tau)\right] \end{aligned}
∇Rˉθ=τ∑R(τ)∇pθ(τ)=τ∑R(τ)pθ(τ)pθ(τ)∇pθ(τ)=τ∑R(τ)pθ(τ)∇logpθ(τ)=Eτ∼pθ(τ)[R(τ)∇logpθ(τ)]
实际上期望值
E
τ
∼
p
θ
(
τ
)
[
R
(
τ
)
∇
log
p
θ
(
τ
)
]
\mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[R(\tau) \nabla \log p_{\theta}(\tau)\right]
Eτ∼pθ(τ)[R(τ)∇logpθ(τ)] 无法计算,所以我们用采样的方式采样
N
N
N 个
τ
\tau
τ并计算每一个的值,把每一个的值加起来,就可以得到梯度,即
E
τ
∼
p
θ
(
τ
)
[
R
(
τ
)
∇
log
p
θ
(
τ
)
]
≈
1
N
∑
n
=
1
N
R
(
τ
n
)
∇
log
p
θ
(
τ
n
)
=
1
N
∑
n
=
1
N
∑
t
=
1
T
n
R
(
τ
n
)
∇
log
p
θ
(
a
t
n
∣
s
t
n
)
\begin{aligned} \mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[R(\tau) \nabla \log p_{\theta}(\tau)\right] &\approx \frac{1}{N} \sum_{n=1}^{N} R\left(\tau^{n}\right) \nabla \log p_{\theta}\left(\tau^{n}\right) \\ &=\frac{1}{N} \sum_{n=1}^{N} \sum_{t=1}^{T_{n}} R\left(\tau^{n}\right) \nabla \log p_{\theta}\left(a_{t}^{n} \mid s_{t}^{n}\right) \end{aligned}
Eτ∼pθ(τ)[R(τ)∇logpθ(τ)]≈N1n=1∑NR(τn)∇logpθ(τn)=N1n=1∑Nt=1∑TnR(τn)∇logpθ(atn∣stn)
而
∇
log
p
θ
(
τ
)
=
∇
(
log
p
(
s
1
)
+
∑
t
=
1
T
log
p
θ
(
a
t
∣
s
t
)
+
∑
t
=
1
T
log
p
(
s
t
+
1
∣
s
t
,
a
t
)
)
=
∇
log
p
(
s
1
)
+
∇
∑
t
=
1
T
log
p
θ
(
a
t
∣
s
t
)
+
∇
∑
t
=
1
T
log
p
(
s
t
+
1
∣
s
t
,
a
t
)
=
∇
∑
t
=
1
T
log
p
θ
(
a
t
∣
s
t
)
=
∑
t
=
1
T
∇
log
p
θ
(
a
t
∣
s
t
)
\begin{aligned} \nabla \log p_{\theta}(\tau) &= \nabla \left(\log p(s_1)+\sum_{t=1}^{T}\log p_{\theta}(a_t|s_t)+ \sum_{t=1}^{T}\log p(s_{t+1}|s_t,a_t) \right) \\ &= \nabla \log p(s_1)+ \nabla \sum_{t=1}^{T}\log p_{\theta}(a_t|s_t)+ \nabla \sum_{t=1}^{T}\log p(s_{t+1}|s_t,a_t) \\ &=\nabla \sum_{t=1}^{T}\log p_{\theta}(a_t|s_t)\\ &=\sum_{t=1}^{T} \nabla\log p_{\theta}(a_t|s_t) \end{aligned}
∇logpθ(τ)=∇(logp(s1)+t=1∑Tlogpθ(at∣st)+t=1∑Tlogp(st+1∣st,at))=∇logp(s1)+∇t=1∑Tlogpθ(at∣st)+∇t=1∑Tlogp(st+1∣st,at)=∇t=1∑Tlogpθ(at∣st)=t=1∑T∇logpθ(at∣st)
注意,
p
(
s
1
)
p(s_1)
p(s1) 和
p
(
s
t
+
1
∣
s
t
,
a
t
)
p(s_{t+1}|s_t,a_t)
p(st+1∣st,at) 来自环境,
p
θ
(
a
t
∣
s
t
)
p_\theta(a_t|s_t)
pθ(at∣st) 来自智能体。
p
(
s
1
)
p(s_1)
p(s1) 和
p
(
s
t
+
1
∣
s
t
,
a
t
)
p(s_{t+1}|s_t,a_t)
p(st+1∣st,at) 由环境决定,与
θ
\theta
θ 无关,因此
∇
log
p
(
s
1
)
=
0
\nabla \log p(s_1)=0
∇logp(s1)=0 ,
∇
∑
t
=
1
T
log
p
(
s
t
+
1
∣
s
t
,
a
t
)
=
0
\nabla \sum_{t=1}^{T}\log p(s_{t+1}|s_t,a_t)=0
∇∑t=1Tlogp(st+1∣st,at)=0。
∇
R
ˉ
θ
=
∑
τ
R
(
τ
)
∇
p
θ
(
τ
)
=
∑
τ
R
(
τ
)
p
θ
(
τ
)
∇
p
θ
(
τ
)
p
θ
(
τ
)
=
∑
τ
R
(
τ
)
p
θ
(
τ
)
∇
log
p
θ
(
τ
)
=
E
τ
∼
p
θ
(
τ
)
[
R
(
τ
)
∇
log
p
θ
(
τ
)
]
≈
1
N
∑
n
=
1
N
R
(
τ
n
)
∇
log
p
θ
(
τ
n
)
=
1
N
∑
n
=
1
N
∑
t
=
1
T
n
R
(
τ
n
)
∇
log
p
θ
(
a
t
n
∣
s
t
n
)
\begin{aligned} \nabla \bar{R}_{\theta}&=\sum_{\tau} R(\tau) \nabla p_{\theta}(\tau)\\&=\sum_{\tau} R(\tau) p_{\theta}(\tau) \frac{\nabla p_{\theta}(\tau)}{p_{\theta}(\tau)} \\&= \sum_{\tau} R(\tau) p_{\theta}(\tau) \nabla \log p_{\theta}(\tau) \\ &=\mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[R(\tau) \nabla \log p_{\theta}(\tau)\right]\\ &\approx \frac{1}{N} \sum_{n=1}^{N} R\left(\tau^{n}\right) \nabla \log p_{\theta}\left(\tau^{n}\right) \\ &=\frac{1}{N} \sum_{n=1}^{N} \sum_{t=1}^{T_{n}} R\left(\tau^{n}\right) \nabla \log p_{\theta}\left(a_{t}^{n} \mid s_{t}^{n}\right) \end{aligned}
∇Rˉθ=τ∑R(τ)∇pθ(τ)=τ∑R(τ)pθ(τ)pθ(τ)∇pθ(τ)=τ∑R(τ)pθ(τ)∇logpθ(τ)=Eτ∼pθ(τ)[R(τ)∇logpθ(τ)]≈N1n=1∑NR(τn)∇logpθ(τn)=N1n=1∑Nt=1∑TnR(τn)∇logpθ(atn∣stn)
梯度上升:
θ
\theta
θ 加上梯度
∇
R
ˉ
θ
\nabla \bar{R}_{\theta}
∇Rˉθ,当然我们要有一个学习率
η
\eta
η,即
θ
←
θ
+
η
∇
R
ˉ
θ
\theta \leftarrow \theta+\eta \nabla \bar{R}_{\theta}
θ←θ+η∇Rˉθ
∇ R ˉ θ = 1 N ∑ n = 1 N ∑ t = 1 T n R ( τ n ) ∇ log p θ ( a t n ∣ s t n ) \nabla \bar{R}_{\theta}=\frac{1}{N} \sum_{n=1}^{N} \sum_{t=1}^{T_{n}} R\left(\tau^{n}\right) \nabla \log p_{\theta}\left(a_{t}^{n} | s_{t}^{n}\right) ∇Rˉθ=N1n=1∑Nt=1∑TnR(τn)∇logpθ(atn∣stn)
![](https://i-blog.csdnimg.cn/blog_migrate/5a0133b890fa68cbd8b7d25b6048f449.png)
更新完模型以后,我们要重新采样数据再更新模型。注意,一般**策略梯度(policy gradient,PG)**采样的数据只会用一次。我们采样这些数据,然后用这些数据更新参数,再丢掉这些数据。接着重新采样数据,才能去更新参数。
在一般的分类问题里面,我们在实现分类的时候,目标函数都会写成最小化交叉熵(cross entropy),最小化交叉熵就是最大化对数似然(log likelihood)。
![](https://i-blog.csdnimg.cn/blog_migrate/bdf1e57e6dfb3411e58a69e9884ba041.png)