the frank-wolfe algorithm - inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · the...

43
The Frank-Wolfe Algorithm Recent Results and Applications to High-Dimensional Similarity Learning and Distributed Optimization Aur´ elien Bellet el´ ecom ParisTech Joint work with A. Bagheri Garakani, K. Liu and F. Sha (USC), Y. Liang (Princeton), M.-F. Balcan (CMU)

Upload: others

Post on 04-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

The Frank-Wolfe AlgorithmRecent Results and Applications to

High-Dimensional Similarity Learning andDistributed Optimization

Aurelien BelletTelecom ParisTech

Joint work with A. Bagheri Garakani, K. Liu and F. Sha (USC), Y.Liang (Princeton), M.-F. Balcan (CMU)

Page 2: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

A bit about me

I PhD in Computer Science (Dec 2012)I Universite Jean Monnet, Saint-EtienneI Advisors: Marc Sebban, Amaury Habrard

I Postdoc in 2013–2014 (18 months)I University of Southern California, Los AngelesI Working with Fei Sha

I Joined Telecom ParisTech in OctoberI Chaire “Machine Learning for Big Data”I Working with Stephan Clemencon

Page 3: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Outline of the talk

1. Introduction

2. The Frank-Wolfe algorithm

3. Leveraging Frank-Wolfe in large-scale learningI Similarity learning in high dimensionsI Distributed sparse learning

Page 4: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Introduction

Page 5: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

IntroductionLearning to combine

I Many machine learning models can be decomposed as(convex) combinations of basic units

I Majority votes

H(x) = sign

[n∑

i=1

wihi (x)

]I Kernel methods

H(x) =n∑

i=1

wik(x , xi )

I Matrix models

M =n∑

i=1

wiu iuTi

I . . .

I Given a dictionary, just need to learn the combining weights

Page 6: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

IntroductionLearning to combine with parsimony

I The size of the dictionary is often very large (or infinite)

I In this case we typically favor a sparse solutionI Better generalizationI Faster predictionI Interpretability

I Popular trick: use sparsity-inducing regularizerI `1 norm (relaxation of `0 norm)I Trace norm (relaxation of rank)

I But many methods (e.g., gradient descent) do not guaranteesparsity on the optimization path

I Training time and memory issues

I Principled way to sequentially build models of increasingcomplexity?

Page 7: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

The Frank Wolfe algorithm(a.k.a. conditional gradient)

Page 8: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

The Frank-Wolfe algorithmSetup and algorithm

Convex minimization over feasible domain D

minα∈D

f (α)

I f convex and smooth (with L-Lipschitz gradient w.r.t. ‖ · ‖)I D convex and compact

Let α(0) ∈ Dfor k = 0, 1, . . . do

s(k) = arg mins∈D⟨s,∇f (α(k))

⟩α(k+1) = (1− γ)α(k) + γs(k)

end for

Figure adapted from [Jaggi, 2013]

Page 9: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

The Frank-Wolfe algorithmConvergence and interesting properties

Convergence [Frank and Wolfe, 1956, Clarkson, 2010, Jaggi, 2013]

Let γ = 2/(k + 2). At any k ≥ 1, α(k) is feasible and satisfies

f (α(k))− f (α∗) ≤2L diam‖·‖(D)2

k + 2

I Projection-free algorithmI In contrast to projected gradient descent:

α(k+1) = PD(α(k) − γ∇f (α(k))

)I Solve a linear problem at each iteration

I Solution is at a vertex of D

I If D has special structure, each iteration can be very cheap

Page 10: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

The Frank-Wolfe algorithmUse-case: D is a convex hull

I When D = conv(A), FW is greedyI At each iteration, add an element a ∈ A to the current iterate

