强化学习读书笔记 - 03 - 有限马尔科夫决策过程
学习笔记:
Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016
代理-环境接口(The agent-environment interface)
代理(agent) - 学习者或者决策者
环境(environment) - 代理外部的一切,代理与之交互。
情节性任务(Episodic Tasks)和连续任务(Continuing Tasks)
情节性任务(Episodic Tasks),所有的任务可以被可以分解成一系列情节。逻辑上,可以看作为有限步骤的任务。
连续任务(Continuing Tasks) ,所有的任务不能分解。可以看作为无限步骤任务。
马尔科夫属性(The Markov property)
state - 马尔科夫属性,表示当前环境的状态。
举个例子:一个国际象棋的state可能包含:棋盘上所有棋子的位置,上一步的玩家,上一步的走法。
看看下面的公式:
这个公式在计算下一步(状态是s ′ 、奖赏是r )的概率。
并说明这个概率是由至今为止所有的状态S ∗ ,行动A ∗ 和奖赏R ∗ 决定的。
P r { s t + 1 = s ′ , R t + 1 = r | S 0 , A 0 , R 1 , S 1 , A 1 , … , R t , S t , A t }
如果,我们有马尔科夫属性state,有了现在环境的所有状态,那么上面的公式可以简化为:
这个公式的含义是下一步(状态是s ′ 、奖赏是r )的概率是由马尔科夫属性s 和行动a 决定的 。
p ( s ′ , r | s , a ) = P r { S t + 1 = s ′ , R t + 1 = r | S t = s , A t = a }
马尔科夫决策过程 - 数学模型
马尔科夫决策过程是一个强化学习问题的数学描述模型。
这个数学模型可以从几个视图来学习。
状态(state)-行动(action)-奖赏(reward)视图
目标(goal)-奖赏(reward)视图
决策过程视图
策略(policy)视图
状态(state)-行动(action)-奖赏(reward)视图
Markov Decision Processes - Terms
Markov Decision Processes - Terms
state
s
(state)
state1
s'
(state)
state->state1
r
(reward)
a
(action)
这是一个马尔科夫抉择过程的基本视图。
描述agent在状态
s 下,选择了行动
a ,状态变为
s ′ ,获得了奖赏
r 。
这个很容易理解,说明奖赏是行动引起状态转变后得到的。
举个特殊例子:天上掉馅饼的过程:行动是等待;新状态是获得馅饼。
目标(goal)-奖赏(reward)视图
Markov Decision Processes - Goal
Markov Decision Processes - Goal
S2
...
S_t
S_t
S2->S_t
S_t_1
S_t+1
S_t_2
...
S_t_1->S_t_2
R_t+2
A_t+1
S0
S0
S1
S1
S0->S1
R1
A0
S1->S2
R2
A1
S_t->S_t_1
R_t+1
A_t
奖赏假设(reward hypothesis) - 目标就是:最大化长期累计奖赏的期望值。
注:不是立即得到的奖赏。
回报
G t :
G t ≐ ∞ ∑ k = 0 γ k R t + k + 1 w h e r e γ - is a parameter, discount rate, 0 ⩽
\gamma 折扣率决定了未来奖赏的当前价值:
在k步之后的一个奖赏,如果换算成当前奖赏,需要乘以它的
\gamma^{k-1} 倍。
情节性任务(episodic tasks)的回报计算
G_t \doteq \sum_{k=0}^{T-t-1} \gamma^k R_{t+k+1} \quad (T = \infty \text{ or } \gamma = 1 \text{ (but not both)}) \\
where \\
T \ne \infty \text{ - case of episodic tasks} \\
T = \infty \text{ - case of continuing tasks}
决策过程视图
Reinforcement Learning - Markov Decision Processes
Reinforcement Learning - Markov Decision Processes
s
s
a
s->a
a
a_2
s->a_2
a_2
s_1
s'
s_2
s_2'
r
a->r
p(s'|s,a)
r_3
a->r_3
p(s_2'|s,a)
r_4
a_2->r_4
r->s_1
p(s',r|s,a),r
r->s_1
p(s',r'|s,a),r'
r'
r_3->s_2
r_4->s_1
上图说明了:
状态s 下,采取行动a ,转变成新状态s' ,是由概率p(s' | s, a) 决定的。
状态s 下,采取行动a ,转变成新状态s' ,获得的奖赏r ,是由概率p(s', r | s, a) 决定的。
引起状态s 到状态s' 的转变行动,不一定是唯一的。
相应的数学定义和公式
在状态s 下,执行行动a ,转变为状态s' 并获得奖赏r 的可能性:
p(s', r | s, a) \doteq Pr \{S_{t+1} = s', R_{t+1} = r | S_t = s, A_t = a \}
在状态s 下,执行行动a 的期望奖赏:
r(s,a) \doteq \mathbb{E}[R_{t+1} | S_t = s, A_t = a] = \sum_{r \in \mathcal{R}} r \sum_{s' \in \mathcal{S}} p(s', r|s,a)
在状态s 下,执行行动a ,转变为状态s' 的可能性:
p(s' | s,a) \doteq Pr \{S_{t+1} = s' | S_t=s, A_t=a \} = \sum_{r \in \mathcal{R}} p(s',r | s,a)
在状态s 下,执行行动a ,转变为状态s' 的期望奖赏:
r(s,a,s') \doteq \mathbb{E}[R_{t+1} | S_t = s, A_t = a, S_{t+1} = s'] = \frac{\sum_{r \in \mathcal{R}} r p(s',r|s,a)}{p(s'|s,a)}
策略视图
强化学习的目标是找到(可以获得长期最优回报)的最佳策略。
\pi - 策略(policy)。
\pi - 策略(policy)。强化学习的目标:找到最优策略 。
策略规定了状态s 时,应该选择的行动a 。
\pi = [\pi(s_1), \cdots, \pi(s_n)]
\pi(s) - 策略\pi 在状态s 下,选择的行动。
\pi_* - 最优策略(optimal policy)。
\pi(a | s) - 随机策略 \pi 在状态s 下,选择的行动a 的概率。
价值方法(Value Functions)
使用策略\pi ,状态价值方法 - state-value function
v_{\pi}(s) \doteq \mathbb{E}[G_t | S_t = s] = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s \right ] \\
where \\
\pi \text{ - polity} \\
\mathbb{E}_{\pi}[\cdot] \text{ - the expected value of a value follows policy } \pi
使用策略\pi ,行动价值方法 - action-value function
q_{\pi}(s,a) \doteq \mathbb{E}[G_t | S_t = s, A_t = a] = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s, A_t = a \right ] \\
使用策略\pi ,迭代状态价值方法 - iterative state-value function
a.k.a Bellman equation for v_{\pi}
\begin{align}
v_{\pi}(s)
& \doteq \mathbb{E}[G_t | S_t = s] \\
& = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s \right ] \\
& = \mathbb{E}_{\pi} \left [ R_{t+1} + \gamma\sum_{k=0}^{\infty} \gamma^k R_{t+k+2} | S_t = s \right ] \\
& = \sum_{a} \pi(a|s) \sum_{s'} \sum_{r} p(s',r|s,a) \left [ r + \gamma\mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+2} | S_{t+1} = s' \right ] \right ] \\
& = \sum_{a} \pi(a|s) \sum_{s',r} p(s',r|s,a) \left [ r + \gamma v_{\pi}(s') \right ], \ \forall s \in \mathcal{S}
\end{align}
最优价值方法(Optimal Value Functions)
最优状态价值方法 - optimal state-value function
v_*(s) \doteq \underset{\pi}{max} \ v_{\pi}(s), \forall s \in \mathcal{S}
最优行动价值方法 - optimal action-value function
q_*(s, a) \doteq \underset{\pi}{max} \ q_{\pi}(s, a), \ \forall s \in \mathcal{S} \ and \ a \in \mathcal{A}(s)
最优的行为价值等于最优的状态价值下的最大期望:
q_*(s,a) = \mathbb{E}[R_{t+1} + \gamma v_* (S_{t+1}) \ | \ S_t = s, A_t = a]
最优状态价值迭代方法 - interval optimal state-value function
\begin{align}
v_*(s)
& = \underset{a \in \mathcal{A}(s)}{max} \ q_{\pi_*}(s, a) \\
& = \underset{a}{max} \ \mathbb{E}_{\pi*} [G_t \ | \ S_t=s, A_t=a] \\
& = \underset{a}{max} \ \mathbb{E}_{\pi*} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \ | \ S_t=s, A_t=a \right ] \\
& = \underset{a}{max} \ \mathbb{E}_{\pi*} \left [ R_{t+1} + \gamma\sum_{k=0}^{\infty} \gamma^k R_{t+k+2} \ | \ S_t=s, A_t=a \right ] \\
& = \underset{a}{max} \ \mathbb{E}[R_{t+1} + \gamma v_*(S_{t+1}) \ | \ S_t=s, A_t=a ] \\
& = \underset{a \in \mathcal{A}(s)}{max} \sum_{s',r} p(s',r|s,a)[r + \gamma v_*(s')] \\
\end{align}
参照
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步