以最简单的形式定义人工智能(AI),是使机器变得智能的一种技术工具。由于智能的核心是学习,因此机器学习是人工智能的核心子领域。深度学习是机器学习的一个子领域,以解决之前机器学习的限制性问题。由于在各个领域都获得了可观的成效,人工智能在过去的几年中普遍获得了突出的地位。这导致物理学家将注意力集中在了AI这个工具上。他们的目标是更好的理解和丰富他们的直觉。这篇评论文章旨在补充先前提出的方法,以弥合人工智能与物理学之间的鸿沟,并向前迈出了重要的一步,以过滤出由此类漏洞带来的“Babelian” 冲突。这首先需要具备有关通用AI的基础知识。为此,审查的主要重点应放在成为人工神经网络的深度学习模型上。她们是可以通过不同的学习过程进行自我训练的深度学习模型。此外还讨论了马尔可夫决策过程的概念。最后,作为通向主要目标的捷径,本片综述彻底检查了这些神经网络如何能够构建描述某些观察结果的物理理论,而无需应用任何先前的物理知识。
人工智能(AI)是一门广泛的科学领域,其主要目标是使机器更加智能。这意味着机器的构造应使其像人一样聪明地工作。以这种方式构造的机器能够更快地适应所接收的任何信息。人工智能因其在各个领域的重大突破而备受关注。现实生活中常见的AI应用实例有自动驾驶的汽车、智能手机、电脑游戏等。基于此定义,本节定义了人工智能子领域的机器学习的概念和深度学习概念。彻底深入介绍这些概念之后,本节重点介绍了AI(一般而言)与物理学之间的关系。最后,简短的介绍了本文的结构组成方式。
人工智能是一门广泛的科学领域,其主要目的是使机器更智能。人工智能的基本主题是机器学习(ML)。机器学习实现了从经验中学习的能力,即从观测的数据中学习的能了。这就是使机器变得智能的主要原因,因为智能的核心是学习。当机器被喂入数据后,它首先对其进行检测并提取有用的信息(相关的功能)。然后,根据这些提取的特征建立能推断出新的预测的相关模型。因此,机器学习的重点在于自动构建计算机算法而不仅仅是现实的编程。这意味着计算机将提出自己的程序,而不需要人的干预对其进行编程。与直接编程相比,机器学习技术的应用通常可以产生更准确的结果。ML在广泛的应用领域中与统计学、数学、物理学和理论计算机科学相结合。实施计算机学习的现实应用包括面部检测、语音识别、分类、医学诊断、预测和回归。
自它们诞生以来,机器学习技术已经比直接编程取得了相当大的成功。如前面讨论的一样,机器学习模型完成的主要任务之一是提取数据特征,这是一个比较简单的任务。如果提取的特征数量不足,则将导致预测不够准确。据说该模型具有较大的偏见。另一方面,如果提取的特征要素的数量足以输出预测,该模型也会很脆弱,泛化能力不够好。因此,它被认为是高度不确定性的。为此,如果模型无法有效地提取特征,则必须进行仔细的工程设计,即专家将进行干预进行调整以提高准确度。这就限制了机器学习技术的使用。
为了解决上述的局限性,出现了一种新的”深度学习“子领域(DL)。它与特征学习(也称为表示学习)有关(图2所示),它从无法手动成功提取数据特征中自动发现数据特征。深度学习是使用复杂的架构实施的,模仿人类大脑的生物神经网络,通常称为”人工神经网络“。为此,它以逻辑结构构建,以类似于人类得出结论的方式来分析数据。在分析数据之后,神经网络能够自动提取数据特征,做出预测并确定得出的结论的准确性。因此,深度学习模型就可以类似于人类智能。
也许会出现一个问题:为什么要统一物理学与机器学习?详细了解ML技术后,这些原因之一是要将自动体现出来。显然,机器学习技术的核心概念来自物理学领域。因此,物理学家从早期开始就为ML技术做出了贡献。机器学习中仍然采用物理学中发展的方法和理论。在机器学习中,存在一些探索和开发新的ML范式受物理学启发的学习算法的方法。谷歌、普林斯顿大学、哥伦比亚大学、麻省理工学院的一组研究人员证实了这种方法,并设计了一种能产生物理直觉的机器人。毫无疑问,在提高机器人执行任务和从现实世界中学习经验的效率方面,已经取得了巨大的成功。但是,研究人员的理解是,机器人仍然需要仔细思考。为了应对这一挑战,他们将简单的物理模型与深度学习技术集成在一起。由于物理学解释了现实世界的工作方式,因此以这种模型支持机器人以提高其执行复杂任务的能力可能是有利的。例如,让机器人有效地抓取物体,提供了一个人工神经网络,将物体的图像作为输入,以便从框中选择合适的物体。在某个阶段,网络会提取对象的特征,尤其是其在盒子中的位置。该功能与物理模拟器提供的投掷速度一起被反馈送到另一个神经网络。第二个网络执行调整以预测精准瞄准所选放位置的射弹。总之,物理学和深度学习技术之间的这种统一比单一实现的技术具有更好的性能。
反过来,机器学习技术可以用作物理学中的工具包。在数据分析方面,物理学家可以从中受益。物理学是在诸如凝聚态物理学、实验粒子物理学、观测宇宙学和量子计算等领域产生大数据集的科学领域之一。例如,最近的实验“地平线望远镜事件”记录了5PB的数据,以生成有史以来第一个超大质量黑洞的图像。这就是为什么物理学家正在整合机器学习技术并追随这一方向的任何进步的原因。对于物理学家来说,机器学习的好处并不止如此。物理学家实施了不同机器学习技术,以期提高他们对物体本质的理解和直觉。为了说明这种方法,最近在神经网络上进行了一项研究,以调查他们是否可以用于发现物理概念,即使是在量子力学等不太明显的领域也是如此。这是在Renato等人的工作中完成的。将在第Ⅳ节中详细介绍该方法的第一步。这描绘了如何将机器学习技术应用于解决物理问题有前途的研究方向。这里的中心问题是:人工智能可以从原始数据中发现新的物理学吗?本文将向读者介绍最近作为尝试回答此问题的初期尝试结果。
必须强调的是,本文讨论了机器学习以及通用AI如何与物理学相互作用。由于常见的AI工具是基于物理概念的,因此这是AI社区如何从物理学中收益的指标。但是,本文采用强调了另一种方式。物理学家正面临挑战,要求在研究中实现AI工具方面取得突破。在这个方向上,任何方法似乎都非常有前景。为了直接说明问题,本文按如下方式进行组织:第Ⅱ节回顾了有关人工神经网络的基本概念。这些是一类DL技术,它们通过不同的学习过程进行自我训练:有监督、无监督以及强化学习。讨论强化学习为第三节中介绍的马尔科夫决策过程概念的引入铺平了道路。Ⅳ和Ⅴ部分是完全独立的两节,以显示DL技术如何帮助物理学家提高对不同物理环境的直觉。前者说明了如何用神经网络来描述物理设置的策略,而后者则说明了一种与物理学家处理物理问题相同的方式的相同的算法。该算法和物理学家都使用以下四种策略来解决任何物理问题:分而治之、奥卡姆剃须刀、统一原理和终身学习。最后,对未来开放性的问题进行了总结。
本节提供有关人工神经网络的背景知识。这个知识是了解以下实现它们的ML技术必不可少的。本节首先介绍人工神经网络的基本组成部分:人工神经元,然后讨论如何在人工神经网络中处理信息。这是人工神经网络迈出的第一步,成为训练。该步骤的主要目的是使神经网络以非常高的精度产生结果。该训练主要是通过梯度下降算法进行。以下各节介绍了所有这些主题。
一个人工神经元是一种类似于生物学神经元计算的模型。在人体中,电信号通过位于树突(即神经元的膜)上的突触在自然神经元之间传递。每当这些信号的强度超过了一定的阈值就会激活对应的神经元,因此,信号会通过轴突发出以激活下一个神经元(图3)。以人手靠近发热体的情况为例,如果发热体足够热,神经元将被迅速激活,并发出警告手的命令,让手不要继续靠近。否则,人的手就没有反应。
人工神经网络的神经元的基本成分类似于生物学神经元。ANN由几个相互连接的连续层组成,其中每一层都由堆叠的人工神经元组成。第一层是输入层接受输入的数据,
输入数据以向量 x = ( x i ) i = 1 n 的形式提供, {\text{输入数据以向量}}x={(x_i)}_{i=1}^{n}{\text{的形式提供,}} 输入数据以向量x=(xi)i=1n的形式提供, 其中输入层的每一个神经元都带有一个 x i , {\text{其中输入层的每一个神经元都带有一个}}x_i , 其中输入层的每一个神经元都带有一个xi, 输 入 后 的 数 据 乘 以 表 示 每 个 数 据 强 度 的 权 重 w = ( w i ) i = 1 n {{输入后的数据乘以表示每个数据强度的权重}}w=(w_i)_{i=1}^{n} 输入后的数据乘以表示每个数据强度的权重w=(wi)i=1n
权值越大,对应输入的影响就越大。所有输入的加权和表示为
x = ∑ i = 1 n w i x i x={\sum}_{i=1}^{n}w_ix_i x=∑i=1nwixi然后加上一个偏差值,用b表示。得到的结果值 x = ∑ i = 1 n [ w i x i ] + b x={\sum}_{i=1}^{n}[w_ix_i]+b x=∑i=1n[wixi]+b作为激活函数φ(·)的输入变量。它的输出作为下一层神经元的输入。激活函数的示例在附录A中提供。任何神经元接收到的计算结果基本上取决于传入的权值。需要特别注意的是,进入特定神经元的权重通常不同于到达同一层中任何其他神经元的权重(同一层神经元的权值不同)。这将导致每个计算输入的差异。还值得一提的是,将偏差添加到加权和以修改激活函数的净输入。根据其符号,该净输入增加或减少。为了使事情更加清楚,将激活函数视为一维函数
一 维 激 活 函 数 : f ( u ) 其 中 u = w i x i {{一维激活函数: }}f(u)其中u=w_ix_i 一维激活函数:f(u)其中u=wixi
根据b的符号,此函数向左或向右移动,从而在选择函数值时具有更大的灵活性,因此也会影响其输出。常数b代表偏差。
对人工神经网络的每一层都重复前面的步骤,信息正是通过它来处理的。从输入层开始,经过称为隐藏层的中间层,到最终的输出层结束。输出层保留了网络的最终期望结果(图4)。也许,最简单的人工神经网络架构是由输入层,具有足够数量的隐藏单元和隐藏层和输出层组成。这种结构说明了人工神经网络的普适性,即通过上述神经网络结构可以很好的近似任意连续函数。
更复杂的架构被描述为深层架构。即包含多个隐藏层的神经网络架构。由于增加了网络的层数,因此增加了参数的数量,即权重和偏差。这种结构在现代研究中经常使用的,因为它们具有代表性。深度神经网络能从输入的数据中学习更复杂的功能(即提取数据特征)。针对特定问题的具体神经网络架构取决于几个因素,其中两个是:可用数据的类型和数量,要完成的任务是什么?隐藏层数量的选择以及每层中隐藏神经元的数目会改变网络的整体性能。总之,遵守的标准是神经网络中的参数数量不应小到足以防止欠拟合的程度,而又不能大到足以防止过拟合的程度。
如前一节所述,一个人工神经元的输出取决于输入的数据与对应参数的调整。但是,在由上百个相连的神经元组成的人工神经网络中,无法手动设置调整所有相关的参数。这是一项非常复杂的任务。取而代之的是通过通常称为训练或学习的过程来规范化人工神经网络的参数。神经网络的参数保持随机初始化,在经过数据训练之后达到最佳值。针对成本函数执行相关的优化方法,成本函数衡量神经网络的输出与特定输入的期望输出的接近程度。因此,我们的目标就是使得成本函数最小化,一般使用的方法是梯度下降算法。接下来将详细讨论该算法。
成本函数Cθ是在学习过程中需要取最小化的多变量函数。它是关于神经网络参数θ的函数,并且在不断地迭代中调整这些参数,直到成本函数取最小值。使用梯度下降学习参数需要执行以下几个步骤:
1.神经网络的参数是随机初始化的 θ 0 {\text{1.神经网络的参数是随机初始化的}}θ_0 1.神经网络的参数是随机初始化的θ0 2.在每次的迭代t中,对于每个参数 θ i {\text{2.在每次的迭代t中,对于每个参数}}θ_i 2.在每次的迭代t中,对于每个参数θi 计算成本函数的一阶梯度 ∇ θ i C θ {\text{计算成本函数的一阶梯度}}∇_{θ_i}C_θ 计算成本函数的一阶梯度∇θiCθ 3.参数更新公式为 θ i = θ i − η ∇ θ i C θ {\text{3.参数更新公式为}}θ_i = θ_i −η∇_{θi}C_θ 3.参数更新公式为θi=θi−η∇θiCθ 其中η是学习率,它是定义更新步长的超参数。 {\text{其中η是学习率,它是定义更新步长的超参数。}} 其中η是学习率,它是定义更新步长的超参数。 4.重复以上步骤,更新参数,直到成本函数取最小值。 {\text{4.重复以上步骤,更新参数,直到成本函数取最小值。}} 4.重复以上步骤,更新参数,直到成本函数取最小值。
由此,“梯度下降”对应于通过参数调整逐步减小梯度直至收敛,学习率η的选择应考虑不会导致崩溃的步骤太大,以及不能导致性能下降的步骤太小。
成本函数通常是子函数的总和,例如 C ( θ ) = 1 n ∑ i = 1 n C i ( θ ) , (2) C(θ) =\frac{1}{n}\sum_{i=1}^n C_i(θ), {\text{\qquad\qquad(2) }} C(θ)=n1i=1∑nCi(θ),(2) 其中 C i ( θ ) 是期望输出y与预测输出 y ^ ( θ ) 之间的欧氏距离 {\text{其中}C_i(θ)}{\text{是期望输出y与预测输出}\hat{y}(θ)}{\text{之间的欧氏距离}} 其中Ci(θ)是期望输出y与预测输出y^(θ)之间的欧氏距离 C i ( θ ) = ∣ y i − y ^ i ( θ ) ∣ C_i(θ)=|y_i-\hat{y}_i(θ)| Ci(θ)=∣yi−y^i(θ)∣其中n是所有输入的数据点。
成本函数相对于权重参数的梯度就是所有n个子函数相对于对应权重梯度之和。对于迈向最小值的单个步骤,将在整个点上计算梯度。这非常耗时,尤其是在数据量非常大的时候。随机梯度下降(SGD)仅通过随机获取的一个子集m计算梯度来解决此问题: ∇ θ i C ( θ i ) = 1 m ∑ j = 1 m ∇ θ i C j ( θ i ) , (3) ∇_{θ_i}C(θ_i) =\frac{1}{m}\sum_{j=1}^m∇_{θ_i}C_j(θ_i),{\text{\qquad\qquad(3) }} ∇θiC(θi)=m1j=1∑m∇θiCj(θi),(3) 其中m称为一个小批量,使用该梯度公式更新参数θ_i。重复这些步骤,每次迭代都必须更改小批量的选择。
梯度下降和随机梯度下降算法中的超参数学习率需要认为设定,如果学习率过大,该算法可能会崩溃;如果太小,算法的性能会降低。Adam算法作为自适应矩阵估计的代表,向解决这个问题迈出了第一步。Adam算法的关键思想是为神经网络的每个参数计算一个单独的学习率。它是随机梯度下降算法的扩展,但效果极佳。
简而言之,Adam的工作如下,对于每个参数,将在每次迭代中计算学习率。设置学习率的算法从计算超参数m开始,该参数是对第一个矩值的估计即梯度(如SGD所示)。m的更新规则为:
在每次迭代时,还会计算另外一个超参数v,它是第二个矩的估计值,即梯度的平方。每次迭代的计算是:
这里的β1和β2是根据前辈研究经验发现系数值为0.9和0.999效果较佳。由于第一矩和第二矩初值一般设置为0,因此每次迭代后它们都保持接近于0 ,特别是β1和β2都很小。为了解决这种情况,需要进行一些修改,
每一次迭代参数的更新规则为:
其中 α 是更新步长,并且添加ε= 10−8以避免任何其他扰动,重复此过程,直到收敛为止。
希望前面的部分对什么是人工神经网络及其运行方式进行了很好的概述。如前所述,一个神经网络可以像一个具有人类思维和行为的任何人工机器一样。这就是为什么要对它进行训练以实现这一目标的原因。训练时,首先需要为神经网络提供一组训练数据,然后,如第(ⅡB)节所述一样从数据中不断的去学习更新参数,只要参数达到最佳值,训练就停止,这样的到的神经网络就可以达到所需的精度。经过训练后的神经网络就能概括和推断以前未遇到过的相同类型数据,并作出新的预测。根据给定的训练,神经网络学习的过程有所不同。下面将对其分类,并且可以很容易的将其推广到任何人工机器上。
有监督学习可能看起来是最简单的机器学习范式。用由标记数据组成的数据集训练ANN,即用标记增强的数据点。神经网络的作用就是找到这组数据中的输入与输出对之间的映射。这样,将每个数据点链接到其相应的标签后,就可以对数据点进行分类。完成后,神经网络将使用此映射找到未见过数据的标签。
与前面提到的监督学习范例相反,无监督学习是对没有标签的数据进行训练。这就需要神经网络以聚类(即自动将数据进行分组)的方式在数据之间找到某些关系。可以通过分类或排序的方法来完成分组。经过充分训练的神经网络会使用推断的聚类规则,将其应用于之前未处理的数据。
特别注意的是,强化学习不同于有监督和无监督的学习范式。强化学习范式实质上是由一个学习代理与其环境进行交互作用组成。因此,强化学习中的环境与先前范例中的数据扮演着相同的角色。在这种情况下,学习的过程是评估性的:学习代理只要在其所处的环境中执行某项操作,便会获得奖励。因此,代理的目标是获得最大可能的奖励。对环境建模的一种方法是将其表征为马尔科夫决策过程,即将环境定义为一种状态。下一节将单独讨论强化学习。
机器像人类一样,能够在环境中移动并于环境或者彼此进行交互。但是,它们的行为是不同的。当人类遇到任何环境,包括其他人任何随机行为时,他们都可以进行自适应的智能交互。但是这些随机的变化对机器来说时非常复杂的。与以前直接设计机器人完成特定任务的尝试不同,现在要使机器人在没有任何人为干涉的情况下能够独立运行。
机器人的学习方案时一种顺序决策过程。机器人或通常称为代理,代理需要在一系列时间步长中顺序做出自己的决定。因此,代理时这里的决策者,也是学习者。然后,代理明确地执行操作,并根据每个步骤执行的操作获得奖励。奖励的想法时告诉代理采取此行动有多好或者多坏。主要目标时使得总奖励最大。
马尔科夫决策过程(MDP)是一种基本的形式主义,用于代理处理代理与环境的互动。它假定环境时可以访问的,即代理可以确切的知道它在环境中的位置。这种形式主义将环境建模为一组状态,并且代理为提高其最佳行为能力而采取的行动。它旨在找出完成任务的最佳行为方式。代理的状态是Markov,它拥有所需的所有足够信息。无需检查其历史记录。因此,未来与过去的事情无关。 (下一个状态只取决于当前状态,与之前的状态无关)
代理为达到目标所采取的行为顺序定义了所遵循的策略。MDP框架允许学习一种可以从初始状态开始到达目标时最大化长期奖励的最佳策略。为了解决这个具有挑战性的目标,我们首先介绍MDP的所有组成部分,然后再讨论用于计算最佳行为的两种算法:强化学习和动态规划。
马尔可夫决策过程(MDP)形式化的定义为一个元组(S,A,P,R),其中S是状态的有限集合,A是有限的一组行动,P是转移概率或者转移函数,R是奖励函数。
给定一个马尔可夫决策过程(MDP),即知道状态、行动、转移函数、奖励函数的集合,则策略Π控制在特定状态下采取的动作。该策略可以被定义为:π : S → A. 因此,该策略控制了所研究的环境。有两种类型的策略:
在特定状态s0与特定策略Π的情况下,策略建议采取行动a0使得状态由s0到s1的转变,这种转变可以得到r0的奖励。在这种状态下,这个政策的序列为:s0,a0,r0,s1,a1,r1,s2,…
我们的主要目标时找到能获得最大奖励的最有策略。需要注意的是,我们的目标不是局部的最大化奖励函数,而是最大化任务期间收集的所有奖励的总和。这些表示为返回函数,定义为:
其中T是最后一步。当任务的步骤有限的时候,如此定义该函数才有意义。返回函数终将会收敛。该模型称为有限水平仪。但是,代理与环境之间的交互是无限的,并且代理可能会继续从一种状态转到另一种状态并收集奖励而没有实现目标。随着采取步骤的增多,返回函数将趋于无穷。这就是该模型的限制。因此我们引入一个折现因子γ,它对奖励函数进行折现,折现后的奖励函数为:
其中 0 ≤ γ ≤ 1. 这个折现因子决定了未来奖励对当前状态下奖励的影响。2个步骤后的奖励折现为γ²。详情如下:
折现因子可以确保返回函数收敛的最大步骤。返回因子具有递归性质
使返回函数最大化的最优标准取决于当前的问题。
一个状态的值函数估计该状态在一般情况下或在采取特定行动时的状态。这取决于从该状态开始并遵循该策略所获得的未来奖励。因此,价值函数将最优性标准与策略相连接,并用于学习最优策略。
状态值函数是在特定策略下处于该状态时的预期收益:
可以用与状态s的值相同的方式定义类似的值函数,用q(s,a)表示,采取特定的状态a,然后遵循策略Π:
状态值函数满足递归关系:
此方程称为Bellman 方程。它将价值函数表示为所有奖励和所有可能的未来状态的价值之和,这些价值由其转移概率函数和折现因子加权。因此,最佳状态值函数为:
最优的行动状态值函数为:
同样,最佳状态值函数具有递归性:
这被称为 Bellman 最优化方程。找到最优的v和q将是找到最优策略的基石。如以下部分所示,为了达到最优策略的目标,提出了几种算法。这些算法分为两类:基于模型的算法和没有模型的算法。这两类都包括状态和行动,但是基于模型算法提供了的转移概率和奖励函数,没有模型的自由算法没有。在以下各节中,将通过相应的算法详细介绍这两种情况。首先是基于模型的动态规划,其次是没有模型的强化学习。
由于完全提供了环境动力学(转移概率函数与奖励函数),动态规划(DP)是遵循最佳策略的算法。因此,动态规划(DP)是用于求解MDP问题的基于模型的算法。
当然,从获得满足Bellman最优方程(16,17)的状态最优函数v和q可以找到最优策略。总体思路是,DP算法通过更新先前的等式,然后根据值函数来找到最优策略,从而找到最优值函数。达到最佳策略的路径主要包括两个步骤:评估、改进。之后,不断重复评估和改进,直到达到最佳效果。
策略评估: 我们通过随机考虑一些完全了解环境动态的策略来解决问题。我们的目标是在该策略下找到状态值功能。这些值满足Bellman方程式(13)。解决此方程需要解决|S|的系统。|S|是方程未知的值状态函数,其中,|S|是状态空间的维数,这是很繁琐的。解决此问题的一种方法是将其转化为迭代问题:
策略改进: :在一个确定的策略下计算了所有的值函数之后,我们需要知道处于状态s并执行由策略Π控制的动作,比执行某个其他策略Π’所控制的动作更好还是更坏。换句话说,在状态s时,我们执行一个动作a=Π’(s)≠Π(s)然后再执行策略Π,是否更好?
使用状态-行动值函数 qπ(s,a)对此进行回答,其中a=Π’(s)。
如果 qπ(s,a)确实比 vπ(s)好,我们就选择先执行a=Π’(s)再执行Π策略的行动比一开始就执行Π策略更好。这就是策略改进理论。具有两个确定性策略Π和Π‘
同样也要满足
逻辑上遍历所有存在的状态以及每个状态下的行动,然后根据qπ(s,a)选择哪个动作会增加每个状态的值。
旨在选择增加某个特定状态下的状态值行为的策略被称为贪婪策略,其中
其中 argmaxa 是使状态值取最大的行动。因此,贪婪策略是通过选择更好的行动来提高状态值的策略。获得贪婪策略的过程就是策略的改进过程。如果vπ = vπ’, vπ 与 vπ’都是最优策略。
需要注意的是,如果有多个是状态值函数最大化的动作,则这些动作都必须全部考虑并给每个动作予以一定的概率。在这种情况下,策略不是确定性的而是随机性的。
策略迭代: 我们的目标是获得最优策略,正如我们之前所提到的,该过程相继重复策略评估和改进两个步骤。这就是策略迭代。从策略Π开始进行评估,对其进行改进得到策略Π’,然后对Π’评估、改进得到策略Π’‘。一遍一遍地重复相同的过程,最终它将收敛到最佳策略Π*,这就是我们的目标。图(5a,5b)展示了一个有关如何从一个随机策略开始到一个最佳策略的例子。
策略的迭代代价很高,因为它需要在策略评估过程中多次扫描状态集。是否能将这一步骤化为仅包含一个步骤,即我们是否可以仅用一个步骤来替换迭代以获取最优值?
这是状态值迭代的过程。与其多次遍历所有状态获得最优策略的最佳行动,不如通过对Bellman方程进行更新,一步实现这个过程:
策略评估会一直在,但是需要采取使价值最大化的行动。因此,价值迭代将策略评估和改进结合在一起,从而更好更快地收敛到最优策略。需要说明的是,某些扫描使用价值迭代,也有使用策略评估的,但最终得到的都是最优策略。
如前面所讨论的,对于一个很大的状态序列遍历一遍也非常昂贵的。异步DP不会覆盖整个状态集,每次只会遍历其中的一个子集。使用其他状态的任何可用值来更新一个状态值,一个状态可以更新几次,而另一个状态可以更新一次或两次。异步DP可以灵活的选择要在此步骤中更新哪些状态,以及在整个过程结束时每个状态必须已被更新且未完全忽略的情况下,哪些状态保持不变。有些状态需要经常更新,而另一些状态则只需偶尔更新即可。有些状态与达到最佳状态无关,并且可以一直忽略。
在前面的部分,我们看到了策略迭代如何引导我们找到最佳策略。它包括两个部分:策略评估和改进。如果前一步没有终止,这一步就不会开始。当然,存在其他更有效的迭代策略,例如状态值迭代和异步动态规划。
通用策略迭代(GPI)描述了策略评估和策略改进的过程,无论是否存在其他过程。如前所述,整个想法是对当前的策略进行评估,然后根据更好的价值函数对当前的策略进行改进。因此,评估和改进是相互作用的,一个驱动另一个。所有基于模型和无模型的算法均取决于GPI。一旦价值函数和改进不变,就是最佳策略。
上一节讨论了动态规划,它是一种基于模型的算法,假定已知所有转移概率和奖励函数的情况下计算最佳策略。如果没有这样的模型,就需要强化学习方法来解决。强化学习需要以某种方式生成未知状态的统计知识,以生成状态转换函数和奖励函数的样本。抽样的过程是代理人通过采取措施反复尝试以了解最佳策略而与环境进行互动。代理对环境的探索是非常必要的。代理人必须始终不断的尝试执行各种行动以寻求更好的行动,而不是仅仅依靠当前关于良好行动的知识。有几种探索策略可以遵循,最基本的一种策略为——贪婪策略。主体通过探索选择其当前最佳的行动(概率为1-∈),而其他任何动作则以概率为∈随机选择。这是一种强化学习策略。
可以在与环境交互时,强化学习问题被间接的解决。通过学习转移和奖励函数并建立MDP的近似模型。因此,可以使用前面提到的DP所有方法来推导系统 的所有动力学,即状态值和状态-行动值。另一个选择是建议直接估计动作的状态值,不估计MDP模型。这称为直接强化学习。实际上,这恰好是在没有模型的情况下采取的选择。还有其他的类型,如时差学习( temporal difference learning)、Q学习和SARSA (StateAction-Reward-State-Action) 。
在下一节,我们将详细介绍置信区间策略优化(TRPO)算法,它也是一种使用强化学习的算法。它以一定的区间步长迭代的改进策略。有效使用TRPO的实例将遵循该算法。
得到最佳策略的另一种方法是使用“置信区间策略优化算法”。由于它为改进策略指定了一个置信区域,即采取了大量可能的信任步骤,使得该算法优于一般的算法。通常,一次更新跨度太大可能会错过最优解,但是步子太小算法运行的时间会很慢。TRPO通过定义置信区间以采取最佳步骤来避免改进过程崩溃解决此问题。
如文献[14]中所述,该过程将通过最小化某个损失函数来改善策略,然后引入近似值,这些近似值实际是TRPO 算法的核心。
考虑无限交互的MDP过程(S,A,P,r,ρ0,γ) 其中ρ0是开始状态s0的概率分布,由MDP中得到的返回函数定义为:
在[15]的工作中,通过定义以下下界来解决此问题。
这保证了增加等式右边肯定会增加策略π˜下的期望收益,从而改善策略。为了解决特定的随即策略。α²将作为两个策略差值的衡量,例如KL-散度,具体来说,是两个策略之间的最大KL-散度。
用来降低下限。使用最大散度的,下限变为:其中
为了简单起见,定义代理函数为:
其中πi是当前策略,πi+1是下一个新策略。因此有通过最大化代理函数,可以保证单调的策略改进。 η0 ≤ η1 ≤ η2 ≤ …直到达到最佳策略。这个算法称为“最小化最大化(Minorization-Maximization) ”算法。其中最小化是要符合期望函数值与代理函数值相等的最小下限,最大化就是要使得奖励函数最大化。
但是我们仍然未指定要采取的步骤。为此,现在将置信区间策略优化算法[14]作为理论上的最小化最大化的实用近似。
回想一下,可以通过一些任意参数θ对策略进行参数化。为了简单起见,用文章[14]中定义的符号:
定义 θold 作为需要被更新的参数, 这个优化方程变为:
主要目标总结如下:
但是前面取的C会导致更新步伐较小,改善速度慢。必须对KL-散度施加约束,以采取更大的步骤,但又不能太大,以免导致算法崩溃。即此约束是对KL散度的置信区间进行约束,需要满足的条件为:
公式(43)的写法称为拉格朗日对偶性,其中约束性可以使用乘数积分回条件。所施加的约束意味着每个KL散度都是有限制的,但是由于存在大量的限制,处理起来会很麻烦。避免此问题的一种方法是将KL散度取平均。由此,公式变为:
通过求解此条件并根据当前问题定义δ,求解的每次迭代的预期收益将增加,从而可以确保制定更好的策略,直到实现最优化。
在随机环境中学习找到最佳策略是强化学习的主要挑战。高随机性是初始状态和目标广泛多样性的代名词,因此,它导致了困难的学习过程。提出了TRPO算法后,文献[18]的工作将该算法应用到了例如训练机器人手臂捡起一个物体并将其放在不同位置的情况。这个策略背后的主要思想是:
这种解决策略称为“分而治之(DnC)强化学习”,对于具有高度多样性的任务非常有效,接下来详细描述一下该算法。
考虑一个用元组 M = (S,A,P,r,ρ)描述的MDP。修改此MDP以适应“切片”策略,即引入称为上下文的变量ω 。初始集合被划 分为 S = U i = 1 n S i 每 个 片 段 与 ω i 的 关 系 为 Ω = ( ω i ) i = 1 n {\text{分为 }}S =U_{i=1}^n S_i每个片段与 ω_i 的关系为Ω=(ω_i )_{i=1}^n 分为 S=Ui=1nSi每个片段与ωi的关系为Ω=(ωi)i=1n 例如,使用k-均值聚类(附录B)进行切片。这样ρ便成为上下文和初始状态集的联合概率分布ρ : Ω×S → R+。基于此,MDP被分为两步:
一旦找到增强型MDP中的策略(无论是否最优策略),就可以通过定义
来找到原始MDP中的核心策略πc。这项工作提出的主要条件是,在一种情况下,局部策略可以推广到其他情况。这加快了适用于原始MDP的全局策略的发现。这就是TRPO介入的地方。为了找到描述原始MDP的最佳策略πc,必须找到增强策略π,以更具体的使奖励最大化。
其中α 是调整参数,以便将条件重新积分到方程中去。遵循用于指定信任区域的TRPO机制,在两个各自的上下文 ωi和ωj中,策略应尽可能多的共享信息。由此可得:
在文献[18]的工作中,他们没有将等式42中的替代函数最大化,而是将其视为损失(奖励的负数)将其最小化。由此,代理损失为:
每个策略都经过训练在自己的领域中采取行动,但是还与其他的上下文数据一起进行了训练,以确保泛化能力:
因此,找到最佳核心策略的步骤如下。在每个上下文ωi内,使用每次迭代的代理损耗来增强局部策略。重复执行此优化过程,几次迭代后,通过最小化公式(51)的KL散度,从局部策略中找到核心策略πc。
TRPO算法以及此处引入的条件约束允许解决具有多种初始状态和目标的高度随机的MDP。在“分而治之”中进行的实验工作证明,该算法优于其他RL算法。