首页 > 其他分享 >再探强化学习

再探强化学习

时间:2024-03-14 16:46:10浏览次数:24  
标签:策略 gradient actor 学习 critic policy 强化 gamma

主要记录一下自己仔细学习 RL 时的感悟。记录一下防止遗忘


Q-learning 和 DQN 都是基于值函数的(如 \(V\) 和 \(Q\) 函数),而策略梯度(policy gradient)则是基于策略的。后者显式的训练一个策略,对这个策略使用梯度下降等方法。
actor-critic 本质上是对 policy gradient 的改进。核心是在训练策略(即 actor)的同时也训练一个评价这个策略的 critic。在 policy gradient 中,我们是将当前 actor 下的 trajectory 计算出来之后(倒序)求出 loss,即 \(\gamma\) 作为 discount factor 的加权和。进行梯度下降即可。而在 actor-critic 中,我们额外再训练一个 critic 作为衡量 actor 好坏的量度。critic 的 loss 可以设置为 \(r+\gamma V(s_{t+1})-V(s_t)\),训练时,需要先将 \(\gamma V(s_{t+1})\) 中的 \(V\) detach 一下,不更新。

标签:策略,gradient,actor,学习,critic,policy,强化,gamma
From: https://www.cnblogs.com/SkyRainWind/p/18073201

相关文章

  • HTML学习
    1网页相关概念1.1网页网站是指在因特网上根据一定规则,使用HTML等制作的用于展示特定内容相关的网页集合。网页是网站的一“页”,通常是HTML格式文件,通过浏览器阅读。网页是构成网站的基本元素,通常由图片、链接、文字、声音、视频等素材组成。HTML:超文本标记语言(HyperT......
  • JAVA学习日记五(面向对象-高级)
    1.关键字:static如果想让一个成员变量被类的所有实例所共享,就用static修饰即可,称为类变量(或类属性)!使用范围:在Java类中,可用static修饰属性、方法、代码块、内部类被修饰后的成员具备以下特点:随着类的加载而加载优先于对象存在修饰的成员,被所有对象所共享访问权限......
  • JAVA学习日记四(面向对象-基础)
    1.面向对象概述面向对象可以帮助我们从宏观上把握、从整体上分析整个系统。我们千万不要把面向过程和面向对象对立起来。他们是相辅相成的。面向对象离不开面向过程!2.Java的基本元素:类和对象类:具有相同特征的事物的抽象描述,是抽象的、概念上的定义。对象:实际存在的该类事......
  • 若依框架学习 跨域问题
    本地项目前后端会出现跨域问题,若依的前端会通过反向代理解决。若依前端通过拼接字符串在devServer里配置proxy属性,但是需要配置webpack。通过vue.config.js修改devServer:{proxy:{'/api':{target:'http://localhost:8000',//将请求代理到的目......
  • 深度学习入门
    深度学习入门ch03:神经网络激活函数:定义:会将输入信号的总和转换为输出信号$${a=b+w1x1+w2x2}a=b+w1x1+w2x2y=h(a)$$即计算每一元素与其权重乘积及偏置总和的函数sigmoid函数:代码实现:defsigmoid(x):return1/(1+np.exp(-x)公式:h(x)=i/(1+exp(-......
  • 近屿智能成功完成A轮融资,打造独家AIGC工程师与产品经理学习路径图引发热议
    近屿智能OJAC的发展历程与行业实力在2024年1月,上海近屿智能科技有限公司(简称近屿智能)宣布成功完成A轮融资。智望资本作为领头投资者,金沙江创投也参与了增资。这一里程碑事件不仅突显了近屿智能在人力资源技术领域的领先地位,也显示了投资者对其技术实力和市场前景的坚定信心。作......
  • 学习笔记-华为IPD转型2020:3,IPD的实施
    3.IPD的实施 1999年开始的IPD转型是计划中的多个转型项目中的第一个(Liu,2015)。华为为此次转型成立了一个专门的团队,从大约20人开始,他们是华为第一产业的高层领导。董事会主席孙雅芳是这个团队的负责人。该团队拥有充足的资源,最多包括70名来自IBM的顾问。这个联合团队......
  • Java复习第二天学习笔记,附有道云笔记链接
    【有道云笔记】二3.13https://note.youdao.com/s/RWOQv0g一、运算符1.基本运算符+-*/@Testpublicvoidtest2(){System.out.println("运算符.test2");//双目运算符intnum1=3,num2=5;intresult=num1+num2;System.out.println(result);System.out.prin......
  • 小白学习微信小程序的开发流程和项目架构
    微信小程序的开发流程和项目架构可以分为以下几个步骤:准备工作下载并安装微信开发者工具(微信开发者工具是一个集成了编辑器、调试器、自动编译等功能的开发工具,用于开发和调试小程序)。注册微信开放平台账号,并创建一个小程序。创建小程序项目打开微信开发者工具,点击......
  • 深度学习入门(鱼书)笔记(持续更新)
    深度学习入门笔记python基础知识numpy库importnumpyasnpnumpy数组(numpy.ndarray):np.array(list)np数组算术运算需元素个数相同,否则报错。np数组间的算术运算为element-wise,即对应元素的运算。np数组与单一数值(标量)的运算为广播,即标量自动补全与数组各元素计算。......