当前位置:人工智能行业动态 → 正文

什么是深度强化学习:人工智能和深度学习的下一步

责任编辑:cres 作者:James Kobielus |来源:企业网D1Net  2018-03-02 11:15:27 原创文章 企业网D1Net

强化学习非常适合自主决策,因为单靠监督学习或无监督学习技术无法完成任务。
 
传统上,强化学习在人工智能领域占据着一个合适的地位。但强化学习在过去几年已开始在很多人工智能计划中发挥更大的作用。其最佳的应用点在于计算艾真体(agent)在环境上情境化的决策场景中要采取的最佳行动。
 
强化学习使用试错法将算法奖励函数最大化,它非常适用于IT运营管理、能源、医疗保健、商业、金融、交通和金融领域的很多自适应控制和艾真体自动化应用。它用来训练人工智能,它为传统的重点领域提供支持——机器人技术、游戏和模拟——以及边缘分析、自然语言处理、机器翻译、计算机视觉和数字助理等新一代人工智能解决方案。
 
强化学习也是物联网中自主边缘应用程序开发的基础。很多边缘应用程序的开发(工业、交通、医疗和消费应用)涉及对注入了人工智能的机器人技术的构建,这些技术可以在动态环境条件下以不同程度的情境自主性进行操作。
 
强化学习如何工作
 
在这样的应用领域中,边缘设备的人工智能大脑必须依赖强化学习,由于在这里缺少预先存在的“真实值(ground truth)”训练数据集,他们试图将累计奖励函数最大化,例如根据规范中包含的一组标准组装一个生产组件。这与其它类型的人工智能的学习方式形成对比,后者要么是(像监督学习一样)对相对于真实值数据的算法上的损失函数进行最小化,要么(像无监督学习一样)对数据点之间的距离函数进行最小化。
 
但是,这些人工智能学习方法不一定是孤岛。最有趣的人工智能趋势之一是强化学习与更高级的应用程序中的监督学习和无监督学习的融合。人工智能开发人员将这些方法融入到仅凭单一的学习方法不足为用的应用程序中。
 
例如,监督学习本身在没有标记的训练数据的情况下是无用的,在自动驾驶这样的应用中往往缺乏标记的训练数据,在这里,每个瞬时的环境情况本质上都是未标记且独特的。同样,无监督学习(使用聚类分析来检测传感器馈源和其它复杂的未标记数据中的模式)并非用来发现智能终端在真实世界的决策场景中应采取的最佳操作。
 
什么是深度强化学习
 
然后是深层强化学习,这是一种领先的技术,在这种技术中,自治的艾真体(autonomous agent)使用强化学习的试错算法和累计奖励函数来加速神经网络设计。这些设计为很多依靠监督和/或无监督学习的人工智能应用程序提供支持。
 
深度强化学习是人工智能开发和培训管道自动化的核心重点领域。它涉及对强化学习驱动的艾真体的使用,以快速探索与无数体系结构、节点类型、连接、超参数设置相关的性能权衡,以及对深度学习、机器学习和其他人工智能模型设计人员可用的其它选择。
 
例如,研究人员正在使用深度强化学习来快速确定哪一种深度学习卷积神经网络(CNN)架构可能用于解决特征工程、计算机视觉和图像分类中的各种难题。人工智能工具可能会使用从深度强化学习获得的结果来自动生成最佳CNN,使用TensorFlow、MXNet或PyTorch等深度学习开发工具来完成该任务。
 
在这方面,看到强化学习发展和培训的开放框架的出现是鼓舞人心的。你在探索深度强化学习时可能需要探索下面这些强化学习框架,这些框架利用、扩展并与TensorFlow和其它深度学习和机器学习建模工具接合,这些工具已得到广泛采用:
 
强化学习

