Giter VIP home page Giter VIP logo

rl-book's Introduction

强化学习:原理与Python实现

全球第一本配套 TensorFlow 2 代码的强化学习教程书

**第一本配套 TensorFlow 2 代码的纸质算法书

现已提供 TensorFlow 2 和 PyTorch 1 对照代码

Book

本书介绍强化学习理论及其 Python 实现。

  • 理论完备:全书用一套完整的数学体系,严谨地讲授强化学习的理论基础,主要定理均给出证明过程。各章内容循序渐进,覆盖了所有主流强化学习算法,包括资格迹等非深度强化学习算法和柔性执行者/评论者等深度强化学习算法。
  • 案例丰富:在您最爱的操作系统(包括 Windows、macOS、Linux)上,基于 Python 3.9、Gym 0.19 和 TensorFlow 2.6 / PyTorch 1.9,实现强化学习算法。全书实现统一规范,体积小、重量轻。第 1~9 章给出了算法的配套实现,环境部分只依赖于 Gym 的最小安装,在没有 GPU 的计算机上也可运行;第 10~12 章介绍了多个热门综合案例,涵盖 Gym 的完整安装和自定义扩展,在有普通 GPU 的计算机上即可运行。

2020年更新

本书深度强化学习部分新增 基于 TensorFlow 2 和 PyTorch 1 的算法对照实现。 两个版本实现均和正文伪代码严格对应,两个版本仅在智能体部分实现不同,程序结构和智能体参数完全相同。

目录

  1. 初识强化学习   查看代码:useGym
  2. Markov决策过程   查看代码:useBellman CliffWalking
  3. 有模型数值迭代   查看代码:FrozenLake
  4. 回合更新价值迭代   查看代码:Blackjack
  5. 时序差分价值迭代   查看代码:Taxi
  6. 函数近似方法   查看代码:MountainCar
  7. 回合更新策略梯度方法   查看代码:CartPole
  8. 执行者/评论者方法   查看代码:Acrobot
  9. 连续动作空间的确定性策略   查看代码:Pendulum
  10. 综合案例:电动游戏   查看代码:Breakout Pong Seaquest
  11. 综合案例:棋盘游戏   查看代码:TicTacToe Reversi boardgame2
  12. 综合案例:自动驾驶   查看代码:AirSimNH

QQ群

  • QQ群:243613392(勘误报错可发此群,其他问题提问前请先Google,群主和管理员不提供免费咨询服务)
  • 多任务群:696984257(非小白群,多任务强化学习+强化元学习+终身强化学习+迁移强化学习,勘误报错勿发此群,提问前请先Google)
  • 关于入群验证问题:由于QQ的bug,即使正确输入答案,也可能会验证失败。这时更换设备重试、更换输入法重试、改日重试均可能解决问题。如果答案中有英文字母,清注意大小写。
  • 纸板书前言中给出的QQ群已满,不再新增群成员,谢谢理解。

书籍勘误与更新

判断纸质版书籍版次的方法 / 确定纸质书印刷时间的方法

  • “前言”之前有1页是“图书在版编目(CIP)数据”。这页下部的表格中有一项是“版次”,该项标明当前书是什么时候第几次印刷的。

本书数学符号表

本书电子版

本书不仅有纸质版销售,也有电子版销售。不过,电子版没有提供配套的勘误与更新资源,而且公式展示不美观,对阅读带来困难。所以推荐购买纸质版。电子版销售平台包括但不限于:

热心读者 Anesck 对本书知识点的梳理评注

第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章

