DifferentiableFrankWolfe
Documentation for DifferentiableFrankWolfe.jl.
Index
DifferentiableFrankWolfe.DifferentiableFrankWolfe
DifferentiableFrankWolfe.ConditionsFW
DifferentiableFrankWolfe.DiffFW
DifferentiableFrankWolfe.ForwardFW
DifferentiableFrankWolfe.simplex_projection
DifferentiableFrankWolfe.simplex_projection_and_support
API reference
DifferentiableFrankWolfe.DifferentiableFrankWolfe
— ModuleDifferentiableFrankWolfe
Differentiable wrapper for FrankWolfe.jl convex optimization routines.
DifferentiableFrankWolfe.DiffFW
— TypeDiffFW{F,G,M,A,I}
Callable parametrized wrapper for the Frank-Wolfe algorithm θ -> argmin_{x ∈ C} f(x, θ)
, which can be differentiated implicitly wrt θ
.
The automatic differentiation backend must be compatible with ChainRules.jl (for instance Zygote.jl).
Reference: https://arxiv.org/abs/2105.15183 (section 2 + end of appendix A).
Fields
f::F
: functionf(x, θ)
to minimize wrtx
f_grad1::G
: gradient∇ₓf(x, θ)
off
wrtx
lmo::M
: linear minimization oracleθ -> argmin_{x ∈ C} θᵀx
from [FrankWolfe.jl], implicitly defines the convex setC
alg::A
: optimization algorithm from FrankWolfe.jlimplicit::I
: implicit function from ImplicitDifferentiation.jl
DifferentiableFrankWolfe.simplex_projection
— Functionsimplex_projection(z)
Compute the Euclidean projection of the vector z
onto the probability simplex.
This function is differentiable thanks to a custom chain rule.
Reference: https://arxiv.org/abs/1602.02068.
DifferentiableFrankWolfe.simplex_projection_and_support
— Functionsimplex_projection_and_support(z)
Compute the Euclidean projection p
of z
on the probability simplex as well as the indicators s
of its support, which are useful for differentiation.
Reference: https://arxiv.org/abs/1602.02068.
DifferentiableFrankWolfe.ForwardFW
— TypeForwardFW{F,G,M,A}
Underlying solver for DiffFW
, which relies on a variant of Frank-Wolfe.
DifferentiableFrankWolfe.ConditionsFW
— TypeConditionsFW{F,G,M}
Differentiable optimality conditions for DiffFW
, which rely on a custom simplex_projection
implementation.