一、前述
监督学习中,对于任意样本都提前给予了正确标签,但在实际生活中,很多情况无法给出正确的标签,需要机器自己去摸索学习得到一个好的“策略”,这一摸索的过程就可以称为强化学习。
强化学习任务通常用马尔可夫决策过程(Markov Decision Process, MDP)描述。MDP具有无后效性,也就是说系统的下个状态只与当前状态信息有关,而与更早之前的状态无关。MDP在此基础上有些变化,不止与当前状态有关,还包括了当前要采取的动作。
一个马尔可夫决策过程通常由四元组组成:M =(S,A,PSA,R)。其中S表示状态集,即这个任务中存在的所有状态。A表示动作集,即任务中所有可执行的动作。PSA表示状态转移概率,即在状态S下采用动作A变成下一个状态S‘的概率P(S’|S,A)。R表示奖赏函数,奖赏函数R(S’|S,A)表示状态S下采用动作A变成状态S’的奖励值,这一奖励值正负皆可,看S’结果而定,奖赏函数也可能只和状态的变化有关。
前面已经提过,强化学习的目的是让机器学得一个策略
π
π
π,学得策略之后就能根据当前状态决定执行什么动作能得到好的结果。这个策略有两种表示方法:一种是函数
π
π
π:S -> A,这种表示形式一般用在确定性策略上;另一种是用概率表示:
π
π
π:S × A -> R,一般随机性策略这样表示,
π
π
π(s,a)表示在状态s下执行a动作的概率,且要求
∑
a
π
(
s
,
a
)
=
1
\sum _{a}π\left( s,a\right) =1
∑aπ(s,a)=1。
策略的优劣取决于长期的累计奖赏,即反复执行的累计结果,这个累计奖赏有很多计算方式,如T步累计奖赏和
γ
γ
γ折扣累计奖赏等。
强化学习的方法可以分为Model-free和Model-based,两者区别在于,model在强化学习中的作用可以说是一个模拟现实的虚拟环境,训练过程中要做的动作可以在虚拟环境中模拟结果,在进行选择下一步的策略,而model-free只能靠等待现实世界的反馈来判断这次的行为的好坏。其中Model-free又可以分出Policy-based和Value-based。
二、部分方法概述
1、Actor
优势:
Actor属于Value-based方法,相较于Value-based的方法,Actor生成随机策略,不会像Value-based那样生成确定的最优状态,不宜适应复杂多变的现实环境。而且它可以处理连续的动作空间。
思想:
Actor使用到了函数
π
(
s
t
a
t
e
)
π(state)
π(state),通过观察当前状态来决定下一步的动作。决策函数采用神经网络学习获得,这样可以使函数具有很好的泛化性。而判断函数优劣的方式就是利用之前所提到的累计奖赏来进行判断,设累计奖赏为Rθ,一般的判断标准是观察Rθ的期望,获得Rθ的期望的最大值来获取最优策略函数,获取最大值的过程可以采用梯度上升。
计算梯度上升的过程有用到Policy Gradients,导数过程不再描述,它在进行一个行为之后会将其可能性增加,并且在行为作用结束后获得奖惩后会相应地增加或减少可能性增加的量,也就是说,如果是个好动作,增加的幅度会大,如果是坏动作,增加的幅度会大幅减少。但这种情况如果只增加没法明显分清好动作和坏动作,因此需要加一个baseline,当奖励增加超过这一值的时候,对动作概率的奖惩才是正的,否则为负的,会减少该动作在此状态下发生的概率。
2、Actor-Critic
由于基于策略的方法收敛速度慢,并且容易收敛到局部最优值,因此添加基于价值的Critic部分,Critic不决定某一状态下应该采取那个行为,它用于评价Actor的优劣,告诉它哪个部分学得好,哪个部分学的不好,这里用到了Vπ(s)函数用来计算。
Vπ函数的计算,当模型从一开始一直到指定状态s应该有的累计价值如果为G,那么Vπ需要调整函数使得Vπ的值接近G。
Actor-Critic结合了基于价值的方法和基于策略的方法,他通过Actor计算并更新策略函数,并且通过Critic更新动作的价值函数。Critic通过学习环境和奖励之间的关系,能看到现在所处的状态的潜在奖励,所以用它辅助Actor能使Actor每一步都在更新。
3、Q-Learning
Q-Learning是Critic类函数的一个例子,他的思想如下图。
此方法的目的是根据价值不断获得更优的策略。假设Q函数已经学习得,先完成当前π函数获得下一步的动作,然后计算Q函数找到一个新的更优的策略,更优的策略的标准是Vπ‘(s)>Vπ(s),而在Q-Learning中,最优策略的结果等于
a
r
g
arg
arg maxQπ(s,a),获取最优结果后,将π’作为新的π,往复学习,直到达到设定的某个阈值或理想的结果。