深度适应性设计 DAD

Posted on Wed, Apr 12, 2023 📖Note 🧪BOED

1 引言

如何设计实验使结果尽可能地提供底层过程的信息?贝叶斯最优实验设计(Bayesian optimal experimental design, BOED)是解决该问题的一个强大的数学框架。

BOED 框架中,结果 yy 被以一种贝叶斯的方式建模,使用似然 p(yθ,ξ)p(y|\theta,\xi) 和先验 p(θ)p(\theta),其中 ξ\xi 是我们的可控设计,θ\theta 是我们希望学习的参数集。我们希望优化 ξ\xi 来最大化关于 θ\theta期望信息增益(expected information gained)(相当于 yyθ\theta 之间的互信息):

I(ξ)Ep(θ)p(yθ,ξ)[logp(yθ,ξ)logp(yξ)].(1)I(\xi)\coloneqq\mathbb{E}_{p(\theta)p(y|\theta,\xi)}[\log p(y|\theta,\xi)-\log p(y|\xi)]. \tag{1}

把 BOED 使用到设计一系列实验 ξ1,,ξT\xi_1,\dots,\xi_T 可展现 BOED 的真正能力,其中允许我们构造适应性策略,在实验的进行中使用从过去数据中收集到的信息来定制每一个连续的设计 ξt\xi_t。传统的迭代的用来选择每一个 ξt\xi_t 的方法是拟合表示在 t1t-1 次迭代实施后对 θ\theta 的更新后的信念的后验 p(θξ1:t1,y1:t1)p(\theta|\xi_{1:t-1},y_{1:t-1}),然后用这个后验来代替 (1) 中的先验。接着选择使得到的目标最大化的作为设计 ξt\xi_t

不幸的是,这种方法需要在实验的每一步之间花费大量的计算时间,以便更新后验并计算下一个最优设计。特别是,I(ξ)I(\xi) 是双重难解的,它的优化是一个重要的计算瓶颈。这可能会阻碍序列 BOED 的实际应用,因为通常需要快速做出设计决策才能使该方法有用。

具体例子:了解政治观点的适应性调查。问题 ξt\xi_t 被发放给参与者,给出他们的回答 yty_t 并且这个数据用来更新潜变量为 θ\theta 的底层模型。这里序列 BOED 具有巨大价值因为前面的回答可以被用来指引将来的问题,确保问题与特定的参与者相关。然而在问题之间计算下一个设计有长时间的延迟是不可接受的,这妨碍了现有方法的使用。

为缓解该问题,本文提出摊还序列实验设计的花销,当时间很宝贵时,在实验开始前进行提前的训练,以便在部署时快速做出设计决策。这种摊还在相同的适应性实验框架被多次部署的常见场景中特别有用(例如,在一个调查中有多个参与者)。这里的摊还不仅消除了实时实验的计算负担,还允许在多个实验之间共享计算,类似于摊还推断,允许处理多个数据集。

本文的方法叫做深度适应性设计(Deep Adaptive Design, DAD),由一个设计网络构成,将前面阶段的设计和观测作为输入,输出用于下一个实验的设计。该网络进行学习是通过模拟假设的实验轨迹,然后用其训练网络来自动做出接近最优的设计决策。即,它学习一个设计策略,根据过去的数据做出决策,我们优化的是这个策略的参数而非一个单独的设计。一旦学会,该网络消除了实验每次迭代的计算瓶颈,使其能够适应性地且快速运行,它还可以重复用于实验的不同实例化(例如,不同的人类参与者)。

为了实现高效、有效和简单的训练,本文展示了如何在没有任何直接后验或边缘似然估计的情况下学习 DAD 网络。这是通过将序列 BOED 问题从传统的迭代形式重新定义为一个单一的整体目标,该目标基于当给定先前的设计结果对使用策略确定地做出每个设计决策时,从整个实验中获得的总体期望信息增益。然后,本文推导出这个目标上的对比界,考虑到使用随机梯度上升的策略参数的端到端训练,从而避免了推理的需要和 EIG 目标的双重难解性。这种方法还有一个进一步重大的好处,就是可以学习非短视的适应性策略,也就是与传统方法不同的是,考虑到自己未来决策的策略。

本文进一步论证了最优设计策略的一个关键的置换对称性质,并使用该性质提出了一个用于实验设计网络的定制化架构。这对于允许时间步间的有效摊还至关重要。理论公式、新的对比界和神经网络架构的所有结果是一种方法论,使我们能够将深度学习的力量用于适应性实验设计。

本文将 DAD 应用于与流行病学、物理学和心理学等应用相关的一系列问题,发现 DAD 能够准确地摊还实验,为实时运行适应性 BOED 打开了大门。

2 背景

由于实验是一项可能代价很高的尝试,以最大化获得信息增益的量的方式来设计实验很重要。由 Lindley (1956) 首创的 BOED 框架以有准则的方式提供了做到这一点的强有力的方法。它的关键思想是要优化实验设计 ξ\xi 来最大化将获得的有关感兴趣的潜变量 θ\theta信息的期望值,就在观察到实验结果 yy 之后。

