Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 ·...

65
Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding

Transcript of Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 ·...

Page 1: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Machine Learning and Pattern Recognition

Unsupervised LearningSparse Coding

Page 2: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Remember K-MeansFind K Prototype vectors (Mk)that best represent the data Y1... YP

L =P�

i=1

Kmink=1

||Y i −Mk||2

Minimize L wrt Mk

∂L

∂Mk= 2

i∈Sk

(Mk − Y i)

Mk =1

|Sk|�

i∈Sk

Y i

Page 3: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

How to use K-Means?

For a new sample Y, find k such that

k = argmink

||Mk − Y ||22

For k = 1..Kzk = (Mk - Y)T (Mk - Y)

Endk = index of min(z)

Representation (1 of K)

z = [0 0 0 0 ... . . . . . zk ..... . . . . . 0 0 0]

Page 4: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding

Represent an input vector using an overcomplete dictionary

Y Dz

# of dictionary elements > size of input

Each Y is represented using a linear combination of columns of D

Input DictionaryRepresentation (sparse)

How do we calculate z for a given Y?

How do we learn D?

# of zero elements > > > # of non-zero

··yi··

· · · Dj0 · · · ·

· · · · · · · ·· · · Dj

i · · · ·· · · · · · · ·· · · · · · · ·

···zj····

Page 5: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - L0

1) Find the sparsest solution that satisfies a given reconstruction error

min||z||0 s.t. ||Y −�

i

Dizi||22 ≤ �

2) Find the best k-sparse representation that minimizes reconstruction error

min||Y −�

i

Dizi||22 s.t. ||z||0 = k

L0 minimization requires search

not tractable

Page 6: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - L0Matching Pursuit Algorithms offer greedy solution [Mallat and Zhang ’93]

Greedily pick the dictionary element that reduces residual most

very fast, but unstable

Function MP (Y,D,n)R=Y,z=0for k=1..ni = argmax(DTR)z_i = DiTRR = R - z_i Di

end

Page 7: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - L1

Relax L0 into closest convex penalty

Equality of minimum for L0 and L1 is proven under certain conditions [Donoho and Elad ’03]

Input Dictionary Representation

Convex in z and D separately, not both

Fast algorithms exist for solving wrt z

1

2||Y −

i

Dizi||22 + λ�

i

|zi|1

Page 8: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - L1Iterative Shrinkage-Thresholding Algorithm (ISTA)

First order method

Formulation for a general family of objectives

Convex and smooth with Lipschitz constant L Convex and non-smooth

minz

F (z) +G(z)

Q(z)|z� = F (z�) + �z − z�,∇F (z)�+ L

2||z − z�||2 +G(z)

Quadratic Approximation at z’

zk+1 ← argminz

G(z) +L

2||z − (zk − 1

L∇F (zk))||2

Solution

Page 9: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - L1

Loop until some convergence criterion is satisfied

How do we get L?

zk+1 ← argminz

G(z) +L

2||z − (zk − 1

L∇F (zk))||2

t1

2||Y −

i

Dizi||22

i

|zi|1

zk+1 ← argminz

λ||z||1 +L

2||z − t||2

zk+1 ← shλ/L

�zk − 1

L∇F (zk)

�λ

L

λ

L

zk+1 ← shλ/L

�zk − 1

LDT (Dz − Y )

Page 10: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - L1

L is the step size for gradient step

It is the smallest Lipschitz constant of the smooth function F(z) and is equal to largest eigenvalue of DTD

In practice, one does a line search

Function ISTA (Y,D)L>0,c>1,z=0repeatSearch L s.t. Q(z)>F(z)+G(z)zk+1 = sh(zk-1/L DT(Dz-Y))

until convergence

Page 11: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - Learning

How about D?

We want to learn it

Adapt to data

Use online learning for D

E(Y, z,D) =1

2||Y −

i

Dizi||22 + λ�

i

|zi|1

L(Y,D) =1

|Y|�

Y ∈YE(Y, z,D)

Per sample energy

