learning crfs with hierarchical features: an application to go

26
1 Learning CRFs with Hierarchical Features: An Application to Go Scott Sanner Thore Graepel Ralf Herbrich Tom Minka – University of Toronto Microsoft Research (with thanks to David Stern and Mykel Kochenderfer)

Upload: hachi

Post on 11-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Learning CRFs with Hierarchical Features: An Application to Go. – University of Toronto Microsoft Research. Scott Sanner Thore Graepel Ralf Herbrich Tom Minka. (with thanks to David Stern and Mykel Kochenderfer). TexPoint fonts used in EMF. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Learning CRFs with Hierarchical Features: An Application to Go

1

Learning CRFs with Hierarchical Features: An Application to Go

Scott SannerThore Graepel

Ralf HerbrichTom Minka

– University of Toronto

Microsoft Research

(with thanks to David Stern and Mykel Kochenderfer)

Page 2: Learning CRFs with Hierarchical Features: An Application to Go

2

The Game of Go• Started about 4000 years ago in ancient China• About 60 million players worldwide• 2 Players: Black and White• Board: 19×19 grid• Rules:

– Turn: One stone placed on vertex.– Capture.

1

• A stone is captured by surrounding it

White territory

Blackterritory

• Aim: Gather territory by surrounding it

Page 3: Learning CRFs with Hierarchical Features: An Application to Go

3

Territory Prediction• Goal: predict territory distribution given board...

• How to predict territory?

– Could use simulated play:• Monte Carlo averaging is an excellent estimator

• Avg. 180 moves/turn, >100 moves/game costly

– We learn to directly predict territory:• Learn from expert data

~c P (~s j~c)

P (~s j~c)

Page 4: Learning CRFs with Hierarchical Features: An Application to Go

4

• Hierarchical pattern features

• Independent pattern-based classifiers– Best way to combine features?

• CRF models– Coupling factor model (w/ patterns)– Best training / inference approximation

to circumvent intractability?

• Evaluation and Conclusions

Talk Outline

Page 5: Learning CRFs with Hierarchical Features: An Application to Go

5

• Centered on a single position

• Exact config.of stones

• Fixed match region (template)

• 8 nested templates

• 3.8 million patterns mined

Hierarchical Patterns

Page 6: Learning CRFs with Hierarchical Features: An Application to Go

6

Models

Vertex Variables: si ;ci

(a) Independent pattern- based classifiers

(b) CRF (c) Pattern CRF

Ãi (si = +1;~c) = exp

0

@X

~¼2 ~¦

¸~¼¢I ~¼(~c;i)

1

AUnary pattern-based factors:

Ã(i ;j )(si ;sj ;ci ;cj ) = exp

Ã36X

k=1

¸k ¢Ik(si ;sj ;ci ;cj ;k)

!Couplingfactors:

Page 7: Learning CRFs with Hierarchical Features: An Application to Go

7

Independent Pattern-based

Classifiers

Page 8: Learning CRFs with Hierarchical Features: An Application to Go

8

Inference and Training

• Up to 8 pattern sizes may match at any vertex

• Which pattern to use?– Smallest pattern – Largest pattern

• Or, combine all patterns:– Logistic regression– Bayesian model averaging…

Ãi (si = +1;~c)

= exp

0

@X

~¼2 ~¦

¸~¼¢I ~¼(~c; i)

1

A

Ãi (si = +1;~c) = P (si j~¼min(~c; i))

Ãi (si = +1;~c) = P (si j~¼max(~c; i))

Page 9: Learning CRFs with Hierarchical Features: An Application to Go

9

Bayesian Model Averaging

• Bayesian approach to combining models:

• Now examine the model “weight”:

• Model must apply to all data!

P (¿j~c;D) =P (Dj¿;~c)P (¿j~c)

P¿2¨ P (Dj¿;~c)P (¿j~c)

P (sj j~c;D) =X

¿2¨

P (sj j¿;~c;D)P (¿j~c;D)

Page 10: Learning CRFs with Hierarchical Features: An Application to Go

10

Hierarchical Tree Models• Arrange patterns into decision trees i:

• Model i provides predictions on all data

Page 11: Learning CRFs with Hierarchical Features: An Application to Go

11

CRF

& Pattern CRF

Page 12: Learning CRFs with Hierarchical Features: An Application to Go

12

Inference and Training• Inference

– Exact is slow for 19x19 grids– Loopy BP is faster

• but biased

– Sampling is unbiased• but slower than Loopy BP

• Training– Max likelihood requires inference!

– Other approximate methods…

@l@̧ j

=X

d2D

Ã

I j (~s(d);~c(d)) ¡X

~s

I j (~s;~c(d))P (~sj~c(d))

!

Page 13: Learning CRFs with Hierarchical Features: An Application to Go

13

Pseudolikelihood• Standard log-likelihood:

• Edge-based pseudo log-likelihood:

• Then inference during training is purely local• Long range effects captured in data• Note: only valid for training

– in presence of fully labeled data

pl(~̧) =X

d2D

X

f 2F

logP (~s(d)f j~c(d)

f ;MBF (f )(d))

l(~̧) =X

d2D

logP (~s(d) j~c(d))

Page 14: Learning CRFs with Hierarchical Features: An Application to Go

