淘优惠

淘优惠

深度强化学习之PG系算法笔记(三)PPO算法

热门文章 0
pga算法

在对策略梯度算法进行学习时参考了以下文章内容,谨向以下作者以及文章中转载相关的李宏毅老师等表示感谢:

LGC:【强化学习8】PPOProximal Policy Optimization(PPO)算法原理及实现!

正如其名所示,PPO可以借鉴在策略参数相近的训练数据来训练提升自身策略,因而是一种异步策略方法。

(一)PPO算法

1.重要性采样方法介绍与分析

重要性采样的公式表示如下:

如上图可以看出,实际上只是做了一个技巧,通过两个采样的概率密度比值来明确分布q在某点采样之于分布p在某点采样的参考程度,将f(x)对于分布p分布的期望值转化为相对于另一个分布q的期望值,即在已知q分布各点采样值时,通过各采样点的重要性参数p(x)/q(x)是可以还原出p分布在该点的采样值,因此可以将策略q下的采样数据用于策略p的训练。

2.利用重要性采样来解决相近策略参数的使用问题

由重要性采样,将原有策略梯度算法中的梯度计算方式进行调整:

而后还需要使用一个近似、一个替代:

①近似认为两个策略在状态上的概率值基本相等即:

②在工程实现时使用的异策略的数据轨迹,因而还需要将优势函数替代成为异策略的优势函数,即:

从而得到最终梯度计算公式:

从而得出目标函数:

由于以上近似的原因,实际上所使用的异步策略与原策略之间的差距不应过大,否则会方法则不适用。因此,对于距离约束后便得出PPO算法。

3.第一版PPO算法(Deepmind)

在优化的目标函数加入KL散度来约束两个策略参数之间的距离:

如果π’θ’与之间πθ的KL散度大于DKLmax则增加β,加大对θ更新的惩罚,不鼓励参数θ大幅更新;如果π’θ’与之间πθ的KL散度小于DKLmin则增加β,减小对θ更新的惩罚,鼓励参数θ大幅更新。

可以看出,第一版PPO算法与TRPO算法基本近似,两个算法均使用了重要性采样的方法得出了包含替代优势(surrogate advantage)的目标函数。但在替代优势(surrogate advantage)的表示上两个原参数点值θ与新参数点θ’分别处在不同的分子分母位置上,这是因为两算法是从不同角度出发来思考的,TRPO算法的出发角度是在一定的区域范围内找到一个梯度的最优更新方向,因此底层交互的是原参数值θ对应的策略数据轨迹;而PPO算法考虑的是怎样利用某参数点附近区域的策略产生的数据来训练该参数点上的数据,因此底层交互的是新参数值θ’对应的策略数据轨迹,在两个算法中替代优势项分别起到比较两个参数点优势与参数优势数据转化运用的作用。

需要注意的是,目前仍有一些PPO算法解释中并未将PPO与TRPO算法的这种同步策略更新与异步更新的区别明确讲出来,而是将PPO作为TRPO的数学简化版来使用,可以说有一些可惜。

4.第二版PPO算法(OpenAI)

第二版是OpenAI号称正版的PPO算法,因为据OpenAI称第一版成果其实是被Deepmind所窃取了,其主要特点是使用截断函数来控制参数的梯度更新:

上式主要对于重要性采样获得的参数进行了截断化处理,可知πθ/π’θ’=1时,参数对应的两个策略是相等的,截断后使其在1-ε与1+ε之间变化,此时分两种情况讨论:

①当A<0时,重要性采样项限制最小值为1-ε,可以理解为当前参数点策略优势差时,确保原参数θ对应策略的重要程度不得小于某一值,因而参数在进行梯度更新时即控制了最小步长;

②当A>0时,重要性采样项限制最大值为1+ε,可以理解为当前参数点策略优势好时,确保原参数θ对应策略的重要程度不得大于某一值,因而参数在进行梯度更新时即控制了最大步长。

李弘毅老师在图上有了明确的描述(参数定义上略有不同,因而在此直接引用):

其中,红线代表最终截断后的结果。

5.伪代码

(二)DPPO(Distributed PPO)算法

