机器学习 (ML) 和组合优化 (CO) 是现代工业流程的两个重要组成部分。ML 方法能从嘈杂的数据中提取有意义的信息,而 CO 可以在高维受限环境中做出决策。在许多情况下,我们希望将这两种工具结合使用,例如从数据中生成预测,然后使用这些预测做出优化决策。因此,混合 ML-CO pipeline 成为一个新兴的研究方向。

 

然而这里存在两个问题。首先,CO 问题的解通常表现为其目标参数的分段常函数,而 ML pipeline 通常使用随机梯度下降进行训练,因此斜率是非常关键的。其次,标准的 ML 损失在组合环境中效果不佳。

 

此外,组合优化层(CO 层)往往缺乏良好的实现。近日一项新研究从概率学的角度提出了实现 CO 层的方法,有助于近似微分和结构化损失的构建。

论文地址:https://arxiv.org/abs/2207.13513

 

基于这种思路,该研究提出了一个开源的 Julia 包——InferOpt.jl,它的功能包括:

 

  • 允许将任何具有线性目标函数的 CO oracle 转换为可微层;

  • 定义损失函数来训练包含可微层的 pipeline。

InferOpt.jl 开源包地址:https://github.com/axelparmentier/inferopt.jl

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