在有限 computational budget 下,借助 low-fidelity 模型提高精度
- 论文名称:context-aware learning of hierarchies of low-fidelity models for multi-fidelity uncertainty quantification
 - 链接:https://www.sciencedirect.com/science/article/pii/S0045782523000312
 - 国际计算力学领域的顶级期刊《Computer Methods in Applied Mechanics and Engineering》(中科院一区 TOP,IF:6.756)
 
0 abstract
背景:
- multi-fidelity Monte Carlo 方法利用 low-fidelity and surrogate models 来减少方差(variance),使不确定性量化变得可行,尽管物理系统的 high-fidelity 数值模拟计算成本很高。
 
工作简述:
我们提出了一种 context-aware 的 multi-fidelity Monte Carlo 方法,实现了训练 low-fidelity 模型的成本和 Monte Carlo 采样的成本之间的最佳平衡。
当训练 low-fidelity 模型时,我们考虑到了所学的 low-fidelity 模型将被使用的背景,即在 Monte Carlo 估计中减少方差,这使得它能够在训练和抽样之间找到最佳的权衡,以最小化给定计算预算(computational budget)下估计器的均方误差(mean-squared error)上限。
继承了之前的工作:
- 它将以前开发的 context-aware bi-fidelity Monte Carlo 方法,推广到多个模型的层次结构 和 更普遍的 low-fidelity 模型类型,如 sparse-grid(比如说 PDE 仿真的网格粒度粗一点)和 deep-network。
 
文献树上的位置:
- 我们与传统的 surrogate modeling 和 model reduction 技术不一样,后者构建 low-fidelity 模型的主要目的是为了很好地接近 high-fidelity 模型的输出,通常忽略了所学模型在 upstream tasks 中的 context。
 
实验结果:
- 用陀螺动力学模拟代码 Gene 进行的数值实验表明,在做一个不确定性量化时,与 single-fidelity Monte Carlo 和 standard multi-fidelity estimators 相比,速度提高了两个数量级:相当于在德州高级计算中心 Lonestar6 超级计算机的一个节点上,运行时间从 72 天减少到 4 小时。
 
1 intro & related method
- literature:[1] 是一个 Multi-Fidelity 的 survey。其他 literature 懒得整理了。
 - motivation:如果没有现成的 low-fidelity model,那么就需要首先训练得到它们,这可能会产生额外的计算成本,并且需要对 high-fidelity model 进行额外的评估,以产生训练数据。
 - main idea:该方法将 ① 训练多个 low-fidelity 模型的层次的成本 ② 蒙特卡洛采样以获得多保真估计器的成本进行 trade-off,在给定的 computational budget 下,使均方误差(mean-squared error)的上限最小(context-aware:最大限度地减少蒙特卡罗估计的方差),而不是尽可能接近 high-fidelity model。
 - structure:
- 2:preliminaries,介绍符号定义,传统的 multi-fidelity Monte Carlo 算法,他们之前做的一个 bi-fidelity context-aware 算法。
 - 3:method。
 - 4:两个 experiment,1 具有九个不确定参数的二维空间域上的热传导问题,2 具有不确定输入的现实等离子体微扰动情况。数值结果的代码:https://github.com/ionutfarcas/context-aware-mfmc
 
 
2 背景 & 前情提要
2.1 背景:static multi-fidelity Monte Carlo estimation
- \(f^{(0)}:X→Y\) 是一个输入-输出响应(input-output response),expensive to evaluate。输入为 d 维,输出为 1 维。
- 对一个随机变量 Θ=[Θ1,Θ2,...,Θd]^T,我们想估计 f^(0)(Θ) 的期望值 μ0。
 
 - MFMC(multi-fidelity Monte Carlo)estimator 包含 k+1 个模型,f^(0) high-fidelity,f^(1) ... f^(k) low-fidelity。
