时序差分法和Q-learning 的概念区分

237 阅读2分钟

时序差分算法(Temporal Difference, TD)和Q-learning 都是强化学习中的两种方法,虽然它们有很多相似之处,但它们并不是完全相同的。

时序差分算法(TD) 时序差分算法结合了蒙特卡罗方法和动态规划的优点。它通过每一步的经验来更新价值函数,而不是等到一个完整的序列结束。TD算法的核心更新公式为:

𝑉 ( 𝑠 ) ← 𝑉 ( 𝑠 ) + 𝛼 [ 𝑟 + 𝛾 𝑉 ( 𝑠 ′ ) − 𝑉 ( 𝑠 ) ] V(s)←V(s)+α[r+γV(s ′ )−V(s)]

其中:

𝑉 ( 𝑠 ) V(s) 是状态 𝑠 s 的价值估计。 𝛼 α 是学习率。 𝑟 r 是当前状态 𝑠 s 下采取动作后的即时奖励。 𝛾 γ 是折扣因子。 𝑉 ( 𝑠 ′ ) V(s ′ ) 是下一状态 𝑠 ′ s ′ 的价值估计。 Q-learning Q-learning 是一种基于时序差分的无模型强化学习算法。它直接学习动作价值函数 𝑄 ( 𝑠 , 𝑎 ) Q(s,a),即在给定状态 𝑠 s 下采取动作 𝑎 a 的价值估计。Q-learning 的更新公式为:

𝑄 ( 𝑠 , 𝑎 ) ← 𝑄 ( 𝑠 , 𝑎 ) + 𝛼 [ 𝑟 + 𝛾 max ⁡ 𝑎 ′ 𝑄 ( 𝑠 ′ , 𝑎 ′ ) − 𝑄 ( 𝑠 , 𝑎 ) ] Q(s,a)←Q(s,a)+α[r+γmax a ′

​ Q(s ′ ,a ′ )−Q(s,a)]

其中:

𝑄 ( 𝑠 , 𝑎 ) Q(s,a) 是状态 𝑠 s 下采取动作 𝑎 a 的价值估计。 𝛼 α 是学习率。 𝑟 r 是当前状态 𝑠 s 下采取动作后的即时奖励。 𝛾 γ 是折扣因子。 max ⁡ 𝑎 ′ 𝑄 ( 𝑠 ′ , 𝑎 ′ ) max a ′

​ Q(s ′ ,a ′ ) 是下一状态 𝑠 ′ s ′ 下所有可能动作的最大价值估计。 主要区别 目标函数:

TD算法更新状态价值 𝑉 ( 𝑠 ) V(s)。 Q-learning 更新状态-动作价值 𝑄 ( 𝑠 , 𝑎 ) Q(s,a)。 应用场景:

TD算法通常用于策略评估(Policy Evaluation),即在给定策略下估计状态值。 Q-learning用于策略改进(Policy Improvement),即通过估计状态-动作值来找到最优策略。 更新方式:

TD算法更新的是状态值 𝑉 ( 𝑠 ) V(s),使用的是实际经历的转移。 Q-learning 更新的是状态-动作值 𝑄 ( 𝑠 , 𝑎 ) Q(s,a),并且通过最大化未来价值来更新当前值。 虽然它们都是基于时序差分的更新机制,但由于更新目标和应用场景的不同,它们被用于不同的强化学习任务中。