Q-learning 是一种无模型的强化学习算法,它使智能体能够学习在环境的不同状态下采取最优行动。它通过迭代更新一个 Q-表来实现这一点,Q-表存储了每个可能的状态-行动对的预期长期奖励(Q 值)。核心思想是智能体探索环境,观察奖励,并使用 Bellman 方程调整其 Q 值:Q(s,a) = Q(s,a) + α * [reward + γ * max(Q(s’,a’)) - Q(s,a)],其中 α 是学习率,γ 是折扣因子(优先考虑即时奖励还是未来奖励),而 max(Q(s’,a’)) 表示下一状态 (s’) 中最佳预期值。随着时间的推移,这个过程收敛于最优策略。
Q-learning 的一个关键方面是平衡探索和利用。例如,在一个网格世界游戏中,智能体可能开始通过选择随机移动(探索)来发现奖励,但逐渐转向采取 Q 值最高的行动(利用)。像 ε-greedy 策略这样的技术,其中智能体以 ε 的概率(例如,10% 的时间)随机探索,有助于防止陷入次优策略。想象一个机器人正在迷宫中导航:早期,它可能会尝试朝各个方向移动来绘制环境地图,但后来会根据学习到的 Q 值优先选择到目标的最短路径。
在实践中,Q-learning 对于具有离散状态和行动的环境效果很好,例如棋盘游戏或简单的导航任务。然而,它难以处理大型或连续的状态空间(例如,以像素作为输入的视频游戏),因为 Q-表变得难以存储。这个限制导致了深度 Q 网络 (DQN) 的发展,它用神经网络代替 Q-表来近似 Q 值。例如,DQN 已被用于玩 Atari 游戏,它接收原始像素作为输入并输出每个可能的操纵杆行动的 Q 值。虽然 Q-learning 是基础,但在复杂场景中通常需要像 Double Q-learning(用于减少对价值的过高估计)或优先经验回放(用于优先处理重要过渡)这样的扩展。