强化学习成为人工智能的主流
来源:用户上传
作者:
人工智能即将成为主流的革命性技术,而开发人员现在已拥有了可以开始使用这种技术的工具。
2018年人工智能领域最值得关注的趋势之一,就是强化学习的逐渐成熟,已成为构建和训练统计模型以投入实际使用的主流方法。
正如我在2018年年初时所谈到的,强化学习在企业人工智能项目中扮演着越来越重要的角色。该技术已经突破了传统的机器人、游戏和仿真应用领域,在IT运营管理、能源、医疗保健、商业、运输和金融等领域的前沿人工智能应用中也大展身手。它甚至成为社交媒体、自然语言处理、机器翻译、计算机视觉、数字助理等新一代人工智能解决方案不可或缺的组成部分。
为了加强强化学习算法在企业人工智能中的应用,开发人员需要用到在这些项目上进行协作以及将得到的模型部署到生产环境中的工具。在这方面,业界最近出现了一些重要的应用案例说明,提供给强化学习人工智能计划的开源工作台、库和Devops流水线已经成熟。
迭代强化学习开发工作台
不断发展的强化学习正悄悄地渗透到我们的生活中——通过我们认为理所当然的主流应用(比如多人在线游戏),或者通过非常前卫的应用(比如机器人),以至于我们甚至意识不到该技术正在悄悄地渗透到主流中。强化学习代理已经达到了能够像超人那样玩游戏,例如开放人工智能五子棋比赛。
开发人员可以利用越来越多的开源强化学习框架来进行游戏和机器人开发,这包括OpenAI的Roboschool、Unity技术公司的机器学习代理,以及英特尔的Nervana教练。还可以使用能够应对各种挑战的开源强化学习框架。例如,谷歌的TensorFlow代理支持高效的分批强化学习工作流,UC Berkeley的Ray RLLib提供了一个灵活的基于任务的编程模型,用于在TensorFlow和PyTorch中开发基于代理的强化学习应用程序。
很多人工智能开发人员的建模工具包所缺少的是一个快速的迭代强化学习工作台,它集成了现有的人工智能框架,并且能解决很多建模和训练难题。对此,谷歌最近发布了Dopamine,这是一个基于TensorFlow的框架和代码库,用于在Python 2.7中快速迭代强化学习算法原型。Dopamine在GitHub的“最酷开源项目”内部排名中名列前茅,它支持以下核心功能:
● 根据新的研究思路来开发强化学习实验:Dopamine包括紧凑的、详细说明的Python代码,其重点放在Arcade学习环境(一种成熟而且容易理解的基准方法)上,以及在单个GPU环境中执行的四个基于价值的代理:Deep Q-Networks(DQN)、C51、一个精心设计的Rainbow代理的简化版本,以及Implicit Quantile网络代理。
● 从强化学习实验中获得可再现的结果:Dopamine包括完整的测试套件,并且为利用Arcade学习环境实现了标准的经驗框架。
● 根据已建立的训练方法对强化学习结果进行基准测试:Dopamine包括由Arcade学习环境支持的、在60个游戏中所提供的4个代理的所有训练数据,可作为使用我们的框架所训练的代理的Python文件,也可以作为JSON数据文件,以便与其他框架下训练过的代理进行比较,还包括一个网站,用于为所有提供的代理在所有60个游戏中进行可视化训练。
● 为强化学习开发团队使用框架时提供加速器:Dopamine包括一组colabs,阐明怎样在框架中创建和训练强化学习代理,以及怎样进行基准测试。它还包括可下载的训练深度网络、原始统计日志和用于Tensorboard绘图的Tensorflow事件文件。
模块化强化学习代理开发库
强化学习的进展依赖于构建能够在各种真实场景中自主采取最佳行动的智能代理。
人工智能研究人员正在不断推动智能和分布式代理(由训练过的强化学习模型提供支持)的发展。例如,UC Berkeley最近发表了关于分布式代理环境中加速循环迭代强化学习的研究结果。这涉及到一次训练一个代理模块,而其他代理模块遵循简单的脚本行为,然后环境“用神经网络策略替换另一个模块的脚本组件,在先前训练过的模块保持不变的情况下继续训练。”
为了加速强化学习优化智能人工智能机器人的开发,谷歌的DeepMind小组最近开源了TRFL,它是用于在TensorFlow中开发强化学习代理的一个新构件库。它包括算法、损失函数和其他强化学习操作,DeepMind的研究工程团队已经在内部成功地将其应用于强化学习代理(例如,DQN、深层确定性策略梯度(DDPG)和重要性加权参与者学习器体系结构)。使用一致的API,这些构建模块可以用来构建新的强化学习代理。
DeepMind还开源了完整的强化学习代理实现,包括表示价值和策略的深度网络计算图等组件,以及环境的学习模型、伪奖励函数和重放系统等。这样做是为了帮助强化学习社区更快地识别和修复这些代理中的漏洞,同时提高使用这些代理的强化学习项目在社区中的结果可再现性。DeepMind将继续维护、添加新功能,并接收社区对TRFL库的贡献。
端到端强化学习Devops流水线工具
强化学习建模通常是脱离生产应用完成的,只有经过训练的模型在模拟器中经过验证后才被提供给操作环境。
随着强化学习成为更多人工智能应用的基础,建模框架应不断发展才能处理更多的实时在线应用的内嵌训练。与其他人工智能方法一样,越来越多的强化学习项目集成到了驱动数据准备、建模、训练和其他流水线工作负载的Devops流水线中。
考虑到这一点,脸书最近开源编辑了强化学习工具包Horizon,它被设计为部署到人工智能Devops流水线中。可以通过GitHub下载开源Horizon代码。Horizon结合了强化学习技术,脸书一直在运营中使用该技术开发可扩展的生产应用程序。例如,这一社交媒体巨头将强化学习用于生产人工智能应用程序,预测用户最可能对哪些通知作出响应,个性化脸书的虚拟消息助理的建议,以及根据用户的位置或者他们的无线信号强度来决定要传输给用户的视频质量等级。 Horizon是一个端到端的流水线,用于以强化学习为中心的人工智能项目,这些项目的数据集非常庞大,来自目标应用程序的反馈循环很慢,并且由于涉及到生产应用程序,因此强化学习实验失败的商业风险很高。它支持在高维离散和连续动作空间中的强化学习建模。它包括离散动作空间具有竞争结构的DQN的实现,以及连续动作空间DDPG的实现。它包含自动化工作流程,用于在多GPU分布式环境中训练流行的深度强化学习算法,以及用于在单机上进行CPU、GPU和多GPU训练。它包括用于数据预处理、特征规范化、分布式训练和优化服务的实用工具。
为满足脸书的规模要求,Horizon被设计成支持强化学习建模和应用程序训练,其数据集可能具有数百甚至数千种特征类型,每一特征类型都具有独特的统计分布。它使用Spark进行数据准备和降维,使用PyTorch框架进行强化学习建模和训练,使用Caffe2人工智能框架和开放神经网络交换(Open Neural Network Exchange)进行强化学习建模,以便应用于数千种生产环境中。
为了减少将次优强化学习模型部署到生产应用程序中的风险,Horizon采用了一种称为“反事实策略评估”的功能,该功能支持数据科学家在部署经过训练的模型之前离线评估强化学习算法的性能。如果没有这种自动化功能,开发人员需要进行昂贵而且耗时的A/B测试,才能在无数的选择中搜索出最优强化学习模型和超参数。在强化学習训练工作流程中,Horizon使用逐步重要抽样估计器、逐步直接抽样估计器、逐步双稳健估计器和顺序双稳健估计器等反事实策略评估方法对训练过的模型进行评分。
为了支持对强化学习算法的性能进行测试,脸书已经将Horizon与流行的基准测试库OpenAI Gym的Cartpole和Pendulum环境以及定制的Gridworld环境集成在一起。Horizon包括用于对数据预处理、特征规范化和其他Horizon强化学习建模、训练和服务特性进行单元、集成和性能测试的工具。它评估具有不同配置的离散动作DQN、参数动作DQN和DDPG模型——例如使用Q学习与SARSA进行对比,有或者没有双重Q学习等,以确保强化学习模型的鲁棒性和正确性。它对目标平台的预构建Docker镜像执行集成测试。
可以采用这些工具来开始实际操作学习
如果你是人工智能开发人员,可能对这里列出的很多算法还不太熟悉。然而,你可能已经开始将强化学习引入到了开发项目中,至少尝试使用了开源工具。
2019年,我们将看到,人工智能行业会把应用最广泛的强化学习框架整合到工作台中。随着卷积和循环神经网络在有监督学习环境下的应用,主流开发人员将更加熟悉这些技术。
不久之后,大多数人工智能开发工作流程将无缝地把强化学习与有监督和无监督学习结合在一起,为生产企业应用中更复杂的嵌入式智能提供支持。
James Kobielus是SiliconAngle Wikibon的人工智能、数据科学以及应用程序开发首席分析师。
转载注明来源:https://www.xzbu.com/8/view-14733346.htm