(202401)深度强化学习基础2:策略梯度

2024-01-21 01:52

本文主要是介绍(202401)深度强化学习基础2:策略梯度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 策略梯度
    • 1 基于价值算法的缺点
    • 2 策略梯度算法
    • 3 REINFORCE算法
    • 本章小结

前言

感谢Datawhale成员的开源本次学习内容的文档地址为 第九章 策略梯度

策略梯度

这个章节会开始介绍基于策略梯度的算法。前面的算法都是针对“奖励”或者说“回报(reward)”的,而这次的则是直接对策略本身进行近似优化。这与之前的差别很大,我这里也大约明白了一点为什么任务一直接让人跳到DQN但是却不跳过第二章“马尔克夫决策过程”,因为马尔科夫决策过程是前面介绍过的全部强化学习算法的基础,它提供了可量化的指标从而能够从数学上优化决策。而现在我们大约是将会被介绍一种不同于“马尔科夫决策过程”的方法了!

但是根据我后面看到的内容,我发现并不是这样(QAQ),策略梯度算法也是需要使用“价值”的;具体的容我下面试图理解。

这个方法的粗略描述是,将策略描述成一个带有参数 θ \theta θ的连续函数,某个状态是输出,对应的动作概率分布是输出,乘坐随机性策略。但是看到这里,依然不理解是怎样进行优化的;或许数学功底足够好的人看到“描述成连续函数”就能够恍然大悟,但是我是不理解的,还需要继续看下去。

1 基于价值算法的缺点

  • 无法表示连续动作:可以理解为其实之前的都是一个选择,比如跳格子,前进一步、两步、三步;而实际上机器人的运动控制基本都是连续动作空间。虽然在使用的时候可以把连续的离散化,反正如果是我的话,就凑合着过呗——但是既然现在知道有这样一种能表示连续动作空间的,那就要努力接受。
  • 高方差:基于价值的方法通常都是通过采样的方式来估计价值函数,这样会导致估计的方差很高,从而影响算法的收敛性。然后后面提到改进的DQN算法如改善经验回放、目标网络的方式都可以在一定程度上减小方差,但是不能解决问题。
  • 探索与利用的平衡问题:这一段基本读不懂,请查阅原文,大概意思是说,DQN这些基于价值的算法一般用贪心来实现一定程度的随机,但是不够理想。

2 策略梯度算法

看这位佬的视频多少有一点理解了,这个东西我没法表达了,就不表达了(^ _ ^)。

3 REINFORCE算法

因为策略梯度实际操作起来求解是很困难的,所以要用蒙特卡罗策略梯度算法近似求解:采样一部分且数量足够多的轨迹,然后利用这些轨迹的平均值来近似求解目标函数的梯度。

呃呃,要不我们继续看视频吧。

本章小结

策略梯度算法是强化学习的另一大类算法,介绍了常见策略函数的设计方法,位后面Actor-Critic算法章节做铺垫。

这篇关于(202401)深度强化学习基础2:策略梯度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/628022

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