为了实现该方法,首先从标准的贝叶斯建模设定开始,由一个表示实验的显式似然模型 p(yθ,ξ)p(y|\theta,\xi) 和一个表示我们最初关于未知潜变量的信念的先验 p(θ)p(\theta)。在进行一个设计为 ξ\xi 的假设实验并观察到 yy 之后,我们更新后的信念为后验 p(θξ,y)p(\theta|\xi,y)。已经获得的关于 θ\theta 的信息的量可由从先验到后验的熵的减少数学化地描述

IG(ξ,y)=H[p(θ)]H[p(θξ,y)].(2)\mathrm{IG}(\xi,y)=\mathrm{H}[p(\theta)]-\mathrm{H}[p(\theta|\xi,y)].\tag{2}

期望信息增益(expected information gain, EIG)是由关于可能的结果 yy 取期望形成的,使用模型本身来模拟这些。即我们关于 yp(yξ)=Ep(θ)[p(yθ,ξ)]y\sim p(y|\xi)=\mathbb{E}_{p(\theta)}[p(y|\theta,\xi)] 取期望,得到

I(ξ)Ep(yξ)[IG(ξ,y)]=Ep(θ)p(yθ,ξ)[logp(θξ,y)logp(θ)]=Ep(θ)p(yθ,ξ)[logp(yθ,ξ)logp(yξ)]\begin{aligned} I(\xi)\coloneqq\mathbb{E}&_{p(y|\xi)}[\mathrm{IG}(\xi,y)]\\ =\mathbb{E}&_{p(\theta)p(y|\theta,\xi)}[\log p(\theta|\xi,y)-\log p(\theta)]\\ =\mathbb{E}&_{p(\theta)p(y|\theta,\xi)}[\log p(y|\theta,\xi)-\log p(y|\xi)] \end{aligned}

就是在设计 ξ\xiyyθ\theta 间的互信息。最优设计定义为 ξ=arg maxξΞI(ξ)\xi^*=\argmax_{\xi\in\Xi}I(\xi),其中 Ξ\Xi 为可行设计空间。(第三个等号成立,由于 θ\thetaξ\xi 相互独立)

BOED 设定中常见的是进行多个实验迭代,设计为 ξ1,,ξT\xi_1,\dots,\xi_T,观测到相应的结果 y1,,yTy_1,\dots,y_T。这种情况一个简单的策略就是静态设计,也叫做固定或者批设计,在得到所有观察之前选择所有的 ξ1,,ξT\xi_1,\dots,\xi_T。这些设计被优化来最大化 EIG,用 y1:Ty_{1:T} 代替 yy,用 ξ1:T\xi_{1:T} 代替 ξ\xi,有效地将整个实验序列视为一个实验,扩大观察和设计空间。

2.1 传统适应性 BOED

这种静态设计的方法通常是次优的,由于它忽视了前面迭代的信息可以大幅帮助未来迭代的设计决策。因而 BOED 框架的力量可以通过使用适应性设计策略显著增加,依赖 ξ1:t1,y1:t1\xi_{1:t-1},y_{1:t-1} 选择每个 ξt\xi_t。这使得我们可以使用已经前面实验所学习到的来最优地设计下一个实验,这就产生了一个改进信念的良性循环,并使用我们更新的信念为未来的迭代设计良好的实验。

传统适应性地计算设计的方法是在每一步拟合后验分布 p(θξ1:t1,y1:t1)p(\theta|\xi_{1:t-1},y_{1:t-1}),然后优化使用这个后验代替先验的 EIG 目标

I(ξt)=Ep(θξ1:t1,y1:t1)p(ytθ,ξt)[logp(ytθ,ξt)p(ytξt)](3)I(\xi_t)=\mathbb{E}_{p(\theta|\xi_{1:t-1},y_{1:t-1})p(y_t|\theta,\xi_t)}\bigg[\log\frac{p(y_t|\theta,\xi_t)}{p(y_t|\xi_t)}\bigg]\tag{3}

其中 p(ytξt)=Ep(θξ1:t1,y1:t1)[p(ytθ,ξt)]p(y_t|\xi_t)=\mathbb{E}_{p(\theta|\xi_{1:t-1},y_{1:t-1})}[p(y_t|\theta,\xi_t)]

尽管适应性 BOED 框架具有的强大潜力,这种传统方法计算十分昂贵。在实验的每一个阶段 tt,我们必须计算后验 p(θξ1:t1,y1:t1)p(\theta|\xi_{1:t-1},y_{1:t-1}),其计算昂贵且由于依赖 y1:t1y_{1:t-1} 不能提前计算。此外,后验接下来被用来得到 ξt\xi_t,通过最大化 (3) 中的目标,其计算甚至更加费时,由于它涉及了一个双重难解量的优化。这些步骤都必须在实验过程中完成,意味着在实时实验设定下进行适应性 BOED 是不可行的,除非模型极其简单。

2.2 对比信息界

Foster 等人 (2020) 指出如果 ξΞ\xi\in\Xi 是连续的,在实验每个阶段的 EIG 近似优化可以由一个统一的随机梯度过程实现,同时估计并优化 EIG。这种方法的一个关键部分就是 EIG 上几个对比下界的求导,受到表示学习的工作的启发。一个这样的界是先验对比估计(Prior Contrastive Estimation, PCE)界,即

