We introduce DiffOpt.jl, a Julia library to differentiate through the solution of convex optimization problems with respect to arbitrary parameters present in the objective and/or constraints. The library builds upon MathOptInterface, thus leveraging the rich ecosystem of solvers and composing well with modelling languages like JuMP. DiffOpt offers both forward and reverse differentiation modes, enabling multiple use cases from hyperparameter optimization to backpropagation and sensitivity analysis, bridging constrained optimization with end-to-end differentiable programming.
翻译:我们引入了DiffOpt.jl,这是一个Julia图书馆,通过解决与目标和(或)限制中存在的任意参数有关的细微优化问题加以区分,该图书馆以MatthOpt Interface为基础,从而利用丰富的解决问题者的生态系统,并用像JuMP这样的模拟语言很好地拼凑。 DiffOpt提供前向和反向差异模式,使从超参数优化到反向分析和敏感度分析的多种使用案例得以使用,将有限的优化与端到端的不同编程连接起来。