Kenne deine Daten - Verwendung komprimierter Audiodaten mit Anwendungen für maschinelles Lernen

,
Caro Bauer

Die Datenerfassung ist ein wichtiges Thema in der Forschung zum maschinellen Lernen. Wenn wir YouTube als Quelle nutzen, wissen wir dann wirklich, was wir bekommen? Und wissen wir wirklich, was in unseren Audiodaten enthalten ist?

Maschinelles Lernen bedeutet, seine Daten zu kennen

In der Welt des maschinellen Lernens müssen Sie genau wissen, was in Ihren Audiodaten enthalten ist, wenn Sie Ihr Modell genau bewerten wollen. Ohne dieses Wissen können Sie nicht sicher sein, was Ihr Modell wirklich lernt. Hier ist ein einfaches Beispiel dafür, wann es wichtig ist, seine Daten zu kennen. Nehmen wir an, Sie möchten ein Modell trainieren, das den Unterschied zwischen einer Geigenaufnahme und einer Bratschenaufnahme erkennt. Nehmen wir weiter an, dass in allen Ihren Bratschen-Beispielen die Bratsche nach einer Sekunde einsetzt und in allen Geigen-Beispielen die Geige nach drei Sekunden, dann könnte Ihr Modell den Startpunkt des Klangs als den größten Unterschied zwischen Ihren Geigen- und Bratschen-Klassen identifizieren. Es ist klar, dass die Anwendung dieses Modells in der realen Welt überhaupt nicht funktionieren wird. Aus diesem Grund ist es wichtig, dass Sie Ihre Daten kennen.

Um zu verstehen, was in unseren Audiodaten enthalten ist, gibt es viele Aspekte zu berücksichtigen.

Die Welt der Stimm- und Musikanalyse

In diesem Blog-Beitrag möchte ich auf ein Thema eingehen, das bisher in der Welt der Stimm- und Musikanalyse übersehen wurde. 

Für Sprachanalyseanwendungen können Inhalte von YouTube, Podcasts oder anderen Online-Quellen reale Trainings- und Testbeispiele von echten Menschen in realen Situationen mit wirklich schlechten Mikrofonen/Aufnahmebedingungen liefern. Es gibt potenziell einen unendlichen Vorrat an Online-Inhalten, die jedoch mit unterschiedlichen Codecs und in unterschiedlichen Qualitätsstufen kodiert sind. Wenn wir uns diese Datenmenge zunutze machen wollen, müssen wir wissen, was die Codecs mit dem ursprünglichen Audiosignal machen. Wir müssen berücksichtigen, wie das Audiosignal degradiert wurde und welche Auswirkungen dies auf unser Modell hat. Nur dann können wir die Trainings- und Validierungsergebnisse unserer maschinellen Lernalgorithmen richtig interpretieren.

Männliche Stimme vs. weibliche Stimme

Hier ein Beispielszenario, das einem Datenwissenschaftler begegnen kann. Stellen Sie sich vor, Sie testen Ihren Klassifikator für männliche und weibliche Stimmen an TedTalk-Videos von YouTube und es gelingt Ihnen nicht, den Sprecher korrekt zu klassifizieren. Ist es fehlgeschlagen, weil Ihr Modell noch nie eine Stimme wie diese gehört hat? Oder weil die Audiodaten zu viele nicht-sprachliche Inhalte enthalten, z. B. Klatschen? Oder weil die kodierten Audiodaten gezeigt haben, dass Ihr Modell nicht robust gegenüber Artefakten der Audiokodierung ist (Verschlechterung des ursprünglichen Audiosignals)? Um die Antwort zu finden, müssen Sie Ihre Daten kennen.

Daten können Ihnen die Antwort geben

Lassen Sie uns darüber sprechen, was Codecs mit unserem ursprünglichen Audiosignal im Kontext des maschinellen Lernens von Audio-Features machen:

Wenn Audio mit einem verlustbehafteten Kodierer wie MP3, AAC oder Opus kodiert wird, geht etwas, nun ja, verloren. Teile des Signals werden als unwichtig für den menschlichen Hörer eingestuft und verworfen. Hier ist eine Analogie aus der realen Welt: Stellen Sie sich vor, jemand spricht zu Ihnen durch dickes Glas. Seine Stimme klingt dumpf, nicht so "hell", weil die höheren Frequenzen vom Glas reflektiert werden und nicht zu Ihren Ohren durchdringen. Trotz der dumpf klingenden Stimme können wir immer noch verstehen, was gesagt wurde. Das Gleiche kann bei der Kodierung mit niedriger Datenrate passieren, um eine höhere Datenkomprimierung zu erreichen: Die oberen Frequenzen werden als unwichtig für die Verständlichkeit der Sprache angesehen und daher einfach weggelassen, um Daten zu sparen. Aber es wird auch etwas zu unserem kodierten Inhalt hinzugefügt.

Eine weitere Analogie aus der realen Welt

