当前位置: 首页 > news >正文

基于西湖大学强化学习课程的笔记

放在前面 课程链接
2024年12月30日
前言:强化学习有原理部分的学习,也有与实践相关的编程部分。我认为实践部分应该是更适合我的,不过原理部分也很重要,我目前是准备先过一过原理。
应该花多少时间学习这部分呢?
但是这个视频强调了, 放弃速成的想法。把时间线放长,给自己更充裕的时间。
强化学习的数学性比较强,系统性比较强。
在学习的时候不要带着问题去学习,停下来多想想,放松心态。
给自己二十天的时间去学习(如果每天能学习两三个小时)。学得快不是目的:把基础打牢,让自己对强化学习的理解尽可能深刻一些,然后在配上一些实践,就可以去阅读论文了。据说这样就不会有很大的障碍了。
扎扎实实的往前走,其实才是更高效的。

第一天的学习:

一、脉络图

这个图包含了基础的工具以及方式

第一章:

基础概念介绍

第二章:贝尔曼公式

需要搞明白一个概念:state value
和一个工具:贝尔曼公式(求解贝尔曼公式,进而得到一个策略所对应的状态值,这个过程就是策略评价)
一个很基础的概念:我评价一个策略,得到它的值-》基于这个值-》改进策略-》循环———得到一个最优的策略。
第三章:MC
贝尔曼最优公式:其实是贝尔曼公式的一个特殊情况。每一个贝尔曼公式都对应一个策略,最优公式也对应了一个策略——最优策略。我们研究贝尔曼公式就是 因为他和最优策略有关系
强化学习的终极目标: 求解最优策略。
学习第三章需要掌握两个概念:optimal policy(定义:沿着它能得到最大的状态值)和optimal state value
和一个工具: 贝尔曼最优公式。要花比较多的精力去学习理解这个概念, 越深刻越好
分析这个式子用了用到了不动点原理——>告诉了我们这个式子两个方面的性质:
  • 最优策略是否存在的问题——一定是存在的(最优的策略不一定是唯一的,但是最优的状态值是唯一的——最优的策略有可能是确定性的,也有可能是随机性的。但是一定会存在最优策略)

第四章

第一批能够求解最优策略的方法:
  • 值迭代(该算法就是能求解贝尔曼最优公式的算法)
  • 策略迭代
  • 统一的表达方式(上面的两个情况是这个的极端情况)
这三个算法的共同特点:他们是迭代式的算法,并且在每个迭代步骤中都有两个子步骤:
策略迭代(通过一个值进行策略评价,来改进这个策略)和值迭代。 这两个步骤会不断地迭代,最后找到最优策略。
这样的思想不仅仅是在第四章当中,所有的强化学习算法都在这样做。只不过具体的算法形式可能不同。
这个算法是需要模型的,但是没有模型怎么办呢?这样就来到的第五章。

第五章:蒙特卡洛