- low-fidelity model 的精度 ρ:用 f^(j) 对 f^(0) 的 Pearson correlation coefficient 来定义:\(\rho_j = Cov[f^{(0)}, f^{(j)}]/σ_0σ_j\),其中 σ 是方差(variance)。设定 ρ_k+1 = 0。
 - models 的评估成本:w1, w2, ..., wk>0。归一化 high-fidelity f^(0) 的评估成本 w0 = 1。
 - 假设模型们满足排序:精度:1 = |ρ0|>|ρ1|>…>|ρk|;评估成本:\(w_{j-1}/w_{j}\gt[ρ^2_{j-1}-ρ^2_j]/[ρ^2_{j}-ρ^2_{j+1}]\)。
 
 - 设 m_j 为 model f^(j) 的评估次数,0 ≤ m0 ≤ m1 ≤ … ≤ m_k。每一次评估都从独立同分布(iid)的分布 \(\pi\) 里抽样。
 - 于是 MFMC estimator 形式:\(\hat E^{MFMC} = \hat E_{m_0}^{(0)}+\sum_{j=1}^k\alpha_j(\hat E_{m_j}^{(j)}-\hat E_{m_{j-1}}^{(j)})\),其中 $\hat E_{m_j}^{(j)}=\frac 1 {m_0}f^{(0)}(\boldsymbol\theta_i) $ 即 f(θ) 的均值。
 - 总 computational cost: \(p=\sum_{j=0}^km_jw_j\)。
 - 我们把 p 固定(budget),去找最优的 \(m_0^*, \cdots, m_k^*\) 以及 \(\alpha_0^*, \cdots, \alpha_k^*\),来让 \(\hat E^{MFMC}\) 的方差最小。
- \(\hat E^{MFMC}\) 的 MSE = \(\frac {\sigma_0^2}p\bigg(\sum_{j=0}^k\sqrt{w_j(\rho_j^2-\rho_{j+1}^2)}\bigg)^2\)。
 - 其实是有闭式解的,见 [14]。
 
 
2.2 前情提要:context-aware bi-fidelity Monte Carlo estimator
他们之前做的 context-aware bi-fidelity MC estimator 的工作是 [2]。
- 改了一下 notation: low-fidelity model \(f_n^{(1)}\) 表示训 f^(1) 需要用 high-fidelity f^(0) 的 n 个样本。
 - 假设所有 low-fidelity model 都是用相同的 NN 来训,唯一不同的是训练样本数量,那么 Pearson 系数 ρ1 和评估成本 w1 都取决于 n。
 - 【这是假设 assumption】Pearson 系数的 bound:\(1-\rho_1^2(n)\le c_1n^{-\alpha}\);评估成本的 bound:\(w_1(n)\le c_2n^\beta\);其中 c1 c2 α>0 β>0 都是常数。
 
我们的 budget 是 p。如果用 n 个样本训练 f^(1),那么还有 p-n 的预算用于 f^(1) 的评估。
context-aware bi-fidelity MC estimator: \(\hat E_n^{CA-MFMC}=\hat E_{m_0^*}^{(0)}+\alpha_1^*(E_{m_1^*}^{(1)}-E_{m_0^*}^{(1)})\) ,决策变量为 \(m_0^*, m_1^*, α_1^*\) ,目标函数为最小化 \(\hat E_n^{CA-MFMC}\) 的 MSE。
- \(\hat E_n^{\rm CA-MFMC}\) 的 MSE = \(\frac{\sigma_0^2}{p-n}\bigg(\sqrt{1-\rho_1^2(n)}+\sqrt{w_1(n)\rho_1^2(n)}\bigg)^2\) (公式 2.6)。
 
如果预算 p 是固定的,n 可以通过最小化 MSE 的上界来选择。
- 上界: \(\rm {MSE}(\hat E_n^{CA-MFMC})\le\frac{2\sigma_0^2}{p-n}(c_1n^{-\alpha}+c_2n^\beta)\) 。
 - 工作 [2] 表明,在某些假设下,给定一个 p,存在一个唯一的 n∗,最小化(2.6);然而,n∗ 没有闭式解,只能数值寻找。
 - 最佳的 n∗ 是独立于预算 p 的。
 
