强化学习小白入门笔记4:策略学习Policy-Based Reinforcement Learning

强化学习小白入门笔记4:策略学习Policy-Based Reinforcement Learning

admin
8月27日发布
温馨提示:
本文最后更新于2025年08月27日,已超过57天没有更新,若内容或图片失效,请留言反馈。

在前面的学习中,我们了解了强化学习的基本概念以及价值学习。今天我们要学习一个新的方法——策略学习(Policy-Based Reinforcement Learning)。如果说之前学的方法是"先学会评估,再决定行动",那么策略学习就是"直接学会怎么行动"。

什么是策略函数?

想象你在玩一个游戏,比如超级玛丽。在每个游戏画面(状态)下,你都要做出选择:是往左走、往右走、跳跃,还是按下其他按键?

策略函数π(a | s)就是一个"决策助手",它的工作是:

  • 输入:当前的游戏画面(状态s)
  • 输出:每个可能动作的概率

比如,当玛丽面前有个坑时,策略函数可能会输出:

  • 跳跃:80%的概率
  • 往前走:15%的概率
  • 往后退:5%的概率

你可能会问:为什么不直接告诉我应该做什么,而要给我一堆概率呢?

这就像生活中的决策一样。即使是相同的情况,有时候我们也会做出不同的选择。在强化学习中,这种"随机性"有几个好处:

  1. 探索性:可以尝试不同的动作,避免陷入局部最优
  2. 适应性:在不确定的环境中更灵活
  3. 连续改进:通过调整概率分布来慢慢学习最优策略

策略学习的基本思想

传统方法可能需要我们手工设计规则,比如"看到敌人就攻击"、"血量低就逃跑"等。但是策略学习的思路是:让神经网络自己学会这些决策规则

这个过程就像训练一个新手玩家:

  1. 给他看各种游戏画面
  2. 让他尝试不同的动作
  3. 根据结果的好坏来调整他的决策倾向
  4. 重复这个过程,直到他变成高手

策略梯度算法:让AI学会"从错误中学习"

这里要说明两种情况:离散动作 vs 连续动作

离散动作:就像游戏手柄的按键,要么按下,要么不按。比如:

  • 向上、向下、向左、向右
  • 攻击、防御、使用道具

连续动作:就像方向盘的转向,可以有无数种角度。比如:

  • 汽车转向的角度(0度到360度之间的任意值)
  • 机器人手臂的移动距离

两种动作类型的区别主要在于策略函数的输出形式

  • 离散动作:输出每个动作的概率,比如[上:0.2, 下:0.3, 左:0.4, 右:0.1]
  • 连续动作:输出分布的参数,比如正态分布的均值μ=1.5和标准差σ=0.8

但无论哪种类型,都使用相同的学习框架:采样→执行→评估→学习。

不同类型的动作需要用不同的数学方法来处理,但核心思想是一样的。蒙特卡洛估计本身与动作类型无关,它是一种估计期望值的方法,无论是离散动作还是连续动作都可以使用。

策略梯度算法的工作流程

AI玩贪吃蛇游戏

让我们用一个具体的例子来理解整个流程。假设我们在训练一个AI玩贪吃蛇游戏:

(1)获得观测状态s_t

  • AI看到当前的游戏画面:蛇的位置、食物的位置、墙壁的位置等
  • 就像你玩游戏时观察屏幕一样

(2)从策略函数中随机采样动作a_t

  • 神经网络分析画面,给出四个方向的概率,比如:

    • 上:10%
    • 下:20%
    • 左:30%
    • 右:40%
  • AI根据这些概率随机选择一个动作,比如选择了"右"

(3)计算价值函数的值 这一步是评估"这个动作到底好不好"。有两种方法:

方法1:完整记录法

  • 把整个游戏过程都记录下来
  • 游戏结束后,看最终得分
  • 如果得分高,说明这局的所有动作都不错
  • 就像考试后根据总分来评价每个题目的答题策略

方法2:价值网络评估法

  • 训练另一个神经网络来预测"当前状态有多好"
  • 不用等游戏结束,立即就能知道动作的好坏
  • 就像有个经验丰富的教练在旁边实时指导

(4)对价值网络进行求导

  • 这是计算"应该往哪个方向调整"的数学步骤
  • 就像确定"应该增加还是减少某个动作的概率"

(5)近似计算策略梯度

  • 梯度告诉我们"参数应该怎么调整"
  • 如果某个动作导致了好结果,就增加它的概率
  • 如果某个动作导致了坏结果,就降低它的概率

(6)更新网络的参数

  • 根据计算出的梯度来调整神经网络
  • 让AI在下一次遇到类似情况时,做出更好的选择

为什么是梯度上升而不是下降?

在机器学习中,我们通常听到"梯度下降",为什么到强化学习这里是"梯度上升"呢?

梯度下降:用来最小化损失(比如预测错误)

梯度上升:用来最大化奖励(比如游戏得分)

想象你在爬山:

  • 如果你想到达山谷(最小化高度),你会沿着下坡的方向走 → 梯度下降
  • 如果你想到达山顶(最大化高度),你会沿着上坡的方向走 → 梯度上升

在强化学习中,我们的目标是最大化累积奖励,所以我们要"往山顶爬",因此使用梯度上升。

梯度上升

小结

策略学习是强化学习中的一个重要分支,它的核心思想是直接学习决策策略。通过神经网络来拟合策略函数,使用策略梯度算法来优化参数,最终让AI学会在不同状态下做出最优的动作选择。

虽然这个方法听起来复杂,但其实就是在模拟人类学习的过程:观察环境、尝试行动、评估结果、调整策略。理解了这个基本思路,你就掌握了策略学习的精髓。

在下一篇笔记中,我们将学习更多具体的策略学习算法,比如REINFORCE、Actor-Critic等。这些都是基于今天学到的基础概念发展而来的。

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
上传图片
OωO
取消