【精选优质专栏推荐】


每个专栏均配有案例与图文讲解,循序渐进,适合新手与进阶学习者,欢迎订阅。

在这里插入图片描述

引言

与如今广受关注的人工智能(AI)子领域(如机器学习、深度学习和自然语言处理)相比,强化学习是一个相对不那么为人熟知的领域。然而,它在解决复杂决策问题方面潜力巨大——在这些问题中,被称为“智能体”的软件实体必须通过与环境的交互来学习解决问题。

强化学习使智能体能够通过经验学习,通过执行一系列基于决策的动作来最大化长期累积奖励。强化学习中最常用的算法之一是 Q-learning(Q 学习),它研究智能体如何在不同状态下学习动作的价值,而无需完整了解其所处环境的模型。

本文将以清晰、生动的方式对 Q-learning 及其原理、算法的基本特性进行简单的介绍。

Q-Learning 基础

Q-learning 属于强化学习算法家族中的一种——时序差分学习(Temporal Difference Learning, TD Learning)。在 TD 学习中,智能体通过重复采样直接从经验中学习价值函数,同时进行自助更新(bootstrapping)——即根据已学到的估计值更新当前的价值,而不必等待最终结果,从而不需要对环境或未来奖励有完整了解。

举个例子:假设一个仓库配送机器人必须学习从入口到各个储物箱的最优路径,同时避开障碍并尽量减少行驶时间。通过 TD 学习,机器人会采样可能的动作(如向前移动、向左移动等),在仓库中导航:选择方向、观察路径结果,并根据每次移动获得时间或惩罚反馈。此外,它还会自助更新——根据下一步位置的估计价值来调整当前位置的价值,而不必等到整个配送路径结束后再评估每个决策的好坏。

Q-learning 是一种强化学习方法,它无需环境模型,仅通过尝试不同选项并学习结果,就能帮助智能体找出获得最大奖励的最佳决策。“Q”代表 quality(质量),目标是学习在不同情况下哪一系列动作最有价值。与需要事先了解“世界”(例如上例中的仓库)的其他方法不同,Q-learning 直接从经验中学习。同时,它不像一些算法仅依赖当前策略,而是更灵活——通过比较不同策略的结果进行更广泛的学习。

一个简单的例子:仓库网格

下面的例子以直观、无复杂数学的方式说明 Q-learning 的工作原理。若想深入理解 Q-learning 背后的数学,如贝尔曼方程,可参考相关文献。

回到配送机器人在小仓库中工作的场景,假设仓库用 3×3 的网格表示位置,如下:

[ A ]   [ B ]   [ C ]
[ D ]   [ E ]   [ F ]
[ G ]   [ H ]  [ Goal ]

假设机器人从 A 出发,目标是到达右下角的 “Goal” 位置。每移动一步都耗费时间,因此会产生小的惩罚或损失。此外,由于设施特点和问题需求,撞墙或错误移动会被惩罚,而到达目标会获得奖励。

在每个步骤和位置(状态),机器人可以尝试四个动作之一:向上、向下、向右、向左移动。

Q-learning 的核心元素是 查找表(lookup table),类似一本记事本,机器人在其中记录每个状态下各动作的奖励。奖励以数值表示,数值越高越好,并且会动态更新:机器人根据经验不断迭代更新这些数值。假设经过几次尝试,机器人学到了一些状态下动作奖励如下:

位置 向右 向下 向左 向上
A 0.1 0.3
B 0.0 0.1 0.2
E 0.4 0.7 0.2 0.1
H 1.0 0.5 0.3

需要说明的是,最初机器人一无所知,所有奖励值默认为零或其他初始化值。它必须从随机尝试动作开始,然后观察结果,逐步建立对环境的近似认知:

  • 假设机器人从 A 出发,尝试向下走到 D。如果那条路拥挤或障碍多,可能耗时较长,不是最优选择。
  • 如果后来机器人从 A 向右走到 B,再向下到 E,然后到 H,最终在合理时间内到达 Goal 状态,它可能会更新表中对应状态-动作的奖励值,标记这些选择较优。

在 Q-learning 中,不仅考虑当前动作的短期效果,还会在一定程度上考虑后续动作的影响。总之,每次尝试路径,机器人都会略微更新表中的数值,根据经验逐步优化。

长期来看,通过这种行为,智能体会不断从经验中学习,更新 Q 表 来反映产生更好结果的行动路径。它不仅学会从起始位置的最佳路线,还会学会避免错误路径,如撞墙或陷入角落等,且无需完整的环境模型,也就是无需仓库的详细地图。

总结

Q-learning 类似于通过反复玩游戏来学习:不断做选择、记住哪些结果更好,并逐步将最初的随机选择调整为更智能的决策以提升结果。本文提供了对强化学习中 Q-learning 的温和、无数学公式的介绍,这一算法曾是该领域的重要突破之一。

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