3 method
3.1 一些关于 multi-fidelity models 的假设
- 假设 1:存在 \(c_{a,j}\ge0\),函数 \(r_{a,j}(n_j)\) 值为正数、对 n_j 单调递减、二次可微。限制精度(Pearson 系数): \(1-ρ_j^2(n_j)\le c_{a,j}r_{a,j}(n_j)\)。
 - 假设 2:存在 \(c_{c,j}\ge0\),函数 \(r_{c,j}(n_j)\) 值为正数、对 n_j 单调递增、二次可微。限制评估成本: \(w_j(n_j)\le c_{c,j}r_{c,j}(n_j)\)。
 - 貌似,假设两个 r 函数为: \(r_{a,j}=n^{-\alpha},r_{c,j}=n^\alpha,\alpha\gt0\) 。
 - 一个备注:事实上,如果一组数据拿去训 f^(i),那么也有可能可以拿去训 f^(j);不过,更有可能的一种情况是,两个模型结构不一样,需要的训练数据结构也不一样,所以不能重用,所以,下文都不考虑样本的重用。
 
3.2 只用一个 low-fidelity 模型:[2] 基础上的改进
- 首先,放缩 \(\rm MSE(\hat E_n^{CA-MFMC})\le\frac{2\sigma_0^2}{p-n}(c_{a,1}r_{a,1}(n_1)+c_{c,1}r_{c,1}(n_1))\),将它记为 u1。接下来,我们关心这个 upper bound 何时存在唯一的全局最小值。
- PS:证明直接看原文吧,本科高数难度。
 
 - 命题 1 :u1 何时存在唯一的全局最小值:
- 假设满足 \(c_{a,1}r''_{a,1}(n_1)+c_{c,1}r''_{c,1}(n_1)\gt0\)【公式 (3.6)】。那么,u1 具有唯一的全局最小值 \(n_1^*\in[1,p-1]\)。
 
 - 命题 2 :假设对于所有 \(n_1\in(0,\infty)\) 满足 公式 (3.6),
