Wir bringen dem Computer bei, Geräusche zu unterscheiden: Vertrautheit mit dem DCASE-Wettbewerb und Aufbau Ihres Audioklassifizierers in 30 Minuten

Published on January 28, 2019

Wir bringen dem Computer bei, Geräusche zu unterscheiden: Vertrautheit mit dem DCASE-Wettbewerb und Aufbau Ihres Audioklassifizierers in 30 Minuten

Artikel in Zusammenarbeit mit ananaskelly geschrieben .


Einleitung


Hallo an alle, Habr! Bei der Arbeit am Zentrum für Sprachtechnologien in St. Petersburg haben wir ein bisschen Erfahrung in der Lösung von Problemen beim Klassifizieren und Erkennen von akustischen Ereignissen gesammelt und beschlossen, diese mit Ihnen zu teilen. Der Zweck dieses Artikels besteht darin, Sie mit einigen Aufgaben vertraut zu machen und über den Wettbewerb für die automatische Audiobearbeitung „DCASE 2018“ zu sprechen . Wenn wir Sie über den Wettbewerb informieren, verzichten wir auf komplexe Formeln und Definitionen, die sich auf das maschinelle Lernen beziehen, sodass die allgemeine Bedeutung des Artikels von einem breiten Publikum verstanden wird .


Für diejenigen, die sich im Titel von der Klassifizierer-Assemblierung angezogen fühlen , haben wir einen kleinen Code in Python vorbereitet, und unter dem Link auf der Githaba finden Sie ein Notizbuch, in dem wir das Beispiel des zweiten Titels des DCASE-Wettbewerbs verwenden, um ein einfaches Faltungsnetzwerk für die Klassifizierung von Audiodateien zu erstellen. Dort sprechen wir ein wenig über das Netzwerk und die für das Training verwendeten Funktionen und darüber, wie man mit einer einfachen Architektur ( MAP @ 3 = 0,6) ein Ergebnis nahe an der Basislinie erzielt .



Zusätzlich werden grundlegende Lösungsansätze beschrieben, die von den Organisatoren vorgeschlagen werden. Auch in Zukunft wird es mehrere Artikel geben, in denen wir ausführlicher und ausführlicher über unsere Erfahrungen mit der Teilnahme am Wettbewerb und über die von anderen Wettbewerbsteilnehmern vorgeschlagenen Lösungen sprechen werden. Links zu diesen Artikeln werden hier nach und nach angezeigt.


Sicherlich haben viele Leute keine Ahnung von irgendeiner Art von „DCASE“. Sehen wir uns also an, was für eine Frucht es ist und womit es gegessen wird. Wettbewerb “ DCASE“Findet jährlich statt und jedes Jahr werden darin mehrere Aufgaben ausgeführt, die sich mit der Problemlösung im Bereich der Klassifizierung von Audioaufnahmen und der Erkennung von akustischen Ereignissen befassen. Jeder kann an dem Wettbewerb teilnehmen, es ist kostenlos, es reicht aus, sich nur als Teilnehmer auf der Website zu registrieren. Nach den Ergebnissen des Wettbewerbs findet eine Konferenz statt, die demselben Thema gewidmet ist. Im Gegensatz zum Wettbewerb selbst ist die Teilnahme jedoch bereits bezahlt, und wir werden nicht mehr darüber sprechen. Cash-Belohnungen für die besten Lösungen sind in der Regel nicht abhängig, es gibt jedoch Ausnahmen (z. B. die 3. Aufgabe in 2018). In diesem Jahr haben die Organisatoren folgende 5 Aufgaben vorgeschlagen:


  1. Klassifizierung von akustischen Szenen (unterteilt in 3 Unteraufgaben)
    A. Die Trainings- und Verifizierungsdatensätze werden auf demselben Gerät aufgezeichnet.
    B. Die Trainings- und Verifizierungsdatensätze werden auf verschiedenen Geräten aufgezeichnet.
    C. Das Training ist mit Daten möglich, die vom Veranstalter nicht angeboten wurden
  2. Klassifizierung von akustischen Ereignissen
  3. Erkennung von singenden Vögeln
  4. Erkennung von akustischen Ereignissen in Lebensbedingungen anhand eines schwach markierten Datensatzes
  5. Klassifizierung der Haushaltstätigkeit im Raum für Mehrkanalaufzeichnung

Über die Erkennung und Klassifizierung


Wie wir sehen, gibt es in den Namen aller Aufgaben eines von zwei Wörtern: "Erkennung" oder "Klassifizierung". Lassen Sie uns den Unterschied zwischen diesen Begriffen klären, damit keine Verwirrung entsteht.


