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