I Example 1: D is the `1-norm ballI A = ±e ini=1I Linear problem: find maximum absolute entry of gradientI Iterates are sparse: α(0) = 0 =⇒ ‖α(k)‖0 ≤ kI FW finds an ε-approximation with O(1/ε) nonzero entries,

which is worst-case optimal [Jaggi, 2013]

I Example 2: D is the trace-norm ballI A = uvT : u ∈ Rn, ‖u‖2 = 1, v ∈ Rm, ‖v‖2 = 1I Linear problem: find largest singular vector of gradientI Iterates are low-rank: M(0) = 0 =⇒ rank(M(k)) ≤ kI FW finds an ε-approximation of rank O(1/ε), which is

worst-case optimal [Jaggi, 2011]

Page 11: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learningfor high-dimensional sparse data

[Liu et al., 2015]

Page 12: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataMetric learning – Motivation

I Distance and similarity functions are everywhere in machinelearning and data mining

I Nearest neighbors, clustering, kernel methods, ranking,dimensionality reduction, visualization. . .

I How to define an appropriate similarity score?I Crucial to performance of above algorithmsI Obviously, problem-dependentI Let’s learn it from data!

Page 13: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataMetric learning – Basic recipe

1. Pick a parametric form of distance or similarity functionI (Generalized) Mahalanobis distance

dM(x , x ′) =√

(x − x ′)TM(x − x ′) with M symmetric PSD

I Bilinear similarity

SM(x , x ′) = xTMx ′ with M ∈ Rd×d

2. Collect similarity judgments on data pairs/tripletsI x i and x j are similar (or dissimilar)I x i is more similar to x j than to xk

3. Estimate parameters such that metric best satisfies themI Convex optimization and the like

Page 14: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataMetric learning – A statistical view for the classification setting

I Training data zi = (xi , yi )ni=1 drawn from an unknowndistribution µ over X × Y (Y discrete label set)

I Distance functions dM : X × X → R+ indexed by M ∈ Rd×d

I Minimize the empirical risk

Rn(M) =2

n(n − 1)

n∑1≤i<j≤n

I [r(yi , yj)(dM(xi , xj)− 1) > 0]

where r(y , y ′) = 1 if y = y ′ and -1 otherwise

I Hope to achieve small expected risk

R(M) = Ez,z ′∼µ

[I[r(y , y ′)(dM(x , x ′)− 1) > 0

]]I Can also define the risk on triplets of observations

Page 15: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataMetric learning – Illustration

Metric Learning

I Extensive survey: see [Bellet et al., 2013]

Page 16: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataSetting and contributions

I Assume data points are high-dimensional (d > 104) butD-sparse (on average) with D d

I Bags-of-words (text, image), bioinformatics, etc

I Existing metric learning algorithms failI Intractable: training cost O(d2) to O(d3), memory O(d2)I Severe overfitting

I Practitioners use dimensionality reduction (PCA, RP)I Poor performance in presence of noisy featuresI Resulting metric difficult to interpret for domain experts

I Contributions of this workI Learn similarity in original high-dimensional spaceI Time/memory costs independent of dI Explicit control of similarity complexity

Page 17: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataBasis set

I We want to learn a similarity function SM(x , x ′) = xTMx ′

I Given λ > 0, for any i , j ∈ 1, . . . , d, i 6= j we define

P(ij)λ =

· · · · ·· λ · λ ·· · · · ·· λ · λ ·· · · · ·

N(ij)λ =

· · · · ·· λ · −λ ·· · · · ·· −λ · λ ·· · · · ·

Bλ =

⋃ij

P(ij)λ ,N(ij)

λ

M ∈ Dλ = conv(Bλ)

I One basis involves only 2 features:

SP(ij)λ

(x , x ′) = λ(xix′i + xjx

′j + xix

′j + xjx

′i )

SN(ij)λ

(x , x ′) = λ(xix′i + xjx

′j − xix

′j − xjx

′i )

Page 18: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataProblem formulation and convergence

I Optimization problem (smoothed hinge loss `)

minM∈Rd×d

f (M) =1

C

C∑c=1