Stellen Sie sich vor, wir haben eine Audioaufnahme, bei der ein Hund zu einem bestimmten Zeitpunkt bellt und eine Katze zu einem anderen miaut, und es gibt einfach keine anderen Ereignisse. Wenn wir dann genau verstehen möchten, wann diese Ereignisse auftreten, müssen wir das Problem der Erkennung eines akustischen Ereignisses lösen. Das heißt, wir müssen die Start- und Endzeiten für jedes Ereignis kennen. Nachdem wir das Erkennungsproblem gelöst haben, werden wir herausfinden, wann genau die Ereignisse eintreten, aber wir wissen nicht, wer genau die Geräusche gefunden werden. Dann müssen wir das Klassifizierungsproblem lösen, dh bestimmen, was genau in einem bestimmten Zeitraum passiert ist.


Um die Beschreibung der Aufgaben des Wettbewerbs zu verstehen, sind diese Beispiele ausreichend, was bedeutet, dass der Einleitungsteil abgeschlossen ist, und wir können mit einer detaillierten Beschreibung der Aufgaben selbst fortfahren.




Track 1. Klassifizierung von akustischen Szenen


Die erste Aufgabe besteht darin, die Umgebung (akustische Bühne) zu bestimmen, in der der Ton aufgezeichnet wurde, z. B. „Metro Station“, „Airport“ oder „Pedestrian Street“. Die Lösung eines solchen Problems kann bei der Beurteilung der Umgebung durch ein künstliches Intelligenzsystem nützlich sein, z. B. in Autos mit Autopilot.



In dieser Aufgabe wurden TUT Urban Acoustic Scenes 2018 und TUT Urban Acoustic Scenes 2018 Mobile Datensätze für die Ausbildung präsentiert, die von der Tampere University of Technology (Finnland) erstellt wurden. Eine ausführliche Beschreibung des Vorgangs zur Vorbereitung des Datensatzes sowie der Basislösung wird in dem Artikel beschrieben .


Insgesamt wurden 10 akustische Szenen für den Wettbewerb präsentiert, die von den Teilnehmern vorhergesagt werden sollten.


Unteraufgabe A


Wie bereits erwähnt, ist die Aufgabe in 3 Unteraufgaben unterteilt, von denen sich jede durch die Qualität der Audioaufnahmen unterscheidet. In Teilaufgabe A wurden beispielsweise spezielle Mikrofone für die Aufnahme verwendet, die sich im menschlichen Ohr befanden. Somit wurde die Stereoaufnahme der menschlichen Wahrnehmung von Klang angenähert. Die Teilnehmer hatten die Möglichkeit, mit diesem Aufnahmeverfahren die Erkennungsqualität der akustischen Szene zu verbessern.


Unteraufgabe B


In Teilaufgabe B wurden auch andere Geräte für die Aufnahme verwendet (z. B. Mobiltelefone). Daten aus Teilaufgabe A wurden in das Monoformat konvertiert, die Abtastrate wurde reduziert, es gibt keine Nachahmung der "Hörbarkeit" von Tönen durch eine Person im Datensatz für diese Aufgabe, es sind jedoch mehr Daten zu lernen.


Unteraufgabe C


Der Datensatz für Subtask C ist derselbe wie in Subtask A, aber bei der Lösung dieses Problems dürfen alle externen Daten verwendet werden, die der Teilnehmer finden kann. Ziel dieser Aufgabe ist es herauszufinden, ob es möglich ist, das in Teilaufgabe A erzielte Ergebnis mit Hilfe von Drittanbieterdaten zu verbessern.


Die Qualität der Entscheidungen auf dieser Spur wurde mit der Genauigkeitsmetrik bewertet .


Die Basis für diese Aufgabe ist ein zweischichtiges Faltungsneuralnetzwerk, das Logarithmen der Schmelzdaten der ursprünglichen Audiodaten lernt . Die vorgeschlagene Architektur verwendet die Standardtechniken BatchNormalization und Dropout. Der Code auf GitHub kann hier eingesehen werden .




Track 2. Klassifizierung von akustischen Ereignissen


In dieser Aufgabe wird vorgeschlagen, ein System zu erstellen, das die Klassifizierung von akustischen Ereignissen durchführt. Ein solches System kann eine Ergänzung zu „intelligenten“ Häusern sein, die Sicherheit an überfüllten Orten erhöhen oder Menschen mit Hörbehinderung das Leben erleichtern.



Der Datensatz für diese Aufgabe besteht aus Dateien, die aus dem Freesound- Datensatz stammen und mit Tags aus dem AudioSet von Google markiert wurden . Der Vorgang der Vorbereitung eines Datensatzes wird in einem von den Organisatoren des Wettbewerbs vorbereiteten Artikel ausführlicher beschrieben .


Kehren wir zur eigentlichen Aufgabe zurück, die mehrere Funktionen hat.


