Sta$s$cal model training DTW, EM, and HMM training DTW: - - PowerPoint PPT Presentation

sta s cal model training dtw em and hmm training
SMART_READER_LITE
LIVE PREVIEW

Sta$s$cal model training DTW, EM, and HMM training DTW: - - PowerPoint PPT Presentation

Sta$s$cal model training DTW, EM, and HMM training DTW: no training per se each example = its own model does deal with sequences


slide-1
SLIDE 1

Sta$s$cal ¡model ¡training ¡

slide-2
SLIDE 2

DTW, ¡EM, ¡and ¡HMM ¡training ¡

  • DTW: ¡no ¡training ¡per ¡se ¡ ¡

– each ¡example ¡= ¡its ¡own ¡model ¡ – does ¡deal ¡with ¡sequences ¡

  • EM ¡es$mates ¡parameters ¡for ¡hidden ¡variables ¡

– itera$vely ¡weights ¡with ¡posterior ¡es$mates ¡ – as ¡described ¡so ¡far, ¡no ¡sequences ¡

  • HMM ¡training ¡uses ¡EM ¡to ¡es$mate ¡parameters ¡

– itera$vely ¡weights ¡with ¡posterior ¡es$mates ¡ – applies ¡to ¡full ¡sequences ¡

slide-3
SLIDE 3

HMM ¡recogni$on-­‑>training ¡

  • Condi$onal ¡independence ¡assump$ons ¡

– made ¡inference ¡feasible ¡ – led ¡to ¡full ¡likelihood, ¡Viterbi ¡es$mates ¡

  • Assump$on: ¡separate ¡acous$c/language ¡models ¡

– permiKed ¡Bayes ¡rule ¡combina$on ¡ – need ¡to ¡es$mate ¡associated ¡parameters ¡

  • EM ¡needed ¡for ¡sequences ¡

– goal ¡is ¡to ¡maximize ¡likelihood ¡for ¡en$re ¡sequence ¡ – op$mize ¡over ¡all ¡possible ¡state ¡sequences ¡ – don’t ¡know ¡where ¡speech ¡classes ¡start/stop ¡

slide-4
SLIDE 4

HMM ¡training(1) ¡

  • Start ¡with ¡EM ¡auxiliary ¡func$on ¡

– states ¡are ¡the ¡hidden ¡variables ¡ – maximizing ¡Aux ¡also ¡maximizes ¡likelihood ¡

  • Aux ¡= ¡E(log ¡joint ¡prob ¡of ¡observed, ¡hidden) ¡

– observed ¡= ¡sequence ¡of ¡feature ¡vectors ¡ – hidden=sequence ¡of ¡states ¡ – maximize ¡for ¡each ¡model ¡M ¡by ¡adjus$ng ¡θ ¡ ¡ – iterate ¡

Aux =

P(Q | X1

N Q

!

,"old )log[P(X1

N,Q | ")]

= P(Q | X1

N Q

!

,"old )log[P(X1

N | Q,")P(Q | ")]

slide-5
SLIDE 5

HMM ¡training(2) ¡

  • Use ¡condi$onal ¡independence ¡assump$ons ¡

– Replace ¡P(data|states) ¡by ¡framewise ¡product ¡

  • f ¡emission ¡probs ¡

– Replace ¡P(state ¡sequence) ¡by ¡framewise ¡product ¡of ¡ transi$on ¡probs ¡(and ¡first ¡frame ¡prior) ¡

Aux =

P(qk

n k=1 L

!

n=1 N

!

| X1

N,"old )logP(xn | qk n,")

+ P(qk

1 k=1 L

!

| X1

N,"old )logP(qk 1 | ")