框架 它的功能以及在哪里获得它
TensorFlow Agents TensorFlow Agents提供了通过强化学习来构建和培训各种智能应用程序的工具。该框架是TensorFlow的扩展,它将OpenAI Gym接口扩展到多个并行环境,并允许艾真体在TensorFlow中执行并执行批量计算。其针对OpenAI Gym环境的批处理接口完全与TensorFlow集成,以实现高效的算法实施。该框架结合了BatchPPO,这是Proximal Policy Optimization(近端策略优化算法)的优化实施。其核心组件包含一个用来在外部过程中构建OpenAI Gym环境的环境包装器;使TensorFlow图的步骤和重置函数像强化学习操作一样易于使用的批集成;以及在一个训练循环内将TensorFlow批处理和强化学习算法融合为单一操作的组件。
Ray RLLib RLLib提供了一个灵活的基于任务的编程模型,该模型用于构建基于艾真体的强化学习应用程序,以满足不同的应用程序。RLLib由加州大学伯克利分校开发,目前是第二版,它工作在Ray中,Ray是一个在灵活的,高性能的分布式执行框架。RLLib的开发人员中值得关注的一个人是Apache Spark的主要创造者之一。
 
RLLib在TensorFlow和PyTorch框架内工作,它支持在算法之间共享模型,并与Ray Tune超参数调整工具集成在一起。该框架包含一个可合成的,可扩展的标准强化学习组件库。每个RLLib组件可以在分布式应用程序中得到并行化、扩展、组合和重用。
 
RLLib包括三种强化学习算法——近端策略优化(PPO),Asynchronous Advantage Actor-Critic(A3C)和深度Q网络(DQN)——它们都可以在任何OpenAI Gym的马尔可夫决策过程中运行。它为新算法的开发提供了可扩展的最小单元(primitive),用于将RLLib应用于新问题的Python API,艾真体超参数设置的存储库以及可插拔的分布式强化学习执行策略。它支持用户创建自定义强化学习算法。
Roboschool Roboschool提供通过强化学习来构建和训练机器人模拟的开源软件。它有助于在同一环境中同时对多个艾真体进行强化学习训练。你可以在多人训练的情况下训练同一个艾真体同时加入双方(所以可以与自己一起比赛),使用相同算法训练两个参与者,或者设置两种算法。
 
Roboschool由OpenAI开发,该非营利组织的赞助者包括Elon Musk、Sam Altman、Reid Hoffman和Peter Thiel。它与OpenAI Gym集成在一起,后者是开发和评估强化学习算法的开源工具包。OpenAI Gym与TensorFlow、Theano和其它深度学习库兼容。OpenAI Gym包含数字计算、游戏和物理引擎的代码。
 
