Foundations of Deep Reinforcement Learning: Theory and Practice in Python, 1st edition

Published by Addison-Wesley Professional (December 5, 2019) © 2020

  • Laura Graesser
  • Wah Loon Keng

eTextbook

C$59.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
C$62.49

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
The Contemporary Introduction to Deep Reinforcement Learning that Combines Theory and Practice
Deep reinforcement learning (deep RL) combines deep learning and reinforcement learning, in which artificial agents learn to solve sequential decision-making problems. In the past decade deep RL has achieved remarkable results on a range of problems, from single and multiplayer games–such as Go, Atari games, and DotA 2–to robotics.
Foundations of Deep Reinforcement Learning is an introduction to deep RL that uniquely combines both theory and implementation. It starts with intuition, then carefully explains the theory of deep RL algorithms, discusses implementations in its companion software library SLM Lab, and finishes with the practical details of getting deep RL to work.
This guide is ideal for both computer science students and software engineers who are familiar with basic machine learning concepts and have a working understanding of Python.
  • Understand each key aspect of a deep RL problem
  • Explore policy- and value-based algorithms, including REINFORCE, SARSA, DQN, Double DQN, and Prioritized Experience Replay (PER)
  • Delve into combined algorithms, including Actor-Critic and Proximal Policy Optimization (PPO)
  • Understand how algorithms can be parallelized synchronously and asynchronously
  • Run algorithms in SLM Lab and learn the practical implementation details for getting deep RL to work
  • Explore algorithm benchmark results with tuned hyperparameters
  • Understand how deep RL environments are designed
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
  • How to achieve breakthrough machine learning performance by combining deep neural networks with reinforcement learning 
  • Reduces the learning curve by relying on the authors’ OpenAI Lab framework: requires less upfront theory, math, and programming expertise 
  • Provides well-designed, modularized, and tested code examples with complete experimental data sets to illuminate the underlying algorithms
  • Includes case studies, practical tips, definitions, and other aids to learning and mastery
  • Prepares readers for exciting future advances in artificial general intelligence
Foreword xix
Preface xxi
Acknowledgments xxv
About the Authors xxvii


Chapter 1: Introduction to Reinforcement Learning 1
1.1 Reinforcement Learning 1
1.2 Reinforcement Learning as MDP 6
1.3 Learnable Functions in Reinforcement Learning 9
1.4 Deep Reinforcement Learning Algorithms 11
1.5 Deep Learning for Reinforcement Learning 17
1.6 Reinforcement Learning and Supervised Learning 19
1.7 Summary 21

Part I: Policy-Based and Value-Based Algorithms 23

Chapter 2: REINFORCE 25

2.1 Policy 26
2.2 The Objective Function 26
2.3 The Policy Gradient 27
2.4 Monte Carlo Sampling 30
2.5 REINFORCE Algorithm 31
2.6 Implementing REINFORCE 33
2.7 Training a REINFORCE Agent 44
2.8 Experimental Results 47
2.9 Summary 51
2.10 Further Reading 51
2.11 History 51

Chapter 3: SARSA 53
3.1 The Q- and V-Functions 54
3.2 Temporal Difference Learning 56
3.3 Action Selection in SARSA 65
3.4 SARSA Algorithm 67
3.5 Implementing SARSA 69
3.6 Training a SARSA Agent 74
3.7 Experimental Results 76
3.8 Summary 78
3.9 Further Reading 79
3.10 History 79

Chapter 4: Deep Q-Networks (DQN) 81
4.1 Learning the Q-Function in DQN 82
4.2 Action Selection in DQN 83
4.3 Experience Replay 88
4.4 DQN Algorithm 89
4.5 Implementing DQN 91
4.6 Training a DQN Agent 96
4.7 Experimental Results 99
4.8 Summary 101
4.9 Further Reading 102
4.10 History 102

Chapter 5: Improving DQN 103

5.1 Target Networks 104
5.2 Double DQN 106
5.3 Prioritized Experience Replay (PER) 109
5.4 Modified DQN Implementation 112
5.5 Training a DQN Agent to Play Atari Games 123
5.6 Experimental Results 128
5.7 Summary 132
5.8 Further Reading 132

Part II: Combined Methods 133

Chapter 6: Advantage Actor-Critic (A2C) 135

6.1 The Actor 136
6.2 The Critic 136
6.3 A2C Algorithm 141
6.4 Implementing A2C 143
6.5 Network Architecture 148
6.6 Training an A2C Agent 150
6.7 Experimental Results 157
6.8 Summary 161
6.9 Further Reading 162
6.10 History 162

Chapter 7: Proximal Policy Optimization (PPO) 165
7.1 Surrogate Objective 165
7.2 Proximal Policy Optimization (PPO) 174
7.3 PPO Algorithm 177
7.4 Implementing PPO 179
7.5 Training a PPO Agent 182
7.6 Experimental Results 188
7.7 Summary 192
7.8 Further Reading 192

Chapter 8: Parallelization Methods 195
8.1 Synchronous Parallelization 196
8.2 Asynchronous Parallelization 197
8.3 Training an A3C Agent 200
8.4 Summary 203
8.5 Further Reading 204

Chapter 9: Algorithm Summary 205

Part III: Practical Details 207

Chapter 10: Getting Deep RL to Work 209

10.1 Software Engineering Practices 209
10.2 Debugging Tips 218
10.3 Atari Tricks 228
10.4 Deep RL Almanac 231
10.5 Summary 238

Chapter 11: SLM Lab 239
11.1 Algorithms Implemented in SLM Lab 239
11.2 Spec File 241
11.3 Running SLM Lab 246
11.4 Analyzing Experiment Results 247
11.5 Summary 249

Chapter 12: Network Architectures 251
12.1 Types of Neural Networks 251
12.2 Guidelines for Choosing a Network Family 256
12.3 The Net API 262
12.4 Summary 271
12.5 Further Reading 271

Chapter 13: Hardware 273
13.1 Computer 273
13.2 Data Types 278
13.3 Optimizing Data Types in RL 280
13.4 Choosing Hardware 285
13.5 Summary 285

Part IV: Environment Design 287

Chapter 14: States 289

14.1 Examples of States 289
14.2 State Completeness 296
14.3 State Complexity 297
14.4 State Information Loss 301
14.5 Preprocessing 306
14.6 Summary 313

Chapter 15: Actions 315
15.1 Examples of Actions 315
15.2 Action Completeness 318
15.3 Action Complexity 319
15.4 Summary 323
15.5 Further Reading: Action Design in Everyday Things 324

Chapter 16: Rewards 327
16.1 The Role of Rewards 327
16.2 Reward Design Guidelines 328
16.3 Summary 332

Chapter 17: Transition Function 333
17.1 Feasibility Checks 333
17.2 Reality Check 335
17.3 Summary 337

Epilogue 338

Appendix A: Deep Reinforcement Learning Timeline 343

Appendix B: Example Environments 345

B.1 Discrete Environments 346
B.2 Continuous Environments 350

References 353
Index 363
Laura Graesser is a research software engineer working in robotics at Google. She holds a master’s degree in computer science from New York University, where she specialized in machine learning.

Wah Loon Keng is an AI engineer at Machine Zone, where he applies deep reinforcement learning to industrial problems. He has a background in both theoretical physics and computer science.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable upon changing cookie preferences. Disabling cookies may affect video functionality. More info...

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â