西湖大学赵世钰老师【强化学习的数学原理】学习笔记1节

强化学习的数学原理是由西湖大学赵世钰老师带来的关于RL理论方面的详细课程,本课程深入浅出地介绍了RL的基础原理,前置技能只需要基础的编程能力、概率论以及一部分的高等数学,你听完之后会在大脑里面清晰的勾勒出RL公式推导链条中的每一个部分。赵老师明确知道RL创新研究的理论门槛在哪,也知道视频前的你我距离这个门槛还有多远。

本笔记将会用于记录我学习中的理解,会结合赵老师的视频截图,以及PDF文档Book-Mathematical-Foundation-of-Reinforcement-Learning进行笔记注释,之后也会补充课程相关的代码样例,帮助大家理解

笔记合集链接(排版更好哦🧐):《RL的数学原理》

记得点赞哟(๑ゝω╹๑)

Action

Agent在每个状态能够采取的行动

ActionSpace是依赖于State的,即不同状态会对应不同的ActionSpace

State transition

当采取一个action,Agent从一个State,转移到另一个State的过程

我们设计允许Agent踏入禁止区域,再惩罚扣分,而不是禁止进入,一是避免状态空间被缩小,而是适当的尝试扣分项,可能能创造更高的奖励。

状态转移矩阵

State transition可以用一个状态转移矩阵表示,这样表示相当直观,但是只能表示确认性的情况,因此现实中使用较为受限

状态转移可能性

用条件概率来表达这种有随机性的例子,让状态转移的概率形式更加一般化

Policy

Agent被告知在一个状态会采取的动作,给予这个Policy,能够创建一条路径

我们仍然使用条件概率来表示策略,使用符号π来表示任何一个state下,一个action的条件概率是多少

Reward

Agent在采取了一个动作后获得的一个实数标量

  • 正数即鼓励行为的发生
  • 负数即不被希望发生的行为
  • 0一般没有意义,但是相对来说算是奖励

Reward是我们和机器交互的一种方式,去引导Agent实现合适的策略

小贴示
  1. 当reward的产生存在概率时,则表格不再适用
  2. 只要你努力学习你就应该得到奖励,但具体数值并不会确定,同样的,Agent的奖励应该基于当前状态和奖励,而不是下一个状态

Trajectory and return

A state-action-reward chain

Return

对Trajectory的奖励进行求和

通过return,可以直观描述以及评估一个policy的好坏

Discounted return

引入discount rate,避免return的发散,实现无穷级数的收敛

在return前添加折扣discount rate -> γ

  • If γ is close to 0:让Agent的决策更趋向于即时奖励
  • If γ is close to 1:让Agent的决策更趋向于长期奖励

Episode

episode可以理解为有terminal states(终止点)的trajectory,因此通常是有限步的,这样的任务被称为episodic tasks。

与之相对的是continuing tasks,与环境的交互不会终止

episodic tasks与continuing tasks的相互转化
  1. 将target状态设为absorbing state(可以理解为黑洞状态),一旦到达就无法离开
  2. 保持target为正常节点,使用奖励策略来阻止agent离开,允许agent跳出

我们采用第二种,虽然需要更多时间探索,但是最终的效果也将更加一般化

Markov decision process(MDP)[马尔科夫决策过程框架]

Key elements of MDP:

  • Sets:
    • State:the set of states S
    • Action:the set of actions A(s) is associated for state s ∈ S.
    • Reward:the set of rewards R(s,a).
  • Probability distribution:
    • State transition probability: at state s, taking action a, the probability to transit to state s’ is p(s’|s,a)
    • Reward probability: at state s, taking action a,the probability to get reward r is p(r|s,a)
  • Policy: at state s, the probability to choose action a is π(a|s)
  • Markov property:memoryless property

p(st+1|at+1,st,…,a1,s0)=p(st+1|at+1,st),

p(rt+1|at+1,st,…,a1,s0)=p(rt+1|at+1,st).

All the concepts introduced in this lecture can be put in the framework in MDP.


之前的GWE可以被抽象为一个马尔科夫过程(Markov porcess)

Markov decision process becomes Markov process once the policy is given!

马尔科夫决策过程当有了一个明确的决策方式,就变成了马尔科夫过程

小结

By using grid-world examples, we demonstrated the following key concepts:

  • State
  • Action
  • State transition, state transition probability p(s’|s,a)
  • Reward, reward probability p(r|s,a)
  • Trajectory, episode, return, discounted return
  • Markov decision process

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

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

相关文章

信息系统集成对企业的影响到底有多大?

什么是信息系统集成 系统集成(System Integration)是指将若干个独立运作的系统或服务联通并整合的过程,旨在将那些存在交集或重复功能的分散模块融合为一个协同工作的整体,以实现效能的最大化和资源的最优配置,避免不…

找不到mfc140u.dll文件如何处理?这三种方法帮你快速修复mfc140u.dll

当你的电脑出现提示,显示找不到mfc140u.dll文件,从而无法继续执行代码,你需要知道如何应对这种情况。今天我们就来详细说明如何解决mfc140u.dll文件丢失的问题,并对该文件进行详细分析。这个文件是Microsoft Visual Studio的一个重…

AI文章写作网站

最强AI文章写作网站——心语流光( Super Ai Writer ) 特点 多轮问答写作,自动携带历史记录进行问答可以自定义携带历史记录的轮数,为0则携带全部历史记录,有效避免token浪费(类似coze平台)AI生…

【Java网络编程】TCP通信(Socket 与 ServerSocket)和UDP通信的三种数据传输方式