Wenn wir unser Telefon an einem öffentlichen Ort mit vielen Fußgängern benutzen, werden die Geräusche um uns herum zu unserem Telefonat hinzugefügt. Wenn wir einen verlustbehafteten Kodierer wie MP3, AAC oder Opus verwenden, wird unserem Signal Rauschen hinzugefügt. Dieses Rauschen wird Quantisierungsrauschen genannt und entsteht durch die Verringerung der Auflösung unserer Audiodaten. Derselbe Effekt des Quantisierungsrauschens ist bei komprimierten Bildern zu beobachten, wenn man die Auflösung immer weiter reduziert. Glücklicherweise sind die Codecs intelligent und tun ihr Bestes, um das Rauschen vor uns Menschen zu verbergen, aber es ist nicht vor unseren maschinellen Lernalgorithmen verborgen. Vorläufige Tests haben gezeigt, dass die openSMILE-Merkmale gegenüber den Verzerrungen der drei wichtigsten heute verwendeten Codecs, nämlich MP3, AAC und Opus (bei mittlerer bis hoher Qualität), robust sind. Moderne parametrische Codecs wie Extended High Efficiency-AAC (xHE-AAC) sind noch nicht so weit verbreitet wie MP3 und AAC, aber sie sind auf dem Weg dorthin. Die Kodiereffizienz von xHE-AAC übertrifft bestehende Codecs bei weitem, vor allem bei den niedrigen Datenraten, die für die Datenerfassung attraktiv erscheinen. Diese Art von Codec fügt jedoch nicht nur Quantisierungsrauschen hinzu, sondern verwirft auch große Teile des ursprünglichen Signals in der Hoffnung, das, was verworfen wurde, anhand einiger weniger Parameter wiederherstellen zu können. Kurz gesagt, wenn die mittleren und oberen Spektralanteile wiederhergestellt werden, soll dies nur dem ursprünglichen Inhalt ähneln, es soll dem Hörer einen ähnlichen "rauschähnlichen" oder "harmonischen" Eindruck vermitteln. Ein anderer Name für diese Art von Codec ist "non-waveform preserving", was bedeutet, dass sich nach der Dekodierung die Wellenform und auch der spektrale Inhalt radikal verändert haben. Auch diese Codecs sind intelligent: Die dekodierte Ausgabe klingt für uns akzeptabel, aber unsere maschinellen Lernalgorithmen werden den Unterschied erkennen. Die erzeugten Artefakte werden einen erheblichen Einfluss auf die Merkmale haben, die wir für das maschinelle Lernen extrahieren.

3 Wege zur Verbesserung der Qualität Ihrer Klassifizierung

Wenn Sie Ihr Modell mit kodierten Audiodaten testen, gibt es 3 Möglichkeiten, die Qualität Ihrer Klassifizierung zu verbessern:

  1. Entrauschen / Wiederherstellung des ursprünglichen Audioinhalts
  2. Entwerfen oder wählen Sie Funktionen aus, die robuster gegenüber verschlechtertem Audio sind
  3. Ergänzen Sie die Trainingsdaten mit verschlechterten Audiodaten

Bitte jetzt auswählen...

Wenn Sie die erste Option gewählt haben, wünsche ich Ihnen viel Glück. Die Unternehmen im Bereich der digitalen Audiocodecs haben Jahre mit der Entwicklung dieser Codecs verbracht, um die beste Qualität zu erreichen. Das heißt, sie haben bereits ihr Bestes getan, um so viel wie möglich von den komprimierten Daten zurückzubekommen oder zumindest dafür zu sorgen, dass sie von den ursprünglichen Audiodaten nicht mehr zu unterscheiden sind (und das ist ein Teil unseres Problems).

Wenn Sie Option zwei gewählt haben, sind Sie auf dem richtigen Weg. Je nach Aufgabe können Sie ein Gespür dafür entwickeln, welche Merkmale Sie auswählen sollten und welche nicht - vorausgesetzt, Sie kennen Ihre Daten.

Wir wissen zum Beispiel, dass die Tonhöhe der Stimme ein wichtiges Merkmal für die Klassifizierung von männlichen und weiblichen Stimmen ist. Es wäre also eine gute Idee, dafür zu sorgen, dass Ihr Tonhöhenschätzer robust gegenüber dem/den Codec(s) ist, mit denen Sie arbeiten. Außerdem wissen wir, dass die Codecs bei den niedrigeren Qualitätsstufen einen Teil der Bandbreite des Signals abschneiden, wodurch es dumpf klingt. Ein schlechtes Merkmal für die Auswahl wäre also jedes Merkmal, das sich auf die Energie oder die Form der oberen Frequenzen bezieht.

Und schließlich, wenn Sie 3 ausgewählt haben, dann gut gemacht, wenn Sie 2 und 3 ausgewählt haben, dann sehr gut gemacht, da die Kombination der beiden wahrscheinlich dazu beiträgt, dass Ihr Modell auf ungesehene Daten verallgemeinert werden kann. Die Datenerweiterung ist ein bekanntes Verfahren beim maschinellen Lernen. Wir können die kodierte Version unserer Audiodaten einfach als eine Erweiterung der Daten behandeln, so wie wir Verkehrsgeräusche hinzufügen oder das Echo eines Raums auf saubere Sprache simulieren würden. Wenn Sie zum Beispiel Ihre Trainingsdaten mit einigen wenigen verschiedenen Opus-Qualitätsstufen anreichern, wird die Klassifizierung aller Opus-Testproben verbessert. Erste Tests mit den openSMILE-Basismerkmalen haben gezeigt, dass das Hinzufügen von Opus-codierten Versionen mittlerer und hoher Qualität zu unseren Trainingsdaten die Klassifizierungsgenauigkeit für (ungesehene) Opus-codierte Versionen niedriger Qualität deutlich verbessert. Das bedeutet, dass ein mit kodierten Inhalten erweitertes Modell auch für andere ungesehene kodierte Inhalte (aus demselben Codec) verallgemeinert werden kann.

Zusammenfassend lässt sich sagen, dass Sie sich bei der Verwendung kodierter Inhalte in Ihren Algorithmen für maschinelles Lernen sicher fühlen können, wenn Sie einen hochwertigen, nicht-parametrischen Codec verwenden und darauf achten, Ihre Trainingsdaten zu erweitern.