【强化学习】Day1-具身智能-强化学习-入门+快速认识

写在前面 / 链接存档

引子

  • 【具身智能+强化学习】是最近的热点领域,也是未来发展的趋势

  • 强化学习的核心利用和探索

    利用已有的知识,探索未知的知识

  • 下图:强化学习领域技术选型的决策图

image-20250102194426065

离散和连续空间的区别

  1. 玩游戏时,你可以按左、右、跳跃这些动作。动作有固定几个选项,所以这些是离散的动作
  2. 你开车或者骑自行车时,方向盘或车把可以转动一个任意角度(比如转10度、20度,也可以转10.5度),速度也可以任意快慢(比如30公里/小时、30.1公里/小时),这些是连续的动作

有模型和无模型的区别

  1. 如果你知道火车的时刻表,就可以提前计划什么时候到站,什么时候上车。这就是有模型–你提前知道火车运行的规则。
  2. 如果你知道游戏的所有规则,你可以根据规则设计策略,比如知道怎么走一步会得分更多。
  3. 如果你从没去过一个迷宫,不知道出口在哪里,你只能一边走一边试,慢慢找到出口。这就是无模型–你不C知道迷宫的规律,只能靠探索来找到答案。

有模型的可以基于模型进行计划和规划,无模型的需要通过反复的试错才能找到答案,

基于模型的强化学习

  • 规则只是告诉你"如果你做了某个动作,会发生什么事情”,但没有直接告诉你“哪种方法是最好的”, 在现实中,即使有模型(规则),这个模型可能不够准确或完整。你还是需要通过尝试和学习来不断修正你的计划。
  • 规则:滑道是固定的轨道,越直速度越快。
  • 问题:怎么滑得最快、最远或者最安全?
    • 坐着滑,躺着滑
    • 滑梯加水
    • 穿裤子滑和不穿裤子滑

动作和状态空间大小

  • 状态空间:所有可能的状态有多少种。
    • 例子:迷宫有10x10个格子,那状态空间有100种(你可能站在任何一个格子上)。
  • 动作空间:你在每种状态下能做的动作有多少种。
    • 例子:每个格子上可能有4种动作(上、下、左、右)

——–>

空间小,可以采用查表更新表格的方法学习

空间大,就需要利用深度学习和梯度下降的技术来学习。

←——

动作确定和动作随机的含义

  1. 动作确定(Deterministic Action)
  • 特点:适用于需要精确控制的任务
  • 例子
    • 机器人抓取物体:如果机器人需要抓住一个小物品,动作必须非常精确,否则可能抓不住
  1. 动作随机(Stochastic Action)
  • 特点:适用于需要探索或者环境中有不确定性的任务
  • 例子
    • 玩游戏:在策略游戏中,加入随机动作可以帮助探索不同的策略
    • 自动驾驶:环境中可能会有突发情况(比如行人突然出现),系统需要适应这些不确定性
算法名称特点适用场景优缺点
Q-Learning- 强化学习的基础算法- 井字棋、小游戏- 优点:简单易懂,适合入门
SARSA- 离散动作和状态,状态和动作都有限的简单问题
- 穷举所有可能,逐渐优化策略
- 状态和动作都有限的简单问题- 缺点:空间大或连续动作时效率低
DQN- 深度Q学习
- 用神经网络代替表格法,能应对复杂环境
- 适合离散动作,但状态/动作空间可以很大
- 游戏AI(如Flappy Bird、Atari游戏)
- 状态复杂但动作离散的场景
- 优点:适合大规模状态
- 缺点:不能处理连续动作
DDPG- 适合连续动作的强化学习算法
- 动作确定性(没有随机性)
- 机械臂控制
- 自动驾驶的方向盘控制
- 机器人平稳移动
- 优点:适合精确的连续控制
- 缺点:容易陷入局部最优
- 需要较多的计算资源
SAC- 在DDPG的基础上增加了随机性
- 更适合探索性强的复杂环境
- 兼顾精度和探索
- 复杂机器人任务(比如抓取不同形状的物体)
- 游戏AI中带随机行为的角色
- 优点:稳定性强,适应性好
- 缺点:比DDPG需要更多的计算
PPO- 策略优化算法,能有效处理连续和随机动作
- 相比SAC更高效,简单易用
- 游戏AI训练(如多人对战游戏)
- 模拟器中训练复杂任务的智能体
- 优点:计算效率高,易于调试
- 缺点:可能不适合某些特别复杂的随机环境
BC(行为克隆)- 通过模仿专家行为进行学习
- 无需环境奖励函数,通过示范数据学习策略
- 自动驾驶(模仿人类驾驶行为)
- 机器人模仿操作
- 当专家示范数据丰富时
- 优点:无需奖励函数,简单易用
- 缺点:依赖高质量的示范数据,难以应对未知环境
Act(基于动作预测)- 使用神经网络预测下一步动作
- 无需优化值函数,直接计算动作
- 可以用于实时控制任务
- 机器人控制(例如机械臂抓取物体)
- 自动驾驶中的实时轨迹预测
- 游戏AI中实时动作预测
- 优点:高效实时预测动作
- 缺点:对训练数据的依赖较大,难以处理长期决策问题

应用场景进一步举例

  1. Q-Learning / SARSA
  • 用来教机器人学习“走迷宫”,迷宫比较小,每一步的动作是简单的“向前、向左、向右”。
  1. DQN
  • 在《Flappy Bird》游戏中,用它教AI学习如何通过每个障碍(状态复杂,但动作只有“跳”或“不跳”)
  1. DDPG

    • 控制机械臂抓取一个杯子。需要很精确的动作,比如抓的力度、移动的角度
  2. SAC

  • 用来教机械臂在不同的情况下抓取不同的物体,比如有轻的气球和重的铁块。
  1. PPO
  • 用来训练一个AI角色在多人游戏中与人类对手竞争,比如训练《Dota 2》的AI。

总结选择的原则

  • 问题简单、状态和动作有限:选择Q-Learning / SARSA
  • 状态复杂但动作有限(离散):选择DQN
  • 连续动作,需要精确控制:选择DDPG
  • 连续动作,需要适应随机性和复杂环境:选择SAC
  • 效率要求高,想要快速调试:选择PPO

blackhorse 计划的课程

1+2

3+4

5+6

7+8

  • Copyrights © 2024-2025 brocademaple
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信