`(

1− xTc My c + xT

c Mzc

)s.t. M ∈ Dλ

I Use a FW algorithm to solve it

Convergence

Let L = 1C

∑Cc=1 ‖xc(y c − zc)T‖2

F . At any iteration k ≥ 1, the

iterate M(k) ∈ Dλ of the FW algorithm:

I has at most rank k + 1 with 4(k + 1) nonzero entries

I uses at most 2(k + 1) distinct features

I satisfies f (M(k))− f (M∗) ≤ 16Lλ2/(k + 2)

Page 19: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataComplexity analysis

I FW can be implemented efficiently on this problem

I An optimal basis can be found in O(CD2) time and memoryeven though there are O(d2) different bases

I An approximately optimal basis can be found in O(mD2) withm C using a Monte Carlo approximation of the gradient

I Or even O(mD) using a heuristic (good results in practice)

I Storing M(k) requires only O(k) memory

I Or even the entire sequence M(0), . . . ,M(k) at the same cost

Page 20: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataPreliminary experiments

I K -NN test error on datasets with d up to 105

Datasets identity rp+oasis pca+oasis diag-`2 diag-`1 hdsl

dexter 20.1 24.0 9.3 8.4 8.4 6.5dorothea 9.3 11.4 9.9 6.8 6.6 6.5

rcv1 2 6.9 7.0 4.5 3.5 3.7 3.4rcv1 4 11.2 10.6 6.1 6.2 7.2 5.7

I Sparsity structure of the matrices

(a) dexter (20, 000×20, 000matrix, 712 nonzeros)

(b) rcv1 4 (29, 992×29, 992matrix, 5263 nonzeros)

Page 21: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Similarity learning for high-dimensional sparse dataOngoing work

I Generalization bounds specific to each iterateI Explicit trade-off: stop early vs optimization errorI Tools: U-statistics and Rademacher complexity

R(M(k)) ≤ Rn(M∗) + O

(1

k

)+ O

(√log k

n

)

I If we assume the existence of a ground truth sparse metricI Can we recover it based on similarity judgements?I Preliminary results on synthetic data encouragingI Theory?

Page 22: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficientsparse learning

[Bellet et al., 2015]

Page 23: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningDistributed setting

I General settingI Data arbitrarily distributed across different sites (nodes)I Examples: large-scale data, sensor networks, mobile devicesI Communication between nodes can be a serious bottleneck

I Research questionsI Theory: study tradeoff between communication complexity and

learning/optimization errorI Practice: derive scalable algorithms, with small communication

and synchronization overhead

Page 24: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningProblem of interest

Problem of interest

Learn sparse combinations of n distributed “atoms”:

minα∈Rn

f (α) = g(Aα) s.t. ‖α‖1 ≤ β (A ∈ Rd×n)

I Atoms are distributed across a set of N nodes V = viNi=1

I Nodes communicate across a network (connected graph)

I Note: domain can be unit simplex ∆n instead of `1 ball

∆n = α ∈ Rn : α ≥ 0,∑i

αi = 1

Page 25: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningApplications

I Many applicationsI LASSO with distributed featuresI Kernel SVM with distributed training pointsI Boosting with distributed learnersI ...

Example: Kernel SVM

I Training set z i = (x i , yi )ni=1

I Kernel k(x , x ′) = 〈ϕ(x), ϕ(x ′)〉I Dual problem of L2-SVM:

minα∈∆n

αTKα

I K = [k(z i , z j)]ni ,j=1 with k(z i , z j) = yiyjk(x i , x j) + yiyj +δijC

I Atoms are ϕ(z i ) = [yiϕ(x i ), yi ,1√Ce i ]

Page 26: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningDistributed FW algorithm (dFW)

Gradient form

I Gradient of the objective: ∇f (α) = AT∇g(Aα)

I Each entry j ∈ [n] is given by [∇f (α)]j = aTj ∇g(Aα)

Algorithm steps

1. Each node vi computes its local gradient [∇f (α)]j∈vi

aj ∈ Rd

Page 27: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningDistributed FW algorithm (dFW)

Gradient form

I Gradient of the objective: ∇f (α) = AT∇g(Aα)

I Each entry j ∈ [n] is given by [∇f (α)]j = aTj ∇g(Aα)

Algorithm steps

2. Nodes share their local largest entry in absolute value

aj ∈ Rd

Page 28: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningDistributed FW algorithm (dFW)

Gradient form

I Gradient of the objective: ∇f (α) = AT∇g(Aα)

I Each entry j ∈ [n] is given by [∇f (α)]j = aTj ∇g(Aα)

Algorithm steps

3. Node with global best shares corresponding atom aj ∈ Rd

