【Deepseek】Q-learning


avatar
GuoYulong 2025-02-19 14

在强化学习中,Q-learning 是一种经典的 off-policy 算法,用于学习最优策略。它的核心思想是通过更新 Q 值(动作价值函数)来找到在给定状态下采取哪个动作能够最大化累积奖励。Q-learning 的策略可以分为两个部分:行为策略(用于探索)和 目标策略(用于学习)。

1. Q-learning 的策略

Q-learning 的策略分为两部分:
(1)行为策略(Behavior Policy)

  • 用于与环境交互,生成经验数据(状态、动作、奖励、下一状态)。

  • 通常使用 ε-贪婪策略(ε-greedy policy):

    • 以概率 ε 随机选择动作(探索)。
    • 以概率 1-ε 选择当前 Q 值最大的动作(利用)。
  • 通过调整 ε,可以控制探索与利用的平衡。

(2)目标策略(Target Policy)

  • 用于更新 Q 值,目标是找到最优策略。

  • Q-learning 使用 贪婪策略(greedy policy) 作为目标策略:

    总是选择当前 Q 值最大的动作。
    
    这意味着 Q-learning 直接学习最优策略,而不依赖于行为策略。

2. Q-learning 的更新规则

Q-learning 通过以下公式更新 Q 值:
Q(s,a)←Q(s,a)+α[r+γmax⁡a′Q(s′,a′)−Q(s,a)]
Q(s,a)←Q(s,a)+α[r+γa′max​Q(s′,a′)−Q(s,a)]

ss:当前状态。

aa:当前动作。

rr:执行动作后获得的奖励。

s′s′:下一状态。

a′a′:在下一状态中可能采取的动作。

αα:学习率,控制更新步长。

γγ:折扣因子,衡量未来奖励的重要性。

关键点:

Q-learning 更新时,使用 max 操作来选择下一状态的最优动作,这体现了它的 off-policy 特性。

它不依赖于行为策略,而是直接学习最优策略。

3. Q-learning 的特点

Off-policy:学习的最优策略(目标策略)与行为策略可以不同。

收敛性:在满足一定条件下(如充分探索),Q-learning 可以收敛到最优 Q 值函数。

无需模型:Q-learning 是一种无模型(model-free)算法,不需要知道环境的状态转移概率。

4. Q-learning 的伪代码

初始化 Q(s, a) 为任意值
for 每个回合:
    初始化状态 s
    while 状态 s 不是终止状态:
        使用 ε-贪婪策略从状态 s 选择动作 a
        执行动作 a,观察奖励 r 和下一状态 s'
        更新 Q 值:
            Q(s, a) = Q(s, a) + α * [r + γ * max(Q(s', a')) - Q(s, a)]
        更新状态 s = s'

相关阅读

注意!!!

新增会员中心页面,方便管理个人账户,充值功能暂不开启,请勿为本网站进行任何充值活动!!!

通知!!!

① 过年好!!!拖更几个月了已经,年后继续更新!!