人工智能时代的实验设计
为了更好地理解这个复杂的话题,让我们想象一下,在一个化学实验室团队中,他们必须选择最佳配方来制造更轻的生物塑料,因此目标是最小化最终产品的密度,而塑料材料的所有其他特性相同。一个基本的例子是实验成本,因为实验设计的经典公式假设任何配置的成本都是等价的。然而,实际上,成本因配置而异。每个代理模型都有其优点和缺点,选择通常取决于手头问题的具体特征,例如输入空间的维数、目标函数的性质以及可用的计算资源。
E实验设计 (ED) 方法在研发实验中得到广泛应用,重点是确定最佳实验条件和配置以满足特定目标。这些方法旨在最大限度地减少所需的实验数量,同时最大限度地提高收集的数据的信息产量。
最优实验设计 (OED) 是 ED 框架中的一种现代方法,通常表述为贝叶斯优化 (BO) 问题,其中训练机器学习 (ML) 模型来估计数据、其不确定性并发现数据中隐藏的知识。它使用显式获取函数 (AF),其中包含目标性能、不确定性和问题的约束。AF 可以包含参数估计的精度、模型预测的经验误差或实验成本等标准。
OED 假设一些可靠的实验/合成数据已经可用。因此,可以使用代理函数或模型推断实验结果,在物理数据收集或数值模拟方面评估成本更低。该代理可以被广泛采样,并且通常使用采集函数的无梯度方法来搜索最佳参数。
OED 方法通常有 3 个关键要素:
- 实验域的定义
- 构建代理模型(代理)以近似黑盒函数(即实验)
- 目标的贝叶斯优化:获取函数和优化,用于查找要查询的点以进行下一个评估评估。
这是一个典型的 OED 循环,本文将详细介绍:

典型应用的 OED 循环工作流程
在本文中,我们将介绍 OED 的工作流程、python 中最常用的框架以及一个示例用例来阐明这些概念。
处理分类数据
选择用于表示实验中测试设计因素(输入)和响应(输出)的数据类型会对进行实验所需的资源及其各自分析的质量产生重大影响。
数据可以分为数字(定量)或分类(定性)。
分类数据类型在实验数据库中经常遇到,并且本身就是一个挑战。事实上,与数值数据类型相比,此类数据包含的信息量相对较少,而且它们通常不会被 ML 算法本地处理。
使用数值数据类型,尤其是连续数据类型,可以最大限度地提高检验有效性,因为检验测量需要更小的样本量并产生更紧密的置信区间。已经证明,使用二元响应而不是连续响应相当于丢弃 38% 到 60% 的测试运行 [cohen1983][hamada2002]。此外,如果提供了规格限制,则可以轻松地将数值响应转换为分类响应,但由于信息丢失,不可能执行相反的作。然而,大多数机器学习算法要求输入变量是数字的。
在某些情况下,您必须处理分类数据,因此您可以选择不同的 ML 方法,例如整数编码、单热编码、留一等。进行实验室实验时使用的一种常用方法是基于物理的编码。
虽然上面列出的传统方法被广泛使用,但探索受研究过程背后的物理学启发的方法具有优势。作为数据科学家,深入研究特定领域知识并与领域专家讨论手头的技术至关重要。基于物理的方法旨在将领域知识或物理原理纳入编码过程。这些方法通常并不快速和简单,但提供了有趣的可能性:
- 捕获领域专家知识来表示分类变量,并利用已知与其他量的相互作用(例如,将化学物质的名称与其测量的特换)。
- 对编码表示施加物理约束(例如,由于物理限制,您可以强制某些类别不能同时共存)。通过合并此类约束,您可以确保编码特征与系统的底层物理场保持一致。
- 在优化过程中纳入受物理启发的规则(例如,守恒定律)。
现在我们已经设置了这一点,我们应该转向 OED 的世界。
实验域的定义
在牛津英语词典领域,实验领域是指进行实验的参数(作条件)范围。
与领域专家讨论每个实验参数的合理最小和最大限制至关重要:这是实验活动的重点。
域映射
如果实验活动是从头开始的,那么定义初始测试集以开始探索可能会很有用。在多变量上下文中,有一些方法有助于设置开始探索该领域的最有效方法,例如:
- 一次一个因素 (OFAT):是一种在所有其他因素保持不变的情况下研究一个因素变化对输出的影响的方法。这是最基本的映射方法,也是效率最低的一种。
- 阶乘方法:经典的 DOE 方法,通过同时改变更多因子来研究因子的影响。析因设计是一种强大的方法,用于研究多个变量对单个响应的影响,将变量的不同值(称为因子)组合起来以创建许多可能的组合。这种域探索可以针对每个组合(全阶乘)或仅对组合的子集(分数阶乘)执行,以减少资源的使用。
- 拉丁超立方采样 (LHS):LHS 的概念非常适合多维空间,并且基于拉丁方设计。在二维拉丁方格中,每行和每列只有一个样本。拉丁语超立方体将这个想法推广到任意数量的维度。使用 LHS 时,我们将每个变量(维度)的范围划分为等距的区间。然后放置采样点以满足正交性的拉丁超立方体要求,并最大限度地减少不同点之间的相关性。重要的是要考虑到每个变量沿维度轴的划分数保持相等。
LHS 的主要优点之一是,随着维数数量的增加,它不需要更多的样本:这种独立于维数的独立性很有价值。
从文献中收集数据
建议在开始任何实验活动之前对科学文献中的可用数据进行广泛的研究。从文献中收集的数据可能非常宝贵,当经过企业验证时,可以与当前数据合并以丰富可用数据集。科学论文和参考技术知识的来源可以是:
Semantic Scholar | AI-Powered Research Tool
https://www.sciencedirect.com/
构建代理模型以近似黑盒函数
在现实世界中,实验通常就像一个黑盒函数,每个查询都缓慢且昂贵。为了解决这个问题,应该构建一个类似于原始黑盒函数输出并返回相关不确定性量化的代理模型。该代理的查询速度必须更快、更便宜。
下面我们列出了用于构建 OED 代理的最常用模型。
高斯过程 (GP)
贝叶斯优化中最流行的代理模型,因为它们具有灵活性和提供预测不确定性度量的能力。它提供了具有均值和方差的概率预测,使其适合平衡探索和开发。对于大型数据集,高斯过程 [gp] 的计算成本可能很高,因为复杂性随数据点的数量呈立方比例。可以使用调用独立 API 的 GP,也可以利用 BoTorch [BT],这是一个包含 GP 和贝叶斯优化的集成框架。
基于树的模型
决策树模型提供了一种稳健且非参数的方法来对目标函数进行建模。它们对超参数选择的敏感性低于 GP,并且可以很好地处理高维数据。另一方面,树木自然不会提供不确定性的衡量标准,但可以使用分位数回归森林或 catboost 等方法来近似。[统计1]
贝叶斯神经网络 (BNN)
BNN 是具有贝叶斯框架的神经网络,用于对其预测中的不确定性进行建模。它们可以捕获数据中的复杂模式,并可以很好地扩展大型数据集。与 GP 和基于树的模型相比,它们通常训练起来更具挑战性,并且需要大量的计算资源。
敏感性研究
特征重要性和敏感性分析是机器学习中的一个重要概念,有助于理解输入特征对模型预测的相对重要性和影响。通常,这些技术根据每个输入特征与模型的相关性为每个输入特征分配一个分数,并帮助量化特征变化如何影响输出值。例如,XGBoost 或随机森林等模型通常提供在模型训练后直接从 API 访问特征重要性的权限。
还有一些专用工具可以利用统计方法进行敏感性分析:
- 排列特征重要性:它涉及随机打乱特征的值并衡量其对模型性能的影响。性能下降表明该功能的重要性(与目标变量的强关联)。
- 沙普利方法:它起源于合作博弈论,提供了一种分配每个特征对整体预测的贡献的方法。Shapley 值表示特征在所有可能的特征子集中的平均边际贡献。他们通过考虑所有可能的功能组合及其贡献来确保公平。Python 库提供了用于计算 Shapley 值的工具,它为不同算法的特征重要性提供了统一的框架。[shap1]
可以计算回归(预测数值)和分类(预测类标签)问题的敏感性。作为一般规则,应始终对模型进行灵敏度研究,以更好地解释输出并确定哪些特征对模型不太有用。事实上,通过只关注重要的输入特征来减少输入特征可以提高模型效率并降低 OED 的复杂性。
目标的贝叶斯优化
下一步是构建要优化的采集功能。这方面最强大的工具之一是贝叶斯优化 (BO),它可以在知道每次测量的不确定性的情况下优化函数。例如,在实验案例中,它优化了以下形式的昂贵黑盒系统:
![]()
其中 X 是设计空间,目标函数 f(x) 没有闭式表示,不提供函数导数,只允许通过物理实验进行逐点缓慢且昂贵的评估。然而,函数 f 的计算可能会被噪声破坏。因此,我们在点上收到的输出是
![]()
其中噪声项 ε 通常假定为正态分布,均值为 0,方差为 σ²。
在《牛津英语词典》中,黑盒函数 f(x) 被前面讨论的更便宜的代理模型所取代。
为了指导优化过程,贝叶斯优化使用获取函数。获取函数通常是一个计算成本低的函数,用于评估查询点 x 对于优化问题的需求程度。换句话说,它使用了上面解释的代理模型方法,它用另一个优化问题替换了我们原来的问题,但使用更便宜的函数。每个采集函数都可以调整探索(搜索空间的新区域)和开发(关注已知表现良好的区域)之间的权衡。