I(ξ)E[logp(yθ0,ξ)1L+1=0Lp(yθ,ξ)](4)I(\xi)\ge\mathbb{E}\Bigg[\log\cfrac{p(y|\theta_0,\xi)}{\frac{1}{L+1}\sum_{\ell=0}^L p(y|\theta_\ell,\xi)}\Bigg]\tag{4}

其中 θ0p(θ)\theta_0\sim p(\theta) 是用于生成 yp(yθ,ξ)y\sim p(y|\theta,\xi) 的样本,θ1:L\theta_{1:L} 是从 p(θ)p(\theta) 中独立抽取的 LL 个对比样本,随着 LL\rightarrow\infin 界变得更紧。这个 PCE 界可以被随机梯度上升最大化以近似最优设计 ξ\xi。如前面讨论的,在序列设定中这个随机梯度优化被重复 TT 次,在第 tt 步时用 p(θξ1:t1,y1:t1)p(\theta|\xi_{1:t-1},y_{1:t-1}) 代替 p(θ)p(\theta)

3 重新考虑序列 BOED

为了使适应性 BOED 部署于设计决定必须快速做出的设定中,我们首先需要重新思考传统迭代方法来产出一个整体考虑这个设计过程的形式化公式。为此,我们引入设计函数策略的概念,π\pi 从所有前面的设计-观测对的集合映射到下一个选择的设计。

hth_t 表示实验的历史 (ξ1,y1),,(ξt,yt)(\xi_1,y_1),\dots,(\xi_t,y_t)。对于一个给定的策略 π\pi 我们可以模拟历史,通过采样一个 θp(θ)\theta\sim p(\theta),然后对于每个 t=1,,Tt=1,\dots,T,固定 ξt=π(ht1)\xi_t=\pi(h_{t-1})(其中 h0=h_0=\varnothing)并采样 ytp(yθ,ξt)y_t\sim p(y|\theta,\xi_t)。这个生成过程的密度可以写为

p(θ)p(hTθ,π)=p(θ)t=1Tp(ytθ,ξt).(5)p(\theta)p(h_T|\theta,\pi)=p(\theta)\prod_{t=1}^T p(y_t|\theta,\xi_t).\tag{5}

§ 2.1 中描述的标准的序列 BOED 方法现在对应于一个昂贵的隐式策略 πs\pi_s,进行后验估计,然后进行 EIG 最优化以选择每个设计。与之相比,在 DAD 中,我们会学习一个直接选择设计的确定性的 π\pi

另一种考虑 πs\pi_s 的方式是它是对于 ξtht1\xi_t|h_{t-1} 分段优化下面的目标的策略

Iht1(ξt)Ep(θht1)p(ytθ,ξt)[logp(ytθ,ξt)p(ytht1,ξt)](6)I_{h_{t-1}}(\xi_t)\coloneqq\mathbb{E}_{p(\theta|h_{t-1})p(y_t|\theta,\xi_t)}\bigg[\log\frac{p(y_t|\theta,\xi_t)}{p(y_t|h_{t-1},\xi_t)}\bigg]\tag{6}

其中 p(ytht1,ξt)=Ep(θht1)[p(ytθ,ξt)]p(y_t|h_{t-1},\xi_t)=\mathbb{E}_{p(\theta|h_{t-1})}[p(y_t|\theta,\xi_t)]。因此对于由每个实验迭代的 EIG 之和给定的目标,它是最优的短视策略,即不能对自己未来的行动进行推理。注意,这不是最优的总体策略,因为它没有考虑到未来的决策:一些设计可能允许比其他设计更好的未来设计决策。

直观的例子:考虑在线段 [0,1][0,1] 上防止两个断点以产生最均匀大小的片段的问题。最优的短视策略把第一个设计放在 1/21/2 处,第二个在 1/41/43/43/4 处。这是次优的,因为最佳策略是把两个断点放在 1/31/32/32/3 处。

尝试学习一个高效的直接模仿 πs\pi_s 的策略会非常有计算挑战性,由于在训练的每个迭代处理推断和 EIG 估计的困难。实际上,自然的实现这一点的方法是运行一个完整的、非常昂贵的模拟的顺序 BOED 程序来生成每个训练样本。

相反,本文提出了一个新的重新形式化序列决策问题的策略,完全消除了计算后验分布和中间 EIG 的需要,同时也可以学习非短视的策略。这是通过利用 EIG 的一个重要性质实现的:一个序列实验的总 EIG 是每个实验迭代的(条件)EIG 之和。这在下面的结果中被形式化,为从 TT 个实验的整个序列中获得的期望信息增益提供了一个表达式。

定理 1TT 个实验的序列上对于策略 π\pi 的总期望信息增益为

IT(π)Ep(θ)p(hTθ,π)[t=1TIht1(ξt)](7)\mathcal{I}_T(\pi)\coloneqq\mathbb{E}_{p(\theta)p(h_T|\theta,\pi)}\Bigg[\sum_{t=1}^T I_{h_{t-1}}(\xi_t)\Bigg]\tag{7}

