强化学习中的策略是什么?
What is a policy in reinforcement learning?
我见过这样的话:
A policy defines the learning agent's way of behaving at a given time. Roughly
speaking, a policy is a mapping from perceived states of the environment to actions to be taken when in those states.
但还是没完全看懂。强化学习中的策略到底是什么?
这个定义是正确的,虽然如果你是第一次看到它,但不是很明显。让我这样说吧:一个策略就是一个代理的策略。
例如,想象一个机器人穿过房间的世界,任务是到达目标点 (x, y),并在那里获得奖励。这里:
- 一个房间就是一个环境
- 机器人的当前位置是状态
A policy 是代理为完成此任务所做的工作:
- 愚蠢的机器人只是随机四处游荡,直到它们意外地出现在正确的地方(策略 #1)
- 出于某种原因,其他人可能会学会沿着大部分路线(政策 #2)沿着墙壁走
- 智能机器人在 "head" 中规划路线并直奔目标(策略 #3)
显然,有些策略比其他策略更好,有多种方法可以评估它们,即状态值函数和动作值函数。 RL 的目标是学习最佳策略。现在定义应该更有意义了(注意在上下文中时间更好地理解为状态):
策略定义学习代理在给定时间的行为方式。
正式
更正式地说,我们应该首先将马尔可夫决策过程(MDP)定义为元组(S
,A
,P
, R
、y
),其中:
S
是状态的有限集
A
是一组有限的动作
P
是一个状态转移概率矩阵(每个当前状态和每个动作结束在一个状态的概率)
R
是奖励函数,给定一个状态和一个动作
y
是折扣系数,在0到1之间
然后,策略 π
是给定状态下动作的概率分布。这是当代理处于特定状态时每个动作的可能性(当然,我在这里跳过了很多细节)。此定义对应于您定义的第二部分。
我强烈推荐 David Silver's RL course 在 YouTube 上播放。前两节课特别关注 MDP 和政策。
简而言之,在最简单的情况下,策略 π
是一个将状态 s
和 returns 动作 a
作为输入的函数。即:π(s) → a
这样,代理通常使用策略来决定在给定状态 s
时应执行什么操作 a
。
有时,策略可以是随机而不是确定性。在这种情况下,策略 returns 不是返回一个唯一的动作 a
,而是一组动作的概率分布。
一般来说,任何 RL 算法的目标都是学习实现特定目标的最优策略。
这是一个简洁的答案:策略是代理的'thinking'。它是当您处于某种状态 s
时,代理现在应该采取哪个操作 a
的映射?您可以将策略视为查找 table:
state----action----probability/'goodness' of taking the action
1 1 0.6
1 2 0.4
2 1 0.3
2 2 0.7
如果您处于状态 1,您将(假设采用贪婪策略)选择操作 1。如果您处于状态 2,您将选择操作 2。
我见过这样的话:
A policy defines the learning agent's way of behaving at a given time. Roughly speaking, a policy is a mapping from perceived states of the environment to actions to be taken when in those states.
但还是没完全看懂。强化学习中的策略到底是什么?
这个定义是正确的,虽然如果你是第一次看到它,但不是很明显。让我这样说吧:一个策略就是一个代理的策略。
例如,想象一个机器人穿过房间的世界,任务是到达目标点 (x, y),并在那里获得奖励。这里:
- 一个房间就是一个环境
- 机器人的当前位置是状态
A policy 是代理为完成此任务所做的工作:
- 愚蠢的机器人只是随机四处游荡,直到它们意外地出现在正确的地方(策略 #1)
- 出于某种原因,其他人可能会学会沿着大部分路线(政策 #2)沿着墙壁走
- 智能机器人在 "head" 中规划路线并直奔目标(策略 #3)
显然,有些策略比其他策略更好,有多种方法可以评估它们,即状态值函数和动作值函数。 RL 的目标是学习最佳策略。现在定义应该更有意义了(注意在上下文中时间更好地理解为状态):
策略定义学习代理在给定时间的行为方式。
正式
更正式地说,我们应该首先将马尔可夫决策过程(MDP)定义为元组(S
,A
,P
, R
、y
),其中:
S
是状态的有限集A
是一组有限的动作P
是一个状态转移概率矩阵(每个当前状态和每个动作结束在一个状态的概率)R
是奖励函数,给定一个状态和一个动作y
是折扣系数,在0到1之间
然后,策略 π
是给定状态下动作的概率分布。这是当代理处于特定状态时每个动作的可能性(当然,我在这里跳过了很多细节)。此定义对应于您定义的第二部分。
我强烈推荐 David Silver's RL course 在 YouTube 上播放。前两节课特别关注 MDP 和政策。
简而言之,在最简单的情况下,策略 π
是一个将状态 s
和 returns 动作 a
作为输入的函数。即:π(s) → a
这样,代理通常使用策略来决定在给定状态 s
时应执行什么操作 a
。
有时,策略可以是随机而不是确定性。在这种情况下,策略 returns 不是返回一个唯一的动作 a
,而是一组动作的概率分布。
一般来说,任何 RL 算法的目标都是学习实现特定目标的最优策略。
这是一个简洁的答案:策略是代理的'thinking'。它是当您处于某种状态 s
时,代理现在应该采取哪个操作 a
的映射?您可以将策略视为查找 table:
state----action----probability/'goodness' of taking the action
1 1 0.6
1 2 0.4
2 1 0.3
2 2 0.7
如果您处于状态 1,您将(假设采用贪婪策略)选择操作 1。如果您处于状态 2,您将选择操作 2。