您的位置:首页 > 互联网

PARL源码走读——使用策略梯度算法求解迷宫寻宝问题

发布时间:2019-05-16 19:11:14  来源:互联网     背景:

  前不久,百度发布了基于PaddlePaddle的深度强化学习框架PARL。git传送门

  作为一个强化学习小白,本人怀着学习的心态,安装并运行了PARL里的quick-start。不体验不知道,一体验吓一跳,不愧是 NeurIPS 2018 冠军团队的杰作,代码可读性良好,函数功能非常清晰,模块之间耦合度低、内聚性强。不仅仅适合零基础的小白快速搭建DRL环境,也十分适合科研人员复现论文结果。

  废话不多说,我们从强化学习最经典的例子——迷宫寻宝(俗称格子世界GridWorld)开始,用策略梯度(Policy-Gradient)算法体验一把PARL。

  模拟环境

  强化学习适合解决智能决策问题 。如图,给定如下迷宫,黑色方格代表墙,黄色代表宝藏,红色代表机器人;一开始,机器人处于任意一个位置,由于走一步要耗电,撞墙后需要修理,所以我们需要训练一个模型,来告诉机器人如何避免撞墙、并给出寻宝的最优路径。

  接下来,定义强化学习环境所需的各种要素:状态state、动作action、奖励reward等等。

  state就是机器人所处的位置,用(行、列)这个元组来表示,同时可以表示墙:

  

  使用random-start策略实现reset功能,以增加初始状态的随机性:

 

  定义动作action,很显然,机器人可以走上下左右四个方向:

  

  定义奖励reward,到达终点奖励为10,走其他格子需要耗电,奖励为-1:

 

  另外,越界、撞墙需要给较大惩罚:

 

  至此,强化学习所需的状态、动作、奖励均定义完毕。接下来简单推导一下策略梯度算法的原理。

  策略梯度 (Policy-Gradient) 算法是什么?

  我们知道,强化学习的目标是给定一个马尔可夫决策过程,寻找出最优策略。所谓策略是指状态到动作的映射,常用符号 $\pi$表示,它是指给定状态 s 时,动作集上的一个分布,即: $$\pi (a|s)=p[A{t}=a|S{t}=s]$$

  策略梯度的做法十分直截了当,它直接对求解最优策略 进行参数化建模,策略p(a|s)将从一个概率集合变成一个概率密度函数p(a|s,θ),即:$$\pi_{\theta}=p[a|s,\theta]$$

  这个策略函数表示,在给定状态s和参数θ的情况下,采取任何可能动作的概率,它是一个概率密度函数,在实际运用该策略的时候,是按照这个概率分布进行动作action的采样的,这个分布可以是离散(如伯努利分布),也可以说是连续(如高斯分布)。最直观的方法,我们可以使用一个线性模型表示这个策略函数: $$\pi _{\theta }=\phi (s)*\theta$$

  其中,$\phi(s)$表示对状态s的特征工程,θ是需要训练的参数。这样建模有什么好处呢?其实最大的好处就是能时时刻刻学到一些随机策略,增强探索性exploration。

  为什么可以增加探索性呢?

  比如迷宫寻宝问题,假设一开始机器人在最左上角的位置,此时p(a|s,θ)可以初始化为[0.25,0.25,0.25,0.25],表明机器人走上、下、左、右、的概率都是0.25。当模型训练到一定程度的时候,p(a|s,θ)变成了[0.1,0.6,0.1,0.2],此时,向下的概率最大,为0.6,机器人最有可能向下走,这一步表现为利用 exploitation ;但是,向右走其实也是最优策略,0.2也是可能被选择的,这一步表现为探索 exploration ;相对0.6和0.2,向上、向左两个动作的概率就小很多,但也是有可能被选择的。如果模型继续训练下去,p(a|s,θ)很有可能收敛成[0.05,0.45,0.05,0.45],此时,机器人基本上只走向下或者向右,选择向上、向左的可能性就极小了。这是最左上角位置(状态)的情况,其他状态,随着模型的训练,也会收敛到最优解。

  有了模型,就想到求梯度,那么,如何构建损失函数呢?标签y-Target又是什么?

  一个非常朴素的想法就是:如果一个动作获得的reward多,那么就使其出现的概率变大,否则减小,于是,可以构建一个有关状态-动作的函数 f(s,a) 作为损失函数的权重,这个权重函数可以是长期回报G(t),可以是状态值函数V(s),也可以是状态-行为函数Q(s,a),当然也可以是优势函数A。但是,这个权重函数和参数θ无关,对θ的梯度为0,仅仅作为p(a|s,θ)的系数。

  现在考虑模型的输出$\pi(a|s,θ)$,它表示动作的概率分布,我们知道,智能体每执行完一轮episode ,就会形成一个完整的轨迹Trajectory: $$T=[S{0},a{0},P(S{1}|S{0},a{0}),S{1},a{1},P(S{2}|S{1},a{1}),S{2}...S{n-1},a{n-1},P(S{n}|S{n-1},a{n-1}),S{n}]$$ 其中,状态$S{0},S_{1}...S{n}$和参数θ无关,状态转移概率P(s'|s,a)是由环境所决定的,和参数θ也无关。所以,我们的目标简化为:优化参数θ,使得每个动作概率的乘积$p(a{0})p(a{1})...p(a{n})$达到最大,即使得$\pi (a{0}|s{0},\theta)\pi (a{1}|s{1},\theta)\pi (a{2}|s{2},\theta)...*\pi (a{n}|s{n},\theta)$这个累乘概率达到最大,可用如下公式表示:$$Maximize[arg(\theta )],T=\prod{t=0}^{N}\pi (a|s{t},\theta)$$

  这显然是我们熟悉的极大似然估计问题,转化为对数似然函数: $$log(T)=log(\prod{t=0}^{N}\pi (a|s{t},\theta))=\sum{t=0}^{N}log(\pi (a|s{t},\theta))$$

  乘以权重 f(s,a),构建如下目标函数 ,这个目标函数和我们平时见到的损失函数正好相反,它需要使用梯度上升的方法求一个极大值: $$J(\theta )=\sum{t=0}^{N}log(\pi(a |s{t},\theta) )*f(s,aTrue)$$

  注意到,这里的aTrue就是标签y-Target,表示agent在状态$s_{t}$时真实采取的动作,可以根据轨迹trajectory采样得到。

  学过机器学习的同学都知道,一般用目标函数的均值代替求和,作为新的目标函数: $$J(\theta )=\frac{1}{N}\sum{t=0}^{N}log(\pi (a|s{t},\theta ))*f(s_{t},aTrue)$$

  均值,就是数学期望,所以目标函数也可以表示为: $$J(\theta )=E{\pi (\theta )}(log(\pi (a|s{t},\theta ))*f(s_{t},aTrue))$$

  有了目标函数,梯度就很容易计算了,由于$f(s{t},a)$对于θ来说是系数,故梯度公式如下: $$\triangledown J(\theta )=E{\pi(\theta)}(\triangledown log(\pi(a|s{t},\theta))*f(s{t},aTrue))$$

  那么,策略$\pi$具体的表现形式如何?前文提到,策略可以是离散的,也可以是连续的,不妨考虑离散的策略。由于我们需要求解最大值问题,也就是梯度上升问题,自然而然就想到把梯度上升问题转化为梯度下降问题,这样才能使得目标函数的相反数 达到最小,而什么样的函数可以将梯度下降和对数函数关联起来呢?显然是我们熟悉的交叉熵,所以最终的损失函数确定为: $$Minimize[arg(\theta)],J(\theta)=E_{\pi(\theta)}(CrossEntropy(\pi(a|s{t},\theta),aTrue)*f(s{t},aTrue))$$

  连续策略的推导与离散策略类似,有兴趣的读者可以参考相关文献。

  自此,公式推导可以告一段落。策略梯度的基本算法就是Reinforce,也称为蒙特卡洛策略梯度,简称MCPG,PARL的官方policy-gradient就是基于以下算法框架实现的:

  PARL 源码结构

  在搭建模型之前,我们先分析一下PARL的主要模块:

  1. env:环境,在这里,我们的环境就是迷宫寻宝

  2. model:模型,可以是简单的线性模型,也可以是CNN、RNN等深度学习模型

  3. algorithm:算法,对model层进行封装,并利用模型进行predict(预测),同时构建损失函数进行learn(学习);具体实现形式可以是DQN、PG、DDPG等等

  4. agent:智能体,对algorithm层进行封装,一般也包含predict、learn两个函数;同时,由于智能体要同时进行探索exploration-利用exploitation,还经常包含一个sample函数,用于决定到底是randomSelect(随机选择或者根据分布函数选择动作),还是argmax(100%贪心,总是选择可能性最大的动作)

  5. train:训练和测试,用于实现agent和环境的交互,当模型收敛后,可以测试智能体的准确性

  6. utils:其他辅助功能

  以下的架构示意图,可以帮助我们更好的理解PARL:

PARL源码走读——使用策略梯度算法求解迷宫寻宝问题

U-magic 优畅享20 5G手机


返回网站首页

verilog读取十进制txt文件

ciss测试


虎扑App被下架
“就业优先”两会“C位”出道 金柚网构建人力资源服务大平台

6s手机拍照的时候摄像头是黑的

2020世界智能网联汽车大会闭幕

苏宁今年双十一


返回网站首页

本文评论
潮宏基主要卖什么珠宝_潮宏基花丝开启珠宝行业元宇宙时代
说起花丝,很多人的头先印象就是古典、传统,好像不符合现代潮流,但今年 4 月底,潮宏基举办的一场特别的新品发布会,同时也是珠宝行业头个“元宇宙新品发布会”,让大家对花丝有了全...
日期:08-01
微软宣布Office 2010零售日期(微软成立日期)
  昨日微软正式发布了Office 2010和Office Mobile 2010,MSDN/TechNet订阅用户、拥有SA软件保障的批量授权客户及全球企业消费者都已陆续可获取Office 2010产品,Windows Pho...
日期:07-29
周鸿祎 创业者_周鸿祎获21世纪经济报道“2010年度创业创新奖”
  日前,在由《21世纪经济报道》主办的“2010中国经济年会”上,360公司董事长周鸿祎获评“年度创业创新奖”。组委会认为:周鸿祎布道“微创新”、360公司面向中小IT创业公司...
日期:07-25
鲁大师(03601)早盘高开12.32% 疑与九号科技达成战略合作进军电动摩托车市场?
  智通财经APP获悉,鲁大师(03601)附属成都安易迅与九号科技在智能化硬件的内容服务相关领域开启合作。截至9时20分,涨12.32%,报价3.19港元,成交额133.98万。   公告称,于202...
日期:07-10
两百亿票房「电影《万里归途》总票房破9亿」
10月6日消息,猫眼专业版发布数据,截止10月6日上午9点44分,电影《万里归途》上映7天,总票房破9亿,累计2126.8万人观影。《万里归途》是由饶晓志执导,秦海燕、史册、雷志龙、步京委...
日期:10-08
还在为年会团队奖选择纠结?选择“李诚儒同款”华为办公宝就对了
  每年的岁月,员工们不仅期盼着春节,还期盼着公司年会上的年终奖、团队奖。不过,这也让老板、行政、采购们再度陷入一年一度的伤脑筋问题“团队奖,到底应该奖什么”?  ...
日期:07-16
被「Wordle」拿捏心态的美国玩家,又爱上了“复刻”新品?
声明:本文来自微信公众号“白鲸出海”(ID:baijingapp),作者:B21993,授权转载发布。单词类游戏,在2022年春天突然因为一款页游「Wordle」火了起来。这款游戏表面上看和其他单词类游...
日期:11-16
鸿蒙HarmonyOS 2「鸿蒙HarmonyOS 3首批正式版定档, 报名升级注意这些内容」
华为宣布,鸿蒙 HarmonyOS 3 正式版首批将于 10 月中下旬推送,官方公布了升级预告。华为 P50、Mate40 等此前通过测试的机型将首批尝鲜正式版。此外,华为 MatePad Pro 10.8 英寸...
日期:10-13
可自主关闭网赚模式,聊天宝替“不差钱”用户做慈善(聊天宝可以赚钱吗)
  千呼万唤始出来!广大网友在等待了148天之后,快如科技于1月15日在北京召开了产品发布会,子弹短信APP正式重磅升级为聊天宝APP。除了名字上的变更之外,聊天宝拥有Video Mess...
日期:01-23
上海联通精准聚焦 为进博场馆提供自查自愈式通信保障
  11月5日至10日,举世瞩目的第二届“中国国际进口博览会”在上海国家会展中心举行。作为本地信息通信服务与智慧城市建设的主力军,上海联通贯彻落实进博会“越办越好”的总...
日期:08-08
区块链layer2和layer1的划分_一文看懂区块链的扩容方案和主要的二层网络(Layer 2)方案
这些解决方案,主要可以分为两大类:链上扩容和链下扩容...比如,将比特币区块链的区块大小直接从1M扩容到32M、128M甚至是2G,再比如现在被给予厚望的、“以太坊2.0”将会采用的技...
日期:08-01
周鸿祎:要用数字化思维重塑网络安全_周鸿祎:数字化面临着内外部双重安全挑战
iqoo的neo什么意思小程序好开发么2021爱分析·数据智能平台厂商全景报告motorola电视机顶盒   讯;7月30日上午消息,在ISC;2022第十届互联网安全大会上,360集团创始人周鸿祎...
日期:07-31
马斯克抱着水槽走进推特总部,英媒:神奇老板或能带推特走出困境
  [环球时报特约记者;甄 翔]在法院下达的收购截止日期前,26日,埃隆·马斯克访问了社交媒体推特公司位于美国旧金山的总部。据报道,马斯克在社交媒体上发布的一段视频显示,他抱...
日期:11-02
追光吧少年!腾讯新闻高校短视频大赛颁奖盛典在京举行(追光吧少年嘉宾)
  11月4日,由腾讯新闻联合清华大学、复旦大学、武汉大学、厦门大学、中国传媒大学等17所高校共同举办的“追光吧少年”高校短视频大赛颁奖盛典在京举行。   本次大赛自...
日期:03-26
微软与三星达成广泛的交叉授权协议_三星微软合作
  昨日,微软宣布与三星达成广泛的交叉授权协议,这是迄今为止微软在Android领域达成的最大一笔授权协议。协议规定,三星售出每部安卓智能手机和平板电脑需要向微软支付授权费...
日期:07-23
iPhone 14 Plus刚开售就破发:买的人太少 罕见被冷落「iphone13卖爆了」
昨天iPhone 14系列中的iPhone 14 Plus手机正式开始首销,此前预定的用户已经在昨天拿到了手机,而手笑道中午时,iPhone 14 Plus已经破发,华南渠道处原价6999元起售的手机现在到手...
日期:10-12
晨光文具:紧急声明系伪造 已报警「晨光文具怎么了」
11月28日 消息:就在刚刚,上海晨光文具股份有限公司发布《关于市场传闻的澄清公告》称,关注到在部分网络平台有流传公司所谓的“紧急声明”,经公司核查,该文件系伪造。浦东新区副...
日期:12-04
Windows 11正式版两周体验:内存占用高、莫名卡顿(win11预览版卡顿)
  从10月5日升级安装Windows 11之后,笔者使用新系统办公已经有大约2周时间,今天就来跟大家聊聊Windows 11系统目前体验较好的方面,以及所存在的问题。   ·内存占用比Wind...
日期:07-17
SNS开放平台拒绝“注水” 程炳皓称早晚无关成败
  10月18日消息,面对腾讯、百度、淘宝、京东商城、人人网等来自于不同战线的选手,开放平台打破了业务层面的边界,让所有的互联网巨头回归到了同一个战场上。但在诸多打着开...
日期:07-24
NEX100+ CLUB联合keep举办宅家运动会,运动健身更轻松
  作为专门为NEX用户设立的会员俱乐部,NEX100+ CLUB自设立以来,就致力于为过往、最新、未来的NEX用户提供突破产品本身的尊贵体验。   入会除了能够享受机场快速安检、10...
日期:07-27