=Ep(θ)p(hTθ,π)[logp(hTθ,π)logp(hTπ)](8)=\mathbb{E}_{p(\theta)p(h_T|\theta,\pi)}[\log p(h_T|\theta,\pi)-\log p(h_T|\pi)]\tag{8}

其中 p(hTπ)=Ep(θ)[p(hTθ,π)]p(h_T|\pi)=\mathbb{E}_{p(\theta)}[p(h_T|\theta,\pi)]

定理 1 的证明见附录 A。直观上,IT(π)\mathcal{I}_T(\pi) 是从先验 p(θ)p(\theta)最终的后验 p(θhT)p(\theta|h_T) 的期望熵减值,不需考虑中间的后验。注意这里一个与先前的 BOED 形式化表述的重要不同在于:IT(π)\mathcal{I}_T(\pi) 是一个策略的函数,而不是设计本身的,设计现在是我们要在其上取期望的随机变量(由于设计依赖于前面的结果)。这实际上是传统 BOED 框架的一个严格的泛化:静态设计对应于由 TT 个固定的没有适应性的设计组成,其 (8) 与 I(ξ1:T)I(\xi_{1:T}) 相一致,而传统的适应性 BOED 近似 πs\pi_s

通过重新形式化我们从策略的角度的目标,我们构建了一个对于适应性的、非短视的设计的单个端到端的目标,并且在部署时只需要微不足道的计算:一旦学习到了 π\pi,它就可以在实验过程中直接求值。

4 深度适应性设计

定理 1 证明了最优设计函数 π=arg maxπIT(π)\pi^*=\argmax_\pi\mathcal{I}_T(\pi) 最大化未知潜变量 θ\theta 和使用那个策略产生的完整历史展开 hTh_T 间的互信息。DAD 试图使用神经网络显式地近似 π\pi^*,我们现在称为设计网络 πϕ\pi_\phi,具有可训练参数 ϕ\phi。这种基于策略的方法标志着对于不将设计决策显式表示为函数而是在实验中优化使用中的设计的现有方法的重大突破。

DAD 摊还实验设计的开销,通过训练网络参数 ϕ\phi,设计网络被训练去在许多种可能的实验结果间做出正确的设计决策。这消除了在线实验本身的适应性开销:在部署过程中设计网络通过网络的单次向前传递几乎立即选择下一个设计。此外,它提供了序列 BOED 过程的简化与高效化:仅需提前的端到端的一个神经网络的训练,这样就不需要建立复杂的自动推理和优化方法,否则就必须在在线实验期间在后台运行。DAD 方法的高层总结由算法 1 给出。

算法 1 深度适应性设计(Deep Adaptive Design,DAD)

输入:先验 p(θ)p(\theta),似然 p(yθ,ξ)p(y|\theta,\xi),步数 TT

输出:设计网络 πϕ\pi_\phi

while 未超出训练计算预算 do

采样 θ0p(θ)\theta_0\sim p(\theta) 并设定 h0=h_0=\varnothing

for t=1,,Tt=1,\dots,T do

计算 ξt=πϕ(ht1)\xi_t=\pi_\phi(h_{t-1})

采样 ytp(yθ0,ξt)y_t\sim p(y|\theta_0,\xi_t)

设定 ht={(ξ1,y1),,(ξt,yt)}h_t=\{(\xi_1,y_1),\dots,(\xi_t,y_t)\}

end

计算 dLT/dϕd\mathcal{L}_T/d\phi 的估计,按照 § 4.2

使用随机梯度上升方法更新 ϕ\phi

end

部署时,πϕ\pi_\phi 固定,我们取 ξt=πϕ(ht1)\xi_t=\pi_\phi(h_{t-1}) 且每个 yty_t 由运行使用 ξt\xi_t 的实验得到。

实现实时适应性 BOED 的可能仍然面临两个关键的技术挑战。首先,尽管统一的目标 IT(π)\mathcal{I}_T(\pi) 不需要中间的后验分布的计算,它仍然是一个难解的目标,由于 p(hTπ)p(h_T|\pi) 的存在。为了解决这个问题,本文推导出一组适合基于策略的设定的下界,并使用它们来构造 ϕ\phi 的随机梯度训练方法。其次,为了确保该网络可以高效地学习从历史到设计的映射,我们需要一个有效的架构。如后面所示,最优策略对于历史的顺序是不变的,我们使用这个关键的对称性来构建一个有效的设计网络。

4.1 序列实验的对比界

我们高层的目标是训练 πϕ\pi_\phi 来最大化互信息 IT(πϕ)\mathcal{I}_T(\pi_\phi)。与大多数机器学习任务相对比,这个目标是双重难解的,并且不能直接求值或甚至是用传统的蒙特卡洛估计量来估计,除了非常特殊的情况。事实上,得到对它或它的梯度的任一无偏估计是极其有挑战性且开销大的。因此,为了使用随机梯度方法训练 πϕ\pi_\phi,本文介绍并优化 IT(πϕ)\mathcal{I}_T(\pi_\phi)下界,基于 § 2.2 的思想。

