本文将介绍美国特拉华大学的Dionisios G.Vlachos课题组近期发表在Journal of Chemical Information and Modeling上的一篇工作:NEXTorch: A Design and Bayesian Optimization Toolkit for Chemical Sciences and Engineering,即一个基于贝叶斯优化器来辅助实验科学的主动学习Python库,借此机会也会简述“主动学习”框架是如何助力实验科学的。

NEXTorch工作流示意图

NEXTorch所用的算法与Nature高通量反应的工作类似,都是基于高斯过程回归的贝叶斯优化算法,分为先验函数(目标函数,即预测模型)与采样函数。NEXTorch提供了高斯过程回归模型作为先验函数,而采样函数提供了许多选择,包括权衡explore与exploit的Expected Improvement(EI)、侧重局部exploit的probability of improvement(PI)、比较置信区间的最大值的upper confidencebound (UCB)以及它们的Monte Carlo变体 (qEI, qPI, qUCB)。

实验设计(Design of Experiments,DOE)策略决定了初始化实验参数的设定,影响了探索参数空间的效率与覆盖率。作者通过比较,发现拉丁超立方体抽样(Latin hypercube sampling,LHS)方法比完全随机、全因子设计(full factorial design)等方法效果要好,结合贝叶斯优化器经过几轮采样迭代后,更接近真实空间。

除了单目标实验,NEXTorch还支持多目标实验优化(Multiobjective Optimization,MOO),并支持对不同目标设置不同权重。

对于实验参数,NEXTorch不仅支持连续变量,例如温度、时长、pH,还支持离散变量,例如定义的不同分类(category)以及顺序离散值。对于分类型离散值,作者采用连续松弛(continuous relaxation)的策略使得在采样时近似到最近的值;对于顺序离散值,作者采用0到n-1的整数编码,结合连续松弛的近似采样方法。在此基础上,NXTorch也可以处理混合型数值(连续离散的变量)。

论文链接:

https://pubs.acs.org/doi/10.1021/acs.jcim.1c00637

官方文档:

https://nextorch.readthedocs.io/en/latest

内容中包含的图片若涉及版权问题,请及时与我们联系删除