Skip to content

在环境 environment 中,智能体 agent 处于某个状态 state,它以一定概率 π(a|s) 执行不同行为 action,每次执行行为都有概率 p(r|s,a) 获得奖励 reward,并有概率 p(s|s,a) 变成为下一个状态。为了获得最大奖励,智能体通过估计从每个状态出发或执行每个行为能获得的未来奖励总和 value,来更新它的行为决策概率分布 policy。这就是强化学习的过程。

价值计算

智能体执行一系列行为后,可以得到一条路径:

StAtSt+1At+1St+2At+2...

为了估计价值 value,我们把每次行为获得的奖励相加:

Rt+1+Rt+2+Rt+3+...

由于智能体可以进行无数次行为,求得奖励总和是无穷大。所以引入折扣因子,即赋予最近的奖励更大的权重:

Gt=Rt+1+γRt+2+γ2Rt+3+

由于智能体每次都可能执行不同行为,进而得到不同的奖励总和 Gt,所以使用期望值表示状态价值,其中 s 表示初始状态:

vπ(s)=E[Gt|St=s]

为了理解不同状态间的关系,将 v(s) 拆分为及时奖励和未来奖励:

vπ(s)=E[Rt+1+γGt+1|St=s]=E[Rt+1|St=s]+γE[Gt+1|St=s]=aπ(a|s)rp(r|s,a)r+γaπ(a|s)sp(s|s,a)vπ(s)=aπ(a|s)[rp(r|s,a)r+γsp(s|s,a)vπ(s)]

这就得到了贝尔曼方程。

INFO

如果我们更关心采取什么行为能获得最大奖励,那就需要计算行为价值 q(s,a),它表示在状态 s 下执行行为 a 后获得的奖励总和:

qπ(s,a)=E[Gt|St=s,At=a]=rp(r|s,a)r+sp(s|s,a)vπ(s)

由此得到 qπ(s,a)vπ(s) 的关系:

vπ(s)=aπ(a|s)qπ(s,a)

Bellman equation, 贝尔曼方程

vπ(s)=aπ(a|s)[rp(r|s,a)r+γsp(s|s,a)vπ(s)]

贝尔曼方程中有两种概率分布:PolicyModel,策略决定行为,环境模型决定奖励和状态转移。

对方程进一步简化得到,其中 si 表示初始状态,sj 表示下一个状态:

vπ(si)=rπ(si)+γsjp(sj|si)vπ(sj),i,j=1,2,3,

进而得到矩阵形式:

[vπ(s1)vπ(s2)vπ(sn)]=[rπ(s1)rπ(s2)rπ(sn)]+γ[p(s1|s1)p(s2|s1)p(sn|s1)p(s1|s2)p(s2|s2)p(sn|s2)p(s1|sn)p(s2|sn)p(sn|sn)][vπ(s1)vπ(s2)vπ(sn)]vπ=rπ+γPπvπ

其中 Pπ 表示状态转移矩阵。通过这个方程我们发现任意策略 π 都对应唯一的状态价值向量 vπ,表示在策略 π 下执行无数次行为后在各状态获得的奖励总和:

vπ=(IγPπ)1rπ

Bellman optimality equation, 贝尔曼最优方程

最优策略 π 指其状态价值向量 vπ 中的每一项都比其他策略 π 状态价值向量 vπ 中的对应项都更大。

找最优策略就是求解贝尔曼最优方程,它表示最优策略 π 对应的贝尔曼方程:

v=maxπ(rπ+γPπv)v(s)=maxπaπ(a|s)q(s,a),sS

可以发现 v(s)q(s,a) 的加权平均,其中权重由 π(a|s) 决定。所以一个最优策略一定只会选择 q(s,a) 最大的行为 a,即为 a 权重赋 1。

根据贝尔曼最优公式的性质,通过不断迭代可以获得最优策略。

参考资料