机器学习:理解强化学习背后的数学

机器学习:理解强化学习背后的数学

强化学习的价值函数

强化学习(reinforcement learning),又称再励学习、评价学习,是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。

本文不是关于强化学习(RL)的教学,而是关于解释背后的数学。因此,它假设您已经知道RL,但在掌握数学方程式方面存在一些困难。

如果你不知道什么是RL,那么你最好先阅读相关文档。

我们将逐步探讨上述等式产生的方式和原因。

状态与奖励

让我们考虑一系列状态S1,S2,...,Sn,它们每个都有某种奖励R1,R2,...,Rn。我们知道agent(例如:robot)可以最大化其总奖励。意味着它将通过提供最大奖励的状态。

假设agent 处于状态S1,应该有一种方法让它知道什么是最大化其奖励的最佳路径。

出于这个原因,除了每个状态的奖励之外,我们还要存储另一个值V,它代表每个状态所连接的其他状态的奖励。

例如,V1表示与S1相连的所有状态的总回报。奖励R1不是V1的一部分。但是R2在S2处是V1在S1处的一部分。

机器学习:理解强化学习背后的数学

例如,V1表示与S1相连的所有状态的总回报。奖励R1不是V1的一部分。但是R2在S2处是V1在S1处的一部分。

存储在状态s的值V(s)由称为“值函数(Value function)”的函数计算。Value函数计算未来的奖励。

请注意,最终状态也称为终端状态没有值V(V = 0),因为没有未来状态且没有未来奖励。

Value函数在计算未来回报时也使用depreciation 。

这类似于在金融领域所做的,你将在两年后收到的1000美元不如你今天收到的1000美元。为了表达这个想法,我们1000美元乘以一定的折现系数(0≤≤1)的幂t,t是时间步骤,直到你收到的数量payment.

例如,如果你希望在两年内1000美元折现系数是0.9,那么今天的价值1000美元的1000 * 0.9²= 810美元

为什么这在RL中很重要?

假设最终状态S(n)有R(n)=1,所有的中间状态S(i)都有R(i)=0,把R(n)乘以每个状态的幂t,就会得到前一个状态下的V。这将创建一个从起点到终点的V递增序列,这向代理提供了一个线索,在这个线索上,代理将最大化其回报。

到目前为止,我们已经确定每个状态都有一个回报R(可能为零)和一个代表未来回报的价值V。换句话说,V(s)是未来来自其他状态的奖励的函数。

从数学上讲,它是这样写的

机器学习:理解强化学习背后的数学

其中St是直接或间接连接到S的所有状态

然而,根据下一个状态而不是仅仅根据奖励R来表达V(s)更容易,这有利于在我们知道下一个状态的V时计算当前状态的V,而不是总结所有所有未来状态的奖励。

