淘优惠

淘优惠

OPENAI进化策略学习-强化学习的扩展替代-速度快!

热门文章 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】

openai 入门

本文由谷歌翻译 https://blog.openai.com/evolution-strategies/

进化策略作为加强学习的可扩展替代

我们已经发现,进化策略(ES)是数十年来已知的优化技术,与现代RL基准测试(例如Atari / MuJoCo)的标准强化学习(RL)技术的表现相反,同时克服了许多RL的不便。

特别地,ES更简单实现(不需要反向传播),在分布式设置中更容易扩展,它不会在稀疏奖励的设置中受到影响,并且具有较少的超参数。这个结果令人惊讶,因为ES只是在每个步骤沿着几个随机方向的有限差异的高维空间中简单的爬山。

我们的发现继续以数十年的观念取得强劲成果的现代趋势。例如,在2012年,“AlexNet”论文展示了如何设计,缩放和训练卷积神经网络(CNN),以在图像识别任务上取得非常强大的结果,大多数研究人员认为CNN不是有希望的方法计算机视觉。同样,2013年Deep Q-Learning论文展示了如何将Q-Learning与CNN结合起来,成功地解决了Atari游戏,将RL作为一个具有激动人心的实验(而不是理论)结果的研究领域重新振兴。同样,我们的工作表明,ES在RL基准上取得了强劲的业绩,消除了ES方法不可能适用于高维度问题的普遍观点。

ES易于实现和扩展。在80台机器和1,440个CPU核心的计算机集群上运行,我们的实施能够在10分钟内训练一个3D MuJoCo人形逻辑步行器(32C内的A3C大约需要10个小时)。使用720核心,我们也可以获得与Atari相当的性能,同时将培训时间从1天减少到1小时。

接下来,我们将首先简要描述传统的RL方法,与ES方法对比,讨论ES和RL之间的权衡,最后突出我们的一些实验。

加强学习

我们简单的看看RL的工作原理。假设我们给了一些我们想训练一个代理的环境(比如一个游戏)。为了描述代理的行为,我们定义一个策略函数(代理的大脑),它计算代理在任何给定情况下的行为。实际上,该策略通常是将游戏的当前状态作为输入的神经网络,并计算采取任何允许的动作的概率。一个典型的政策功能可能有大约100万个参数,所以我们的任务是找出这些参数的精确设置,使得策略发挥得很好(即赢得很多游戏)。

上图:在乒乓球游戏中,该策略可以采取屏幕的像素,并计算移动播放器桨叶(以绿色,向右)向上,向下或向下移动的概率。

政策的培训过程如下。从随机初始化开始,我们让代理与环境交互一段时间,并收集交互作品(例如每集是Pong的一个游戏)。因此,我们可以完整地记录发生了什么事情:我们遇到的状态是什么,我们在每个国家采取了哪些行动,以及每个步骤的回报是什么。例如,下面是三个剧集的图,每个剧集在假设环境中花费10个时间步长。每个矩形都是一个状态,如果奖励是积极的(例如,我们刚刚得到了球,我们的对手)和红色(如果我们错过了球)

这个图表提出了我们如何改进政策的方法; 无论我们遇到哪些导致绿色国家的事情都是好的,无论我们在导致红色地区的国家发生什么事情都是糟糕的。然后,我们可以使用反向传播来计算网络参数的一个小的更新,这将使得将来在这些状态中的绿色行为更有可能,并且将来这些状态的红色行为更不可能。我们期望更新的政策的效果会更好一些。然后我们重复该过程:收集另一批剧集,进行其他更新等。

在行动中注入噪音进行探索。我们通常在RL中使用的策略是随机的,因为它们只计算采取任何动作的概率。这样,在培训过程中,代理商可能会发现自己处于特定状态多次,而在不同的时间,由于采样,代理人将采取不同的行动。这提供了学习所需的信号; 其中一些行动将导致良好的结果,并得到鼓励,其中一些行动将不会奏效,并且不鼓励。因此,我们说,我们通过在代理人的行动中注入噪音来引入对学习过程的探索,我们通过从每个时间步骤的行动分配中抽取出来。这将与ES形成对比,下面我们将介绍ES。

