当前位置: 首页 > news >正文

大型网站开发流程建立虚拟网站

大型网站开发流程,建立虚拟网站,招聘网页怎么制作,网站内容怎么选择强化学习是一种机器学习方法,通过agent与environment的互动,学习适当的action policy以取得更大的奖励reward。本篇博客介绍强化学习的基础知识,与两类强化学习模型。 目录强化学习的基础设定policy based 强化学习的目标3个注意事项实际训练…

请添加图片描述

强化学习是一种机器学习方法,通过agent与environment的互动,学习适当的action policy以取得更大的奖励reward。本篇博客介绍强化学习的基础知识,与两类强化学习模型。

目录

  • 强化学习的基础设定
  • policy based 强化学习的目标
    • 3个注意事项
    • 实际训练过程
    • 重要性采样
  • value based 强化学习的目标
    • Temporal Differential learning (TD learning)
  • 参考

强化学习的基础设定

强化学习和监督学习,非监督学习一样是一种基本学习模式,在强化学习的框架中,一共有2个主体:agentenvironmentenvironment会给agent一些状态信息stateagent可以根据state的情况进行action的选择,并从environment获得一些奖励reward
请添加图片描述
强化学习分为2类:policy basedvalue based。二者并非互斥关系,存在一些模型既是policy based又是value based 例如:A3C[ICML2016]。

policy based 强化学习的目标

强化学习的目标是学习一个policy使得最终全场决策下来得到的总reward最大。具体展开而言,给定一个state,agent决策采取action的策略模型,用π\piπ表示,π\piπ的参数是θ\thetaθ,由于policy根据state采取action,我们可以用公式:a=πθ(s)a=\pi_\theta(s)a=πθ(s)表示。当agent做出action操作后,environment会给出一个reward并更新状态,至此一轮决策结束。多轮决策组成一个由state, action, reward组成的序列,我们定义为τ=(s1,a1,r1,...sT,aT,rT)\tau=(s_1, a_1,r_1,...s_T,a_T,r_T)τ=(s1,a1,r1,...sT,aT,rT)RτR_\tauRτ是整场决策结束后总共的奖励,Rτ=∑t=1TrtR_\tau=\sum_{t=1}^Tr_tRτ=t=1Trt,强化学习的目的是最大化RτR_\tauRτ

在实际决策过程中,即便π\piπ和environment不变,每一步的action依旧有随机性,因而最终的奖励RτR_\tauRτ也不会完全一致,而是具有一些随机性。因此强化学习的目标为最大化一个π\piπ下的平均RτR_\tauRτ,即E[Rτ]=∑τR(τ)p(τ∣θ)E[R_\tau]=\sum_{\tau}R(\tau)p(\tau|\theta)E[Rτ]=τR(τ)p(τθ),很显然我们无法得到准确的期望,因为我们无法把一个参数设定下所有的决策路径全都取一个遍,因而实际使用中,通过采样取平均值的方法得到一个期望的近似值。R(θ)≈1N∑n=1NR(τn)R(\theta)\approx \frac{1}{N}\sum_{n=1}^{N}R(\tau_n)R(θ)N1n=1NR(τn)

强化学习的优化目标即为:R(θ)≈1N∑n=1NR(τn)R(\theta)\approx \frac{1}{N}\sum_{n=1}^{N}R(\tau_n)R(θ)N1n=1NR(τn)