- 并且存在一个 \(\bar n_1\in(0,\infty)\) 使得 \(c_{a,1}r_{a,1}(\bar n_1)+c_{c,1}r'_{c,1}(\bar n_1)=0\)。那么 \(\bar n_1\) 是唯一的,并且 \(n_1^*\le\max\{1,\bar n_1\}\)。
 
 
3.3 context-aware multi-fidelity MC sampling
一种 sequential 训练方法,来为 CA-MFMC estimator 拟合 hierarchies of low-fidelity models,其中每一步都实现了 training 和 sampling 之间的 optimal trade-off。
我主要关心 context-aware 是什么东西。
- 引理 1:在假设 1 假设 2 下,CA-MFMC estimator 的 MSE 的 upper bound:
- \(\rm MSE(\hat E_{n_1,\cdots,n_k}^{CA-MFMC}) \le \frac{(k+1)\sigma_0^2}{p_{k-1}-n_k}(\kappa_{k-1}+\hat c_{a,k}r_{a,k}(n_k)+c_{c,k}r_{c,k}(n_k))\) 。
 - 其中 \(p_{k-1}=p-\sum_{j=1}^{k-1}n_j,~~p_0=p\) ,
 - \(\kappa_{k-1}=c_{a,1}r_{a,1}(n_1)+\sum_{j=1}^{k-2}c_{c,j}r_{c,j}(n_j)c_{a,j+1}r_{a,j+1}(n_{j+1}),~~\kappa_0=0\) ,
 - \(\hat c_{a,k} = c_{c,k-1}r_{c,k-1}(n_{k-1})c_{a,k},~~\hat c_{a,1} =c_{a,1}\) 。
 - (重申:n 是训 low-fidelity model 的样本数量)
 - 证明:直接用一个 平方和不等式 展开。
 
 - 看这个 upper bound 括号内加和的部分,\(\hat c_{a,k}\) 和 \(κ_{k-1}\) 都仅依赖于 \(n_1, \cdots,n_{k-1}\),而 \(r_{a,k}(n_k),~r_{ck}(n_k)\) 仅依赖于 n_k。这启发了一种 sequentially 向 CA-MFMC estimator 添加 low-fidelity model 的做法。
- 给定 \(n_1, \cdots,n_{k-1}\),寻找 \(n_k\),使得 \(u_j(n_j;n_1, \cdots,n_{k-1}):[1,p_{j-1}-1]\rightarrow(0,\infty)\),\(u_j(n_j;n_1, \cdots,n_{k-1})=\frac1{p_{j-1}-n_j}(\kappa_{j-1}+\hat c_{a,j}r_{a,j}(n_j)+c_{c,k}r_{c,k}(n_j))\)。
 
 - 命题 3:使用命题 1,即 \(n_1^*\) 是 u1 的全局最小值。现在去考虑 j = 2,3,...,k。
- 若 \(\hat{c}_{a, j} r_{a, j}^{\prime \prime}\left(n_j\right)+c_{c, j} r_{c, j}^{\prime \prime}\left(n_j\right)>0\),则存在 u_j 的全局最小值 \(n_j^* \in\left[1, p_{j-1}-1\right]\)。
 - 证明好像跟命题 1 同理。
 
 - 命题 4:使用命题 1,即 \(n_j^*\) 是 u_j 的全局最小值。
- 若存在 \(\bar{n}_j \in(0, \infty)\) 使得 \(\hat{c}_{a, j} r_{a, j}^{\prime}\left(\bar{n}_j\right)+c_{c, j} r_{c, j}^{\prime}\left(\bar{n}_j\right)=0\),则有 \(n_j^* \leq \bar{n}_j\),即 \(n_j^*\) 的一个 upper bound。
 - 继续跟命题 2 同理,归纳法。
 
 - 一个备注:models 的 hierarchy 必须满足评估次数 m 递减(2.1)。
 
啊…… 这就结束了?感觉看了一肚子数学…
4 experiment
图挺好看的。
要赶着看 MFRL 了,不细看了。
在有限 computational budget 下,借助 low-fidelity 模型提高精度的更多相关文章
- AliIAC 智能音频编解码器:在有限带宽条件下带来更高质量的音频通话体验
		
随着信息技术的发展,人们对实时通信的需求不断增加,并逐渐成为工作生活中不可或缺的一部分.每年海量的音视频通话分钟数对互联网基础设施提出了巨大的挑战.尽管目前全球的互联网用户绝大多数均处于良好的网络状况 ...
 - windows 下借助7zip实现命令行解压缩
		
windows 下借助7zip实现命令行解压缩 64位电脑下载 https://www.7-zip.org/a/7z1805-x64.exe 安装 安装目录下所有文件如下: 在命令行下只需要用到 7z ...
 - ubuntu下借助qt creator创建属于自己的共享库
		
简介: 在 Windows 上,共享库由 .dll 表示:在 Linux 上,由 .so 表示. Shared Library的优势 共享库,又称动态库或so文件,顾名思义,它可以在可执行文件启动时加 ...
 - 基于SourceTree 下的 Git Flow 模型
		
基于SourceTree 下的 Git Flow 模型 1. sourceTree 是一个开源的git 图形管理工具,可下载mac版本,windows版本 2. Git Flow 是一套使用Git进 ...
 - .NET平台下几种SOCKET模型的简要性能供参考
		
转载自:http://www.cnblogs.com/asilas/archive/2006/01/05/311309.html .NET平台下几种SOCKET模型的简要性能供参考 这个内容在cnbl ...
 - 借助Visual Studio Code提高基于ActionScript的LayaAir HTML5游戏的调试效率
		
借助Visual Studio Code提高基于ActionScript的LayaAir HTML5游戏的调试效率 使用Visual Studio Code(VS Code)调试的优势 借助VS Co ...
 - java线程基础巩固---多线程下的生产者消费者模型,以及详细介绍notifyAll方法
		
在上一次[http://www.cnblogs.com/webor2006/p/8419565.html]中演示了多Product多Consumer假死的情况,这次解决假死的情况来实现一个真正的多线程 ...
 - u-boot下的DM驱动模型  阶梯状 (转)
		
U-boot 下DM驱动模型的相关笔记要注意的关键两点: DM驱动模型的一般流程bind->ofdata_to_platdata(可选)->probe 启动,bind操作时单独完成的 ...
 - MySQL DROP DB或TABLE场景下借助SQL Thread快速应用binlog恢复方案
		
[问题] 假设有这种场景,误操作DROP DB或TABLE,常规的恢复操作是还原全备份,并用mysqlbinlog追加到drop操作前的位置. 如果需要恢复的binlog的日志量比较大而我们只希望恢复 ...
 - Ubuntu下借助URLOS实现快速安装DzzOffice企业办公套件
		
如今,越来越多的个人.团队甚至企业都在使用GSuite或者Office365等网络办公套件,为什么人们越来越喜爱使用网络办公套件?一方面是考虑数字资产的安全性以及管理效率,另一方面则是日益增大的协同办 ...
 
随机推荐
- api接口基础Day1
			
精华笔记: String: String的常用方法: length():获取字符串的长度(字符个数) trim():去除当前字符串两边的空白字符 toUpperCase()/toLowerCase() ...
 - 【ES6】迭代器
			
简介 在 JavaScript 中,迭代器是一个对象,它定义一个序列,并在终止时可能返回一个返回值. 更具体地说,迭代器是通过使用 next() 方法实现迭代器协议的任何一个对象,该方法返回具有两个属 ...
 - [cisco][LAB]OSPF in NBMA
			
NBMA為一種沒有廣播類型的的網路連接,這會使得OSPF建立需要手動設定 拓樸如下: R1# ! interface Loopback0 ip address 172.16.1.1 255.255.2 ...
 - sql server 索引检测
			
-- 声明表变量 DECLARE @userTable TABLE (table_name NVARCHAR(20)); -- 将源表中的数据插入到表变量中 INSERT INTO @userTabl ...
 - vue 作者在2022-2-7起宣布 vue3 正式作为默认版本
			
vue 作者在2022-2-7起宣布 vue3 正式作为默认版本 vue 作者尤雨溪在知乎上发布一篇文章,宣布 Vue3 将在 2022 年 2 月 7 日 成为新的默认版本! 并且还在文章中做出了一 ...
 - 一个关于 Linux环境下输出操作符 >和>>的问题
			
[>和>>的区别]命令>文件,表示以覆盖的方式,把命令正确输出到指定的文件或者设备当中:命令>>文件,表示以追加的方式,把命令正确输出到指定的文件或者设备当中. [ ...
 - Java笔记第十三弹
			
函数式接口 有且仅有一个抽象方法的接口 适用于Lambda使用的接口 @FunctionalInterface//表示函数式接口 函数式接口作为方法的参数 public class Main{ pub ...
 - pyinstall打包工具使用简介
			
使用pyinstall进行多个文件打包,直接打包主入口文件即可 pyinstaller MainUI.py -F -n ServerMonitorv200 -i PIC.ico -w 此处MainUI ...
 - mybatisplus数据层标准开发---分页功能
			
1.创建一个拦截器类 package com.itheima.config; import com.baomidou.mybatisplus.extension.plugins.MybatisPlus ...
 - 表现标准语言CSS3学习 入门+导入方式
			
表现标准语言CSS3学习 入门+导入方式 如何学习: css是什么 css怎么用(快速入门) css选择器(重点+难点) 美化网页(文字.阴影.超链接.列表.渐变...) 盒子模型 浮动 定位 网页动 ...