1 强化学习的问题模型
在看方法之前先介绍一下强化学习对问题是如何抽象和建模的。
1.1 背景
强化学习面对的是连续决策的问题,通常可以用马尔可夫决策过程(Markov Decision Process)来描述,即 t + 1 t+1 t+1时刻的状态仅由 t t t时刻的状态 s t s_t st和采取的行为 a t a_t at来决定。
在强化学习中,可以将模型具体化为环境Environment和智能体Agent两个部分。
在时刻 t t t,处于状态 s t s_t st的Agent可以根据某种策略 π \pi π来选择所要执行的动作 a t a_t at,而环境则会根据Agent的状态和动作给出下一时刻的状态 S t + 1 S_{t+1} St+1以及这一次行为得到的奖励 R t + 1 R_{t+1} Rt+1,这样就完成了一次Agent决策、环境反馈的过程。
由此我们可以总结出强化学习重要的四元组 < S , A , P , R > <S, A, P, R> <S,A,P,R>
1.2 强化学习四元组
S S S(State)指Agent的状态空间,既可以指Agent所处的状态(比如在网格迷宫中的位置),也可以指Agent从环境中得到的信息(比如像素级的游戏画面)。如果是多Agent的情况,就要使用Observation代替State,来表示每个智能体观察到的状态。
A A A(Action)指Agent可以采取的行为空间。
P P P(Probability)指环境的转移概率函数,这个函数根据当前时刻的状态和Agent采取的动作,来给出Agent下一时刻所处的状态的转移概率,可以表示为 P : S × A × S → R P:S\times A\times S\rightarrow \mathbb{R} P:S×A×S→R。
R R R (Reward)指的是环境的奖励,即状态转移时,环境根据该函数来给Agent一个奖励。
对于有些应用,这个奖励只和状态转变有关,这个时候R函数就可以表示为 R : S × S → R R:S\times S\rightarrow \mathbb{R} R:S×S→R。
而对于有些应用,这个奖励还会和动作有关系,那么这样的R函数也可以表示为 R : S × A × S → R R:S\times A\times S\rightarrow \mathbb{R} R:S×A×S→R。
1.3 策略 Policy
所谓的策略就是根据当前所处的状态采取行为的方案,这个策略可以是固定的,即: π : S → A \pi:S \rightarrow A π:S→A,而更多时候则是一个概率分布: π : S × A → R \pi:S×A\rightarrow \mathbb {R} π:S×A→R,或者说: π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s) = P( A_t = a| S_t = s) π(a∣s)=P(At=a∣St=