顾名思义,DPPO就是PPO的分布式版本,是可用于多进程训练的PPO,由于PPO要求近端策略,因而与分布式结构是绝配。

DPPO的结构分为两层,上层为Chief主要负责更更新并下发网络参数;下层Worker主要负责按照下发参数执行策略并与环境交互,产生梯度并回传至Chief来修正网络。优势函数由以下公式来更新:

下面给出的是算法伪代码是一种将PPO作为TRPO简化版的同步策略训练方法。

1.核心网络端(Chief端)

设共有W个Worker,对于N个mini-batch,其actor与critic网络分别更新迭代M步与B步,表示至少W-D个梯度可用,则对所有更新梯度值求平均,并以梯度平均值来更新全局参数。

2.执行网络端(Worker端)

首先循环计算K步,估计累积反馈值以及优势函数。而后按照PPO(D版)方法来计算目标函数与梯度,并将梯度发送至Chief端。更新对于Critic网络中状态价值V的更新:

注意,其中回归运算使用的是Rt-V(s)的形式,实际上RtQ(s,a)值,为何回归的优化目标是令V=Q?原因是V值实际上是策略下动作价值Q的期望值,因此整个求和的过程正中两个值经多次累加后应相等。



马斯克为何被open ai踢出局 马斯克谈openai

马斯克为何被称为钢铁侠,马斯克为何被称作钢铁侠,马斯克为何被妻儿

特斯拉CEO、Open AI联合创始人马斯克

凤凰科技讯 北京时间12月16日消息,硅谷名人马斯克创建了人工智能公司Open AI,并表示将开源其研究成果分享给研究人工智能的每一个人。国外知名科技媒体《连线》杂志发表评论文章,称开源的Open AI的成立将人工智能研究推向高潮,同时也转变了目前由谷歌、Facebook等巨头引领的人工智能领域竞争格局。未来,Open AI有望成为这一领域的监管者,将其引向对人类更为安全的发展轨迹上来。

以下为文章全文:

特斯拉CEO埃隆·马斯克(Elon Musk)和创业孵化器Y Combinator总裁山姆·奥特曼(Sam Altman)担心,人工智能将会接管世界。因此,两位企业家计划建立一家投资额为10亿美元,不以追求利润为目标的公司,希望发挥人工智能的最大潜力,然后将它分享给想要使用人工智能技术的每一个人。

更安全的人工智能技术

至少这是马斯克和奥特曼在宣布他们新举措时想要传达的信息,两人建立了一家史上前所未有的新公司OpenAI。奥特曼在OpenAI成立时接受了科技网站Backchannel创始人史蒂芬·列维(Steven Levy)的采访,他表示,这一长达数十年的项目预计将超过人类智力。但是他们相信,任何风险都会降低,因为这项技术将会供所有人使用,而不是只有谷歌等公司使用。

列维很自然地问道,他们的免费分享策略是否会让人工智能技术实际上被坏人所利用,最终将尖端技术提供给现实世界的“邪恶博士”(Dr. Evils)。不过奥特曼认为,这一风险不会太大。他们认为,大众的力量将超过少数邪恶人的力量。“正像人类与邪恶博士斗争一样,大多数人是好的,人类的集体力量中可以包含一些不安定因素,”奥特曼称,“我们认为,更有可能的是,许多人工智能技术将阻止少数坏人为非作歹。”

这一看似有悖常理的观点能否站得住脚,还需要多年时间的验证。超人类的人工智能就算能够实现,也需要漫长的时间。“这一想法在直觉上有很大吸引力,”亚利桑那州立大学博士生米尔斯·博鲁达(Miles Brundage)在谈到OpenAI时表示,他专注于科学和技术领域的人类和社交层面研究,“但它还不是一个很清楚的论点。就目前我们所处的环境而言,还没有人工智能系统能够接管世界,在可预见的未来也不会有。”

但是随着OpenAI的建立,将有更多人开始研究如何开发出能够主导世界的超人类智力,而不是只让它停留在理论基础上。从短期来看,OpenAI人工智能最佳决策 人工智能的基础哲学问题探秘人工智能最佳优先搜索,人工智能最佳的研究途径,人工智能最佳期刊排名,最智能的人工智能

