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.
翻译:机器学习(ML)管道中的组合优化层(CO)是处理数据驱动决策任务的有力工具,但面临两大挑战。首先,解决CO问题往往作为客观参数的零星常态功能。鉴于ML管道通常使用随机梯度梯度下降进行训练,缺乏斜度信息非常有害。第二,标准的ML损失在组合环境中效果不佳。越来越多的研究机构通过多种方法应对这些挑战。不幸的是,缺乏妥善维护的执行减缓了CO层的采用。在本文中,我们在先前的作品的基础上,对CO2层引入了一种概率性观点,这自然地有助于接近差异和结构损失的构建。我们从文献中回收了许多方法,作为特例,我们还从新的方法。基于这种统一的观点,我们介绍了InferOpt.jl,一个开放源的Julia软件包,1)允许将任何具有线性目标的CO或Cacle变成不同的层,2 定义了对含有这种层次的管道操作进行充分培训的损失。我们用任意的图解算法和图解算的图书馆工作, 以任意的图解算方式展示了其他的图路路。