强化学习之Q-Learing基础
马尔可夫决策过程MDP
MDP 是一个离散时间随机控制过程。MDP提供了用于建模决策问题的数学框架,在该决策中,结果是部分随机的,并且受决策者或代理商的控制。MDP对于研究可以通过动态编程和强化学习技术解决的优化问题很有用。
- 通常MDP可以用这样的元组来定义:
( S , A , p , r ) (S,A,p,r) (S,A,p,r):- S:state set 状态集合
- A:action set动作集合
- p:状态s通过动作a转化为a’的转移概率,又称状态转移概率
- r:动作a执行后立即获得的奖励。
我们把π表示为一个“策略policy”,它是从一个状态s到一个动作a的映射。
MDP的目标就是找到一个最优的策略 π ∗ π^* π∗,使奖励函数最大化
max π E [ ∑ t = 0 T r t ( s t , π ( s t ) ) ] {\max }_{\pi } \mathbb {E} \left[{ {\sum _{t=0}^{T}} r_{t}(s_{t},\pi (s_{t})) }\right] maxπE[t=0∑Trt(st,π(st))]
最优策略 π ∗ π^* π∗ 可以作为一个”黑匣子“,也可以比作是机器学习中训练好的模型,通过下一时刻输入的状态 s t s_t st就可以根据其内部映射(s->a)
将应该采取的动作给求出来
a t = π ( s t ) a_{t} = \pi (s_{t}) at=π(st)
1)部分可观察马尔可夫决策过程POMDPs
在MDPs中,我们假设系统状态完全可以被代理观察到。然而,在很多情况下,agent只能观察系统的一部分状态,因此部分可观察的马尔可夫决策过程(POMDPs)也常用于在通信中建模决策问题。
典型的POMDP模型由6-tuple定义:
( S , A , P , R , Ω , O , γ ) (S,A,P,R,\Omega,O,\gamma) (S,A,P,R,Ω,O,γ)
- Ω 是一组观察结果集,就是代理的传感器获得的环境数据;
- O 是条件观察概率,就是代理在观察到环境数据 o 时,有多大概率确定自己处于状态s
- γ∈[0,1]是折扣因子。决定了最近的收益和未来的收益哪个对机器人影响更大
- γ=0 表示机器人只关心下一次行动中选择哪个动作可以获得最大收益,因为之后的动作收益均为0;
- γ=1 表示机器人更关心接下来所有动作的收益和。
算法工作流程:
(1) 在每个时间段 T内,代理agent的当前状态是s,根据其对当前状态s的置信度b(s)(条件观察概率)选择动作a
(2) 基于对当前状态b(s)的观察o及其置信度,代理随后更新其对新状态s′的置信度即b(s′):
-
b ( s ′ ) = O ( o ∣ s , a , s ′ ) ∑ s ∈ S p ( s ′ ∣ s , a ) b ( s ) ∑ s ′ ∈ S O ( o ∣ s , a , s ′ ) ∑ s ∈ S p ( s ′ ∣ s , a ) b ( s ) b\left( s' \right) =\frac{\mathcal{O}\left( o|s,a,s' \right) \sum_{s\in \mathcal{S}}{p}\left( s'|s,a \right) b\left( s \right)}{\sum_{s'\in \mathcal{S}}{\mathcal{O}}\left( o|s,a,s' \right) \sum_{s\in \mathcal{S}}{p}\left( s'|s,a \right) b\left( s \right)} b(s′)=∑s′∈SO(o∣s,a,s′)∑s∈Sp(s′∣s,a)b(s)O(o∣s,a,s′)∑s∈Sp(s′∣s,a)b(s)
- O ( o ∣ s , a , s ′ ) \mathcal {O} (o|s,a,s') O(o∣s,a,s′) : agent在状态s处执行动作a,其状态转移到了s′,然后在状态s’下的agent获得观测值o的概率
(3) 与MDP模型相似,POMDP中的agent也致力于寻找最优策略 π ∗ π^* π∗ ,以使其期望的长期折扣报酬
∑ t = 0 ∞ γ r t ( s t , π ∗ ( s t ) ) {\sum _{t=0}^{\infty }} \gamma r_{t}(s_{t},\pi ^{*}(s_{t})) t=0∑∞