| 第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 值,智能体能够在复杂的环境中找到最优路径。 |
| | ===深度学习与强化学习的融合背景=== | | ===深度学习与强化学习的融合背景=== |
| | | | |