Datawhale开源

核心贡献者:王琦、杨逸远、江季

提起李宏毅老师,熟悉强化学习的读者朋友一定不会陌生。很多人选择的强化学习入门学习材料都是李宏毅老师的台大公开课视频。

现在,强化学习爱好者有更完善的学习资料了! Datawhale开源项目组成员总结了李宏毅的强化学习视频,实现了视频教程的完整梳理和复现,再也不用担心强化学习

目前,项目已完全开源,包括课程内容、配套的习题和项目,供大家使用。

1. 李宏毅深度强化学习简介

李宏毅老师现任台湾大学电气工程系副教授,主要研究方向是机器学习,特别是深度学习。他有一系列公开的强化学习课程视频,也是很多人入门的教程。

李宏毅老师的课程包括很多常见的强化学习算法,比如策略梯度、PPO、DQN、DDPG、演员-评论员算法、模仿学习、稀疏奖励等算法。此外,我们还补充了马尔可夫决策过程、Q-learning、Sarsa、REINFORCE 等强化学习常见的算法及概念。

「策略梯度」课程中的 PPT,解释了策略梯度的过程

「近端策略优化算法」课程中的 PPT,展示了重要性采样的问题

李宏毅老师的《深度强化学习》是强化学习领域经典的中文教程之一。李老师幽默风趣的上课风格让晦涩的强化学习理论变得轻松易懂,他会通过很多有趣的例子来讲解强化学习理论。比如老师经常会用玩 Atari 游戏的例子来讲解强化学习算法。

此外,为了课程的完整性,我们整理了周博磊老师的《强化学习纲要》、李科浇老师的《百度强化学习》以及多个强化学习的经典资料作为补充。 对于想入门强化学习又想看中文讲解的人来说绝对是非常推荐的。

但是,考虑到很多强化学习爱好者对于课程笔记的需求,我们不仅仅需要的是教学视频。我们需要一份课程笔记,能够引领学习者的思路,帮助引导他们进入这个领域。因此,就诞生了这款《LeeDeepRL-Notes》李宏毅深度强化学习笔记。

2.《LeeDeepRL-Notes》李宏毅深度强化学习笔记

LeeDeepRL-Notes 是 Datawhale 自《李宏毅机器学习笔记》后的又一开源学习项目,由团队成员王琦、杨毅远、江季历时四个月协作而成,实现了李宏毅老师深度强化学习课程内容的 100% 复现,并且在此基础上补充了有助于学习理解的相关资料和内容,对重难点公式进行了补充推导。

期间,Datawhale 组织了《深度强化学习基础》学习,在众多学习者共同的努力下,对该内容进行了迭代和补充。下面,让我们来详细了解下工作详情吧。

具体工作:

  • 2020 年 6 月 -- 2020 年 7 月:笔记整理初级阶段,视频 100% 复现;

  • 2020 年 7 月 -- 2020 年 10 月:添加相关的习题和项目,对笔记内容及排版迭代优化;

  • 2020 年 10 月 -- 2020 年 11 月:组队学习《深度强化学习基础》并对内容进行迭代完善;

  • 2020 年 11 月:最后内容修正,正式推广。

10月《深度强化学习基础》组队学习中学习者的评价

3.《LeeDeepRL-Notes》学习笔记框架

3.a 亮点

这份学习笔记具有以下优点:

  • 完全将李宏毅老师的讲课内容转为文字,方便学习者查阅参考。

  • 为了课程的完整性,我们还整理了周博磊老师的《强化学习纲要》、李科浇老师的《百度强化学习》以及多个强化学习的经典资料作为补充。

  • 配有相关的习题和项目。

3.b 笔记框架

内容在整体框架上与李宏毅老师的深度强化学习课程保持一致。建议学习过程中将李宏毅老师的视频和这份资料搭配使用,效果极佳。笔记也和课程视频完全同步。

内容导航见下:

4. 笔记内容细节展示

4.a 对 Q-learning 概念的解析

在笔记中重新整理 PPT 内容,并增加了一些注释

4.b Actor-Critc 算法的引入

根据内容整理成知识点,方便读者理解阅读

在整理过程中,我们并不对视频语音直接转文字,而是根据内容整理成知识点,方便读者理解阅读。

4.c 利用贴近学生的例子解释知识点

强化学习基本概念的解释

5. 习题(查漏补缺)

只有教程怎么够,来点儿课后习题和关键字总结帮助大家查漏补缺也是极好的。我们根据每一章的内容,并结合其他的网络资料,原创了课后习题以及关键字的总结,辅助你在更短的时间内查漏补缺,令你更快的将“零碎、无序”的知识“拼接”完整。

5.a 关键字让你快速 get 到文章的要点

在每章教程的后面,我们都会结合每章的内容,将定义、具体算法、专业名词等关键字和知识点,使用最短、最精确且最白话的方式总结,供大家吸收与巩固。

教程第二章部分关键字示意图

5.b 习题与参考答案助力你的查漏补缺

除了关键词,我们还提供了章节对应的习题供大家查漏补缺,并且结合其他资料,提供了详细、易懂的答案供大家参考。

