强化学习——学习笔记3

一、强化学习都有哪些分类?

1、基于模型与不基于模型
根据是否具有环境模型,强化学习算法分为两种:基于模型与不基于模型
基于模型的强化学习(Model-based RL):可以简单的使用动态规划求解,任务可定义为预测和控制,预测的目的是评估当前策略的好坏,即求解状态价值函数 V π ( S ) V_π(S) Vπ(S),控制的目的则是寻找最优策略 π ∗ π_∗ π V ∗ ( s ) V_∗(s) V(s)
在这里“模型”的含义是对环境进行建模,具体而言,是否已知其P和R,即 p ( s ′ ∣ s , a ) p(s′|s,a) p(s′∣s,a) R ( s , a ) R(s,a) R(s,a)的取值。

如果有对环境的建模,那么智能体便可以在执行动作前得知状态转移的情况即 p ( s ′ ∣ s , a ) p(s′|s,a) p(s′∣s,a)和奖励 R ( s , a ) R(s,a) R(s,a),也就不需要实际执行动作收集这些数据;否则便需要进行采样,通过与环境的交互得到下一步的状态和奖励,然后仅依靠采样得到的数据更新策略。
无模型的强化学习(model-free):需要使用蒙特了卡洛法、时序差分法不断的探索环境。

2、基于价值、基于策略
在无模型的方法中,又有基于价值和基于策略的两种方法。
基于价值:智能体通过学习价值函数,隐式的策略,并贪婪的选择值最大的动作,即 a = a r g m a x Q ( s , a ) a=arg maxQ(s,a) a=argmaxQ(s,a),主要包络Q-learning和SARSA,这种方法一般得到的是确定性策略。
其有如下几点缺点:
1)对连续动作的处理能力不足;
2)对受限状态下的问题处理能力不足;
3)无法解决随机策略问题。包括Q-Learning、SARSA。

基于策略:没有价值函数,直接学习策略。其对策略进行进行建模 π ( s , a ) π(s,a) π(s,a)并优化,一般得到的是随机性策略。适用于随机策略、连续动作。主要包括Policy Gradient算法、TRPO、PPO。

对于以上两个分类的方法可以参照下图。
在这里插入图片描述

3、on/off-policy
On-policy:学习的 agent 跟和环境互动的 agent 是同一个。行为策略与目标策略相同。也就是说,行动遵循的行动策略与被评估的目标策略是同一个策略(如果要学习的智能体和与环境交互的智能体是相同的),则称之为同策略,比如Sarsa。其好处就是简单粗暴,直接利用数据就可以优化其策略,但这样的处理会导致策略其实是在学习一个局部最优,因为On-policy的策略没办法很好的同时保持即探索又利用。

Off-policy: 学习的 agent 跟和环境互动的 agent 不是同一个。将收集数据当做一个单独的任务。Off-policy将目标策略和行为策略分开,可以在保持探索的同时,更能求到全局最优值。行动遵循的行动策略和被评估的目标策略是不同的策略(或如果要学习的智能体和与环境交互的智能体不是相同的),则称之为异策略,比如Q-learning。但其难点在于:如何在一个策略下产生的数据来优化另外一个策略。
综上,强化学习的分类可以比喻为如下图:
在这里插入图片描述

二、基于价值强化学习方法简介

