强化学习p1-基本概念

Terminologies(名词)

状态(State)
每个时刻,环境有一个状态 (state),可以理解为对当前时刻环境的概括
状态(State) 有时也被称为观测(Observation),因为有时智能体并不能观测到环境改变后的全部,只能观测到部分。

环境(Environment)
环境 (environment) 是与智能体进行交互的对象,可以抽象地理解为交互过程中的规则或机制。

动作(Action)
动作 (action) 是智能体基于当前状态所做出的决策。

智能体(Agent)
强化学习的主体被称为智能体 (agent)。通俗地说,由谁做动作或决策,谁就是智能体。

状态空间(State Space)
状态空间 (state space) 是指所有可能存在状态的集合,记作花体字母 S。
状态空间可以是离散的,也可以是连续的。状态空间可以是有限集合,也可以是无限可数集合。

动作空间(Action Apace)
动作空间 (action space) 是指所有可能动作的集合,记作花体字母 A
动作空间可以是离散集合或连续集合,可以是有限集合或无限集合。

策略(Policy)
**策略 (policy)**根据观测到的状态,如何做出决策,即如何从动作空间中选取一个动作。
π ( a ∣ s ) = P ( A = a ∣ S = s ) π(a|s) = P(A=a|S=s) π(as)=P(A=aS=s)
强化学习的目标就是得到一个策略函数 (policy function),也叫π函数 ( function) ,在每个时刻根据观测到的状态做出决策。策略可以是确定性的,也可以是随机性的,两种都非常有用。

奖励(Reward)
奖励 (reward) 是指在智能体执行一个动作之后,环境返回给智能体的一个数值。奖励往往由我们自己来定义,奖励定义得好坏非常影响强化学习的结果。

