代码链接见文末
1. Q-learning
1.1 概述
Q-Learning是一种强化学习算法,目的是通过选择能带来最大长期收益的行为来完成任务。
-
做事包含瞬时奖励和记忆经验奖励:
- 在Q-Learning中,每个动作都会带来“瞬时奖励”,同时也会根据过去的经验记住哪些行为更有利。
-
瞬时奖励:
- 这里的“瞬时奖励”指的是当前动作带来的直接奖励。比如,格斗中的每一击能带来一定的收益。
-
记忆经验奖励:
- 这部分是对过去经验的积累,用来预测未来的回报。格斗中的“补刀”就是根据之前的经验判断当前行动是否最优,以获得更高的奖励。
-
DQN的引入:
- DQN(深度Q网络)在Q-Learning的基础上加入了神经网络,用于预测最优行为。
1.2 核心流程
1.3 案例:密室逃脱
(1)状态定义:
- 房间被定义为状态:0, 1, 2, 3, 4, 5,其中状态5为出口。
(2)Q和R的初始化
(3)迭代过程
第一轮迭代
在得到最终 Q 表后,智能体可以通过选择 Q 值最高的路径,找到从任意状态出发,到达出口(状态5)的最优逃脱路径。