深度强化学习有什么学习建议吗?
什么是强化学习?
广泛地讲,强化学习是机器通过与环境交互来实现目标的一种计算方法。机器和环境的一 轮交互是指,机器在环境的一个状态下做一个动作决策,把这个动作作用到环境当中,这个环 境发生相应的改变并且将相应的奖励反馈和下一轮状态传回机器。这种交互是迭代进行的,机器的目标是最大化在多轮交互过程中获得的累积奖励的期望。强化学习用智能体(agent)这个概念来表示做决策的机器。相比于有监督学习中的“模型”,强化学习中的“智能体”强调机器 不但可以感知周围的环境信息,还可以通过做决策来直接改变这个环境,而不只是给出一些预测信号。
智能体和环境之间具体的交互方式如图 1-1 所示。在每一轮交互中,智能体感知到环境目 前所处的状态,经过自身的计算给出本轮的动作,将其作用到环境中;环境得到智能体的动作 后,产生相应的即时奖励信号并发生相应的状态转移。智能体则在下一轮交互中感知到新的环 境状态,依次类推。
图 1-1 强化学习中智能体和环境之间的迭代式交互
这里,智能体有 3 种关键要素,即感知、决策和奖励。
● 感知。智能体在某种程度上感知环境的状态,从而知道自己所处的现状。例如,下围棋 的智能体感知当前的棋盘情况;无人车感知周围道路的车辆、行人和红绿灯等情况;机 器狗通过摄像头感知面前的图像,通过脚底的力学传感器来感知地面的摩擦功率和倾斜 度等情况。
● 决策。智能体根据当前的状态计算出达到目标需要采取的动作的过程叫作决策。例如, 针对当前的棋盘决定下一颗落子的位置;针对当前的路况,无人车计算出方向盘的角度 和刹车、油门的力度;针对当前收集到的视觉和力觉信号,机器狗给出4 条腿的齿轮的 角速度。策略是智能体最终体现出的智能形式,是不同智能体之间的核心区别。
● 奖励。环境根据状态和智能体采取的动作,产生一个标量信号作为奖励反馈。这个标量 信号衡量智能体这一轮动作的好坏。例如, 围棋博弈是否胜利;无人车是否安全、平稳 且快速地行驶;机器狗是否在前进而没有摔倒。最大化累积奖励期望是智能体提升策略 的目标,也是衡量智能体策略好坏的关键指标。
从以上分析可以看出,面向决策任务的强化学习和面向预测任务的有监督学习在形式上是 有不少区别的。首先,决策任务往往涉及多轮交互,即序贯决策;而预测任务总是单轮的独立 任务。如果决策也是单轮的,那么它可以转化为“判别最优动作”的预测任务。其次,因为决 策任务是多轮的,智能体就需要在每轮做决策时考虑未来环境相应的改变,所以当前轮带来最 大奖励反馈的动作,在长期来看并不一定是最优的。
学习强化学习之前需要具备的一些基础知识:
- 强化学习是机器学习的一个分支,因此读者需要具备一定的机器学习基 础,例如具备基本的线性代数、概率论、数理统计等基础知识。当然只需要读者修过相关的大学课程即可,不必刻意回顾一些知识,原理部分可跟随本书的推导学习。
- 学习强化学习初期是不涉及深度神经网络相关的知识的,这一部分通常称为传统强化学习部分。虽然这部分的算法在今天已经不常用,但是其中蕴含的一些思想和技巧是非常重要的,因此读者需要对这部分内容有 所了解。
学习强化学习的建议
强化学习(RL)基础:掌握马尔可夫决策过程(MDP)、值函数(Value Function)、策略(Policy)、贝尔曼方程等核心概念。
推荐学习路径:
经典RL算法(如Q-Learning、SARSA、DQN、Policy Gradient等)的原理与实现。
理解“探索-利用”(Exploration-Exploitation)的权衡。
深度学习(DL)基础
熟悉神经网络(尤其是全连接网络、卷积神经网络CNN、循环神经网络RNN)的原理与实现。
掌握PyTorch或TensorFlow等深度学习框架的使用。
书籍推荐
蘑菇书系列
1、Easy RL 强化学习教程(easyrl蘑菇书带你了解chatgpt背后的技术)
全书主要内容源于3门公开课,并在其基础上进行了一定的原创。比如,为了尽可能地降低阅读门槛,笔者对3门公开课的精华内容进行选取并优化,所涉及的公式都有详细的推导过程,对较难理解的知识点进行了重点讲解和强化,方便读者较为轻松地入门。此外,为了书籍的丰富性,笔者还补充了不少3门公开课之外的强化学习相关知识。全书共 13 章, 大体上可分为 2 个部分: 第 1 部分 包括第 1 ∼ 3 章,介绍强化学习基础知识以及传统强化学习算法;第 2 部分包括第 4 ∼ 13 章, 介绍深度强化学习算法以及常见问题的解决方法。第 2 部分各章 相对独立,读者可根据自己的兴趣和时间情况选择阅读。
本书在大部分章节的最后设置了原创的关键词、习题和面试题来提高和巩固读者对知识的清晰度和掌握程度。其中,关键词部分总结了对应章节的重点概念,方便读者高效地回忆并掌握核心内容;习题部分以问答的形式阐述了本章节中出现的知识点,帮助读者理清知识脉络;面试题部分来源于大厂的算法岗面试真题,通过还原最真实的面试场景和面试的问题,帮助读者开阔思路,为读者面试理想的岗位助力。
本书配有对应的Python代码实现,可以让读者通过动手实现各种经典的强化学习算法,充分掌握强化学习算法的原理。
2、Joy RL:强化学习实践教程
本书是继《Easy RL:强化学习教程》(俗称“蘑菇书”)之后,为强化学习的读者专门打造的一本深入实践的全新教程。本书的内容主要基于作者的理论知识与实践经验,并融入了一些原创内容, 例如针对策略梯度算法的两种不同的推导版本,以便让读者从不同的角度更好地理解相关知识。全书始终贯穿强化学习实践中的一些核心问题,比如优化值估计的实践技巧、解决探索与利用的平衡等问题。全书的内容编排合理,例如从传统强化学习到深度强化学习过渡的内容中,增加对深度学习基础的总结归纳内容,并对一些应用十分广泛的强化学习算法,如 DQN、DDPG以及 PPO 等算法进行强调,读者可有选择性地阅读。本书除了给出一些简单的配套代码之外,还提供一套“JoyRL”开源框架,以及更多复杂环境实验示例。
延伸阅读
1、深度学习详解
本书主要内容源于李宏毅老师 “机器学习” 公开课的部分内容,在其基础上进行了一定 的原创。 比如,为了尽可能地降低阅读门槛,笔者对公开课的精华内容进行选取并优化,对 所涉及的公式给出详细的推导过程,对较难理解的知识点进行了重点讲解和强化,方便读 者较为轻松地入门。此外,为了丰富内容,笔者还补充了不少除公开课之外的深度学习相关知识。
本书共 19 章,大体上可分为两个部分:第一部分包括第 1 ~ 11 章,介绍深度学习基础 知识以及经典深度学习算法;第二部分包括第 12 ~ 19 章,介绍深度学习算法更加深入的方 向. 第二部分各章相对独立,读者可根据自己的兴趣和时间选择性阅读。
2、深度强化学习实战
本书先介绍深度强化学习的基础知识及相关算法,然后给出多个实战项目,以期让读者可以根据环境的直接反馈对智能体加以调整和改进,提升运用深度强化学习技术解决实际问题的能力。
本书涵盖深度Q网络、策略梯度法、演员-评论家算法、进化算法、Dist-DQN、多智能体强化学习、可解释性强化学习等内容。本书给出的实战项目紧跟深度强化学习技术的发展趋势,且所有项目示例以Jupter Notebook样式给出,便于读者修改代码、观察结果并及时获取经验,能够带给读者交互式的学习体验。
本书适合有一定深度学习和机器学习基础并对强化学习感兴趣的读者阅读。
3、动手学深度学习 PyTorch版
本书重新修订《动手学深度学习》的所有内容,并针对技术的发展,新增注意力机制、预训练等内容。本书包含15章,第一部分介绍深度学习的基础知识和预备知识,并由线性模型引出最简单的神经网络——多层感知机;第二部分阐述深度学习计算的关键组件、卷积神经网络、循环神经网络、注意力机制等大多数现代深度学习应用背后的基本工具;第三部分讨论深度学习中常用的优化算法和影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。
本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程知识及预备知识中描述的线性代数、微分和概率等基础知识。