多参数昂贵模型的优化

计算科学 优化 计算物理学 机器学习 逆问题
2021-12-19 07:27:33

我有一个物理模型,它采用参数并给出输出,需要数十分钟才能运行。我需要优化这些参数以使输出尽可能接近数据。问题当然是评估成本很高,而且可能更糟糕的是,有这么多参数。502000

到目前为止,我发现的最佳建议是使用某种代理模型并对其进行优化。然而,这些代理模型总是(据我所知)只有一个输出的函数,即成本函数。这当然仍然是一个选项,因为我需要一些方法来量化模型的好坏,所以我试图最小化然后我可以例如使用贝叶斯优化或二次代理来优化它。χ2

我的问题是就像模型结果和高维输出空间中的数据之间的“距离”。这感觉就像丢掉了大量信息,因为任何仅基于成本函数的优化方法都只使用关于这个距离的信息,而不是模型的实际行为。作为一种物理模型,某些参数会以特定方式影响输出,并且可以在某种程度上手动拟合数据。这是在没有明确引用的情况下完成的,但是作为人类意味着它不会是完美的。它也感觉类似于“逆问题”,在该问题中,人们试图为给定数据找到最可能的参数。χ2χ2

那么我的问题是:是否可能存在一种方法来为完整模型创建某种替代品,而不仅仅是为来复制人们在手动搜索时使用的洞察力,而不仅仅是查看“距离” '?即使将优化问题放在一边,这仍然有助于了解不同参数如何影响输出,从而更好地理解物理学,但我担心使用机器学习之类的东西需要太多的评估。相比是否值得χ2χ2直接地?最后,逆问题的想法是否有帮助,即是否有某种方法可以获取许多输出并将它们“投影”到最可能的参数上,或者这只是陈述同一问题的另一种方式?

额外信息:计算不是特别嘈杂。对参数没有限制,但手动拟合已经很好地了解了我应该在哪里环顾四周。我还确定了我认为最重要的参数,以防优化这么多参数太困难。15

2个回答

50是很多参数。您可以尝试进行基本的一阶敏感性分析,以确定是否可以放弃其中任何一个。

使用贝叶斯优化来最小化成本函数是处理您遇到的问题的一种方法。但请记住,您的标准 L2 规范可能在高维中具有违反直觉的行为(请参阅关于高维空间中距离度量的令人惊讶的行为)。

另一种方法是使用贝叶斯历史匹配。一些很好的资料来源是Gardner 2019,“Sequential Bayesian History Matching for Model Calibration”Pievatolo 2018,“基于多尺度计算机实验的油藏贝叶斯线性不确定性分析”

BHM 背后的想法是您对参数空间进行采样,然后为每个输出参数训练仿真器(通常是高斯过程),这样如果仿真器收到一个新的参数集,它就可以在给定参数集的情况下预测输出变量。

您现在可以使用模型的实际输出、GPR 的标准偏差和 GPR 预测作为衡量给定参数集产生不可信模型输出的可能性的指标。

这样做会迭代地缩小参数空间的大小,有时会显着缩小。例如,Andrianakis 2015,“使用仿真的复杂传染病模型的贝叶斯历史匹配:乌干达 HIV 的教程和案例研究”使用这些技术将复杂 HIV 模型的不可信参数空间减少了 10 倍^11.

不幸的是,如果您有足够少的观察结果可以验证您的模拟器,这往往效果最好。

(我在这里对历史匹配包做了一些工作,但恐怕它还没有到对你有用的地步。)

是的,模型运行几十分钟是很多的。如果您使用基于梯度的最小化算法(例如BFGS)来计算参数,则可以考虑使用伴随方法来非常有效地计算梯度。