更改

添加2,419字节 、 2025年5月10日 (六) 12:32
无编辑摘要
第21行: 第21行:  
===Q-Learning 简介===
 
===Q-Learning 简介===
 
Q-Learning 是强化学习中一种经典且广泛应用的无模型(model-free)算法,属于基于值(value-based)的方法。其核心目标是通过学习一个动作价值函数(Q函数),指导智能体在不同状态下选择最优动作,以最大化长期累积奖励。
 
Q-Learning 是强化学习中一种经典且广泛应用的无模型(model-free)算法,属于基于值(value-based)的方法。其核心目标是通过学习一个动作价值函数(Q函数),指导智能体在不同状态下选择最优动作,以最大化长期累积奖励。
 +
    
举例老鼠在迷宫中寻找奶酪来理解Q-Learning :
 
举例老鼠在迷宫中寻找奶酪来理解Q-Learning :
    +
===<small>环境设定</small>===
 +
 +
*'''智能体(Agent)''':一只老鼠,起始位置固定。
 +
*'''目标(Goal)''':在迷宫的右下角有一块奶酪,老鼠的任务是找到并吃到奶酪。
 +
*'''障碍(Obstacle)''':迷宫中某些位置有毒药,老鼠需要避免这些位置。
 +
*'''动作(Actions)''':老鼠可以选择向上、下、左、右移动。
 +
*'''奖励(Rewards)''':
 +
**吃到奶酪:+10
 +
**误入毒药:-10
 +
**其他移动:0
 +
 +
=== <small>Q-Learning 学习过程</small> ===
 +
老鼠通过不断尝试不同的路径,学习如何从起点移动到奶酪所在的位置,同时避免毒药。每次移动后,老鼠根据获得的奖励更新其对当前状态下各个动作的价值估计(即 Q 值)。随着学习的进行,老鼠逐渐形成一套策略,使其能够更快、更安全地找到奶酪。
 +
 +
=== <small>Q 值更新公式</small> ===
 +
Q-Learning 的核心在于通过以下公式更新 Q 值:
 +
[[文件:Q值更新公式.png|缩略图]]
 +
 +
𝑠𝑡:当前状态
 +
 +
𝑎𝑡:当前动作
 +
 +
𝑟𝑡:执行动作后获得的奖励
 +
 +
𝑠𝑡+1:执行动作后的新状态
 +
 +
𝛼:学习率(0 < 𝛼 ≤ 1)
 +
 +
𝛾:折扣因子(0 ≤ 𝛾 < 1)
 +
 +
=== <small>策略选择:ε-贪婪策略</small> ===
 +
为了在探索新路径和利用已知最佳路径之间取得平衡,采用 ε-贪婪策略:
 +
 +
* 以概率 ε 随机选择一个动作(探索)
 +
* 以概率 1 - ε 选择当前 Q 值最大的动作(利用)
 +
 +
随着训练的进行,逐渐减小 ε 的值,以减少探索,增加利用。
 +
 +
=== <small>学习过程</small> ===
 +
以下是老鼠在迷宫中学习的简要过程:
 +
 +
# '''初始化''':将所有状态-动作对的 Q 值初始化为 0。
 +
# '''选择动作''':根据 ε-贪婪策略选择一个动作。
 +
# '''执行动作''':老鼠移动到新的位置,获得相应的奖励。
 +
# '''更新 Q 值''':根据 Q 值更新公式,更新当前状态下该动作的 Q 值。
 +
# '''重复''':将新位置作为当前状态,重复步骤 2 至 4,直到达到终止条件(如找到奶酪或达到最大步数)。
 +
 +
通过多次迭代,老鼠能够学习到从起点到奶酪的最优路径,同时避免毒药。
 +
 +
该示例展示了 Q-Learning 如何通过与环境的交互,学习最优策略以最大化累积奖励。通过不断更新 Q 值,智能体能够在复杂的环境中找到最优路径。
 
===深度学习与强化学习的融合背景===
 
===深度学习与强化学习的融合背景===
  
281

个编辑