进化策略

关于“进化”。在我们深入研究ES方法之前,重要的是要注意,尽管“进化”一词,ES与生物进化无关。这些技术的早期版本可能受到生物进化的启发,并且在抽象层面上,该方法可以被视为对个人群体进行抽样,并允许成功的个人决定子孙后代的分布。然而,数学细节从生物进化中大大抽象出来,最好将ES看作是一类黑盒随机优化技术。

黑箱优化。在ES中,我们完全忘记了有一个代理,一个环境,有神经网络涉及,或者交互发生在一段时间内等等。整个设置是1,000,000个数字(这恰好描述了策略网络的参数)进去,1号出来(总奖励),我们想找到最好的设置的1,000,000个数字。在数学上,我们会说,我们正在优化一个函数关于输入向量(网络的参数/权重),但是我们不作任何关于结构的假设,除了我们可以评估它(因此“黑盒子”) 。

ES算法。直觉上,优化是一个“猜测和检查”过程,我们从一些随机参数开始,然后反复1)随机调整猜测,并且2)将我们的猜测略微移动到任何调整工作更好。具体来说,在每个步骤中,我们采用参数向量,并通过高斯噪声抖动生成一个例如100个略微不同的参数向量的群体。然后,通过在环境中运行相应的策略网络一段时间,对100位候选人中的每一个进行独立评估,并在每种情况下加起来所有的奖励。更新的参数向量然后变为100个向量的加权和,其中每个权重与总奖励成比例(即,我们希望更成功的候选者具有更高的权重)。在数学上,你会注意到,这也等同于使用有限差分来估计参数空间中的预期奖励的梯度,除了我们只沿着100个随机方向。另一种看法的方法是,我们仍然在执行RL(策略渐变,或者是具体的REINFORCE),代理的动作是使用高斯策略发出整个参数向量。

以上:ES优化过程,在一个只有两个参数的设置和一个奖励功能(红色=高,蓝色=低)。在每次迭代中,我们显示当前参数值(以白色),一组抖动样本(黑色)和估计的梯度(白色箭头)。我们继续将参数移动到箭头的顶部,直到我们收敛到局部最优值。你可以用这个笔记本来再现这个数字。

代码示例。为了使核心算法具体化并突出显示其简单性,以下是使用ES优化二次函数的简短示例(或者参见具有更多注释的更长版本):

注入噪声参数。请注意,目标与RL优化的目标相同:预期奖励。然而,RL在动作空间中注入噪声,并使用反向传播来计算参数更新,而ES会在参数空间中直接注入噪声。另一种描述这种情况的方法是,RL是对动作的“猜测和检查”,而ES是对参数的“猜测和检查”。由于我们在参数中注入噪声,因此可以使用确定性的策略(我们在实验中做)。还可以在动作和参数中添加噪声,以潜在地组合这两种方法。

ES与RL之间的权衡

ES具有比RL算法多的优点(其中有些技术有点技术性):

  • 不需要反向传播。ES仅需要策略的向前传递,并且不需要反向传播(或值函数估计),这使得代码在实践中缩短了2-3倍。在内存受限制的系统上,还没有必要保留这些剧集的记录以供以后更新。也不必担心RNN中的爆炸梯度。最后,我们可以探索一个更大的功能类的策略,包括不可区分的网络(如二进制网络)或包含复杂模块(例如寻路或各种优化层)的功能类。
  • 高度可并行化 ES只需要工作人员在彼此之间传递几个标量,而在RL中,需要同步整个参数向量(可以是数百万个数字)。直观地,这是因为我们控制每个工人的随机种子,所以每个工人都可以在当地重构其他工人的扰动。因此,我们需要在工人之间进行沟通的一切就是每次扰动的回报。因此,我们在实验中观察到线性加速,因为我们添加了数千个CPU内核的顺序进行优化。
  • 更强的鲁棒性 在RL实现中难以设置的几个超参数在ES中是侧向的。例如,RL不是“无规模的”,所以可以通过Atari中的帧跳过超参数的不同设置来实现非常不同的学习结果(包括完全失败)。正如我们在我们的工作中所展现出来的,ES对任何帧跳转都很好。
  • 结构性探索。一些RL算法(特别是策略梯度)通过随机策略初始化,这通常表现为长时间存在的随机抖动。由于epsilon-greedy策略,这种效果在Q-Learning中得到缓解,其中最大操作可能导致代理在一段时间内执行一些一致的操作(例如按住向左箭头)。这比游戏中的某些事情更有可能发生在现场,如策略渐变的情况。与Q学习类似,ES不会遇到这些问题,因为我们可以使用确定性政策并实现一致的探索。
  • 长时间的信用分配。通过在数学上研究ES和RL梯度估计,我们可以看到,ES是一个有吸引力的选择,特别是当事件中的时间步长很长时,其中动作具有长久的影响,或者如果没有良好的值函数估计可用。

