论文标题
使用组合优化层学习:一种概率方法
Learning with Combinatorial Optimization Layers: a Probabilistic Approach
论文作者
论文摘要
机器学习(ML)管道中的组合优化(CO)层是解决数据驱动决策任务的强大工具,但它们面临两个主要挑战。首先,CO问题的解决方案通常是其客观参数的分段常数函数。鉴于ML管道通常是使用随机梯度下降训练的,因此缺乏斜率信息是非常有害的。其次,标准ML损失在组合设置中不能很好地工作。越来越多的研究通过各种方法解决了这些挑战。不幸的是,缺乏维护良好的实现会减慢采用CO层。 在本文的基础上,我们对CO层介绍了概率的观点,该观点自然而然地是近似分化和结构化损失的构建。我们从文献中恢复了许多特殊案例的方法,我们也得出了新方法。基于这个统一的观点,我们提出了一个ifferopt.jl,一个开源朱莉娅软件包,1)允许将任何具有线性物镜的Co Oracle转换为可区分的层,以及2)定义足够的损失以训练包含此类层的管道。我们的图书馆使用任意优化算法,并且与朱莉娅的ML生态系统完全兼容。我们使用视频游戏地图上的路径问题作为指导示例以及操作研究中的其他三个应用程序来证明其能力。
Combinatorial optimization (CO) layers in machine learning (ML) pipelines are a powerful tool to tackle data-driven decision tasks, but they come with two main challenges. First, the solution of a CO problem often behaves as a piecewise constant function of its objective parameters. Given that ML pipelines are typically trained using stochastic gradient descent, the absence of slope information is very detrimental. Second, standard ML losses do not work well in combinatorial settings. A growing body of research addresses these challenges through diverse methods. Unfortunately, the lack of well-maintained implementations slows down the adoption of CO layers. In this paper, building upon previous works, we introduce a probabilistic perspective on CO layers, which lends itself naturally to approximate differentiation and the construction of structured losses. We recover many approaches from the literature as special cases, and we also derive new ones. Based on this unifying perspective, we present InferOpt.jl, an open-source Julia package that 1) allows turning any CO oracle with a linear objective into a differentiable layer, and 2) defines adequate losses to train pipelines containing such layers. Our library works with arbitrary optimization algorithms, and it is fully compatible with Julia's ML ecosystem. We demonstrate its abilities using a pathfinding problem on video game maps as guiding example, as well as three other applications from operations research.