无模型学习
无模型学习
无模型学习(Model-Free Learning)是一类无需了解环境模型(转移函数 和奖励函数 )的强化学习算法。代理直接通过与环境的交互经验来学习价值函数或策略。
无模型学习主要分为两大类:
- 被动强化学习 (Passive Reinforcement Learning):代理遵循一个固定的策略 ,并学习在该策略下各状态的价值。直接评估和时序差分学习属于此类。
- 主动强化学习 (Active Reinforcement Learning):代理在学习过程中利用获得的反馈来不断更新和优化其策略,最终目标是找到最优策略。Q学习属于此类。
1. 直接评估
直接评估(Direct Evaluation)是一种最简单的被动强化学习方法。它通过在固定策略 下运行多个回合(episodes)来收集经验。
该方法的核心思想是:
- 记录访问次数:统计每个状态 被访问的次数。
- 累积总回报:记录从每个状态 开始直到回合结束所获得的总效用。
- 计算平均值:通过将总效用除以访问次数来估计状态的价值。
状态价值的估计公式如下:
尽管直接评估最终能够收敛到真实的状态价值,但它存在一个显著缺点:收敛速度慢。因为它忽略了状态之间的转移信息,没有充分利用经验数据中蕴含的结构关系。
2. 时序差分学习
时序差分学习(Temporal Difference Learning, TD Learning)通过利用状态间的转移关系,解决了直接评估收敛慢的问题。它不再等到一个回合结束后才进行学习,而是在每一步经验后都进行价值更新。
TD学习的核心是使用后续状态的当前价值估计来更新当前状态的价值。
- 获取样本:在状态 执行策略 后,转移到新状态 并获得奖励 。我们构造一个样本值,作为 的新估计:
- 价值更新:使用指数移动平均(exponential moving average)将新样本融合到现有的价值估计中。
其中, 是学习率(learning rate),用于控制新旧估计的权重。
TD学习的优越性体现在:
- 即时学习:在每个时间步都利用转移信息进行学习。
- 指数衰减权重:更新规则的展开形式表明,越早的样本权重越低,这有助于模型更快地适应基于新策略的估计。
- 更快的收敛速度:相比直接评估,能用更少的回合数收敛到真实的状态价值。
3. Q学习
直接评估和TD学习都只能学习一个固定策略下的状态价值。为了找到最优策略,我们还需要知道Q值。Q学习(Q-Learning)通过直接学习Q值,彻底摆脱了对模型( 和 )的依赖,是一种完全无模型的主动强化学习算法。
Q学习的更新过程与TD学习类似,但其目标是Q函数。
- 获取Q值样本:从状态 采取行动 ,转移到 并获得奖励 。Q值样本的计算利用了下一个状态所能带来的最大未来收益。
- Q值更新:同样使用指数移动平均来更新Q值。
Q学习的革命性在于它是一种**离策略(Off-Policy)**算法。这意味着,即使代理采取的是次优甚至随机的探索性动作,它依然能够学习到最优策略的Q值。只要保证充分的探索,Q学习就能收敛到最优的Q函数
4. 近似Q学习
对于具有海量状态(如数百万个)的复杂问题,使用表格来存储所有Q值是不现实的。近似Q学习(Approximate Q-Learning)解决了这个问题,它不再为每个状态存储具体值,而是学习一个能够泛化到相似状态的函数。
其核心思想是基于特征的表示(Feature-Based Representation):
- 状态特征化:将每个状态 或状态-动作对 表示为一个特征向量 或 。
- 线性价值函数:Q值被表示为特征的线性组合,由一个权重向量 定义。
学习的目标不再是Q表,而是权重向量 。
- 计算差值 (Difference):计算当前估计与样本之间的差距。
- 权重更新:根据差值和特征值来调整权重。
近似Q学习的优势在于:
- 内存效率:只需存储一个权重向量,而不是一个巨大的Q表。
- 泛化能力:能够将从少数几个状态学到的知识推广到大量相似的、甚至从未访问过的状态。