相反,我们也在实践中发现了应用ES的一些挑战。一个核心问题是为了使ES工作,在参数中添加噪声必须导致不同的结果以获得一些梯度信号。正如我们在论文中详细阐述的,我们发现使用虚拟批处理可以帮助缓解这个问题,但进一步的工作是有效地将神经网络参数化为具有可变行为作为噪声的函数。作为一个相关困难的例子,我们发现在Montezuma的“复仇”中,一个人不太可能用随机网络获得第一级的关键,而偶尔也可以随机采取行动。

ES与RL有竞争力

我们比较了两个标准RL基准测试的ES和RL的性能:MuJoCo控制任务和Atari游戏。每个MuJoCo任务(见下面的例子)包含一个物理模拟的关联数字,其中策略接收所有关节的位置,并且必须输出扭矩以在每个关节处应用以向前移动。以下是针对三个MuJoCo控制任务进行培训的一些示例代理人,目标是向前推进:

我们通常通过从数据学习的效率来比较算法的性能; 作为我们看到的状态的函数,我们的平均报酬是多少?与RL(本例中的TRPO算法)相比,我们获得的示例学习曲线如下:

数据效率比较。上述比较表明,ES(橙色)可以达到与TRPO(蓝色)相当的性能,尽管它在所有情况下都不太匹配或超越它。此外,通过水平扫描,我们可以看到ES效率较低,但不超过约10倍(注意x轴为对数刻度)。

墙钟比较。而不是看原始的状态,可以说,最重要的指标是挂墙时钟:解决给定问题需要多长时间(以秒为单位)?这个数量最终决定了研究人员可以达到的迭代速度。由于ES要求工作人员之间的沟通可以忽略不计,所以在10分钟之内,我们能够在80台机器上使用1,440个CPU解决最难的MuJoCo任务之一(一个3D人形生物)。作为比较,在一个典型的设置中,一台机器上的32名A3C工作人员将在大约10个小时内解决这个任务。RL的性能也可以通过更多的算法和工程努力来改善,

以下是有关ES的3D人形步行者的几个视频。我们可以看到,结果有很多种,基于哪个局部最小化优化结束。

在Atari,ES在1小时内训练了720个核心,与1天内在32个核心上训练的A3C相当。以下是Pong,Seaquest和Beamrider的一些结果片段。这些视频显示了预处理帧,这正是代理人在播放时看到的帧:

特别要注意的是,Seaquest潜艇正确地学会了当氧气达到低水平时上升。

相关工作

ES是一种来自神经演化文献的算法,在AI中具有悠久的历史,完整的文献综述超出了本文的范围。然而,我们鼓励有兴趣的读者来看WikipediaScholarpedia和JürgenSchmidhuber的评论文章(第6.6节)。最密切告知我们的方法的工作是Wierstra等人的“ 自然进化策略” 与这项工作及其启发的大部分工作相比,我们的重点专注于将这些算法扩展到大规模,分布式设置,查找使深层神经网络(例如虚拟批量规范)更好地运算算法的组件,并对现代的RL基准进行评估。