Roboschool基于Bullet物理引擎,这是一个开放源代码许可的物理库,它已被其它仿真软件(如Gazebo和Virtual Robot Experimentation Platform(V-REP))使用。它包含几种强化学习算法:Asynchronous Methods for Deep Reinforcement Learning(深度强化学习的异步方法)、Actor-Critic with Experience Replay、使用Kronecker-Factored Trust Region的Actor-Critic,Deep Deterministic Policy Gradients(深度确定性策略梯度)、Proximal Policy Optimization(近端策略优化)和Trust Region Policy Optimization(信赖域策略优化)。
机器学习艾真体(Machine Learning Agent 尽管Unity Technology的机器学习艾真体仍处于测试阶段,它能支持游戏、模拟、自动驾驶车辆和机器人的开发和强化学习训练。 ML-Agents(机器学习艾真体)支持多种强化学习训练场景,这其中涉及代理、大脑和奖励之间的不同配置和交互。该框架的SDK支持单一场景和多代理场景以及分立和连续的动作空间。它提供了一个Python API来访问强化学习、神经元演化和其它的机器学习方法。
 
ML-Agents学习环境由通过与名为“大脑”的自动化组件进行交互来执行强化学习的艾真体组成。每个代理可以拥有一组独特的状态和观察结果,在环境中采取独特的行动,并且可以获得内部事件的独特奖励环境。艾真体的行为取决于它所链接的大脑。每个大脑定义一个特定的状态和动作空间,并决定每个与之链接的艾真体将采取哪些动作。
 
此外,每个ML-Agents环境都包含一个单一的“学院”,“学院”用于定义环境的范围,就引擎配置而言(训练和推理模式下的游戏引擎的速度和渲染质量),framekip(每个代理商做出新决策的间隙要跳过多少个引擎步骤)以及全局事件长度(情节将持续多长时间)。
 
大脑可能得到设置的其中一种模式可能是外部的,在这里,行动决策是用TensorFlow或另一个合适的机器学习库制定的————通过开放的套接字与ML-Agent的Python API进行沟通。另一种模式是内部的,在这里,艾真体的行动决策是通过使用嵌入到项目里(通过嵌入的TensorFlowSharp艾真体)的受过训练的模型来制定的。
Coach 英特尔的Nervana Coach是一款开源的强化学习框架,它用来为游戏、机器人技术和其它基于代理的智能应用程序提供建模、培训并评估智能代理。
 
Coach提供了一个模块化沙盒、可重用组件和Python API,用于合成新的强化学习算法,并在不同的应用领域中培训新的智能应用程序。该框架使用OpenAI Gym,以此作为与不同强化学习环境交互的主要工具。它还支对Gym提供外部扩展,例如Roboschool、gym-extensions、PyBullet和ViZDoom。 Coach的环境包装器允许人们添加其它自定义的强化学习环境来解决其它学习问题。
 
该框架能够在台式计算机上高效地对强化学习艾真体进行训练,并使用多核CPU处理。它为一些强化学习算法提供单线程和多线程实施,包括Asynchronous Advantage Actor-Critic、Deep Deterministic Policy Gradient(深度确定性策略梯度)、Proximal Policy Optimization(近端策略优化)、Direct Future Prediction和Normalized Advantage Function(标准化优势函数)。所有算法都是使用英特尔优化的TensorFlow实现的,有些也可以通过英特尔的Neon深度学习框架获得。
 
Coach涉及到很多强化学习艾真体类型的实施,这包括从单线程实施到多线程实施的过渡。它支持为单线程或多线程(同步或异步)的强化学习实施开发新的艾真体。它支持连续和离散的动作空间,以及仅包含原始度量的视觉观察空间或观察空间。

人工智能开发人员需要的强化学习技能
 
展望未来,人工智能开发人员将需要沉浸在这些框架和其它框架中实施的各种强化学习算法中。你还需要加深对多艾真体强化学习架构的理解,这其中有很多架构大量利用老牌的博弈论研究机构。你还要熟悉深度强化学习,以此来发现计算机视觉应用中与名为“模糊”的攻击方法相关的安全漏洞。
 
版权声明:本文为企业网D1Net编译,转载需注明出处为:企业网D1Net,如果不注明出处,企业网D1Net将保留追究其法律责任的权利。

关键字:人工智能

原创文章 企业网D1Net

x 什么是深度强化学习:人工智能和深度学习的下一步 扫一扫
分享本文到朋友圈
当前位置:人工智能行业动态 → 正文

什么是深度强化学习:人工智能和深度学习的下一步

责任编辑:cres 作者:James Kobielus |来源:企业网D1Net  2018-03-02 11:15:27 原创文章 企业网D1Net

强化学习非常适合自主决策,因为单靠监督学习或无监督学习技术无法完成任务。
 
传统上,强化学习在人工智能领域占据着一个合适的地位。但强化学习在过去几年已开始在很多人工智能计划中发挥更大的作用。其最佳的应用点在于计算艾真体(agent)在环境上情境化的决策场景中要采取的最佳行动。
 
强化学习使用试错法将算法奖励函数最大化,它非常适用于IT运营管理、能源、医疗保健、商业、金融、交通和金融领域的很多自适应控制和艾真体自动化应用。它用来训练人工智能,它为传统的重点领域提供支持——机器人技术、游戏和模拟——以及边缘分析、自然语言处理、机器翻译、计算机视觉和数字助理等新一代人工智能解决方案。
 
强化学习也是物联网中自主边缘应用程序开发的基础。很多边缘应用程序的开发(工业、交通、医疗和消费应用)涉及对注入了人工智能的机器人技术的构建,这些技术可以在动态环境条件下以不同程度的情境自主性进行操作。
 
强化学习如何工作
 
在这样的应用领域中,边缘设备的人工智能大脑必须依赖强化学习,由于在这里缺少预先存在的“真实值(ground truth)”训练数据集,他们试图将累计奖励函数最大化,例如根据规范中包含的一组标准组装一个生产组件。这与其它类型的人工智能的学习方式形成对比,后者要么是(像监督学习一样)对相对于真实值数据的算法上的损失函数进行最小化,要么(像无监督学习一样)对数据点之间的距离函数进行最小化。
 
但是,这些人工智能学习方法不一定是孤岛。最有趣的人工智能趋势之一是强化学习与更高级的应用程序中的监督学习和无监督学习的融合。人工智能开发人员将这些方法融入到仅凭单一的学习方法不足为用的应用程序中。
 
例如,监督学习本身在没有标记的训练数据的情况下是无用的,在自动驾驶这样的应用中往往缺乏标记的训练数据,在这里,每个瞬时的环境情况本质上都是未标记且独特的。同样,无监督学习(使用聚类分析来检测传感器馈源和其它复杂的未标记数据中的模式)并非用来发现智能终端在真实世界的决策场景中应采取的最佳操作。
 
什么是深度强化学习
 
然后是深层强化学习,这是一种领先的技术,在这种技术中,自治的艾真体(autonomous agent)使用强化学习的试错算法和累计奖励函数来加速神经网络设计。这些设计为很多依靠监督和/或无监督学习的人工智能应用程序提供支持。
 
深度强化学习是人工智能开发和培训管道自动化的核心重点领域。它涉及对强化学习驱动的艾真体的使用,以快速探索与无数体系结构、节点类型、连接、超参数设置相关的性能权衡,以及对深度学习、机器学习和其他人工智能模型设计人员可用的其它选择。
 
例如,研究人员正在使用深度强化学习来快速确定哪一种深度学习卷积神经网络(CNN)架构可能用于解决特征工程、计算机视觉和图像分类中的各种难题。人工智能工具可能会使用从深度强化学习获得的结果来自动生成最佳CNN,使用TensorFlow、MXNet或PyTorch等深度学习开发工具来完成该任务。
 
在这方面,看到强化学习发展和培训的开放框架的出现是鼓舞人心的。你在探索深度强化学习时可能需要探索下面这些强化学习框架,这些框架利用、扩展并与TensorFlow和其它深度学习和机器学习建模工具接合,这些工具已得到广泛采用:
 
强化学习

框架 它的功能以及在哪里获得它
TensorFlow Agents TensorFlow Agents提供了通过强化学习来构建和培训各种智能应用程序的工具。该框架是TensorFlow的扩展,它将OpenAI Gym接口扩展到多个并行环境,并允许艾真体在TensorFlow中执行并执行批量计算。其针对OpenAI Gym环境的批处理接口完全与TensorFlow集成,以实现高效的算法实施。该框架结合了BatchPPO,这是Proximal Policy Optimization(近端策略优化算法)的优化实施。其核心组件包含一个用来在外部过程中构建OpenAI Gym环境的环境包装器;使TensorFlow图的步骤和重置函数像强化学习操作一样易于使用的批集成;以及在一个训练循环内将TensorFlow批处理和强化学习算法融合为单一操作的组件。
Ray RLLib RLLib提供了一个灵活的基于任务的编程模型,该模型用于构建基于艾真体的强化学习应用程序,以满足不同的应用程序。RLLib由加州大学伯克利分校开发,目前是第二版,它工作在Ray中,Ray是一个在灵活的,高性能的分布式执行框架。RLLib的开发人员中值得关注的一个人是Apache Spark的主要创造者之一。
 
RLLib在TensorFlow和PyTorch框架内工作,它支持在算法之间共享模型,并与Ray Tune超参数调整工具集成在一起。该框架包含一个可合成的,可扩展的标准强化学习组件库。每个RLLib组件可以在分布式应用程序中得到并行化、扩展、组合和重用。
 
RLLib包括三种强化学习算法——近端策略优化(PPO),Asynchronous Advantage Actor-Critic(A3C)和深度Q网络(DQN)——它们都可以在任何OpenAI Gym的马尔可夫决策过程中运行。它为新算法的开发提供了可扩展的最小单元(primitive),用于将RLLib应用于新问题的Python API,艾真体超参数设置的存储库以及可插拔的分布式强化学习执行策略。它支持用户创建自定义强化学习算法。
Roboschool Roboschool提供通过强化学习来构建和训练机器人模拟的开源软件。它有助于在同一环境中同时对多个艾真体进行强化学习训练。你可以在多人训练的情况下训练同一个艾真体同时加入双方(所以可以与自己一起比赛),使用相同算法训练两个参与者,或者设置两种算法。
 
Roboschool由OpenAI开发,该非营利组织的赞助者包括Elon Musk、Sam Altman、Reid Hoffman和Peter Thiel。它与OpenAI Gym集成在一起,后者是开发和评估强化学习算法的开源工具包。OpenAI Gym与TensorFlow、Theano和其它深度学习库兼容。OpenAI Gym包含数字计算、游戏和物理引擎的代码。
 
Roboschool基于Bullet物理引擎,这是一个开放源代码许可的物理库,它已被其它仿真软件(如Gazebo和Virtual Robot Experimentation Platform(V-REP))使用。它包含几种强化学习算法:Asynchronous Methods for Deep Reinforcement Learning(深度强化学习的异步方法)、Actor-Critic with Experience Replay、使用Kronecker-Factored Trust Region的Actor-Critic,Deep Deterministic Policy Gradients(深度确定性策略梯度)、Proximal Policy Optimization(近端策略优化)和Trust Region Policy Optimization(信赖域策略优化)。
机器学习艾真体(Machine Learning Agent 尽管Unity Technology的机器学习艾真体仍处于测试阶段,它能支持游戏、模拟、自动驾驶车辆和机器人的开发和强化学习训练。 ML-Agents(机器学习艾真体)支持多种强化学习训练场景,这其中涉及代理、大脑和奖励之间的不同配置和交互。该框架的SDK支持单一场景和多代理场景以及分立和连续的动作空间。它提供了一个Python API来访问强化学习、神经元演化和其它的机器学习方法。
 
ML-Agents学习环境由通过与名为“大脑”的自动化组件进行交互来执行强化学习的艾真体组成。每个代理可以拥有一组独特的状态和观察结果,在环境中采取独特的行动,并且可以获得内部事件的独特奖励环境。艾真体的行为取决于它所链接的大脑。每个大脑定义一个特定的状态和动作空间,并决定每个与之链接的艾真体将采取哪些动作。
 
此外,每个ML-Agents环境都包含一个单一的“学院”,“学院”用于定义环境的范围,就引擎配置而言(训练和推理模式下的游戏引擎的速度和渲染质量),framekip(每个代理商做出新决策的间隙要跳过多少个引擎步骤)以及全局事件长度(情节将持续多长时间)。
 
大脑可能得到设置的其中一种模式可能是外部的,在这里,行动决策是用TensorFlow或另一个合适的机器学习库制定的————通过开放的套接字与ML-Agent的Python API进行沟通。另一种模式是内部的,在这里,艾真体的行动决策是通过使用嵌入到项目里(通过嵌入的TensorFlowSharp艾真体)的受过训练的模型来制定的。
Coach 英特尔的Nervana Coach是一款开源的强化学习框架,它用来为游戏、机器人技术和其它基于代理的智能应用程序提供建模、培训并评估智能代理。
 
Coach提供了一个模块化沙盒、可重用组件和Python API,用于合成新的强化学习算法,并在不同的应用领域中培训新的智能应用程序。该框架使用OpenAI Gym,以此作为与不同强化学习环境交互的主要工具。它还支对Gym提供外部扩展,例如Roboschool、gym-extensions、PyBullet和ViZDoom。 Coach的环境包装器允许人们添加其它自定义的强化学习环境来解决其它学习问题。
 
该框架能够在台式计算机上高效地对强化学习艾真体进行训练,并使用多核CPU处理。它为一些强化学习算法提供单线程和多线程实施,包括Asynchronous Advantage Actor-Critic、Deep Deterministic Policy Gradient(深度确定性策略梯度)、Proximal Policy Optimization(近端策略优化)、Direct Future Prediction和Normalized Advantage Function(标准化优势函数)。所有算法都是使用英特尔优化的TensorFlow实现的,有些也可以通过英特尔的Neon深度学习框架获得。
 
Coach涉及到很多强化学习艾真体类型的实施,这包括从单线程实施到多线程实施的过渡。它支持为单线程或多线程(同步或异步)的强化学习实施开发新的艾真体。它支持连续和离散的动作空间,以及仅包含原始度量的视觉观察空间或观察空间。

人工智能开发人员需要的强化学习技能
 
展望未来,人工智能开发人员将需要沉浸在这些框架和其它框架中实施的各种强化学习算法中。你还需要加深对多艾真体强化学习架构的理解,这其中有很多架构大量利用老牌的博弈论研究机构。你还要熟悉深度强化学习,以此来发现计算机视觉应用中与名为“模糊”的攻击方法相关的安全漏洞。
 
版权声明:本文为企业网D1Net编译,转载需注明出处为:企业网D1Net,如果不注明出处,企业网D1Net将保留追究其法律责任的权利。

关键字:人工智能

原创文章 企业网D1Net

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^