状态转移(State transition)
状态转移 (state transition) 是指智能体从当前 t t t时刻的状态 s s s转移到下一个时刻状态为 s ′ s' s的过程
我们用状态转移概率函数 (state transition probability function) 来描述状态转移,记作
p t ( s ′ ∣ s , a ) = P ( S t + 1 ′ = s ′ ∣ S t = s , A t = a ) p_t(s'|s,a) = P(S'_{t+1}=s'|S_t=s,A_t=a) pt(ss,a)=P(St+1=sSt=s,At=a)

表示这个事件的概率: 在当前状态 s s s ,智能体执行动作 a a a,环境的状态变成 s ′ s' s
在这里插入图片描述
马尔可夫决策过程 (Markov decision process, MDP)

强化学习的数学基础和建模工具是马尔可夫决策过程 (Markov decision process,MDP)
一个 MDP 通常由状态空间、动作空间、状态转移函数、奖励函数、折扣因子等组成。

Return and Value

回报(Return)
回报 (return) 是从当前时刻开始到本回合结束的所有奖励的总和,所以回报也叫做累计奖励 (cumulative future reward)

t t t时刻的回报记作随机变量 U t U_t Ut。如果一回合游戏结束,已经观测到所有奖励,那么就把回报记作 u t u_t ut。设本回合在时刻 n n n结束。定义回报为:
U t = R t + R t + 1 + R t + 2 + R t + 3 + . . . + R n U_t = R_t+R_{t+1}+R_{t+2}+R_{t+3}+...+R_{n} Ut=Rt+Rt+1+Rt+2+Rt+3+...+Rn

回报是未来获得的奖励总和,所以智能体的目标就是让回报尽量大,越大越好。强化学习的目标就是寻找一个策略,使得回报的期望最大化。这个策略称为最优策略 (optimum policy)。

折扣回报(Discounted Return)

在 MDP 中,通常使用折扣回报 (discounted return),给未来的奖励做折扣。折扣回报的定义如下:
U t = R t + γ R t + 1 + γ 2 R t + 2 + γ 3 R t + 3 + . . . U_t = R_t+\gamma R_{t+1}+\gamma ^2R_{t+2}+\gamma ^3R_{t+3}+... Ut=Rt+γRt+1+γ2Rt+2+γ3Rt+3+...
这里的 γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]叫折扣率。对待越久远的未来,给奖励打的折扣越大。
t t t时刻当前状态 s t s_t st和策略函数 π ( a ∣ s ) \pi(a|s) π(as)选取动作 a t a_t at然后状态转移 p t ( s ′ ∣ s , a ) = P ( S t + 1 ′ = s ′ ∣ S t = s , A t = a ) p_t(s'|s,a) = P(S'_{t+1}=s'|S_t=s,A_t=a) pt(ss,a)=P(St+1=sSt=s,At=a)选取新的状态 S t + 1 ′ = s ′ S'_{t+1}=s' St+1=s
奖励 R i R_i Ri只依赖于 S i S_i Si A i A_i Ai

动作价值函数(Action-value function)
假设我们已经观测到状态 s t s_t st,而且做完决策,选中动作 a t a_t at。那么 U t U_t Ut中的随机性来自于 t + 1 t+1 t+1时刻起的所有的状态和动作: S t + 1 , A t + 1 , S t + 2 , A t + 2 , . . . , S n , A n S_{t+1},A_{t+1},S_{t+2},A_{t+2},...,S_{n},A_{n} St+1,At+1,St+2,At+2,...,Sn,An
U t U_t Ut关于变量 S t + 1 , A t + 1 , S t + 2 , A t + 2 , . . . , S n , A n S_{t+1},A_{t+1},S_{t+2},A_{t+2},...,S_{n},A_{n} St+1,At+1,St+2,At+2,...,Sn,An求条件期望,得到
Q π ( s t , a t ) = E S t + 1 , A t + 1 , S t + 2 , A t + 2 , . . . , S n , A n [ U t ∣ S t = s t , A t = a t ] Q_\pi(s_t,a_t)=E_{{S_{t+1},A_{t+1},S_{t+2},A_{t+2},...,S_{n},A_{n}}}[U_t | St=s_t,A_t=a_t] Qπ(st,at)=ESt+1,At+1,St+2,At+2,...,Sn,An[UtSt=st,At=at]
期望中的 S t = s t S_t=s_t St=st A t = a t A_t=a_t At=at是条件,意思是已经观测到 S t S_t St A t A_t At的值。条件期望的结果 Q π ( s t , a t ) Q_\pi(s_t,a_t) Qπ(st,at)被称作动作价值函数 (action-value function)。
动作价值函数 Q π ( s t , a t ) Q_\pi(s_t,a_t) Qπ(st,at)依赖于 s t s_t st a t a_t at,而不依赖于 t + 1 t+1 t+1时刻及其之后的状态和动作,因为随机变量 S t + 1 , A t + 1 , S t + 2 , A t + 2 , ⋯   , S n , A n S_{t+1},A_{t+1},S_{t+2},A_{t+2},\cdots,S_{n},A_{n} St+1,At+1,St+2,At+2,,Sn,An都被期望消除了。
作用:根据策略 π , Q π ( s , a ) \pi,Q_\pi(s,a) π,Qπ(s,a)来估计当前状态 s s s对于智能体选择动作 a a a是否明智,得到好的效果

最优动作价值函数(Optimal action-value function)

最优动作价值函数 Q ∗ ( s t , a t ) Q^*(s_t,a_t) Q(st,at)用最大化消除策略 π \pi π:
Q ∗ ( s t , a t ) = m a x π Q π ( s t , a t ) Q^*(s_t,a_t)=max_\pi Q_\pi(s_t,a_t) Q(st,at)=maxπQπ(st,at)
Q ∗ Q^* Q可以对当前状态 s s s对执行动作 a a a做评测

状态价值函数(State-value function)

状态价值函数 (state-value function):
V π ( s t ) = E A t ∼ π ( . ∣ s t ) [ Q π ( s t , A t ) ] = ∑ a ∈ A π ( a ∣ s t ) Q π ( s t , a ) V_\pi(s_t)=E_{A_{t\sim\pi(.|s_t)}}[Q_\pi(s_t,A_t)]=\sum \limits_{a\in A}\pi(a|s_t)Q_\pi(s_t,a) Vπ(st)=EAtπ(.∣st)[Qπ(st,At)]=aAπ(ast)Qπ(st,a)
公式里把动作 A t A_t At作为随机变量,然后关于 A t A_t At 求期望,把 A t A_t At消掉。得到的状态价值函数 V π ( s t ) V_\pi(s_t) Vπ(st) 只依赖于策略 π \pi π与当前状态 s t s_t st,不依赖于动作
状态价值函数 V π ( s t ) V_\pi(s_t) Vπ(st) 也是回报 U t U_t Ut 的期望: V π ( s t ) = E S t + 1 , A t + 1 , S t + 2 , A t + 2 , . . . , S n , A n [ U t ∣ S t = s t ] V_\pi(s_t) = E_{{S_{t+1},A_{t+1},S_{t+2},A_{t+2},...,S_{n},A_{n}}}[U_t | St=s_t] Vπ(st)=ESt+1,At+1,St+2,At+2,...,Sn,An[UtSt=st] 期望消掉了 U t U_t Ut 依赖的随机变量 S t + 1 , A t + 1 , S t + 2 , A t + 2 , . . . , S n , A n S_{t+1},A_{t+1},S_{t+2},A_{t+2},...,S_{n},A_{n} St+1,At+1,St+2,At+2,...,Sn,An状态价值越大,就意味着回报的期望越大。用状态价值可以衡量策略 π \pi π与状态 s t s_t st的好坏。
作用:根据策略 π , V π ( s ) \pi,V_\pi(s) π,Vπ(s)来估计当前状态 s s s是好是坏,策略 π \pi π固定,状态 s s s越好 V V V的值越大。
E s [ V π ( S ) ] E_s[V_\pi(S)] Es[Vπ(S)]来评估策略 π \pi π的效果

如何控制智能体agent的动作?
法一 策略 π ( a ∣ s ) \pi(a|s) π(as)
观察状态 s t s_t st,随机选择动作 a t ∼ π ( . ∣ s t ) a_t\sim \pi( .|s_t) atπ(.∣st)
法二 动作价值函数 Q ∗ ( s , a ) Q^*(s,a) Q(s,a)
观察状态 s t s_t st,选择最大价值的动作 a t = a r g m a x a Q ∗ ( s t , a ) a_t = argmax_aQ^*(s_t,a) at=argmaxaQ(st,a)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值