还有一点值得注意的是,神经演化相关方法已经看到机器学习文献中最近的一些复苏,例如HyperNetworks“图像分类器的大规模演进”“进化卷积

结论

我们的工作表明,神经演化方法可以与现代代理 - 环境基准上的强化学习方法相竞争,同时提供与代码复杂性相关的显着优点,并且易于扩展到大规模分布式设置。我们还期望通过从这一工作线路中重新审视其他想法,例如间接编码方法,或除参数之外的网络结构演进,还可以做出更多精彩的工作。

有关监督学习的注意事项。同样重要的是要注意,可以通过反向传播计算损失函数的精确梯度的监督学习问题(例如图像分类,语言识别或行业中的其他任务)不受这些发现的直接影响。例如,在我们的初步实验中,我们发现使用ES估计MNIST数字识别任务的梯度可能比使用反向传播慢多达1000倍。只有在RL设置中,必须通过抽样来估计预期奖励的梯度,其中ES变得具有竞争力。

代码发布。最后,如果您想尝试自己运行ES,我们鼓励您通过阅读我们的论文或查看我们的Github回购代码来深入了解详细信息 。


openstack


OpenAI Gym是一款用于研发和比较强化学习算法的工具包,它支持训练智能体(agent)做任何事――从行走到玩Pong或围棋之类的游戏都在范围中。

OpenAI Gym 是一个用于开发和比较RL 算法的工具包,与其他的数值计算库兼容,如tensorflow 或者theano 库。现在主要支持的是python 语言,以后将支持其他语言。官方提供的gym文档

OpenAI Gym包含两部分:

  • gym 开源 包含一个测试问题集,每个问题成为环境(environment),可以用于自己的强化学习算法开发,这些环境有共享的接口,允许用户设计通用的算法,例如:Atari、CartPole等。

  • OpenAI Gym 服务 提供一个站点和api ,允许用户对自己训练的算法进行性能比较。

强化学习是机器学习的一个分支,目的是开发出智能体(Agent)做出决策和控制。

  • RL涵盖了所有涉及制定一系列决策的问题,如控制机器人的动作,玩游戏 video games , board games RL甚至可以应用于序列与结构化输出的问题上。
  • RL已经有很长的历史,随着深度学习的出现近些年已经在许多复杂的问题上有着很好的表现,比如DeepMind’s Atari results, BRETT from Pieter Abbeel’s group, and AlphaGo,这些工作没有对环境做过多的假设,都运用了RL。

但是,RL也面临以下挑战:

  • 更好的benchmarks:在监督学习中有ImageNet,而强化学习只有庞大的环境集合。但是目前这些环境还是缺少多样性。
  • 缺少标准化的环境 :环境中很小的差异将大大改变问题的难度,因此发表过的研究工作无法重现和比较。

然后――OpenAI Gym出现了。

?

OpenAI Gym提供了多种多样的环境,从简单到困难,并涉及到许多不同类型的数据:

?

  • Classic control and toy text: 提供了一些RL相关论文中的一些小问题,开始学习Gym从这开始!
  • Algorithmic: 提供了学习算法的环境,比如翻转序列这样的问题,虽然能很容易用直接编程实现,但是单纯用例子来训练RL模型有难度的。这些问题有一个很好的特性: 能够通过改变序列长度改变难度
  • Atari: 这里提供了一些小游戏,比如我们小时候玩过的小蜜蜂,弹珠等等。这些问题对RL研究有着很大影响!
  • Board games: 提供了Go这样一个简单的下棋游戏,由于这个问题是多人游戏,Gym提供有opponent与你训练的agent进行对抗。
  • 2D and 3D robots: 机器人控制环境。 这些问题用 MuJoCo 作为物理引擎。
  • 当然还有很多好玩的问题,比如CNN的自动调参、Minecraft等。

    用户可以记录和上传算法在环境中的表现,生成评估报告。

    • 用户可以使用Monitor Wrapper包装自己的代码环境,Gym记录算法的性能。
    • 用户上传自己模型的Gist,可以生成评估报告,还能录制模型玩游戏的小视频。

    在每个环境下都有一个排行榜,用来比较大家的模型表现。

