机器学习主要类型(四):强化学习
机器学习主要类型(四):强化学习 Reinforcement Learning强化学习和监督学习的不同在于,强化学习问题不需要给出“正确”策略作为监督信息,只需要给出策略的(延迟)回报,并通过调整策略来取得最大化的期望回报→强化学习和监督学习的区别:1)强化学习的样本通过不断与环境进行交互产生,即试错学习,而监督学习的样本由人工收集并标注;2)强化学习的反馈信息只有奖励,并且是延迟的,而监督学习需
机器学习主要类型(四):强化学习 Reinforcement Learning
强化学习和监督学习的不同在于,强化学习问题不需要给出“正确”策略作为监督信息,只需要给出策略的(延迟)回报,并通过调整策略来取得最大化的期望回报
→强化学习和监督学习的区别:1)强化学习的样本通过不断与环境进行交互产生,即试错学习,而监督学习的样本由人工收集并标注;2)强化学习的反馈信息只有奖励,并且是延迟的,而监督学习需要明确的指导信息(每一个状态对应的动作)
4.1马尔可夫决策过程 Markov Decision Process,MDP
→ 总回报:给定策略 π(a|s),智能体和环境一次交互过程的轨迹 τ 所收到的累积奖励
→ 折扣回报:
其中γ∈[0, 1]是折扣率,当γ接近于0时,智能体更在意短期回报;而当γ接近于1时,长期回报变得更重要
强化学习的目标是学习到一个策略来最大化期望回报(Expected Return),即希望智能体执行一系列的动作来获得尽可能多的平均回报
→ 目标函数:
4.2 K- 摇臂赌博机(老虎机)
单步强化学习任务对应的理论模型
探索:将所有尝试机会平均分配给每个摇臂(轮流按下),最后以每个摇臂各自的平均吐币概率作为其奖赏期望的近似估计,即估计摇臂的优劣
利用:按下目前最优的(平均奖赏最大)的摇臂,若有多个摇臂同为最优,则从中随机选取一个,即选择当前最优摇臂
→存在探索-利用窘境,欲累计奖赏最大,则必须在探索与利用之间达成较好的折中
4.2.1 ε-贪心
基于一个概率来对探索和利用进行折中:每次尝试时,以ε的概率进行探索,以1-ε的概率进行利用
通常令ε取一个较小的常数,如0.1、0.01,然而,若尝试次数非常大,那么在一段时间后,摇臂的奖赏都能很好地近似出来,不再需要探索,这种情形下可让ε随着尝试次数的增加而逐渐减小,例如令ε=1/√t
4.2.2 Softmax
基于当前已知的摇臂平均奖赏来对探索和利用进行折中,若某些摇臂的平均奖赏明显高于其他摇臂,则它们被选取的概率也明显更高
4.3有模型学习
多步强化学习任务,假定任务对应的马尔科夫决策过程四元组E=<X,A,P,R>均为已知,这样的情形称“模型已知”,即机器已对环境进行了建模,能在机器内部模拟出与环境相同或近似的状况,在己知模型的环境中学习称为"有模型学习"
4.3.1策略评估
状态值函数V(·):表示从状态x出发,使用策略π所带来的累积奖赏
状态-动作值函数Q(·):表示从状态x出发,执行动作a后再使用策略π所带来的累积奖赏
4.3.2策略改进
理想的策略应能最大化累积奖赏:
最优值函数:最优策略对应的值函数,(策略空间无约束时)
4.3.3策略迭代与值迭代
归结为基于动态规划的寻优问题
基于模型的强化学习,要求模型已知,且当状态数量较多时算法效率较低
策略迭代:从一个初始策略(通常是随机策略)出发,不断迭代进行策略评估和策略改进,直到策略收敛、不再改变为止
值迭代:策略改进与值函数的改进其实是一致的,策略迭代算法在每次改进策略后都要重新进行策略评估,通常比较耗时,故可将策略改进视为值函数的改善
4.4免模型学习
学习算法不依赖于环境建模(较困难)
4.4.1蒙特卡罗方法(基于采样的学习算法|模型无关的强化学习)
从起始状态出发、使用某种策略进行采样,执行该策略T步并获得轨迹<x0,a0,r0,x1,a1,r2,…,xT-1,aT-1,rT,xT>, 然后,对轨迹中出现的每一对状态-动作,记录其后的奖赏之和,作为该状态-动作对的一次累积奖赏采样值。多次采样得到多条轨迹后,将每个状态-动作对的累积奖赏采样值进行平均,即得到状态-动作值函数的估计
一般需要拿到完整的轨迹,才能对策略进行评估并更新模型,因此效率也比较低
4.4.2时序差分学习方法(强化学习的主要学习方法)
结合了动态规划与蒙特卡罗方法,更高效
时序差分学习方法是模拟一段轨迹,每行动一步 (或者几步),就利用贝尔曼方程来评估行动前状态的价值(当时序差分学习方法中每次更新的动作数为最大步数,就等价于蒙特卡罗方法)。其关键步骤就是在每次迭代中优化Q函数来减少现实和预期的差距。
→SARSA算法(属于同策略算法_采样与改进策略相同):
Q学习算法(属于异策略的时序差分学习方法_采样与改进分别使用不同策略):
4.5深度Q网络
值函数近似:为了在连续的状态和动作空间中计算值函数我们可以用一个函数来表示近似计算:≈
通常是一个参数为φ的函数(如神经网络),输出为一个实数,称为Q网络
深度Q网络:目标网络冻结(一个时间段内固定目标中的参数,来稳定学习目标),经验回放(可理解为在回忆中学习)
4.6 REINFORCE算法
结合随机梯度上升算法,每次采集一条轨迹,计算每个时刻的梯度并更新参数
带基准线的REINFORCE算法:引入一个控制变量来减少方差
4.7演员-评论员算法Actor-Critic Algorithm
是一种结合策略梯度和时序差分学习的强化学习方法,其中演员(Actor)是指策略函数,即学习一个策略来得到尽量高的回报,评论员(Critic)是指值函数,对当前策略的值函数进行估计,即评估演员的好坏。
借助于值函数,演员-评论员算法可以进行单步更新参数,不需要等到回合结束才进行更新。策略函数和值函数都是待学习的函数,需要在训练过程中同时学习。
4.8更加泛化的强化学习问题
4.8.1部分可观测马尔可夫决策过程(Partially Observable Markov Decision Processes,POMDP)
一个马尔可夫决策过程的泛化。POMDP依然具有马尔可夫性质,但是假设智能体无法感知环境的状态s,只能知道部分观测值o。比如在自动驾驶中,智能体只能感知传感器采集的有限的环境信息
4.8.2模仿学习imitation learning
1)直接模仿学习
2)逆向强化学习(Inverse Reinforcement Learning,IRL)
指一个不带奖励的马尔可夫决策过程,通过给定的一组专家(或教师)的行为轨迹示例来逆向估计出奖励函数r(s,a,s’)来解释专家的行为(使得这个范例数据是最优的),然后再进行强化学习
4.8.3分层强化学习(Hierarchical Reinforcement Learning,HRL)
将一个复杂的强化学习问题分解成多个小的、简单的子问题,每个子问题都可以单独用马尔可夫决策过程来建模。这样,我们可以将智能体的策略分为高层次策略和低层次策略,高层次策略根据当前状态决定如何执行低层次策略。这样,智能体就可以解决一些非常复杂的任务。
《机器学习主要类型》系列文章往期回顾:
机器学习主要类型(一):监督学习
机器学习主要类型(二):无监督学习
机器学习主要类型(三):半监督学习
参考书目:
周志华.《机器学习》
邱锡鹏.《神经网络与深度学习》
更多推荐
所有评论(0)