乐趣区

关于人工智能:强化学习中的线性代数知识

作者 |Nathan Lambert
编译 |VK
起源 |Towards Data Science

线性代数的基本原理如何用于深度强化学习?答案是解决了马尔可夫决策过程时的迭代更新。

强化学习 (RL) 是一系列用于迭代性学习工作的智能办法。因为计算机科学是一个计算畛域,这种学习产生在状态向量、动作等以及转移矩阵上。状态和向量能够采纳不同的模式。当咱们思考通过某个线性系统传递一个向量变量,并失去一个相似的输入时,应该想到特征值。

本文将帮忙你了解在 RL 环境中解决工作的迭代办法(收敛到最优策略)。这个根底将反映一个零碎的特征向量和特征值。

回顾马尔科夫决策过程

马尔可夫决策过程 (MDPs) 是反对强化学习 (RL) 的随机模型。如果你相熟,你能够跳过这一部分。

定义

  • 状态集 $sin S。状态是代理程序所有可能的地位。
  • 一组动作 $a\in A$。动作是代理能够采取的所有可能动作的汇合。
  • 转移函数 T(s,a,s’)。T(s,a,s’)放弃 MDP 的不确定性。给定以后地位和给定动作,T 决定下一个状态呈现的频率。

  • 处分函数 R(s,a,s’)。最大化报酬总额是任何代理的指标。此函数阐明每个步骤可取得多少处分。通常,为激励疾速解决方案,每个步骤都会有大量的负处分 (老本),而在最终状态下会有较大的侧面(胜利的工作) 或负面 (失败的工作) 处分。
  • 开始状态 s0,兴许是完结状态。

重要的属性

MDP 有两个重要的属性,状态的 和随机节点的 q 值

  • 状态值: 状态值是从状态开始的处分的最优递归和。如果机器人在火坑里,在宝石旁边,或者在沙发上,状态值会有很大的不同。
  • 状态 - 动作对 (state- action pair) 的 q 值:q 值是与状态 - 动作对相干的折扣处分的最优和。一个状态的 q 值是由一个动作决定的, 所以如果方向指向火坑的外部或内部,q 值会有很大的变动!

这两个值通过通过互相递归和 Bellman 更新相关联。


Bellman 更新

Richard E. Bellman 是一位数学家,奠定了古代管制和优化实践的根底。通过 recursive one-step 方程、Bellman 更新方程,能够无效地求解大型优化问题。通过递归 Bellman 更新,能够用动静布局建设优化或管制问题,这是一个创立更小、更易于计算解决的问题的过程。这个过程递归地从起点开始。

  1. Bellman 方程: 用动静布局公式化。
  2. 动静布局: 通过将优化问题分解成最优子结构来简化优化问题的过程。

在强化学习中,咱们应用 Bellman 更新过程来求解状态 - 动作空间的最优值和 q 值。这是从一个从给定的地位最终造成的预期将来处分总和。

在这里,咱们能够看到的所有公式。符号 (*) 示意最优的。公式有最佳动作决定的状态值,和一个 q 状态。求和均衡了拜访 T(s,a,s’)中的任何状态转移的概率和任何转移 R(s,a,s’)的处分,从而为状态操作空间的值创立一个全局映射。

这里的关键点是咱们用矩阵 (R, T) 乘以向量 (V,U) 来迭代地求出。这些值将从任何初始状态收敛,因为一个状态的值是由它们的近邻 s 决定的(马尔科夫)。

与强化学习的关系

以上这都是强化学习的内容,我断言了解算法所基于的假如和模型将比仅仅复制 OpenAI 中的 python 教程为你提供更好的根底。我领导过很多学生在 RL 工作,那些做得更多的人总是那些晓得正在产生什么,而后晓得如何利用它的人。

也就是说,这离在线 q -learning 只有一步之遥,在在线 q -learning 中,咱们用 T 和 R 的样本来进行 Bellman 更新,而不是显式地在方程中应用它们。Q-learning 是在 2015 年解决 Atari 游戏等问题的驰名算法。

线性代数