展开全文

选自 Quora

作者:Oren Etzioni

机器之心编译

参与:Chen Xiaoqing、紫薇、孙睿

Oren Etzioni, 艾伦人工智能机构 CEO,Farecast创始人, 华盛顿大学教授。本文是 Quora 上,他回答人工智能相关问题的汇总。

你看到了深度学习的哪些缺点?

深度学习已经成为了近些年最耀眼的成就,但是它仍然仅仅作为分类(或非线性回归)的工具。

我们已经看到了人工智能在图像、语音片段、甚至棋盘布局上越发精确的分类结果,但是它需要摆脱分类和回归的局限。让我们来讨论一下 AlphaGo 吧,它是 DeepMind 团队的一个引人注目的技术成就。

但是,对于 AlphaGo 成功的大肆吹捧,无异于一个人爬到了树顶就宣称「我马上就能登上月球了!」

当然,下面就是我要给出的原因:

  • AlphaGo 是基于海量的标签化数据,这在游戏中是可以轻易实现的,但在其他的环境下很难做到。例如, 在 Semantic Scholar 网页中将所有引述分类为「具有影响力」以及「不具有」――未标签化的数据实在太多――标签化数据难以实现。

  • 我们不知道如何在深度学习系统内植入复杂的背景知识或逻辑推导能力。

  • AlphaGo 基于一套手动的神经网络,并且各个应用之间需要转换。

  • AlphaGo 依赖人类去指定输入表征以及输出目标类别――它不能自我指定。

  • 在许多情况下,仅仅是指定适合的类别也会由于对象的细微和模糊性,变得十分困难。

我们底线在于:当我们成功的定义了一个目标方程,并将现实任务降维成一个优化问题的时候――我们的计算机科学 「肌肉」会高速运转,然后通过足够的数据和(迟早都会)成功的表征,我们可以解决这个任务。然而,许多问题并非结构良好的,仅仅将它们形式化就可能需要额外的分析。例如,我们该如何才能以正式的方式写出一个句子的含义?

大部分这些评论都不仅仅针对 AlphaGo 或深度学习,而是适用于所有监督式学习程序。正如 Alan Newell 所说:「你无法和大自然进行智力竞猜然后获得胜利!」

多亏了伟大的 Geoff Hinton ――思维并不是一个向量,人工智能也并不是一个统计学问题。

艾伦人工智能机构是一个怎样的机构?你关注的核心又是什么?

位于西雅图的艾伦人工智能机构(AI2)是一家非盈利研究机构。我们的任务是通过具有高影响的人工智能研究与工程去造福人类。或者更加简洁点:创造服务社会的人工智能。AI2 由 Paul Allen 在 2014 年创立,现在有 50 位研究人员与工程师,并还在迅速增长之中。

因为我们将长期的研究,同目标驱动并以团队为核心的创业思维相结合,来解决一些大学没有足够资源支撑的项目。我们没有申请研究资金来完成研究的压力,也不用担心要为风投机构或股东们创造利润的问题。

Jeff Hammerbacher 曾经说过一句著名的话:「我们这一代人最聪明的人都在绞尽脑汁地思考怎么让人们点击广告,这糟透了。」

相反地,我们有研究员和工程师肩并肩去奋斗在类似 Semantic Scholar 这样的项目上,它有潜力通过最精尖的人工智能和工程来造福人类。

这个项目的长期愿景是:

「说不定有一个不可治愈的癌症的治愈方法,就隐藏在上千篇乏味的临床医学研究报告中呢?在 20 年之后,人工智能将可以阅读――更加重要的是去理解――科学文章。这些人工智能读者将会连接起不同研究的关键点,识别出新奇的假设,并从而提出一些可能会被错过的实验建议。」

「人工智能为基础的探索引擎将会帮助找到科学界最复杂的问题的答案。」

你怎样看待 OpenAI ?

OpenAI 对于人工智能生态系统来说是一个强力的辅助,并且拥有着 Deep Learning 相关研究者组成的优秀团队。我希望我们能够达成合作,并希望他们不需要放弃非盈利的最初愿望。

