主要观点
简介
在过去的几十年里,机器学习一直是最有争议的话题之一,直到最近几年才有了很大的进展。在机器学习的所有课题中,强化学习似乎是一个被低估的领域,尽管它从20世纪50年代就已经存在。然而,来自DeepMind的研究人员说明了第一个深度学习模型,利用强化学习直接从高维感官输入中成功学习控制策略。他们将该方法应用于公共学习环境中的七款雅达利2600游戏,在其中六款游戏上的表现超过了之前的所有方法,甚至在其中三款游戏上超过了人类专家。那么DeepMind是如何建立这个系统的,什么是强化学习?
什么是强化学习算法?
强化学习的重点是软件代理如何在环境中进行观察和采取行动,以最大化累积奖励的概念。换句话说,代理在环境中通过试错来学习和行动,以使快乐最大化,痛苦最小化。强化学习,以及监督和无监督学习,是三种基本的机器学习范式。
在这篇文章中,我们将深入研究深度强化学习,详细探讨以下主题:政策梯度和Q-learning,并讨论马尔科夫决策过程(MDP)。然后,我们将把强化学习与有监督和无监督学习算法进行比较,看看它们所解决的问题的不同类型。接下来,我们将仔细研究其应用、好处和挑战。最后,我们将以一个 "角色批评学习 "的例子来结束,这是一种代理同时学习策略函数和价值函数的技术。
强化学习
为了重新说明,这里有一些强化学习的要素定义。
- 代理人:人们可以把代理人看作是机器人,或者是在环境中采取行动的角色。
- 贴现因子:通过贴现因子,目标是使未来的奖励不如眼前的奖励有价值,这导致代理人寻找短期目标。如果折扣系数接近于1,那么未来的奖励几乎和眼前的奖励一样重要。
- 环境:代理人所处的周围环境。
- 状态:代理人发现自己与周围其他重要事物有关的直接情况。
- 奖励:代理人从其行动中得到的输出。
- 策略:代理人用来确定在当前状态基础上采取的行动的策略/算法。由于它涉及一些随机性,因此被称为随机政策
政策空间中的四个点(左)和代理人的相应行为(右)。
政策不是决定性的,可以是任何算法。一般来说,有三种方法可以考虑。一个是策略搜索,就是为这些参数尝试许多不同的值。第二种是遗传算法,即随机创建第一代100个政策,并淘汰不好的政策。最后是政策梯度(PG),我们现在将更详细地讨论这个问题。
政策梯度(PG)
PG算法通过遵循旨在获得更高奖励的梯度来优化政策的参数。一般的步骤是。
- 让神经网络策略玩几次游戏,并计算使所选行动更有可能的梯度,但还没有应用它们。
- 计算每个行动的优势。
- 如果行动的优势是正的,就应用梯度,使该行动在未来的步骤中更有可能被选择。如果行动的优势是负的,就应用相反的梯度,使这个行动在未来的可能性降低。解决方案是将每个梯度向量乘以相应的行动的优势。
- 计算梯度向量的平均值,用它来进行梯度下降。
Q-学习
Q-learning是最常用的RL算法,在这种算法中,代理人根据环境返回的奖励多少来学习每个行动的质量(Q值)。它使用表格将每个环境的状态值与Q值一起存储。相比之下,还有状态-行动-奖励-状态-行动(SARSA)。不同的是,SARSA根据当前策略执行的行动来学习Q值,而Q-learning使用贪婪的策略。
马尔科夫决策过程(MDPs)
马尔可夫链的例子
马尔科夫链,是一种没有记忆的随机过程,由安德烈-马尔科夫在20世纪初研究。它有固定数量的状态,每一步都随机地从一个状态演化到另一个状态,它的演化概率是固定的。
马尔科夫决策过程类似于马尔科夫链,不同之处在于代理人可以选择几种可能的行动之一,而过渡概率取决于所选择的行动。一些状态的转换会带来一些奖励,所以代理人的目标是找到一个政策来最大化奖励。它是由理查德-贝尔曼在20世纪50年代首次说明的。
马尔科夫决策过程的例子
下面是马尔可夫决策过程的一个例子。如果它从状态s0开始,它将选择a0,a1,或a2。如果它选择了行动a1,它将肯定地停留在状态s0。如果它选择a0,它有70%的概率获得+10的奖励,并保持在状态s0。类似的想法也适用于其他状态和行动。
强化学习、监督学习和无监督学习之间的比较
如前所述,强化学习、监督学习和无监督学习是机器学习的三个主要支柱。总的来说,这些模型的目标是实现对学习过程的计算性质的彻底理解,并将学习能力植入计算机系统中。然而,尽管这三种方法都以学习和产生有用的结果为目标,但它们有不同的定义,使用不同类型的数据和方法。这里有一个表格来说明这些差异。
强化学习、监督学习和无监督学习之间的区别
应用
一般来说,只要代理人需要与不确定的环境互动以实现某个目标,强化学习就有可能被应用。下面列举了几个目前正在使用的应用实例。
1. 机器人学。在结构化的环境中,一个具有预编程行为的机器人就足以使用。然而,在现实世界中,环境通常涉及许多不确定因素,预编程行为无法有效地应对。在这种情况下,强化学习可以用来建立通用的机器人。例如,它可以应用于机器人的路径规划,机器人可以避免碰撞,并在两个地点之间寻找一条短的、平滑的、可行驶的路径。
2. 2. 自主驾驶。与机器人技术类似,自主驾驶也涉及许多环境的不确定性。因此,强化学习可以应用在这种情况下,用于规划车辆路径和预测运动。运动预测的任务是预测行人和其他车辆的运动。
优点和挑战
优点
强化学习对于处理其他机器学习算法无法解决的大量复杂问题非常有用。它更接近于人工智能(AGI),因为它能够监督一个长期目标,并在此过程中自主地探索许多可能性。以下是强化学习可以带来的一些好处。
1. 专注于大局。如前所述,强化学习能够在长期内实现回报最大化,这是传统的机器学习算法无法实现的。它有一个明确的目标,能够以短期回报换取长期利益。
2. 不需要单独的数据收集步骤。由于学习代理使用训练数据来获得经验,这大大减少了主管在训练过程中的负担,因为数据不需要单独输入到算法中。
3. 在动态、不确定的环境中工作。RL算法随着时间的推移获得并积累经验。与传统的机器学习算法不同,这些经验不是独立和相同的分布。因此,该算法可以对环境的变化做出适应性和反应。
挑战
尽管RL算法可以成功地处理不同环境中的复杂问题,但它们在现实世界中的应用却很缓慢。其原因如下。
1. RL代理需要大量的经验。RL方法的训练过程可能非常缓慢,特别是当环境具有高延迟时。这就减慢了算法的学习曲线。此外,在具有高维状态空间的复杂环境中,在找到一个好的解决方案之前需要进一步的探索。
2. 2.延迟的奖励。即使学习型代理能够在短期和长期奖励之间做出权衡是有用的,但有时代理很难找到最佳政策。当在采取大量的连续行动之前,结果是未知的,这个问题就特别明显。在这种情况下,很难将最终结果的功劳分配给一个珍贵的行动。它还会在训练期间引入大的变异。其中一个例子是国际象棋游戏,在双方都走完所有的棋子之前,结果是未知的。
3. 3.缺乏可解释性。RL算法的缺点之一是RL代理所采取的行动是不可解释的。因此,对于观察者来说,以适当的方式解释这些行动是具有挑战性的。
角色评论法的概述
角色评论学习是一种强化学习技术,它同时教给你一个策略和一个价值函数。政策函数指导你如何做出判断,而价值函数则协助价值函数的训练。
具体来说,代理人在采取行动并通过环境时,学会将环境的可观察状态映射到两个可能的输出。
- 推荐行动。行动空间中的每个行动都有一个分配给它的概率值。行为者是对这一输出负责的代理人的一部分。
- 估计的未来奖励。它期望得到的所有未来奖励的总数。批评者是代理中对这一输出负责的部分。
总的目标是,代理和批评者学会以这样的方式完成他们的工作,即行为人提出的行动能使奖励最大化。这个笔记本展示了在CartPole-V0环境中对 "行为者-批评者 "方法的实现。CartPole-V0环境描述了一个在无摩擦轨道上的小车被固定在一个杆子上。为了移动小车,代理必须使用武力。每走一步,杆子都保持直立,它就会得到奖励。因此,代理必须学习如何保持杆子不翻倒。
步骤1:设置
导入软件包并配置所需的参数。在这一步中,我们为环境设置种子为42,岗位奖励的折扣系数,每个情节最多持续10000步。最后,创建指定环境 "CartPole-V0"。
第2步:角色评论家网络的实施
这个网络有两个功能可以学习。
- 行动者。它将当前环境作为输入,并为其行动空间中的每个行动返回一个概率值。
- 批评者。它将环境的当前状态作为输入,输出对未来总回报的预测。
两者共享初始层,网络可按以下方式实现。
第三步:训练
首先,我们设置了一些启动条件和空列表来存储训练步骤中产生的输出。
我们使用一个while循环来生成整个训练过程。在这种情况下,停止条件是当running_reward超过195时。
首先,我们使用for循环在max_steps_per_episode的范围内创建一个样本动作。在循环过程中,我们预测行动概率,并从环境状态中估计未来的奖励,我们还从行动概率分布中抽出一个行动,并在我们的环境中应用抽样的行动。在进入下一步之前,我们更新运行中的奖励以检查解题条件。然后,我们从奖励中计算出预期值。这个计算的想法是得到每个时间步骤后收到的总奖励,奖励的价值将通过乘以gamma的值来折现。在归一化之后,我们计算损失值来更新我们的网络。在历史的这一点上,我们得到的批评估计是未来的总奖励值。我们使用log_prob的对数概率来采取一个行动,最后得到一个总奖励ret。行为者必须被更新,以便它能够预测一个行动,与批评者的估计相比,这个行动会导致高概率的高额奖励。最后,我们运行反向传播过程并清除损失和奖励历史。
为了简单起见,我们打印出每10个情节的日志细节,当运行奖励的值超过195时,while循环将被停止。
视觉化
在训练的早期阶段
在训练的后期阶段
从视觉上看,你可以看到在经历了许多阶段的训练后,杆子的运动波动性要小得多。
总结
强化学习无疑是一项前沿技术,有可能改变我们的世界。然而,它不需要在每个场景中使用。尽管如此,强化学习似乎是最有可能使机器具有创造性的方式。因此,强化学习有可能成为一项突破性的技术,成为人工智能发展的下一步。
参考文献
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition
- 监督学习vs无监督学习vs强化学习
- MACHINE LEARNING
- 什么是强化学习?
- 角色评论法
更多机器学习算法请看:「链接」
............试读结束............
查阅全文加微信:3231169 如来写作网:gw.rulaixiezuo.com(可搜索其他更多资料) 本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3231169@qq.com 举报,一经查实,本站将立刻删除。如若转载,请注明出处:https://www.rulaiwenku.com/168162.html