赞
踩
强化学习的任务对应一个四元组:
整体的过程是,对于当前状态X,从动作集合A中选择一个动作,作用在X上,使得X按照概率转移函数P转移到另外一种状态,然后环境根据奖赏函数R对动作进行反馈。
强化学习在某种意义上可看作具有延迟标记信息的监督学习,它与监督学习不同,监督学习每个样本会有对应的标签,强化学习没有标签,而是执行完动作之后,通过反馈来判断执行动作是否正确。
在强化学习任务中,目的就是找到使长期累积奖赏最大化的策略,而长期累积奖赏有多重计算方式,常用的有两种:T步累积奖赏和
探索是我要从多个策略中,找到最优的执行方案,这需要多次随机的执行策略,而利用就是按照当前已经得到的信息,选择最优的执行方案以达到最大化奖赏。探索和利用是矛盾的,如果仅仅是探索,那么可以比较完整的得到每个策略优劣情况,但是会失去很多次执行最优方案的机会,而利用则是每次都会执行最优方案,就会对各个策略的把握不够全面,可能执行的并不是最优的策略,所以强化学习的算法一般要找到一个平衡点,平衡这两个方面。
就是
利用softmax函数去挑选执行策略,softmax函数经过指数变换之后,可以让平均奖赏比较大的执行策略有比较高的被采纳可能,同时也保证了平均奖赏低的策略还有一定被采纳的可能。对数映射然后将概率归一化的函数可以表示为:
有模型学习就是当强化学习任务中的四元组
对于每个状态x,T步累积奖赏公式为:
值迭代更新当前的Q函数(因为
事实上,每次先进行值迭代,再进行策略迭代,会比较耗时,其实可以先将值迭代至收敛,或者是奖赏变化小于设定的阈值,再进行策略迭代选择策略。
当转移概率P和奖赏函数R未知的时候,不能用有模型学习,甚至难以知道环境中有多少种状态,这时候需要免模型学习。
当P和R未知,甚至有多少种状态也未知时,只能从某一状态出发,通过不断探索,得到不同的状态和所能获得的奖赏,蒙特卡罗法从某一状态出发,使用某种策略采样,记录新的状态和所获得的奖赏,多次采样得到多条轨迹,在对累积奖赏求平均,得到最后的状态动作值函数。
根据蒙特卡罗的算法,我们需要采样出多条不同的轨迹,但是很多时候策略的选择是固定,这时候用
被评估的策略和被改进的策略都是
异策略的蒙特卡罗法是评估和改进的策略不同的算法,评估的策略采用
当函数的f的概率分布函数p可知的情况下,函数f的期望可以表示为:
利用上述的重要性采样方法,现在我们可以得到的是
时序差分的方法就是动态规划的蒙特卡罗法,蒙特卡罗法每次都要进行采样,然后采用批处理的方式计算累积奖赏的期望,其实可以采用动态的规划的方式计算,降低运算复杂度。
前面讨论的情况是在有限状态下的,如果状态在多维的连续空间下,有无穷个状态,前面的算法就不再适用,这时候要用值函数近似的方法,通过参数和模型对状态向量建模,拟合采样得出的奖赏,简单的情况例如线性函数:
类似于迁移学习,当决策的搜索空间巨大时,直接模仿人类专家的操作,在人类操作的操作上再对策略进行学习,得到更好的策略。
在很多任务中,设计奖赏函数可能相当困难,通过范例反推奖赏函数有助于解决问题。
AlphaGo的方法是一个强化学习的方法,它分为策略网络(policy network)和价值网络(value network),策略网络通过蒙特卡罗的方法对执行操作进行采样,结果通过价值网络进行评估,价值网络用卷积神经网络cnn对执行后的局面提取特征,得出一个胜率的评估,价值网络得出结果后反作用到策略网络上,重复迭代得到比较好的执行策略。
价值网络用于评估执行后的策略优劣,通过CNN在19*19的棋盘上进行特征提取,结合人的先验知识提取特征,主要包括棋子颜色,轮次,气,打吃,被打吃,征子等,将特征叠加在一起形成19*19*48的输出,对最后的输赢进行学习,得到一个输赢的概率。
策略网络主要使用蒙特拉罗树搜索的方法,跟人的思考方法类似,模拟未来棋局,然后选择在模拟中选择次数最多的走法。
两个网络迭代更新训练出比较好的策略。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。