通俗易懂谈强化学习之Q-Learning算法实战

Pacman项目实战:基于Q-Learning的强化学习算法解析

 Datawhale干货 

作者:知乎King James,伦敦国王大学

知乎 | https://www.zhihu.com/people/xu-xiu-jian-33

前言上篇介绍了什么是强化学习,应大家需求,本篇实战讲解强化学习,所有的实战代码可以自行下载运行。

本篇使用强化学习领域经典的Project-Pacman项目进行实操,Python2.7环境,使用Q-Learning算法进行训练学习,将讲解强化学习实操过程中的各处细节。如何设置Reward函数,如何更新各(State,Action)下的Q-Value值等。有基础的读者可以直接看Part4实战部分。文章略长,细节讲解很多,适合新手入门强化学习。

01 强化学习

关于强化学习的基础介绍,可以阅读我上一篇帖子,本篇不再介绍。如果完全是零基础的读者,建议先阅读上一篇文章。里面介绍了强化学习的五大基本组成部分、训练过程、各大常见算法以及实际工业界应用等。

02 Pacman Project讲解

Pacman-吃豆人游戏,本身是上世纪80年代日本南梦宫游戏公司推出的一款街机游戏,在当时风靡大街小巷。后来加州大学伯克利分校,这所只有诺贝尔奖获得者才配在学校里面拥有固定车位的顶级公立大学,将Pacman游戏引进到强化学习的课程中,作为实操项目。慢慢地成为该领域的经典Project。

项目链接:http://ai.berkeley.edu/project_overview.html,这个项目因为时间比较久,所以整体是Python2.7的源码,没有最新的Python3源码。

d4264f1288fe2f899ec7c2a4715fafa8.png

Pacman游戏目标很简单,就是Agent要把屏幕里面所有的豆子全部吃完,同时又不能被幽灵碰到,被幽灵碰到则游戏结束,幽灵也是在不停移动的。Agent每走一步、每吃一个豆子或者被幽灵碰到,屏幕左上方这分数都会发生变化,图例中当前分数是435分。

本次项目,我们基于Q-Learning算法,让Pacman先自行探索训练2000次。探索训练结束后,重新让Pacman运行10次,测试这10次中Pacman成功吃完所有屏幕中所有豆子的次数,10次中至少成功8次才算有效。

03 Q-Learning介绍

Q-Learning是Value-Based的强化学习算法,所以算法里面有一个非常重要的Value就是Q-Value,也是Q-Learning叫法的由来。这里重新把强化学习的五个基本部分介绍一下。

  • Agent(智能体): 强化学习训练的主体就是Agent:智能体。Pacman中就是这个张开大嘴的黄色扇形移动体。

  • Environment(环境): 整个游戏的大背景就是环境;Pacman中Agent、Ghost、豆子以及里面各个隔离板块组成了整个环境。

  • State(状态): 当前 Environme

### 回答1: 《深入浅出强化学习编程实战》是一本以深入浅出的方式介绍强化学习编程实践的教材。强化学习是一种机器学习的方法,其通过与环境进行交互,不断试错并根据反馈进行学习,以最大化获取奖励的策略。 这本书从实际应用的角度出发,为读者提供了丰富的强化学习编程实例,并用简洁明了的语言进行讲解。书中首先对强化学习的基本概念进行了介绍,包括马尔科夫决策过程、值函数、策略梯度等核心理论。接着,作者通过具体的案例,如迷宫问题、扫地机器人等,演示了如何应用强化学习算法解决实际问题。 《深入浅出强化学习编程实战》的编写极富教学性,每个实例都配有详细的代码解释和算法原理分析,使读者能够更好地理解和掌握强化学习的编程实现。同时,书中还介绍了一些在实践中常用的强化学习库和工具,如OpenAI Gym、TensorFlow等,让读者能够更加便捷地进行实验和应用。 这本书适合对强化学习感兴趣的初学者阅读,也适合已有一定编程基础的读者进行进一步的学习和实践。通过读完本书,读者可以了解到强化学习的基本概念和常用算法,并能够运用所学知识解决实际问题。 总之,《深入浅出强化学习编程实战》是一本循序渐进、实用性极高的强化学习编程实践指南,帮助读者快速入门和应用强化学习算法。无论是学术研究还是工程实践,都能够从中获得丰富的经验和知识。 ### 回答2: 《深入浅出强化学习编程实战》pdf是一本讲解强化学习编程实践的电子书籍。强化学习是一种机器学习的分支,其主要目标是让智能体通过与环境的交互,最大化累积奖励。这本书以深入浅出的方式,向读者解释了强化学习的基本原理和相关算法。 这本书首先介绍了强化学习的基本概念和背景知识,包括马尔可夫决策过程、值函数和策略等重要概念。然后,书中详细介绍了一些经典的强化学习算法,如Q-Learning和Deep Q-Networks等。通过学习这些算法,读者可以了解如何通过强化学习方法来解决实际问题。 此外,该书也提供了一些实际项目案例,帮助读者将理论知识应用到实际场景中。这些案例涵盖了不同领域,如机器人、游戏和金融等,读者可以通过这些实例了解强化学习在不同领域的应用。 为了更好地帮助读者理解和掌握强化学习编程实践,该书还提供了大量的代码示例和实验练习。读者可以通过编写代码并运行实验来巩固所学的知识,并且可以在实验中探索不同的参数和算法,以实现更好的性能。 总的来说,《深入浅出强化学习编程实战》pdf以通俗易懂的方式介绍了强化学习的基本理论和算法,并通过实际案例和实验帮助读者深入理解和运用强化学习。这本书适合对强化学习编程实践感兴趣的读者阅读,不仅可以学到理论知识,还能够通过实践提升编程和问题解决能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值