监督学习是函数逼近。它从数据和标签中学习。并学会根据输入数据预测标签。 强化学习(RL)是另一种方法。RL在特定状态/位置/方向上要采取的动作。不管处于哪种状态,RL都会预测哪个是最好的措施。
强化学习概述
你可能听说过Google DeepMind击败了几款Atari游甚至是专业的Go玩家,甚至教人形物模拟走路。这就是在强化学习的帮助下实现的。 强化学习是机器学习的子类别,通过学习在环境中的行为而不断改进。机器学习的其他流行子类别是监督学习和无监督学习。由于为实现目标而采取的行动顺序对于眼前的问题很重要,强化学习与监督学习和无监督学习是不同的。 有监督的学习是使用基本事实完成的。因此,监督学习的目标是学习样本数据和真实结果之间的函数或映射。监督学习的流行用途包括回归和分类。 另一方面,无监督学习并没有标记为事实。因此,无监督学习的目的是在不使用明确提供的地面真相标签的情况下推断样本数据的固有结构。无监督学习的一种流行用法是聚类。 强化学习不需要预先存在的真相映射。它通过反复试验来体验环境,从而学习一种行为(一组动作)。这可以是真实环境或模拟世界。算法在环境中尝试不同的操作,直到他开始学习要采取的最佳操作为止。因此,强化学习的目标是学习最佳行为以实现目标。 强化学习成功的成功案例包括:机械臂操纵,Google DeepMind击败专业Alpha Go Player,Google DeepMind击败几款Atari游戏,Google DeepMind训练类人动物自行行走,Unity教小狗如何走路和玩耍取得成功,OpenAI团队击败了一名专业的DOTA玩家。
代理与环境
尝试了解强化学习时的第一个概念是代理与环境,其中很多过程是作为代理与环境之间的对话而发生的。你可以想象自己是视频游戏环境中的代理商。视频游戏环境就是环境。对话就是代理与环境之间来回的交流。 一个代理仅仅是可以采取行动,在不同状态间进行转换,过渡,并取得报酬的抽象概念。你可以将代理视为游戏的玩家。环境只是通过一组状态和奖励表示的抽象。环境还有一个它想要实现的目标。你可以将环境视为棋盘游戏或体育游戏-实际上是任何有目标的活动。 环境将以状态的形式展现自己。然后,代理可以通过采取措施来影响环境。采取行动后,你(代理人)可以获得某种奖励,然后再进入下一个状态。该奖励基于最新的行为组合。代理与环境之间的这种交互作用使代理能够通过体验作为其行动后果的状态和奖励来越来越多地了解环境。实际上,所有计算都是在代理程序的头部进行的。有关环境的信息只能通过代理与环境之间的交互过程来获得。代理并不完全了解环境。
未知环境
要记住,代理并不了解所有环境。你(代理)仅通过与环境的一组交互来体验环境。如果经常与环境互动,那么你可以在脑中建立某种环境模型。但是请注意,你所构建的环境模型与实际环境不一定是同一回事。换句话说,代理不了解环境,代理只是通过与环境交互来体验环境。所有的计算都在代理的大脑中进行。 如果所有环境都是已知的,那么代理将不需要进行任何学习,而是问题将是根据现有的已知环境来计划要做什么。这使我们了解了计划和学习之间的区别。当你不了解模型/环境时,就会进行学习。当确实知道模型/环境时,便会进行计划。由于你了解规划,因此可能可以在自己的家中或在当地的街道上进行规划。学习可能发生在你以前从未去过的花园迷宫或新主题公园中。只有在了解环境并建立环境模型后才能进行规划。
通过经验学习
当我们将代理放置在环境中时,该环境将具有该代理可以存在于其中的状态,并且该环境还将具有该代理可以采取的行动。该环境可以是游戏,也可以是现实世界。采取行动可以将你转移到其他状态。采取行动也可以带来回报。但是,与常规游戏相反,你不知道规则。不知道事情如何运作。甚至都不知道该怎么办。但是,你可以做的就是开始游戏,并使用这种经验来开始发现事物的工作方式。 如果你选择一个动作,那么环境会告诉你是否获得奖励以及是否移至另一种状态。有些动作可能会给带来奖励,而有些动作可能不会(取决于你的状态)。有些动作可能会更改你的状态,而有些动作可能不会更改(取决于你的状态)。例如,“向前行动”可能会使你前进;但是,如果你在墙前,“前进动作”可能不会使你前进。另一个例子是,“拾取动作”可能会拾取你下方的物体。但是,如果你下方没有任何物体,则“提货操作”可能不会有任何作用。 开始游戏时,你对这些环境规则并不了解。因此,作为代理,你只需要尝试不同的操作并查看会发生什么。此外,请记住,尽管“向前行动”或“提起行动”对你(作为有生活经验的人)可能意味着某些事情,但代理人不知道“向前行动”或“提起行动”是做什么的,并且可能最好称为“动作1”或“动作2”。你可以将代理商视为没有生活经验的婴儿。另一个例子是,代理最初不知道什么是“墙”,因此必须了解当你撞到墙时会发生什么。 如你所见,与人类相比,代理们更难以学习对应不同状态的动作。最终,代理可能会了解环境的工作方式。这种理解可能是正确的,也可能是错误的,或者更可能介于两者之间。所知道的是,你希望最大程度地增加一直以来获得的奖励。
奖励最大化
对于在某个状态下执行的每项操作,你都会获得奖励。你可以将奖励视为正面奖励,负面奖励或中性奖励。奖励越高越好。如果你赢了游戏,则可能会获得极高的正面奖励。如果陷入困境,则可能会输掉比赛并获得极其负面的回报。在此过程中,可以获得较小的正面和负面奖励。例如,如果更接近目标,那么每次接近目标时,你都会获得少量的正回报。另一方面,如果你在电子游戏中失去健康或在国际象棋比赛中失去了棋子,那么可能会得到少量的负面奖励。某些动作可能根本不会影响你的目标,因此也可能会收到零的中立奖励。 在体验期间,也会获得一定的奖励,这就是所谓的return 。与环境互动的目标是使总回报最大化。因此,可能会进行一次视频游戏,如果进入维修站,就会输掉游戏,这很可能导致较低的总回报。同一视频游戏的另一次运行可能会尝试其他操作(例如跳跃),这可能导致不掉入维修区并获得更高的总回报。通过反复试验,代理可以了解在某些状态下什么是好行为,什么是坏行为。
随机环境
到目前为止,我们一直在考虑确定性环境,其中任何状态动作对都会发生相同的情况。但是,如果对于给定的状态-动作对有时发生不同的事情怎么办?这就是我们所说的随机环境。大多数现实生活环境都是随机的。如果你穿过十字路口且有来往的车辆,那么将不会向前行驶,否则你的车将与另一辆汽车相撞。因此,在给定状态下(例如,相交处),同一件事并不一定总是通过一个动作发生。为了解决这个问题,我们会创建了一个概率模型,该模型可以说有20%的时间有迎面而来的流量,而有80%的时间没有迎面而来的流量。随机环境的这一部分就是所谓的概率转移函数。 建模环境的一种好方法是通过马尔可夫决策过程(MDP)。
固定政策
通过强化学习算法,我们正在尝试学习行为。我们正在尝试学习一种与环境互动的方法,该方法可以收集高额报酬。你可能通过计划或条件计划来表示的行为,但是强化学习算法倾向于将行为表示为通用计划(又称固定策略)。 计划是固定的动作序列。假设没有人流并且所有的停车灯都是绿色的,那么你要做的就是按照计划从工作地点回家(例如,“左”,“左”,“上”,“左”,“左”,“下”。但是,这些假设在现实生活中并不总是适用。一个路口可能会有交通,因此最好有条件的计划。有条件的计划允许你在特定状态下选择不同的操作。大部分计划是固定的,但可能会有一个或两个条件状态根据条件提供不同的操作。 另一方面,通用计划类似于条件计划,不同之处在于它对每个环境都有一个条件。这与计划或条件计划不同,后者仅需担心从A点到B点的状态。通用计划将在环境中的每个状态下都有一组条件操作。如果环境是城市,并且你的目标是从工作到家,那么将在城市中的每个路口处有条件地采取一系列行动。你将知道在环境中的每个状态下该怎么做,而不仅是达到目标的状态列表。 强化学习关注固定策略,因为它们使我们能够表达最佳行为。这非常强大,但又非常复杂,这使得大型状态空间变得很困难。想象一下一个无限大的连续状态空间。深度强化学习是解决这一庞大问题的一种方法。
开发与探索
强化学习算法中出现的一个一般主题是开发与探索。如果你的算法始终在利用模型知识,那么它可能只会找到局部最优值,因为它忽略了可能产生更高回报的其他最优点。这就是探索的源头。如果你想发现是否还有其他本地最优条件要比已经找到的最优方法更好,那么就需要去探索。这并不意味着你应该一直探索或者一直都在探索,而是应该在两者之间找到平衡。
转载自:https://www.quora.com/What-is-the-difference-between-supervised-learning-and-reinforcement-learning