描述
开 本: 16开纸 张: 铜版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787519869724
Linux学习的必读经典书籍,Linux用户及系统与网络管理员的实用技巧。
编辑推荐
这本实用手册向初中级Linux用户介绍了通过图形及命令行工具管理Linux系统的重要技巧。无论你的Linux系统是嵌入式、桌面版、服务器、云服务,还是虚拟环境,其基础知识都是相同的。本书介绍了大量示例,可帮助你快速入门并运行Linux。
本书针对各种具体问题,提出解决方案,并详细解释了涉及到的技术原理,最z后还给出了参考资料以供深入学习。
专家推荐
“Linux学习的必读经典书籍。作者深入简出地介绍了Linux操作系统的各个方面。”
—— Jack Wallen,
屡获殊荣的科技作家,TechRepublic、The New Stack等网站撰稿人
“高效工程师不仅了解工具,还知道如何高效地使用工具。本书介绍的Linux工具让人叹为观止。”
—— Jonathan Johnson,
Dijure独立软件顾问与培训师
本书针对各种具体问题,提出解决方案,并详细解释了涉及到的技术原理,最z后还给出了参考资料以供深入学习。本书的主要内容有:学习使用全新的通用服务管理器systemd。利用firewalld构建简单或复杂的防火墙。保证Linux系统与移动设备间网络连接的安全。抢救无法引导的系统。重置Linux与Windows的用户密码。利用dnsmasq管理局域网名称服务。管理用户与组,控制文件的访问。探测计算机硬件,监控硬件健康。管理GRUB引导加载程序,设置Linux与Windows双启动。通过最z新的工具同步网络上所有系统的时间。在树莓派上构建互联网路由器与防火墙。管理文件系统与分区。
目录
前言 .1
第1 章 强化学习概述 .13
1.1 为什么现在就需要强化学习? . 14
1.2 机器学习 15
1.3 强化学习 17
1.3.1 什么时候使用强化学习 19
1.3.2 强化学习的应用场景 20
1.4 强化学习的种类 22
1.4.1 免模型学习或有模型学习 . 22
1.4.2 智能体如何使用并更新它们的策略 23
1.4.3 离散或连续的行为 . 25
1.4.4 优化方法. 25
1.4.5 策略评估和改进 . 26
1.5 强化学习的基本概念 . 27
1.5.1 历史上第一个强化学习算法 . 28
1.5.2 强化学习和机器学习是一种东西吗? . 31
1.5.3 奖励和反馈 32
1.6 强化学习的发展简史 . 35
1.7 本章总结 37
1.8 扩展阅读 38
1.9 参考文献 38
第2 章 马尔可夫决策过程,动态规划,蒙特卡洛方法 44
2.1 多臂老虎机测试 44
2.1.1 奖励工程. 45
2.1.2 策略评估:价值函数 45
2.1.3 策略改进:选择最佳动作 48
2.1.4 模拟环境. 50
2.1.5 运行实验. 50
2.1.6 ε – 贪婪算法的改进. 52
2.2 马尔可夫决策过程 . 54
2.2.1 库存控制. 56
2.2.2 库存控制仿真 . 60
2.3 策略与价值函数 62
2.3.1 打折的奖励 62
2.3.2 用状态?C 价值函数预测奖励 64
2.3.3 用动作值函数预测奖励 . 67
2.3.4 最优策略. 69
2.4 蒙特卡洛策略生成 70
2.5 动态规划的值迭代 72
2.5.1 值迭代的过程 74
2.5.2 数值迭代结果 76
2.6 总结 78
2.7 扩展阅读 79
2.8 参考文献 79
第3 章 时序差分学习,Q 学习和n 步算法 80
3.1 时序差分学习的相关公式 81
3.1.1 Q 学习 . 83
3.1.2 SARSA 85
3.1.3 Q 学习与SARSA 方法的对比 . 87
3.1.4 案例解析:自动扩展应用程序容器以降低成本 . 90
3.2 行业实例:广告中的实时竞价 . 92
3.2.1 MDP 的定义 . 92
3.2.2 实时竞价案例的环境 93
3.2.3 进一步改进 94
3.3 Q 学习的相关扩展 96
3.3.1 双重Q 学习 96
3.3.2 延迟Q 学习 97
3.3.3 各类版本的Q 学习之间的对比 98
3.3.4 对抗学习. 98
3.4 n 步算法 99
3.5 有效跟踪 104
3.6 有效跟踪算法的扩展 107
3.6.1 沃特金斯的Q(λ) 107
3.6.2 沃特金斯Q(λ) 的模糊擦除 . 108
3.6.3 快速Q 学习 108
3.6.4 积累式有效跟踪与取代式有效跟踪 108
3.7 总结 . 109
3.8 扩展阅读 110
3.9 参考文献 110
第4 章 深度Q 网络 . 112
4.1 深度学习的体系结构 113
4.1.1 基础知识 113
4.1.2 深度学习架构 114
4.1.3 深度学习库 . 115
4.1.4 深度强化学习 117
4.2 深度Q 学习 . 117
4.2.1 经验重放 118
4.2.2 克隆Q 网络 118
4.2.3 神经网络结构 119
4.2.4 DQN 的实现 119
4.2.5 实际案例:倒立摆环境中的DQN 120
4.2.6 案例研究:减少建筑物的能源使用 125
4.3 彩虹DQN 126
4.3.1 分配强化学习 126
4.3.2 优先经验重放 129
4.3.3 噪声网络 129
4.3.4 决斗网络 129
4.4 实际案例:雅达利的彩虹DQN 130
4.4.1 结果 131
4.4.2 讨论 132
4.5 其他DQN 改进 134
4.5.1 改进探索过程 135
4.5.2 改进奖励过程 136
4.5.3 从离线数据中进行学习 137
4.6 总结 . 139
4.7 扩展阅读 140
4.8 参考文献 140
第5 章 梯度策略 144
5.1 直接学习策略的优势 144
5.2 如何计算策略的梯度 145
5.3 策略梯度理论 . 146
5.4 策略函数 149
5.4 1 线性策略 149
5.4.2 其他策略 151
5.5 基本实现 152
5.5.1 蒙特卡洛算法(强化算法) 152
5.5.2 带基线的强化算法 153
5.5.3 梯度方差的减小 157
5.5.4 n 步演员评论家和优势演员评论家(A2C) . 159
5.5.5 基于资格迹的演员评论家算法 . 164
5.5.6 基本策略梯度算法的比较 165
5.6 行业研究:为客户自动提供产品 . 166
5.6.1 行业实例:Gym 环境中的购物车实验 . 167
5.6.2 预设期望 168
5.6.3 购物车实验环境的结果展示 169
5.7 总结 . 173
5.8 扩展阅读 174
5.9 参考文献 174
第6 章 超越策略梯度 176
6.1 离线算法 177
6.1.1 重要性抽样 177
6.1.2 行为和目标策略 179
6.1.3 离线 Q 学习 180
6.1.4 梯度时差学习 180
6.1.5 Greedy-GQ 算法 181
6.1.6 离线演员评论家算法 . 182
6.2 决定性策略梯度 183
6.2.1 决定性策略梯度 183
6.2.2 深度确定性策略梯度 . 185
6.2.3 双延迟DDPG 189
6.2.4 案例研究:利用到用户评论的推荐算法 193
6.2.5 改进DPG. 194
6.3 信赖域方法 195
6.3.1 Kullback-Leibler 散度 197
6.3.2 自然策略梯度与信任区域策略优化 198
6.3.3 近端策略优化 201
6.4 实际案例:在现实生活中使用伺服器 206
6.4.1 实验设置 . 206
6.4.2 强化学习算法实现 207
6.4.3 增加算法的复杂度 210
6.4.4 模拟中的超参数调优 . 211
6.4.5 产生的策略 212
6.5 其他策略梯度算法 214
6.5.1 回溯(λ) 214
6.5.2 有经验重放的演员评论家(ACER) 214
6.5.3 使用Kronecker 因子信任区域的演员评论家算法(ACKTR) 215
6.5.4 更多相关方法 216
6.6 策略梯度算法的扩展 216
6.7 总结 . 217
6.7.1 应该使用哪种算法? . 217
6.7.2 关于异步方法的注意事项 218
6.8 扩展阅读 218
6.9 参考文献 219
第7 章 用熵方法学习所有可能的策略 225
7.1 什么是熵? 225
7.2 最大熵强化学习 226
7.3 弱演员评论家算法 227
7.3.1 SAC 的实现细节与离散动作空间 228
7.3.2 自动调整温度 229
7.3.3 案例研究:有助于减少交通拥堵的自动化交通管理系统 229
7.4 最大熵方法的推广 231
7.4.1 熵的其他度量(以及策略集) . 231
7.4.2 基于双重Q 学习上限的优化探索 231
7.4.3 通过历史经验重放改进结果 232
7.4.4 软策略梯度 . 232
7.4.5 软Q 学习(及其扩展) 232
7.4.6 路径一致性学习 233
7.5 性能比较:SAC 与PPO 233
7.6 熵是如何激励智能体进行探索的? . 235
7.7 行业实例:通过遥控车学习自动驾驶 240
7.7.1 问题描述 241
7.7.2 减少训练时间 241
7.7.3 夸张的动作 . 244
7.7.4 超参数探索 . 246
7.7.5 最终策略 246
7.7.6 进一步改进 . 247
7.8 本章总结 248
7.8.1 策略梯度与软Q 学习的等价性 249
7.8.2 这对今后的发展意味着什么? . 249
7.8.3 这对目前来说意味着什么? 249
7.9 参考文献 250
第8 章 改进智能体的学习方式 253
8.1 关于MDP 的思考 . 254
8.1.1 部分可观察马尔可夫决策过程 . 254
8.1.2 案例研究:POMDP 在自动驾驶汽车中的应用 256
8.1.3 上下文马尔可夫决策过程 . 257
8.1.4 动作不断变化的MDPs 257
8.1.5 正则化MDP 258
8.2 层次强化学习 . 259
8.2.1 初级层次强化学习 . 259
8.2.2 具有内在奖励的层次强化学习(HIRO) 260
8.2.3 学习技巧和无监督学习 262
8.2.4 在HRL 中使用技能 263
8.2.5 HRL 研究结论 264
8.3 多智能体强化学习 265
8.3.1 MARL 的框架 265
8.3.2 集中式或分布式 267
8.3.3 单智能体算法 268
8.3.4 案例研究:单智能体分散学习在无人机中的应用 . 269
8.3.5 集中学习,分散执行 . 270
8.3.6 分散的学习 . 272
8.3.7 其他的组合 . 273
8.3.8 MARL 的挑战 274
8.3.9 MARL 的结论 275
8.4 专家的指导 276
8.4.1 克隆行为 276
8.4.2 模拟强化学习 276
8.4.3 反向强化学习 277
8.4.4 课程学习 279
8.5 其他案例 281
8.5.1 元学习 281
8.5.2 迁移学习 281
8.6 总结 . 282
8.7 扩展阅读 283
8.8 参考文献 285
第9 章 强化学习实践 293
9.1 强化学习的生命周期 293
9.2 问题定义:一个真正的强化学习项目到底包括什么? . 299
9.2.1 强化学习问题是连续性问题 299
9.2.2 强化学习问题是战略性问题 300
9.2.3 强化学习中的基础指标 302
9.2.4 学习类型 304
9.3 强化学习工程和改进 309
9.3.1 项目过程 309
9.3.2 环境工程 310
9.3.3 状态工程或状态表示学习 313
9.3.4 策略工程 316
9.3.5 将策略映射到操作空间 322
9.3.6 探索 326
9.3.7 奖励工程 333
9.4 总结 . 337
9.5 扩展阅读 338
9.6 参考文献 339
第10 章 强化学习的生产部署 348
10.1 实现阶段 . 349
10.1.1 框架 . 349
10.1.2 大规模强化学习 353
10.1.3 评价 . 361
10.2 部署 370
10.2.1 目标 . 371
10.2.2 体系架构 374
10.2.3 辅助工具 376
10.2.4 安全、保障和道德 382
10.3 总结 389
10.4 扩展阅读 . 390
10.5 参考文献 . 392
第11 章 结论与展望 . 400
11.1 提示和技巧 400
11.1.1 框架问题 400
11.1.2 你的数据 402
11.1.3 训练 . 403
11.1.4 评价 . 404
11.1.5 部署 . 404
11.2 调试 405
11.2.1 ${ALGORITHM_NAME} 不能解决${ENVIRONMENT}! 406
11.2.2 监测调试 407
11.3 强化学习的未来 408
11.3.1 强化学习市场机会 409
11.3.2 强化学习的研究方向 410
11.4 结束语 416
11.4.1 未来下一步 417
11.4.2 现在轮到你了! . 418
11.5 扩展阅读 . 418
11.6 参考文献 . 419
附录A 两种动作的Logistic 策略梯度 423
附录B Softmax 的策略梯度 . 427
译者序2016 年,由Google DeepMind 开发的AlphaGo 在人机对弈中以4:1 击败了韩国围棋冠军李世石;稍远一些,1997 年IBM 的“深蓝”战胜了国际象棋大师卡斯帕罗夫。与之前不同的是,AlphaGo 的火爆让人们经常提及人工智能这一词汇。但值得注意的是,当谈到AlphaGo 的具体技术,人们常用“左右互搏”来表达“自己和自己下棋,训练的模型越来越强大”,渐渐的,有一些非专业技术人员使用“强化学习”来表达这一过程,这样的认识是非常片面的。简单地说,强化学习是为了训练智能体,将智能体与环境之间进行探索– 利用(exploration-exploitation)有机结合的算法,其常见模型是标准的马尔可夫决策过程(Markov Decision Process, MDP)。第d一步,在智能体与环境交互过程中,得到完整或非完整轨迹(轨迹是否完整对应于强化学习的不同算法:蒙特卡洛或者SARSA/Q-Learning);第二步,使用各类可行算法训练智能体本身,然后返回第d一步继续迭代。当然,在具体强化学习算法中,如果模型是已知的,可以省略第d一步,直接使用动态规划方法。这将是第2 章和第3章的重点内容。我个人认为,充分理解SARSA/Q-Learning 算法是进入强化学习殿堂的过门石。多说一句,Richard Bellman 在1957 年提出的马尔可夫决策过程的动态规划算法,往往被学者认为是强化学习的发端。在当前硬件水平和项目需求的促进下,强化学习算法往往与深度学习相结合。因此,第4 章将经典强化学习算法与深度模型相结合,详细介绍DQN 算法,事实上,DQN 就是使用机器玩雅达利游戏时提出的,感兴趣的读者请参考Volodymyr Mnih 等于2013 年发表的“Playing Atari with Deep Reinforcement Learning”这篇经典论文。至于雅达利本身,对该公司生产的街机游戏的痴迷绝对是一个暴露年龄的话题,而它曾经吸引了包括乔布斯在内的多位计算机顶级程序员的加入,这里不再赘述。接下来,本书的第5~7 章介绍策略梯度方法(Policy Gradient,PG)以及由此衍生的AC、DPG、DDPG 等算法;在介绍信息熵、KL 散度、信赖域(Trust Regions)等概念后,引出ACKTR、Soft-AC、Soft-PG 等算法。强化学习绝非“纸上谈兵”,第8 章将介绍自动驾驶、无人机的实际案例,其中涉及对本书前序知识的使用,也涉及部分可观察马尔可夫决策过程(Partially Observable Markov Decision Process,POMDP)、单智能体去中心化学习(Decentralized Learning)等内容。掌握一种技术,初学者往往陷入“只见树木,不见森林”的境地,为了避免该现象,第9、10 章介绍了在实践中如何使用强化学习、如何让其在具体工作项目中真正发挥作用,甚至介绍了如何避免“踩坑”。对于强化学习的使用者,我建议应重点关注这几章,其内容是本书内容的升华和综合运用。我们深感自己水平有限,但认真通读全书发现,原书作者从事科研工作,也有自己的公司来实践,以认真、务实的态度完成了本书。我本人使用数据挖掘的手段从事矿产普查与探索的相关工作,同时在一些公司担任技术负责人,从事若干深度学习的具体项目。或许与作者身份的相似性,在翻译工作过程中能感受到作者对写书过程的认真和细致。我认为本书非常值得科研工作者和工程技术人员研读。本书的第二译者香港大学研究助理康俊鹏博士全程参与并形成了译稿,康博士在本书的翻译工作中花费了更多的精力。本书也得到了香港大学杨良河教授以及曹文明博士后的悉心指导。本书在翻译之初,我们将译文段落在微信群由多位大学老师帮忙指点,无法一一提及,再次深表感谢。期待读者能够从此书获益。译者
评论
还没有评论。