强化学习(RL)作为一种可行且强大的技术,正逐渐成为一种解决各种复杂业务问题的技术,这些问题涉及不确定条件下的连续优化决策。尽管RL被归类为机器学习(ML)的一个分支,但它往往与ML(监督学习和非监督学习)的其他分支有很大的不同。事实上,RL似乎掌握着开启人工智能前景的钥匙——机器可以根据观察到的异常信息调整决策,同时不断转向最佳结果。它在无人驾驶汽车、机器人和策略游戏等备受关注的问题上的应用,预示着未来RL算法将拥有远超人类的决策能力。但是当谈到RL的学习应用时,人们似乎不愿意直接进入。我们经常听到甚至技术人员声称RL涉及“高等数学”和“复杂工程”,所以似乎有一个心理障碍进入。虽然现实世界的RL算法和实现在克服众所周知的最后业务问题时确实变得相当复杂,但是RL的基础实际上不需要繁重的技术机器就可以学会。本书的核心目的是通过在理解的深度和保持基本技术内容之间找到平衡来揭开RL的神秘面纱。因此,我们将学习:
您将了解简单而强大的马尔可夫决策过程(MDPs)理论——不确定情况下的序列最优决策框架。您将坚定地理解Bellman方程的力量,它是所有动态规划和所有RL算法的核心。
您将掌握动态规划(DP)算法,这是一类(用人工智能的语言)规划算法。您将学习策略迭代、值迭代、逆向归纳、近似动态规划和广义策略迭代的重要概念,它是所有DP和所有RL算法的核心。
您将获得各种强化学习(RL)算法的坚实的理解,从基本算法如SARSA和Q-Learning,并进入学习在实践中工作得很好的几个重要的算法,包括梯度时间差分,深度Q网络,最小二乘策略迭代,策略梯度,蒙特卡罗树搜索。您将了解如何利用bootstrapping、off-policy学习和基于深度神经网络的函数逼近在这些算法中获得优势。您还将学习如何平衡探索和利用Multi-Armed Bandits技术,如置信上限,汤普森采样,梯度盗匪和信息状态空间算法。
您将练习大量的模型和算法的“从头开始”Python实现。贯穿全书,我们强调了良好的Python编程实践,包括接口设计、类型注释、函数式编程和基于继承的多态(始终确保编程原则反映数学原则)。从这本书中获得的更大的收获是一种将应用数学概念与软件设计范例相结合的罕见的(高需求的)能力。