Generatives und Diskriminatives Training

Werbung
Methoden der Biosignalverarbeitung - Training
Vorlesung SS 2012
Methoden der Biosignalverarbeitung
Generatives und Diskriminatives Training
Dipl. Math. Michael Wand
Prof. Dr. Tanja Schultz
1 / 95
Generatives und Diskriminatives Training
Methoden der Biosignalverarbeitung - Training
• Mit dieser Vorlesung verlassen wir das Thema Datenvorverarbeitung.
• Stattdessen wollen wir uns zum Schluss noch mit Trainingmethoden
beschäftigen.
• Wir werden diskriminative Trainingsmethoden für GMMs
(Gauss-Mischverteilungen) und HMMs (Hidden Markov Modelle)
betrachten, wobei die Grundlagen der HMM-Modellierung
vorausgesetzt sind.
• Außerdem gibt es noch ein paar generelle Betrachtungen zu Training
und Modellierung – wir werden den EM-Algorithmus im Detail
betrachten, und wir untersuchen, was eigentlich das besondere an
“diskriminativen” Verfahren ist.
2 / 95
Literatur
Methoden der Biosignalverarbeitung - Training
Empfohlene Literatur zur Vorlesung:
Bishop: Pattern Recognition and Machine Learning.
Springer, 2006
Sehr gutes Lehrbuch.
Bilmes: A Gentle Tutorial of the EM Algorithm and its Application to Parameter
Estimation for Gaussian Mixture and Hidden Markov Models.
Tutorial-Text. Online erhältlich.
3 / 95
Methoden der Biosignalverarbeitung - Training
Übersicht
• Generative versus diskriminative Modelle
• Gaussverteilungen und Gauss-Mischverteilungen
• Exkurs: Der allgemeine EM-Algorithmus
• Trainingsmethoden für HMMs
• Diskriminative Trainingsmethoden für GMMs und HMMs
4 / 95
Einleitung
Methoden der Biosignalverarbeitung - Training
Ein Klassifikationproblem:
• x: Datenpunkt
• Ck , k = 1, . . . , N: gesuchte Klassenzugehörigkeit für x.
• Probabilistische Entscheidung: nur mit
einer gewissen Wahrscheinlichkeit richtig!
2
1.5
x7
1
0.5
0
0
0.25
0.5
x6
Quelle: Bishop, Figure 1.19
5 / 95
0.75
1
Methoden der Biosignalverarbeitung - Training
Einleitung
Genauer suchen wir die Wahrscheinlichkeiten dafür, dass x den Klassen Ck
angehört: Gesucht ist also
p(Ck |x).
Bayes’ Theorem sagt dann, dass
p(Ck |x) =
p(x|Ck )p(Ck )
.
p(x)
p(Ck ) ist die a-priori-Wahrscheinlichkeit für die Klasse Ck , und p(Ck |x)
heißt a-posteriori-Wahrscheinlichkeit von Ck , nachdem x beobachtet
wurde.
6 / 95
Methoden der Biosignalverarbeitung - Training
Entscheidungstheorie
Entscheidungstheorie: Nach welchen Regeln ordnet man einem
Datenpunkt eine Klasse zu?
• Minimierung der Fehlklassifikationen: Das geht, indem man einen
Datenpunkt x der Klasse Ck zuordnet, für die p(Ck |x) am größten ist.
• Minimierung des Verlustes: Manchmal ist die Anzahl der
Fehlklassifikationen ein zu ungenauen Kriterium: Zum Beispiel kann
eine bestimmte Fehlklassifikation einen sehr viel größeren Schaden
anrichten als jede andere Fehlklassifikation (Krankheitsdiagnose, . . . ).
• Reject option: Es mag auch erwünscht sein, gewisse Datenpunkte,
bei denen die Klassifikation zweifelhaft ist, zurückzuweisen, also gar
nicht zu klassifizieren.
7 / 95
Entscheidungstheorie
Methoden der Biosignalverarbeitung - Training
In jedem Fall zwei Schritte:
1. Lernen eines Modells für p(Ck |x)
2. danach wird dieses Modell zur Klassifikation verwendet.
Man unterscheidet zwei Arten von Modellen:
• Generative Modelle: Zunächst werden die Wahrscheinlichkeiten
p(x|Ck ) gegeben die jeweiligen Klassen gelernt. Außerdem müssen die
a-priori-Wahrscheinlichkeiten der Klassen p(Ck ) separat gelernt
werden. Dann kann die Bayes-Regel verwendet werden, um p(Ck |x)
zu finden:
p(x|Ck )p(Ck )
.
p(Ck |x) =
p(x)
• Modelle, die die posteriori-Wahrscheinlichkeiten p(Ck |x) direkt
modellieren, heißen diskriminative Modelle.
8 / 95
Methoden der Biosignalverarbeitung - Training
Beispiel: Diskriminatives Modell
Typisches Beispiel für ein
diskriminatives Modell: linearer
Klassifikator. Er diskriminiert
zwei Klassen mittels einer
Trennhyperebene.
Die Wahrscheinlichkeit p(Ck |x),
k = 1, 2, ergibt sich direkt aus
der Entfernung des Punktes
x zur Trennlinie.
Quelle: Bishop, Figure 4.4 (verändert)
9 / 95
Methoden der Biosignalverarbeitung - Training
Generative Modelle
Die generative Modellierung ist auch ein Standardverfahren I
Abschätzung von Mittelwert und Kovarianzmatrix von Gaussverteilungen
Die Modellierung von p(x|Ck ) dreht das Entscheidungsproblem sozusagen
um:
• Wir haben eigentlich die Daten und wollen die Klasse bestimmen
• p(x|Ck ) ist aber die Wahrscheinlichkeit eines bestimmten
Datenpunkts, wenn die Klasse gegeben ist!
Man kann sich auch vorstellen, dass die Samples von der Verteilung
p(x|Ck ) erzeugt werden.
10 / 95
Methoden der Biosignalverarbeitung - Training
Generative Modelle
Training: Wir haben eine Menge xi von Datenpunkten, zusammen mit der
Klassenzuordnung Cki .
• Kriterium für die Verteilung p(x|Ck )?
• Geschlossene Lösung ist nicht einfach zu bestimmen!
• Üblicherweise hat man ein parametrisches Modell: Die Menge der
gesuchten Verteilungen kann durch eine (relativ kleine) Menge
Parameter beschrieben werden (z.B. Gaussverteilung).
11 / 95
Methoden der Biosignalverarbeitung - Training
Übersicht
• Generative versus diskriminative Modelle
• Gaussverteilungen und Gauss-Mischverteilungen
• Exkurs: Der allgemeine EM-Algorithmus
• Trainingsmethoden für HMMs
• Diskriminative Trainingsmethoden für GMMs und HMMs
12 / 95
Methoden der Biosignalverarbeitung - Training
Die Gaussverteilung
Bekanntestes parametrische
Modell: Gauss-Mischverteilung
Parameter sind die
Mixturgewichte, die
Mittelwertsvektoren und die
Kovarianzmatrizen.
13 / 95
Methoden der Biosignalverarbeitung - Training
Die Gaussverteilung
Grafik: zweidimensionale
Gaussverteilung.
Welches Kriterium verwenden
wir, um Mittelwert und
Kovarianzmatrix abzuschätzen?
Hier ist die Verteilungsfunktion
einer multivariaten Gaussverteilung
in D Dimensionen:
1
1
1
T −1
exp − (x − µ) Σ (x − µ) .
N (x|µ, Σ) =
2
(2π)D/2 det(Σ)1/2
14 / 95
Abschätzung einer Gaussverteilung
Methoden der Biosignalverarbeitung - Training
• Gegeben: Samples X = {xi }, i = 1, . . . , N
• Gesucht: Parameter µ und Σ
Wir definieren für festes X die Likelihood-Funktion
X
L(µ, Σ) = N (X |µ, Σ) =
N (xi |µ, Σ),
i
die die Wahrscheinlichkeit der Beobachtung als Funktion von µ und Σ
darstellt.
Die Likelihood-Funktion ist selber keine Dichtefunktion (sie ist zwar stets
≥ 0, aber sie ist nicht normiert).
Aus rechnerischen Gründen verwendet man oft die log-Likelihood-Funktion
log(L)(µ, Σ).
15 / 95
Abschätzung einer Gaussverteilung
Methoden der Biosignalverarbeitung - Training
• Wichtigste Abschätzmethode: Maximum-Likelihood (ML).
• Zielkriterium: die Likelihood-Funktion (also die Wahrscheinlichkeit
der Beobachtung X = {x1 , . . . , xn }) wird maximiert.
• Wie macht man das bei Gaussverteilungen?
16 / 95
Abschätzung einer Gaussverteilung
Methoden der Biosignalverarbeitung - Training
Wir betrachten die log-Likelihood-Funktion der Beobachtungsdaten
N
ND
N
1X
log N (X |µ, Σ) = −
log(2π) − log |Σ| −
(xn − µ)T Σ−1 (xn − µ).
2
2
2
n=1
Um den Mittelwert abzuschätzen, leiten wir nach µ ab und setzen die
Ableitung auf Null. Dann bekommen wir
N
X
∂
!
log N (X |µ, Σ) =
Σ−1 (xn − µ) = 0,
∂µ
n=1
also die ML-Lösung
µML
N
1 X
=
xn .
N
n=1
17 / 95
Methoden der Biosignalverarbeitung - Training
Abschätzung einer Gaussverteilung
Die Berechnung der ML-Lösung für die Kovarianzmatrix verläuft ähnlich,
ist aber umständlicher. Die Lösung lautet
ΣML =
N
1 X
(xn − µML )(xn − µML )T .
N
n=1
Man kann nachrechnen, dass folgendes gilt:
Wenn {x1 , . . . , xn } aus einer Gaussverteilung mit Mittelwert µW und
Kovarianzmatrix ΣW gezogen sind, dann ist
E(µML ) = µW und
N −1
E(ΣML ) =
ΣW .
N
Man sagt, der ML-Schätzer für µ ist erwartungstreu, und der ML-Schätzer
für Σ ist nicht erwartungstreu.
18 / 95
Gauss-Mischverteilungen
Methoden der Biosignalverarbeitung - Training
• ML-Schätzproblem für einzelne Gaussverteilungen gelöst.
• Allerdings wissen wir bereits, dass nicht alle echten Daten
gaussverteilt sind (eigentlich die wenigsten).
Eine mögliche Lösung sind Gauss-Mischverteilungen. Dabei modelliert
man Verteilung der Daten (die beliebig komplex sein kann) durch eine
gewichtete Summe von Gaussverteilungen:
p(x) =
K
X
ck Nk (x|µk , Σk ).
k=1
Für die Gewichte ck gilt ck > 0,
P
k ck
= 1.
19 / 95
Methoden der Biosignalverarbeitung - Training
Gauss-Mischverteilungen
Gauss-Mischverteilungen werden in der Praxis
gerne verwendet: Einerseits gibt es effiziente
Abschätzungsverfahren für ihre Parameter
(kommt gleich), andererseits kann man viele
in der Praxis auftretende Verteilungen gut durch Gauss-Mischverteilungen
approximieren.
Grafik: Eine komplizierte (gelbe) Verteilung kann durch eine Summe aus
zwei Gaussverteilungen (blau) recht gut approximiert werden, aber die
Modellierung durch eine einzige Gaussglocke ist sehr ungenau.
20 / 95
Mixturgewichte im generativen Modell
Methoden der Biosignalverarbeitung - Training
Was bedeuten die Mixturgewichte im Rahmen eines generativen Modells?
• Vorstellung: Samples einer gegebenen Beobachtung werden (wurden)
durch die Verteilung p(x) erzeugt.
• Verteilung p aus mehreren einfacheren Verteilungen Nk
zusammengesetzt I jedes Sample ist von genau einer der
Teilverteilungen erzeugt
• Aber von welcher? Wenn ein Sample generiert wird, gibt ck die
a-priori-Wahrscheinlichkeit an, dass das Sample von der Verteilung k
generiert wird.
• Bei der Berechnung der Likelihood eines gegebenen Samples gehen
alle Einzelverteilungen in dieP
Gesamt-Likelihood ein, gewichtet mit
dem Mixturgewicht: p(x) = K
k=1 ck Nk (x|µ, Σ).
21 / 95
Methoden der Biosignalverarbeitung - Training
Gauss-Mischverteilungen und latente Variablen
• Man kann die Eigenschaften der Gauss-Mischverteilung (und auch
jeder anderen Mischverteilung) durch latente Variablen beschreiben.
• Latente (versteckte) Variablen: nicht direkt beobachtbar, können nur
inferiert werden
• Bei den Gauss-Mischverteilungen beschreiben latente Variablen die
Zuordnung der einzelnen Samples zu den Teilverteilungen.
• Sei znk die Indikatorvariable, dass das Sample n zur Komponente k
gehört I für jedes n ist im Vektor (zn1 , zn2 , . . . , znk ) genau ein
Element gleich 1 und die anderen 0.
22 / 95
Gauss-Mischverteilungen und latente Variablen
Methoden der Biosignalverarbeitung - Training
• znk sind nicht “beobachtbar”
• Aber man kann sich wahrscheinlichkeitstheoretisch beschreiben!
Wir definieren
γnk := p(znk
ck N (xn |µk , Σk )
= 1) = PK
.
j=1 cj N (xn |µj , Σj )
1
(c)
0.5
Wir können ck als a-priori-Wahrscheinlichkeit
0
betrachten, dass für ein Sample zk = 1 gilt,
0
0.5
und γnk ist die a-posteriori-Wahrscheinlichkeit
dafür, sobald Sample n beobachtet ist.
Die Grafik stellt ein Beispiel für die Wahrscheinlichkeiten γnk für drei
Gaussglocken dar.
23 / 95
1
Beispiel für eine Gauss-Mischverteilung
Methoden der Biosignalverarbeitung - Training
1
1
(a)
1
(b)
0.5
0.5
0.5
0
0
0
0
0.5
1
0
0.5
1
(c)
0
0.5
1
Vollständiges Beispiel mit drei Gaussglocken:
• Links die einzelnen Samples
• in der Mitte die Gesamtverteilung
• rechts die abgeschätzten Wahrscheinlichkeiten für jedes Sample, aus
einer gewissen Einzelverteilung zu stammen.
24 / 95
Beispiel für eine Gauss-Mischverteilung
Methoden der Biosignalverarbeitung - Training
1
1
(a)
1
(b)
0.5
0.5
0.5
0
0
0
0
0.5
1
0
0.5
1
(c)
0
0.5
1
Definitionen:
• Links: Zuordnung der Samples zu den Komponentenverteilungen
bekannt I vollständiger Datensatz.
• Mitte: Komponentenverteilungen nicht mehr
unterscheidbar/unbekannt I unvollständiger Datensatz.
25 / 95
Methoden der Biosignalverarbeitung - Training
Abschätzung von Gauss-Mischverteilungen
Wir gehen jetzt wieder von einem generativen Modell aus, dessen
Parameter wir optimieren wollen:
• Gegeben: Samples X = {xi }, i = 1, . . . , N
• Gesucht: Parameter µk und Σk für k Gaussglocken (k fest).
• Zielkriterium: Maximierung der log-likelihood-Funktion.
Die log-likelihood-Funktion ist von den c = {ck }, µ = {µk } und
Σ = {Σk } abhängig und hat die Form
" K
#
N
X
X
log p(X |c, µ, Σ) =
log
ck N (xn |µk , Σk ) .
n=1
k=1
Hauptproblem bei der Optimierung: Summierung über die einzelnen
Komponenten innerhalb des Logarithmus.
26 / 95
(※)
Methoden der Biosignalverarbeitung - Training
Abschätzung von Gauss-Mischverteilungen
Versuch: Maximierung der Funktion ※ mit der üblichen Methode (Ableiten
und Nullsetzen). Als Ergebnis erhalten wir Formeln, die uns bekannt
vorkommen sollten:
µk =
Σk =
wobei wir Nk =
PN
N
1 X
γnk xn ,
Nk
1
Nk
n=1 γnk
n=1
N
X
γnk (xn − µk )(xn − µk )T ,
n=1
definiert haben.
Diese Formeln entsprechen genau denen für die einzelne Gaussverteilung, nur dass jedes Sample mit der Zuordnungswahrscheinlichkeit
γnk gewichtet wird.
27 / 95
Abschätzung von Gauss-Mischverteilungen
Methoden der Biosignalverarbeitung - Training
Abschätzung für die ck : Man erhält
ck =
Nk
,
N
P
wobei N = k Nk wieder die Gesamtzahl der Samples ist.
P
• Nk = N
n=1 γnk gibt die effektive Anzahl der Samples an, die dieser
Klasse zugeordnet wurden
• Nk ist in der Regel keine ganze Zahl!
28 / 95
Methoden der Biosignalverarbeitung - Training
Der EM-Algorithmus
• Die Abschätzungsformeln für Gauss-Mischverteilungen ähneln also
denen für eine einzelne Gaussverteilung.
• Allerdings stellen diese Formeln keine geschlossene Lösung für die
ML-Abschätzung mehr dar, weil die Werte γnk auf komplexe Art von
den ck , µk und Σk abhängen.
• Wenn wir wüssten, welche Samples zu welcher Verteilung gehören
(also die znk bekannt wären), dann wäre γnk ∈ {0, 1} I wir hätten K
voneinander unabhängige einzelne Gaussverteilungen
29 / 95
Methoden der Biosignalverarbeitung - Training
Der EM-Algorithmus
Der EM-Algorithmus (expecation maximization) approximiert die Lösung
durch ein zweistufiges iteratives Verfahren:
1. Zunächst werden die Parameter µk , Σk , ck beliebig initialisiert.
2. E-Schritt: Dann hält man die Parameter fest und berechnet nun
(durch Auswertung der Gaussverteilung) neue Werte für die
Zuordnungswahrscheinlichkeiten γnk .
3. M-Schritt: Jetzt werden die (neuen) γnk festgehalten, und mit den
bekannten Formeln werden die Parameter aktualisiert.
4. Wenn noch keine Konvergenzbedingung erfüllt ist, springt man
wieder zu Schritt 2.
30 / 95
Methoden der Biosignalverarbeitung - Training
Beispiel für den EM-Algorithmus
Zu berechnen ist eine Mischverteilung aus zwei Gaussglocken.
Eingezeichnet sind die Samples, jeweils gefärbt entsprechend der aktuellen
Zuordnungswahrscheinlichkeit, und die aktuelle Lage der
Gaussverteilungen. L ist die Anzahl der Iterationen.
2
2
2
0
0
0
−2
−2
−2
2
0
(a)
2
0
−2
−2
2
L=2
0
(b)
2
0
(d)
2
0
(c)
2
0
(f)
2
L = 20
0
−2
−2
−2
2
L=5
0
−2
L=1
−2
−2
0
(e)
Quelle: Bishop, Figure 9.8
31 / 95
2
−2
Methoden der Biosignalverarbeitung - Training
Bemerkungen: EM-Algorithmus
• Man kann zeigen, dass die Likelihood-Funktion gegen ein lokales
Maximum konvergiert.
• Im Beispiel oben sieht man allerdings auch, dass das ziemlich lange
dauern kann: Bei 20 Schritten muss jedes Mal jedes Sample
ausgewertet werden, was ziemlich aufwendig ist.
• Deshalb wird man die Parameter im EM-Algorithmus nicht beliebig
initialisieren. Möglich ist z.B. eine Initialisierung mit K-Means.
32 / 95
Methoden der Biosignalverarbeitung - Training
Bemerkungen: EM-Algorithmus
In diesem Abschnitt wollen wir betrachten, was genau der
EM-Algorithmus eigentlich tut.
Unsere Formeln für µ und Σ waren
N
1 X
µk =
γnk xn und
Nk
Σk =
1
Nk
n=1
N
X
γnk (xn − µk )(xn − µk )T .
n=1
• Wenn anstelle der γnk die Indikatorvariablen znk stünden,
hätten wir K unabhängige Abschätzungen für K einzelne
Gaussglocken.
• Die znk sind unsere latenten, unbeobachtbaren Variablen.
• Was passiert, wenn wir die znk durch γnk ersetzen?
33 / 95
Methoden der Biosignalverarbeitung - Training
Bemerkungen: EM-Algorithmus
Wir bemerken, dass γnk der Erwartungswert von znk ist, konditioniert über
die Beobachtung und die (aktuellen) Parameter der Gaussverteilungen:
γnk = p(znk = 1|X , µ, Σ)
= 1 · p(znk = 1|X , µ, Σ) + 0 · p(znk = 0|X , µ, Σ) = E(znk ).
Das heißt, wir betrachten znk als Zufallsvariable - das ist völlig legitim, die
Beobachtungen xnk sind ja ebenfalls zufällig.
34 / 95
Methoden der Biosignalverarbeitung - Training
Bemerkungen: EM-Algorithmus
Wir fassen den Expectation Maximization-Algorithmus noch einmal
zusammen!
• Wenn wir den E[xpectation]-Schritt im EM-Algorithmus durchführen
und die γnk bestimmen, berechnen wir die Erwartungswerte von den
unbekannten znk .
• Im M[aximization]-Schritt maximieren wir dann eine Approximation
der log-Likelihood der Daten - die Approximation besteht darin, dass
wir die znk durch ihre Erwartungswerte ersetzt haben.
Weil wir nur approximativ rechnen, erhalten wir in keinem Schritt die
exakte Lösung. Wir nähern uns aber schrittweise einem lokalen Maximum
der optimalen Lösung.
35 / 95
Methoden der Biosignalverarbeitung - Training
Übersicht
• Generative versus diskriminative Modelle
• Gaussverteilungen und Gauss-Mischverteilungen
• Exkurs: Der allgemeine EM-Algorithmus
• Trainingsmethoden für HMMs
• Diskriminative Trainingsmethoden für GMMs und HMMs
36 / 95
Methoden der Biosignalverarbeitung - Training
Exkurs: Der allgemeine EM-Algorithmus
• Diese Methode kann man auf viele Probleme verallgemeinern, bei
denen ML-Lösungen von Modellen mit versteckten Variablen gesucht
sind. Dabei spielen, wie wir gesehen haben, die versteckten Variablen
eine Schlüsselrolle!
• Der EM-Algorithmus ist dann sinnvoll anwendbar, wenn die
Maximierung von p(X |Θ) schwierig ist, die Maximierung der
Likelihood-Funktion bei vollständigen Daten p(X , Z |Θ) aber
einfacher ist.
• Dies war bei unserer Gaussverteilung der Fall.
• Nun schauen wir uns an, wie man den EM-Algorithmus allgemein
herleitet und zugleich beweist, dass er die Likelihood-Funktion in
jedem Schritt verbessert.
37 / 95
Methoden der Biosignalverarbeitung - Training
Exkurs: Der allgemeine EM-Algorithmus
Wir betrachten irgendein probabilistisches Modell mit Parametermenge Θ, das
beobachtbare Variablen X und latente Variablen Z hat. Das Ziel ist die
Maximierung der Likelihood-Funktion
X
L(Θ|X ) = p(X |Θ) =
p(X , Z |Θ)
z∈Z
über Θ, d.h. wir suchen ein ΘML mit
ΘML = argmax L(Θ|X ).
Θ
Übrigens ist es völlig irrelevant, ob die Z diskrete oder kontinuierliche ZV sind –
man müsste nur das Summenzeichen durch ein Integral ersetzen.
38 / 95
Der allgemeine EM-Algorithmus
Methoden der Biosignalverarbeitung - Training
Wir führen zunächst eine beliebige Verteilung q(Z ) über die latenten Variablen
Z ein. Nun zerlegen wir die Log-Likelihood-Funktion folgendermaßen:
log L(Θ|X ) = M(q) + KL(q||p)
mit
p(X , Z )
q(Z )
Z
X
X
q(Z )
p(Z |X )
KL(q||p) =
q(Z ) log
=−
q(Z ) log
p(Z |X )
q(Z )
M(q) =
X
q(Z ) log
Z
Z
Man beachte die Vorzeichen: KL(q||p) ist stets nichtnegativ, und es ist Null
genau dann, wenn q = p.
p ist konditioniert über Θ – das schreiben wir aus Lesbarkeitsgründen nicht hin.
39 / 95
Methoden der Biosignalverarbeitung - Training
Der allgemeine EM-Algorithmus
Die Gültigkeit der Zerlegung log L(Θ|X ) = M(q) + KL(q||p) kann man
folgendermaßen zeigen: Es ist
X
X
p(Z |X )
p(X , Z )
−
q(Z ) log
M(q) + KL(q||p) =
q(Z ) log
q(Z )
q(Z )
Z
Z
X
p(X , Z )
p(Z |X )
=
q(Z ) log
− log
q(Z )
q(Z )
Z
X
p(X , Z ) · q(Z )
=
q(Z ) log
q(Z ) · p(Z |X )
Z
X
p(X , Z )
=
q(Z ) log
.
p(Z |X )
Z
Wegen p(X , Z ) = p(Z |X ) · p(X ) und
X
Z
q(Z ) log
P
Z
q(Z ) = 1 ist dann
p(X , Z ) X
=
q(Z ) log p(X ) = log p(X ) = log L(Θ|X ).
p(Z |X )
Z
40 / 95
Der allgemeine EM-Algorithmus
Methoden der Biosignalverarbeitung - Training
Weil KL(q||p) ≥ 0, ist in der Zerlegung
log L(Θ|X ) = M(q) + KL(q||p)
(※)
die Größe M eine untere Schranke für die Likelihood-Funktion. Im E-Schritt
maximieren wir diese untere Schranke M über alle möglichen q. Dabei halten wir
die aktuellen Parameter Θ = Θold fest!
Dies ist gar nicht schwer: Die Likelihood-Funktion L(Θold |X ) hängt ja gar nicht
von q ab! Das heißt, in der Zerlegung ※ wird M dann maximal, wenn KL(q||p)
verschwindet, also für q = p.
Die Verteilung p = p(Z |X , Θold ) ist nach Definition gerade die
a-posteriori-Wahrscheinlichkeit von Z , gegeben die Parameter Θold .
41 / 95
Der allgemeine EM-Algorithmus
Methoden der Biosignalverarbeitung - Training
Nun setzen wir in die Formel ※ für q die Verteilung p = p(Z |X , Θ) ein. Es
ergibt sich, weil KL(q||p) = 0:
=
X
log L(Θ|X ) = M(q, Θ)
X
p(Z |X , Θold ) log p(Z |X , Θold ) .
p(Z |X , Θold ) log p(X , Z |Θ) −
Z
Z
|
{z
Q(Θ,Θold )
}
|
{z
const
}
Der letzte Term ist über Θ konstant. Die Größe Q ist aber gerade der
Erwartungswert der log-likelihood des vollständigen Datensatzes, wobei der
Erwartungswert über die a-posteriori-Verteilung von Z gegeben X genommen
wird, gegeben die alte Parametermenge Θold .
42 / 95
Methoden der Biosignalverarbeitung - Training
Der allgemeine EM-Algorithmus
Im M-Schritt maximieren wir Q über alle Θ, wobei wir die Hilfsverteilung
q festlassen.
Damit erhöhen wir notwendigerweise den Wert von log L(Θ|X )!
Weil sich Θ nun geändert hat, hat sich auch die Verteilung
p = p(Z |X , Θ) geändert. Daher ist nun
log L(Θnew |X ) = M(q|Θnew ) + KL(q||p(Z |X , Θnew ))
≥ M(q|Θnew ) ≥ M(q|Θold ) = log L(Θold |X ),
wobei in beiden Ungleichungen Gleichheit nur möglich ist, wenn
Θnew = Θold . Dann haben wir ein Maximum der Likelihood-Funktion
erreicht.
Die Verteilung q haben wir die ganze Zeit festgehalten (wir fassen sie im
nächsten E-Schritt wieder an).
43 / 95
Der allgemeine EM-Algorithmus
Methoden der Biosignalverarbeitung - Training
Wir fassen zusammen:
1. Zerlegung: log L(Θ|X ) = M(q|Θ) + KL(q||p)
2. E-Schritt: Bestimme q, so dass M(q|Θ) maximal wird (bei festem
Θ).
3. M-Schritt: Bestimme Θ so, dass M(q|Θ) maximal wird (bei festem
q).
4. Wenn keine Konvergenz erreicht, springe zu 2.
44 / 95
Methoden der Biosignalverarbeitung - Training
Der allgemeine EM-Algorithmus
Eine symbolische Darstellung des
EM-Algorithmus findet sich in der
ln p(X|θ)
Grafik. Die wahre log-likelihood L ist die
rote Linie, die horizontale Achse stellt
den (eindimensionalen) Parameter θ dar.
Im ersten E-Schritt beginnt man mit dem
L (q, θ)
Parameter θold und berechnet die blaue
Linie als untere Schranke für L, die bei
θ
θ
θ = θold exakt ist. Im M-Schritt findet man
Quelle: Bishop, Figure 9.14
das Maximum dieser unteren Schranke (in
der Darstellung der Scheitelpunkt der Parabel). Man sieht, dass sich die
log-Likelihood von θold zu θnew zwangsläufig erhöhen muss.
Im nächsten E-Schritt berechnet man die neue untere Schranke (grüne Linie),
die bei θ = θnew exakt ist.
Offensichtlich kann man diesen Schritt beliebig oft wiederholen und erhält dann
neue Parameterwerte, die jeweils eine immer größere log-likelihood liefern.
old
new
45 / 95
Methoden der Biosignalverarbeitung - Training
Übersicht
• Generative versus diskriminative Modelle
• Gaussverteilungen und Gauss-Mischverteilungen
• Exkurs: Der allgemeine EM-Algorithmus
• Trainingsmethoden für HMMs
• Diskriminative Trainingsmethoden für GMMs und HMMs
46 / 95
Methoden der Biosignalverarbeitung - Training
Einführung
• In diesem Abschnitt: Trainingsmethoden für HMMs
(Hidden-Markov-Modelle).
• Klassische Anwendungen in der Spracherkennung I seit vielen Jahren
erforscht, Vielzahl interessanter Methoden, die die Konzepte
generativen und diskriminativen Trainings miteinander vereinbaren.
Wir gehen folgendermaßen vor:
• Definitionen und Wiederholungen
• Klassisches Training von HMMs mit den
Baum-Welch-Optimierungsregeln
• Warum sind die Baum-Welch-Regeln eine Ausprägung des
allgemeinen EM-Algorithmus?
• Verschiedene “diskriminative” Verfahren
47 / 95
Methoden der Biosignalverarbeitung - Training
Hidden-Markov-Modelle
Hidden-Markov-Modelle sind eine der wichtigsten Methoden zur
Sequenzmodellierung beim maschinellen Lernen. Sequenzmodellierung
bedeutet: Betrachte nicht nur einzelne Samples, sondern auch die Abfolge
von Samples.
Ein Standardbeispiel aus der Spracherkennung:
• Wir wollen gesprochene Wörter und Sätze erkennen.
• Dazu zerlegen wir ein Wort in Phoneme (Lauteinheiten), die eine
Länge von etwa 30ms - 100ms haben.
• Jetzt soll eine Wortsequenz erkannt werden:
• muss gut zu den Eingabedaten passen
• muss aus vollständigen Wörtern bestehen
48 / 95
HMM: Formale Definition
Methoden der Biosignalverarbeitung - Training
Formal wird ein HMM als 5-Tupel
Λ = (S, π, A, B, V )
definiert.
• S: Menge der HMM-Zustände
• π: Wahrscheinlichkeiten, dass ein HMM in einem gewissen Zustand
startet.
• A = ((akl )) sind die Übergangswahrscheinlichkeiten zwischen den
HMM-Zuständen k und l .
• V ist das Emissionsvokabular des HMMs, und
• B = (bk ) sind die Verteilungen der Emissionswahrscheinlichkeiten.
49 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Token-Modell
• Zwei Kriterien: Lokale Übereinstimmung von Modell des Zustandes
und Beobachtung, vernünftige Sequenz
• Übereinstimmung zwischen Beobachtung und HMM-Zustand:
Token-Modell
• Bei einem kontinuierlichen HMM besteht die Beobachtung aus
Vektoren des RN (beispielsweise Sprachspektren) I
Emissionsvokabular.
• Jeder HMM-Zustand beinhaltet eine Verteilung b über das gesamte
Vokabular V I Emissionswahrscheinlichkeiten
• Emissionswahrscheinlichkeiten sind typischerweise
Gauss-Mischverteilungen I das gesamte HMM ist ein generatives
Modell
50 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Sequenz-Modell
• Das Sequenzmodell besteht in der Wahrscheinlichkeit für
verschiedene Zustandsabfolgen.
• Repräsentation dieser Wahrscheinlichkeiten:
Anfangswahrscheinlichkeiten πk und Übergangswahrscheinlichkeiten
akl .
• πk beschreibt die Wahrscheinlichkeit, in einem Zustand k
anzufangen, und akl beschreibt die Wahrscheinlichkeit, von Zustand
k in Zustand l überzugehen. Diese Wahrscheinlichkeit ist von den
vorherigen Zuständen unabhängig I Markov-Modell.
51 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Token-Modell und Sequenzmodell
• Ziel: Berechne p(o|C), dabei ist o eine Folge von
Beobachtungsvektoren und C eine Zustandssequenz (Beispiel: ein
Wort).
• Die Abschätzung p(o|C) ergibt sich aus Token-Modell und
Sequenzmodell.
• Typische Algorithmen: Viterbi, Forward-Backward.
• In jedem Fall kann jedes Token-Modell, das Wahrscheinlichkeiten
liefert, mit dem HMM kombiniert werden.
52 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Training
Optimierungsproblem beim HMM: Parameter der Übergangs- und
Emissionswahrscheinlichkeiten sollen so trainiert werden, dass die
Wahrscheinlichkeit der Trainingsdaten maximiert wird I
Maximum-Likelihood-Training eines generativen Modells.
Welche Parameter können wir trainieren?
• die Anfangswahrscheinlichkeiten πk
• die Übergangswahrscheinlichkeiten akl
• die Emissionswahrscheinlichkeiten bk - bei Gauss-Mischverteilungen
(i)
(i) (i)
ist bk = {µk , Σk , ck } (c sind die Mixturgewichte).
Die Menge aller Parameter bezeichnen wir wieder als Θ.
53 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Training
• Wir können das HMM (wie schon der Name sagt) als Modell mit
latenten Variablen betrachten.
• Die versteckte Variable ist die Zustandsfolge, die zur gegebenen
Beobachtung gehört.
• Wieder ist eine Maximum-Likelihood-Lösung gefragt, und wieder
lässt sich diese mit dem EM-Verfahren iterativ bestimmen.
54 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Training
Likelihood-Funktion einer Beobachtung: Sei z = (z1 , . . . , zT ) eine
Zustandsfolge, o = (o1 , . . . , oT ) eine Beobachtung, und Θ eine spezifische
Konfiguration der Parameter, dann ist
L(Θ|o, z) := PΘ (o, z) = πz1 bz1 (o1 )
T
Y
azt−1 zt bzt (ot ).
t=2
Es werden also die Emissions- und Übergangswahrscheinlichkeiten der
gesamten Zustandsfolge aufmultipliziert. bz (o) ist die Auswertung eine
Gauss-Mischverteilung:
bz (o) =
Kz
X
cz,k N (o|µz,k , Σz,k ).
k=1
55 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Training
Problem: “korrekte” Zustandsfolge z unbekannt I latente Variable!
Darum verwenden wir wieder das EM-Framework und erhalten eine
iterative Optimierungsmethoden für das HMM.
• Im E-Schritt bestimmen wir den Erwartungswert der latenten
Variablen bei festgehaltener Parametermenge Θold fest.
• Im M-Schritt maximieren wir dann Θ, also A, π sowie die
Emissionswahrscheinlichkeiten b, wobei wir die unbekannte
Zustandsfolge z durch den Erwartungswert ersetzen.
Diese Schritte werden wie üblich so lange ausgeführt, bis ein gewisses
Konvergenzkriterium erfüllt ist.
56 / 95
HMM: Notation
Methoden der Biosignalverarbeitung - Training
Wie sieht nun der Erwartungswert unserer Zustandsfolge aus? Notation:
• zt (j) ∈ {0, 1}: Indikatorvariable, dass wir uns zum Zeitpunkt t im
Zustand j befinden. Dies ist eine versteckte Variable.
• γt (j) ist der Erwartungswert von zt (j), konditioniert nach der
Beobachtung und nach den aktuellen HMM-Parametern Θold :
γt (j) = E(zt (j)|o, Θold ) = P(zt (j) = 1|o, Θold ).
57 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Notation
• Zustandsübergänge: Die Indikatorvariable, dass wir uns zum
Zeitpunkt t − 1 im Zustand i befinden und dann in den Zustand j
übergehen, lässt sich durch ζt (i, j) = zt−1 (i) · zt (j) ausdrücken!
(Warum?)
• Außerdem definiere
ξt (i, j) = E(ζt (i, j)|o, Θold ),
t > 1.
Achtung: Natürlich ist ξt (i, j) 6= γt−1 (i)γt (j), weil zt−1 und zt nicht
unabhängig sind!
58 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Berechnung von γt (j) und ξt (i, j)
Theoretisch möglich: Berechnung von γt (j) und ξt (i, j) durch
Betrachtung aller möglichen Pfade. (Das sind endlich viele, weil die Länge
der Beobachtung ja endlich ist.)
Dies wäre natürlich ein enormer Berechnungsaufwand I rekursive
Methode: Forward-Backward-Algorithmus. Siehe für Details
• Lawrence R. Rabiner: A Tutorial on Hidden Markov Models and Selected
Applications in Speech Recognition. Proceedings of the IEEE, vol. 77, no.
2, 1989 (kann auf der CSL-Lehre-Seite heruntergeladen werden)
• Die Vorlesungsfolien zu “Biosignale und Benutzerschnittstellen”, Thema
HMMs.
59 / 95
Methoden der Biosignalverarbeitung - Training
HMM: Baum-Welch-Regeln
Mit diesen Definitionen berechnen sich im M-Schritt die neuen
Übergangs- und Startwahrscheinlichkeiten wie folgt:
P
t>1 ξt (i, j)
aij = P
t γt (i)
und
πi = γ1 (i).
Diese Aktualisierungsformeln für die HMM-Wahrscheinlichkeiten im
Rahmen des EM-Algorithmus heißen Baum-Welch-Regeln.
60 / 95
Methoden der Biosignalverarbeitung - Training
Die Baum-Welch-Regeln
Neuberechnung der Emissionswahrscheinlichkeiten
(Gauss-Mischverteilungen):
• Wir erweitern die Definition der Indikatorvariablen zt (j)
• z̃t (j, k) sei die Indikatorvariable, dass wir uns zum Zeitpunkt t in
Zustand j befinden und die Beobachtung in diesem Zustand von der
Gaussverteilung k (1 ≤ k ≤ Kj ) erzeugt wird.
• Dementsprechend definieren wir
γ˜t (j, k) = E(z̃t (j, k)|o, Θold ) = P(z̃t (j, k) = 1|o, Θold ).
• Ausrechnen lässt sich dies so:
ck N (xn |µk , Σk )
γ˜t (j, k) = γt (j) · PK
j=1 cj N (xn |µj , Σj )
61 / 95
Methoden der Biosignalverarbeitung - Training
Die Baum-Welch-Regeln
Die neuen Parameter für die Emissionsverteilungen: Für Zustand j und
seine zugehörige Gaussglocke k ergibt sich
µj,k =
T
1 X
γ̃t (j, k)ot ,
Nj,k
t=1
Σj,k
T
1 X
=
γ̃t (j, k)(ot − µj,k )(ot − µj,k )T
Nj,k
t=1
cj,k
Nj,k
=P
k cj,k
P
wobei Nj,k := t γ̃t (j, k) wieder die effektive Anzahl der Samples ist, die
dem Zustand j und seiner Gaussglocke k zugeordnet werden.
62 / 95
Methoden der Biosignalverarbeitung - Training
Bemerkungen zum ML-Training für HMMs
• Mit diesen Formeln haben wir nun eine iterative Methode hergeleitet,
die ML-Lösung für die Übergangs- und Emissionswahrscheinlichkeiten
des HMM zu bestimmen.
• Die Konvergenz des Algorithmus braucht nun gar nicht mehr
bewiesen zu werden! Sie ergibt sich direkt aus unserer Herleitung des
allgemeinen EM-Algorithmus.
• Bei modernen Spracherkennern werden die Anfangs- und
Übergangswahrscheinlichkeiten i.d.R. gar nicht mehr trainiert, wichtig
sind allein die Ausgabewahrscheinlichkeiten.
63 / 95
Methoden der Biosignalverarbeitung - Training
Bemerkungen zum ML-Training für HMMs
• Man kann auf die Berechnung probabilistischer Pfade (mit dem Forward-BackwardAlgorithmus) verzichten.
• Man verwendet stattdessen den ViterbiAlgorithmus (der viel schneller ist), um einen
deterministischen Pfad zu berechnen, und trainiert nur die Gauss-Mischverteilungen der einzelnen Zustände.
• Die Baum-Welch-Regeln reduzieren sich
dann auf die EM-Regeln für GaussMischverteilungen.
Die Grafik zeigt den Unterschied zwischen einem Forward-Backward-Pfad
(oben) und einem Viterbi-Pfad (unten).
64 / 95
Methoden der Biosignalverarbeitung - Training
Übersicht
• Generative versus diskriminative Modelle
• Gaussverteilungen und Gauss-Mischverteilungen
• Exkurs: Der allgemeine EM-Algorithmus
• Trainingsmethoden für HMMs
• Diskriminative Trainingsmethoden für GMMs und HMMs
65 / 95
Methoden der Biosignalverarbeitung - Training
Einführung
In diesem Abschnitt wollen wir zwei typische diskriminative
Trainingsmethoden für HMMs betrachten.
Was bedeutet das? Da wir nur GMMs und HMMs betrachten, bleiben wir
auf jeden Fall bei den Grundzügen der generativen Modellierung, d.h. für
eine Klasse C schätzen wir eine Verteilung
p(X |C)
ab, und unsere Klassifikationsregel für eine Beobachtung X wird dann
auch so aussehen wie vorher:
p(X |C)P(C)
.
Cˆ = argmax P(C|X ) = argmax
p(X )
C
C
Was sich ändert, ist die Abschätzung von p(X |C).
66 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training
“Diskriminatives” Training, erste Variante: Minimiere die Anzahl der
Fehlklassifikationen!
Dies führt zum Minimum Classification Error-Training. Quelle:
• Juang, Chou, Lee: Minimum Classification Error Rate Methods for
Speech Recognition. IEEE Transactions on Speech and Audio
Processing, vol. 5, no. 3, 1997
67 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Entscheidungsregel
Wir werden zunächst das MCE-Training von einfachen
Gauss-Mischverteilungen betrachten.
Nehmen wir eine Menge von Samples X = {xi }. Die Likelihood einer
Klasse Ck ist dann
gk (x) = P(x|Θk ) = N (x|ck , µk , Σk ).
Der Klassifikator verwendet die Maximum-Likelihood-Entscheidungsregel:
C (X ) = Ck , wenn gk (x) = max gj (x).
j
68 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Error Counting
Das Optimierungskriterium soll nun die Anzahl der Fehlklassifikationen
sein.
• Die Anzahl der Fehlklassifikationen ist eine ganzzahlige Funktion I
von der Parametermenge Θ = {Θk } abhängig, aber die Abhängigkeit
ist unstetig.
• Die Anzahl der Fehlklassifikationen in Abhängigkeit von Θ ist sogar
stückweise konstant!
Wie kann man so eine Funktion optimieren?
Achtung: Fehlklassifikationsmaße aller Art müssen immer auf einer
separaten Datenmenge berechnet werden (der Kreuzvalidierungsmenge).
Niemals die Trainingsdatenmenge verwenden!
69 / 95
MCE-Training: Error Counting
Methoden der Biosignalverarbeitung - Training
Grundidee: Ausdruck der Klassifikationsregel in funktionaler Form:
1/η
X
1
dk (x) = −gk (x) + log 
exp(η · gj (x))
M −1

