Making communications land - Are they received and understood as intended? we...
Metric learning ICML2010 tutorial
1. Metric Learning
ICML 2010 Tutorial
Brian Kulis
University of California at Berkeley
June 21, 2010
Brian Kulis University of California at Berkeley Metric Learning
2. Introduction
Learning problems with distances and similarities
k-means
Support vector machines
k-nearest neighbors
Most algorithms that employ kernel methods
Other clustering algorithms (agglomerative, spectral, etc)
...
Brian Kulis University of California at Berkeley Metric Learning
3. Choosing a distance function
Brian Kulis University of California at Berkeley Metric Learning
4. Choosing a distance function
Example: UCI Wine data set
13 features
9/13 features have mean value in [0, 10]
3/13 features have mean value in [10, 100]
One feature has a mean value of 747 (with std 315)
Using a standard distance such as Euclidean distance, the largest
feature dominates the computation
That feature may not be important for classification
Need a weighting of the features that improves classification or other
tasks
Brian Kulis University of California at Berkeley Metric Learning
5. Example: Four Blobs
Brian Kulis University of California at Berkeley Metric Learning
6. Example: Four Blobs
Brian Kulis University of California at Berkeley Metric Learning
7. Example: Four Blobs
Brian Kulis University of California at Berkeley Metric Learning
8. Example: Four Blobs
Brian Kulis University of California at Berkeley Metric Learning
9. Example: Four Blobs
Brian Kulis University of California at Berkeley Metric Learning
10. Metric Learning as Learning Transformations
Feature re-weighting
Learn weightings over the features, then use standard distance (e.g.,
Euclidean) after re-weighting
Diagonal Mahalanobis methods (e.g., Schultz and Joachims)
Number of parameters grows linearly with the dimensionality d
Full linear transformation
In addition to scaling of features, also rotates the data
For transformations from d dimensions to d dimensions, number of
parameters grows quadratically in d
For transformations to r < d dimensions, this is linear dimensionality
reduction
Non-linear transformation
Variety of methods
Neural nets
Kernelization of linear transformations
Complexity varies from method to method
Brian Kulis University of California at Berkeley Metric Learning
11. Supervised vs Unsupervised Metric Learning
Unsupervised Metric Learning
Dimensionality reduction techniques
Principal Components Analysis
Kernel PCA
Multidimensional Scaling
In general, not the topic of this tutorial...
Supervised and Semi-supervised Metric Learning
Constraints or labels given to the algorithm
Example: set of similarity and dissimilarity constraints
This is the focus of the tutorial
Brian Kulis University of California at Berkeley Metric Learning
12. Themes of the tutorial
Not just a list of algorithms
General principles
Focus on a few key methods
Recurring ideas
Scalability
Linear vs non-linear
Online vs offline
Optimization techniques utilized
Statements about general formulations
Applications
Where is metric learning applied?
Success stories
Limitations
Brian Kulis University of California at Berkeley Metric Learning
13. Outline of Tutorial
Motivation
Linear metric learning methods
Mahalanobis metric learning
Per-example methods
Non-linear metric learning methods
Kernelization of Mahalanobis methods
Other non-linear methods
Applications
Conclusions
Brian Kulis University of California at Berkeley Metric Learning
14. Mahalanobis Distances
Brian Kulis University of California at Berkeley Metric Learning
15. Mahalanobis Distances
Assume the data is represented as N vectors of length d:
X = [x1 , x2 , ..., xN ]
Squared Euclidean distance
2
d(x1 , x2 ) = x1 − x2 2
T
= (x1 − x2 ) (x1 − x2 )
Let Σ = i,j (xi − µ)(xj − µ)T
The “original” Mahalanobis distance:
dM (x1 , x2 ) = (x1 − x2 )T Σ−1 (x1 − x2 )
Brian Kulis University of California at Berkeley Metric Learning
16. Mahalanobis Distances
Equivalent to applying a whitening transform
Brian Kulis University of California at Berkeley Metric Learning
17. Mahalanobis Distances
Assume the data is represented as N vectors of length d:
X = [x1 , x2 , ..., xN ]
Squared Euclidean distance
2
d(x1 , x2 ) = x1 − x2 2
T
= (x1 − x2 ) (x1 − x2 )
Mahalanobis distances for metric learning
Distance parametrized by d × d positive semi-definite matrix A:
dA (x1 , x2 ) = (x1 − x2 )T A(x1 − x2 )
Used for many existing metric learning algorithms
[Xing, Ng, Jordan, and Russell; NIPS 2002]
[Bar-Hillel, Hertz, Shental, and Weinshall; ICML 2003]
[Bilenko, Basu, and Mooney; ICML 2004]
[Globerson and Roweis; NIPS 2005]
[Weinberger, Blitzer, and Saul; NIPS 2006]
Brian Kulis University of California at Berkeley Metric Learning
18. Mahalanobis Distances
dA (x1 , x2 ) = (x1 − x2 )T A(x1 − x2 )
Why is A positive semi-definite (PSD)?
If A is not PSD, then dA could be negative
Suppose v = x1 − x2 is an eigenvector corresponding to a negative
eigenvalue λ of A
dA (x1 , x2 ) = (x1 − x2 )T A(x1 − x2 )
= vT Av
= λvT v = λ < 0
Brian Kulis University of California at Berkeley Metric Learning
19. Mahalanobis Distances
Properties of a metric:
d(x, y) ≥ 0
d(x, y) = 0 if and only if x = y
d(x, y) = d(y, x)
d(x, z) ≤ d(x, y) + d(y, z)
dA is not technically a metric
Analogous to Euclidean distance, need the square root:
dA (x1 , x2 ) = (x1 − x2 )T A(x1 − x2 )
Square root of the Mahalanobis distance satisfies all properties if A is
strictly positive definite, but if A is positive semi-definite then second
property is not satisfied
Called a pseudo-metric
In practice, most algorithms work only with dA
Brian Kulis University of California at Berkeley Metric Learning
20. Mahalanobis Distances
Can view dA as the squared Euclidean distance after applying a linear
transformation
Decompose A = G T G via Cholesky decomposition
(Alternatively, take eigenvector decomposition A = V ΛV T and look at
A = (Λ1/2 V T )T (Λ1/2 V T ))
Then we have
dA (x1 , x2 ) = (x1 − x2 )T A(x1 − x2 )
= (x1 − x2 )G T G (x1 − x2 )
= (G x1 − G x2 )T (G x1 − G x2 )
2
= G x1 − G x2 2
Mahalanobis distance is just the squared Euclidean distance after
applying the linear transformation G
Brian Kulis University of California at Berkeley Metric Learning
21. Example: Four Blobs
Brian Kulis University of California at Berkeley Metric Learning
22. Example: Four Blobs
Brian Kulis University of California at Berkeley Metric Learning
23. Example: Four Blobs
Want to learn:
1 0 1 0
A= G= √
0 0
Brian Kulis University of California at Berkeley Metric Learning
24. Example: Four Blobs
Brian Kulis University of California at Berkeley Metric Learning
25. Example: Four Blobs
Want to learn:
√
0 0
A= G=
0 1 0 1
Brian Kulis University of California at Berkeley Metric Learning
26. Drawbacks to Mahalanobis Metric Learning
Memory overhead grows quadratically with the dimensionality of the
data
Does not scale to high-dimensional data (d = O(106 ) for many image
embeddings)
Only works for linearly separable data
Cannot seemingly be applied to “real” data!
These drawbacks will be discussed later
Brian Kulis University of California at Berkeley Metric Learning
27. Metric Learning Problem Formulation
Typically 2 main pieces to a Mahalanobis metric learning problem
A set of constraints on the distance
A regularizer on the distance / objective function
In the constrained case, a general problem may look like:
minA r (A)
s.t. ci (A) ≤ 0 0 ≤ i ≤ C
A 0
r is a regularizer/objective on A and ci are the constraints on A
An unconstrained version may look like:
C
min r (A) + λ ci (A)
A 0
i=1
Brian Kulis University of California at Berkeley Metric Learning
28. Defining Constraints
Similarity / Dissimilarity constraints
Given a set of pairs S of points that should be similar, and a set of pairs
of points D of points that should be dissimilar
A single constraint would be of the form
dA (xi , xj ) ≤
for (i, j) ∈ S or
dA (xi , xj ) ≥ u
for (i, j) ∈ D
Easy to specify given class labels
Relative distance constraints
Given a triple (xi , xj , xk ) such that the distance between xi and xj should
be smaller than the distance between xi and xk , a single constraint is of
the form
dA (xi , xj ) ≤ dA (xi , xk ) − m,
where m is the margin
Popular for ranking problems
Brian Kulis University of California at Berkeley Metric Learning
29. Defining Constraints
Aggregate distance constraints
Constrain the sum of all pairs of same-class distances to be small, e.g.,
yij dA (xi , xj ) ≤ 1
ij
where yij = 1 if xi and xj are in the same class, and 0 otherwise
Other constraints
Non-parametric probability estimation constraints
Constraints on the generalized inner product xT Axj :
i
dA (xi , xj ) = xT Axi + xT Axj − 2xT Axj
i j i
Brian Kulis University of California at Berkeley Metric Learning
30. Defining the Regularizer or Objective
Loss/divergence functions
Squared Frobenius norm: A − A0 2 F
LogDet divergence: tr(AA−1 ) − log det(AA−1 ) − d
0 0
General loss functions D(A, A0 )
Will discuss several of these later
Other regularizers
A 2F
tr(AC0 ) (i.e., if C0 is the identity, this is the trace norm)
Brian Kulis University of California at Berkeley Metric Learning
31. Choosing a Regularizer
Depends on the problem!
Example 1: tr(A)
Trace function is the sum of the eigenvalues
Analogous to the 1 penalty, promotes sparsity
Leads to low-rank A
Example 2: LogDet Divergence
Defined only over positive semi-definite matrices
Makes computation simpler
Possesses other desirable properties
Example 3: A 2
F
Arises in many formulations
Easy to analyze and optimize
Brian Kulis University of California at Berkeley Metric Learning
32. Defining the Optimization
Many existing Mahalanobis distance learning methods can be obtained
simply by choosing a regularizer/objective and constraints
We will discuss properties of several of these
Brian Kulis University of California at Berkeley Metric Learning
33. Xing et al.’s MMC
Problem posed as follows:
max (xi ,xj )∈D dA (xi , xj )
A
s.t. c(A) = (xi ,xj )∈S dA (xi , xj ) ≤ 1
A 0.
Here, D is a set of pairs of dissimilar pairs, S is a set of similar pairs
Objective tries to maximize sum of dissimilar distances
Constraint keeps sum of similar distances small
Use square root in regularizer to avoid trivial solution
[Xing, Ng, Jordan, and Russell; NIPS 2002]
Brian Kulis University of California at Berkeley Metric Learning
34. Xing et al.’s MMC
Algorithm
Based on gradient descent over the objective followed by an iterative
projection step to find a feasible A
Constraint c(A) is linear in A, can be solved cheaply
Orthogonal projection onto A 0 achieved by setting A’s negative
eigenvalues to 0
Iterative between these two steps to find feasible A for both constraints,
then take a step in the gradient of the objective
Despite relative simplicity, the algorithm is fairly slow (many eigenvalue
decompositions required)
Does not scale to large problems
Objective and constraints only look at the sums of distances
Brian Kulis University of California at Berkeley Metric Learning
35. Schultz and Joachims
Problem formulated as follows:
min A 2
F
A
s.t. dA (xi , xk ) − dA (xi , xj ) ≥ 1 ∀(i, j, k) ∈ R
A 0.
Constraints in R are relative distance constraints
There may be no solution to this problem; introduce slack variables
min A 2 +γ
F (i,j,k)∈R ξijk
A,ξ
s.t. dA (xi , xk ) − dA (xi , xj ) ≥ 1 − ξijk ∀(i, j, k) ∈ R
ξijk ≥ 0 ∀(i, j, k) ∈ R
A 0.
[Schultz and Joachims; NIPS 2002]
Brian Kulis University of California at Berkeley Metric Learning
36. Schultz and Joachims
Algorithm
Key simplifying assumption made
A = M T DM, where M is assumed fixed and known and D is diagonal
dA (xi , xj ) = (xi − xj )T A(xi − xj )
= (xi − xj )T M T DM(xi − xj )
= (Mxi − Mxj )T D(Mxi − Mxj )
Effectively constraining the optimization to diagonal matrices
Resulting optimization problem is very similar to SVMs, and resulting
algorithm is similar
By choosing M to be a matrix of data points, method can be kernelized
Fast algorithm, but less general than full Mahalanobis methods
Brian Kulis University of California at Berkeley Metric Learning
37. Kwok and Tsang
Problem formulated as follows:
2 CS CD
min A F + NS (xi ,xj )∈S ξij + ND (xi ,xj )∈D ξij − CD γν
A,ξ,γ
s.t. dI (xi , xj ) ≥ dA (xi , xj ) − ξij ∀(xi , xj ) ∈ S
dA (xi , xj ) − dI (xi , xj ) ≥ γ − ξij ∀(xi , xj ) ∈ D
ξij ≥ 0
γ≥0
A 0.
Same regularization as Schultz and Joachims
Similarity/dissimilarity constraints instead of relative distance
constraints
No simplifying assumptions made about A
[Kwok and Tsang; ICML 2003]
Brian Kulis University of California at Berkeley Metric Learning
38. Neighbourhood Components Analysis
Problem formulated as follows:
exp(−dA (xi ,xj ))
max i j∈Ci ,j=i
P
exp(−dA (xi ,xk ))
A k=i
s.t. A 0.
Ci is the set of points in the same class as point xi (not including xi )
Motivation
Minimize the leave-one-out KNN classification error
LOO error function is discontinuous
Replace by a softmax; each point xi chooses a nearest neighbor xj based
on probability
exp(−dA (xi , xj ))
pij =
k=i exp(−dA (xi , xk ))
[Goldberger, Roweis, Hinton, and Salakhutdinov; NIPS 2004]
Brian Kulis University of California at Berkeley Metric Learning
39. Neighbourhood Components Analysis
Algorithm
Problem is non-convex
Rewrite in terms of G , where A = G T G
Eliminates A 0 constraint
Run gradient descent over G
Properties
Easy to control the rank of A: just optimize over low-rank G
Simple, unconstrained optimization
No guarantee of global solution
Brian Kulis University of California at Berkeley Metric Learning
40. MCML
Recall NCA probabilities
exp(−dA (xi , xj ))
pij =
k=i exp(−dA (xi , xk ))
0
Introduce an “ideal” probability distribution pij :
0 1 if i and j from same class
pij ∝
0 otherwise.
Minimize divergence between p 0 and p:
min KL(p 0 , p)
A
s.t. A 0.
[Globerson and Roweis; NIPS 2005]
Brian Kulis University of California at Berkeley Metric Learning
41. MCML
Properties
Unlike NCA, MCML is convex
Global optimization possible
Algorithm based on optimization over the dual
Similar to Xing: gradient step plus projection
Not discussed in detail in this tutorial
Brian Kulis University of California at Berkeley Metric Learning
42. A Closer Look at Some Algorithms
As can be seen, several objectives are possible
We will take a look at 3 algorithms in-depth for their properties
POLA
An online algorithm for learning metrics with provable regret
Also the first supervised metric learning algorithm that was shown to be
kernelizable
LMNN
Very popular method
Algorithm scalable to billions of constraints
Extensions for learning multiple metrics
ITML
Objective with several desirable properties
Simpler kernelization construction
Online variant
Brian Kulis University of California at Berkeley Metric Learning
43. POLA
Setup
Estimate dA in an online manner
Also estimate a threshold b
At each step t, observe tuple (xt , xt , yt )
yt = 1 if xt and xt should be similar; -1 otherwise
Consider the following loss
t (A, b) = max(0, yt (dA (xt , xt )2 − b) + 1)
Hinge loss, margin interpretation
Appropriately update A and b each iteration
[Shalev-Shwartz, Singer, and Ng; NIPS 2004]
Brian Kulis University of California at Berkeley Metric Learning
44. Online Learning Setup
Define the total loss to be
T
L= t (At , bt )
t=1
Online learning methods compare the loss to the best fixed, offline
predictor A∗ and threshold b ∗
Define regret for T total timesteps as
T T
∗ ∗
RT = t (At , bt ) − t (A , b )
t=1 t=1
Design an algorithm that minimizes the regret
Same setup as in other online algorithms (classification, regression)
√
Modern optimization methods achieve O( T ) regret for a general class,
and O(log T ) for some special cases
Brian Kulis University of California at Berkeley Metric Learning
45. POLA Algorithm
Consider the following convex sets
Ct = {(A, b) | t (A, b) = 0}
Ca = {(A, b) | A 0, b ≥ 1}
Consider orthogonal projections:
2
PC (x) = argminy∈C x − y 2
Think of (A, b) as a vector in d 2 + 1 dimensional space
Each step, project onto Ct , then project onto Ca
Brian Kulis University of California at Berkeley Metric Learning
46. POLA Algorithm
Projection onto Ct
Let vt = xt − xt
Then projection is computed in closed form as
t (At , bt )
αt =
vt 4 + 1
2
ˆ
At = At − yt αt vt vT
t
ˆ
bt = bt + αt yt
Projection onto Ca
Orthogonal projection onto positive semi-definite cone obtained by
setting negative eigenvalues to 0
ˆ
But, update from At to At was rank-one
Only 1 negative eigenvalue (interlacing theorem)
Thus, only need to compute the smallest eigenvalue and eigenvector (via
a power method or related) and subtract it off
Brian Kulis University of California at Berkeley Metric Learning
47. Analysis of POLA
Theorem: Let (x1 , x1 , y1 ), ..., (xT , xT , yT ) be a sequence of examples
and let R be such that ∀t, R ≥ xt − xt 4 + 1. Assume there exists an
2
A∗ 0 and b ∗ ≥ 1 such that t (A∗ , b ∗ ) = 0 ∀t. Then the following
bound holds for all T ≥ 1:
T
t (At , bt )
2
≤ R( A∗ 2
F + (b ∗ − b1 )2 ).
t=1
Note that since t (A∗ , b ∗ ) = 0 for all t, the total loss is equal to the
regret
Can generalize this to a regret bound in the case when t (A∗ , b ∗ ) does
not always equal 0
Can also run POLA in batch settings
Brian Kulis University of California at Berkeley Metric Learning
48. POLA in Context
Can we think of POLA in the framework presented earlier?
Yes—regularizer is A 2 and constraints are defined by the hinge loss
F t
Similar to both Schultz and Joachims, and Kwok and Tsang
We will see later that POLA can also be kernelized to learn non-linear
transformations
In practice, POLA does not appear to be competitive with current
state-of-the-art
Brian Kulis University of California at Berkeley Metric Learning
49. LMNN
Similarly to Schultz and Joachims, utilize relative distance constraints
A constraint (xi , xj , xk ) ∈ R has the property that xi and xj are
neighbors of the same class, and xi and xk are of different classes
[Weinberger, Blitzer, and Saul; NIPS 2005]
Brian Kulis University of California at Berkeley Metric Learning
50. LMNN
Problem Formulation
Also define set S of pairs of points (xi , xj ) such that xi and xj are
neighbors in the same class
Want to minimize sum of distances of pairs of points in S
Also want to satisfy the relative distance constraints
Mathematically:
min (xi ,xj )∈S dA (xi , xj )
A
s.t. dA (xi , xk ) − dA (xi , xj ) ≥ 1 ∀(xi , xj , xk ) ∈ R
A 0.
Brian Kulis University of California at Berkeley Metric Learning
51. LMNN
Problem Formulation
Also define set S of pairs of points (xi , xj ) such that xi and xj are
neighbors in the same class
Want to minimize sum of distances of pairs of points in S
Also want to satisfy the relative distance constraints
Mathematically:
min (xi ,xj )∈S dA (xi , xj ) + γ (xi ,xj ,xk )∈R ξijk
A,ξ
s.t. dA (xi , xk ) − dA (xi , xj ) ≥ 1 − ξijk ∀(xi , xj , xk ) ∈ R
A 0, ξijl ≥ 0.
Introduce slack variables
Brian Kulis University of California at Berkeley Metric Learning
52. Comments on LMNN
Algorithm
Special-purpose solver
Relies on subgradient computations
Ignores inactive constraints
Example: MNIST—3.2 billion constraints in 4 hours
Software available
Performance
One of the best-performing methods
Works in a variety of settings
Brian Kulis University of California at Berkeley Metric Learning
53. LMNN Extensions
Learning with Multiple Local Metrics
Learn several local Mahlanobis metrics instead a single global one
Cluster the training data into k partitions
Denote ci as the corresponding cluster for xi
Learn k Mahalanobis distances A1 , ..., Ak
Formulation
min (xi ,xj )∈S dAcj (xi , xj )
A
s.t. dAck (xi , xk ) − dAcj (xi , xj ) ≥ 1 ∀(xi , xj , xk ) ∈ R
Ai 0 ∀i.
Introduce slack variables as with standard LMNN
[Weinberger and Saul; ICML 2008]
Brian Kulis University of California at Berkeley Metric Learning
54. LMNN Results
Results show improvements using multiple metrics
Weinberger and Saul also extend LMNN to use ball trees for fast search
No time to go into details, see paper
Brian Kulis University of California at Berkeley Metric Learning
55. ITML and the LogDet Divergence
We take the regularizer to be the Log-Determinant Divergence:
D d (A, A0 ) = trace(AA−1 ) − log det(AA−1 ) − d
0 0
Problem formulation:
minA D d (A, A0 )
s.t. (xi − xj )T A(xi − xj ) ≤ u if (i, j) ∈ S [similarity constraints]
(xi − xj )T A(xi − xj ) ≥ if (i, j) ∈ D [dissimilarity constraints]
[Davis, Kulis, Jain, Sra, and Dhillon; ICML 2007]
Brian Kulis University of California at Berkeley Metric Learning
56. LogDet Divergence: Properties
D d (A, A0 ) = trace(AA−1 ) − log det(AA−1 ) − d,
0 0
Properties:
Scale-invariance
D d (A, A0 ) = D d (αA, αA0 ), α>0
In fact, for any invertible M
D d (A, A0 ) = D d (M T AM, M T A0 M)
Expansion in terms of eigenvalues and eigenvectors
(A = V ΛV T , A0 = UΘU T ):
λi λi
D d (A, A0 ) = (vT uj )2
i − log −d
θj θj
i,j
Brian Kulis University of California at Berkeley Metric Learning
57. Existing Uses of LogDet
Information Theory
Differential relative entropy between two same-mean multivariate
Gaussians equal to LogDet divergence between covariance matrices
Statistics
LogDet divergence is known as Stein’s loss in the statistics community
Optimization
BFGS update can be written as:
min D d (B, Bt )
B
subject to B st = yt (“Secant Equation”)
st = xt+1 − xt , yt = ft+1 − ft
Brian Kulis University of California at Berkeley Metric Learning
58. Key Advantages
Simple algorithm, easy to implement in Matlab
Method can be kernelized
Scales to millions of data points
Scales to high-dimensional data (text, images, etc.)
Can incorporate locality-sensitive hashing for sub-linear time similarity
searches
Brian Kulis University of California at Berkeley Metric Learning
59. The Metric Learning Problem
D d (A, A0 ) = trace(AA−1 ) − log det(AA−1 ) − d
0 0
ITML Goal:
minA D d (A, A0 )
s.t. (xi − xj )T A(xi − xj ) ≤ u if (i, j) ∈ S [similarity constraints]
(xi − xj )T A(xi − xj ) ≥ if (i, j) ∈ D [dissimilarity constraints]
Brian Kulis University of California at Berkeley Metric Learning
60. Algorithm: Successive Projections
Algorithm: project successively onto each linear constraint —
converges to globally optimal solution
Use projections to update the Mahalanobis matrix:
min D d (A, At )
A
s.t. (xi − xj )T A(xi − xj ) ≤ u
Can be solved by O(d 2 ) rank-one update:
At+1 = At + βt At (xi − xj )(xi − xj )T At
Advantages:
Automatic enforcement of positive semidefiniteness
Simple, closed-form projections
No eigenvector calculation
Easy to incorporate slack for each constraint
Brian Kulis University of California at Berkeley Metric Learning
61. Recent work in Mahalanobis methods
Recent work has looked at other regularizers, such as tr(A), which
learns low-rank matrices
Improvements in online metric learning (tighter bounds)
Kernelization for non-linear metric learning, the topic of the next
section
Brian Kulis University of California at Berkeley Metric Learning
62. LEGO
Online bounds proven for a variant of POLA based on LogDet
regularization
Combines the best of both worlds
Minimize the following function at each timestep
ft (A) = D d (A, At ) + ηt t (A, xt , yt )
At is the current Mahalanobis matrix
ηt is the learning rate
t (A, xt , yt ) is a loss function, e.g.
1
t (A, xt , yt ) = (dA (xt , yt ) − p)2
2
√
For appropriate choice of step size, can guarantee O( T ) regret
Empirically outperforms POLA significantly in practice
[Jain, Kulis, Dhillon, and Grauman; NIPS 2009]
Brian Kulis University of California at Berkeley Metric Learning
63. Non-Mahalanobis methods: Local distance functions
General approach
Learn a distance function for every training data point
ij
Given m features per point, denote dm as the distance between the m-th
feature in points xi and xj
j
Denote wm as a weight for feature m of point xj
Then the distance between an arbitary (e.g., test) image xi and a
training image xj is
M
j ij
d(xi , xj ) = w m dm
m=1
At test time
Given test image xi , compute d(xi , xj ) between xi and every training
point xj
Sort distances to find nearest neighbors
[Frome, Singer, Sha, and Malik; ICCV 2007]
Brian Kulis University of California at Berkeley Metric Learning
64. Non-Mahalanobis methods: Local distance functions
Optimization framework
j
Denote wj as the vector of weights wm
As before, construct triples (i, j, k) of points such that the distance
between xi and xj should be smaller than the distance between xi and
xk
Formulate the following problem:
min wj 2
j 2
W
s.t. d(xi , xk ) − d(xi , xj ) ≥ 1 ∀(xi , xj , xk ) ∈ R
wj ≥ 0 ∀j.
Brian Kulis University of California at Berkeley Metric Learning
65. Non-Mahalanobis methods: Local distance functions
Optimization framework
j
Denote wj as the vector of weights wm
As before, construct triples (i, j, k) of points such that the distance
between xi and xj should be smaller than the distance between xi and
xk
Formulate the following problem:
min wj 2 +γ
j 2 (i,j,k) ξijk
W
s.t. d(xi , xk ) − d(xi , xj ) ≥ 1 − ξijk ∀(xi , xj , xk ) ∈ R
wj ≥ 0 ∀j.
Introduce slack variables as before
Very similar to LMNN and other relative distance methods!
Brian Kulis University of California at Berkeley Metric Learning
66. Non-Mahalanobis methods: Local distance functions
Schultz and Joachims
min A 2
F
A
s.t. dA (xi , xk ) − dA (xi , xj ) ≥ 1 ∀(i, j, k) ∈ R
A 0.
Frome et al.
min wj 2
j 2
W
s.t. d(xi , xk ) − d(xi , xj ) ≥ 1 ∀(xi , xj , xk ) ∈ R
wj ≥ 0 ∀j.
Brian Kulis University of California at Berkeley Metric Learning
67. Linear Separability
No linear transformation for this grouping
Brian Kulis University of California at Berkeley Metric Learning
68. Kernel Methods
Map input data to higher-dimensional “feature” space:
x → ϕ(x)
Idea: Run machine learning algorithm in feature space
Use the following mapping:
2
x1 √ x1
x= → 2x1 x2
x2 2
x2
Brian Kulis University of California at Berkeley Metric Learning
69. Mapping to Feature Space
Brian Kulis University of California at Berkeley Metric Learning
70. Kernel Methods
Map input data to higher-dimensional “feature” space:
x → ϕ(x)
Idea: Run machine learning algorithm in feature space
Use the following mapping:
2
x1 √ x1
x= → 2x1 x2
x2 2
x2
Kernel function: κ(x, y) = ϕ(x), ϕ(y)
“Kernel trick” — no need to explicitly form high-dimensional features
In this example: ϕ(x), ϕ(y) = (xT y)2
Brian Kulis University of California at Berkeley Metric Learning
71. Kernel Methods: Short Intro
Main idea
Take an existing learning algorithm
Write it using inner products
Replace inner products xT y with kernel functions ϕ(x)T ϕ(y)
If ϕ(x) is a non-linear function, then algorithm has been implicitly
non-linearly mapped
Examples of kernel functions
κ(x, y) = (xT y)p Polynomial Kernel
x−y 2 2
κ(x, y) = exp − Gaussian Kernel
2σ 2
κ(x, y) = tanh(c(xT y) + θ) Sigmoid Kernel
Kernel functions also defined over objects such as images, trees,
graphs, etc.
Brian Kulis University of California at Berkeley Metric Learning
72. Example: Pyramid Match Kernel
Compute local image features
Perform an approximate matching between features of two images
Use multi-resolution histograms
View as a dot product between high-dimensional vectors
[Grauman and Darrell, ICCV 2005]
Brian Kulis University of California at Berkeley Metric Learning
73. Example: k-means
Recall the k-means clustering algorithm
Repeat until convergence:
Compute the means of every cluster πc
1
µc = xi
|πc | x ∈π
i c
Reassign points to their closest mean by computing
2
x − µc 2
for every data point x and every cluster πc
Kernelization of k-means
Expand x − µc 2 as
2
T
T
2 xi ∈πc xT xi xi ,xj ∈πc xi xj
x x− +
|πc | |πc |2
No need to explicitly compute the mean; just compute this for every
point to every cluster
Brian Kulis University of California at Berkeley Metric Learning
74. Example: k-means
Recall the k-means clustering algorithm
Repeat until convergence:
Compute the means of every cluster πc
1
µc = xi
|πc | x ∈π
i c
Reassign points to their closest mean by computing
2
x − µc 2
for every data point x and every cluster πc
Kernelization of k-means
Expand x − µc 2 as
2
2
κ(x, xi ) xi ,xj ∈πc κ(xi , xj )
xi ∈πc
κ(x, x) − +
|πc | |πc |2
Replace inner products with kernels, and this is kernel k-means
While k-means finds linear separators for the cluster boundaries, kernel
k-means finds non-linear separators
Brian Kulis University of California at Berkeley Metric Learning
75. Distances vs. Kernel Functions
Mahalanobis distances:
dA (x, y) = (x − y)T A(x − y)
Inner products / kernels:
κA (x, y) = xT Ay
Algorithms for constructing A learn both measures
Brian Kulis University of California at Berkeley Metric Learning
76. From Linear to Nonlinear Learning
Consider the following kernelized problem
You are given a kernel function κ(x, y) = ϕ(x)T ϕ(y)
You want to run a metric learning algorithm in kernel space
Optimization algorithm cannot use the explicit feature vectors ϕ(x)
Must be able to compute the distance/kernel over arbitrary points (not
just training points)
Mahalanobis distance is of the form:
dA (x, y) = (ϕ(x) − ϕ(y))T A(ϕ(x) − ϕ(y))
Kernel is of the form:
κA (x, y) = ϕ(x)T Aϕ(y)
Can be thought of as a kind of kernel learning problem
Brian Kulis University of California at Berkeley Metric Learning
77. Kernelization of ITML
First example: ITML
Recall the update for ITML
At+1 = At + βt At (xi − xj )(xi − xj )T At
Distance constraint over pair (xi , xj )
βt computed in closed form
How can we make this update independent of the dimensionality?
Brian Kulis University of California at Berkeley Metric Learning
78. Kernelization of ITML
Rewrite the algorithm in terms of inner products (kernel functions)
At+1 = At + βt At (xi − xj )(xi − xj )T At
Inner products in this case: xT At xj
i
Brian Kulis University of California at Berkeley Metric Learning
79. Kernelization of ITML
Rewrite the algorithm in terms of inner products (kernel functions)
X T At+1 X = X T At X + βt X T At X (ei − ej )(ei − ej )T X T At X
Entry (i, j) of X T At X is exactly xT Axj = κA (xi , xj )
i
Denote X T At X as Kt , the kernel matrix at step t
Kt+1 = Kt + βt Kt (ei − ej )(ei − ej )T Kt
Brian Kulis University of California at Berkeley Metric Learning
80. Kernel Learning
Squared Euclidean distance in kernel space:
2
xi − xj 2 = xT xi + xT xj − 2xT xj
i j i
Replace with kernel functions / kernel matrix:
κ(xi , xi ) + κ(xj , xj ) − 2κ(xi , xj ) = Kii + Kjj − 2Kij
Related to ITML, define the following optimization problem
minK D d (K , K0 )
s.t. Kii + Kjj − 2Kij ≤ u if (i, j) ∈ S [similarity constraints]
Kii + Kjj − 2Kij ≥ if (i, j) ∈ D [dissimilarity constraints]
K0 = X T X is the input kernel matrix
To solve this, only the original kernel function κ(xi , xj ) is required
Brian Kulis University of California at Berkeley Metric Learning
81. Kernel Learning
Bregman projections for the kernel learning problem:
Kt+1 = Kt + βt Kt (ei − ej )(ei − ej )T Kt
Suggests a strong connection between the 2 problems
Theorem: Let A∗ be the optimal solution to ITML, and A0 = I . Let
K ∗ be the optimal solution to the kernel learning problem. Then
K ∗ = X T A∗ X .
Solving the kernel learning problem is “equivalent” to solving ITML
So we can run entirely in kernel space
But, given two new points, how to compute distance?
[Davis, Kulis, Jain, Sra, and Dhillon; ICML 2007]
Brian Kulis University of California at Berkeley Metric Learning
82. Induction with LogDet
Theorem: Let A∗ be the optimal solution to ITML, and let A0 = I .
Let K ∗ be the optimal solution to the kernel learning problem, and let
K0 = X T X be the input kernel matrix. Then
A∗ = I + XSX T
−1 −1
S = K0 (K ∗ − K0 )K0
Gives us a way to implicitly compute A∗ once we solve for K ∗
Algorithm
Solve for K ∗
Construct S using K0 and K ∗
Given two points x and y, the kernel κA (x, y) = xT Ay is computed as
n
κA (xi , xj ) = κ(xi , xj ) + Sij κ(x, xi )κ(xj , y)
i,j=1
[Davis, Kulis, Jain, Sra, and Dhillon; ICML 2007]
Brian Kulis University of California at Berkeley Metric Learning
83. Kernelization of POLA
Recall updates for POLA
ˆ
At = At − yt αt vt vTt
At+1 ˆ
= At − λd ud uT d
vt is the difference of 2 data points
ˆ
ud is the smallest eigenvector of At
1st update projects onto set Ct where hinge loss is zero (applied only
when loss is non-zero)
ˆ
2nd update projects onto PSD cone Ca (applied only when At has
negative eigenvalue)
Claim: Analogous to ITML, A∗ = XSX T , where X is the matrix of
data points
Prove this inductively
Brian Kulis University of California at Berkeley Metric Learning
84. Kernelization of POLA
Projection onto Ct
At = XSt X T
Say the 2 data points are indexed by i and j
Then vt = X (ei − ej )
ˆ
Rewrite At − yt αvt vT to get update from St to St :
t
ˆ
At = XSt X T − yt αt X (ei − ej )(ei − ej )T X T
= X (St − yt αt (ei − ej )(ei − ej )T )X T
Projection onto Ca
ˆ
ud is an eigenvector of At , i.e.,
ˆ
At ud ˆ
= X St X T u = λd ud
1 ˆ T
ud = X St X ud = X q
λd
Construction for q non-trivial; involves kernelized Gram-Schmidt
Expensive (cubic in dimensionality)
Brian Kulis University of California at Berkeley Metric Learning
85. General Kernelization Results
Recent work by Chatpatanasiri et al. has shown additional kernelization
results for
LMNN
Neighbourhood Component Analysis
Discriminant Neighborhood Embedding
Other recent results show additional, general kernelization results
Xing et al.
Other regularizers (trace-norm)
At this point, most/all existing Mahalanobis metric learning methods
can be kernelized
Brian Kulis University of California at Berkeley Metric Learning
86. Kernel PCA
Setup for principal components analysis (PCA)
Let X = [x1 , ..., xn ] be a set of data points
Typically assume data is centered, not critical here
Denote SVD of X as X = U T ΣV
Left singular vectors in U corresponding to non-zero singular values are
an orthonormal basis for the span of the xi vectors
Covariance matrix is C = XX T = U T ΣT ΣU, kernel matrix is
K = X T X = V T ΣT ΣV
Standard PCA recipe
Compute SVD of X
Project data onto leading singular vectors U, e.g., ˜ = Ux
x
Brian Kulis University of California at Berkeley Metric Learning
87. Kernel PCA
Key result from the late 1990s: kernelization of PCA
Can also form projections using the kernel matrix
Allows one to avoid computing SVD
If X = U T ΣV , then U = Σ−1 VX T
Ux = Σ−1 VX T x
Computation involves inner products X T x, eigenvectors V of the kernel
matrix, and eigenvalues of the kernel matrix
Relation to Mahalanobis distance methods
Kernel PCA allows one to implicitly compute an orthogonal basis U of
the data points, and to project arbitrary data points onto this basis
For a data set of n points, dimension of basis is at most n
Projecting onto U results in an n-dimensional vector
Brian Kulis University of California at Berkeley Metric Learning
88. Using kernel PCA for metric learning
Given a set of points in kernel space X = [ϕ(x1 ), ..., ϕ(xn )]
Form a basis U and project data onto that basis to form
˜
X = [˜1 , ..., xn ] = [Uϕ(x1 ), ...., Uϕ(xn )] using kernel PCA
x ˜
Consider a general unconstrained optimization problem f that is a
function of kernel function values, i.e.
f ({ϕ(xi )T Aϕ(xj )}n )
i,j=1
Associated minimization
min f ({ϕ(xi )T Aϕ(xj )}n )
i,j=1
A 0
Theorem: The optimal value of the above optimization is the same as
that of
min f ({˜iT A xj }n )
x ˜ i,j=1
A 0
where A is n × n.
[Chatpatanasiri, Korsrilabutr, Tangchanachaianan, and Kijsirikul; ArXiV 2008]
Brian Kulis University of California at Berkeley Metric Learning
89. Consequences
Any Mahalanobis distance learning method that is unconstrained and
can be expressed as a function of learned inner products can be
kernelized
Examples
Neighbourhood Components Analysis
LMNN (write as unconstrained via the hinge loss)
Discriminant neighborhood embedding
Generalizing to new points
For a new point ϕ(x), construct ˜ and use Mahalanobis distance with
x
learned matrix A
Algorithms
Exactly the same algorithms employed as in linear case
Brian Kulis University of California at Berkeley Metric Learning
90. Extensions
Chatpatanasiri et al. considered extensions for low-rank transformations
Also showed benefits of kernelization in several scenarios
Recent results (Jain et al.) have shown complementary results for
constrained optimization problems
ITML is a special case of this analysis
Other methods follow easily, e.g., methods based on trace-norm
regularization
Now most Mahalanobis metric learning methods have been shown to
be kernelizable
Brian Kulis University of California at Berkeley Metric Learning
91. Scalability in Kernel Space
In many situations, dimensionality d and the number of data points n
is high
Typically, linear Mahalanobis metric learning methods scale as O(d 2 ) or
O(d 3 )
Kernelized Mahalanobis methods scale as O(n2 ) or O(n3 )
What to do when both are large?
Main idea: restrict the basis used for learning the metric
Can be applied to most methods
Brian Kulis University of California at Berkeley Metric Learning
92. Scalability with the kernel PCA approach
Recall the kernel PCA approach
Project onto U, the top n left singular vectors
Instead, project onto the top r left singular vectors
Proceed as before
Similar approach can be used for ITML
The learned kernel is of the form
n
κA (xi , xj ) = κ(xi , xj ) + Sij κ(x, xi )κ(xj , y)
i,j=1
Restrict S to be r × r instead of n × n, where r < n data points are
chosen
Rewrite optimization problem using this form of the kernel
Constraints on learned distances are still linear, so method can be
generalized
Both approaches can be applied to very large data sets
Example: ITML has been applied to data sets of nearly 1 million points
(of dimensionality 24,000)
Brian Kulis University of California at Berkeley Metric Learning
93. Nearest neighbors with Mahalanobis metrics
Once metrics are learned, k-nn is typically used
k-nn is expensive to compute
Must compute distances to all n training points
Recent methods attempt to speed up NN computation
Locality-sensitive hashing
Ball trees
One challenge: can such methods be employed even when algorithms
are used in kernel space?
Recent work applied in computer vision community has addressed this
problem for fast image search
Brian Kulis University of California at Berkeley Metric Learning
94. Other non-linear methods
Recall that kernelized Mahalanobis methods try to learn the distance
function
G ϕ(x) − G ϕ(y) 2
2
Chopra et al. learn the non-linear distance
2
GW (x) − GW (y) 2
GW is a non-linear function
Application was face verification
Algorithmic technique: convolutional networks
[Chopra, Hadsell, and LeCun; CVPR 2005]
Brian Kulis University of California at Berkeley Metric Learning
95. Other non-linear methods
Setup uses relative distance constraints
Denote Dij as the mapped distance between points i and j
Let (xi , xj , xk ) be a tuple such that Dij < Dik desired
The authors define a loss function for each triple of the form
Loss = α1 Dij + α2 exp(−α3 Dik )
Minimize the sum of the losses over all triples
Metric is trained using a convolutional network with a Siamese
architecture from the pixel level
Brian Kulis University of California at Berkeley Metric Learning
97. Application: Learning Music Similarity
Comparison of metric learning methods for learning music similarity
MP3s downloaded from a set of music blogs
After pruning: 319 blogs, 164 artists, 74 distinct albums
Thousands of songs
The Echo Nest used to extract features for each song
Songs broken up into segments (80ms to a few seconds)
Mean segment duration
Track tempo estimate
Regularity of the beat
Estimation of the time signature
Overall loudness estimate of the track
Estimated overall tatum duration
In total, 18 features extracted for each song
Training done via labels based on blog, artist, and album (separately)
[Slaney, Weinberger, and White; ISMIR 2008]
Brian Kulis University of California at Berkeley Metric Learning
99. Application: Object Recognition
Several metric learning methods have been evaluated on the Caltech
101 dataset, a benchmark for object recognition set size
Brian Kulis University of California at Berkeley Metric Learning
100. Application: Object Recognition
Used the Caltech-101 data set
Standard benchmark for object recognition
Many many results for this data set
101 classes, approximately 4000 total images
Learned metrics over 2 different image embeddings for ITML: pyramid
match kernel (PMK) embedding and the embedding from Zhang et al,
2006
Also learned metrics via Frome et al’s local distance function approach
Computed k-nearest neighbor accuracy over varying training set size
and compared to existing results
Brian Kulis University of California at Berkeley Metric Learning
102. Results: Clarify
Representation: System collects program features during run-time
Function counts
Call-site counts
Counts of program paths
Program execution represented as a vector of counts
Class labels: Program execution errors
Nearest neighbor software support
Match program executions
Underlying distance measure should reflect this similarity
Results
LaTeX Benchmark: Error drops from 30% to 15%
LogDet is the best performing algorithm across all benchmarks
[Davis, Kulis, Jain, Sra, and Dhillon; ICML 2007]
Brian Kulis University of California at Berkeley Metric Learning
103. Application: Human Body Pose Estimation
Brian Kulis University of California at Berkeley Metric Learning
104. Pose Estimation
500,000 synthetically generated images
Mean error is 34.5 cm per joint between two random images
Brian Kulis University of California at Berkeley Metric Learning
105. Pose Estimation Results
Method m k=1
L2 linear scan 24K 8.9
L2 hashing 24K 9.4
PSH, linear scan 1.5K 9.4
PCA, linear scan 60 13.5
PCA+LogDet, lin. scan 60 13.1
LogDet linear scan 24K 8.4
LogDet hashing 24K 8.8
Error above given is mean error in cm per joint
Linear scan requires 433.25 seconds per query; hashing requires 1.39
seconds per query (hashing searches 0.5% of database)
[Jain, Kulis, and Grauman; CVPR 2008]
Brian Kulis University of California at Berkeley Metric Learning
108. Summary and Conclusions
Metric learning is a mature technology
Complaints about scalability in terms of dimensionality or number of
data points no longer valid
Many different formulations have been studied, especially for
Mahalanobis metric learning
Online vs offline settings possible
Metric learning has been applied to many interesting problems
Language problems
Music similarity
Pose estimation
Image similarity and search
Face verification
Brian Kulis University of California at Berkeley Metric Learning
109. Summary and Conclusions
Metric learning has interesting theoretical components
Analysis of online settings
Analysis of high-dimensional (kernelized) settings
Metric learning is still an interesting area of study
Learning multiple metrics over data sets
New applications
Formulations that integrate better with problems other than k-nn
Improved algorithms for better scalability
...
Brian Kulis University of California at Berkeley Metric Learning