初学者常见问题

  • 问:Windows系统下安装TensorFlow或PyTorch失败。答:请在Windows 10里安装Visual Studio 2019(如果有旧版本的Visual Studio请先彻底卸载)。更多细节和安装问题请自行Google。PyTorch安装可参阅:https://mp.weixin.qq.com/s/uRx1XOPrfFOdMlRU6I-eyA

  • 问:在Visual Studio或Visual Studio Code或PyCharm里面运行代码失败,比如找不到函数display()。答:本repo代码是配套Jupyter Notebook环境的,只能在Jupyter Notebook里运行。推荐您安装最新版本的Anaconda并直接运行下载来的Notebook。(display()函数是Jupyter Notebook里才有的函数。)不需要安装Visual Studio Code或PyCharm。更多细节或其他错误请自行Google。

  • 问:GPU运行的结果和repo里带的结果不完全一样。答:本repo附带的结果都是用CPU跑的。GPU运算本来就不能精确复现。更多细节请自行Google。

  • 问:GPU会比CPU跑的快么?答:没有用到TensorFlow和PyTorch的代码,不会用到GPU。用到TensorFlow和PyTorch的代码,由于网络一般不大,GPU反而可能更慢。PyTorch代码使用GPU时要把Tensor对象放在GPU上(可能需要修改代码)。

Reinforcement Learning: Theory and Python Implementation

The First Reinforcement Learning Tutorial Book with TensorFlow 2 Implementation

Codes with both TensorFlow 2 and PyTorch 1

This is a tutorial book on reinforcement learning, with explanation of theory and Python implementation.

  • Theory: Starting from a uniform mathematical framework, this book derives the theory and algorithms of reinforcement learning, including all major algorithms such as eligibility traces and soft actor-critic algorithms.
  • Practice: Every chapter is accompanied by high quality implementation based on Python 3.9, Gym 0.19, and TensorFlow 2.6 / PyTorch 1.9. Codes in first 9 chapters only depends on minimum installation of Gym, and can be run in a laptop without GPU. Codes in the last 3 chapters can be run in a laptop with a normal GPU. All codes are compatible with Windows, Linux, and macOS.

Please email me if you are interested in publishing this book in other languages. English version will be published by Springer Nature.

Table of Codes

Chapter Environment & Closed-Form Policy Agent
2 CliffWalking-v0 Bellman
3 FrozenLake-v1 DP
4 Blackjack-v0 MC
5 Taxi-v3 SARSA, ExpectedSARSA, QL, DoubleQL, SARSA(λ)
6 MountainCar-v0 SARSA, SARSA(λ), DQN tf torch, DoubleDQN tf torch, DuelDQN tf torch
7 CartPole-0 VPG tf torch, VPGwBaseline tf torch, OffPolicyVPG tf torch, OffPolicyVPGwBaseline tf torch
8 Acrobot-v1 QAC tf torch, AdvantageAC tf torch, EligibilityTraceAC tf torch, PPO tf torch, NPG tf torch, TRPO tf torch, OffPAC tf torch
9 Pendulum-v0 DDPG tf torch, TD3 tf torch
10 LunarLander-v2 SQL tf torch, SAC tf torch, SACwA tf torch
10 LunarLanderContinuous-v2 SACwA tf torch
11 BipedalWalker-v3 ES, ARS
12 PongNoFrameskip-v4 CategoricalDQN tf torch, QR-DQN tf torch, IQN tf torch
13 BernoulliMAB-v0 UCB
13 GaussianMAB-v0 UCB
14 TicTacToe-v0 AlphaZero tf torch
15 HumanoidBulletEnv-v0 BehaviorClone tf torch, GAIL tf torch

Table of Contents

Detail

  1. Introduction of Reinforcement Learning
  2. Markov Decision Process
  3. Model-based Numeric Iteration
  4. Monte-Carlo Learning
  5. Temporal Difference Learning
  6. Function Approximation
  7. Policy Gradient
  8. Actor-Critic
  9. Deterministic Policy Gradient
  10. Case Study: Video Game
  11. Case Study: Board Game
  12. Case Study: Autonomous Driving

BibTeX

@book{xiao2019,
 title     = {Reinforcement Learning: Theory and {Python} Implementation},
 author    = {Zhiqing Xiao}
 year      = 2019,
 month     = 8,
 publisher = {China Machine Press},
}

rl-book's People

Contributors

zhiqingxiao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.