📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在👉强化学习专栏:
【强化学习】- 【单智能体强化学习】(1)---《单智能体强化学习《纲要》》
单智能体强化学习(Single-Agent Reinforcement Learning)《纲要》
目录
0.什么是强化学习?
强化学习(Reinforcement Learning,简称 RL)是一种让机器“通过尝试和错误学习”的方法。它模拟了人类和动物通过经验积累来学会做决策的过程,目的是让机器或智能体能够在复杂的环境中选择最优的行为,从而获得最大的奖励。
1. 举个简单例子
想象一下你是一个小孩,在一个游乐场里,你需要做出一些选择:玩蹦床、滑滑梯,还是去玩旋转木马上?每次你做出选择后,游乐场会给你一些奖励,比如玩蹦床后你感觉非常开心(给你奖励),滑滑梯后你感到害怕(没有奖励)。你不知道这些奖励会如何,但随着时间的推移,你学会了什么行为能带来更好的感觉。
这个过程类似于强化学习中的“学习过程”。智能体(你)通过尝试不同的行为(选择玩不同的设施)来获得奖励,然后根据这些奖励来调整自己的行为,最终找出最好的选择。
2. 强化学习的基本元素
在强化学习中,系统主要包括以下几个部分:
- 智能体(Agent):做决策的主体,像上面例子中的小孩,或者是一个机器人。
- 环境(Environment):智能体所在的世界或场所,游乐场就是一个环境,智能体在这个环境中做出决策。
- 状态(State):环境在某一时刻的具体情况,像游乐场里可能的状态就是“你现在站在哪个设施旁边”。
- 动作(Action):智能体在某个状态下可以选择的行为,像“去玩蹦床”、“去滑滑梯”。
- 奖励(Reward):智能体选择某个动作后,环境给予的反馈,可能是正向奖励(玩得开心)或负向奖励(感到害怕)。
3. 如何学习:试错法
强化学习的核心是“试错学习”。智能体通过与环境的互动,不断做出决策并获得反馈。通过这种方式,智能体学会了哪些行为会带来更多的奖励,哪些行为是无效的。
举个例子:
假设你是一个游戏玩家,游戏中的目标是找到宝藏。游戏中的每个步骤都充满了未知。你可以走左边、走右边、爬山、挖洞等。你不知道哪个动作能带来宝藏,但你可以尝试:
- 第一次走右边,发现掉进了陷阱,得到了负奖励。
- 第二次走左边,发现了一些金币,得到了正奖励。
- 第三次走左边,发现了宝藏,得到了更高的奖励。
通过这些尝试,智能体逐渐知道走左边会更有可能获得奖励,最后学会了最佳的路径。
4.单智能体强化学习
我们从强化学习的研究出发,最开始便是针对单智能体强化学习开展研究,然后再过渡到多智能体强化学习。单智能体强化学习(Single-Agent Reinforcement Learning,SARL)是强化学习的基础研究。
单智能体强化学习涉及一个智能体在环境中学习和决策,目标是最大化该智能体的回报。与多智能体强化学习(Multi-Agent Reinforcement Learning, MARL)相比,单智能体强化学习(Single-Agent Reinforcement Learning, SARL)的主要区别在于:
- 学习和决策的主体:SARL只有一个智能体在环境中学习和做决策,而MARL有多个智能体同时学习和决策1。
- 交互性:SARL中智能体只与环境交互,不与其他智能体交互;而MARL中智能体不仅与环境交互,还与其他智能体交互,增加了问题的复杂性1。
- 状态和动作空间:SARL的状态和动作空间相对简单,通常是固定的和可预测的;而MARL的状态和动作空间更为复杂,因为它们依赖于所有智能体的动作和状态1。
- 优化目标:SARL优化单个智能体的回报;而MARL可能需要优化所有智能体的集体回报,或者在智能体之间达成某种均衡1。
- 学习策略:SARL的学习策略相对直接,只需考虑单个智能体的学习;而MARL的学习策略更为复杂,需要考虑多智能体之间的协调和竞争。
【SARL】单智能体强化学习系列文章:
SARL系列主要针对单智能体强化学习相关算法进行介绍,并给出相关Python代码和可移植程序,SARL系列文章纲要如下:(持续更新中)
1.【强化学习】单智能体强化学习《纲要》
2.【强化学习】Q-Learning算法
3.【强化学习】Sarsa算法
4.【强化学习】DQN算法
5.【强化学习】PG算法
6.【强化学习】REINFORCE算法
7.【强化学习】Actor-Critic算法
8.【强化学习】A2C算法
9.【强化学习】DDPG算法
10.【强化学习】PPO算法
项目代码我已经放入GitCode里面,可以通过下面链接跳转:🔥
后续相关单智能体强化学习算法也会不断在【强化学习】项目里更新,如果该项目对你有所帮助,请帮我点一个星星✨✨✨✨✨,鼓励分享,十分感谢!!!
若是下面代码复现困难或者有问题,也欢迎评论区留言。
如果你想了解多智能体强化学习【MARL】可以移步下面这篇文章:
【MADRL】多智能体深度强化学习《纲要》
或者专栏:
多智能体强化学习【MARL】专栏
5. 强化学习的应用实例
强化学习不仅仅适用于游戏,它已经被广泛应用于很多现实世界的问题中,以下是一些经典的例子:
1. 游戏中的AI
强化学习最著名的一个应用例子是 AlphaGo。AlphaGo是由DeepMind开发的人工智能,它通过强化学习击败了围棋世界冠军李世石。它的训练过程就是通过与自己对弈,不断调整自己的策略,最终掌握了围棋的高超技巧。
2. 自动驾驶
自动驾驶汽车也是强化学习的一大应用领域。在自动驾驶中,智能体(即汽车)通过在真实世界或模拟环境中进行试验和错误,学习如何做出正确的决策——比如如何加速、减速、变道,甚至如何避免碰撞。通过不断试错,汽车能够学会在各种不同的路况中选择最安全、最合适的操作。
3. 机器人控制
在机器人领域,强化学习也得到了广泛的应用。例如,一个机器人可能需要学会如何抓取物体,如何移动或走路。通过不断地“试”抓不同的物体,机器人的“抓取策略”会不断改进,最终学会了如何以最有效的方式抓取物体。
6. 总结
强化学习就是让智能体通过与环境的互动,不断学习、调整自己的行为,以获得更多的奖励。它像是一个不断“试错”的过程,智能体通过尝试各种动作,从失败和成功中学习,最终找到最优的行为策略。
博客都是给自己看的笔记,如有误导深表抱歉。文章若有不当和不正确之处,还望理解与指出。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请联系博主删除。如有错误、疑问和侵权,欢迎评论留言联系作者,或者添加VX:Rainbook_2,联系作者。✨