公式 (8) 证明目标函数是两项比值的对数的期望。第一项是历史的似然 p(hTθ,π)p(h_T|\theta,\pi) 且能够用 (5) 直接求值。第二项是一个难解的边缘似然 p(hTπ)p(h_T|\pi),其与外面期望的每个样本不同,因此必须每一次分别地估计。

给定一个样本 θ0,hTp(θ,hTπ)\theta_0,h_T\sim p(\theta,h_T|\pi),我们可以通过引入 LL 个独立的对比样本 θ1:Lp(θ)\theta_{1:L}\sim p(\theta) 来进行这个估计。我们可以以两种不同的方式估计这个对数比值,依据我们是否把 θ0\theta_0 包含在我们对 p(hTπ)p(h_T|\pi) 的估计中:

gL(θ0:L,hT)=logp(hTθ0,π)1L+1=0Lp(hTθ,π)(9)g_L(\theta_{0:L},h_T)=\log\cfrac{p(h_T|\theta_0,\pi)}{\frac{1}{L+1}\sum_{\ell=0}^Lp(h_T|\theta_\ell,\pi)}\tag{9}

fL(θ0:L,hT)=logp(hTθ0,π)1L=1Lp(hTθ,π).(10)f_L(\theta_{0:L},h_T)=\log\cfrac{p(h_T|\theta_0,\pi)}{\frac{1}{L}\sum_{\ell=1}^Lp(h_T|\theta_\ell,\pi)}.\tag{10}

这些函数都可以通过重新计算在每个对比样本 θ1:L\theta_{1:L} 下的历史的似然来求值。我们注意到 gg 不会超过 log(L+1)\log(L+1),而 ff 可能无界(见附录 A 证明)。

我们现在证明使用 gg 来近似被积函数得到总目标 IT(π)\mathcal{I}_T(\pi) 的一个界,而使用 ff 则得到一个界。在训练过程中,我们关注下界,因为下界不会导致无界的比值估计,因此在数值上更稳定。我们把这个新的下界称为序列 PCE(sequential PCE, sPCE)。

定理 2(序列 PCE)对于一个设计函数 π\pi 和对比样本数量 L0L\ge0,令

LT(π,L)=Ep(θ0,hTπ)p(θ1:L)[gL(θ0:L,hT)](11)\mathcal{L}_T(\pi,L)=\mathbb{E}_{p(\theta_0,h_T|\pi)p(\theta_{1:L})}[g_L(\theta_{0:L},h_T)]\tag{11}

其中 gL(θ0:L,hT)g_L(\theta_{0:L},h_T) 如同 (9), θ0,hTp(θ,hTπ)\theta_0,h_T\sim p(\theta,h_T|\pi),且独立的 θ1:Lp(θ)\theta_{1:L}\sim p(\theta)。给定证明中讨论的小的技术假设,我们有

LT(π,L)IT(π) as L(12)\mathcal{L}_T(\pi,L)\uparrow\mathcal{I}_T(\pi)~as~L\rightarrow\infin\tag{12}

以速率 O(L1)\mathcal{O}(L^{-1})

xLxx_L\uparrow x 表示 xLx_L 是一个在 LL 内界限为 xx 的单调递增序列。

定理 2 的证明见附录 A。为了求值,为 sPCE 配对上界很有帮助,我们通过使用 ff 作为被积函数的估计得到上界

UT(π,L)=Ep(θ0,hTπ)p(θ1:L)[fL(θ0:L,hT)].(13)\mathcal{U}_T(\pi,L)=\mathbb{E}_{p(\theta_0,h_T|\pi)p(\theta_{1:L})}[f_L(\theta_{0:L},h_T)].\tag{13}

我们称这个界为序列嵌套蒙特卡洛(sequential Nested Monte Carlo, sNMC)。附录 A 中的定理 4 证明了 UT(π,L)\mathcal{U}_T(\pi,L) 满足对 LT(π,L)\mathcal{L}_T(\pi,L) 的互补性质。特别是,LT(π,L)IT(π)UT(π,L)\mathcal{L}_T(\pi,L)\le\mathcal{I}_T(\pi)\le\mathcal{U}_T(\pi,L) 且两个界都随 LL 增加严格变紧,随着 LL\rightarrow\infin 以速率 O(1/L)\mathcal{O}(1/L) 变精确。因此我们可以直接控制目标的偏差与训练计算消耗间的权衡。注意增长的 LL 对部署时消耗没有影响。关键的是,正如我们在实验中会看到的,我们倾向于只需要相对较少的 LL 值就能使 LT(π,L)\mathcal{L}_T(\pi,L) 成为有效的目标。

如果使用足够大的 LL 是有困难的(例如我们可用的训练时间严格受限),对于一个固定的 LL 可以进一步收紧这些界,通过引入一个摊还方案 q(θ;hT)q(\theta;h_T) 用于对比样本 θ1:L\theta_{1:L} 而不去从先验中抽取它们,如同 Foster 等人的方法。通过适当地调整 LT(π,L)\mathcal{L}_T(\pi,L),这个方案和设计网络可以同时用一个统一的目标进行训练,以类似变分自编码器的方式,可以让界本身在训练过程中变得更紧。所得到的更一般的一类边界在附录 B 中详细描述,可能为 DAD 方法提供进一步的改进。我们在这里专注于用 sPCE 训练为了表达和实现的简单性。