Loss

Page 12: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - Learning

For each sample,

1. do inference

minimize E(Y,z,D) wrt z (use any SC algo)

2. update parameters

3. Constrain elements of D to be unit norm

Y ∈ Y

D ← D − η∂E

∂D

dictionary elements grow, z gets smaller, sparsity term gets discarded

Page 13: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - LearningLearned dictionary D by training in natural image patches

Page 14: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding - Learning

Learned dictionary D by training on MNIST digits

Page 15: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding

Cool, available software?

http://www.di.ens.fr/willow/SPAMS/

http://cs.nyu.edu/~koray

Applications

Image denoising

Inpainting

Classification

Recognition

...

Page 17: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restoration[Mairal, Sapiro, and Elad, 2008d]

Julien Mairal Sparse Coding and Dictionary Learning 16/182

Page 18: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationInpainting, [Mairal, Elad, and Sapiro, 2008b]

Julien Mairal Sparse Coding and Dictionary Learning 17/182

Page 19: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationInpainting, [Mairal, Elad, and Sapiro, 2008b]

Julien Mairal Sparse Coding and Dictionary Learning 18/182

Page 20: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for video restoration

Key ideas for video processing

[Protter and Elad, 2009]

Using a 3D dictionary.

Processing of many frames at the same time.

Dictionary propagation.

Julien Mairal Sparse Coding and Dictionary Learning 19/182

Page 21: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationInpainting, [Mairal, Sapiro, and Elad, 2008d]

Figure: Inpainting results.

Julien Mairal Sparse Coding and Dictionary Learning 20/182

Page 22: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationInpainting, [Mairal, Sapiro, and Elad, 2008d]

Figure: Inpainting results.

Julien Mairal Sparse Coding and Dictionary Learning 21/182

Page 23: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationInpainting, [Mairal, Sapiro, and Elad, 2008d]

Figure: Inpainting results.

Julien Mairal Sparse Coding and Dictionary Learning 22/182

Page 24: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationInpainting, [Mairal, Sapiro, and Elad, 2008d]

Figure: Inpainting results.

Julien Mairal Sparse Coding and Dictionary Learning 23/182

Page 25: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationInpainting, [Mairal, Sapiro, and Elad, 2008d]

Figure: Inpainting results.

Julien Mairal Sparse Coding and Dictionary Learning 24/182

Page 26: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationColor video denoising, [Mairal, Sapiro, and Elad, 2008d]

Figure: Denoising results. ! = 25

Julien Mairal Sparse Coding and Dictionary Learning 25/182

Page 27: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationColor video denoising, [Mairal, Sapiro, and Elad, 2008d]

Figure: Denoising results. ! = 25

Julien Mairal Sparse Coding and Dictionary Learning 26/182

Page 28: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationColor video denoising, [Mairal, Sapiro, and Elad, 2008d]

Figure: Denoising results. ! = 25

Julien Mairal Sparse Coding and Dictionary Learning 27/182

Page 29: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationColor video denoising, [Mairal, Sapiro, and Elad, 2008d]

Figure: Denoising results. ! = 25

Julien Mairal Sparse Coding and Dictionary Learning 28/182

Page 30: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse representations for image restorationColor video denoising, [Mairal, Sapiro, and Elad, 2008d]

Figure: Denoising results. ! = 25

Julien Mairal Sparse Coding and Dictionary Learning 29/182

Page 31: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Digital ZoomingCouzinie-Devy, 2010, Original

Julien Mairal Sparse Coding and Dictionary Learning 30/182

Page 32: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Digital ZoomingCouzinie-Devy, 2010, Bicubic

Julien Mairal Sparse Coding and Dictionary Learning 31/182

Page 33: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Digital ZoomingCouzinie-Devy, 2010, Proposed method

Julien Mairal Sparse Coding and Dictionary Learning 32/182

Page 34: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Digital ZoomingCouzinie-Devy, 2010, Original

