深入理解强化学习——马尔可夫决策过程:马尔可夫奖励过程-[回报]

分类目录:《深入理解强化学习》总目录


在马尔可夫过程的基础上加入奖励函数和折扣因子,就可以得到马尔可夫奖励过程(Markov Reward Process)。一个马尔可夫奖励过程由 ( S , P , r , γ ) (S, P, r, \gamma) (S,P,r,γ)构成,各个组成元素的含义如下所示:

  • S S S是有限状态的集合。
  • P P P是状态转移矩阵。
  • r r r是奖励函数,某个状态的奖励 r r r指转移到该状态时可以获得奖励的期望。
  • γ \gamma γ是折扣因子(Discount Factor), γ \gamma γ的取值范围为 [ 0 , 1 ] [0, 1] [0,1]。引入折扣因子的理由为远期利益具有一定不确定性,有时我们更希望能够尽快获得一些奖励,所以我们需要对远期利益打一些折扣。接近1的 γ \gamma γ更关注长期的累计奖励,接近0的 γ \gamma γ更考虑短期奖励。

在一个马尔可夫奖励过程中,从第 t t t时刻状态 S t S_t St开始,直到终止状态时,所有奖励的衰减之和称为回报 G t G_t Gt(Return):
G t = R t + γ R t + 1 + γ 2 R t + 2 + ⋯ = ∑ i = 0 ∞ γ i R t + i G_t=R_t+\gamma R_{t+1}+\gamma^2 R_{t+2}+\cdots=\sum_{i=0}^\infty\gamma^i R_{t+i} Gt=Rt+γRt+1+γ2Rt+2+=i=0γiRt+i

其中, R t R_t Rt表示在 t t t时刻获得的奖励。在下图中,我们在马尔可夫过程例子的基础上添加奖励函数,构建成一个马尔可夫奖励过程。例如,进入状态 s 2 s_2 s2可以得到奖励-2,表明我们不希望进入 s 2 s_2 s2,进入 s 4 s_4 s4可以获得最高的奖励10,但是进入 s 6 s_6 s6之后奖励为零,并且此时序列也终止了。
深入理解强化学习——马尔可夫决策过程:马尔可夫奖励过程-[回报]_第1张图片
比如选取 s 1 s_1 s1为起始状态,设置 γ = 0.5 \gamma=0.5 γ=0.5,采样到一条状态序列为 s 1 → s 2 → s 3 → s 6 s_1\rightarrow s_2\rightarrow s_3\rightarrow s_6 s1s2s3s6,就可以计算的回报 G 1 = 0.1 + 0.5 × ( − 2 ) + 0. 5 2 × ( − 2 ) = − 2.5 G_1=0.1+0.5\times(-2)+0.5^2\times(-2)=-2.5 G1=0.1+0.5×(2)+0.52×(2)=2.5

接下来我们用下面的代码表示上图的马尔可夫奖励过程,并且定义计算回报的函数:

import numpy as np
np.random.seed(0)
# 定义状态转移概率矩阵P
P = [
    [0.9, 0.1, 0.0, 0.0, 0.0, 0.0],
    [0.5, 0.0, 0.5, 0.0, 0.0, 0.0],
    [0.0, 0.0, 0.0, 0.6, 0.0, 0.4],
    [0.0, 0.0, 0.0, 0.0, 0.3, 0.7],
    [0.0, 0.2, 0.3, 0.5, 0.0, 0.0],
    [0.0, 0.0, 0.0, 0.0, 0.0, 1.0],
]
P = np.array(P)

rewards = [-1, -2, -2, 10, 1, 0]  # 定义奖励函数
gamma = 0.5  # 定义折扣因子


# 给定一条序列,计算从某个索引(起始状态)开始到序列最后(终止状态)得到的回报
def compute_return(start_index, chain, gamma):
    G = 0
    for i in reversed(range(start_index, len(chain))):
        G = gamma * G + rewards[chain[i] - 1]
    return G


# 一个状态序列,s1-s2-s3-s6
chain = [1, 2, 3, 6]
start_index = 0
G = compute_return(start_index, chain, gamma)
print("根据本序列计算得到回报为:%s。" % G)

输出:

根据本序列计算得到回报为:-2.5

参考文献:
[1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022

你可能感兴趣的:(深入理解强化学习,人工智能,强化学习,深度强化学习,马尔可夫决策过程,马尔科夫决策过程,马尔可夫奖励过程,马尔可夫过程)