强化学习 - 策略梯度(Policy Gradient)

news/2024/5/19 1:39:46 标签: 强化学习

引言

      强化学习常见的方法为基于值函数或者基于策略梯度。

值函数:值函数最优时得到最优策略,即状态s下,最大行为值函数maxQ(s,a)对应的动作。

      但对于机器人连续动作空间,动作连续时,基于值函数,存在以下问题:

  1. 当动作空间很大,或者动作为连续集时,基于值函数的方法无法有效求解。
  2. 基于值函数的方法在进行策略改进时,需要针对每个状态行为求取行为值函数,以求得最优动作\frac{argmax}{a\in A}Q(s,a)),这种情况下,把每一个状态行为严格地独立出来,求取某个状态下应该执行的行为是不切实际的。

总结:用值函数Q求解连续空间action,也能用但不好用,所以出现了,策略梯度法。

1.策略梯度

随机策略梯度:使用P (a,s;\theta )直接逼近\pi (a,s),我们需要求得的就时神经网络参数θ。为了求解θ需要设计一个目标函数J(θ)=G(θ)(累计回报值),θ更新公式为:

      此方法基于目标函数J(θ)的梯度进行策略参数更行。

J(θ)分为两种

1.MC中,有完成的链条:

2.TD中,有步长限制时:

      式中,是基于策略生成的关于状态s的分布

      进一步就得到了梯度的表达式:

2.Actor

      策略梯度就是AC中的A

Actor:从下图可以看出,就是输入智能体观察到的图像(对计算机而言就是矩阵,向量),输出智能体可能采取的动作概率分布。

      进一步我们要衡量Actor的优劣,基于Actor可以得到一系列回报,计算平均回报,比较策略的优劣R就是上文的J。

     

     然后我们想求得最优的Actor,(R就是上文J的延深),使用梯度上升法,进而得到:

3.延深


http://www.niftyadmin.cn/n/5168678.html

相关文章

React进阶之路(三)-- Hooks

文章目录 Hooks概念理解什么是HooksHooks解决了什么问题 useState基础使用状态的读取和修改组件的更新过程使用规则回调函数作为参数 useEffect什么是函数副作用基础使用依赖项控制执行时机清理副作用发送网络请求 useRefUseContext Hooks概念理解 什么是Hooks Hooks的本质&am…

类图复习:类图简单介绍

入职新公司在看新项目的代码,所以借助类图梳理各个类之间的关系,奈何知识已经还给了老师,不得不重新学习下类图的相关知识,此处将相关内容记录下方便后续使用。 文章目录 类图语法类与类的关系画类图 类图语法 语法描述public-pr…

AtCoder ABC150

C题 签到题。会python的permutations 或者C的next_permutation就能做。 D题 乍一看很简单,把所有元素折半求最小公倍数lcm,然后求lcm的奇数倍即可。但是有坑: 比如6 4这种情况,lcm6 但661 641.5,因此无法满足要求。原…

STM32——NVIC中断优先级管理分析

文章目录 前言一、中断如何响应?NVIC如何分配优先级?二、NVIC中断优先级管理详解三、问题汇总 前言 个人认为本篇文章是我作总结的最好的一篇,用自己的话总结出来清晰易懂,给小白看也能一眼明了,这就是写博客的意义吧…

Win10 开机突然不断重复诊断和自动修复,安全模式也进不了,如何解决?(已解决)

环境: Win10专业版 惠普 480G7 问题描述: Win10 开机突然不断重复诊断和自动修复,安全模式也进不了,如何解决? 修复失败,安全模式也是自动修复 解决方案: 1.尝试进入安全模式和禁用驱动模式…

相机标定:理论与实践

先讨论相机模型,说明投影关系的描述,介绍相机的内外参,最后完成标定。 一、内参含义 把需要标定的相机参数叫做内参(intrinsics matrix),它决定了物体的实际位置Q在成像平面上的投影位置q,如下…

【23真题】简单!原题很多!211!

今天分享的是23年内蒙古869的信号与系统试题及解析。 本套试卷难度分析:22年内蒙古大学869考研真题,若有需要,戳这里自取!该院校是考察通信原理信号的,从信号部分来看,本套试题内容难度中等偏下&#xff0…

AndroidStudio打包报错记录(commons-logging,keystore password was incorrect)

场景: AndroidStudio2022打包APK的时报错 1.commons-logging依赖冲突 报错主要信息如下 Error: commons-logging defines classes that conflict with classes now provided by Android. 通过报错信息可以看出,项目中的commons-logging与Android系统自带…