Zunächst mussten die Teilnehmer ein Modell entwickeln, mit dem Unterschiede zwischen akustischen Ereignissen ganz unterschiedlicher Art identifiziert werden können. Der Datensatz ist in 41 Klassen unterteilt, er zeigt verschiedene Musikinstrumente, Geräusche von Menschen, Tieren, Haushaltsgeräusche usw.


Zweitens gibt es neben der üblichen Datenauszeichnung auch weitere Informationen zum manuellen Überprüfen des Tags. Die Teilnehmer wissen also, welche Dateien aus dem Datensatz von einer Person auf Übereinstimmung mit dem Label geprüft wurden und welche nicht. Wie die Praxis gezeigt hat, belegten die Teilnehmer, die diese zusätzlichen Informationen auf die eine oder andere Weise nutzten, Preise, um dieses Problem zu lösen.


Darüber hinaus muss gesagt werden, dass die Länge der Datensätze in einem Datensatz sehr unterschiedlich ist: von 0,3 Sekunden bis 30 Sekunden. Bei dieser Aufgabe variiert auch die Datenmenge pro Klasse stark, für die Sie das Modell trainieren müssen. Es ist am besten, es in Form eines Histogramms darzustellen, dessen Code hier entnommen ist .



Wie aus dem Histogramm hervorgeht, ist auch die manuelle Markierung für die präsentierten Klassen unausgewogen, was die Schwierigkeit erhöht, wenn Sie diese Informationen beim Trainieren von Modellen verwenden möchten.
Die Ergebnisse dieser Spur wurden anhand der durchschnittlichen Genauigkeitsmetrik (Mean Mean Precision, MAP @ 3) geschätzt. Eine ziemlich einfache Demonstration der Berechnung dieser Metrik mit Beispielen und Code finden Sie hier .




Track 3. Erkennung von Vogelgesang


Der nächste Track ist die Erkennung von singenden Vögeln. Ein ähnliches Problem tritt zum Beispiel in verschiedenen Systemen der automatischen Überwachung von Wildtieren auf - dies ist der erste Schritt in der Datenverarbeitung vor beispielsweise der Klassifizierung. Solche Systeme müssen oft abgestimmt werden, sie sind gegenüber neuen akustischen Bedingungen instabil. Das Ziel dieser Spur besteht darin, die Fähigkeit des maschinellen Lernens zur Lösung solcher Probleme zu nutzen.


Dieser Titel ist eine erweiterte Version des Wettbewerbs "Bird Audio Detection Challenge" , veranstaltet von der University of London St. Mary's, der 2017/2018 veranstaltet wird. Für Interessenten, hier können Sie den Artikel von den Autoren des Wettbewerbs lesen, die Details über die Entstehung der Daten, die Organisation des Wettbewerbs und die Analyse der erhaltenen Lösungen gibt.


Zurück zum DCASE-Problem. Die Organisatoren stellten sechs Datensätze zur Verfügung - drei zum Trainieren, drei zum Testen - alle sehr unterschiedlich - aufgenommen in unterschiedlichen akustischen Bedingungen, mit unterschiedlichen Aufnahmegeräten, es gibt verschiedene Hintergrundgeräusche. Daher lautet die Hauptbotschaft, dass das Modell nicht von der Umgebung abhängig sein sollte oder sich daran anpassen kann. Trotz der Tatsache, dass der Name „Erkennung“ bedeutet, besteht die Aufgabe nicht darin, die Grenzen des Ereignisses zu definieren, sondern der einfachen Klassifizierung. Die endgültige Lösung ist eine Art binärer Klassifikator, der eine kurze Audioaufnahme am Eingang empfängt und eine Entscheidung trifft, ob es ein Vogel ist oder nicht . Zur Bestimmung der Genauigkeit wurde die AUC-Metrik verwendet.


Grundsätzlich versuchten die Teilnehmer, durch unterschiedliche Datenerhöhung zu verallgemeinern und anzupassen. Einer der Befehle beschreibt die Verwendung verschiedener Techniken - Ändern der Frequenzauflösung in den extrahierten Merkmalen, vorläufige Geräuschreinigung, Anpassungsverfahren basierend auf der Ausrichtung von Statistiken zweiter Ordnung für verschiedene Datensätze. Diese Methoden sowie verschiedene Arten der Augmentation führen jedoch zu einer sehr geringen Steigerung gegenüber der Basislösung, wie viele Teilnehmer feststellen.


Als Basislösung bereiteten die Autoren eine Modifikation der erfolgreichsten Lösung des ursprünglichen Wettbewerbs "Bird Audio Detection Challenge" vor. Der Code ist wie üblich auf github verfügbar .




Track 4. Erkennung von akustischen Ereignissen unter Wohnbedingungen mit einem schwach beschrifteten Datensatz.