公式变为V(s)= r +γ* V(s')

到目前为止,我们假设所有状态都是按顺序连接的,但是很少这种情况,每个状态都可以连接到代理可能移动到的多个其他状态。

假设S1连接到S2,S3,S4和S5,S1处的值V应该反映这种情况。

机器学习:理解强化学习背后的数学

V(S1)=(R1 + R2 + R4 + R5 +γ*(V2 + V3 + V4 + V5))/ 4。

我们这里说的是V(S1)是它与之相连的所有状态值的平均值。

记住,每一个V都包含未来奖励的价值,所以通过对邻居的平均,我们也能知道他们之后会发生什么。

这个公式表明,从S1到S2, S3, S4和S5都不需要任何特定的状态,但是这是不准确的,因为我们知道每个相邻的状态都有一定的概率这些概率可能不一样。例如,有50%的机会去S2, 30%的机会去S3, 10%的机会去S4和S5。

我们把这些概率分别叫做p2, p3, p4, p5。

因此V(S1)变为V(S1)= p2 * R2 + p3 * R3 + p4 * R4 + p5 * R5 +γ*(p2 * V2 + p3 * V3 + p4 * V4 + p5 * V5)。不出所料,这些概率称为转移概率,因为它们表示从一种状态转换到另一种状态的可能性。

我们也可以将它们表示为矩阵P,其中Pij是从状态i转换到状态j的概率。当没有可能的转换时,Pij将为零。

让我们安排公式变得更有吸引力:

V(S1)= p2 *(R2 +γ* V2)+ p3 *(R3 +γ* V3)+ p4(R4 +γ* V4)+ p5 *(R5 +γ* V5)。

或者采用以下形式:

机器学习:理解强化学习背后的数学

其中P(Sk | S)是达到状态Sk的概率,知道我们在S1。

在一般形式中,我们可以将其写为:

机器学习:理解强化学习背后的数学

请注意,k遍历所有状态,这意味着我们正在对所有状态求和!我们之前说过的转移概率矩阵,给出了个体从一个状态转换的可能性。由于不是所有的状态都与其他所有的状态相连接,所以这个矩阵是稀疏的,并且包含许多0。

示例让我们考虑前面的例子,其中S1连接到S2,S3,S4和S5,也假设状态总数是100,所以我们有S1到S100。做Σ(P(Sk | S)*(R(k)+γ* V(Sk)),其中k从2变为100,与从k = 2到5的和相同,因为对于所有k≥6P (SK | S)= 0。

随机奖励

奖励本身不是确定性的,这意味着你不能假设R在每个州都是准确的。实际上它是概率性的并且可以采用不同的值。

为了说明这一事实,考虑到你是一名弓箭手并且你瞄准目标,我们假设只有三种状态,S1(瞄准),S2(命中),S3(未命中)。

你肯定知道目标是一堆同心圆,你射中的内圈越多,奖励越多。

机器学习:理解强化学习背后的数学

假设你是一个相当优秀的射手,并且你有80%的几率达到目标,所以20%的风险让你错过它。击中中心的奖励为100,外圈为50,最外圈奖励为10.击中中心的概率为10%,击中外圈为30%,击打最外圈为60%。最后我们还假设完全未击中目标将导致-50。

机器学习:理解强化学习背后的数学

所以状态S1的值是:

V(S1) = .8*(.1*100 + .3*50 + .6*10 + *V(S2)) + .2*(1*-50 +* V(S3))

由于S2和S3是终端状态,因此V(S1)和V(S2)为零,但是上面提到它们是为了不断地提醒我们一般的公式。

您可以清楚地看到每个状态的奖励乘以各自的概率然后相加(.1 * 100 + .3 * 50 + .6 * 10)和(1 * -50) ,每个状态都乘以导致它的转移概率 .8 *(.1 * 100 + .3 * 50 + .6 * 10 +γ* V(S2))和 .2 *(1 * -50 +γ* V(S3))。

从上面我们可以推导出通用公式:

机器学习:理解强化学习背后的数学

需要澄清的是,p(si, rj|s)的表达式,理解为从状态s转换到具有奖励rj的si的概率。

例如,假设我们处于状态S1 ,p(S2,100 | S1)被读作为进入S2(命中状态)的概率,奖励为100(击中中心)。答案是.8 * .1 = .08(8%)。

简单的替换si,rj,用s‘替换s,r替换R,你会得到:

机器学习:理解强化学习背后的数学

S是所有状态的集合,R是所有奖励的集合。

我们接下来将讨论action a和策略π。

行动(Actions )和策略(Policy)

到目前为止,我们已经说过,我们在状态之间的转换是随机的。例如,我们有20%的机会从S1移动到S2, 80%的机会从S1移动到S3。但是我们没有说这是怎么做到的!这种转变会带来什么反应?答案就是当代理处于某种状态时,它所做的某种行为。这个操作可能不是唯一的,在给定的状态可能有几个可用的。

到目前为止,我们假设有一个隐含的动作叫做“前进”或“做某事”,它会以一定的概率将我们从一个状态带到另一个状态。

好像随机奖励还不够,行动也不确定!

您无法保证如果您执行某项操作,您将获得100%的成功。

让我们以射手为例,你的目标是击中中心并得到100分,所以你瞄准中心并射箭。然而,有很多因素可能会让你错过。可能你没有足够的注意力,或者在释放箭头时你的手颤抖,或者它有风。所有这些因素都会影响箭头的轨迹。所以你可能会击中中心或其中一个外圈,或者你可能会完全错过目标!

让我们考虑另一个例子,你在网格上控制一个机器人。假设使用遥控器命令机器人向前移动。

动作是“向前移动”,期望状态是机器人前面的方块。然而,遥控器可能会坏掉,或者出现一些干扰,或者机器人的轮子位置不合适,机器人不是向前移动,而是向右、左或向后移动。

最重要的是,在执行动作a后从状态s进入状态s'并获得奖励r的概率不是100%。这就是为什么我们写p(s',r | s,a),这是在给定状态s和动作a的情况下通过奖励r转换到状态s'的概率。

如前所述,每个州都可能有几项行动可用。例如,机器人可能在每个状态(或方形)中“前进”,“左转”,“右转”,“后退”。

寻找猎物的猎人可能会采取不同的行动,例如“射枪”,“射箭”或“投掷长矛”,这些行动中的每一个都会带来不同的奖励。

决定在某种状态下使用哪种行为的策略称为策略π。

因此,猎人有可能使用他的枪,使用他的弓的另一个概率和使用他的矛的第三概率。同样对于机器人来说,它具有“向前走”,“向左走”,“向右走”,“向后走”的一定概率。

像往常一样,我们通过平均所有这些可能性来量化V(s)中的这个。

这给出了以下内容:

机器学习:理解强化学习背后的数学

π(A | S) 是一个使用动作的概率一个遵循这个策略 π因为我们正处于状态s。Vπ(s)是应用策略 π时状态 s的值。这里使用f(a,s,r)作为我们在随机奖励部分中建立的值函数V(s)的简写,并添加了使用 p(s',r | s,a)的顺序反映对行动的依赖 a。采用 F(A,S,R)是只是意味着以减轻复杂性和强调的作用, π(A | S) 。

所以最后在扩展f(a,s,r)后,我们得到公式:

机器学习:理解强化学习背后的数学

相关推荐