通过每个步骤中采集函数最大化建议的连续测量来近似目标函数。来源 [baratchi2024]
常见的采集功能包括:
置信上限 (UCB)
它是最简单的获取函数,明确包含μ的预期目标值及其在域点 x 处σ的不确定性,从而形成两个量的加权和:
![]()
权重 k 是根据用例任意决定的,该函数允许直接调整勘探-开发权衡。
预期改进 (EI)
选择平衡探索(尝试新配置)和利用(使用已知信息)的试验。它考虑了新实验的当前最佳值与期望值之间的差值。更具探索性,寻找更有可能改进的地区。[EIF]
改进概率 (PI)
重点关注新实验 f(x) 在当前最佳值基础上获得改进 I(x) 的概率。
![]()
它特别考虑了模型改进I的累积分布函数(CDF)。它纯粹是剥削性的,有利于那些更有可能获得高目标值的地区。
每个代理模型都有其优点和缺点,选择通常取决于手头问题的具体特征,例如输入空间的维数、目标函数的性质以及可用的计算资源。有关这些采集功能的更多技术详细信息,请参阅 [ACQF]
自定义采集功能
在选择了适当的采集功能后,可能需要定制以满足实际用例需求。坚持可能设计的实验约束可能很多。通常区分三类葡萄:作约束、弱约束和强约束。同样的约束在一种情况下可以被视为弱,在另一种情况下是强。ODE 必须通过将数学边界和惩罚嵌入到获取函数中来考虑这些约束。
重要的是要注意,应该先验地定义葡萄区以限制探索空间。
作限制(又称边界)
实验设计的经典表述假设过程的作域是一个超立方体,但现实世界中的这个空间不是无限的,必须服从无法克服的技术限制。
事实上,许多情况可能会出现以下问题:
- 某些配置可能无法作
- 某些输入可能受到其他输入的约束
在这些情况下,需要对采集功能进行适当的自定义。
您可能遇到的约束示例包括:
- 配置不可行(或不相关)
- 可能与实际截止日期相冲突的实验时间表
- 以特定顺序进行实验的可能性或必要性
弱约束和强约束(又称惩罚)
弱约束和强约束代表在技术上可以克服但这样做不方便的限制。对于哪些约束是弱的或强的,没有一个通用的定义,必须与领域专家一起根据业务需求为每个案例定义这些约束。
一个基本的例子是实验成本,因为实验设计的经典公式假设任何配置的成本都是等价的。然而,实际上,成本因配置而异。根据预算可用性,在某些情况下,成本可能是一个很大的限制,而对于其他情况来说,成本可能是一个弱限制。
这种分析(作约束 + 弱/强约束)应该导致对手头问题的详细表述。只有经过这些分析,才能选择正确的方法。必须事先定义约束值。
多目标问题
在某些用例中,设计将涉及多个要同时优化的黑盒目标。当所有目标都必须尽可能最大化/最小化时,正确的方法是将每个目标作为新的包含指标包含在采集函数中。必须与领域专家一起选择适当的权重,以便将所有目标归一化为相同的数量级和/或将每个目标的相对重要性纳入采集函数的输出中。这一步将归结为一个优化问题。
例如,一种简单的方法是对目标进行加权求和,以获得单个指标 f* :

此外,当约束本身不精确时,通常在 X 中搜索某个有界域上的采集函数 f(x) 的全局最大值,但受一组约束函数 c₁, ... , ck 的非正性的影响。
框架
本节介绍了一系列库,这些库可分别用于实验域的定义、代理模型的构建以及贝叶斯优化的通用框架。
PyDOE:旨在构建适当实验设计的包。该软件包目前包括用于为任意数量的因素创建设计的功能。[pydoe]
BoTorch:建立在 PyTorch 之上的贝叶斯优化研究库。它提供了一个模块化且易于扩展的接口,用于编写贝叶斯优化原语,包括概率模型、采集函数和优化器。[BT]
玩具示例
为了更好地理解这个复杂的话题,让我们想象一下,在一个化学实验室团队中,他们必须选择最佳配方来制造更轻的生物塑料,因此目标是最小化最终产品的密度,而塑料材料的所有其他特性相同。可以纵的变量是工艺温度、添加剂及其浓度。
在进行任何实验之前,明智的做法是浏览文献,以获取有关生物塑料和创新生产技术的任何可用数据,然后将所有相关数据放入数据库中。
然后应设定温度、添加剂的选择及其浓度的实验边界。添加剂的名称可能应用其相关化学性质代替,以便仅具有数值特征并提高信息含量。
可以使用映射方法找到第一个最优变量集,也可以使用文献数据库构建代理模型,对其进行训练,然后进行贝叶斯优化以找到信息量最大的实验变量。这些建议的变量应指导下一个实验选择。
最后,每个实验选择产生的生物塑料密度将被添加到数据库中,以便重新训练模型并继续循环。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐

所有评论(0)