是最简单也是第一个不需要模型就能找到最优策略的方法。
从第四章到第五章有一个鸿沟:我第一次要面对没有模型的情况,没了模型我应该怎么办呢?
这三个算法难度依次增加。
  • MC Basic:实际上是把第四章中的Policy Iteration依赖于模型的那部分拿掉,换成依赖于数据的,放进去就得到了MC Basic。但是这个算法实际中不能用,因为效率非常低。(强化学习真的是一环扣一环,学MC需要先学Policy iteration,然后还要先学Value iteration,还要先学贝尔曼最优等等递归——所以要打好基础

第六章:随机近似理论

  • 在学习的时候会有一个鸿沟:从非增量(将所有的数据都采集到了再求平均,)到增量(一开始会有一个估计,得到一个采样就用一个采样来跟新这个估计,慢慢的估计就会越来越准,这样就不用等待大量数据收集齐了再用,这样在收集信息的时候就可以有一些信息来使用)
  • 估计一个随机变量(用这个例子来理解什么事增量什么是非增量)
  • 介绍了三个算法:
  • RM算法:实际上是在求解一个简单的g(w)=0的一个方程,但是不需要知道g(w)长什么样
  • SGD:随机梯度下降。SGD其实是一个特殊的RM算法
  • 比较SGD,BGD,MBGD算法之间进行了比较
  • 第六章需要掌握:增量式算法的思想以及SGD算法思想。

第七章:时序差分方法

时序差分方法是强化学习中非常经典的方法
  • 用TD的方法来学习state values(之前是用MC的方法来学习,第四章是用模型计算state value)
  • 用TD的思想来学习action value(Sarsa),通过这个得到action value-》通过这个value来跟新策略-》循环
  • Q-learning算法:是一个off-policy算法(behavior policy是不同的,好处就是可以用别的策略生成的数据拿过来学习,得到最优的策略)
  • 介绍一个统一化的视角(我们所学算法的类似的)

第八章:value-gradient

第八章引入了一个函数进来, 神经网络就是函数的一个很好的表达方式,首次将神经网络引入到强化学习中。
  • 有一个比较大的鸿沟:从表格类型的数据到函数类型的数据
  • (value function approximation近似)VFA算法(实现state estimation):1、明确一个目标函数 2、求这个目标函数的梯度 3、通过梯度上升或者下降来对目标函数进行优化(找到一个最优的w,使得函数能够很好的表达近似真实的vpi(s))
  • VFA算法与sarsa算法结合
  • 与Qlearning结合
  • 与deep Qlearning结合(DQN)

第九章:policy-gradient

gap:第八章往前都是value-based的方法,第九章到第十章变成了policy-based的方法。第八章的目标函数是值函数j(w),我要跟新值函数的参数使这个值函数能很好的近似估计出来一个策略的值,在这个基础之上我再跟新策略,得到新的策略(循环)。
而policy-Gradient的目标函数使J(theta),这里是直接去优化这个theta,也就是直接改变策略,慢慢的找到最优的策略
  • 第九章的基本思路就是:找目标函数,求他的梯度,然后用梯度去优化目标函数。这里的目标函数是有两个
  • 这节课的一个重要目标是熟悉策略梯度的表达式(推导比较复杂)。
  • 获得了梯度,我就要通过这个梯度去优化这个最大目标函数,介绍一个算法叫(REINFORCE算法)

第十章:Actor-Critic算法

gap:将policy-based+value-based的方法结合。将第九章和第八章的内容结合起来。其实actor-critic算法就是第九章的policy-gradient的方法。
actor对应policy-gradient,critic对应value-gradient。
如何理解这个actor-critic呢:
就是用上一个策略(theta)来跟新一个新的策略,通过这个式子策略就会逐渐变好。 简单说:通过q来求出值,再用这个值跟新策略,策略得到新的值,然后再跟新策略,以此循环
  • 第十章介绍了几种算法:
  • 1、最简单的算法就是actor-critic算法——简称QAC
  • 2、Advantage actor critic(A2C)——实际上是引入了一个base-line来减小估计的方差
  • 3、off-policy actor-critic(ac算法本质上是一个on-policy算法,但是可以变成off-policy——通过importance sampling重要性采样算法)
  • 4、前三个的要求策略是随机的(在每一个状态都有可能选择到所有的action),也可以用确定性的策略:deterministic actor-critic(DPG)

二、这门课程的特点

这门课程是关于原理部分而不是编程实践部分。想学习编程的框架可以配合很多非常好的资料结合学习。
这门课程偏向于通过数学的方式去讲述。而不是通过语言的描述去讲述,这样可以了解这个问题最本质的数学原理,之后就可以360°无死角的理解这个问题。
更偏向于对强化学习希望有更深刻理解的同学,需要对原理部分有比较深的理解。 如果要以此为生,强化学习就是我的饭碗,要牢牢抓住!!!
要相信自己,从数学的方式是学习强化学习最高效的方式。学学学!
学完这个课程之后应该学什么呢: 实践!理论与实践相结合!再之后就可以去读论文了

相关文章:

基于西湖大学强化学习课程的笔记

放在前面 课程链接 2024年12月30日 前言:强化学习有原理部分的学习,也有与实践相关的编程部分。我认为实践部分应该是更适合我的,不过原理部分也很重要,我目前是准备先过一过原理。 应该花多少时间学习这部分呢? 但是这…...

瀚高数据库 问题: ERROR: operator does not exist: character varying = integer

错误信息: ERROR: operator does not exist: character varying integer建议:No operator matches the given name and argument types. You might need to add explicit type casts.位置:1073at 增加瀚高数据库转换函数解决该问题&#xff…...

冷链温度记录仪蓝牙应用案例

在现代冷链物流运输过程中,确保货物在运输过程中保持在适当的温度范围内是至关重要的。例如,水果、蔬菜、肉类、乳制品以及医疗用品等,这些产品对温度的敏感性要求运输过程中必须严格监控温度变化。RAMSUN介绍冷链温度记录仪蓝牙芯片应用案例…...

LeetCode - Google 校招100题 第7天 序列(数据结构贪心) (15题)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/144744418 相关文章: LeetCode 合计最常见的 112 题: 校招100题 第1天 链表(List) (19题)校招100题 第2天 树(Tree) (21…...

深入理解Redis:从理论到实践的Java之旅

Redis,这个开源的内存数据结构存储系统,自2009年诞生以来,凭借其丰富的数据结构、快速的读写性能以及高度的可扩展性,迅速成为了分布式系统和高并发应用中的明星组件。本文将带你深入理解Redis,并通过Java语言的实践示…...

LabVIEW故障诊断中的无故障数据怎么办

在使用LabVIEW进行故障诊断时,可能会面临“无故障数据”的情况。这种情况下,缺乏明确的故障参考,使得系统难以通过传统对比法进行故障识别。本文将介绍应对无故障数据的关键策略,包括数据模拟、特征提取和基于机器学习的方法&…...

基于DIODES AP43781+PI3USB31531+PI3DPX1207C的USB-C PD Video 之全功能显示器连接端口方案

随着USB-C连接器和PD功能的出现,新一代USB-C PD PC显示器可以用作个人和专业PC工作环境的电源和数据集线器。 虽然USB-C PD显示器是唯一插入墙壁插座的交流电源输入设备,但它可以作为数据UFP(上游接口)连接到连接到TCD&#xff0…...

MySQL配置my.ini文件

my.ini文件中存储了数据库的文件地址,数据库数据存储地址以及登录密码等基础信息。在遇到忘记密码或者其他基础问题时,修改my.ini文件很方便。但是部分数据库版本默认不生成my.ini文件,需要自己进行配置。 1.停止数据库服务。在搜索框中输入…...

JVM常见排查问题的命令及可视化工具

前置: RMI协议:java的一个远程调用协议,在不同的JVM之间可以进行接口的调用,但数据不安全,且仅限java; 一、常见命令及用法 1、jps:与Linux的ps命令有点类似,查看系统中在运行的J…...

【python】matplotlib(moon cake)

文章目录 1、Style12、Style23、Style34、Style45、Style56、Style67、Style78、参考的库函数matplotlib.patches.Arcmatplotlib.patches.Wedge 9、参考 1、Style1 """ author: tyran """from numpy import sin, cos, pi import matplotlib.pyp…...

Pytorch使用手册-空间变换网络指南(专题十五)

在本教程中,您将学习如何使用一种称为空间变换网络(Spatial Transformer Networks, STN)的视觉注意力机制来增强您的网络。您可以在DeepMind的论文中了解更多关于空间变换网络的内容。 空间变换网络是可微分注意力的一种推广,可以应用于任何空间变换。空间变换网络(简称S…...

Vue 中el-table-column 进行循环,页面没渲染成功

文章目录 前言效果图代码示例可能出现的问题及原因**解决思路** 前言 实现效果:el-table-column 进行循环,使之代码简化 遇到的问题: data进行默认赋值,操作列的删除都可以出来,其他表格里面的数据没出来 效果图 示例…...

基于单片机的温湿度采集系统(论文+源码)

2.1系统的功能 本系统的研制主要包括以下几项功能: (1)温度检测功能:对所处环境的温度进行检测; (2)湿度检测功能:对所处环境的湿度进行检测; (3)加热和制冷功能:可以完成加热和制冷功能。 (4)加湿和除…...

使用envoyfilter添加请求头

该envoyfilter实现了这样一个功能,如果请求头中含有Sw8,则添加请求头HasSw8: true。 1. 内嵌lua脚本 apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata:name: add-header-filternamespace: demo-bookinfo # 可根据实际情况调整命…...

kafka开机自启失败问题处理

前言:在当今大数据处理领域,Kafka 作为一款高性能、分布式的消息队列系统,发挥着举足轻重的作用。无论是海量数据的实时传输,还是复杂系统间的解耦通信,Kafka 都能轻松应对。然而,在实际部署和运维 Kafka 的…...

优化站群SEO:使用苹果CMS泛目录插件实现泛目录页面刷新不变

优化站群SEO:使用苹果CMS泛目录插件实现泛目录页面刷新不变 在当今数字营销环境中,搜索引擎优化(SEO)是提升网站流量和可见性的关键策略。苹果CMS作为一款灵活的内容管理系统,提供了丰富的插件功能,尤其是…...

git clone 和 conda 换源

文章目录 git clone 通过 sshconda 创建虚拟环境通过 env.yml 文件conda 换源 git clone 通过 ssh git clone ssh://用户名IP地址:/仓库名字.gitconda 创建虚拟环境通过 env.yml 文件 conda env create -f environment.ymlconda 换源 Step 1 生成 .bashrc 文件在家目录下。…...

人工智能及深度学习的一些题目(二)

1、【单选题】 不属于语音识别预处理的步骤是哪个? 去重 2、HSV,H是色调,S是饱和度,V是亮度。 3、【填空题】 语音信号预处理中( 预加重 )的目的是为了对语音的高频部分进行加重,去除口唇辐射的…...

怎么在VMware Workstation上安装Win11虚拟机?

Windows11虚拟机是免费的吗? Windows 11 虚拟机本身并不是免费的。你需要一个合法的 Windows 11 许可证才能在虚拟机中运行。不过,许多虚拟机软件(如 VirtualBox 和 VMware Workstation Player)本身是免费的,允许你创…...

协程原理 函数栈 有栈协程

协程为什么开销小于线程 协程本质上是线程,将调度的代码在用户态重新实现,因为子程序切换不是线程切换而是由程序自身控制,没有线程切换的开销,所以执行效率高。协程通常是纯软件实现的多任务,与CPU和操作系统通常没有…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...

精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑

精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑 在电子商务领域,转化率与网站性能是决定商业成败的核心指标。今天,我们将深入解析不同类型电商平台的转化率基准,探讨页面加载速度对用户行为的…...

中科院1区顶刊|IF14+:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点

中科院1区顶刊|IF14:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点 当下,免疫与代谢性疾病的关联研究已成为生命科学领域的前沿热点。随着研究的深入,我们愈发清晰地认识到免疫系统与代谢系统之间存在着极为复…...