Temporal-Difference (TD) 学习与 Temporal-Difference Error 详解
1. Temporal-Difference (TD) 学习概述
Temporal-Difference (TD) 学习是一种用于强化学习的算法,主要用于预测和控制。TD 学习结合了动态规划和蒙特卡罗方法的优点,通过估计某一状态的价值来提高学习效率。它的核心思想是通过实时更新来学习系统的状态价值,而不是等待最终结果才进行更新。这使得 TD 学习在处理大型问题时更加高效和灵活。
2. Temporal-Difference (TD) 学习的核心概念
TD 学习通过迭代更新状态价值函数来进行学习。设想一个智能体在一个马尔科夫决策过程(MDP)中进行操作,目标是最大化累计奖励。
TD 学习通过以下方式来实现:
状态价值函数:用 ( V(s) ) 表示状态 (
) 的价值,即从状态 (
) 开始,未来能获得的期望回报。
策略:用
表示智能体的行为策略,即在每个状态下选择哪个动作的概率分布。
奖励:用 (
) 表示在状态 (
) 下采取动作 (
) 后得到的即时奖励。
3. Temporal-Difference Error (TD Error) 的定义
TD Error 是 TD 学习中用于更新价值函数的核心指标。TD Error 衡量的是当前状态价值预测和实际观察到的回报之间的误差。
其公式为:
其中:
是在时间步
的 TD Error。
是在时间步
所获得的即时奖励。
是折扣因子,范围为 ([0, 1]),用于表示未来奖励的重要性。
是下一状态
的预测价值。
是当前状态
的预测价值。
4. TD 学习算法
TD 学习的目标是通过不断调整状态价值函数
来最小化 TD Error。一般的 TD 学习算法是以下形式:
更新公式:在每一步更新价值函数:
其中
是学习率,控制每次更新的步长大小。
5. TD 学习的具体示例
考虑一个简单的迷宫问题,智能体的目标是从起点到达终点。假设智能体在每个状态下都有一个预测的价值
,并根据策略选择动作。在某一步,智能体从状态
移动到状态
,获得奖励
。
假设在当前状态
下,智能体预计的价值为
= 10,而它实际获得的奖励是
= 5。在接下来的状态
,智能体预计的价值为
= 8。那么 TD Error 就是:
如果,
则:
根据 TD Error,更新当前状态
的价值:
假设学习率 (
),则:
通过这种方式,价值函数 ( V(s_t) ) 会逐渐调整,更准确地反映实际获得的奖励。
6. 总结
Temporal-Difference (TD) 学习通过实时更新状态价值函数,结合了动态规划和蒙特卡罗方法的优点,能够在实际应用中高效地进行学习。
TD Error 是 TD 学习中的核心量,用于衡量当前预测与实际观察之间的误差,从而指导价值函数的更新。
通过不断更新和修正,TD 学习能够逐步提高策略的效果,使智能体在复杂的环境中更好地进行决策和行动。