In der vierten Spur wird das Erkennungsproblem direkt gelöst. Die Teilnehmer erhielten einen relativ kleinen Datensatz mit markierten Daten - insgesamt 1578 Audioaufnahmen von jeweils 10 Sekunden, die nur nach Klassen aufgeschlüsselt wurden: Es ist bekannt, dass die Datei ein oder mehrere Ereignisse der angegebenen Klassen enthält, die Zeitmarkierung jedoch völlig fehlt. Darüber hinaus wurden zwei große Datensätze nicht zugeordneter Daten bereitgestellt - 14412 Dateien, die Zielereignisse der gleichen Klassen wie im Trainings- und Testbeispiel enthalten, sowie 39999 Dateien, die beliebige Ereignisse enthalten, die nicht in den Zielgruppen enthalten sind. Alle Daten sind eine Teilmenge des von Google gesammelten umfangreichen Datensatz-Audiosets .



Daher mussten die Teilnehmer ein Modell erstellen, das aus schwach markierten Daten lernen kann, um die Zeitmarken für den Beginn und das Ende von Ereignissen zu ermitteln (Ereignisse können sich überschneiden), und versuchen, es mit einer großen Menge nicht markierter zusätzlicher Daten zu verbessern. Darüber hinaus ist es erwähnenswert, dass in diesem Track eine ziemlich starre Metrik verwendet wurde - es war notwendig, die Zeitstempel von Ereignissen mit einer Genauigkeit von 200 ms vorherzusagen. Im Allgemeinen mussten die Teilnehmer eine ziemlich komplizierte Aufgabe lösen, ein adäquates Modell zu erstellen, während es praktisch keine guten Daten für das Training gab.
Die meisten Lösungen basierten auf wiederkehrenden Faltungsnetzwerken - einer eher populären Architektur bei der Erkennung akustischer Ereignisse in letzter Zeit (ein Beispiel ist unter dem Link zu finden ).


Die grundlegende Lösung der Autoren, auch auf wiederkehrenden Faltungsnetzwerken, basiert auf zwei Modellen. Die Modelle haben fast dieselbe Architektur: drei Faltungs- und eine wiederkehrende Schicht. Der einzige Unterschied besteht in der Ausgabe von Netzwerken. Das erste Modell wird trainiert, um nicht zugewiesene Daten zur Erweiterung des Quelldatensatzes zu markieren. An der Ausgabe haben wir Ereignisklassen in der Datei. Die zweite besteht darin, das Problem der Erkennung direkt zu lösen, das heißt, an der Ausgabe erhalten wir die Zeitmarkierung für die Datei. Code durch Verweis .




Track 5. Klassifizierung der Haushaltstätigkeit im Raum für Mehrkanalaufnahmen.


Der letzte Track unterschied sich in erster Linie vom Rest, da den Teilnehmern Multichannel-Aufnahmen angeboten wurden. Die Aufgabe selbst war in der Klassifizierung: Es ist notwendig, die Klasse des Ereignisses vorherzusagen, das im Datensatz aufgetreten ist. Im Gegensatz zum vorherigen Titel ist die Aufgabe etwas einfacher - es ist bekannt, dass es nur ein Ereignis in der Aufnahme gibt.



Der Datensatz wird durch ungefähr 200 Stunden Aufnahmen auf einem linearen Mikrofonarray von 4 Mikrofonen dargestellt. Ereignisse sind alle Arten von häuslichen Aktivitäten - Kochen, Abwaschen, soziale Aktivitäten (Telefonieren, Besuch und persönliches Gespräch) usw. Außerdem wurde das Fehlen jeglicher Art von Veranstaltungen hervorgehoben.


Die Autoren des Tracks betonen, dass die Bedingungen des Problems relativ einfach sind, sodass sich die Teilnehmer direkt auf die Verwendung von räumlichen Informationen aus Mehrkanalaufzeichnungen konzentrieren. Die Teilnehmer hatten auch die Möglichkeit, zusätzliche Daten und vorgebildete Modelle zu verwenden. Die Qualität wurde durch F1-Messung bewertet.


Als grundlegende Lösung schlugen die Autoren der Strecke ein einfaches Faltungsnetzwerk mit zwei Faltungsschichten vor. Bei ihrer Lösung wurden keine räumlichen Informationen verwendet - Daten von vier Mikrofonen wurden zum unabhängigen Lernen verwendet. Beim Testen wurden die Vorhersagen gemittelt. Beschreibung und Code finden Sie hier .




Fazit


In dem Artikel haben wir versucht, kurz über die Erkennung von akustischen Ereignissen und über einen Wettbewerb wie DCASE zu sprechen. Vielleicht konnten wir jemanden für die Teilnahme an 2019 interessieren - der Wettbewerb beginnt im März.