强化学习快速入门

一.概述

  强化学习【Reinforcement Learning,RL,增强学习】这一名词来源于行为心理学,表示生物为了趋利避害而更频繁实施对自己有利的策略。强化包括正强化【positive reinforcement】和负强化【negative reinforcement】,其中正强化使得生物趋向于获得更多利益,负强化使得生物趋向于避免损害。人工智能【Artificial Intelligence,AI】领域中有许多类似的趋利避害的问题。例如,著名的围棋AI程序AlphaGo可以根据不同的围棋局势下不同的棋。如果它下的好,就会赢;下的不好,就会输。它根据下棋的经验不断改进自己的棋艺,这就和行为心理学中的情况如出一辙。所以,人工智能借用行为心理学的这一概念,把与环境交互中趋利避害的学习过程称为强化学习。

二.强化学习及其关键元素

  1.在人工智能领域中,强化学习是一类特定的机器学习问题。在一个强化学习系统中,决策者可以观察环境,并根据观察做出行动。在行动之后,能够获得奖励。强化学习通过与环境的交互来学习如何最大化奖励。

  2.强化学习的最大特点是在学习过程中没有正确答案,而是通过奖励信号来学习。

  3.一个强化学习系统中有两个关键元素:奖励和策略。

    》奖励【reward】:奖励是强化学习系统的学习目标。学习者在行动后会接收到环境发来的奖励,而强化学习的目标是最大化在长时间里的总奖励值。

    》策略【policy】:决策者会根据不同的观测决定采用不同的动作,这种从观测到动作的关系称为策略。强化学习的学习对象就是策略。强化学习通过改进策略以期最大化总奖励。策略可以是确定性的,也可以是不确定性的。

  4.强化学习与监督学习的区别

    》对于监督学习,学习者知道每个动作的正确答案是什么,可以通过逐步对比来学习;对于强化学习,学习者不知道每个动作的正确答案,只能通过奖励信号来学习。强化学习要最大化一段时间内的奖励,需要关注更长远的性能。与此同时,监督学习希望能将学习的结果运用到未知的数据,要求结果可推广、可泛化;强化学习的结果却是可以用在训练的环境中。所以,监督学习一般运用于判断、预测等任务,如判断图片的内容、预测股票价格等;而强化学习不使用于这样的任务。

  5.强化学习与非监督学习的区别

    》非监督学习旨在发现数据之间隐含的结构,而强化学习有着明确的数值目标,即奖励。它们的研究目的不同。所以,非监督学习一般用于聚类等任务,而强化学习不适用于这样的任务。

三.强化学习的应用

  1.电动游戏

    》电动游戏主要指玩家需要根据屏幕画面的内容进行操作的游戏,包括主机游戏吃豆人、PC游戏星际争霸、手机游戏刺激战场等。很多游戏需要得到尽可能高的分,或者要在多方对抗中获得胜利。同时,对于这些游戏,很难获得在每一步应该如何操作的标准答案。从这个角度来看,这些游戏的游戏AI需要使用强化学习。

  2.棋盘游戏

    》围棋、黑白翻转棋、五子棋等。通过强化学习可以实现各种棋盘运动的AI。棋盘AI有着明确的目标--提高胜率,但是每一步往往没有绝对正确的答案。著名的有AlphaGo、AlphaZero等

  3.自动驾驶

四.智能体/环境接口

  强化学习问题常用智能体/环境接口【Agent-Environment Interface】来研究。

    》智能体是强化学习系统的决策者和学习者,它可以做出决策和接受奖励信号。一个强化学习系统里可以有一个或多个智能体。我们并不需要对智能体本身进行建模,只需要了解它在不同环境下可以做出不同的动作,并接受奖励信号。

    》环境【environment】是强化学习中除智能体以外的所有东西,它是智能体交互的对象。智能体/环境接口的核心思想在于分隔主观可以控制的部分和客观不能改变的部分。

    》执行步骤:

      1.智能体观测环境,可以获得环境的观测【observation】,记为O

      2.智能体根据观测做出决策,决定要对环境施加的动作【action】,记为A

      3.环境受智能体动作的影响,改变自己的状态,记为S,并给出奖励【reward】,记为R

    在这3步中,观测O、动作A和奖励R是智能体可以直接观测到的。绝大多数的强化学习问题是按时间顺序【离散时间或连续时间】或因果顺序发生的。这类问题的特点是具有先后顺序,并且先前的状态和动作会影响后续的状态。

五.强化学习分类

  1.按任务分类

    》单智能任务&多智能任务:根据系统中智能体的数量,可以将任务划分为单智能体任务和多智能体任务。单智能体任务只有一个决策者,它能得到所有可以观察到的观测,并感知全局的奖励值;多智能任务中有多个决策者,它们只能知道自己的观测,感受到环境给它的奖励。在需要的情况下,多智能体之间可以交换信息。在多智能体任务中,不同智能体奖励函数的不同会导致它们有不同的学习目标,甚至是相互对立的。

    》回合制任务&连续性任务:对于回合制任务,例如:围棋,有明确的开始和结束状态;对于连续性任务,例如:机房的资源调度,是不间断的。

    》离散时间环境&连续时间环境:智能体和环境的交互式分步进行,那么就是离散时间环境。智能体和环境的交互是在连续的时间内进行的,那就是连续时间环境。

    》离散动作空间&连续动作空间:这个是根据决策者可以做出的动作数量来划分的。如果决策得到的动作数目是有限的,则为离散动作空间,否则为连续动作空间。例如:迷宫机器人如果只能向东南西北四个方向移动,则为离散动作空间;如果可以360度任意移动,则为连续动作空间。

    》确定性环境&非确定性环境:按照环境是否具有随机性,可以将环境分为确实性环境和非确定性环境。

    》完全可观测环境&非完全可观测环境:如果智能体可以观测到环境的全部知识,则环境是完全可观测的;否则为非完全可观测环境。例如:围棋是完全可观测的,而扑克就是非完全可观测的,因为我们不知道对手手里有哪些牌。

  2.按算法分类

    》同策学习&异策学习:同策学习是边决策边学习,学习者同时也是决策者。异策学习则是通过之前的历史【自己或别人的历史】进行学习,学习者不需要相同。在异策学习的过程中,学习者并不一定要知道当时的决策。

    》有模型学习&无模型学习:有模型学习需要对环境进行建模,在实际环境之外再搭建一套假的环境来模拟真实环境,再利用假的环境进行学习。例如:围棋AI可以虚拟一个下棋对象进行下棋,并进行学习。与之相对,无模型学习不需要关于环境的信息,不需要搭建假的环境模型,所有经验都是通过与真实环境交互得到。

    》回合更新&时序查分更新:回合更新是在回合结束后利用整个回合的信息进行更新学习;而时序查分更新不需要等回合结束,可以综合利用现有的信息和现有的估计进行更新学习。

    》基于价值&基于策略:基于价值的强化学习定义了状态或动作的价值函数,来表示到达某种状态或执行某种动作后可以达到的回报。基于价值的强化学习倾向于选择价值最大的状态或动作;基于策略的强化学习算法不需要定义价值函数,它可以为动作分配概率分布,按概率分布来执行动作。

  对于强化学习算法而言,在问题规模比较小时,能够得到精确解;当问题规模比较大时,常常使用近似的方法。

原文地址:https://www.cnblogs.com/yszd/p/11628564.html