2024-07-12 –, Method (1.5)
InferOpt.jl is a Julia package for using combinatorial optimization algorithms in machine learning pipelines. It enables more expressive machine learning pipelines, and unlocks new applications in both machine learning and combinatorial optimization fields.
The goal of this talk is to showcase InferOpt's features and capabilities through some application examples.
Combinatorial optimization algorithms and many discrete functions in general are piecewise constant in their input, which means zero derivatives almost everywhere. Using these as layers in machine learning pipelines is difficult because of this lack of meaningful gradients.
InferOpt.jl is a toolbox containing many state-of-the art layers and loss functions that can be used learn such hybrid pipelines. Each method is implemented as a generic wrapper for the combinatorial function you want to differentiate through, fully compatible with ChainRules.jl automatic differentiation ecosystem, and machine learning packages such as Flux.jl.