特征值

回忆一下,零碎 A 的一个特征值 - 特征向量对(λ,u)是一个标量和向量,公式如下

特征值和特征向量的益处在于,每个向量都能够写成其余特征向量的组合。而后,在离散系统中特征向量管制从无论什么初始状态的演变,因为任何初始向量能够组合成特征向量的线性组合。

随机矩阵和马尔可夫链

MDPs 与马尔科夫链十分靠近,但在结构上与马尔科夫链并不相同。马尔可夫链是由转移矩阵 P 决定的。概率矩阵的作用相似于对动作求和的转移矩阵 T(s,a,s’)。在马尔可夫链中,下一个状态由:

这个矩阵 P 有一些非凡的值, 你能够看到, 这是一个特征值等于 1 的特征值方程。为了失去一个特征值等于 1 的矩阵,所有的列之和必须等于 1。

咱们当初在 RL 中寻找的是,咱们的解的演变如何与概率分布的收敛相干? 咱们通过为 V 和 Q 制订线性算子 (矩阵) 的迭代运算符 B。咱们应用的值和 q 值的向量而不是特征向量,他们会收敛于特征向量, 所以能够看出特征向量理论管制了整个零碎。

B,像一个线性变换的特征向量, 特征值 λ = 1。

任何初值散布都收敛于特色空间的形态。这个例子并没有显示 Bellman 更新的确切特征值,然而当这些值递归更新时,图片显示了空间的形态是如何演变的。一开始,这些值是齐全未知的,然而随着学习的呈现,这些已知的值会逐步收敛,以与零碎齐全匹配。

Bellman 更新

到目前为止,咱们晓得如果咱们能够用更简略的模式示意 Bellman 更新,那么将会呈现一个不便的构造。咱们如何将 Q 的更新示意为一个简略的更新方程? 咱们从一个 q 迭代方程开始。

MDP 的 Q - 迭代.

要实现这种转变,须要几个小步骤。

这样就将咱们的零碎移向一个线性算子(矩阵)

i)让咱们把一些术语从新表述为个别模式

更新的前半部分,R 和 T 的总和,是一个明确的处分数字; 咱们称之为 R(s),接下来,咱们将转换的总和转换为一个概率矩阵(和一个马尔可夫矩阵匹配,十分不便)。此外,这将导致下一步,U 的生成。

ii)让咱们把它变成一个向量方程。

咱们最感兴趣的是 MDP 的 U 是如何持续演进的。U 隐含着值或 q 值。咱们能够简略地把 Q 改写成 U,而不须要做太多扭转,但这意味着咱们假如的策略是固定的。

重要的是要记住,即便对于一个多维的物理零碎——如果咱们将所有测量到的状态叠加成一个长数组,状态的 U 也是一个向量。一个固定的策略不会扭转收敛性,它只是意味着咱们必须从新拜访它来学习如何迭代地取得一个策略。

iii)假如策略是固定的

如果你假如一个固定的策略,那么 a 的最大值就隐没了。最大化算符显著是非线性的,然而在线性代数中有一些模式是特征向量加上一个额定的向量(狭义特征向量)。

下面的这个等式是对于 U 的 Bellman 更新的个别模式。咱们想要一个线性算子 B,而后咱们能够看到这是一个特征值演变方程。它看起来有点不同,但这是咱们最终想要的模式,减去几个线性代数断言,所以咱们有了 Bellman 更新。

在计算上,咱们能够失去咱们想要的特征向量,因为在这个过程中所做的假如,所以在剖析上这样做是有挑战性的,

结尾

线性算子向你展现了某些离散的线性系统是如何推导的——而咱们在强化学习中应用的环境就是遵循这种构造。

咱们收集的数据的特征值和特征向量能够示意一个 RL 问题的潜在值空间。

变量替换、线性变换、在线 q -learning(而不是这里的 q -iteration)中的拟合,以及更多的细节将在当前的文章中探讨。

原文链接:https://towardsdatascience.co…

欢送关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官网文档:
http://sklearn123.com/

欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/

退出移动版