通过梯度下降提升优化目标,这一步需要求R(θ)R(\theta)R(θ)的导数。∇Rθ=∑τR(τ)∇p(τ∣θ)=∑τR(τ)p(τ∣θ)∇p(τ∣θ)p(τ∣θ)=∑τR(τ)p(τ∣θ)∇log(p(τ∣θ))p(τ∣θ)=p(s1)p(a1∣s1)p(s2,r1∣s1,a1)...p(sT,rT−1∣sT−1,aT)log(p(τ∣θ))=log(p(s1))+∑t=1Tlog(p(at∣st,θ))+∑t=1Tlog(p(rt,st−1∣st,at))∇log(p(τ∣θ))=∑t=1T∇log(p(at∣st,θ))\nabla R_\theta=\sum_{\tau}R(\tau)\nabla p(\tau|\theta)=\sum_{\tau} R(\tau)p(\tau|\theta)\frac{\nabla p(\tau|\theta)}{p(\tau|\theta)}=\sum_{\tau}R(\tau)p(\tau|\theta)\nabla log(p(\tau|\theta))\\ p(\tau|\theta)=p(s_1)p(a_1|s_1)p(s_2,r_1|s_1,a_1)...p(s_T,r_{T-1}|s_{T-1},a_{T})\\ log(p(\tau|\theta))=log(p(s_1))+\sum_{t=1}^Tlog(p(a_t|s_t,\theta))+\sum_{t=1}^Tlog(p(r_t,s_{t-1}|s_t,a_t))\\ \nabla log(p(\tau|\theta))=\sum_{t=1}^T\nabla log(p(a_t|s_{t},\theta))Rθ=τR(τ)p(τθ)=τR(τ)p(τθ)p(τθ)p(τθ)=τR(τ)p(τθ)log(p(τθ))p(τθ)=p(s1)p(a1s1)p(s2,r1s1,a1)...p(sT,rT1sT1,aT)log(p(τθ))=log(p(s1))+t=1Tlog(p(atst,θ))+t=1Tlog(p(rt,st1st,at))log(p(τθ))=t=1Tlog(p(atst,θ))
最终得到∇Rθ\nabla R_\thetaRθ的表达式:∇Rθ≈1N∑n=1N∑t=1TR(τn)∇log(p(at∣st,θ))\nabla R_\theta \approx \frac{1}{N}\sum_{n=1}^N\sum_{t=1}^TR(\tau_n) \nabla log(p(a_t|s_{t},\theta))RθN1n=1Nt=1TR(τn)log(p(atst,θ)) (*)

3个注意事项

  1. 为什么要构成log的形式:进行归一化,降低采样偶然性对于低reward但高频对梯度的影响
  2. 由于采样具有偶然性,考虑到不被采样到的点以及R(τ)R(\tau)R(τ)有时候可能一直取正数,将公式里的R(τ)R(\tau)R(τ)替换为R(τ)−bR(\tau)-bR(τ)b进行修正
  3. (*)给每个梯度的权重只考虑了整场决策的reward,忽略了每个action的独特性,对其进行改进,我们引入advantage functionAθ(st,at)A^\theta(s_t,a_t)Aθ(st,at)用于衡量sts_tst状态下采用ata_tat相对于其他action有多好的程度。

实际训练过程

给定初始化的参数θ0\theta_0θ0,采样NNNτ\tauτ计算每个τ\tauτreward,计算当前参数下的∇log(p(at∣st,θ))\nabla log(p(a_t|s_{t},\theta))log(p(atst,θ)),进行参数θ\thetaθ的梯度更新得到θ1\theta_1θ1,然后对新得到的参数进行下一轮的采样与梯度更新直至训练停止。
请添加图片描述
这种训练方法被有一个问题:每次更新参数都需要重新采样,消耗了大量的时间。因而提出了off policy的方法减少采样带来的时间开销。

重要性采样

重要性采样(importance sampling)方法可以减小采样的个数,极大地提升了采样的效率。其具体实现如下:假定我们有一个分布ppp,我们从分布ppp中进行采样得到xxx,我们希望计算得到函数f(x)f(x)f(x)的期望值,即Ex∼p[f(x)]E_{x\sim p}[f(x)]Exp[f(x)]。一个直观的思路是我们先根据分布ppp采样NNN个点,然后计算这NNN个点的均值作为期望的估计。然而有时候我们无法直接从分布ppp进行采样,这种时候可以从一个与分布ppp接近的分布qqq进行采样,然后将结果转化为依据分布ppp采样的均值。
Ex∼p[f(x)]=Ex∼q[f(x)p(x)q(x)]E_{x\sim p}[f(x)]=E_{x\sim q}[f(x)\frac{p(x)}{q(x)}]Exp[f(x)]=Exq[f(x)q(x)p(x)]这里的分布qqq应该尽可能接近分布ppp时,公式才能在采样意义下成立

off policy的方法使用重要性采样的方法降低了采样的次数进而减小了采样带来的时间开销。on policy方法与off policy方法最大的区别就是二者采样的方式是不同的,on policy方法使用梯度下降方法更新参数后按照新参数进行采样,而off policy方法依旧使用之前旧参数采样的结果(这里假设了参数更新并未很多因而分布变化并不大)。