教程第一章部分习题以及对应参考答案示意图

6. 项目(动手实践)

强化学习少了实践怎么行,这边挑了三个项目,都基于流行的 OpenAI gym 环境,让你快速入门,循序渐进,主要包括:

6.a 对项目的简易描述

6.b 层次清晰的手写代码

将整个强化学习过程分成以上几个子模块,方便拆解与改动,并且契合原论文的伪代码,在main.py中提供基本接口:

6.c 使用 Tensorboard 进行可视化

6.d 丰富的持续更新

在刚刚结束的组队学习中,助教耐心地解答了大家的疑惑,并且会根据反馈的情况,在之后的一个月内,持续更新项目的设计方法和详细的代码思路讲解,敬请期待~

7. 配套视频

视频地址https://www.bilibili.com/video/BV1MW411w79n

8. 开源地址

项目地址https://github.com/datawhalechina/leedeeprl-notes 或点击阅读原文获取,欢迎star!

李宏毅强化学习完整笔记!开源项目《LeeDeepRL-Notes》发布的更多相关文章

  1. 嵌入式 十个最值得阅读学习的C开源项目代码

    开源世界有许多优秀的开源项目,我选取其中十个最优秀的.最轻量级的C语言的项目,希望可以为C语言开发人员提供参考. 十个最值得阅读学习的C开源项目代码 1. Webbench 2. Tinyhttpd ...

  2. 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)

    强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...

  3. 强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces)

    强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces) 学习笔记: Reinforcement Learning: An Introduction, Richard S. S ...

  4. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  5. 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)

    强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...

  6. 强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods)

    强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods) 学习笔记: Reinforcement Learning: An Introduction, Richa ...

  7. 强化学习读书笔记 - 11 - off-policy的近似方法

    强化学习读书笔记 - 11 - off-policy的近似方法 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton and ...

  8. 强化学习读书笔记 - 10 - on-policy控制的近似方法

    强化学习读书笔记 - 10 - on-policy控制的近似方法 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton an ...

  9. 强化学习读书笔记 - 09 - on-policy预测的近似方法

    强化学习读书笔记 - 09 - on-policy预测的近似方法 参照 Reinforcement Learning: An Introduction, Richard S. Sutton and A ...

随机推荐

  1. 快速登陆linux服务器

    前言 本文适用于喜欢原生终端的用户,钟爱第三方ssh客户端的可以无视....客户端可以保存用户信息和密码,比较无脑.mac可以使用终端,win可以使用git的bash. 上次分享了配置非对称秘钥免密登 ...

  2. RabbitMQ 七种队列模式

    (1)简单模式(Hello World) 做最简单的事情,一个生产者对应一个消费者,RabbitMQ相当于一个消息代理,负责将A的消息转发给B 应用场景: 将发送的电子邮件放到消息队列,然后邮件服务在 ...

  3. Sublime Text 3结合Chrome实现网页的自动刷新

    我们在编写前端代码时,写好一部分代码时想要看一看代码的实现效果,每次都要手动刷新会非常麻烦,神器来了,LiveReload插件实现网页的实时刷新,操作方法如下: 1. 官网下载Sublime Text ...

  4. C++中常用的数学函数总结

    我们在C++程序设计的过程中往往会使用到一些数学函数,那么不同的数学运算要用到什么函数哪?大家可以参考我的总结如下: 首先引用到数学函数时一定要记得加函数头文件 #include<cmath&g ...

  5. [数学]高数部分-Part I 极限与连续

    Part I 极限与连续 回到总目录 Part I 极限与连续 一.极限 泰勒公式 基本微分公式 常用等价无穷小 函数极限定义 数列极限数列极限 极限的性质 极限的唯一性 极限的局部有限性 极限的局部 ...

  6. Rank & Sort Loss for Object Detection and Instance Segmentation 论文解读(含核心源码详解)

    第一印象 Rank & Sort Loss for Object Detection and Instance Segmentation 这篇文章算是我读的 detection 文章里面比较难 ...

  7. 如何通过Navicat远程访问宝塔面板安装的MySQL数据库

    运行环境描述 阿里云ECS 系统:CentOS Linux 7.4.1708 (Core)宝塔面板: 6.9.0数据库:MySQL 5.7.19 Navicat 远程连接 Navicat报错信息: 错 ...

  8. 解决eclipse中Findbugs检查不生效的问题

    eclipse安装了Findbugs插件, 但是在eclipse中发现不了bug错误, 具体表现为指定的类存在findbugs, 已经通过其他工具检查出来, 但是在eclipse中就是无法报告错误. ...

  9. Linux 进程调度

    线程状态(context) 程序计数器(Program Counter),它表示当前线程执行指令的位置. 保存变量的寄存器. 程序的Stack.通常来说每个线程都有属于自己的Stack,Stack记录 ...

  10. Linux上天之路(十五)之文件查找

    主要内容 精确查找 模糊查找 1. 精确查找 find - search for files in a directory hierarchy 递归地在层次目录中处理文件 查找方式: 按文件属性查找 ...