1、Q-Learning
先上图:
在这里插入图片描述
在上述流程图中所说的Q表即为下表:
假设我们在玩一个小游戏,该游戏有上下左右不同的动作,同时也会有不同的状态,比如游戏结束等。Q表也可以称为状态-价值函数 Q ( s , a ) Q(s,a) Q(s,a):这个表格的每一行代表每个 state上述例子中的游戏结束等,每一列代表每个 action上述例子中的上下左右,表格的数值就是在各个 state 下采取各个 action 时能够获得的最大的未来期望奖励。
在这里插入图片描述
通过上述的Q table 就可以找到每个状态下的最优行为,进而通过找到所有最优的action得到最大的期望奖励。
Q表更新公式如下:
在这里插入图片描述
Q-learning在更新Q值时下一步动作是不确定的,它会选取Q值最大的动作来作为下一步的更新。
2、SARSA
SARSA(State-Action-Reward-State-Action)是一个学习马尔可夫决策过程策略的算法。至于马尔可夫决策过程策略是什么可以见上一篇文章。
它的算法和公式和 Q learning 很像,但是 Q-Learning 是Off-Policy的,SARSA 是On-Policy 的。
SARSA的Q表更新公式如下:
在这里插入图片描述
从上式中可以看出,Sarsa使用下一步的实际动作来作为更新,而在Q-learning算法中,使用确定性策略选出的新动作只用于动作价值函数,而不会被真正执行,当动作价值函数更新后,得到新状态,并基于新状态由ε贪心策略选择得到执行行动,这意味着行动策略与目标策略不属于同一个策略。
上述两种方法最先提出的时候是没有引入时序差分方法的,而是在计算奖励的过程中一条路走到头,直到状态变为结束为止。而这种方式的计算是会消耗大量的时间。因此有了将时序差分方法与Sarsa/Q-learning或者其他算法结合的新方法。
3、TD(0)控制/Sarsa(0)算法与TD(n)控制/n步Sarsa算法
在这里插入图片描述
TD每过一个时序p就利用奖励 R t + 1 R_{t+1} Rt+1和值函数 V ( S t + 1 ) V(S_{t+1}) V(St+1)
更新一次,当然,这里所说的one-step TD 方法,也可以两步一更新,三步一更新”,这个所谓的多步一更新我们便称之为N步时序差分法。如上图。
回报公式的定义,即为(根据前几项可以看出:γ的上标加t+1即为R的下标,反过来,当最后一项R的下标T确定后,自然便可以得出γ的上标为T−t−1)。因此有如下式:
在这里插入图片描述
从而有:
单步回报: G t : t + 1 = R t + 1 + γ V t ( S t + 1 ) G_{t:t+1}=R_{t+1}+γV_t(S_{t+1}) Gt:t+1=Rt+1+γVt(St+1),即为TD(0)控制/Sarsa(0)算法
两步回报: G t : t + 2 = R t + 1 + γ R t + 2 + γ 2 V t + 1 ( S t + 2 ) G_{t:t+2}=R_{t+1}+γR_{t+2}+γ^2V_{t+1}(S_{t+2}) Gt:t+2=Rt+1+γRt+2+γ2Vt+1(St+2)
n步回报: G t : t + n = R t + 1 + γ R t + 2 + ⋯ + γ n − 1 R t + n + γ n V t + n − 1 ( S t + n ) G_{t:t+n}=R_{t+1}+γR_{t+2}+⋯+γ^{n−1}R_{t+n}+γ^nV_{t+n−1}(S_{t+n}) Gt:t+n=Rt+1+γRt+2++γn1Rt+n+γnVt+n1(St+n)
类似的,当用n步时序差分的思路去更新Q函数则就是所谓的n步Sarsa算法,当我们重新根据动作价值的估计定义如下的b步方法的回报为:
在这里插入图片描述
如此,便可以得到如下Q的更新方式:
在这里插入图片描述
4、Sarsa算法与Q-learning更新规则的对比

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows部署ollama+maxkb+vscode插件continue打造本地AI

windows部署ollamamaxkbvscode插件continue打造本地AI 前言下载ollamadocker desktopvscode插件continue 安装安装ollama设置环境变量 安装docker desktop部署maxkb容器 安装vscode插件模型搜索和推荐 前言 我采用docker运行maxkb,本地运行ollama形式。可能是windo…

HTTP报文

HTTP报文 报文流 HTTP报文是在HTTP引用程序之间发送的数据块,这些数据块以一种文本形式的元信息开头,这些信息描述了报文的内容和含义,后面跟着可选的数据部分,这些报文在客户端,服务器和代理之间流动。 报文流入源…

盘点韩语中的四字成语柯桥留学韩语学习外语培训

일석이조 一石二鸟 일거양득 一举两得 호장성세 虚张声势 새옹15857575376#지마 塞翁失马 간담상조 肝胆相照 이심전심 心心相印 동고동락 同甘共苦 외유내강 外柔内刚 입신양명 扬名立万 다다익선 多多益善 거두절미 截头去尾 일사천리 一泻千里 자유자재 自由自在 탁상공

一套saas模式云MES系统源码,基于springboot+vue.js+uniapp开发

一套saas模式云MES系统源码,基于springbootvue.jsuniapp开发 MES系统简介 MES系统,即制造执行系统(Manufacturing Execution System),是一种面向制造企业车间执行层的生产信息化管理系统。它位于上层的企业资源规划&a…

浅谈路由器转发数据包

当路由器转发数据包时,它会经历一系列步骤,包括接收数据包、路由表查询、以及转发数据包。以下是详细的步骤描述: 1. 接收数据包 以太网帧到达端口:当一个以太网帧到达路由器的某个网络接口(端口)时&#…

通过Transformers用不同的采样方法生成文本

近年来,随着以OpenAI的ChatGPT和Meta的LLaMA为代表的基于数百万网页数据训练的大型Transformer语言模型的兴起,开放域语言生成领域吸引了越来越多的关注。开放域中的条件语言生成效果令人印象深刻,典型的例子有:GPT2在独角兽话题上…