4.2 梯度估计

设计网络参数 ϕ\phi 可以用随机优化方法如 Adam 进行优化。这样的方法需要我们计算 sPCE 目标 (11) 的无偏梯度估计。贯穿始终,我们假设设计空间 Ξ\Xi 是连续的。

我们首先考虑当观测空间 Y\mathcal{Y} 也是连续的且似然 p(yθ,ξ)p(y|\theta,\xi) 可重参数化的情况。这意味着我们可以引入随机变量 ϵ1:Tp(ϵ)\epsilon_{1:T}\sim p(\epsilon) ,独立于 ξ1:T\xi_{1:T}θ0:L\theta_{0:L},满足 yt=y(θ0,ξt,ϵt)y_t=y(\theta_0,\xi_t,\epsilon_t)。因为我们已经知道了 ξt=πϕ(ht1)\xi_t=\pi_\phi(h_{t-1}),我们看到 hth_t 成为给定 ϵt\epsilon_tθ0\theta_0 条件下 ht1h_{t-1} 的一个函数。在这些假设下我们可以在期望内部取梯度算子并应用无意识统计学家法则写出

dLTdϕ=Ep(θ0:L)p(ϵ1:T)[ddϕgL(θ0:L,hT)].(14)\frac{d\mathcal{L}_T}{d\phi}=\mathbb{E}_{p(\theta_{0:L})p(\epsilon_{1:T})}\left[\frac{d}{d\phi}g_L(\theta_{0:L},h_T)\right].\tag{14}

我们使用 a/b\partial a/\partial bda/dbda/db 分别表示向量 aabb 的偏导数和全导数的雅可比矩阵。

我们现在可以构建无偏梯度估计 dgL(θ0:L,hT)/dϕdg_L(\theta_{0:L},h_T)/d\phi 通过从 p(θ0:L)p(ϵ1:T)p(\theta_{0:L})p(\epsilon_{1:T}) 中采样并求值。这个梯度可以通过自动微分框架简单地计算。

对于离散观测 yYy\in\mathcal{Y} 的情况,首先注意到给定一个策略 πϕ\pi_\phi,历史 hTh_T 中的随机性只来源于观测 y1,,yTy_1,\dots,y_T,由于设计是从过去的历史中确定地计算出的。这种情况下一种计算 (11) 的梯度的方法是在所有可能的历史 hTh_T 上求和,积分出变量 y1:Ty_{1:T},取关于 ϕ\phi 的梯度,给出

dLTdϕ=E[hTddϕ(p(hTθ0)gL(θ0:L,hT))],(15)\frac{d\mathcal{L}_T}{d\phi}=\mathbb{E}\left[\sum_{h_T}\frac{d}{d\phi}\Big(p(h_T|\theta_0)g_L(\theta_{0:L},h_T)\Big)\right],\tag{15}

其中期望是在 θ0:Lp(θ)\theta_{0:L}\sim p(\theta) 上取的。无偏梯度估计可以用从先验中采样的样本计算。不幸的是,这个梯度估计计算复杂度为 O(YT)\mathcal{O}(|\mathcal{Y}|^T),因此只有当实验次数 TT 和可能结果数量 Y|\mathcal{Y}| 都相对较小时才可使用。

为了解决列举所有可能历史不实际或者 Y\mathcal{Y} 是连续的但似然 p(hTθ,πϕ)p(h_T|\theta,\pi_\phi) 不是可重参数化的情况,本文提出了使用分数函数梯度估计量,也被称为 REINFORCE 估计量。分数函数梯度由下式给出

dLTdϕ=E[(logp(hTθ0,πϕ)=0Lp(hTθ,πϕ))ddϕlogp(hTθ0,πϕ)ddϕlog=0Lp(hTθ,πϕ)](16)\begin{aligned} \frac{d\mathcal{L}_T}{d\phi}=\mathbb{E}\left[\left(\log\frac{p(h_T|\theta_0,\pi_\phi)}{\sum_{\ell=0}^Lp(h_T|\theta_\ell,\pi_\phi)}\right)\frac{d}{d\phi}\log p(h_T|\theta_0,\pi_\phi) -\frac{d}{d\phi}\log\sum_{\ell=0}^L p(h_T|\theta_\ell,\pi_\phi)\right]\tag{16} \end{aligned}

其中期望是在 θ0,hTp(θ,hTπ)\theta_0,h_T\sim p(\theta,h_T|\pi) 上取的,θ1:Lp(θ)\theta_{1:L}\sim p(\theta) 且使用样本也可以得到无偏估计。这个梯度适用于广泛的现有方差减小方法,例如控制变量。然而在我们的实验中,我们发现标准分数函数梯度的方差足够小。完整的梯度推导见附录 C。

4.3 架构