Page 29: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningDistributed FW algorithm (dFW)

Gradient form

I Gradient of the objective: ∇f (α) = AT∇g(Aα)

I Each entry j ∈ [n] is given by [∇f (α)]j = aTj ∇g(Aα)

Algorithm steps

4. All nodes perform a FW update and start over

aj ∈ Rd

Page 30: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningConvergence of dFW

I Let B be the cost of broadcasting a real number

Theorem (Convergence of exact dFW)

After O(1/ε) rounds and O ((Bd + NB)/ε) total communication,each node holds an ε-approximate solution.

I Tradeoff between communication and optimization error

I No dependence on total number of combining elements

Page 31: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningApproximate variant

I Exact dFW is scalable but requires synchronizationI Unbalanced local computation → significant wait time

I Strategy to balance local costs:I Node vi clusters its ni atoms into mi groupsI We use the greedy m-center algorithm [Gonzalez, 1985]I Run dFW on resulting centers

I Use-case examples:I Balance number of atoms across nodesI Set mi proportional to computational power of vi

Page 32: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningApproximate variant – Analysis

I DefineI ropt(A,m) to be the optimal `1-radius of partitioning atoms inA into m clusters, and ropt(m) := maxi r

opt(Ai ,mi )I G := maxα ‖∇g(Aα)‖∞

Theorem (Convergence of approximate dFW)

After O(1/ε) iterations, the algorithm returns a solution withoptimality gap at most ε+ O(Gropt(m0)). Furthermore, ifropt(m(k)) = O(1/Gk), then the gap is at most ε.

I Additive error depends on cluster tightness

I Can gradually add more centers to make error vanish

Page 33: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningCommunication complexity – Lower bound

Theorem (Communication lower bound)

Under mild assumptions, the worst-case communication cost ofany deterministic algorithm is Ω(d/ε).

I Shows that dFW is worst-case optimal in ε and d

I Proof outline:

1. Identify a problem instance for which any ε-approximatesolution has O(1/ε) atoms

2. Distribute data across 2 nodes s.t. these atoms are almostevenly split across nodes

3. Show that for any fixed dataset on one node, there are Tdifferent instances on the other node s.t. in any 2 suchinstances, the sets of selected atoms are different

4. Any node then needs O(logT ) bits to figure out the selectedatoms, and we show that logT = Ω(d/ε)

Page 34: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningExperiments

I Objective value achieved for given communication budgetI Comparison to baselines (not shown)I Comparison to distributed ADMM

I Runtime of dFW in realistic distributed settingI Exact dFWI Benefits of approximate variantI Asynchronous updates

Page 35: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningExperiments – Comparison to distributed ADMM

I ADMM [Boyd et al., 2011] is popular to tackle manydistributed optimization problems

I Like dFW, can deal with LASSO with distributed featuresI Parameter vector α partitioned as α = [α1, . . . ,αN ]I Communicates partial/global predictions: Aiαi and

∑Ni=1 Aiαi

I Experimental setupI Synthetic data (n = 100K , d = 10K ) with varying sparsityI Atoms distributed across 100 nodes uniformly at random

Page 36: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningExperiments – Comparison to distributed ADMM

I dFW advantageous for sparse data and/or solution, whileADMM is preferable in the dense setting

I Note: no parameter to tune for dFW

LASSO results (MSE vs communication)

Page 37: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningExperiments – Realistic distributed environment

I Network specsI Fully connected with N ∈ 1, 5, 10, 25, 50 nodesI A node is a single 2.4GHz CPU core of a separate hostI Communication over 56.6-gigabit infrastructure

I The taskI SVM with Gaussian RBF kernelI Speech data with 8.7M training examples, 41 classesI Implementation of dFW in C++ with openMPI1

1http://www.open-mpi.org

Page 38: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningExperiments – Realistic distributed environment

I When distribution of atoms is roughly balanced, exact dFWachieves near-linear speedup

I When distribution is unbalanced (e.g., 1 node has 50% of thedata), great benefits from approximate variant

0 500 1000 1500 20000

0.2

0.4

0.6

0.8

1x 10

−3

Runtime (seconds)

Objective

dFW, N=1dFW, N=5dFW, N=10dFW, N=25dFW, N=50

(a) Exact dFW on uniform distribution

0 500 1000 1500 2000 25000

0.2

0.4

0.6

0.8

1x 10

−3

Runtime (seconds)

Objective

dFW, N=10, uniformdFW, N=10, unbalancedApprox dFW, N=10

(b) Approximate dFW to balance costs

Page 39: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Distributed and communication-efficient sparse learningExperiments – Realistic distributed environment

I Another way to reduce synchronization costs is to performasynchronous updates

I To simulate this, we randomly drop communication messageswith probability p

I dFW is fairly robust, even with 40% random drops

0 100 200 300 4000

0.005

0.01

0.015

0.02

Iteration number

Objective

dFW, N=10, p=0dFW, N=10, p=0.1dFW, N=10, p=0.2dFW, N=10, p=0.4

dFW under communication errors and asynchrony

Page 40: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

Summary and perspectives

I Take-home message: FW is goodI Useful to tackle large-scale problemsI Opportunities for modelisation

I Refer to papers for details, proofs and additional experimentsI Other recent work: learn multiple metrics [Shi et al., 2014],

scale up kernel methods [Lu et al., 2014], scale up ERM[Clemencon et al., 2015]

I Future directionsI Propose and analyze an asynchronous version of dFWI Distributed metric learning

Page 41: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

References I

[Bellet et al., 2013] Bellet, A., Habrard, A., and Sebban, M. (2013).A Survey on Metric Learning for Feature Vectors and Structured Data.Technical report, arXiv:1306.6709.

[Bellet et al., 2015] Bellet, A., Liang, Y., Garakani, A. B., Balcan, M.-F., and Sha, F.(2015).A Distributed Frank-Wolfe Algorithm for Communication-Efficient Sparse Learning.In SDM.

[Boyd et al., 2011] Boyd, S. P., Parikh, N., Chu, E., Peleato, B., and Eckstein, J.(2011).Distributed Optimization and Statistical Learning via the Alternating DirectionMethod of Multipliers.Foundations and Trends in Machine Learning, 3(1):1–122.

[Clarkson, 2010] Clarkson, K. L. (2010).Coresets, sparse greedy approximation, and the Frank-Wolfe algorithm.ACM Transactions on Algorithms, 6(4):1–30.

[Clemencon et al., 2015] Clemencon, S., Bellet, A., and Colin, I. (2015).Scaling-up Empirical Risk Minimization: Optimization of Incomplete U-statistics.Technical report, arXiv:1501.02629.

Page 42: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

References II

[Frank and Wolfe, 1956] Frank, M. and Wolfe, P. (1956).An algorithm for quadratic programming.Naval Research Logistics Quarterly, 3(1-2):95–110.

[Gonzalez, 1985] Gonzalez, T. F. (1985).Clustering to minimize the maximum intercluster distance.Theoretical Computer Science, 38:293–306.

[Jaggi, 2011] Jaggi, M. (2011).Sparse Convex Optimization Methods for Machine Learning.PhD thesis, ETH Zurich.

[Jaggi, 2013] Jaggi, M. (2013).Revisiting Frank-Wolfe: Projection-Free Sparse Convex Optimization.In ICML.

[Liu et al., 2015] Liu, K., Bellet, A., and Sha, F. (2015).Similarity Learning for High-Dimensional Sparse Data.In AISTATS.

[Lu et al., 2014] Lu, Z., May, A., Liu, K., Bagheri Garakani, A., Guo, D., Bellet, A.,Fan, L., Collins, M., Kingsbury, B., Picheny, M., and Sha, F. (2014).How to Scale Up Kernel Methods to Be As Good As Deep Neural Nets.Technical report, arXiv:1411.4000.

Page 43: The Frank-Wolfe Algorithm - Inriaresearchers.lille.inria.fr/abellet/talks/frank_wolfe.pdf · The Frank-Wolfe algorithm Use-case: Dis a convex hull I When D= conv(A), FW isgreedy I

References III

[Shi et al., 2014] Shi, Y., Bellet, A., and Sha, F. (2014).Sparse Compositional Metric Learning.In AAAI, pages 2078–2084.