Julien Mairal Sparse Coding and Dictionary Learning 33/182

Page 35: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Digital ZoomingCouzinie-Devy, 2010, Bicubic

Julien Mairal Sparse Coding and Dictionary Learning 34/182

Page 36: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Digital ZoomingCouzinie-Devy, 2010, Proposed approach

Julien Mairal Sparse Coding and Dictionary Learning 35/182

Page 37: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningOriginal

Julien Mairal Sparse Coding and Dictionary Learning 36/182

Page 38: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningReconstructed image

Julien Mairal Sparse Coding and Dictionary Learning 37/182

Page 39: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningOriginal

Julien Mairal Sparse Coding and Dictionary Learning 38/182

Page 40: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningReconstructed image

Julien Mairal Sparse Coding and Dictionary Learning 39/182

Page 41: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningOriginal

Julien Mairal Sparse Coding and Dictionary Learning 40/182

Page 42: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningReconstructed image

Julien Mairal Sparse Coding and Dictionary Learning 41/182

Page 43: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningOriginal

Julien Mairal Sparse Coding and Dictionary Learning 42/182

Page 44: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningReconstructed image

Julien Mairal Sparse Coding and Dictionary Learning 43/182

Page 45: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningOriginal

Julien Mairal Sparse Coding and Dictionary Learning 44/182

Page 46: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Inverse half-toningReconstructed image

Julien Mairal Sparse Coding and Dictionary Learning 45/182

Page 47: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Optimization for Dictionary LearningInpainting a 12-Mpixel photograph

Julien Mairal Sparse Coding and Dictionary Learning 62/182

Page 48: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Optimization for Dictionary LearningInpainting a 12-Mpixel photograph

Julien Mairal Sparse Coding and Dictionary Learning 63/182

Page 49: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Optimization for Dictionary LearningInpainting a 12-Mpixel photograph

Julien Mairal Sparse Coding and Dictionary Learning 64/182

Page 50: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Optimization for Dictionary LearningInpainting a 12-Mpixel photograph

Julien Mairal Sparse Coding and Dictionary Learning 65/182

Page 51: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding for Recognition

Recognition requires two basic operations

Feature extraction

Classification

Feature extraction

F(Y ) : Y �→ zSIFT, HoG, ....

Convolutional Nets (w/o the last layer)

Use sparse coding inference as feature extractor

MP(Y) or ISTA(Y)

Page 52: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Sparse Coding for Recognition

Mid-level feature extraction

F(z) : z �→ z�

First layer

SIFT, HoG, .....

Second layer

Quantize into a visual wordbook

Do Sparse coding to learn wordbook

Page 53: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Learning Mid-Level FeaturesY-Lan Boureau

Learning Mid-Level Features for Object Recognition, CVPR‘2010

Slides from Julien Mairal

http://www.di.ens.fr/~mairal/resources/pdf/ERMITES10.pdf

Page 54: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Learning Codebooks for Image Classification

IdeaReplacing Vector Quantization by Learned Dictionaries!

unsupervised: [Yang et al., 2009]

supervised: [Boureau et al., 2010, Yang et al., 2010]

Julien Mairal Sparse Coding and Dictionary Learning 102/182

Page 55: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Learning Codebooks for Image Classification

Let an image be represented by a set of low-level descriptors yi at Nlocations identified with their indices i = 1, . . . ,N.

hard-quantization:

yi ! D!i , !i " {0, 1}p andp

!

j=1

!i [j ] = 1

soft-quantization:

!i [j ] =e!!"yi!dj"22

"pk=1 e

!!"yi!dk"22

sparse coding:

yi ! D!i , !i = argmin!

1

2#yi $D!#22 + !#!#1

Julien Mairal Sparse Coding and Dictionary Learning 103/182

Page 56: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Learning Codebooks for Image ClassificationTable from Boureau et al. [2010]

Yang et al. [2009] have won the PASCAL VOC’09 challenge using thiskind of techniques.

Julien Mairal Sparse Coding and Dictionary Learning 104/182