最后,我们讨论用于 πϕ\pi_\phi 的深度学习架构。为了训练有效且高效,我们考虑 BOED 问题的一个关键的置换不变性,如下面的结果所示(证明见附录 A)。

定理 3(置换不变性)考虑一个置换 σSk\sigma\in S_k 作用于一个历史 hk1h_k^1,得到 hk2=(ξσ(1),yσ(1)),,(ξσ(k),yσ(k))h_k^2=(\xi_{\sigma(1)},y_{\sigma(1)}),\dots,(\xi_{\sigma(k)},y_{\sigma(k)})。对于所有这样的 σ\sigma,我们有

E[t=1TIht1(ξt)hk=hk1]=E[t=1TIht1(ξt)hk=hk2]\mathbb{E}\Bigg[\sum_{t=1}^TI_{h_{t-1}(\xi_t)}\Bigg|h_k=h_k^1\Bigg]=\mathbb{E}\Bigg[\sum_{t=1}^TI_{h_{t-1}(\xi_t)}\Bigg|h_k=h_k^2\Bigg]

使得 EIG 在置换下不变。进一步,开始于 hk1h_k^1hk2h_k^2 的最优策略相同。

这个置换不变性是一个许多机器学习问题重要的且充分研究的性质。一个系统表现出置换不变性的知识可以在神经网络架构设计中被利用可以进行重要的参数共享。一个常见的方式就是池化,包括求和或其他把多个输入的表示合并成一个对它们的顺序不变的表示。

使用这个思路,我们用一个固定维度的表示表示历史 hth_t,该表示由对历史的不同设计-结果对的表示进行池化形成

R(ht)k=1tEϕ1(ξk,yk),(17)R(h_t)\coloneqq\sum_{k=1}^tE_{\phi_1}(\xi_k,y_k),\tag{17}

其中 Eϕ1E_{\phi_1} 是一个神经网络编码器,具有要学习的参数 ϕ1\phi_1。注意这个池化表示如果我们重新排序标签 1,,t1,\dots,t 是相同的。按照惯例,空序列的和是 0。

我们接着构建我们的设计网络基于池化的表示 R(ht)R(h_t) 做出决策,通过设定 πϕ(ht)=Fϕ2(R(ht))\pi_\phi(h_t)=F_{\phi_2}(R(h_t)),其中 Fϕ2F_{\phi_2} 是一个学习的发射器网络。可训练的参数是 ϕ={ϕ1,ϕ2}\phi=\{\phi_1,\phi_2\}。通过以一种对问题的置换不变性敏感的方式组合简单的网络,我们更容易参数共享,其中网络 Eϕ1E_{\phi_1} 为每个输入对和每个时间步 tt 重用的。与被要求学习问题的相关的对称性的网络相比,这将显著提高性能。

5 相关工作

现有的序列 BOED 的方法主要延续 § 2.1 中概述的路线。传统方法中每一步要进行的后验推断已经有使用序列蒙特卡洛、群体蒙特卡洛、变分推断和拉普拉斯近似的方法。

每一步互信息目标的估计已经有嵌套蒙特卡洛、变分界、拉普拉斯近似、比值估计和混合方法。设计上的优化已经有贝叶斯优化、相互作用粒子系统、模拟退火、利用后悔界和老虎机方法。

有一些方法同时估计互信息并优化它,使用一个随机梯度过程。例子包括扰动分析、变分下界和多层蒙特卡洛。

一些最近的工作特别关注具有难解似然的模型。其他工作试图学习一种专注于特定可解情况的非短视的策略。

6 实验

我们现在在一系列实验设计问题上比较 DAD 和一些基线。我们通过扩展 PyTorch 和 Pyro 实现 DAD 来提供从特定问题抽象出来的实现。代码公开在 https://github.com/ae-foster/dad

由于我们的目的是实时适应设计,我们主要比较那些部署时快速的策略。最简单的基线是随机设计,随机均匀地选择设计。固定基线完全忽略适应的机会,使用静态设计在实验之前学习一个固定的 ξ1,,ξT\xi_1,\dots,\xi_T。我们使用 Foster 等人提出的有 PCE 界的 SG-BOED 方法来优化固定设计 ξ1:T\xi_{1:T}。我们还比较了为特定模型量身定制的启发式方法。

类似于摊还推断中摊还差距的概念,有人起初可能会认为 DAD 的性能相比传统的(非摊还的)使用 § 2.1 中传统迭代方法的 BOED 方法有所下降。为了评估这一点,我们也在传统迭代方法中使用了 Foster 等人提出的 SG-BOED 方法来近似 πs\pi_s,把这种方法成为变分基线,注意这种方法需要大量的运行时计算。我们也观察几个迭代 BOED 基线,这些基线专门针对于我们选择的例子进行定制。也许令人很惊讶,我们发现 DAD 不仅比起这些非摊还方法很有竞争性,而且经常能比他们表现更好。这会在 § 7 中进行讨论。