让我很高兴的是,他们启用了由艾伦人工智能机构所激发的使命宣言,也就是「为了人类共同利益的人工智能」。

对于 Elon Musk 针对人工智能所称的「释放了恶魔」,但依然在许多人工智能公司,诸如 OpenMind、Vicarious、以及现在的 OpenAI 人工智能研究这一事实,我其实非常困惑。接着,又有了特斯拉公司....

人工智能对于人类是存在意义上的威胁吗?

Andrew Ng 曾经说过有名的一句话:「担心人工智能会变成邪恶的事物,就像担心火星将会人满为患一样,为时过早」。

好莱坞(以及媒体)一直都沉浸在「人工智能的存在威胁」,但忽视了下面的事实:

  • 产生一个「真正」的人工智能系统――而不是像 AlphaGo 和深蓝这样狭隘意义上的「学者」――所面对的技术挑战是难以想象的。

  • 人工智能在预防车辆事故、医疗误诊等等方面给社会带来的巨大潜力。

实际上,沉浸在对不切实际的遥远未来的担心,导致人们忽略了人工智能可能在近期带来的真正问题:它对于就业或武器制度的影响。

此外,要记住,未来不会只单独出现一个人工智能――多个人工智能系统可以实现「相互制衡」。

除了语言 视觉之外,艾伦人工智能机构是否对于纯粹的计算机视觉问题也很感兴趣?

没错,我们正在 AI2 积极地研究几个核心的计算机视觉问题,并且有厉害的 Ali Farhadi 指导我们。

除了我们在科学问题的视觉化理解上的努力之外,我们还在关注许多其它的视觉问题,诸如常识的获取、物理学知识、高效的深度学习解决方案、场景理解以及目标探测。

我们研究的一个重点就是理解场景内目标的物理特征。能够理解作用力与物体之间的互动,是视觉逻辑推导的一个重要组成部分。

最近,我们提出了一个二叉(binary)的深度学习框架,将网络的规模降低了接近32倍,提供了在有限容量的可移动设备加载深度学习网络的可能性。

我们在目标探测和场景理解上有许多研究。例如,就在最近的一个研究中,我们以每秒155帧的速度处理场景,同时仍然维持了超出其他实时目标探测器的两倍的优秀表现。

你最期待看到了哪一个工业被人工智能所影响?

人工智能能够在下面几个行业中挽救人们的生命:

  • 交通业:人工智能会预防许多许多的事故。

  • 医疗健康:人工智能可以帮助医疗诊断的错误,帮助创造新的革新性的治疗手段。

  • 矿业与消防行业:机器人将会有一天接手这些危险的职业。

当然,我们现在必须要问一下自己:这对于人类的职业会又怎样的影响?我们如何确保这些行业中被取代的人们不会成为人工智能成功的牺牲品。

为什么相比于深度学习,艾伦人工智能机构更加关注 GOFAI(Good Old-Fashioned Artificial Intelligence,有效的老式人工智能)?

GOFAI 由一套问题和一套技术解决方案组成。领域的基础问题并没有改变,仍需要被解决。GOFAI 技术解决方案并没有被证明有扩展性,因此我们希望用包括深度学习、其他形式的机器学习,ILP 以及更多的现代化的方案取代它们。

在建立 Semantic Scholar 上有哪些特殊的人工智能问题需要被解决?

Semantic Scholar 利用 NLP(自然语言处理)、文本挖掘、信息提取和视觉技术去帮助科学家对抗过度载荷的信息,将更多精力放在核心论文与重要的结果上。通过这些方法,我们能够提供下列独一无二的特征:

  • 为论文识别最具影响力的引用――可以超过10倍的数量减少你需要的考虑的论文。

  • 自动生成因子去过滤论文结果,包括所利用的数据库、关键词与论文元数据例如作者与会议。

  • 我们可以自动获取与一篇论文有关的数字与图表。

所有这些问题都具有挑战性,因为我们从处理论文的 PDF 版本,这意味着要展示出论文,但通常不包含关键的语义信息。

四年级或八年级的科学测验对如今的人工智能来说,难道不是一个成功率极低的尝试吗?为什么不从一些简单的任务开始,比如说从视频里的对世界的基本理解?

