1.3 强化学习应用领域和成功案例
强化学习并不是一个新领域。在过去的70年里,强化学习中的许多基本思想其实是来自动态规划和最优控制领域。然而,由于深度学习的突破和更强大的计算资源,强化学习近期的落地随之取得了重大进展。在本节中,我们将讨论强化学习的一些应用领域以及一些著名的成功案例。在接下来的章节中,我们将深入探讨这些实现背后的算法。
1.3.1 游戏
棋盘和视频游戏一直是强化学习的研究实验室,在该领域产生了许多著名的成功案例。游戏产生好的强化学习问题的原因如下:
❑ 游戏本质上是涉及不确定性的序贯决策。
❑ 它们可作为计算机软件使用,使强化学习模型可以灵活地与它们交互并生成数十亿个数据点用于训练。此外,经过训练的强化学习模型也会在相同的计算机环境中进行测试。这与许多物理过程相反,因为它们太复杂而无法创建准确而快速的模拟器。
❑ 游戏中的自然基准是最好的人类玩家,这使其成为人工智能与人类进行比较的富有吸引力的战场。
下面让我们来看看最令人兴奋的一些强化学习工作,这些工作已经登上了头条。
1.3.1.1 TD-Gammon
第一个著名的强化学习实现是TD-Gammon,这是一个学习如何玩双陆棋并且旨在超过人类水平的模型,其中,双陆棋是一种具有1020种可能配置的两人棋盘游戏。该模型是由IBM研究院的Gerald Tesauro于1992年开发的。TD-Gammon非常成功,以至于它教给人类的新颖策略在当时的双陆棋社区引起了极大的兴奋。该模型中使用的许多方法(例如,时间差分、自我对局和神经网络)仍然是现代强化学习实现的核心。
1.3.1.2 雅达利游戏中的“超过人类水平”表现
2015年,谷歌DeepMind的Volodymry Mnih及其同事发表了强化学习中最令人印象深刻和最具开创性的作品之一。研究人员训练了强化学习智能体,仅使用计算机屏幕显示输入和游戏分数,而没有使用任何通过深度神经网络人为手动设计或游戏特定的特征,就让智能体学会了如何比人类更好地玩雅达利(Atari)游戏。他们将该算法命名为Deep Q-Network(DQN),这是当今最流行的强化学习算法之一。
1.3.1.3 击败围棋、国际象棋和将棋的世界冠军
使强化学习名声大振的强化学习实现可能是谷歌DeepMind的AlphaGo。这是2015年第一个在围棋这一古老棋盘游戏中击败职业棋手的计算机程序,后来又在2016年击败了世界冠军李世石。这个故事后来被改编成同名纪录片。AlphaGo模型使用来自人类专家落子的数据以及通过自我对局的强化学习进行训练。后来的版本AlphaGo Zero以100比0击败最初的AlphaGo,该版本仅通过自我对局进行训练,并且没有将任何人类知识插入模型中。最后,该公司在2018年发布了AlphaZero,它能够学习国际象棋、将棋(日本国际象棋)和围棋,成为历史上最强的棋手,并且除了游戏规则外,其没有任何关于游戏的先验信息。AlphaZero仅在张量处理单元(Tensor Processing Unit, TPU)上进行了几小时的训练就达到了这一性能。AlphaZero的非传统策略得到了世界著名棋手[例如Garry Kasparov(国际象棋)和Yoshiharu Habu(将棋)]的赞誉。
1.3.1.4 复杂策略游戏的胜利
强化学习的成功后来跳出了雅达利和棋盘游戏,进入了《马里奥》、《雷神之锤Ⅲ:竞技场》、《夺旗》、Dota 2和《星际争霸Ⅱ》。其中一些游戏在战略规划、多个决策者之间的博弈论、不完善的信息以及大量可能的行动和游戏状态等方面的要求对人工智能程序来说极具挑战。由于这种复杂性,训练这些模型需要大量资源。例如,OpenAI使用256个GPU和128000个CPU内核训练Dota 2模型数月,每天为模型提供900年的游戏经验。在2019年击败了《星际争霸Ⅱ》顶级职业玩家的谷歌DeepMind的AlphaStar,需要训练数百个具有200年实时游戏经验的复杂模型副本,尽管这些模型最初是根据人类玩家的真实游戏数据进行训练的。
1.3.2 机器人技术和自主系统
机器人和物理自主系统对强化学习来说是具有挑战性的领域。这是因为强化学习智能体是通过模拟训练来收集足够的数据,但模拟环境无法反映现实世界的所有复杂性。因此,如果任务对安全至关重要,那么这些智能体在实际任务中经常失败就尤其成问题。此外,这些应用程序通常涉及连续行动,这需要不同于DQN的算法。尽管存在这些挑战,但在这些领域仍有许多强化学习成功案例。此外,还有很多关于在自主地面和空中交通工具等令人兴奋的应用中使用强化学习的研究。
1.3.2.1 电梯优化
一个早期的成功案例证明了强化学习可以为现实世界的应用创造价值,这便是Robert Crites和Andrew Barto在1996年提出的电梯优化。研究人员开发了一个强化学习模型,以优化一栋10层建筑中的电梯调度,该建筑有4部电梯。考虑到模型可能遇到的情况数量、部分可观测性(例如,强化学习模型无法观测到在不同楼层等候的人数)以及可供选择的决策数量,这是一个比早期的TD-Gammon更具挑战性的问题。强化学习模型显著提高了跨各种指标的最优电梯控制启发式时间,例如,平均乘客等待时间和旅行时间。
1.3.2.2 人形机器人和灵巧操作
2017年,谷歌DeepMind的Nicolas Heess等人能够在计算机模拟中教授不同类型的身体(例如,类人机器等)各种运动行为,例如,如何跑步、跳跃等。2018年,OpenAI的Marcin Andrychowicz等人训练了一只五指人形手来操作一个从初始配置到目标配置的块。2019年,OpenAI的研究员Ilge Akkaya等人再次通过训练机器人手来解决魔方问题如图1-1所示。后两个模型都在模拟环境中进行了训练,并使用域随机化技术成功地转移到了物理实现中(如图1-1所示)。
图1-1 OpenAI用于解决魔方问题的强化学习模型在模拟中进行训练并部署在物理机器人上(OpenAI Blog,2019)
1.3.2.3 应急响应机器人
在灾难发生后,使用机器人可能会非常有帮助,尤其是在危险条件下操作时。例如,机器人可以在受损结构中定位幸存者、关闭气阀等。创建自主操作的智能机器人将允许扩展应急响应操作,并为更多可能进行手动操作的人提供必要的支持。
1.3.2.4 自动驾驶汽车
虽然完全自动驾驶的汽车过于复杂,无法单独使用强化学习模型来解决,但其中一些任务可以由强化学习处理。例如,我们可以训练强化学习智能体进行自动停车,并决定何时以及如何在高速公路上超车。同样,我们可以使用强化学习智能体在自主无人机中执行某些任务,例如,如何起飞、降落、避开碰撞等。
1.3.3 供应链
供应链中的许多决策具有序贯性并且涉及不确定性,强化学习是一种自然的方法。其中一些问题如下:
❑ 库存计划是关于何时下采购订单来补充产品的库存以及数量的决定。订购量不足会导致短缺,订购量过多会导致库存成本过高、产品变质和以低价清除库存。强化学习模型用于制定库存计划决策,以降低这些操作的成本。
❑ 装箱是制造和供应链中的一个常见问题,其中到达站点的物品被放入容器中,以最大限度地减少使用的容器数量并确保设施的平稳运行。这是一个可以使用强化学习解决的难题。
1.3.4 制造业
强化学习将产生巨大影响的一个领域是制造业,其中很多人工任务可以由自主智能体以更低的成本和更高的质量执行。因此,许多公司正在考虑将强化学习引入他们的制造环境。以下是制造业中强化学习应用的一些示例:
❑ 机器校准是制造环境中通常由人类专家处理的任务,效率低且容易出错。强化学习模型通常能够以更低的成本和更高的质量完成这些任务。
❑ 化工厂运营通常涉及序贯决策,这通常由人类专家或启发式方法处理。强化学习智能体已被证明可以有效控制这些过程,最终产品质量更好,设备磨损更少。
❑ 设备维护需要计划停机时间以避免代价高昂的故障。强化学习模型可以有效地平衡停机成本和潜在故障成本。
❑ 除了这些例子之外,机器人中的许多成功强化学习应用可以转移到制造业解决方案。
1.3.5 个性化和推荐系统
个性化可以说是迄今为止强化学习创造最大商业价值的领域。大型科技公司通过在后台运行强化学习算法提供个性化服务。以下是一些示例:
❑ 在广告中,向(潜在)客户提供的促销材料的顺序和内容是一个序贯决策问题,可以使用强化学习解决,从而提高客户满意度和转化率。
❑ 新闻推荐是Microsoft News应用强化学习并通过改进文章选择和推荐顺序来提高访问者参与度的典型领域。
❑ 你在Netflix上看到标题的艺术作品的个性化由强化学习算法处理。这样,观众可以更好地识别与他们的兴趣相关的标题。
❑ 个性化医疗保健正在变得越来越重要,因为它以更低的成本提供更有效的治疗。其中强化学习的许多成功应用是为患者选择正确的治疗方法。
1.3.6 智慧城市
在许多领域,强化学习可以帮助改善城市运营方式。以下是几个例子:
❑ 在有多个十字路口的交通网络中,交通信号灯应协调工作,以确保交通畅通。事实证明,这个问题可以建模为多智能体强化学习问题,并改进现有的交通灯控制系统。
❑ 实时平衡电网的发电和需求是确保电网安全的重要问题。实现这一目标的一种方法是在不牺牲服务质量的情况下控制需求,例如,在有足够发电量的情况下为电动汽车充电和打开空调系统,强化学习方法已成功应用于此。
类似的示例还有很多,但这些已足以表明强化学习的巨大潜力。该领域的早期研究者吴恩达(Andrew Ng)对人工智能的看法同样适用于强化学习:
就像100年前电力几乎改变了一切一样,今天我真的很难想到一个我认为未来几年人工智能不会改变的行业。(吴恩达:Why AI is the new electricity,Stanford News,2017年3月15日)
强化学习的发展现在才刚开始,我们正通过努力了解强化学习是什么以及它必须提供什么来进行一项伟大的投入。现在,是时候获得更多技术并形式化定义强化学习问题中的元素了。