我们关注的第一个性能指标是总 EIG IT(π)\mathcal{I}_T(\pi)。当没有可用的 IT(π)\mathcal{I}_T(\pi) 的直接估计时,我们估计 sPCE 下界和 sNMC 上界。我们还展示了标准差,以表明不同实验实现(展开)之间的性能差异。我们进一步考虑部署时间(即预训练后运行试验本身的时间),这是我们衡量我们目标的关键指标。完整的实验细节见附录 D。

6.1 2D 中位置寻找

受 Sheng 和 Hu 的声能衰减模型的启发,我们考虑寻找多个隐藏源的位置的问题,每个隐藏源都发出一个强度按平方反比规律衰减的信号。总强度是这些信号的叠加。设计问题是要选择在哪里观测总信号来学习源的位置。

我们训练一个 DAD 网络来进行有 K=2K=2 个源的 T=30T=30 的实验。由 DAD 学到的设计可视化在图 1(a) 中。这里我们的网络学习到一个起初以螺旋形探索的复杂策略。一旦它检测到一个强信号,会开展多个靠近在一起的实验来改善位置的知识(注意靠近源的高密度的评估)。在图 1(b) 中展示的固定策略必须提前选择所有的设计位置,得出了一个均匀分散策略,不能“定向追踪”重要区域,因而收集的信息更少。

图 1 由 (a) DAD 网络和 (b) 固定基线学习到的给定从先验中采样的 θ\theta 的设计的例子。

表 1 报告了每个策略的 IT(π)\mathcal{I}_T(\pi) 上的上界和下界,证实了 DAD 比所有考虑的基线的性能要好得多。DAD 部署也比变分基线、其他适应性方法快了几个数量级,DAD 在一个轻量 CPU 上用时 0.0474±0.00030.0474\pm0.0003 秒做出所有 30 个设计决定而变分方法用时 8963 秒。

表 1 位置寻找实验的总 EIG I30(π)\mathcal{I}_{30}(\pi) 的上界和下界。误差表示在 256 个(变分)或 2048 个(其他)的展开上的 ±1\pm1 标准差。

改变设计视野 实际情况下要开展的实验的准确数字可能是未知的。图 2 表明我们的预训练进行 T=30T=30 次实验的 DAD 网络可以在部署时很好地泛化到 T30T'\ne 30 次实验,仍然比基线表现好,表明 DAD 对于训练序列的长度是鲁棒的。

图 2 位置寻找实验泛化序列长度。DAD 网络和固定策略训练进行 T=30T=30 次实验,而其他策略不需要预训练。固定策略不能泛化到比自己训练方式更长的序列。我们和表 1 中计算的一样表示有误差条的 sPCE 估计。

训练稳定性 为了评估不同训练轮次间的稳定性,我们训练了 16 个不同的 DAD 网络。在这 16 个轮次上计算的 IT(π)\mathcal{I}_T(\pi) 上的下界的均值和标准差为 10.91±0.01410.91\pm0.014,相配的上界是 12.47±0.04612.47\pm0.046。我们发现不同训练种子间的方差较小,表明 DAD 每次得到的设计质量相似。比较表 1,我们发现一个 DAD 网络的展开(即不同的 θ\theta)间的自然变化性要比不同 DAD 网络的平均性能间的方差要大。

A 证明

定理 1TT 个实验的序列上对于策略 π\pi 的总期望信息增益为

IT(π)Ep(θ)p(hTθ,π)[t=1TIht1(ξt)](7)\mathcal{I}_T(\pi)\coloneqq\mathbb{E}_{p(\theta)p(h_T|\theta,\pi)}\Bigg[\sum_{t=1}^T I_{h_{t-1}}(\xi_t)\Bigg]\tag{7}

=Ep(θ)p(hTθ,π)[logp(hTθ,π)logp(hTπ)](8)=\mathbb{E}_{p(\theta)p(h_T|\theta,\pi)}[\log p(h_T|\theta,\pi)-\log p(h_T|\pi)]\tag{8}

其中 p(hTπ)=Ep(θ)[p(hTθ,π)]p(h_T|\pi)=\mathbb{E}_{p(\theta)}[p(h_T|\theta,\pi)]

证明 我们首先用信息增益重写 Iht1I_{h_{t-1}}。这与我们在第 2 节中介绍的发展非常相似。(把 EIG 从信息增益开始的推导过程逆过来)通过贝叶斯定理的反复应用,我们得到

Iht1(ξt)=Ep(θht1)p(ytθ,ξt)[logp(ytθ,ξt)p(ytht1,ξt)]=Ep(θht1)p(ytθ,ξt)[logp(θht1)p(ytθ,ξt)p(θht1)p(ytht1,ξt)]\begin{aligned} I_{h_{t-1}}(\xi_t)&=\mathbb{E}_{p(\theta|h_{t-1})p(y_t|\theta,\xi_t)}\bigg[\log\frac{p(y_t|\theta,\xi_t)}{p(y_t|h_{t-1},\xi_t)}\bigg]\\ &=\mathbb{E}_{p(\theta|h_{t-1})p(y_t|\theta,\xi_t)}\bigg[\log\frac{p(\theta|h_{t-1})p(y_t|\theta,\xi_t)}{p(\theta|h_{t-1})p(y_t|h_{t-1},\xi_t)}\bigg]\\ \end{aligned}