14

Local Training• Piecewise:

• Shared Unary Piecewise:

Page 15: Learning CRFs with Hierarchical Features: An Application to Go

15

Evaluation

Page 16: Learning CRFs with Hierarchical Features: An Application to Go

16

Models & Algorithms• Model & algorithm specification:

– Model / Training (/ Inference, if not obvious)

• Models & algorithms evaluated:– Indep / {Smallest, Largest} Pattern– Indep / BMA-Tree {Uniform, Exp}– Indep / Log Regr– CRF / ML Loopy BP (/ Swendsen-Wang)– Pattern CRF / Pseudolikelihood (Edge)– Pattern CRF / (S. U.) Piecewise– Monte Carlo

Page 17: Learning CRFs with Hierarchical Features: An Application to Go

17

Training Time• Approximate time for various models and

algorithms to reach convergence:

Algorithm Training Time

Indep / Largest Pattern < 45 min

Indep / BMA-Tree < 45 min

Pattern CRF / Piecewise ~ 2 hrs

Indep / Log Regr ~ 5 hrs

Pattern CRF / Pseudolikelihood ~ 12 hrs

CRF / ML Loopy BP > 2 days

Page 18: Learning CRFs with Hierarchical Features: An Application to Go

18

Inference Time• Average time to evaluate for various

models and algorithms on a 19x19 board:

Algorithm Inference Time

Indep / Sm. & Largest Pattern 1.7 ms

Indep / BMA-Tree & Log Regr 6.0 ms

CRF / Loopy BP 101.0 ms

Pattern CRF / Loopy BP 214.6 ms

Monte Carlo 2,967.5 ms

CRF / Swend.-Wang Sampling 10,568.7 ms

P (~s j~c)

Page 19: Learning CRFs with Hierarchical Features: An Application to Go

19

Performance Metrics

• Vertex Error: (classification error)

• Net Error: (score error)

• Log Likelihood: (model fit)

1jGj

P jGji=1 I(sgn(EP (~sj~c(d) )[si ]) 6= sgn(s(d)

i ))

12jGj j

P jGji=1 EP (~sj~c( d) )[si ]¡

P jGji=1 s(d)

i j

logP (~s(d) j~c(d))

Page 20: Learning CRFs with Hierarchical Features: An Application to Go

20

Performance Tradeoffs I

0.18 0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.340

0.02

0.04

0.06

0.08

0.1

0.12

Vertex Error

Net

Err

or

Net Error vs. Vertex Error Tradeoff

Indep / Smallest Pattern Indep / Largest Pattern Indep / BMA-Tree Uniform Indep / BMA-Tree Exp Indep / Log Regr CRF / ML Loopy BP CRF / ML Loopy BP / Swendsen-Wang Pattern CRF / Pseudolikelihood EdgePattern CRF / Pseudolikelihood Pattern CRF / Piecewise Pattern CRF / S.U. Piecewise Monte Carlo

Page 21: Learning CRFs with Hierarchical Features: An Application to Go

21

Why is Vertex Error better for CRFs?

• Coupling factors help realize stable configurations

• Compare previous unary-only independent model to unary and coupling model:– Independent models make inconsistent predictions– Loopy BP smoothes these predictions (but too much?)

BMA-Tree Model Coupling Model with Loopy BP

Page 22: Learning CRFs with Hierarchical Features: An Application to Go

22

Why is Net Error worse for CRFs?• Use sampling to examine bias of Loopy BP

– Unbiased inference in limit– Can run over all test data but still too costly for training

• Smoothing gets rid of local inconsistencies• But errors reinforce each other!

Loopy Belief Propagation Swendsen-Wang Sampling

Page 23: Learning CRFs with Hierarchical Features: An Application to Go

23

Bias of Local Training• Problems with Piecewise training:

– Very biased when used in conjunction with Loopy BP

– Predictions good (low Vertex Error), just saturated– Accounts for poor Log Likelihood & Net Error…

ML Trained Piecewise Trained

Page 24: Learning CRFs with Hierarchical Features: An Application to Go

24

Performance Tradeoffs II

0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.30

0.02

0.04

0.06

0.08

0.1

0.12

-Log Likelihood

Net

Err

or

Net Error vs. -Log Likelihood Tradeoff

Indep / Smallest Pattern Indep / Largest Pattern Indep / BMA-Tree Uniform Indep / BMA-Tree Exp Indep / Log Regr CRF / ML Loopy BP CRF / ML Loopy BP / Swendsen-Wang Pattern CRF / Pseudolikelihood EdgePattern CRF / Pseudolikelihood Pattern CRF / Piecewise Pattern CRF / S.U. Piecewise Monte Carlo

Page 25: Learning CRFs with Hierarchical Features: An Application to Go

25

ConclusionsTwo general messages:

(1) CRFs vs. Independent Models:• Pattern CRFs should theoretically be better• However, time cost is high• Can save time with approximate training /

inference• But then CRFs may perform worse than

independent classifiers – depends on metric

(2) For Independent Models:• Problem of choosing appropriate neighborhood

can be finessed by Bayesian model averaging

Page 26: Learning CRFs with Hierarchical Features: An Application to Go

26

Thank you!

Questions?