?


OpenAI 3D 模型生成器Point-E极速体验

openai官网,openai 百度百科,openai为什么在中国用不了,openai 马斯克

3090显卡,极速体验三维模型生成,体验地址:Gradio

文本生成图像的 AI 最近已经火到了圈外,不论是 DALL-E 2、DeepAI 还是 Stable Diffusion,人人都在调用 AI 算法搞绘画艺术,研究对 AI 讲的「咒语」。不断进化的技术推动了文生图生态的蓬勃发展,甚至还催生出了独角兽创业公司 Stability AI。

本周,OpenAI 开源的 3D 模型生成器 Point-E 引发了 AI 圈的新一轮热潮,Point-E 可以在单块 Nvidia V100 GPU 上在一到两分钟内生成 3D 模型。相比之下,现有系统(如谷歌的 DreamFusion)通常需要数小时和多块 GPU。

论文《Point-E: A System for Generating 3D Point Clouds from Complex Prompts》:

  • 论文链接:https://arxiv.org/abs/2212.08751

  • 项目链接:https://github.com/openai/point-e

Point-E 不输出传统意义上的 3D 图像,它会生成点云,或空间中代表 3D 形状的离散数据点集。Point-E 中的 E 是「效率」的缩写,表示其比以前的 3D 对象生成方法更快。不过从计算的角度来看,点云更容易合成,但它们无法捕获对象的细粒度形状或纹理 ------ 这是目前 Point-E 的一个关键限制。

为了解决这一问题,OpenAI 团队训练了一个额外的人工智能系统来将 Point-E 的点云转换为网格。

Point-E 架构及运行原理

在独立的网格生成模型之外,Point-E 主要由两个模型组成:文本到图像模型和图像到 3D 模型。文本到图像模型类似于 OpenAI 自家的 DALL-E 2 和 Stable Diffusion 等生成模型系统,在标记图像上进行训练以理解单词和视觉概念之间的关联。在图像生成之后,图像到 3D 模型被输入一组与 3D 对象配对的图像,训练出在两者之间有效转换的能力。

Point-E 通过 30 亿参数的 GLIDE 模型生成综合视图渲染,内容被馈送到图像到 3D 模型,通过一系列扩散模型运行生成的图像,以创建初始图像的 3D RGB 点云 ------ 先生成粗略的 1024 点云模型,然后生成更精细的 4096 点云模型。

Point-E 的点云扩散模型架构。图像通过一个冻结的、预训练的 CLIP 模型输入,输出网格作为标记输入到 transformer 中

OpenAI 研究人员表示,在经过「数百万 3D 对象和相关元数据的数据集上训练模型后,Point-E 拥有了生成匹配文本提示的彩色点云的能力。Point-E 的问题和目前的生成模型一样,图像到 3D 转换过程中有时无法理解文本叙述的内容,导致生成的形状与文本提示不匹配。尽管如此,根据 OpenAI 团队的说法,它仍然比以前的最先进技术快几个数量级。

Point-E将点云转换为网格

OpenAI 在论文中表示,「虽然 Point-E 在评估中表现得比 SOTA 方法差,但它只用了后者一小部分的时间就可以生成样本。这使得 Point-E 对某些应用程序更实用,或者可以利用效率获得更高质量的 3D 对象。」

除了Point-E,还可以体验最新Stable diffusion-v2绘画模型,免注册,免安装,不用显卡,在线体验,有网就行!

在线体验地址:Stable Diffusion 模型包括:

  • NovelAI,NovelAI的模型训练使用了数千个网站的数十亿张图片,包括 Pixiv、Twitter、DeviantArt、Tumblr等网站的作品。

  • Waifu,waifu的模型可用于生成二次元的卡通形象,可以生成独有的二次元动漫小姐姐和主人公

  • Stable diffusion-v2,以英文为输入的通用图像生成模型

在线体验地址:Stable Diffusion

  • 太乙模型,首个开源的中文Stable Diffusion模型,基于0.2亿筛选过的中文图文对训练。