强化学习Q-learning手算图解:零基础实战教程
摘要
Q-learning是基于价值的离线无模型强化学习算法,通过学习动作价值指导决策。核心为Q表结
Q-learning算法核心原理与机制
Q-learning 属于基于价值、离线无模型的强化学习算法。它不直接优化策略,而是通过维护 Q 表存储状态-动作对的价值,结合时序差分(TD)规则迭代更新。采用 ε-贪心策略平衡探索与利用,折扣因子 γ 与学习率 α 是影响收敛效果的关键超参数。算法在每一步交互后立即学习,结构简洁、实现便捷。但当状态或动作空间过大时,Q 表存储需求激增,导致维度灾难问题。
Q-learning基本架构与决策流程
Q-learning决策机制
Q-learning 通过查询动作价值函数做出决策:在状态 s1 下,比较动作 a1 与 a2 的 Q 值,选择值最高的动作执行。例如 Q(s1,a1)=-2,Q(s1,a2)=1,则选择 a2。执行后进入新状态 s2,重复查表、比较、择优的过程,直到终止状态。
Q-learning更新规则
动作的总价值由即时奖励与后续状态的折现长期收益共同决定。
- 估计值:当前状态下执行动作 a2 的 Q 值 Q(s1,a2),即模型对该动作总回报的当前估计。
- 真实目标值:即时奖励 R 加上折扣因子 γ 乘以下一状态的最大 Q 值。γ 用于衰减远期回报,反映未来收益的不确定性。
算法超参数与决策策略:
- ε-greedy 探索策略:以概率 ε 随机选择动作,以概率 1-ε 选择当前最优动作。典型设置 ε=0.9 表示 90% 贪心、10% 随机,在探索与利用间取得平衡。
- 学习率 alpha:取值为 (0,1),控制单次更新中 TD 误差被纳入新估计值的比例,影响收敛速度与稳定性。
- 折扣因子 gamma:对未来奖励做衰减,γ 越大越重视长期收益,γ 越小越关注即时回报。
手算Q-learning更新流程
步骤一:选择动作
根据当前状态和 Q 表选取动作。
步骤二:执行动作并获取反馈
根据当前状态和动作,得到即时奖励和下一状态。
步骤三:计算当前动作价值估计值
计算当前行为对应的 Q 值估计。
步骤四:计算TD目标真实值
根据下一状态的最大 Q 值计算真实目标值。
步骤五:更新Q表条目
更新当前状态下选择当前动作的动作价值函数。
Q-learning数学公式推导
动作价值函数 Q(s,a) 定义
在状态 s 下执行动作 a 后,未来能获得的累计回报期望值。
贝尔曼最优方程
Q-learning 的理论基础是贝尔曼最优方程:
当前动作价值等于即时奖励加上下一状态的最大折扣价值。算法通过不断逼近该最优方程收敛到最优 Q 值。
时序差分目标(TD Target)
Q-learning 每次更新时的目标值,即当前样本认为的“正确 Q 值”。
时序差分误差(TD Error)
当前 Q 值与 TD 目标之间的差距。
Q-learning 更新公式
新 Q 值 = 旧经验 + 新经验。
最优策略提取公式
在每个状态下选择 Q 值最大的动作作为最优策略。
ε-贪心探索策略
训练阶段不能始终贪心,否则易陷入局部最优,因此采用 ε-贪心策略:
累计奖励公式(Return)
Q-learning 的优化目标是最大化累计折扣奖励:
Q-learning 最终策略即为在每个状态下选择 Q 值最大的动作。通过反复迭代,Q 表逐渐收敛至最优动作价值函数。
来源:互联网
本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。