Javascript 基础知识 —— 重写数组方法

1、写一个函数,实现深度克隆对象 const obj {name: "LIYUFAN",age: 25,career: "初级前端工程师",info: {field: ["JS", "CSS", "HTML"],framework: ["React", "Vue", "Angular"…

什么是边缘计算网关?工业方向应用有哪些?天拓四方

在数字化时代,信息的传输与处理变得愈发重要,而其中的关键节点之一便是边缘计算网关。这一先进的网络设备,不仅扩展了云端功能至本地边缘设备,还使得边缘设备能够自主、快速地响应本地事件,提供了低延时、低成本、隐私…

2.开发环境介绍

开发环境介绍三种:第一种是在线开发环境、第二种是Windows下的开发环境、第三种是Linux下的开发环境。 1.在线开发环境 2.Windows下的开发环境 用的比较多的是Devc,新手适合使用,上手快,简单,方便。 Devc使用&#x…

利用cython将.py文件编译为.pyd文件

文章目录 1. 引言2. py文件编译为pyd文件步骤2.1 环境准备2.2 准备setup.py文件2.3 进行编译 3. 测试代码 1. 引言 在实际的Python开发中,为了防止Python脚本源码暴露,常常需要对python源码文件进行加密保护,Python的原始文件格式为.py&…

精选10款手机必备精品APP,每一款都不容错过!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ ​1.二维码而设计的应用程序——二维码设计 二维码设计 App 是一款专为用户创建和定制二维码而设计的应用程序。该应用适用于iOS和Android平台…

PLC自动化行业的发展前景好吗?

第一先说plc的薪资: 整体的平均薪资还是非常可观的,在1.3w/月左右。 当然PLC是需要经验积累的,尤其需要拥有大型的系统设计经验,那将会在PLC以至于自动化行业都会吃的开。所以待遇是与自身的经验,能力,所在…

(函数)颠倒字符串顺序(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <string.h>//声明颠倒函数; void reverse(char a[]) {//初始化变量值&#xff1b;int i, j;char t;//循环颠倒&#xff1b;for (i 0, j strl…

富凡行是什么软件,来具体聊一聊它的详情,感兴趣的不要错过了

目前做网络项目的人很多&#xff0c;也就衍生出了很多的软件、项目、平台。接触过了很多的产品&#xff0c;感触颇深&#xff0c;确实市面上的东西差别都很大&#xff0c;有好的&#xff0c;有不好的。 我也是喜欢在网上做点副业&#xff0c;自己捣鼓一下&#xff0c;毕竟互联网…

【2024.5.29数据库MYSQL史上最详细基础学习汇总】

初识数据库 什么是数据库: DB的全称是database,即数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作; 什么是关系型数据库(SQL)? 关系型数据库是依据关系模型来创建的…

检索字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中&#xff0c;字符串对象提供了很多应用于字符串查找的方法&#xff0c;这里主要介绍以下几种方法。 &#xff08;1&#xff09;count()方…

万亿国债消防救援——北斗应急通讯设备类目推荐

近期&#xff0c;云贵川地区山火肆虐&#xff0c;山火大范围、远距离、独立密集地发生&#xff0c;给消防救援带来了巨大挑战。 消防应急工作是保障人民生命财产安全的重要环节&#xff0c;它涉及到预防火灾、及时应对火灾事故以及灾后恢复等多个方面。在应对火灾、事故和其他…

Web自动化测试需要掌握那些基础技能?速速收藏!

一、WEBUI自动化背景 HONGRUAN 因为web页面经常会变化&#xff0c;所以UI自动化测试的维护成本很高。不如接口的适用面广&#xff0c;所以大部分公司会做接口自动化测试&#xff0c;但是未必会做UI自动化测试&#xff1b; UI自动化测试要做也是覆盖冒烟测试&#xff0c;不会…

如何更改SSH服务器端口以减少蛮力攻击

本周有一个客户&#xff0c;购买Hostease的独立服务器&#xff0c;询问我们的在线客服&#xff0c;如何更改SSH服务器端口以减少蛮力攻击&#xff1f;我们为用户提供相关教程&#xff0c;用户很快解决了遇到的问题。在此&#xff0c;我们分享这个操作教程&#xff0c;希望可以对…

扒出秦L三个槽点,我不考虑买它了

文 | Auto芯球 作者 | 雷慢 比亚迪的有一个王炸“秦L”&#xff0c;再一次吸引了我注意力&#xff0c; 我上一辆车刚卖不久&#xff0c;最近打算买第二辆车&#xff0c; 二手车和新车都有在看&#xff0c; 我又是一个坚定的实用主义者&#xff0c; 特别是现在的经济环境不…