科学问题十分具有挑战性,因为它们涵盖了巨大种类的话题,常常从商业运作跨度到科学知识,也频繁的充斥着各种图标及其文字。

举个例子,一个小学四年级的问题如下:

四年级的同学们正打算举行一场滑旱冰比赛。下列哪一种表面最适合比赛?

(A) 石子路

(B) 沙子路

(C) 柏油路

(D) 草坪

这道题要求你掌握关于滑旱冰和不同材料的基本知识,还有关于运动的科学知识。

从我们在 AI2 的实际操作来看,四年级科学确实看起来可以触及。我们的 Aristo 系统现今能在纽约校务委员会的四年级科学测验中得到接近 50% 的得分,并继续提高着(65% 算及格),而我们的工作包括解决问题上的进步:对解决一些需要简单的道理论证和图像理解(对某些种类图像)的提升。基础科学十分适合作为发展人工智能的一个领域,因为它可以被清晰的计量,并且为各种任务――从一些简单的到一些需求深度理解的――提供循序渐进的推进。这之前已经有几个人工智能带来巨大进步的例子了:它通过选取那个正好的问题来进行专攻。我们相信基础科学很适合被运用在这件事上。

八年级科学比四年级科学难了许多。问题更长、包含了更多复杂的图表、还对更深层的推理有要求。然而就算这样,也有证据表明我们可以达到进步。举个例子,在 2015 年的艾伦人工智能八年级科学挑战上,最优秀的系统在无图表、多选问题上取得了 60%的成绩,而能够运用更高等数学和几何来进行推理的系统也取得了良好的表现。不论需要花多长时间才能及格,这些挑战为激发在这一领域的显著的、新新的进步创造了一个美好的背景。

要深度阅读请见论文:/papers.html我们的公共数据库:: /data.html

在运用神经网络来达到信息提取的过程中,有什么有趣的研究问题和方向吗?

许多的信息提取的核心有一套概念学习方法。举个例子,TextRunner (在 Open Information Extraction 可以看到相关演示)依赖于一个 CRF 从一句话里提取各类关系。我们很自然的会考虑:如果我们用一种 LSTM 为基础的解决方法来代替 CRF 会怎么样?

具体实例请见论文:Semantic Scholar (/paper/End-to-end-Relation-Extraction-using-LSTMs-on-Miwa-Bansal/23d1e3436ec530185be1fd067eba150fd9802be9)

一个巨大的问题则变成:我们如何去生成股走数量的被标记了的数据。

当然了,我们就会想到「远程监控」(distant supervision),而远程监控(它生成各类嘈杂的标签)和深度学习(它合理而强大的对应噪声)的结合也变得十分有趣......

对于一个初级研究者来说,为艾伦学院工作和为一个大学实验室工作不同吗?

在 AI2 工作意味着你不需要写那些宏大的提议(因为我们有全额的资助),你也不需要教书。相反,你能够全身心地专注于前沿的研究上。除此之外,你将会近距离的与顶尖的工程师、研究人员们一起团队协作。人们热爱 AI2 里要解决的难题、团队的热情、还有进展速度。

见:在艾伦人工智能机构工作( Working at Allen Institute for Artificial Intelligence)见:什么事艾伦学院?你的专攻是什么?(What is the Allen Instiute? What are you focused on?)

怎么用平常人的话来描述「Semantic Scholar

这是一个通过人工智能实现高级筛选的用于科学论文搜索的搜索引擎。

见:为了建造「Semantic Scholar」,有哪些具体的人工智能问题必须被解决?( What are some specific AI problems that had to be solved to build semantic scholar? )

Semantic Scholar」怎样是使用机器学习的?

见:为了建造「Semantic Scholar」,有哪些具体的人工智能问题必须被解决?( What are some specific AI problems that had to be solved to build semantic scholar?)

本文由机器之心编译,转载请联系本公众号获得授权

------------------------------------------------

加入机器之心(全职记者/实习生):hr@almosthuman.cn

投稿或寻求报道:editor@almosthuman.cn

广告&商务合作:bd@almosthuman.cn