目录 1、TCP通信 1.1、Socket 和 ServerSocket 1.3、TCP通信示例 2、UDP的三种通信(数据传输)方式 1、TCP通信 TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象 通信之前要保证连接已经建立(注意TCP是一…

【06】JAVASE-数组讲解【从零开始学JAVA】

Java零基础系列课程-JavaSE基础篇 Lecture:波哥 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。…

从业务经营到企业战略,构建制药企业数字化应用新能力

我国医药的消费正处在一个高速增长的阶段,人口增长、老龄化加剧、经济总体增长、人均消费增长、农村收入提高,这五大因素是医药市场蓬勃发展的动力。在这五大因素的驱动下,我国的医药市场需求将会在未来相当长的时间内保持高速增长。从多个环…

神经网络:手写数字图像识别

一、导入相关库函数 import matplotlib.pyplot as plt import tensorflow as tf import keras import numpy as np 二、载入mnist数据集 使用keras.中的mnist数据集 (train_images, train_labels), (test_images, test_labels)\ keras.datasets.mnist.load_data() 三、测…

在微信上卖化妆品怎样发圈(学会写朋友圈段子卖货很简单)

大家好,我是只说人话,不讲概念,专给创业者们开思维脑洞 今天咱们要分享的内容比较有趣,教你如何写段子故事在朋友圈里做促销活动。 首先我们来看一个硬蹭明星热点的朋友圈案例。发朋友圈的是一位做装修的,在明星结婚的…

Python AI库 Pandas的常见操作的扩展知识

Python AI库 Pandas的常见操作的扩展知识 本文默认读者具备以下技能: 熟悉python基础知识,vscode或其它编辑工具 熟悉表格文件的基本操作 具备自主扩展学习能力 前文中对Pandas的数据结构以及基础操作做了介绍,本文中会在前文的基础上,对常见的操作进…

Python自动化系统6

元素的特征:根据页面设计规则,有些特征是唯一 开发遵循了这个规则 id :类比身份证号―仅限于当前页面 username username 注意:如果id 不是固定的话,就不能使用来定位! xpath: 1、绝对路径:/html/body/div/div/div[1]/a/b --根节点&#xff…

2024公共管理与社会发展国际学术会议(ICPMSD 2024)

2024公共管理与社会发展国际学术会议(ICPMSD 2024) 2024 International Conference on Public Management and Social Development 一、【会议简介】 2024公共管理与社会发展国际学术会议,将汇集全球顶尖学者,展开一场学术盛宴。 在这次会议上&#xff0…

【UE C++】设置游戏模式

问题 我们都知道如何使用蓝图创建一个游戏模式并且在这个游戏模式蓝图中去设置“默认pawn类”、“HUD类”、“玩家控制器类”、“游戏状态类”、“玩家状态类”、“旁观者类”。那么如何使用C完成该操作呢? 步骤 1. 首先创建“GameMode”、“GameState”、“HUD”…

如何用二维码实现现代仓库管理?

随着科技的进步,二维码技术逐渐应用与各个领域,其中在仓库管理中的应用也日益广泛。 那话不多说,我们直接来看如何用二维码实现现代仓库管理 简道云仓库管理模板,可以点击安装配合阅读:https://www.jiandaoyun.com 二…

Oracle集群ORA-03113:end-of-file on communication channel

一、问题场景描述 今天Oracle集群要更新各数据库的数据,折腾的启动不了了: --》数据量比较大,数据泵方式导出的dmp文件 准备导入集群 --》由于之前的生产数据库数据比较少,需要增大表空间。 --》于是在sqlplus命令窗口&#xff0c…

暗区突围端游海外版|暗区突围免费加速器有吗 免费加速器推荐

游戏中玩家可以创建男性或女性角色,可以通过选择脸型、发型、发色对人物形象进行调整;在进入游戏后,除人物性别不能修改,脸型、发型、发色都可以进行调整。除此之外可以在衣橱中对角色的上衣、手套、裤子、鞋子、帽子进行更换。游…

Leetcode—1017. 负二进制转换【中等】(string列表初始化、反向迭代器)

2024每日刷题(120) Leetcode—1017. 负二进制转换 实现代码 class Solution { public:string baseNeg2(int n) {string ans;while(n ! 0) {ans to_string(n & 1);n -(n >> 1);}return ans.empty() ? "0": string{ans.rbegin(),…

R语言详解二

一&#xff0c;列表详解 创建一个列表 > myList<-list(id2,name"张三",age20) > myList $id [1] 2$name [1] "张三"$age [1] 20 获取第一个元素 > myList[[2]] [1] "张三" 获取第一个子列表 > myList[2] $name [1] "张…

百度 测试|测试开发 面试真题|面经 汇总

百度测开 开发测试工程师 提前批一二三面面经 事业群&#xff1a;MEG base&#xff1a;北京 一面&#xff1a;2023.8.12 时长&#xff1a;50min 自我介绍 个人项目&#xff0c;我的项目是围绕着学校课程的项目来的&#xff0c;面试官就让我介绍这门课讲了些什么 &#xff…

信息化项目总体计划书(Word)

项目开发计划包括项目描述、项目组织、成本预算、人力资源估算、设备资源计划、沟通计划、采购计划、风险计划、项目过程定义及项目的进度安排和里程碑、质量计划、数据管理计划、度量和分析计划、监控计划和培训计划等。 软件全套精华资料包清单部分文件列表&#xff1a; 工作…

03-JAVA设计模式-模板方法模式

模板方法模式 什么是模板方法 模板方法模式&#xff08;Template Method Pattern&#xff09;在Java中是一种行为型设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某…
最新文章