< Deep Reinforcement Learning: Principles and Practices >《深度强化学习:原理与实践》代码示例
豆瓣介绍:https://book.douban.com/subject/32568833/
《深度强化学习:原理与实践》包含12个章节和5个附录,其中第1至8章围绕强化学习领域,第9至12章围绕深度强化学习领域,附录A至附录E主要介绍深度学习相关的基础知识。基于章节之间的逻辑关系,本书将12个章节分成四篇(核心为第二至四篇),接下来对这四篇内容分别进行简要介绍。
这部分主要围绕强化学习的概念和基础框架,包括其基本概念和数学原理。该部分介绍的基础知识将贯穿全书,尽管涉及的数学公式和推导方程稍显复杂,但有助于深度理解强化学习的基础概念。
第1章按顺序依次介绍强化学习的发展历史、基础理论、应用案例、特点与未来。从强化学习的发展历史中可以了解强化学习与机器学习之间的关系;基础理论可以帮助读者对强化学习有一个整体的认识与了解,通过具体的应用案例可以了解如何对强化学习进行落地应用。最后,从宏观角度对强化学习的特点与未来进行了讨论。第2章则集中介绍强化学习涉及的数学概念,从马尔科夫决策过程对强化学习任务的表示开始,到介绍价值函数和策略。其中,价值函数是强化学习的核心,后续章节的大部分求解方法都集中在价值函数的逼近上。
这部分主要探讨如何通过数学求解获得强化学习的最优策略。对于基于模型的强化学习任务可以使用动态规划法,对于免模型的强化学习任务可以使用蒙特卡洛法和时间差分法。值得注意的是,本部分对于强化学习任务的求解使用的是基于表格的求解方法。 第3章介绍使用动态规划法求解强化学习任务,通过策略评估和策略改进的迭代交互计算方式,提出了用以求解价值函数和策略的策略迭代算法。然而策略迭代算法存在效率低、初始化随机性等问题,研究者又提出了值迭代算法。由于实际情况中不一定能够获得完备的环境知识,因此出现了第4章的针对免模型任务的强化学习求解方法。其中,蒙特卡洛求解法基于采样的经验轨迹,从真实/仿真的环境中进行采样学习,并分别从蒙特卡洛预测、蒙特卡洛评估到蒙特卡洛控制进行了详细介绍。事实上,蒙特卡洛法同样存在一些不足,如使用离线学习方式、数据方差大、收敛速度慢等,这会导致在真实环境中的运行效果并不理想。第5章中引入了在线学习的时间差分法,主要分为固定策略的Sarsa算法和非固定策略的Q-learning算法。需要注意的是,Q-learning算法将作为深度强化学习(即第四篇)中的基础算法之一。
动态规划法、蒙特卡洛法、时间差分法都属于基于表格的求解方法。第三篇介绍的近似求解法通过寻找目标函数的近似函数,大大降低了表格求解法所需的计算规模和复杂度。近似求解方法主要分为3种:基于价值的强化学习求解法——值函数近似法;基于策略的强化学习求解法——策略梯度法;基于模型的强化学习求解法——学习与规划。 第6章详细介绍了基于价值的强化学习任务求解方法,即对价值函数进行近似求解。通过对函数近似进行数学解释,来引入值函数近似的数学概念和值函数近似法。然而,基于值函数近似的方法难以处理连续动作空间的任务,因此有了第7章介绍的策略梯度法。其将策略的学习从概率集合变换成策略函数,通过求解策略目标函数的极大值,从而得到最优策略。第8章为基于模型的强化学习,智能体从真实的经验数据中学习环境模型,并基于该环境模型产生的虚拟经验轨迹进行规划,从而获得价值函数或者策略函数。
此部分主要围绕深度强化学习展开,该技术通过结合深度学习的表征能力和强化学习的决策能力,使得智能体具备了更好的学习能力,能够解决更为复杂的感知决策问题。 第9章首先概述深度学习中较为经典的3种网络结构模型:深度神经网络、卷积神经网络和循环神经网络。随后介绍深度强化学习相关概念,并对深度强化学习当前具有代表性的应用进行简单介绍。第10章介绍了第一个深度强化学习算法:DQN算法。该方法通过结合Q-learning算法、经验回放机制以及卷积神经网络生成目标Q值等技术,有效地解决了深度学习和强化学习融合过程中所面临的问题和挑战,实现了深度学习与强化学习的深层次融合。第11章介绍了DQN算法所存在的不足,以及后续研究者所提出的具有代表性的深度强化学习算法:DDPG算法、A3C算法、Rainbow算法和Ape-X算法。第12章全面而细致地介绍了AlphaGo程序的设计思想与原理,并给出了AlphaGo和AlphaGo Zero程序的算法细节。 本书的最后提供了附录A~附录E,内容涵盖深度学习方面相关函数、算法及技巧,供读者学习使用。