on policy:∇Rθ=Eτ∼pθ(τ)[R(τn)∇log(pθ(τ))]\nabla R_\theta=E_{\tau \sim p_\theta(\tau)}[R(\tau_n)\nabla log(p_\theta(\tau))]Rθ=Eτpθ(τ)[R(τn)log(pθ(τ))]
off policy:∇Rθ=Eτ∼pθ′(τ)[R(τn)pθ(τ)pθ′(τ)∇log(pθ(τ))]\nabla R_\theta=E_{\tau \sim p_{\theta '}(\tau)}[R(\tau_n)\frac{p_\theta(\tau)}{p_{\theta '}(\tau)}\nabla log(p_\theta(\tau))]Rθ=Eτpθ(τ)[R(τn)pθ(τ)pθ(τ)log(pθ(τ))]

可以发现off policy在参数设定为θ′\theta 'θ下进行采样,梯度下降更新的是θ\thetaθ而非θ′\theta 'θ,因此采样可以复用。

value based 强化学习的目标

与policy based强化学习不同,value based模型通过神经网络学习environment针对给定state以及action的reward,帮助agent进行当前state进行action的决策。value based强化学习假定存在一个类似于先知的函数Q(s,a;θ)Q(s,a;\theta)Q(s,a;θ)它可以在给定state的条件下计算出每个action的奖励期望是多大,并且用一个神经网络来学习它。有了这样的先知后,模型自然可以通过选择当前state下reward最高的action进行操作。

Temporal Differential learning (TD learning)

TD learning是训练上述Q(s,a;θ)Q(s,a;\theta)Q(s,a;θ)模型的方法,其训练思想基于监督学习,需要一个“真实标签”。但由于真实标签在这个训练场景下获取需要大量时间开销,因此我们会用TD target来拟合真实的标签即拟合真实的rewardyt=rt+max⁡γQ(st+1,at+1;θ)y_t=r_t+\max \gamma Q(s_{t+1}, a_{t+1}; \theta)yt=rt+maxγQ(st+1,at+1;θ),并使用梯度下降方法来使得Q(st,at;θ)Q(s_t,a_t;\theta)Q(st,at;θ)接近yty_tyt

参考

  1. 价值学习__Value-Based_Reinforcement_Learning(ps:这个up也出了视频介绍policy-based reinforcement learning视频不长,讲的很清晰)
  2. 李弘毅老师强化学习教学视频合集(ps:里面有一些视频内容是重合的可以挑着看)
http://www.yayakq.cn/news/338271/

相关文章:

  • 罗湖商城网站建设哪家公司便宜点wordpress大前端
  • 网站建设属于什么科目网页微博怎么发微博
  • 宠物网站开发文档深圳网络提速优化服务包
  • 怎么用电脑做网站服务器吗成都网站建设租书网
  • 免费企业网站建设免费百度seo价格查询
  • 网络营销跟做网站有什么区别网站空间需要多大
  • 网站建设后期网页qq登录手机版网址
  • 南京门户网站建设菠菜网站开发一条龙
  • 网站优化培训广州预约小程序开发
  • 网站开发细节手机做炫光头像图的网站
  • 怎么做就一张图的网站网络注册公司怎么注册
  • 网站建设方案200字河南省汝州市建设门户网站
  • 城乡和建设部建造师网站厦门 网站建设 公司
  • dede如何手机网站和电脑网站的数据同步更新营销型网站定做
  • 汕头多语种网站制作世界上做的最好的前端网站
  • 建个小型网站服务器个人网站 cms
  • 极速网站建设哪家好网站建设做一个要多久
  • 建设部网站施工合同济南手机网站建设公司哪家好
  • 淘宝做动效代码的网站做自媒体发视频用哪些网站
  • 先学php还是网站建设搭建局域网
  • 海口高端品牌网站建设常州seo网站推广
  • 做体育直播网站搜索附近的电子产品
  • 做装修网站价格制作收款网站
  • 景区网站建设方案南宁关键词优化服务
  • 校园网站建设方案模板下载全国app开发
  • 网站开发终止协议书免费制作短视频的软件
  • 麻涌镇仿做网站南宁网站制作公
  • 专业积分商城网站制作单个页面的网站
  • 做网站能用思源黑体吗wordpress怎么导入demo文件
  • 河北中太建设集团有限公司网站详情页设计详细教程