Ebrahim Pichka 2023-01-12
引言
强化学习(Reinforcement Learning, RL)是人工智能方法论中的一种范式,其中智能体(agent)通过与环境交互,以最大化从环境中接收到的奖励信号的期望值。与监督学习不同——在监督学习中,智能体被提供带有标签的样本,并学习根据输入预测输出——强化学习要求智能体主动在环境中采取行动,并以奖励或惩罚的形式接收反馈。这种反馈用于调整智能体的行为,并随着时间推移提升其性能。
强化学习已被广泛应用于多个领域,包括机器人、自然语言处理和金融。在游戏行业,强化学习被用于开发高级的游戏智能体,例如击败人类围棋冠军的 AlphaGo 算法。在医疗健康领域,强化学习被用于为患有慢性疾病(如糖尿病)的患者优化治疗方案。此外,在机器人领域,强化学习使机器人能够学习并适应新环境和新任务。
近年来强化学习最具标志性的突破之一,是 OpenAI 开发的 chatGPT ——一种能够与人类进行智能对话的自然语言处理系统。chatGPT 在大量人类对话数据集上进行训练,能够生成连贯且语境恰当的回应。该系统展示了强化学习在改进自然语言处理系统、创造更类人 AI 助手方面的巨大潜力。
随着强化学习不断进步并在各个领域产生影响,专业人士和研究人员掌握这一技术变得愈发重要。如果你对学习强化学习感兴趣,那你很幸运!网上有大量资源可以帮助你入门并精通这一激动人心的领域。在本博客文章中,我们将重点介绍一些最佳(且大多免费)的强化学习学习资源,包括教程、课程、书籍等。无论你是希望初步了解的初学者,还是希望深入理解的资深从业者,这些资源都能满足你的需求。
本文将首先介绍互联网上最优质的在线课程、讲座和教程;然后介绍该领域最受欢迎和权威的书籍与教材;最后,我们还将列出一些有用的额外资源和 GitHub 仓库。
在线课程
尽管网上关于该主题的课程众多,但我们精心挑选了一份最全面、高质量且大多免费的课程清单。这些课程涵盖了强化学习从基础到高级的广泛主题,均由该领域的专家讲授。无论你是想初步尝试的初学者,还是希望深化理解的资深从业者,这些课程都能为你提供所需内容。请继续阅读,发现一些学习强化学习的顶级在线课程!请注意,以下并非详尽无遗的列表,而是经过筛选的最受推荐课程合集。
1. 强化学习专项课程(Reinforcement Learning Specialization)— Coursera
来自 Coursera 强化学习专项课程网站的图片 — 来源
由阿尔伯塔大学(University of Alberta)和阿尔伯塔机器智能研究所(Amii)在 Coursera 上提供的强化学习专项课程,是一套旨在教授强化学习基础的综合性项目。该专项包含三门课程和一个结业项目,涵盖强化学习的广泛主题,包括强化学习基础、基于价值的方法、策略梯度方法、基于模型的强化学习、深度强化学习等。在整个课程中,你将有机会通过动手编程作业和最终项目应用所学知识。课程由强化学习领域的专家教授和学者授课,内容包括讲座、阅读材料和互动练习。该专项适合具有机器学习或相关领域背景的学生,是任何希望扎实掌握强化学习知识的人的绝佳资源。
虽然该课程并非完全免费,但你可以申请 Coursera 的经济援助以免除费用(若无力支付)。然而,考虑到其内容质量和教学材料,这笔投入绝对物有所值。
课程链接:
2. 强化学习讲座系列 2021(Reinforcement Learning Lecture Series 2021)— DeepMind × UCL
来自 DeepMind 官方网站的图片 — 来源
“强化学习讲座系列”是由 DeepMind 与伦敦大学学院(UCL)联合推出的强化学习主题系列讲座。本课程涵盖强化学习领域的广泛主题,包括马尔可夫决策过程(MDP)和动态规划等基础概念,以及基于模型与无模型学习、离策略/在策略、基于价值/基于策略的算法、函数逼近和深度强化学习等高级技术。讲座由 DeepMind 和 UCL 的知名学者与研究人员主讲,面向对强化学习最新进展和应用感兴趣的科研人员与从业者。课程在线开放,任何对该快速发展的激动人心领域感兴趣的人都可以参与学习。
课程链接:
3. 斯坦福 CS234:强化学习 – 2019 年冬季
斯坦福大学的 CS234 强化学习课程由 Emma Brunskill 教授主讲,是对强化学习的全面研究。课程涵盖强化学习的广泛主题,包括 MDP、蒙特卡洛方法等基础概念,以及时序差分学习和深度强化学习等高级技术。该课程面向具有机器学习背景、希望了解强化学习最新技术和应用的学生。课程通过一系列视频讲座进行,可通过下方链接在 YouTube 上观看。
课程链接:
Stanford CS234: Reinforcement Learning | Winter 2019
4. David Silver 的强化学习导论(Introduction to Reinforcement Learning with David Silver)
来自 David Silver 强化学习导论课程的图片 — 来源
David Silver 的强化学习导论课程是由 David Silver 教授主讲的强化学习领域全面入门课程。Silver 是强化学习与人工智能领域的顶尖研究员,也是 AlphaGo(首个击败职业人类围棋选手的计算机程序)开发的关键贡献者之一。他还是深度 Q 学习(Deep Q-Learning)和 DDPG 算法等强化学习关键论文的作者之一。
该课程涵盖强化学习的基本概念与技术,包括动态规划、蒙特卡洛方法和时序差分学习,也涉及探索-利用权衡、函数逼近和深度强化学习等高级主题。总体而言,该课程为强化学习打下坚实基础,适合任何希望深入了解这一快速发展的 AI 领域的人士。
课程链接:
5. 加州大学伯克利分校 CS 285:深度强化学习 – 2021 年秋季
加州大学伯克利分校的 CS 285 深度强化学习课程是一门研究生级别的课程,聚焦于深度学习技术在强化学习中的应用。课程由 Sergey Levine 教授主讲,面向具有扎实机器学习背景、希望了解强化学习最新技术与应用的学生。课程涵盖广泛主题,包括马尔可夫决策过程、时序差分学习等基础概念,以及深度 Q 学习和策略梯度方法等高级技术。课程通过一系列视频讲座进行,可在下方 YouTube 链接观看。
课程链接:
Deep Reinforcement Learning: CS 285 Fall 2021 (UC Berkeley)
6. 深度强化学习训练营(Deep RL BootCamp)— 加州大学伯克利分校
来自 Deep RL BootCamp 官网的图片 — 来源
深度强化学习训练营是由该领域顶尖研究人员主讲的为期两天的强化学习密集课程。课程涵盖广泛主题,包括基于价值的方法、策略梯度算法、基于模型的强化学习、探索与不确定性,以及现实世界中的深度强化学习。课程结合讲座与动手练习,让参与者有机会学习最新技术并将其应用于实际问题。该课程面向具有机器学习和/或强化学习背景的研究人员与从业者,适合希望深入理解该领域并推动研究或职业发展的人士。
课程链接:
7. Hugging Face 的深度强化学习课程(Deep RL Course by HuggingFace)
来自 HuggingFace Deep RL 课程官网的图片,作者 Simon Thomas — 来源
Hugging Face 的深度强化学习课程是一门深入且互动的学习体验,涵盖深度强化学习最重要的主题。课程分为多个单元,内容包括 Q 学习算法、策略梯度,以及探索、多智能体强化学习和元学习等高级主题。每个单元包含视频讲座、交互式编码教程和测验,帮助学习者理解和应用概念。
课程还包括动手项目,让学习者将知识应用于现实问题,例如创建游戏智能体、训练虚拟环境中导航的智能体,甚至构建下国际象棋的智能体。这些项目提供了操作强化学习模型的实践经验,并帮助理解使用这些模型的挑战与复杂性。
课程还解释了强化学习的理论基础,帮助理解该领域使用的数学概念与算法。课程设计兼顾不同背景和经验水平的学习者,从初学者到资深从业者均适用。课程由深度强化学习专家 Simon Thomas 主讲,内容定期更新以跟上领域最新进展。
课程链接:
8. Pieter Abbeel 的讲座
Pieter Abbeel 是加州大学伯克利分校的著名计算机科学家与机器人专家。他在机器人领域,尤其是强化学习、示范学习和机器人操作方面做出了突出贡献。他开发了让机器人通过试错学习抓取和操作物体的算法,并在“学徒学习”(apprenticeship learning)领域开创先河,使机器人能从人类示范中学习。他已发表 150 多篇论文,许多可在其个人网站获取,并在 YouTube 上提供一系列高质量视频讲座。他还是开源软件库 OpenAI Gym 的联合作者,该库在强化学习领域被广泛使用。
他的在线讲座是强化学习领域最优质的公开材料之一。
- 他在个人 YouTube 频道上的 “深度强化学习基础”讲座系列
- 他在 CS188 人工智能课程(加州大学伯克利分校,2013 年春季) 中的讲座
9. OpenAI 的《Spinning Up in Deep RL》
来自 Spinning Up in Deep RL 官网的图片 — 来源
Spinning Up in Deep RL 由 OpenAI 开发和维护,是希望学习深度强化学习(RL)及其应用人士的重要资源。网站提供对强化学习及其算法的全面介绍,包括实现和运行 RL 实验的教程与指南。网站还包含论文、视频和代码示例等资源,帮助用户学习强化学习。
该网站基于 OpenAI Baselines 软件库(使用 PyTorch 和 TensorFlow 实现的 RL 算法库),包含 DQN、PPO、A2C 和 TRPO 等流行算法的实现。网站提供详细说明和代码示例,指导用户如何使用该库训练智能体并运行实验。
网站设计兼顾不同经验水平的用户,提供循序渐进的 RL 入门指南。内容分为多个部分,包括强化学习导论、库使用教程,以及多智能体强化学习、探索和元学习等高级主题。网站还提供一组可运行和修改的 Jupyter Notebook,让用户实验不同 RL 算法和环境。
网站链接:
10. Phil Tabor 的强化学习课程
Phil Tabor 是一位专注于强化学习的机器学习工程师和教育者。他以实践教学方法著称,特别注重该领域的动手实践。他在 Udemy 上开设了多门机器学习与人工智能课程,重点聚焦强化学习。他还在 YouTube 频道 “Machine Learning with Phil” 上发布关于 Q 学习、策略梯度等主题的视频,并提供“边写代码边讲解”的视频,帮助学习者理解并应用概念。
他偏重实践的教学风格与其他内容形成鲜明对比。除了 Udemy 上结构完整、内容全面的付费课程外,他的 YouTube 频道上有大量免费内容,质量丝毫不逊于付费课程。
书籍
关于强化学习的优秀书籍众多,以下是五本最受欢迎且最全面的著作:
1. Richard Sutton 与 Andrew Barto,《强化学习导论》(第二版)— 最推荐
《强化学习导论》(第二版)是任何对强化学习感兴趣人士的必备资源。本书全面介绍了强化学习的基本概念与算法,是学生、研究人员和从业者的必读之作。第二版新增了关于该领域最新进展的章节,并更新了现有内容,使其更加前沿和相关。
本书从强化学习的基本概念入手,阐述了强化学习问题,并回顾了该领域的历史及其与心理学、神经科学和控制论等学科的关系。随后深入探讨了该领域的基础算法与概念,包括多臂老虎机、马尔可夫决策过程、动态规划和蒙特卡洛方法。
书中还涵盖高级主题,如时序差分学习、带函数逼近器的规划与学习、强化学习中的探索与利用。新增章节讨论了强化学习在机器人、游戏和医疗等领域的应用。
此外,书中还包含关于深度强化学习、策略梯度方法和逆强化学习等最新进展的章节。最后几章探讨了该领域的挑战与未来,包括安全性与可靠性、多智能体强化学习,以及强化学习在通用人工智能中的角色。
目录:
- 强化学习问题
- 多臂老虎机
- 有限马尔可夫决策过程
- 动态规划
- 蒙特卡洛方法
- 时序差分学习
- 资格迹(Eligibility Traces)
- 基于表格方法的规划与学习
- 在策略动作值近似
- 离策略动作值近似
- 策略近似
- 心理学
- 神经科学
- 应用与案例研究
- 展望
2. Mykel J. Kochenderfer,《不确定性下的决策:理论与应用》
Mykel J. Kochenderfer 的《不确定性下的决策:理论与应用》是一本关于不确定性下决策的综合指南,重点聚焦强化学习。本书涵盖决策理论、马尔可夫决策过程和强化学习算法的基础概念,为读者打下坚实基础。
书中还深入探讨了不确定性下的规划、安全强化学习,以及决策方法在现实世界中的应用。作者以清晰简洁的方式解释概念,并辅以实例和练习,帮助读者理解与应用。
本书面向人工智能、运筹学和控制系统领域的研究人员与从业者,也适合相关专业的高年级本科生和研究生。它是任何对不确定性下决策(尤其是强化学习)感兴趣人士的必备资源。
目录:
- 引言
- 概率模型
- 决策问题
- 序贯问题
- 模型不确定性
- 状态不确定性
- 协同决策
- 概率监控视频搜索
- 语音应用的动态模型
- 优化空中防撞系统
- 持续监控的多智能体规划
- 人机自动化集成
3. Phil Winder,《强化学习》
Phil Winder 的《强化学习》深入探讨了机器学习中最激动人心且快速发展的领域之一。本书全面介绍了强化学习的理论与实践,涵盖理解与应用这一强大技术所需的关键主题。
本书从马尔可夫决策过程(强化学习的数学基础)开始,深入探讨 Q 学习(用于在给定环境中寻找最优动作值函数的流行算法)、策略梯度(一类直接优化策略而非价值函数的算法),以及深度强化学习的最新进展及其在复杂问题中的应用。
书中包含大量实践示例与练习,帮助读者将概念应用于现实问题。本书适合机器学习从业者、研究人员和学生,是入门或深化理解强化学习的理想资源。
目录:
- 为何需要强化学习?
- 马尔可夫决策过程、动态规划与蒙特卡洛方法
- 时序差分学习、Q 学习与 n 步算法
- 深度 Q 网络
- 策略梯度方法
- 超越策略梯度
- 使用熵方法学习所有可能策略
- 改进智能体的学习方式
- 实践中的强化学习
- 运维中的强化学习
- 结论与未来展望
4. Alexander Zai 与 Brandon Brown,《深度强化学习实战》
《深度强化学习实战》带领读者逐步构建使用深度强化学习的智能系统。本书首先介绍强化学习的基本概念与算法(如 Q 学习和策略梯度),然后深入探讨演员-评论家方法和深度 Q 网络(DQN)等高级主题,以提升算法性能。
本书的一大特色是强调动手示例与练习。全书提供代码片段和示例项目,展示如何在实践中实现强化学习算法。这些示例旨在帮助读者理解材料并应用于自己的项目。
除基础内容外,本书还涵盖双 DQN、优先经验回放和 A3C 等最新技术,以提升算法效率。本书适合具有一定机器学习和深度学习经验的读者,不要求具备强化学习背景。作者提供了全面且易懂的入门指南,是初学者和资深从业者的理想选择。
目录:
- 什么是强化学习
- 建模强化学习问题:马尔可夫决策过程
- 预测最佳状态与动作:深度 Q 网络
- 学习选择最佳策略:策略梯度方法
- 使用演员-评论家方法解决更复杂问题
- 替代优化方法:进化算法
- 分布式 DQN:获取完整信息
- 好奇心驱动的探索
- 多智能体强化学习
- 可解释强化学习:注意力与关系模型
- 结论:回顾与路线图
5. Maxim Lapan,《深度强化学习实战手册》(第二版)
《深度强化学习实战手册》是广受欢迎的深度强化学习(DRL)指南的更新版。本书旨在帮助读者深入理解 DRL 的核心概念与技术,并掌握构建和训练 DRL 模型的实践技能。
本书涵盖广泛主题,包括强化学习基础及其与神经网络的联系、Q 学习、SARSA、DDPG 等高级 DRL 算法,以及 DRL 在机器人、游戏和自动驾驶等现实应用中的使用。书中包含大量实践示例与动手练习,帮助读者将所学应用于实际问题。
凭借对理论与实践的双重关注,本书是任何希望深入理解 DRL 并开始构建自己模型人士的完美指南。
目录:
- 什么是强化学习?
- OpenAI Gym
- 使用 PyTorch 进行深度学习
- 交叉熵方法
- 表格式学习与贝尔曼方程
- 深度 Q 网络
- 高级 RL 库
- DQN 扩展
- 加速 RL 的方法
- 使用 RL 进行股票交易
- 策略梯度——另一种选择
- 演员-评论家方法
- 异步优势演员-评论家(A3C)
- 使用 RL 训练聊天机器人
- TextWorld 环境
- 网页导航
- 连续动作空间
- 机器人中的 RL
- 信任区域方法——PPO、TRPO、ACKTR 与 SAC
- RL 中的黑盒优化
- 高级探索
- 超越无模型方法——想象力
- AlphaGo Zero
- 离散优化中的 RL
- 多智能体 RL
附加资源
Python 强化学习最佳工具
neptune.ai 的这篇文章概述了 Python 中常用的强化学习工具和库,帮助读者根据具体需求选择最适合的工具。文章涵盖 TensorFlow、PyTorch、OpenAI Baselines 等流行 RL 库,以及其他如 OpenAI Gym 和 RL Toolbox 等工具。此外,还介绍了可视化工具、模型管理工具和实验追踪工具等对 RL 有用的内容。文章结构清晰、易于理解,包含代码示例和各工具的文档链接,是任何希望在 Python 中入门强化学习人士的实用资源。
awesome-deep-rl
这个 GitHub 仓库是一个精选的深度强化学习资源列表,包含关于 Q 学习、策略梯度、探索、元学习等主题的论文、教程、视频和其他资源。还包括 TensorFlow、PyTorch、OpenAI Baselines 等流行 RL 库和框架的链接,以及其他有用工具。仓库结构清晰、易于导航,是任何希望学习深度强化学习人士的宝贵资源。
金融领域的深度强化学习资源精选
本文概述了深度强化学习在金融领域的应用,并提供了一个精选的学习资源列表,包括论文、视频和教程。文章讨论了 RL 在投资组合管理、算法交易和风险管理等金融场景中的潜在应用,也指出了在金融中使用 RL 的挑战与局限,如数据稀缺和模型性能评估困难。