+ P(ql

n l=1 L

!

k=1 L

!

n=2 N

!

,qk

n#1 | X1 N,"old )logP(ql n | qk n#1,")

slide-6
SLIDE 6

HMM ¡training(3) ¡

  • Op$mize ¡terms ¡separately ¡(separate ¡parameters) ¡

– First ¡term: ¡take ¡par$al ¡deriva$ve, ¡set ¡to ¡zero, ¡ solve ¡equa$ons, ¡get ¡local ¡maximum ¡ – Other ¡terms: ¡need ¡to ¡use ¡Lagrangian ¡constraint ¡

  • State ¡priors ¡sum ¡to ¡1 ¡for ¡all ¡possible ¡classes ¡
  • State ¡transi$on ¡probs ¡sum ¡to ¡1 ¡for ¡all ¡possible ¡transi$ons ¡
  • For ¡mixture ¡Gaussian ¡case, ¡all ¡weights ¡sum ¡to ¡1 ¡
  • In ¡all ¡cases, ¡take ¡par$al ¡deriva$ves ¡including ¡the ¡constraint ¡

term, ¡set ¡to ¡zero, ¡solve ¡

slide-7
SLIDE 7

HMM ¡training(4)-­‑ ¡summary ¡

(1) ¡Choose ¡form ¡for ¡local ¡prob ¡es$mators ¡for ¡state ¡ emission ¡densi$es ¡(e.g., ¡Gaussian) ¡ (2) ¡Choose ¡ini$aliza$on ¡for ¡parameters ¡ (3) ¡Given ¡the ¡parameters, ¡compute ¡ ¡ for ¡each ¡state ¡and ¡$me, ¡and ¡ for ¡each ¡state ¡transi$on ¡and ¡$me ¡ (4) ¡Given ¡these ¡probabili$es, ¡re-­‑es$mate ¡ parameters ¡to ¡maximize ¡ ¡ (5) ¡Assess ¡and ¡return ¡to ¡(3) ¡if ¡not ¡good ¡enough ¡

P(qj

n | X1 N,!old )

P(qj

n,qi n!1 | X1 N,"old )

Aux

slide-8
SLIDE 8

But ¡wait, ¡there’s ¡more ¡

  • Each ¡parameter ¡es$mator ¡needs ¡posterior ¡

es$mate ¡(e.g., ¡prob ¡of ¡a ¡state ¡at ¡a ¡par$cular ¡$me ¡ given ¡the ¡feature ¡vector ¡sequence) ¡

  • This ¡requires ¡recursion ¡to ¡es$mate ¡these ¡values ¡
  • This ¡recursion ¡is ¡called ¡the ¡forward-­‑backward ¡

method, ¡or ¡Baum-­‑Welch ¡training ¡

slide-9
SLIDE 9

Forward ¡and ¡backward ¡recursions ¡

  • Forward ¡recursion ¡was ¡defined ¡before: ¡
  • Backward ¡recursion ¡defined ¡so ¡that ¡product ¡is ¡

joint ¡probability ¡of ¡observed ¡sequence ¡and ¡a ¡ par$cular ¡state ¡at ¡$me ¡n: ¡

!n(l | M ) = P(X1

n,ql n | M) =

!n"1(k | M )

k=1 L

#

P(ql

n | qk

n"1)P(xn | ql

n)

!n(l | M ) = P(Xn+1

N | ql n,X1 n,M) =

!n"1(k | M )

k=1 L

#

P(qk

n+1 | ql

n)P(xn+1 | qk

n+1)

slide-10
SLIDE 10

State ¡probability ¡at ¡$me ¡n ¡

  • This ¡can ¡be ¡used ¡to ¡update ¡parameter ¡values ¡for ¡

emission ¡densi$es ¡(e.g., ¡means ¡and ¡variances) ¡

  • The ¡new ¡density ¡es$mators ¡can ¡then ¡be ¡used ¡

to ¡do ¡new ¡forward ¡and ¡backward ¡recurrences ¡

  • Etc., ¡etc. ¡

P(qk

n | X1 N,M ) = P(X1 N,qk n | M )

P(X1

N | M )

= P(X1

N,qk n | M )

P

l

! (X1

N,ql n | M )

= "n(k | M )#n(k | M ) "n(l | M )#n(l | M )

l

!

slide-11
SLIDE 11

Transi$on ¡probabili$es ¡at ¡$me ¡n ¡

Gets ¡es$mate ¡of ¡total ¡probability ¡for ¡all ¡paths ¡ that ¡contain ¡this ¡transi$on ¡

  • Like ¡emission ¡density ¡es$mate, ¡this ¡one ¡can ¡be ¡

iterated ¡for ¡improved ¡es$mates ¡

  • Prac$cal ¡point: ¡for ¡most ¡systems, ¡transi$on ¡

probabili$es ¡have ¡liKle ¡effect ¡

P(ql

n |qk n!1,M ) = P(ql n,qk n!1 | M )

P(qk

n!1 | M )

= P(ql

n,qk n!1 | M )

P

l

" (ql

n,qk n!1 | M )

= #n

n=2 N

"

(l | M )P(xn | ql

n)P(ql n | qk n!1)$n!1(k | M )

#n

n=2 N

"

(l | M )P(xn | ql

n)P(ql n | qk n!1)$n!1(k | M ) l=1 L(M )

"

slide-12
SLIDE 12

Transi$on ¡probabili$es ¡at ¡$me ¡n ¡

qk q

n-1(k M) n( M)

P(q qk, M) !! " p(xn q )

l l

l

l

slide-13
SLIDE 13

Assump$ons ¡required ¡for ¡ transi$on ¡probability ¡es$mator ¡

  • No ¡dependence ¡on ¡previous ¡state ¡for ¡
  • bserva$ons ¡in ¡current ¡and ¡later ¡frames ¡
  • No ¡dependence ¡on ¡past ¡observa$ons ¡for ¡current ¡

state ¡and ¡observa$on, ¡given ¡previous ¡state ¡

  • That ¡being ¡said, ¡the ¡posterior ¡is ¡derived ¡from ¡

acous$c ¡probabili$es ¡over ¡the ¡en$re ¡uKerance ¡

slide-14
SLIDE 14

Gaussian ¡example ¡

  • Best ¡es$mator ¡for ¡mean ¡is ¡
  • Subs$tu$ng ¡recursion ¡values ¡for ¡posterior ¡

µ j =

P(qj

n | X1 N,!old,M )xn n=1 N

"

P(qj

n | X1 N,!old,M ) n=1 N

"

= !n( j | M )"n( j | M )xn

n=1 N

#

!n( j | M )"n( j | M )

n=1 N

#

slide-15
SLIDE 15

Viterbi ¡training ¡

  • Previously: ¡full ¡likelihood ¡ASR ¡≈ ¡best ¡path ¡ASR ¡

(Viterbi ¡approxima$on) ¡

  • Prob ¡sum ¡-­‑> ¡max ¡(or ¡min ¡of ¡–log ¡P) ¡
  • Can ¡also ¡approximate ¡for ¡training ¡
  • Assume ¡state ¡sequence ¡es$mate ¡is ¡ground ¡truth ¡

for ¡each ¡itera$on ¡-­‑> ¡posterior ¡probs ¡are ¡either ¡ zero ¡or ¡one ¡

  • At ¡training ¡$me, ¡choice ¡of ¡model ¡is ¡known ¡(i.e., ¡

you ¡know ¡what ¡the ¡word ¡is) ¡

slide-16
SLIDE 16

Viterbi ¡training ¡steps ¡

(1) ¡Choose ¡form ¡for ¡local ¡prob ¡es$mators ¡for ¡state ¡ emission ¡densi$es ¡(e.g., ¡Gaussian) ¡ (2) ¡Choose ¡ini$aliza$on ¡for ¡parameters ¡ (3) ¡Find ¡most ¡likely ¡state ¡sequence ¡for ¡each ¡model ¡ (4) ¡Given ¡this ¡sequence, ¡re-­‑es$mate ¡parameters ¡ (5) ¡Assess ¡and ¡return ¡to ¡(3) ¡if ¡not ¡good ¡enough ¡ Note: ¡Step ¡(3) ¡is ¡called ¡forced ¡(or ¡Viterbi) ¡

  • alignment. ¡
slide-17
SLIDE 17

Viterbi ¡alignment ¡uses ¡DP ¡

  • DTW-­‑like ¡local ¡distance ¡is ¡ ¡
  • Transi$on ¡cost ¡is ¡ ¡
  • Only ¡consider ¡models ¡for ¡transcribed ¡words ¡
  • Backtracking ¡straighforward ¡
  • Next ¡slide, ¡alignment ¡cartoon ¡

!logP(ql

n | qk n!1)

!logP(xn | ql

n)

slide-18
SLIDE 18

Viterbi ¡(forced) ¡alignment ¡

Mj Xj q1 q2 q3

slide-19
SLIDE 19

Viterbi ¡training ¡minus/plus ¡

  • Adds ¡another ¡approxima$on ¡
  • Best ¡path ¡might ¡not ¡be ¡the ¡best ¡choice ¡to ¡

represent ¡model ¡against ¡other ¡models ¡ But: ¡

  • Recogni$on ¡ogen ¡done ¡with ¡Viterbi, ¡so ¡it’s ¡a ¡

good ¡match, ¡since ¡best ¡path ¡gets ¡reinforced ¡

  • Transi$on ¡probabili$es ¡par$cularly ¡simple: ¡

just ¡count ¡

slide-20
SLIDE 20

Gaussian ¡example ¡

  • Means ¡and ¡variances ¡computed ¡from ¡last ¡

alignment ¡

  • Equivalent ¡to ¡Baum-­‑Welch ¡example ¡with ¡

posteriors ¡only ¡being ¡zero ¡or ¡one ¡

  • For ¡the ¡mean, ¡get ¡the ¡obvious ¡

µ j =

xn

# frames labeled j

!

#frames labeled j

slide-21
SLIDE 21

Baum-­‑Welch ¡mean ¡vs ¡Viterbi ¡ µ j =

xn

# frames labeled j

!

#frames labeled j

µ j =

P(qj

n | X1 N,!old,M )xn n=1 N

"

P(qj

n | X1 N,!old,M ) n=1 N

"

slide-22
SLIDE 22

Emission ¡probability ¡es$mators ¡

  • Gaussians ¡

– Strong ¡assump$on; ¡beKer ¡if ¡full ¡covariance ¡used ¡

  • Tied ¡Mixtures ¡of ¡Gaussians ¡

– Typically ¡beKer ¡use ¡of ¡parameters ¡

  • Independent ¡Mixture ¡of ¡Gaussians ¡

– More ¡parameters, ¡needs ¡more ¡training ¡data ¡

  • Neural ¡Networks ¡– ¡quite ¡different ¡
  • Discrete ¡density ¡es$mators ¡(using ¡

quan$za$on) ¡

slide-23
SLIDE 23

Discrete ¡probability ¡es$mators ¡

  • Vector ¡quan$za$on ¡(VQ) ¡training ¡ ¡

– make ¡a ¡table ¡of ¡feature ¡vectors ¡using ¡clustering ¡ – commonly ¡called ¡a ¡codebook ¡– ¡some$me ¡>1 ¡

  • Map ¡each ¡training ¡frame ¡xn ¡ ¡

to ¡codebook ¡index ¡yj ¡

  • For ¡both ¡Baum-­‑Welch ¡and ¡Viterbi, ¡generate ¡

probability ¡es$mates ¡for ¡states ¡given ¡ codebook ¡entries ¡

slide-24
SLIDE 24

Discrete ¡probability ¡es$mators(2) ¡

  • Baum-­‑Welch ¡case: ¡

where ¡posteriors ¡come ¡from ¡forward-­‑backward ¡

  • E(#frames ¡for ¡codebook ¡index ¡j ¡and ¡state ¡l) ¡

divided ¡by ¡E(#frames ¡for ¡state ¡l) ¡

P(yj | ql

n,!) =

P(ql

n | X1 N,!old,M )"nj n=1 N

#

P(ql

n | X1 N,!old,M ) n=1 N

#

slide-25
SLIDE 25

Discrete ¡probability ¡es$mators(3) ¡

  • Viterbi ¡case: ¡

where ¡counts ¡come ¡from ¡the ¡previous ¡alignment ¡

P(yj | ql,!) = # frames labeled l and j # frames labeled l

slide-26
SLIDE 26

Ini$aliza$on ¡

  • Needed ¡for ¡any ¡form ¡of ¡EM ¡
  • Can ¡start ¡with ¡manually ¡annotated ¡database ¡

– TIMIT ¡ – STP ¡or ¡Buckeye ¡

  • Can ¡start ¡with ¡es$mator ¡probabili$es ¡from ¡a ¡

previous ¡task ¡

  • For ¡Baum-­‑Welch, ¡can ¡even ¡use ¡very ¡simple ¡

segmenta$ons ¡ ¡

slide-27
SLIDE 27

Smoothing ¡

  • To ¡capture ¡variability, ¡want ¡detailed ¡models ¡
  • Insufficient ¡data ¡for ¡some ¡fine ¡categories ¡
  • Smoothing ¡is ¡required ¡
  • Typically ¡combine ¡fine ¡and ¡coarse ¡es$mates ¡
  • Used ¡for ¡both ¡acous$c ¡and ¡language ¡models ¡
  • Common ¡methods: ¡backoff ¡and ¡interpola$on ¡
slide-28
SLIDE 28

Backoff ¡Smoothing ¡

  • Set ¡threshold ¡for ¡number ¡of ¡training ¡examples ¡

in ¡a ¡category ¡to ¡use ¡for ¡es$mate ¡

  • If ¡fewer ¡examples, ¡use ¡a ¡coarser ¡category ¡
  • Example: ¡triphone ¡

– Phone ¡in ¡context ¡of ¡a ¡leg ¡and ¡right ¡phone ¡ – If ¡not ¡enough ¡examples, ¡use ¡biphone ¡(e.g., ¡ average ¡of ¡the ¡leg ¡biphone ¡value ¡and ¡right ¡one) ¡

  • Simple, ¡but ¡ogen ¡works ¡well ¡
  • The ¡subtlety ¡is ¡in ¡picking ¡thresholds ¡
slide-29
SLIDE 29

Smoothing ¡by ¡Interpola$on ¡

  • Linearly ¡interpolate ¡between ¡fine ¡and ¡coarse ¡
  • One ¡approach: ¡deleted ¡interpola$on ¡

– Learn ¡weights ¡from ¡disjoint ¡data ¡ – Can ¡also ¡jackknife ¡through ¡the ¡data ¡ – Can ¡set ¡fine ¡class ¡weight ¡to ¡frac$on ¡of ¡uKerances ¡ for ¡which ¡fine ¡class ¡is ¡beKer ¡ – Can ¡also ¡use ¡EM ¡to ¡es$mate ¡the ¡weights ¡

slide-30
SLIDE 30

A ¡cau$on ¡about ¡probabili$es ¡

  • I’ve ¡treated ¡each ¡incidence ¡of ¡P() ¡as ¡a ¡prob ¡
  • Ogen ¡it’s ¡really ¡a ¡density ¡
  • Density ¡values ¡ogen ¡> ¡1 ¡
  • Integrate ¡to ¡1 ¡over ¡all ¡possible ¡values, ¡not ¡over ¡

all ¡observed ¡values ¡

slide-31
SLIDE 31

Summary ¡

  • Training ¡of ¡HMMs ¡briefly ¡covered ¡
  • Chapter ¡26 ¡has ¡a ¡few ¡things ¡worked ¡through ¡in ¡

greater ¡detail ¡– ¡try ¡to ¡follow ¡the ¡equa$ons ¡

  • Papers ¡from ¡ICASSP, ¡Interspeech ¡(the ¡

combined ¡ICSLP ¡and ¡Eurospeech) ¡have ¡more ¡

  • We ¡had ¡many ¡assump$ons ¡ ¡
  • ¡known ¡to ¡be ¡wrong ¡– ¡long ¡distance ¡independence ¡
  • If ¡models ¡are ¡wrong, ¡ML ¡not ¡the ¡best ¡
  • Increased ¡importance ¡of ¡discriminant ¡training ¡