j6=k
mit gk (x) = P(x|Θk ) wie oben.
dk ist eine stetige Funktion mit der Eigenschaft: Wenn x zur Klasse k
gehört, dann bedeutet dk < 0, dass x korrekt klassifiziert wird, und
dk > 0 heißt, dass x falsch klassifiziert wird.
70 / 95
MCE-Training: Error Counting
Methoden der Biosignalverarbeitung - Training
Die Funktion

dk (x) = −gk (x) + log 
1
M −1
1/η
X
exp(η · gj (x))
j6=k
approximiert die Maximum-Funktion mit einer stetig differenzierbaren
Funktion (“softmax”-Funktion)
!1/η
max ak ≈ log
k
X
e
.
ηak
k
Für η → ∞ gilt
!1/η
log
X
e
ηak
→ max ak .
k
k
71 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Kriterium
Zielkriterium
für die Optimierung: Kombiniere
das Fehlklassifikationsmaß dk (x) mit einer
differenzierbaren, monotonen Funktion.
Eine Möglichkeit ist die
Sigmoid-Funktion oder logistische Kurve
`(d ) =
1
1 + exp(−γd )
mit γ ≥ 1.
72 / 95
MCE-Training: Kriterium
Methoden der Biosignalverarbeitung - Training
Wir definieren also:
`k (x, Θ) = `(dk (x)).
Schließlich ergibt sich als Maß für die Qualität eines Klassifikators die
Verlustfunktion (loss function)
XX
`(X , Θ) =
`k (x, Θ),
k x∈Ck
wobei die zweite Summe über alle Samples genommen wird, die zur
jeweiligen Klasse Ck gehören.
73 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Optimierung
Nun haben wir ein Qualitätsmaß für unseren Klassifikator.
Optimierung dieses Qualitätsmaßes: Betrachte den Erwartungswert der
Verlustfunktion über den gesamten Merkmalsraum X , aufgeteilt nach
Klassenzugehörigkeit. Für M Klassen haben wir
L(Θ) = EX (`(X , Θ)) =
M Z
X
i=1
`i (X , Θ)p(X )dX .
X ∈Ci
Diese Funktion (den expected loss) kann man mittels eines Gradient
Descent-Verfahrens optimieren (generalized probabilistic descent) I
iteratives Verfahren.
74 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Optimierung
• In der Praxis ist der expected loss natürlich nicht bekannt (sonst
müssten wir ja gar keinen Klassifikator mehr trainieren!). Er muss also
durch eine vorhandene Menge an Trainingssamples geschätzt werden.
• Damit erhält man den empiric loss, also den beobachteten Verlust.
Man benötigt dazu die Trainingssamples zusammen mit ihrer
Klassenzugehörigkeit.
• Die Verlustfunktion ergibt sich aus der Klassifikation der Samples.
Also muss man auf jeden Fall in jeder Iteration des Algorithmus einen
Decodierungsschritt ausführen.
75 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Anwendung auf HMMs
Wie lässt sich das MCE-Training auf HMMs anwenden?
Annahme: HMMs für M Klassen, in der Spracherkennung beispielsweise
für M einzelne Kommandos.
Wir benötigen wieder eine Likelihood-Funktion g :
gi (X , y , Θ) = PΘ (X , y , Θ) = πy1 by1 (x1 )
T
Y
ayt−1 yt byt (xt )
t=2
für eine Beobachtung X = (x1 , . . . , xT ) und eine Zustandsfolge
y = (y1 , . . . , yT ).
76 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Anwendung auf HMMs
Das oben definierte gi ist nur für eine spezifische Abfolge y von Frames
zu HMM-Zuständen korrekt.
Die eigentliche loss function kann dann verschiedene Formen annehmen.
Man kann die beste Zustandsfolge für Klasse i betrachten:
gi (X , Θ) = max gi (X , y , Θ)
y
oder man kann alle möglichen Zustandsfolgen betrachten:
X
gi (X , Θ) =
gi (X , y , Θ)
y
Man könnte auch die max-Funktion im ersten Fall durch eine
Softmax-Funktion approximieren, wie wir es vorhin schon getan hatten.
77 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Kontinuierliche Erkennung
• Auf den letzten Folien haben wir angenommen, dass sich jede
Beobachtung einer von M Klassen zuordnen lässt.
• Bei der üblichen HMM-Modellierung in der Spracherkennung ist das
nicht der Fall! Stattdessen besteht jede Beobachtung X auf einer
Aneinanderreihung von lokalen Teilbeobachtungen, die jeweils
verschiedenen Klassen angehören.
• Das HMM-Trainingskriterium von eben muss also noch modifiziert
werden, um diesem Problem Rechnung zu tragen.
78 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Kontinuierliche Erkennung
W = (w1 , . . . , wS ): Sequenz von Wörtern oder Unterworteinheiten (zum
Beispiel Phoneme). Sortiere für eine gegebene Beobachtung alle
möglichen Sequenzen von Wörtern entsprechend ihrer Likelihood:
W = (W 1 , . . . , W R )
mit
P(X , W r , yW r , Θ) < P(X , W ρ , yW ρ , Θ)
∀ρ < r .
Die Verwendung von yW ρ deutet dabei an, dass wir für jedes Wort die
beste zugehörige Zustandssequenz verwenden.
79 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Kontinuierliche Erkennung
Wir definieren die Likelihood-Funktion für die kontinuierlichen HMMs
damit folgendermaßen:
g (X , W r , Θ) = log P(X , W r , yW r , Θ).
Wenn wir eine Beobachtung X haben, die zu einer Wortsequenz W 0
gehört, dann definieren wir die loss function entsprechend der
MCE-Formulierung zu
R
1 X g (X ,W r ,Θ)·η
e
d (X , Θ) = −g (X , W 0 , Θ) + log
R
"
#1/η
,
r =1
womit wir neben der korrekten Wortsequenz W 0 noch die nächsten R
Wortsequenzen mit in Betracht ziehen.
80 / 95
Methoden der Biosignalverarbeitung - Training
MCE-Training: Kontinuierliche Erkennung
• Das d von der letzten Folie ist wieder eine Softmax-Formulierung,
wobei nun das Zielkriterium die Wortfehlerrate ist.
• Wie üblich wird dieses d dann in eine Sigmoid-Funktion eingebettet,
um ein Optimierungskriterium zu erhalten.
81 / 95
MCE-Training: Ergebnisse
Methoden der Biosignalverarbeitung - Training
Hier sind einige Beispielergebnisse von Juang et al.
• Experiment 1: Ganzworterkennung (E-Set, Englisch)
• Experiment 2: Segmentelle Erkennung (connected digits, Englisch)
Angegeben ist die Wortfehlerrate (wird im Paper “string error rate”
genannt).
Trainingsmethode
ML
MCE
Relatives ∆
Ganzwort
24%
11.7%
51.3%
82 / 95
Conn. Digits
1.4%
0.95%
31.6%
Methoden der Biosignalverarbeitung - Training
Zusammenfassung
Wir haben nun eine Methode betrachtet, ein HMM/GMM-System
diskriminativ zu trainieren.
• Die Abschätzung der p(X |C) verändert, die Klassifikation mit Hilfe
der Bayes-Regel bleibt erhalten I Kombination aus generativem und
diskriminativem Ansatz
• Das Zielkriterium hängt direkt von der Erkennungsrate ab
• Das Modell einer Klasse Ci hängt von allen Samples ab!
Dies ist für alle diskriminativen Verfahren gleich und der große
Unterschied zur generativen Modellierung!
• Konsequenz: diskriminatives Training dauert erfahrungsgemäß viel
länger als die gewöhnliche ML-Abschätzung.
83 / 95
Methoden der Biosignalverarbeitung - Training
MMIE-Training
Die zweite der diskriminativen Methoden, die wir betrachten wollen, ist
das MMIE (Maximum Mutual Information Estimation)-Training.
• Optimierung der HMM/GMM-Parameter mit
informationstheoretischem Kriterium: Transinformation zwischen dem
Beobachtungsvektor und der zugehörigen Klasse.
• Interpretierbar als Abwägung zwischen der Trainingsreferenz und den
konkurrierenden Hypothesen
• Kriterium ist ähnlich zum ML-Kriterium, aber Samples der zu
trainierenden Klasse zählen “positiv”, andere Samples zählen
“negativ”.
Referenzen:
• Valtchev et al: MMIE training of large vocabulary recognition systems.
Speech Communication 22, 1997, Seiten 303–314
• Bahl et al.: Maximum Mutual Information Estimation of Hidden Markov
Model Parameters for Speech Recognition. Proc. ICASSP, 1986.
84 / 95
Methoden der Biosignalverarbeitung - Training
MMIE-Training: Ansatz
Wir betrachten wieder das Training von HMMs (z.B. für die
Spracherkennung).
• M = (m1 , . . . , mR ) sei eine Familie von HMMs mit
Parametermengen Θ = (Θ1 , . . . , ΘR ).
• Zu jedem HMM mi gehöre die Klasse (z.B. ein Wort) Wi .
• Außerdem haben wir wieder eine Beobachtung x = (x1 , . . . , xt ).
Wir betrachten nun X als Zufallsvariable über alle möglichen
Beobachtungen x, und ebenso soll M eine Zufallsvariable über M sein.
Dann haben M und X eine gemeinsame Verteilung
P(M = m, X = x).
85 / 95
Methoden der Biosignalverarbeitung - Training
MMIE-Training: Ansatz
Sei nun x eine konkrete Beobachtung und m das zu dieser Wortfolge
gehörende HMM. Ziel beim MMIE-Training: Maximiere die
Transinformation zwischen den Ereignissen X = x und M = m.
Erinnerung: Die Transinformation zwischen zwei Zufallsvariablen A und B
ist definiert als
Z
p(A = a, B = b)
.
I (A, B) = p(A = a, B = b) log
p(A = a)p(B = b)
Im Rahmen der MMIE wird dementsprechend die Transinformation
zwischen zwei konkreten Ereignissen M = m und X = x definiert als
IΘ (M = m, X = x) := log
P(X = x, M = m)
.
P(X = x)P(M = m)
86 / 95
(※)
MMIE-Training: Ansatz
Methoden der Biosignalverarbeitung - Training
Wie kann man die Definition ※
IΘ (X = x, M = m) := log
P(X = x, M = m)
P(X = x)P(M = m)
interpretieren und daraus einen Trainingsmechanismus gewinnen? Dazu
machen wir die Zerlegung
P(X = x, M = m) = P(X = x|M = m)P(M = m)
und folgern
P(X = x) =
X
P(X = x|M = m0 ).
m0
87 / 95
MMIE-Training: Ansatz
Methoden der Biosignalverarbeitung - Training
Damit können wir ※ so umformulieren:
IΘ (X = x, M = m)
= log PΘ (X = x|M = m) − log
X
PΘ (X = x|M = m0 )P(M = m0 ).
m0
Das Ziel des MMIE-Trainings ist es, Θ so zu wählen, dass diese Funktion I
maximiert wird.
88 / 95
MMIE-Training: Interpretation
Methoden der Biosignalverarbeitung - Training
Wir sehen:
• Wie bei der MCE-Abschätzung betrachten wir bei einer gegebenen
Beobachtung alle Klassen m0 , nicht nur diejenige, die zur
Beobachtung gehört!
• Die Formel oben kann man folgendermaßen interpretieren:
• Bei der ML-Abschätzung soll die Größe log PΘ (X = x|M = m)
maximiert werden – dies ist gerade die Log-Likelihood-Funktion.
• Bei der MMIE-Abschätzung wollen wir Θ so wählen, dass nicht nur
log PΘ (X = x|M = m) möglichst groß wird, sondern auch so, dass
X
log
PΘ (X = x|M = m0 )P(M = m0 )
m0
möglichst klein wird!
89 / 95
Methoden der Biosignalverarbeitung - Training
MMIE-Training: Durchführung
• Durchführung der Optimierung ist algorithmisch komplex:
Informationen über die Likelihood aller Samples gegebenaller Klassen
müssen gesammelt werden!
• Iteratives Training wie bei ML-Abschätzung: Abwechselnd
Zuordnungswahrscheinlichkeiten berechnen und HMM-Parameter
aktualisieren.
• Die Aktualisierungsformeln leiten wir hier nicht her (siehe die
referenzierten Papers).
90 / 95
Methoden der Biosignalverarbeitung - Training
MMIE-Training: Bemerkungen
• Die konkrete Durchführung des Trainings erfordert es, viele
konkurrierende Hypothesen bereitzustellen. Dies geschieht
üblicherweise durch Lattices, in denen verschiedene mögliche
Hypothesen effizient gespeichert werden.
• Um diese möglichen Hypothesen zu bekommen, ist also immer ein
Decoding -Schritt nötig. Für diesen sollte man ein möglichst
schwaches Sprachmodell wählen (Unigramm oder gar keins), weil
sonst die akustischen Wahrscheinlichkeiten zu sehr verfälscht werden!
• Außerdem sollte man für das Decoding ein separates Evaluation Set
bereithalten, um nicht auf den Trainingsdaten zu optimieren.
• Weil MMIE-Training so aufwendig ist, gibt es verschiedene
Methoden, die Effizienz zu erhöhen. Eine einfache ist es, zunächst
mit einer klassischen ML-Abschätzung zu beginnen, dann den
Decoding-Schritt durchzuführen, und dann eine oder mehrere
Iterationen MMIE-Training zu machen.
91 / 95
Methoden der Biosignalverarbeitung - Training
MMIE-Training: Zusammenfassung
Die folgenden Ergebnisse stammen von Valtchev et al. und basieren auf
zwei klassischen Korpora für kontinuierliche Spracherkennung in Englisch:
• 1994 Hub-1 (evaluation set)
• SQALE American English Corpus
Angegeben sind Wortfehlerraten.
Trainingsmethode
ML
MMIE
Relatives ∆
Hub-1
13.7%
12.5%
8.8%
92 / 95
SQALE
12.7%
10.8%
15.0%
Methoden der Biosignalverarbeitung - Training
MMIE-Training: Zusammenfassung
• Wir haben in diesem Abschnitt das MMIE-Trainingskriterium
hergeleitet.
• Wir haben gezeigt, dass sich dieser Kriterium als Abwägung zwischen
der korrekten Referenz und konkurrierenden Hypothesen darstellen
lässt.
93 / 95
Bemerkungen zum diskriminativen Training
Methoden der Biosignalverarbeitung - Training
Abschließende Bemerkungen zum diskriminativen Training:
• Alle diskriminativen Trainingsmethoden für HMMs, die wir hier
vorgestellt haben, sind deutlich komplexer (also langsamer) als das
ML-Training.
• Darum beginnt man häufig mit einem ML-Training und wendet dann
ein diskriminatives Verfahren auf die vortrainierten Modelle an.
• MCE und MMIE generalisieren typischerweise nicht besonders gut:
Auf den Trainings- bzw. Evaluationsdaten erreicht man viel höhere
Verbesserungen als auf einer unbekannten Testmenge.
• Large Margin HMMs versprechen hier eine Verbesserung.
94 / 95
Zusammenfassung der Vorlesung
Methoden der Biosignalverarbeitung - Training
Was haben wir in dieser Vorlesung gelernt?
• Wir haben den Unterschied zwischen generativer und diskriminativer
Modellierung besprchen.
• Wir haben uns Gaussverteilungen und Gauss-Mischverteilungen genau
angesehen, den gängigen EM-Trainingsalgorithmus zur Abschätzung
von Maximum Likelihood-Lösungen hergeleitet, und wir haben
latente Variablen benutzt, um zu erklären, was der EM-Algorithmus
eigentlich tut.
• Wir haben die Grundzüge der HMM-Modellierung wiederholt und
gezeigt, dass das Viterbi-Training von HMMs eigentlich ein
EM-Alogrithmus ist, der die Maximum Likelihood-Abschätzung der
HMM-Parameter berechnet.
• Dann haben wir einige diskriminative Verfahren zum Training von
HMMs betrachtet.
95 / 95
Herunterladen