强化学习——从原理到实践 9787302682417

配送至
$ $ USD 美元

开本:16开
纸张:胶版纸
包装:平装-胶订
是否套装:否
国际标准书号ISBN:9787302682417
丛书名:跟我一起学人工智能
所属分类:图书>计算机/网络>程序设计>其他
对强化学习算法进行综合性讲解,包括算法的设计思路和实现过程 助力读者快速掌握强化学习算法的设计原理,研发自己的强化学习算法

编辑推荐

内容全面:本书是一本对强化学习算法的综合性讲解书籍,既有理论基础,也有代码实现,并包括设计原理的讲解。
语言简洁:本书尽量以简洁的语言书写,每个章节之间的内容尽量独立,使读者可以跳跃阅读而没有障碍。
代码清晰:本书的代码也尽量以简洁的形式书写。每个代码块都是一个单元测试,读者可以按照每个代码块从上到下的顺序执行测试,从一个个小知识点聚沙成塔,融会贯通。

前 言

笔者自从学习人工智能相关的技术以来,一直觉得强化学习相关的资料相对偏少,无论是实体的书籍,还是网络上的各种文章,普遍存在重复量大,解释咬文嚼字,充斥着抽象的数学公式,很多时候对于一个算法的设计思路只是简单地列出几条公式就算强行解释过了,虽然在理解了这些算法之后,也能理解作者为什么会做出这样的解释,因为确实有些算法的设计思路是很抽象的。还有的算法纯粹是从数学层面推导出来的,单纯看最后的实现过程是完全没有任何道理的,只有理解了它背后的数学推导过程,才能理解为什么它是那样的一个实现过程,所以在某种程度上也能理解作者为什么要那样古板地解释算法的设计思路。
不过笔者还是希望尽自己所能,从更加感性、更加形象化的角度去解释各个强化学习算法的设计思路。笔者一直认为,万事开头难,学习数据库最困难的部分,可能就是成功地安装一个数据库。如果初期能顺利地入门,后期再去慢慢摸索算法中的各个细节,则可能会更容易一些。
出于以上原因,笔者想要尽自己所能,以自己对强化学习各个算法的理解,尽量简单明了地向读者介绍各个算法的设计思路,以帮助读者能够进入强化学习这座大厦的大门,未来读者可以自己在这座大厦里开启自己的冒险,乃至为这座大厦添砖加瓦。
前面谈到强化学习方面的理论往往解释得很生硬,其实相比原理解释上的问题,还有代码实现的质量也比较差,也许人工智能领域的工程师更偏向数学理论,在代码实现上普遍质量不高。代码里经常可以见到无意义的函数封装、冗余的代码块、无意义的判断、永远只循环一次的循环体等问题,让原本就复杂的程序更加难以读懂。
本书配套的代码都是笔者亲手编写的,全套代码的风格都是统一的,只要看懂了第套代码,其他的代码就可以做到一通百通。笔者尽量以简洁的形式去书写代码,让每行代码都有意义,避免无意义的冗余,并且所有的代码都是测试通过的,能复现本书中所介绍的效果。
笔者自从年以来,逐渐把自己所学习的计算机技术整理成视频和代码资料,在分享知识的过程中,强化学习是很受读者欢迎的部分,同时也有很多读者给笔者反馈,强化学习部分的知识理解起来不太容易,这和笔者制作的视频的质量有很大关系,现在回头看,当初因为青涩,制作的视频资料十分粗糙,因而笔者有了重新制作这部分视频资料的想法,同时也给了笔者动力,想把强化学习部分的知识整理成文本资料出版,以更多的渠道和媒介向读者传达自己的声音。
如果本书的内容能对你有一点帮助,笔者的工作就没有白费,最后,感谢读者购买这本书,希望本书的内容能让读者有所收获。
本书主要内容
第章强化学习概述,概述了强化学习的基本概念及一般的优化过程。
第章函数和时序差分,介绍了函数,以及使用时序差分方法优化函数。
第章基于表格的强化学习方法,介绍了基于表格实现的算法和算法。
第章算法,介绍了算法,以及在算法中使用双模型、加权数据池、 、 、 等改良方法。
第章策略梯度,介绍了基于策略的思想,以及使用策略迭代方法优化策略的过程。
第章算法,介绍了算法,以及在算法中应用去基线、熵正则等优化方法。
第章和算法,介绍了算法和算法,引出了“演员评委”模型。
第章和第章近端策略优化算法和实现,介绍了在强化学习中的难点近端策略优化算法,即算法,介绍了在算法中重要的重要性采样、优势函数、广义优势估计等概念。
第章和算法,介绍了深度确定性策略梯度算法,即算法,以及算法的改进算法——算法。
第章算法,介绍了算法的实现,提出了优化过程中要考虑动作的熵的概念。
第章模仿学习,介绍了模仿学习方法,提出了可以使用传统监督学习的方法来模拟强化学习方法。
第章合作关系多智能体,介绍了在一个系统中多个智能体之间合作方法,介绍了多个智能体之间的有通信和训练时有通信的两种通信策略。
第章对抗关系多智能体,介绍了在一个系统中多个智能体之间的对抗方法,介绍了多个智能体之间的无通信和训练时有通信的两种通信策略。
第章算法,介绍了离线学习算法——算法,提出了在离线学习中抑制函数的过高估计的方法。
第章算法,介绍了直接学习环境的算法,提出了从模拟环境中搜索得到最优动作的方法。
第章目标导向的强化学习,介绍了在反馈极端稀疏的环境中,通过放置伪目标点来提高优化效率的算法。
第章强化学习框架,介绍了强化学习框架的使用方法。
阅读建议
本书是一本对强化学习算法的综合性讲解书籍,既有设计原理,也有代码实现。
本书尽量以简洁的语言书写,每个章节之间的内容尽量独立,使读者可以跳跃阅读而没有障碍。
作为一本实战书籍,读者要掌握本书的知识,务必结合代码调试,本书的代码也尽量以简洁的形式书写,使读者阅读不感吃力。本书代码使用 书写,每个代码块即是一个单元测试,读者可以用每个程序的每个代码块按从上到下的顺序进行测试,从一个个小知识点聚沙成塔,融会贯通。
扫描目录上方的二维码,可获取本书源码。

