首页 > 其他分享 >强化学习学习路线

强化学习学习路线

时间:2024-03-04 16:34:58浏览次数:25  
标签:路线 学习 算法 https 强化 com DQN

1、强化学习介绍

强化学习是指智能体通过与环境进行交互,不断的通过试错,以获得更大的累计奖励为目的,得到更好的策略。强化学习的学习路线比较陡峭,因为涉及到的数学知识更多一些,需要概率论、随机过程的知识。这里通过我自己的一些学习经验以及看过的一些资料,整理了一条逐渐深入的学习路线,可以大幅度提高学习效率。

2、基础知识

基础知识是最重要也首先需要掌握的部分,涉及到强化学习中的具体定义以及数学模型等。这里推荐阅读Sutton的《强化学习导论》【1】的第三章内容。了解强化学习中最基本的马尔科夫过程,状态、动作、转移概率、奖励等基本概念。

3、核心知识

在了解了强化学习的基础知识之后,需要掌握其核心要点,也是后续相关算法的支撑基石。

  • 值函数 state value function、action value function
  • Bellman最优方程
  • 策略评估、提升、迭代

推荐阅读《强化学习导论》的第四章内容。

4、Q-Learning

在掌握了基础知识和核心要点之后,需要开始深入核心算法,其中Q-Learning是影响力较为广泛的算法之一。这里推荐《强化学习导论》中Q-Learning的详细描述以及莫烦的Q-Learning视频【2】。

5、时间差分(TD)

时间差分,Temporal Difference(TD)是强化学习中最为核心的方法,一定要充分理解,Q-Learning也是TD学习中的一种形式。推荐《强化学习导论》的第六章内容。

6、DQN

DQN是真正在深度学习时代,让强化学习迸发出了全新的活力的算法,也是必须掌握的基本算法。这里推荐莫烦的DQN视频【3】先做一个基本的了解。然后阅读论文掌握DQN的核心改进:

  • 经验回放 Experience Replay
  • 目标网络 Target Network
  • 如何构建值损失函数,通过梯度下降更新值网络

7、策略梯度(Policy Gradient)

策略梯度是强化学习中也必须掌握的算法,他是解决后来强化学习中连续动作问题的关键,也是后续很多先进算法的构建损失函数的基础。策略梯度的数学推导相对来说要复杂一些,这里推荐李宏毅老师的深度强化学习课程系列【4】,其详细的讲解了策略梯度的数学推导与后续发展。

8、Actor Critic

Actor-Critic也是非常经典的强化学习方法,他构建了一种后来广为应用的学习范式,通过策略评估和策略提升交替的方式更新值网络与策略网络。这里推荐阅读【5】。了解不同方法是如何构建策略损失函数。

9、全局学习

在对核心知识有了全盘的了解之后,需要对强化学习进行一个全局的学习与了解,这里推荐周博磊的IntroRL教程【6】。

10、具体算法

强化学习的算法学习,最好的方式是通过论文配合代码的方式进行学习,推荐必须掌握的算法:

离散动作:DQN、Double DQN、Dueling DQN、Rainbow

连续动作:DDPG、TD3、PPO、SAC、A3C

这里推荐OpenAI的Spinning Up系列【7】,里面有详细的算法详解与实现。

 

资源:

【1】https://rl.qiwihui.com/zh_CN/latest/index.html

【2】https://www.bilibili.com/video/BV1kx411E7Yq

【3】https://www.bilibili.com/video/BV1kx411E72M

【4】https://www.bilibili.com/video/BV124411S7au/?spm_id_from=333.788.videocard.0

【5】https://towardsdatascience.com/understanding-actor-critic-methods-931b97b6df3f

【6】https://github.com/zhoubolei/introRL

【7】https://spinningup.openai.com/e

标签:路线,学习,算法,https,强化,com,DQN
From: https://www.cnblogs.com/zhangxianrong/p/18052069

相关文章

  • 深度学习之模型压缩(剪枝、量化)
    随着深度学习的发展,模型变得越来越复杂,随之而来的模型参数也越来越多,对于需要训练的模型硬件要求也越来越高。模型压缩技术就是为了解决模型使用成本的问题。通过提高推理速度,降低模型参数量和运算量。现在主流的模型压缩方法包含两大类:剪枝和量化。模型的剪枝是为了减少参数量和......
  • st 算法学习笔记
    前言在看这篇文章之前,请先自行了解以下几项东西:1.倍增思想。2.动态规划思想。3.乘方位运算实现如有错误,欢迎各位dalao批评指出。什么是\(st\)算法?st算法是一种解决RMQ问题的算法。RMQ及RangeMinimum/MaximumQuery,即区间最大最小值查询。该算法采用了......
  • 黑马程序员JavaWeb学习笔记-过滤器
    过滤器--Filter过滤器Filter快速入门Filter拦截路径过滤器链Filter——流程importcom.alibaba.fastjson.JSONObject;importcom.itheima.pojo.Result;importlombok.extern.slf4j.Slf4j;importorg.springframework.util.StringUtils;importjavax.servlet.*;im......
  • 黑马程序员JavaWeb学习笔记-拦截器
    拦截器--Interceptor--快速入门@Component注解交给ioc容器管理--注册配置拦截器@Configuration注解用来标识当前是Spring当中的一个配置类//Interceptor拦截所有("/**")//Filter拦截所有("/*")//WebConfig需要在包下新建一个config包与controller同级//.excl......
  • 黑马程序员JavaWeb学习笔记-文件上传
    文件上传https://www.bilibili.com/video/BV1m84y1w7Tb/?p=150&spm_id_from=pageDriver&vd_source=62f4901d4d947272c439194b87ec6698当报错500时,服务端出现错误,因为默认最大为1M在application.properties里面修改文件上传的几个函数本地存储Controller层的代码import......
  • 黑马程序员JavaWeb学习笔记-登陆login
    登陆loginlogin是登陆业务方法,mapper接口是持久层,用来操作数据库的,用业务方法名不合适三层架构PostMan测试登陆校验http协议是无状态的,下次请求不会携带上次请求的数据,两次请求是独立的Cookie前后端分离项目中前端页面和后段接口部署在不同的服务器上,所以他们的协议......
  • 黑马程序员JavaWeb学习笔记-JavaScript
    JavaScript--JavaScript引入方式--书写语法--输出语句window可以省略--变量var特点1:作用域比较大,全局变量特点2:可以重复定义--数据类型原始数据类型相当于java中基础数据类型alert(parseInt("12"));//12alert(parseInt("12A45"));//12alert(parseInt("A4......
  • 黑马程序员JavaWeb学习笔记-HTML
    HTML-新浪新闻HTML格式化代码mac:sheft+option+Fwin:ctrl+alt+L--标题排版<!--文档类型为HTML--><!DOCTYPEhtml><htmllang="en"><head><!--字符集为UTF-8--><metacharset="UTF-8"><!--设置浏览器兼容性-->......
  • Java学习笔记——第五天
    方法什么是方法方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。定义方法时可以指定形参,形参没有实际意义,仅仅起到占位和提示实参种类的作用,名字要有意义。调用方法时可以指定实参,实参由实际意义,是方法运行时事实上使用的数值。return关键字可以用来......
  • 基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
    算法运行效果图预览  2.算法运行软件版本MATLAB2022a 3.算法理论概述       YOLO(YouOnlyLookOnce)是一种实时目标检测算法,其核心特点是将目标检测视为一个回归问题,一次性预测出图像中所有目标的位置和类别。YOLOv2是YOLO算法的改进版本,由JosephRedmon等......