赞
踩
强化学习(Reinforcement Learning)是机器学习的重要分支。
强化学习是指:
从环境状态从动作映射的学习,以使动作从环境中获得的累计奖赏值最大。
与监督学习不同,监督学习通过正例、反例来训练模型采用何种行为,而强化学习通过探索试错的策略发现最优行为策略。
策略的优劣取决于长期执行这一策略后所得到的累积奖赏,在强化学习任务中,学习的目的就是要找到能使长期累积奖赏最大化的策略。
policy:
- 策略决定了agent在特定时间的行为,将当前环境的状态state映射为行动action,对应于心理学中所谓的一套刺激-反应规则。
reward:
- 每一步动作,环境都会给予agent一个奖励reward,agent唯一的目标是最大化长期获得的总奖励。奖励的大小反应了事件的好坏。奖励信号是改变策略的主要依据,如果策略选择的行动是低回报的,那么在将来,可能会更改策略来选择其他的行动。
value function:
- reward只给出了在某个状态下的即时奖励,而价值函数给出的是长期的奖励。价值函数表示的是当前的奖励和后续奖励累计的总和。
model:
- 模仿环境的行为,如给定状态和行为,模型可以预测下一个状态和下一个奖励。在现实中,model可能存在,也有可能不存在。在强化学习中, model存在时称为基于模型的学习model-based,不存在时称为无模型学习model-free。
机器需通过尝试来发现各个动作产生的结果,而没有训练数据告诉机器应当做哪个动作。
最大化单步奖赏需要考虑两个方面:
单步强化学习任务对应了一个理论模型,就是==K-摇臂赌博机==
K-摇臂赌博机有K个摇臂,赌徒在投入一个硬币后可选择按下其中1个摇臂,每个摇臂以一定的概率吐出硬币。但这个概率赌徒并不知道。赌徒的目标是通过一定的策略最大化自己的奖赏,即获得最多的硬币。
仅探索:
仅利用:
softmax算法基于当前已知的摇臂平均奖赏来对探索和利用进行折中,若各摇臂的平均奖赏相当,则选取各摇臂的概率也相当;
若某些摇臂的平均奖赏明显高于其他摇臂,则它们被选取的概率也明显更高。
ϵ-贪心法基于一个概率来对探索和利用进行折中:每次尝试时,以 ϵ的概率进行探索,即以均匀概率随机选取一个摇臂;以 1- ϵ 的概率进行利用,即选择当前平均奖赏最高的摇臂(若有多个,则随机选取一个)。
softmax算法是另一种对探索和利用进行这种的算法, 它基于Blotzmann分布:
若学习任务中的四个要素都已知,即状态空间、动作空间、转移概率以及奖赏函数都已经给出,这样的情形称为“有模型学习”。
假设状态空间和动作空间均为有限,即均为离散值,这样我们不用通过尝试便可以对某个策略进行评估。
在模型已知的前提下,我们可以对任意策略的进行评估。一般常使用以下两种值函数来评估某个策略的优劣:
状态值函数(V):V(x),即从状态x出发,使用π策略所带来的累积奖赏;
状态-动作值函数(Q):Q(x,a),即从状态x出发,执行动作a后再使用π策略所带来的累积奖赏。
根据累积奖赏的定义,我们可以引入T步累积奖赏与r折扣累积奖赏:
理想的策略应能使得每个状态的累积奖赏之和最大,简单来理解就是:不管处于什么状态,只要通过该策略执行动作,总能得到较好的结果。因此对于给定的某个策略,我们需要对其进行改进,从而得到最优的值函数。
由于最优值函数的累积奖赏值己达最大,因此将对动作的求和改为取最优:
由前两小节我们知道了如何评估一个策略的值函数,以及在策略评估后如何改进至获得最优策略.
显然,将这两者结合起来即可得到求解最优解的方法:从一个初始策略(通常是随机策略)出发,先进行策略评估,然后改进策略,评估改进的策略,再进一步改进策略,……不断迭代进行策略评估和改进,直到策略收敛、不再改变为止。这样的做法称为**“策略迭代”** (policy iteration)。
策略迭代法在每次改进策略后都要对策略进行重新评估,因此比较耗时。
若从最优化值函数的角度出发,即先迭代得到最优的值函数,再来计算如何改变策略,这便是值迭代算法,算法流程如下所示:
若学习算法不依赖于环境建模,则称为免模型学习model-free learning。
在免模型情形下,策略选代算法首先遇到的问题是策略无法评估,这是由于模型未知而导致无法做全概率展开。此时只能通过在环境中执行选择的动作来观察转移的状态和得到的奖赏。
受摇臂赌博机的启发,一种直接的策略评估替代方法是多次"采样",然后求取平均累积奖赏来作为期望累积奖赏的近似,这称为蒙特卡罗强化学习,
由于采样必须为有限次数,因此该方法适合于使用T步累积奖赏的强化学习任务。
在上面的算法流程中,被评估和被改进的都是同一个策略,因此称为同策略蒙特卡罗强化学习算法。引入ε-贪心仅是为了便于采样评估,而在使用策略时并不需要ε-贪心,那能否仅在评估时使用ε-贪心策略,而在改进时使用原始策略呢?这便是异策略蒙特卡罗强化学习算法。
由于蒙特卡罗算法没有充分利用强化学习任务的MDP结构,因此效率很低, 一种结合了蒙特卡罗方法思想和动态规划的方法叫做时序差分学习(Temporal Difference, TD).
有限状态空间:值函数
无限状态空间:将值函数表达为状态的线性函数
基于线性值函数近似Sarsa:
直接模仿学习:直接模仿人类专家的状态-动作对,学习的策略模型可作为初始策略,在进行强化学习。
逆强化学习:从人类专家提供的也例数据中反推出奖赏函数,这就是逆强化学习。
《机器学习》周志华
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。