致谢
感谢笔者的好友,在笔者写作过程中始终鼓励笔者,使笔者有动力完成本书的写作。
在本书的撰写过程中,笔者虽已竭尽所能为读者呈现最好的内容,但书中难免存在疏漏,敬请读者批评指正。

李福林
年月

目 录
基础篇
第章算法
多智能体篇
第章合作关系的多智能体
多智能体简介
有通信的情况
训练时有通信的情况
无通信的情况
合作关系游戏环境介绍
定义算法
有通信的实现
定义模型
修改函数
执行训练基础篇
第章强化学习概述
强化学习的定义
玩耍和学习
对比传统方法
基于表格的直观示例
一般的学习过程
小结
第章函数和时序差分
一个直观的例子
数学描述
精确计算函数是困难的
寻求函数
小结
基础算法篇
第章基于表格的强化学习方法
代码运行环境说明
游戏环境
包介绍
定义游戏环境
游戏环境操作方法介绍
定义表
强化学习的一般过程
数据池的必要性
异策略和同策略
定义函数和数据池
定义函数
定义数据池
使用时序差分方法更新表
算法
算法
实现无数据池的算法
小结
第章算法
算法介绍
平衡车游戏环境
定义神经网络模型
数据部分的修改
函数的修改
数据池的修改
实现算法
双模型
加权的数据池

小结
第章策略梯度
基于策略的算法
一个直观的例子
数学表达
小结
第章算法
基于策略的算法
组件修改
游戏环境
神经网络模型
函数
算法
去基线
去基线的目的
实现去基线
熵正则
动作分布概率收敛太快的弊端

实现熵正则
小结
高级算法篇
第章和算法
时序差分和策略梯度的结合
算法介绍
实现算法
定义模型
训练模型
训练模型
执行训练
算法介绍
实现算法
小结
第章近端策略优化
重要性采样
惩罚与裁剪
约束散度法
惩罚散度法
重要性采样裁剪法
优势函数
广义优势估计
小结
第章算法
在离散动作环境中的应用
定义模型
训练模型
训练模型
执行训练
在连续动作环境中的应用
倒立摆游戏环境介绍
定义模型
定义函数
训练模型
训练模型
执行训练
小结
第章和算法
算法概述
确定的动作
异策略化
优化方法
缓解过高估计
算法实现
定义模型
定义工具类和辅助函数
定义训练过程
算法实现
定义模型
定义训练过程
小结

第章算法
算法简介
考虑动作的熵
异策略化
实现算法
定义模型
定义工具类和辅助函数
训练模型
训练模型
执行训练
关于的调整
算法的简化版实现
定义模型
训练模型
训练模型
执行训练
在连续动作环境中的应用
定义模型
模型的输入和输出
修改工具类和辅助函数
训练模型
训练模型
执行训练
小结
第章模仿学习
模仿学习简介
在离散动作环境中的应用
定义数据集
定义模型
执行训练
测试
在连续动作环境中的应用
定义数据集
定义模型
执行训练
测试
小结

多智能体篇
第章合作关系的多智能体
多智能体简介
有通信的情况
训练时有通信的情况
无通信的情况
合作关系游戏环境介绍
定义算法
有通信的实现
定义模型
修改函数
执行训练
训练时有通信的实现
修改模型
执行训练
小结
第章对抗关系的多智能体
对抗关系的多智能体简介
纳什均衡简介
游戏环境介绍
无通信的实现
定义模型
执行训练
训练时有通信的实现
定义模型
执行训练
小结

扩展算法篇
第章算法
离线学习简介
离线学习中值过高估计的问题
算法是如何抑制值的
实现算法
数据集介绍
封装数据集
定义算法模型
执行训练
小结
第章算法
算法简介
假环境学习
最优动作搜索
实现算法
定义假环境
定义动作函数
训练假环境
重写动作函数
动作学习
小结
第章目标导向
算法概述
稀疏反馈的游戏环境
放置假目标点
算法实现
游戏环境介绍
定义算法模型
定义数据池
执行训练
小结
框架篇
第章强化学习框架
简介
快速上手
模型的保存和加载
多环境并行训练

综合实例
使用
小结

显示全部信息

作者简介

李福林,一个在领域摸爬滚打十多年的老程序员、培训师,精通多种技术。分享了多部技术教程,受到了读者的广泛赞誉。现任职于阳狮集团,担任算法工程师。教学风格追求化繁为简,务实而不空谈,课程设计思路清晰,课程演绎说理透彻,对领域技术有自己独到的见解。