Page 57: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Training Predictors

Sparse coding solution requires optimization : L0 or L1

Many efficient algorithms, but still slow

Can we train a feed-forward predictor function for feature extraction?

Predictive Sparse Decomposition (PSD)

Page 58: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Predictive Sparse Decomposition

Learning

For each sample from data, do:

1. Fix K and D, minimize to get optimal z

2. Using the optimal value of z update D and K

3. Scale elements of D to be unit norm.

Sparse Coding PredictionC(Y ;K) = g · tanh(y ∗ k)

E(Y, z,D,K) =1

2||Y −

i

Dizi||22 + λ�

i

|zi|1 + β||z − C(Y ;K)||22

Page 59: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Encoder (K) Decoder (D)

Predictive Sparse Decomposition

12 x12 natural image patches

256 dictionary elements

Page 60: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Recognition - C101

Optimal (Feature Sign, Lee’07) vs PSD features

PSD features perform slightly better

Naturally optimal point of sparsity

After 64 features not much gain

PSD features are hundreds of times faster

Page 61: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Training Deep Networks with PSD

Train layer-wise [Hinton’06]

C(Y ,K1)

C(ƒ(K1),K2)

C(ƒ(K2),K3)

...

Each layer is trained on the output ƒ(z) produced from previous layer.

ƒ is a series of non-linearity and pooling operations

Page 62: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Multi-Stage Object Recognition

Filterbank - C(x;K) Non-linearities Pooling

Filterbank Abs LCN Pooling

Conv Net Learned ! ! Average

HMAX Gabor ! ! Max

• Building block of a multi-stage architecture

• Only the Filterbank is learned

• 0.53% on MNIST using 3 stages

Page 63: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Object Recognition - Caltech 101

R RR U UUUnsupervised ! ! ✓ ✓

Random ✓ ✓ ! !

Supervised R+ R+ R+ U+ U+ U+

0

10

20

30

40

50

60

70

R U R+ U+ RR UU R+R+ U+U+

66.365.3

57.657.161.060.0

56.0

37.6

44.3

38.0

44.0

32.1 32.029.7

9.18.8

14.514.313.412.1

Pa N-Pa N-Pm Rabs-Pa Rabs-N-Pa Conv Rabs-N-Pa

Page 64: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

10 2 10 1 100 101

0.05

0.1

0.2

0.3

0.40.50.60.70.80.9

1

false positives per image

mis

s ra

te

U+U+ bt0 (23.6%)U+U+ bt1 (16.5%)U+U+ bt2 (13.8%)U+U+ bt6 (12.4%)U+U+ bt3 (11.9%)U+U+ bt5 (11.7%)U+U+ bt4 (11.5%)

10 2 10 1 100 101

0.05

0.1

0.2

0.3

0.40.50.60.70.80.9

1

false positives per image

mis

s ra

te

R+R+ (14.8%)U+U+ (11.5%)

Pedestrian DetectionConvolutional Predictive Sparse Decomposition2 layer architectureINRIA DatasetUnsupervised Learning improves by 20%

Page 65: Machine Learning and Pattern Recognitionyann/2010f-G22-2565-001/diglib/... · 2010-12-19 · Machine Learning and Pattern Recognition Unsupervised Learning Sparse Coding. Remember

Pedestrian Detection

10 2 10 1 100 101

0.05

0.1

0.2

0.3

0.40.50.60.70.80.9

1

false positives per image

miss

rate

Shapelet orig (90.5%)PoseInvSvm (68.6%)VJ OpenCv (53.0%)PoseInv (51.4%)Shapelet (50.4%)VJ (47.5%)FtrMine (34.0%)Pls (23.4%)HOG (23.1%)HikSvm (21.9%)LatSvm V1 (17.5%)MultiFtr (15.6%)R+R+ (14.8%)U+U+ (11.5%)MultiFtr+CSS (10.9%)LatSvm V2 (9.3%)FPDW (9.3%)ChnFtrs (8.7%)