词汇表
词汇表
这是一个社区创建的词汇表。欢迎投稿!
智能体
智能体学会通过反复试验做出决定,并受到周围环境的奖励和惩罚。
环境
环境是一个模拟世界,智能体可以在其中通过交互来学习。
马尔可夫性质
这意味着我们的智能体采取的行动仅以当前状态为条件,与过去的状态和行动无关。
观察/状态
- 状态:对世界状态的完整描述。
- 观测:对环境/世界状态的部分描述。
动作
- 离散动作:有限数量的动作,例如向左、向右、向上和向下。
- 连续动作:动作有无限的可能性;例如,在自动驾驶汽车的情况下,驾驶场景有无限可能的动作发生。
奖励和折扣
- 奖励:RL 中的基本元素。告诉智能体所采取的行动是好是坏。
- RL 算法专注于最大化累积奖励。
- 奖励假设:RL 问题可以表述为(累积)回报的最大化。
- 执行折扣是因为在开始时获得的奖励更有可能发生,因为它们比长期奖励更可预测。
任务
- 回合制的:有起点和终点。
- 持续的:有起点但没有终点。
探索与利用的权衡
- 探索:就是通过尝试随机行动并从环境中接收反馈/回报/奖励来探索环境。
- 利用:利用我们对环境的了解以获得最大奖励。
- 探索-利用权衡:它平衡了我们想要探索环境的程度和我们想要利用我们对环境的了解程度的程度。
策略
- 策略:它被称为智能体的大脑。它告诉我们在给定状态下采取什么行动。
- 最优策略:当智能体根据最优策略采取动作时,会最大化期望回报。它是通过训练学习的。
基于策略的方法:
- 一种解决 RL 问题的方法。
- 在这种方法中,直接学习策略。
- 将每个状态映射到该状态下的最佳对应动作。或者在该状态下可能的动作集合的概率分布。
基于价值的方法:
- 另一种解决强化学习问题的方法。
- 在这里,我们没有训练策略,而是训练了一个价值函数,它将每个状态映射到处于该状态的期望值。
寻找最优策略的方法
- 基于策略的方法。 策略通常用神经网络来训练,以选择在给定状态下采取的动作。在这种情况下,是神经网络输出了智能体应该采取的动作,而不是使用价值函数。根据环境给出的经验,神经网络会重新调整,并提供更好的动作。
- 基于价值的方法。 在这种情况下,一个价值函数被训练来输出一个状态或一个状态-动作对的价值,这个价值将代表我们的策略。然而,这个价值并没有定义智能体应该采取什么动作。相反,我们需要指定智能体在给定价值函数的输出时的行为。例如,我们可以决定采用一个策略,其总是采取能够获得最大奖励的动作(贪心策略)。总之,策略是一个贪心策略(或者用户采取的任何决定),它使用价值函数的值来决定采取什么动作。
在基于价值的方法中,我们可以找到两种主要的策略
- 状态价值函数。 对于每个状态,状态价值函数是如果智能体从当前状态开始,遵循该策略直到结束时的期望回报。
- 动作价值函数。 与状态价值函数相比,动作价值函数计算的是在智能体从某一状态出发,执行某一动作,然后永远遵循该策略后的期望回报。
Epsilon-greedy 策略:
- 常用的强化学习探索策略,涉及平衡探索和利用。
- 以 1-epsilon 的概率选择奖励最高的动作。
- 以 epsilon 的概率选择一个随机动作。
- Epsilon 通常随着时间减少,以偏向利用。
贪心策略:
- 涉及总是选择预期会导致最高奖励的动作,基于当前对环境的了解。(只有利用)
- 总是选择期望奖励最高的动作。
- 不包括任何探索。
- 在有不确定性或未知最优动作的环境中可能是不利的。
蒙特卡洛和时序差分学习策略
-
蒙特卡洛(MC): 在回合结束时进行学习。使用蒙特卡洛方法,我们等待整个回合结束后,再根据完整的回合来更新价值函数(或策略函数)。
-
时序差分(TD): 在每一步进行学习。使用时序差分学习,我们在每一步都更新价值函数(或策略函数),而无需等待整个回合结束。
-
表格型方法: 针对状态和动作空间足够小的问题类型,去用数组或表格近似价值函数的方法。
Q-learning 是一个表格型方法的例子,其表格被用于表示不同的状态-动作对的值。 -
深度 Q-learning : 是一种给定一个状态使用神经网络去估计该状态下每个可能动作的不同 Q 值的方法。其通常用来解决不适用表格型方法 Q-learning 的观测空间过大的情况。
-
时序限制: 当环境状态以帧的形式表示其实很困难。一个帧自己不提供时序信息。为了获取时序信息我们需要一堆帧堆在一起。
-
深度 Q-learning 的部分:
- 采样: 执行动作并且把观测到的经验储存在回放内存中。
- 训练: 元组中的一小批会被随机选出丢入神经网络用梯度下降去更新网络。
-
稳定深度 Q-learning 的方法:
-
经验回放: 创建一个回放内存来保存可以在训练期间重复使用的经验样本。
这使得智能体可以从同样的经验中多次学习。并且避免了在新环境交互下忘记之前的行为。在回放缓冲区中的随机采样移除了观测序列的相关性并且阻止了动作价值的震荡或爆炸。 -
固定 Q 目标: 为了计算 Q 目标 我们需要通过贝尔曼方程估计下一个状态 Q 值 。这里有一个问题,同样的网络权重计算 Q 目标 和 Q 值。这意味着每一个时间步我们确定 Q 值, Q 目标 同样也会跟着移动。为了避免这种事情发生,一个单独的固定参数的网络去估计时序差分目标。目标网络通过我们的在每 C 步复制深度 Q 网络的参数进行更新。
-
双 DQN: 一种用于解决 Q 值高估的方法。该方法使用两个网络将动作选择与目标值生成解耦:
-DQN 网络 为下一个状态挑选最佳动作(有着最高 Q 值 的动作)
-目标网络 计算下一个状态采用该动作的 目标 Q 值。
这种方法减少了 Q 值 的高估,它帮助我们更快训练和更稳定学习。
-
-
深度 Q-learning(Deep Q-Learning): 一种基于价值的深度强化学习算法,使用深度神经网络来近似给定状态下动作的Q值。深度Q学习的目标是通过学习动作值来找到最大化预期累积奖励的最优策略。
-
基于价值的方法(Value-based methods): 强化学习方法,估计价值函数作为找到最优策略的中间步骤。
-
基于策略的方法(Policy-based methods): 强化学习方法,直接学习近似最优策略,而不学习价值函数。在实践中,它们输出动作的概率分布。
使用基于策略梯度方法相比基于价值的方法的好处包括:
- 集成的简单性:无需存储动作值;
- 学习随机策略的能力:代理探索状态空间时不总是采取相同的轨迹,避免了感知别名问题;
- 在高维和连续动作空间中的有效性;以及
- 改进的收敛性能。
-
策略梯度(Policy Gradient): 基于策略方法的一个子集,其目标是使用梯度上升来最大化参数化策略的性能。策略梯度的目标是通过调整策略来控制动作的概率分布,使得好的动作(最大化回报的动作)在未来更频繁地被采样。
-
蒙特卡罗强化(Monte Carlo Reinforce): 一种策略梯度算法,使用整个剧集的估计回报来更新策略参数。