2016-12-06 3 views
0

Ich benutze HTK um ein akustisches Modell zu trainieren. Mein letzter Schritt ist das Aufteilen von Mischungen der Telefon-Gaussianer. Normalerweise spalte ich immer alle Telefone (ihre inneren Zustände) in einem Schritt nach dem anderen, dann schätze ich neu und höre auf, wenn die Leistung abfällt.HTK: Optimieren von Mischungsplittern per Telefon

Jetzt möchte ich versuchen, die Telefone einer nach dem anderen zu teilen, weil dies zu gleichen oder besseren Gesamtergebnis führen sollte. So wie ich es tue, versuche jedes Telefon zu teilen, wähle das, das zum besten Ergebnis geführt hat, halte es geteilt, setze alle anderen zurück und fange neu an. Das dauert allerdings zu lange. Ich dachte daran, all jene aufzuspalten, die eine Verbesserung brachten, nicht nur die beste, und dann zur nächsten Iteration übergehen.

Meine Frage ist: Wenn das Aufteilen eines Telefons die Leistung verringert, gibt es einen Sinn, es zu einem späteren Zeitpunkt erneut zu teilen? Oder kann ich es einfach auf die schwarze Liste setzen und einfach mit denen versuchen, die in der letzten Iteration eine Verbesserung gebracht haben?

Antwort

1

Verbesserungen von solchen Schemata sind normalerweise winzig. Sie können viel bessere Verbesserungen erreichen, indem Sie einfach zu DNN wechseln (übrigens von HTK 3.5 unterstützt).

Wenn das Aufteilen eines Telefons die Leistung verringert, gibt es einen Versuch, es später erneut zu teilen? Oder kann ich es einfach auf die schwarze Liste setzen und einfach mit denen versuchen, die in der letzten Iteration eine Verbesserung gebracht haben?

können Sie

+0

Dank schwarze Liste! Ich wusste nicht, dass HTK 3.5 neuronale Netzwerke hat! Weißt du, wie viele Trainingsdaten ich brauche? Ich habe ungefähr 66 Stunden Trainingsdaten. Es ist für einen Datensatz von einem Sprecher in der Gesamtgröße von etwa 1000 Stunden. Übrigens, Sie können keine schwarze Liste erstellen. Das Aufteilen von "b" führte in der ersten Iteration zu einer schlechteren Leistung, in der zweiten besser. – Sixtease