绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
使用元学习和推理改善您的模型!
2019-08-20 11:45:00

这是一篇发表在NeurIPS 2018元学习研讨会上的论文。

动机

提出一种新的科学理论通常有两种方法:

从基本原理出发,推导出后续法则,并提出实验预测以验证理论

从实验开始,推断出简单的法则来解释数据

统计学和机器学习在科学中的作用通常与第二种推理有关,也称为归纳。

想象一下,例如,你想要在一个环境中模拟两个种群(比如说狐狸和兔子)的进化。一个简单的模型是Lotka-Volterra微分方程:你考虑一个事件,如“狐狸吃兔子”,“兔子出生”,“狐狸出生”等等,发生在一个小的时间间隔内,根据这些概率推导出一组微分方程,并通过求解这些方程来预测两种动物的进化。通过将您的预测与实际人口的演变进行比较,您可以推断出此环境中的佳模型参数(概率)。

现代理论需要模拟才能与观测联系起来。它可以是像Lotka-Volterra模型中的简单微分方程求解器,也可以是粒子物理中使用的复杂Monte-Carlo模拟器。

通过将模拟结果(即模型的预测)与实际数据进行比较,可以了解模型的正确性并相应地进行调整。如果在模型和实验数据之间来回切换的过程通常是手动完成的,那么任何机器学习从业者会问的问题是:我们可以自动完成吗?我们可以构建一个机器,将可调整的模拟器和真实数据作为输入,并返回适合某些真实数据的模拟器版本吗?

这是我们近工作的目标[1],我们训练了一个神经网络来提出佳的模拟器调整序列,以便近似实验数据,利用的是Likelihood-Free Inference推理领域的新进展和元学习。

Likelihood-Free Inference推理

让我们以一种更正式的方式重述我们的问题。我们可以通过随机函数对模拟器(也称为生成模型)进行建模,该函数采用一些参数θ,并返回从某个分布(所谓的模型)中抽取的样本x。

这种形式主义适用于任何包含随机性的科学理论,因为它在现代科学中经常出现(粒子碰撞受量子物理定律支配,这些定律本质上是随机的,生物过程或化学反应经常发生在嘈杂的环境中,等等。 )。

实验数据由一组点组成,这些点与模拟器的输出空间相同。然后,推理的目标是找到参数θ,使得模拟器生成尽可能接近真实数据的点。

使用此类模拟器的科学领域包括:

群体遗传学。模型:溯祖理论。观察:当前人口的DNA。参数:共同祖先的DNA。

高能粒子物理学。模型:粒子物理学的标准模型。观察:碰撞时探测器的输出。参数:标准模型的耦合常数(如粒子的质量或不同力的强度)。

计算神经科学。模型:Hodgkin-Huxley型号。观察:激活后神经元电压的演变。参数:神经元的生物物理参数。

那么在给出一些实际观察结果的情况下,我们如何预测模拟器的参数呢?让我们考虑一个高斯模拟器的简单例子,它采用矢量θ=(μ,σ)作为参数,并从高斯分布(μ,σ)返回样本。

推断这种模拟器的参数的经典方法称为大似然估计(MLE)。似然被定义为参数模型下的实际数据的密度。这意味着如果大多数数据点位于高密度区域,则可能性很高。因此,模型的佳参数通常是大化实际数据似然的参数。

如果您已明确访问模拟器的基础概率分布以及此分布的梯度,则可以在参数空间中执行梯度下降,以便大化似然并推断模型的佳参数。

然而,许多现实生活模拟器具有难以处理的部分,这意味着显式概率分布太难以计算(无论是分析还是数字)。因此,我们必须找到推断佳参数的新方法,而不使用似然函数或其梯度。

总而言之,我们有一个黑盒随机模拟器,它接收参数并从未知概率分布生成样本,以及我们能够与生成的数据进行比较的真实数据。我们的目标是找到引导模拟器生成数据尽可能接近真实数据的参数。此设置称为likelihood-free推理。

我们怎样才能不受可能性的影响进行推理呢?

让我们尝试逐步提出解决问题的方法。我们可以做的件事是从随机参数开始,并模拟相应的数据:

代表两个感兴趣的空间。真正的参数(我们希望推断)是左边的红点。真实数据对应于右侧点的红云。我们首先选择一个随机参数θ(左边是灰色)并模拟相应的数据点(右边为灰色)

通过这样做,我们可以看到生成的数据与实际数据的距离有多远,但我们无法知道在参数空间中的移动位置。相反,让我们模拟几个参数:

为此,我们考虑参数空间中的分布,称为提议分布并记为q(θ|ψ)。如果我们选择q为高斯分布,我们将得到ψ=(μ,σ)。步是随机初始化ψ。在上图中,为简单起见,我们考虑ψ=μ。然后,我们可以执行以下步骤直到收敛:

从提议分布中抽取一些参数:图中ψ附近的4个参数。

从中生成数据:右边的4个点云。

选择一个好的方向来移动ψ。

第三步是艰难的一步。直观地,您希望将ψ移向橙色和绿色参数,因为相应的预测(橙色和绿色点云)接近真实数据。一组称为自然进化策略的方法[3]允许您将每个θ(在预测与实际数据之间的相似性方面)的性能与参数空间中的方向联系起来。近的一篇论文[4]使用例如生成对抗网络(GAN)给出的相似性度量来找到佳方向。尽管这些算法在一般情况下表现良好,但人们可能想知道对于给定的模拟器,是否不可能找到更好的算法来利用该模拟器的特定属性。这就是元学习发挥作用的地方!

用于优化的元学习

元学习背后的想法是学习如何学习,在我们的例子中学习优化过程。学习通过梯度下降学习梯度下降的论文中介绍的主要思想是使用递归神经网络(RNN)在每次迭代中找到佳下降方向。以下是随机初始化的RNN产生的点序列的示例:

每个下降方向都是随机的,后产生的点远离小点。在训练过程中,它应该学会利用每个点的梯度信息,以便向小值移动,给出如下内容:

那么如何训练呢?生成许多您知道小值的函数,并要求RNN小化序列的后一个点与实际小值之间的距离。

学习学习科学模型

在likelihood-free推断的情况下,RNN应返回一系列提议参数ψ,给定真实观察和每个步骤产生的点云。

现在,与通过梯度下降学习学习相同的问题,我们应该如何训练RNN?这里,技巧是生成许多随机参数θ并假装每个参数都是“真实参数”。然后我们可以模拟生成每个θ并获得一组“真实观察”。然后可以通过传递那些真实的观察结果来进行训练,查看其终的提议分布,并将其与真实参数(我们知道因为我们已经生成它)进行比较来训练RNN。

让我们通过一个例子来澄清所有这些。在下图中,提议分布以颜色表示(红色=高密度)。在开始时,RNN被随机初始化,我们在个生成的真实参数θ(红色)上对其进行评估。

然后我们可以将损失反向传播到RNN中。在为200个不同的“真实参数”重复此过程之后,这应该是这样的:

我们可以看到它已经学会利用观察空间的信息来向好的参数迈进。

结果

我们在不同的玩具模拟器上评估了我们的模型,其中一些是我们可能已知的,另一些则不是。

Non-likelihood-free问题:泊松模拟器

各种参数的泊松分布示例

个模拟器采用参数λ并从泊松分布P(λ)中抽取样本。这个例子的目的是看我们是否获得与大似然估计量相当的性能。结果如下:

ALFI(自动Likelihood-Free推理,我们的模型的名称)与大似然估计(MLE)的比较。这些箱形图表示真实参数与终提议分布的预期值之间的均方误差的分布。

我们可以看到性能是可比较的,即使我们没有给我们的模型提供访问可能性。

Likelihood-free问题:粒子物理模拟器

为了在真正的likelihood-free设置中评估我们的模型,我们考虑了一个简化的粒子物理模型,它模拟电子和正电子的碰撞,正电子变成介子和反介子。

Feynman模拟过程图

模拟器的参数是入射粒子的能量和费米常数,输出是两个介子之间的角度。

为了评估我们的方法,我们将实际观察结果与找到的后一个参数生成的结果进行了比较。结果如下:

我们的方法在简单粒子物理模型上的结果。我们的真实观察(产生的粒子的角度)与我们预测的参数产生的观察值的比较。

讨论

我们通过学习模拟器调整的佳序列以使模型适应现实,我们看到了likelihood-free 推理是什么以及如何使用元学习来解决它。

作为大多数元学习模型,一个限制是很难训练。我们无法将方法扩展到更复杂的模拟器,因为元训练需要大量的模拟器调用,这在实际环境中可能非常慢。然而,随着元学习领域的进步,我们希望能够出现新的方法来缓解这个问题并使其更具可扩展性。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

人工智能的世界
创建时间:2020-06-15 14:31:10
人工智能那点事儿
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~