一较高下:全方面感知强化学习!
点击上方关注,All in AI中国
作者:Hunter Heidenreich
如果你还没有阅读过强化学习的入门书籍,请查看此处进行一下了解。
(https://recast.ai/blog/the-future-with-reinforcement-learning-part-1/)
这篇文章将为你提供有关强化学习的关键概念。然后,你将对不同类型的机器学习有一个比较全面的理解。
强化学习与其他机器学习类型的比较
机器学习三大类的高级细分
你可能已经听说过其他类型的机器学习,例如,监督学习、无监督学习等。了解强化学习(RL)与它们的不同之处是掌握机器学习环境的好方法。
(1)监督学习
最容易掌握的机器学习类型是监督学习。监督学习是采用标签的学习。例如图像分类就是一种监督学习。采用一个基于标签的图像算法,系统可以将图像分类为猫或狗。该算法通过观察训练集来学习,然后可以正确地推断出未知图像的主题。
监督学习问题的另一个例子就是回归问题。在回归问题中,你需要获取一组参数,并根据这些参数估计实际的连续值。例如,你可以获取有关房屋的信息(房间数量、面积,窗户数量等)并输出价格。我们知道很多房子的价格,并且可以将这些标签的例子提供给算法。然后,当你向系统提供一个新房信息时,它可以自行估算出价格。这些问题是易于监督的学习问题的框架。
(2)无监督学习
使用无监督学习,我们可以找到数据中的底层模式
另一方面,我们还可以用无监督学习:没有标签的学习。一个很好的例子是客户购买数据,并将客户分组为具有类似购买模式的类别。你的算法会进行分组,可以向特定类别的人推荐产品。我们不会告诉算法标签或类别名称是什么,我们只需提交数据,它就会根据数据中的模式创建组。无监督学习也广泛用于大量复杂数据的可视化。它使人们更容易看到一个图像中的所有信息。
强化学习
强化学习经常被描述为介于监督学习和无监督学习之间的学习类型。具有时间延迟标签,当它学习在环境中交互时,赋予算法。其算法基于如何表达学习问题来学习。这正是强化学习在实时决策、视频游戏人工智能、机器人导航和其他复杂任务等方面表现优异的原因。关键是让系统能够根据当前的环境状态了解哪些决策是好的,哪些决定是坏的。
应用这些概念
在以前的文章中,我们介绍了强化学习的基本概念。以下以具体实例的形式对我们迄今为止所涵盖的内容进行了一些总结:
我们假设把一只老鼠放在迷宫中,这只老鼠将成为我们的代理。首先,我们将检查这个代理需要的东西:
•目标:老鼠的目标是最大限度地获得奶酪的数量。
•操作:老鼠可以在四个基本方向中随意行动。
•感官:老鼠可以观察它所处的环境状态(入口、没有奶酪、小奶酪、两个小奶酪、大奶酪和死亡)。对于这个简单示例来说,只有对环境状态进行一下简单了解就足够了。
老鼠探索奶酪简单示例
此外,让我们看一下问题的子元素,看看它们是如何衡量的:
•策略:在任何给定的状态下,老鼠采取哪四种行动?
•奖励信号:正面(获得奶酪,但奶酪有多大?),中立(没有任何状态),消极(死亡状态,已经结束游戏)。
•价值函数:这是老鼠即时构建和维护的东西。它可以通过迭代过程或通过迷宫的许多运行进行调整。
•模型:如果允许老鼠知道其环境的大小,它可以将其模型存储在其内存中。我们可以将这个世界表示为2D网格(数组),允许老鼠在给定网格方格中填写是否存在正值、负值或无奖励,并观察实际环境。
让我们剖析代理可能采用的一个基本的贪婪政策:
其中一项政策是Q表战略。Q表代表"质量表"。它是一个行动和状态表,以及与它们相关的奖励。我们可以采用一种基本策略,即当遇到一个状态时,选择能给代理带来最大回报的行动。当代理不知道什么会给予最大回报时,可以随机选择一个行动。
基本的Q表,其中行是潜在的状态,列是代理可以采取的行动
在开始时,Q表是空的。老鼠什么都不知道,它将随机选择其策略,例如可以向右移动并找到少量的奶酪,这很好,它会收到奖励信号!Q表会相应更新,老鼠会继续选择行动,直到它耗尽所有可能性或已经死亡。
老鼠得到一些奶酪
你可能已经看到一个问题:当我们重新启动迷宫时,老鼠始终倾向于朝向小奶酪前进,从不选择未知的替代品。这被称为探索与利用之间的权衡,但我们稍后再来讨论它。
更新Q表获得收到的奖励
现在我们已经可视化这些组件如何协同工作,让我们深入了解希望解决的任何强化学习问题所需的一些事项。
用任务表达强化学习
查看强化学习应用程序的主要组件之一是如何构建任务。这些通常分为两类:情节性任务或连续任务。
1.情节性任务
情节性任务具有不同的开始和结束状态。我们可以保存这些"情节",并对它们进行"脱机"训练。一个很好的例子就是我们之前文章所阐述的马里奥游戏。
2.连续任务
连续任务没有尽头。这可能就像一个决策算法,可以预测某人何时应该买入或卖出股票市场中的股票。这种情况总是在不断变化,并伴随着许多环境因素。没有明确的开始和停止状态,这将允许剪切情节以进行训练,因为我们担心算法过于接近一小部分时间。股市总是在变化,将其剪切成情节就是忽略它演变的相关连续性。
我们如何制定代理的目标和奖励是由希望完成的任务类型决定的,因为它可以改变我们学习的本质(我们将在下面讨论)。
什么时候学习
时间对于代理如何在任务上执行至关重要。也许代理应该在游戏的每一个框架中学习,或者代理可以在情节中学习。我们可以采用蒙特卡罗策略在整个学习过程中循环,然后在每次迭代时变得更好、更聪明。这些选项有不同的权衡,这取决于代理试图完成的任务类型是可行或不可行(连续任务可能永远不会使用蒙特卡罗策略,因为它需要循环通过情节进行训练,而不是甚至存在于一个连续的任务)。
探索与利用
当代理探索环境时,很快就会遇到探索与利用权衡的关系。如果代理在早期发现,例如做了一些简单的事情,将获得少量的奖励,它可能会继续重复简单的事情,并累积小额奖励。如果它探索未知世界并试图找到新情况,它可能会获得更大的回报。
从人类的角度来说,这就像去餐厅就餐的问题,你总是去熟悉的餐厅吗?或者是否喜欢进入未知世界,并探索之前从未尝试过的却可能非常棒的地方?
没有去过的地方看起来很棒
如何构建代理的策略将决定它将学习利用何种行为以及何时决定探索。早期探索可能会产生更高的长期回报,但是,过多地关注探索可能导致我们的熟知状态采取次优行动。这导致获得的奖励比我们可能获得的奖励少。
在我看来,探索与利用之间的权衡仍然是一个悬而未决的问题,也是一个特别有趣的研究领域。
方法
这为我们提供了一个强化学习应用的另一个重要因素。它是基于价值还是基于策略?
(1)基于策略的方法
我们之前已经提到过,代理的策略是如何根据当前的环境状况决定采取什么行动。具有基于策略的学习方法的强化学习代理将尝试学习具有决策结构的复杂策略,该决策结构允许其在任何给定情况下尝试采取最佳行动。
(2)基于价值的方法
另一方面,我们采用基于价值的强化学习应用。价值函数是我们的强化学习算法将累积的长期奖励的当前估计。如果我们有基于价值的代理,它将专注于基于该功能的优化。这包括专注于学习和更好的长期奖励估计,以及采取贪婪行动,并在任何给定时间最大化这个函数。在很多方面,我们可以将此视为学习采取行动的隐含贪婪策略的代理。
(3)行动者-评论家批评方法
在决定强化学习算法的外观时,基于价值和基于策略的算法之间的决策是一个重要的决策。结合这两种思路的方面称为行动者-评论家方法。它的特点是跟踪估计的未来奖励收入(我们的价值函数)以及学习新的、更复杂的策略,以便我们的代理在更长的时间范围内获得更大的奖励。由于算法现在可以同时优化两个函数,因此它很快成为一个更难的问题。
在行动者-评论家领域有很多关注点,并且已经出现了很多很酷的算法。谷歌的异步优势行动者-评论家(A3C)就是一个很酷的行动者-评论家算法的一个典型例子,它已经显示出很多好的结果。
结论
在以前两篇文章中,我们介绍了基本术语以及围绕强化学习问题的一些更复杂的概念。希望通过这篇文章,你可以很好地掌握强化学习的内容以及使用它编写算法时的一些注意事项。
现在,你可能会对强化学习感到非常兴奋,也可能想知道如何开始使用强化学习的系统。