Actor-critic学习笔记-李宏毅

  1. Policy Gradient review
    ∇ R ‾ θ = 1 N ∑ n = 1 N ∑ t = 1 T n ( ∑ t ′ = t T n γ t ′ − t r t ′ n − b ) ∇ log ⁡ p θ ( a t n ∣ s t n ) \nabla \overline{R}_\theta = \frac{1}{N}\sum_{n = 1}^{N}\sum_{t = 1}^{T_n}(\sum_{t'=t}^{T_n}\gamma^{t'-t}r_{t'}^n-b)\nabla\log p_\theta(a_t^n|s_t^n) Rθ=N1n=1Nt=1Tn(t=tTnγttrtnb)logpθ(atnstn)
    问题是其中 G t n = ∑ t ′ = t T n γ t ′ − t r t ′ n G^n_t = \sum_{t'=t}^{T_n}\gamma^{t'-t}r_{t'}^n Gtn=t=tTnγttrtn不稳定,需要打样采样才可以得到期望值;
  2. Q-Learning review
    State value function: V π ( s ) V^\pi(s) Vπ(s)
    State-action value function: Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)
  3. Action-Critic
  • 如何直接获得 G t n = ∑ t ′ = t T n γ t ′ − t r t ′ n G^n_t = \sum_{t'=t}^{T_n}\gamma^{t'-t}r_{t'}^n Gtn=t=tTnγttrtn的期望值: E [ G t n ] = Q π θ ( s t n , a t n ) E[G^n_t] = Q^{\pi_\theta}(s_t^n,a^n_t) E[Gtn]=Qπθ(stn,atn),求期望值就是学习Q function,b一般取值为 V π θ ( s t n ) V^{\pi_\theta}(s_t^n) Vπθ(stn)
  • 按照上面的方式计算的话要同时计算 Q , V Q,V Q,V,如何能值估一个Network,借助的式子是 Q π ( s t n , a t n ) = E [ r t n + V π ( s t + 1 n ) ] = r t n + V π ( s t + 1 n ) Q^\pi(s_t^n,a_t^n) = E[r_t^n+V^\pi(s_{t + 1}^n)]=r_t^n+V^\pi(s_{t + 1}^n) Qπ(stn,atn)=E[rtn+Vπ(st+1n)]=rtn+Vπ(st+1n),也就是在 s t s_t st的时候获得 r t n r_t^n rtn之后转到state s t + 1 s_{t + 1} st+1,这样上式从 Q π ( s t n , a t n ) − V π ( s t n ) → r t n + V π ( s t + 1 n ) − V π ( s t n ) Q^{\pi}(s_t^n,a^n_t)-V^\pi(s_t^n)\rightarrow r_t^n + V^\pi(s_{t + 1}^n)-V^\pi(s_t^n) Qπ(stn,atn)Vπ(stn)rtn+Vπ(st+1n)Vπ(stn),现在就可以只用估计V function;
  • 总结一下 ∇ R ‾ θ = 1 N ∑ n = 1 N ∑ t = 1 T n ( r t n + V π ( s t + 1 n ) − V π ( s t n ) ) ∇ log ⁡ p θ ( a t n ∣ s t n ) \nabla \overline{R}_\theta = \frac{1}{N}\sum_{n = 1}^{N}\sum_{t = 1}^{T_n}(r_t^n + V^\pi(s_{t + 1}^n)-V^\pi(s_t^n))\nabla\log p_\theta(a_t^n|s_t^n) Rθ=N1n=1Nt=1Tn(rtn+Vπ(st+1n)Vπ(stn))logpθ(atnstn),现在训练流程,首先有一个policy,然后和环境互动收集数据,然后首先estimate V function,之后有了 V π ( s ) V^\pi(s) Vπ(s),然后就可以更新actor,这样的流程不断重复;
  • Tip1:policy的Network π ( s ) \pi(s) π(s)和critic的Network V π ( s ) V^\pi(s) Vπ(s)可以共享部分参数,因为都是输入state s s s
  • Tip2:也需要exploration,希望不同action的概率平均一点,以可以有概率尝试不同的action,更大的cross entropy;
  1. asynchronous actor critic(A3C)
  • 开多个worker,每个worker复制一份参数,然后每个worker都和环境做互动,然后计算gradient;最后使用gradient来更新global的参数,每个worker是平行跑的;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/15912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提高软件团队开发速度和质量的策略

在现代软件开发中,提高开发速度和质量是每个团队追求的目标。高效的开发流程不仅能缩短产品的上市时间,还能确保软件的稳定性和可靠性。本文将探讨提高软件团队开发速度和质量的各种策略,包括技术、流程、团队文化等方面。 一、采用敏捷开发…

SwiftUI中的Stepper(系统Stepper以及自定义Stepper)

本篇文章主要介绍一下Stepper,这个组件在UIKit中也已经有较长的历史了,下面看看在SwiftUI中如何使用,有哪些更加便捷的方法呢? Stepper减号(-)和加号()按钮,可以点击后以指定的数值进行加减。 基础初始化方法 Stepp…

【LinuxC语言】使用按位或操作传递多标志参数

文章目录 前言一、使用按位或操作传递多标志参数的原理二进制表示按位或操作检查标志图示二、C语言示例代码总结前言 在C语言编程中,经常需要在函数调用中传递多个选项或配置标志。直接传递多个参数可能会导致代码繁琐且难以维护。为了解决这个问题,C语言提供了一种通过按位…

【动态规划】斐波那契数列模型(C++)

目录 1137.第N个泰波那契数 解法(动态规划) 算法流程 1. 状态表⽰: 2. 状态转移⽅程: 3. 初始化: 4. 填表顺序: 5. 返回值: C算法代码 优化: 滚动数组 测试: …

HP Laptop 15s-fq2xxx,15s-fq2706TU原厂Win11系统镜像下载

惠普星15青春版原装Windows11系统,恢复出厂开箱状态oem预装系统,带恢复重置还原 链接:https://pan.baidu.com/s/1t4Pc-Q0obApLkG8o_9Kkkw?pwdduzj 提取码:duzj 适用型号:15s-fq2xxx,15s-fq2000 15s-f…

ROS2入门21讲__第19讲__Rviz:三维可视化显示平台

目录 前言 Rviz三维可视化平台 Rviz介绍 运行方法 彩色相机仿真与可视化 仿真插件配置 运行仿真环境 图像数据可视化 三维相机仿真与可视化 仿真插件配置 运行仿真环境 点云数据可视化 激光雷达仿真与可视化 仿真插件配置 运行仿真环境 点云数据可视化 Rviz v…

月薪5万是怎样谈的?

知识星球(星球名:芯片制造与封测技术社区,星球号:63559049)里的学员问:目前是晶圆厂的PE,但是想跳槽谈了几次薪水,都没法有大幅度的增长,该怎么办?“学得文武…

联想单机游戏联运SDK接入攻略

1. 接入流程 本文档主要介绍了联想单机游戏SDK接入流程、联想游戏提供的功能等。 1.1. 接入方式 1. 联想单机游戏SDK1.0版本支持“账号防沉迷”接入方式; a. 联想提供账号注册、登录等能力 b. 联想判断账号是否购买游戏,提供游戏支付购买能力 c. 联…

RobotFramework测试框架(13)--内置测试库

Builtln Evaluate方法 Evaluate。它可以做很多事情,主要的作用是可以直接调用Python的方法 一般用Evaluate都是前面放变量接收值,第三列是具体的运算表达式,第四列是要用到的Python的module。这里就是用random来进行一个随机数的生成 Cons…

基础6 探索JAVA图形编程桌面:集合组件详解

我们的团队历经了数不胜数的日夜,全力以赴地进行研发与精心调试,最终成功地推出了一款具有革命性意义的“图形化编程桌面”产品。这款产品的诞生,不仅极为彻底地打破了传统代码开发那长久以来的固有模式,更是把焦点聚集于解决长期…

Redis教程(十五):Redis的哨兵模式搭建

一、搭建Redis一主二从 分别复制三份Redis工作文件夹,里面内容一致 接着修改7002的配置文件,【redis.windows-service.conf】 port 7002 改成 port 7002 slaveof 127.0.0.1 7001 7003也同样修改 port 7003 slaveof 127.0.0.1 7001 这样就指定了700…

Android.mk简单介绍、规则与基本格式

文章目录 Android.mk与makefile区别Android.mk规则Android.mk基本格式 Android.mk与makefile区别 Android.mk 和 Makefile 都是用于构建代码项目的构建脚本文件,但是它们在特定上下文中有一些区别: Android.mk: Android.mk 是用于构建 Android 应用或库…

浅析FAT32文件系统

本文通过实验测试了FAT文件系统的存储规律,并且探究了部分可能的文件隐藏方法。 实验背景 现有一块硬盘(U盘),其中存在两个分区,分别为FAT32和NTFS文件系统分区。 在FAT分区中存在如下文件: 现需要阅读底…

聚合函数AVG/SUM/MAX/MIN/COUNT/COUNT(*)例子

当然,我可以为你提供SQL中聚合函数AVG、SUM、MAX、MIN、COUNT和COUNT(*)的例子。这些函数通常用于SELECT语句中,与GROUP BY子句一起使用来对数据进行分组和聚合。 以下是一些示例: AVG(平均值) 假设我们有一个名为s…

决策控制类软件项目的团队配置

决策控制类软件项目的团队配置怎样才是最合适的?目的就是实现高效的项目协作以及为企业降本增效。软件项目的主要费用来源是研发人员的开支以及差旅费用。 下面的思维导图从项目与产品的关系、团队架构、项目成员配置、项目可复制性、招聘这几点进行说明如何组织人…

抖音分享链接视频下载

import requests import re from urllib.parse import unquote import json from pprint import pprint from selenium import webdriver from selenium.webdriver.chrome.options import Options import os def get_video_id(url): # 创建一个Chrome WebDriver实例 ch…

六招搞定,SPA单页面加载速度慢的问题。

众所周知,SPA页面有很多优点,但是首屏加载慢的问题一直被诟病,本文介绍几种解决策略,希望对老铁们有所帮助。 一、SPA页面的独有优势 1. 更快的用户体验: SPA在加载初始页面后,可以在用户与应用程序交互…

抖音小店怎么对接达人合作?五种方法分享,合作成功率超级高!

大家好,我是电商糖果 有很多刚开店的小店商家,经常会出现一个问题。 那就是不会找达人合作,有的朋友说是因为他社恐,还有的说达人不好沟通等等。 理由有很多,总结下来就是找达人合作这事儿太难了,干不了…

ros2编写pcl节点加载pcd文件

初次学习ros2和pcl,尝试在ros2中创建节点,加载pcd文件,并在rviz中进行可视化,记录一下整个过程。 编辑环境 ubuntu20.04 ros2_foxy 创建节点 mkdir -p proj_ws_pcl/src #创建工程文件夹 cd proj_ws_pcl/src #创建源码文件夹 …

东风畅行科技股份有限公司 软件开发 面试总结/腾云悦智科技(深圳)有限责任公司

东风畅行科技股份有限公司/java开发工程师/一面/30min 最熟悉的项目dubbo服务注册的原理微服务中的网关可以做哪些事情有没有了解过eurekaredis的数据类型有哪些,介绍一下redis的集群和哨兵模式redis的槽位是多少redis的持久化机制redis的rdb和aof区别kafak集群分片是怎么设置…