-
STAND DER TECHNIK
-
Ontologie ist die formale Struktur von Klassen oder Typen von Objekten innerhalb einer Domäne. Ontologie ermöglicht Maschinenlernalgorithmen, Daten im Kontext dessen, was bekannt ist, zu verarbeiten.
-
KURZBESCHREIBUNG
-
Die Entwicklung eines Audioklassifizierungssystems, das Fähigkeiten ähnlich denen des menschlichen Gehörs hat, ist ein wachsender Forschungsbereich. Anders als momentan bestehende Audioklassifizierungssysteme sind Menschen in der Lage, uneindeutige Klänge und überlappende Klänge in abstrakte Konzepte oder Kategorien zu kategorisieren. Dies ermöglicht Menschen, Klänge zu vereindeutigen und die Umgebung zu verstehen, in der die Klänge erzeugt werden. Beispielsweise können Menschen lautes Schreien und das Schreien eines Babys als Unterkategorien eines menschlichen Klangs (eine Kategorie) kategorisieren. Menschen können eine Fahrzeughupe entweder als ein Element der allgemeinen Kategorie von Straßenklängen oder als ein Element der spezielleren Kategorie von Fahrzeugklängen kategorisieren.
-
Um die Lücke zwischen menschlichen und maschinellen Klangklassifizierungsfähigkeiten zu schließen, erweitern die hier beschriebenen Ausführungsformen, unter anderem, Klangklassifizierungsmodelle um die Ontologiestruktur von Klangkennungen oder Typen und Kategorieklangkennungen oder Typen.
-
Integrieren der Beziehungen zwischen Kennungen in der Form von Ontologie in der Audiodomäne ist, im Allgemeinen, eine nicht-triviale Aufgabe, da es keine intrinsische Graphenstruktur für die Audiokennungen gibt. Wenn allerdings Ontologie in der Audiodomäne bei der Audioklassifizierung genutzt wird, gibt es mehrere Vorteile. Audioklassifizierungssysteme, die Ontologie in der Audiodomäne nutzen, sind in der Lage, Audioklassen zu vereindeutigen, die akustisch ähnlich, aber semantisch unterschiedlich sind. Audioklassifizierungssysteme, die Ontologie in der Audiodomäne nutzen, sind auch in der Lage, Klänge in einer allgemeinen Kategorie zu klassifizieren, wenn die Unterscheidung zwischen spezifischen Klassifizierungskategorien minimal ist. Im Falle einer Klassifizierung mit mehreren Kennungen (beispielsweise ein Audioclip, umfassend mehr als einen zu klassifizierenden Klang), sind Audioklassifizierungssysteme, die Ontologie in der Audiodomäne verwenden, in der Lage, die Wahrscheinlichkeit, dass Klänge in der realen Welt gleichzeitig auftreten, zu verwenden, um überlappende Klänge besser zu identifizieren.
-
Eine Ausführungsform bietet ein beispielhaftes System für ontologiebewusste Klangklassifizierung. Das System umfasst einen elektronischen Prozessor, der dazu ausgelegt ist, einen ersten Graphen basierend auf Beziehungen zwischen feinen Audioklassifizierungskennungen zu erzeugen und einen zweiten Graphen basierend auf Beziehungen zwischen groben Audioklassifizierungskennungen zu erzeugen. Der elektronische Prozessor ist außerdem dazu ausgelegt, einen Audioclip zu empfangen, der einen oder mehrere Klänge umfasst, ein erstes faltendes Graphennetzwerk mit dem ersten Graphen als Eingang auszuführen und ein zweites faltendes Graphennetzwerk mit dem zweiten Graphen als Eingang auszuführen. Unter Verwendung der Ausgänge des ersten faltenden Graphennetzwerks und des zweiten faltenden Graphennetzwerks ist der elektronische Prozessor dazu ausgelegt, eine oder mehrere grobe Kennungen, eine oder mehrere feine Kennungen oder beides zu bestimmen, um den einen oder die mehreren Klänge im Audioclip zu klassifizieren.
-
Eine weitere Ausführungsform bietet ein beispielhaftes Verfahren zur ontologiebewussten Klangklassifizierung. Das Verfahren umfasst Erzeugen eines ersten Graphen basierend auf Beziehungen zwischen feinen Audioklassifizierungskennungen und Erzeugen eines zweiten Graphen basierend auf Beziehungen zwischen groben Audioklassifizierungskennungen. Das Verfahren umfasst außerdem Empfangen eines Audioclips, der einen oder mehrere Klänge umfasst, Ausführen eines ersten faltenden Graphennetzwerks mit dem ersten Graphen als Eingang und Ausführen eines zweiten faltenden Graphennetzwerks mit dem zweiten Graphen als Eingang. Das Verfahren umfasst ferner Verwenden der Ausgänge des ersten faltenden Graphennetzwerks und des zweiten faltenden Graphennetzwerks zum Bestimmen einer oder mehrerer grober Kennungen, einer oder mehrerer feiner Kennungen oder beider zum Klassifizieren des einen oder der mehreren Klänge im Audioclip.
-
Andere Aspekte, Merkmale und Ausführungsformen werden durch Berücksichtigung der detaillierten Beschreibung und der beiliegenden Zeichnungen offensichtlich.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Systems für ontologiebewusste Klangklassifizierung gemäß einer Ausführungsform.
- 2 ist ein beispielhaftes Flussdiagramm eines Verfahrens der Verwendung des Systems aus 1 für ontologiebewusste Klangklassifizierung gemäß einer Ausführungsform.
- 3 ist eine grafische Darstellung des Erzeugens eines Graphen von Kennungen unter Verwendung von Ontologie in Verbindung mit den Kennungen gemäß einer Ausführungsform.
- 4 ist eine grafische Darstellung eines Maschinenlernalgorithmus für ontologiebewusste Klangklassifizierung gemäß einer Ausführungsform.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Bevor irgendwelche Ausführungsformen ausführlich erläutert werden, sollte verstanden werden, dass diese Offenbarung nicht in ihrer Anwendung auf die Details der Konstruktion und die Anordnung von Komponenten beschränkt sein soll, die in der folgenden Beschreibung dargelegt oder in den folgenden Zeichnungen dargestellt werden. Ausführungsformen sind fähig zu anderen Auslegungen und können auf verschiedene Weisen praktiziert oder ausgeführt werden.
-
Mehrere hardware- und softwarebasierte Vorrichtungen sowie mehrere unterschiedliche strukturelle Komponenten können verwendet werden, um verschiedene Ausführungsformen umzusetzen. Zusätzlich können Ausführungsformen Hardware, Software und elektronische Komponenten oder Module umfassen, die, zum Zwecke der Diskussion, dargestellt und beschrieben werden, als ob die Mehrzahl der Komponenten ausschließlich in Hardware umgesetzt wäre. Allerdings würde ein Durchschnittsfachmann, auf Grundlage eines Lesens dieser ausführlichen Beschreibung, erkennen, dass, in zumindest einer Ausführungsform, die elektronikbasierten Aspekte der Erfindung in Software umgesetzt werden können (beispielsweise auf einem nicht-flüchtigen computerlesbaren Medium), ausführbar durch einen oder mehrere Prozessoren, ausgelegt in zentralisierter oder verteilter Weise. In einigen Fällen können „Steuereinheiten“ und „Steuerungen“, wie in der Spezifikation beschrieben, einen oder mehrere elektronische Prozessoren, ein oder mehrere Speichermodule, umfassend ein nichtflüchtiges computerlesbares Medium, eine oder mehrere Kommunikationsschnittstellen, eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) und verschiedene Verbindungen (beispielsweise einen Systembus), der die verschiedenen Komponenten verbindet, umfassen.
-
1 stellt ein beispielhaftes System 100 für ontologiebewusste Klangklassifizierung dar. Das System 100 umfasst eine elektronische Vorrichtung 105. Die elektronische Vorrichtung 105 kann ein Laptop oder ein Desktop-Computer, ein Tablet-Computer, ein Smartphone, ein Server oder eine andere Datenverarbeitungsvorrichtung sein. In einigen Ausführungsformen kommuniziert die elektronische Vorrichtung 105 über ein Kommunikationsnetzwerk 115 mit einem oder mehreren anderen elektronischen Vorrichtungen. In einem Beispiel kann die elektronische Vorrichtung 105 ein Server in Kommunikation mit einer oder mehreren Benutzervorrichtungen sein, von denen die elektronische Vorrichtung 105 Audioclips empfängt und für die sie Klangklassifizierungen bereitstellt. Das Kommunikationsnetzwerk 115 umfasst ein oder mehrere kabelgebundene Netzwerke, kabellose Netzwerke oder eine Kombination daraus, die Kommunikationen innerhalb des Systems 100 ermöglichen. Beispielsweise umfasst, in einigen Auslegungen, das Kommunikationsnetzwerk 115 Kabelnetzwerke, das Internet, Lokalbereichsnetzwerke (LANs), Weitbereichsnetzwerke (WAN), Mobiltelefonnetzwerke (MTNs) und andere Typen von Netzwerken, möglicherweise verwendet in Verbindung miteinander, um Kommunikation zwischen der elektronischen Vorrichtung 105 und anderen im System 100 enthaltenen elektronischen Vorrichtungen zu erleichtern.
-
Die in 1 dargestellte Ausführungsform stellt lediglich ein Beispiel der Komponenten und Verbindungen des Systems 100 dar. Allerdings können diese Komponenten und Verbindungen auf andere Weisen als hier dargestellt und beschrieben konstruiert werden.
-
Die elektronische Vorrichtung 105 umfasst mehrere elektrische und elektronische Komponenten, die Leistung, Betriebssteuerung und Schutz für die Komponenten und Module innerhalb der elektronischen Vorrichtung 105 bereitstellen. Die elektronische Vorrichtung 105 umfasst, unter anderem, einen elektronischen Prozessor 120 (wie etwa einen programmierbaren elektronischen Mikroprozessor, einen Mikrocontroller oder eine ähnliche Vorrichtung), einen Speicher 125 (beispielsweise nicht-flüchtigen, computerlesbaren Speicher) und eine Eingabe/Ausgabe-Schnittstelle 130. Der elektronische Prozessor 120 ist kommunikativ mit dem Speicher 125 und der Eingabe/Ausgabe-Schnittstelle 130 verbunden. Der elektronische Prozessor 120 ist, in Koordination mit dem Speicher 125 und der Eingabe/Ausgabe-Schnittstelle 130, ausgelegt zum Umsetzen, unter anderem, der hier beschriebenen Verfahren. Es sollte verstanden werden, dass die elektronische Vorrichtung 105 auch ein oder mehrere Mikrofone umfassen kann, die Audiodaten erfassen, die in einen Maschinenlernalgorithmus zur Klangklassifizierung eingegeben werden können.
-
Wie weiter unten ausführlich beschrieben wird, umfasst der Speicher 125 computerausführbare Anweisungen für ontologiebewusste Klangklassifizierung. In dem in 1 dargestellten Beispiel umfasst der Speicher 125 Graphenerzeugungssoftware 135 und Klangklassifizierungssoftware 140, die jeweils weiter unten ausführlicher beschrieben werden. In einigen Ausführungsformen umfasst die Klangklassifizierungssoftware 140 einen Maschinenlernalgorithmus, wie etwa den in 4 dargestellten Maschinenlernalgorithmus. Es sollte auch verstanden werden, dass der Speicher 125 mehr, weniger oder unterschiedliche Programme oder Softwarekomponenten als die in 1 dargestellten umfassen kann. Es sollte auch verstanden werden, dass Funktionalität oder Werte, die hier als mit einer Komponente des Speichers 125 verbunden beschrieben werden, in anderen Ausführungsformen mit einer unterschiedlichen Komponente des Speichers 125 verbunden sein können.
-
In einigen Ausführungsformen kann die elektronische Vorrichtung 105 in mehreren unabhängigen Steuerungen (beispielsweise programmierbaren elektronischen Steuerungen) umgesetzt sein, die jeweils dazu ausgelegt sind, spezifische Funktionen oder Unterfunktionen durchzuführen. Zusätzlich kann die elektronische Vorrichtung 105 Untermodule umfassen, die zusätzliche elektronische Prozessoren, Speicher oder anwendungsspezifische integrierte Schaltungen (ASICs) zur Behandlung von Eingabe/Ausgabe-Funktionen, Verarbeitung von Signalen und Anwendung der nachfolgend aufgeführten Verfahren umfassen. In weiteren Ausführungsformen umfasst die elektronische Vorrichtung 105 zusätzliche, weniger oder unterschiedliche Komponenten. Daher können die Programme auch unter einem oder mehreren Prozessoren und einem oder mehreren Speichern verteilt sein.
-
2 ist ein Flussdiagramm, das ein beispielhaftes Verfahren 200 einer ontologiebewussten Klangklassifizierung darstellt. Das Verfahren 200 beginnt bei Schritt 205, wenn der elektronische Prozessor 120 einen ersten Graphen basierend auf Beziehungen zwischen feinen Audioklassifizierungskennungen erzeugt. In einigen Ausführungsformen ist jeder im ersten Graphen enthaltene Knoten mit einer feinen Kennung verbunden. Bei Schritt 210 erzeugt der elektronische Prozessor 120 einen zweiten Graphen basierend auf Beziehungen zwischen groben Audioklassifizierungskennungen. In einigen Ausführungsformen ist jeder im zweiten Graphen enthaltene Knoten mit einer groben Kennung verbunden. In einem Beispiel können feine Audioklassifizierungskennungen Weinen, Schreien und Lachen sein, und grobe Audioklassifizierungskennungen können menschlicher Klang und Babyklang sein. In einigen Ausführungsformen sind feine Kennungen mit einem spezifischen Klang verbunden, während grobe Kennungen mit Kategorien von Klängen verbunden sind. Die Diskussion aus 3 weiter unten bietet ein Beispiel dafür, wie der erste Graph und der zweite Graph durch den elektronischen Prozessor 120 erzeugt werden, wenn der elektronische Prozessor 120 die Graphenerzeugungssoftware 135 ausführt.
-
3 stellt eine grafische Darstellung eines Verfahrens 300 zum Erzeugen eines Graphen für Audiokennungen aus mehreren gekennzeichneten Audioclips (die Domänentaxonomie 305) und einer oder mehrerer Baumdatenstrukturen, die eine Klangkennungsontologie 310 definieren, dar. Um einen Graphen für Audiokennungen zu erstellen, bestimmt der elektronische Prozessor 120 die Anzahl von Knoten im Graphen als die Anzahl von Kennungen in der Domänentaxonomie 305, und jeder Knoten im Graphen ist mit einer Kennung verbunden. Die anfänglichen Einbettungen jedes Knoten im Graphen ist auf die Worteinbettung der Kennung gesetzt, mit der der Knoten verbunden ist. Für die Kennungen mit mehr als einem Wort bestimmt der elektronische Prozessor 120 eine durchschnittliche Worteinbettung des einen oder der mehreren in der Kennung enthaltenen Wörter und verwendet die durchschnittliche Worteinbettung als die anfängliche Einbettung des Knotens. Beispielsweise ist für die Kennung „kleine Kraftmaschine“ die abschließende Worteinbettung der Worteinbettungsdurchschnitt der Worteinbettung für das Wort „klein“ und der Worteinbettung für das Wort „Kraftmaschine“. Die Kanten des Graphen sind basierend auf den Wahrscheinlichkeiten des gemeinsamen Auftretens von Kennungen definiert. Wenn es beispielsweise eine mehr als nullprozentige Chance gibt, dass, wenn ein Audioclip einen durch eine Kennung in Verbindung mit dem ersten Knoten klassifizierten Klang umfasst, dann der Audioclip auch einen durch eine Kennung in Verbindung mit dem zweiten Knoten klassifizierten Klang umfasst, sind der erste Knoten und der zweite Knoten durch eine Kante in Verbindung mit der konditionalen Wahrscheinlichkeit verbunden, dass die Kennungen in Verbindung mit dem ersten Knoten und dem zweiten Knoten gemeinsam auftreten. Die konditionalen Wahrscheinlichkeiten für eine oder mehrere Kanten können durch den elektronischen Prozessor 120 basierend auf der einen oder den mehreren Baumdatenstrukturen berechnet werden, die eine Klangkennungsontologie 310 definieren. Mathematisch ist konditionale Wahrscheinlichkeit zwischen Kennungen Li und Lj definiert als Pij = counti|j /countj, wobei counti |j, die Anzahl ist, wie häufig Li auftritt, wenn Lj auftritt, und wobei countj die Gesamtzählung von Lj in der Domänentaxonomie 305 ist.
-
In dem in 3 dargestellten Beispiel ist ein Knoten mit der Kennung „Kraftmaschine“ verbunden, und ein anderer Knoten ist mit der Kennung „Hund“ verbunden. Die konditionale Wahrscheinlichkeit, dass ein mit „Hund“ gekennzeichneter Klang in einem Audioclip auftritt, wenn gegeben ist, dass ein mit „Kraftmaschine“ gekennzeichneter Klang im Audioclip auftritt, ist 0,5. Daher gibt es im Graphen eine gerichtete Kante in Verbindung mit dem Wert 0,5, die von dem mit „Kraftmaschine“ gekennzeichneten Knoten zu dem mit „Hund“ gekennzeichneten Knoten verläuft. Die konditionale Wahrscheinlichkeit, dass ein mit „Kraftmaschine“ gekennzeichneter Klang in einem Audioclip auftritt, wenn gegeben ist, dass ein mit „Kraftmaschine“ gekennzeichneter Klang im Audioclip auftritt, ist 0,1. Daher gibt es im Graphen eine gerichtete Kante in Verbindung mit dem Wert 0,1, die von dem mit „Hund“ gekennzeichneten Knoten zu dem mit „Kraftmaschine“ gekennzeichneten Knoten verläuft.
-
Die Verbindungen zwischen Knoten im Graphen G können durch eine Adjazenzmatrix A dargestellt werden. Um zu verhindern, dass A an die Trainingsdaten (beispielsweise die Datenstrukturen
310) überangepasst ist, kann der elektronische Prozessor
120 die Adjazenzmatrix binarisieren als:
wobei τ als Hyperparameter-Schwellniveau definiert sein kann. In einigen Ausführungsformen wird der Schwellwert τ = 0,2 zum Binarisieren der Adjazenzmatrix ausgewählt. Um ein Überglätten zu verhindern, gewichtet, in einigen Ausführungsformen, der elektronische Prozessor
120 die Adjazenzmatrix neu als:
wobei n die Anzahl von Knoten sein kann und p ein Hyperparameter sein kann, der das einer Kante zugewiesene Gewicht definiert. In einigen Ausführungsformen ist p auf 0,2 gesetzt.
-
Bei Schritt 215 empfängt der elektronische Prozessor 120 einen Audioclip, umfassend einen oder mehrere Klänge zur Klassifizierung. Zum Klassifizieren der im Audioclip enthaltenen Klänge führt der elektronische Prozessor 120 die Schritte 220-230 aus. 4 stellt eine grafische Darstellung der Klangklassifizierungssoftware 140 dar, die der elektronische Prozessor 120 ausführt, um die Schritte 220-230 durchzuführen, und wird nachfolgend in der Diskussion der Schritte 220-230 referenziert. Bei Schritt 220 führt der elektronische Prozessor 120 ein erstes faltendes Graphennetzwerk (GCN) mit dem bei Schritt 205 erzeugten ersten Graphen als Eingang aus. Bei Schritt 225 führt der elektronische Prozessor 120 ein zweites faltendes Graphennetzwerk (GCN) mit dem bei Schritt 210 erzeugten zweiten Graphen als Eingang aus.
-
Ein GCN ist ein mehrschichtiges neuronales Graphennetzwerk, das einen Graphen von Knoten als Eingang nimmt und eine Matrix von Merkmalsdarstellungen von Knoten im Graphen ausgibt. Ein GCN bestimmt eine Merkmalsdarstellung eines Knotens im Graphen basierend auf dem Merkmal des Knotens und den Merkmalen der Nachbarn des Knotens. Ein einschichtiges GCN kann Informationen von unmittelbaren Nachbarn eines Knotens erfassen, und ein mehrschichtiges GCN (das das Ergebnis des Stapelns mehrerer einschichtiger GCNs ist) kann Informationen von einer größeren Nachbarschaft von Knoten (beispielsweise einem Knoten, Nachbarn des Knotens, Nachbarn der Nachbarn des Knotens und so weiter, in Abhängigkeit von der Anzahl von Schichten) erfassen.
-
Sei beispielsweise ein Graph G mit n Knoten betrachtet. Sei X ∈ R
n×m eine Matrix mit Merkmalen von n Knoten mit m Dimensionen. SeiA die Adjazenzmatrix von Graph G mit seiner Gradmatrix D, definiert als D
ii = Σ
j A
ij Die Diagonalelemente von A werden aufgrund von Selbstschleifen auf 1 gesetzt. Für ein mehrschichtiges GCN, wobei der Graph G als Eingang empfangen wird, wird eine k-dimensionale Knotenmerkmalsmatrix L
(j+1) ∈ R
n×k berechnet als:
wobei j die Schichtennummer ist, Â = D
-1/2AD
-1/2 die geglättete Adjazenzmatrix ist, Wj die Gewichtsmatrix des GCN ist, f eine nicht-lineare Aktivierungsfunktion des GCN ist, wie etwa eine ReLU-Funktion, und L(0) = X.
-
Ausführen des ersten faltenden Graphennetzwerks (in 4 dargestellt als 400) mit dem bei Schritt 205 erzeugten ersten Graphen (in 4 dargestellt als 405) als Eingang produziert eine erste Knotenmerkmalsmatrix der Größe D×Nf (die erste Matrix ist in 4 als 410 dargestellt). In einigen Ausführungsformen ist D ein Hyperparameter des Graphen, und Nf ist die Anzahl von feinen Kennungen. Ausführen des zweiten faltenden Graphennetzwerks (in 4 dargestellt als 415) mit dem bei Schritt 210 erzeugten zweiten Graphen (in 4 dargestellt als 420) als Eingang produziert eine zweite Knotenmerkmalsmatrix der Größe D×Nc (die zweite Matrix ist in 4 als 425 dargestellt), wobei Nc eine Anzahl von groben Kennungen ist. In einigen Ausführungsformen enthalten das erste faltende Graphennetzwerk 400 und das zweite faltende Graphennetzwerk 405 beide 2-schichtige Netzwerke, die eine erste Schicht der Größe 300×400 und eine zweite Schicht der Größe 400×512 haben. In einigen Ausführungsformen wird eine LeakyReLU-Funktion mit dem negativen Anstieg von 0,2 als die Nichtlinearitätsfunktion zwischen den Schichten im ersten faltenden Graphennetzwerk 400 und im zweiten faltenden Graphennetzwerk 405 verwendet, und eine Sigmoid-Funktion wird als die abschließende Nichtlinearitätsfunktion im ersten faltenden Graphennetzwerk 400 und im zweiten faltenden Graphennetzwerk 405 verwendet. Durch Nutzen von GCNs nutzt der elektronische Prozessor 120 Kontextontologie. Beispielsweise können im Kontext einer Straßenszene Musik und Fahrzeugkraftmaschinenklänge bezüglich sein und in Audioclips häufig gemeinsam auftreten, auch wenn es keine semantische Beziehung oder akustischen Ähnlichkeiten zwischen ihnen gibt.
-
Bei Schritt 230 bestimmt der elektronische Prozessor 120 eine oder mehrere grobe Kennungen, eine oder mehrere feine Kennungen oder beides, um den einen oder die mehreren Klänge im Audioclip zu klassifizieren, unter Verwendung der Ausgänge des ersten faltenden Graphennetzwerks und des zweiten faltenden Graphennetzwerks. Beispielsweise führt, in der in 4 dargestellten Ausführungsform, der elektronische Prozessor 120 ein neuronales Netzwerk (in 4 dargestellt als ein faltendes rekurrentes neuronales Netzwerk 430) mit dem empfangenen Audioclip (in 4 dargestellt als 435) als Eingang aus, um einen D-dimensionalen Vektor 440 zu produzieren. In einigen Ausführungsformen umfasst das CRNN 430 acht faltende neuronale Netzwerkschichten und eine LSTM-Netzwerkschicht (langes Kurzzeitgedächtnis). Der elektronische Prozessor 120 multipliziert den Vektor 440 mit der ersten Matrix 410, um eine oder mehrere feine Kennungen (in 4 dargestellt als 445) zu produzieren, die als mit dem Audioclip 435 verbunden vorhergesagt werden. Der elektronische Prozessor 120 multipliziert den Vektor 440 mit der zweiten Matrix 425, um eine oder mehrere grobe Kennungen (in 4 dargestellt als 450) zu produzieren, die als mit dem Audioclip 435 verbunden vorhergesagt werden.
-
In einigen Ausführungsformen führt der elektronische Prozessor 120 ein einschichtiges vorwärtsgekoppeltes neuronales Netzwerk 455 unter Verwendung der einen oder mehreren feinen Kennungen als Eingang aus, um eine oder mehrere grobe Kennungen (in 4 dargestellt als 460) in Verbindung mit dem Audioclip 435 zu bestimmen, und führt ein einschichtiges vorwärtsgekoppeltes neuronales Netzwerk 465 unter Verwendung der einen oder mehreren feinen Kennungen als Eingang aus, um eine oder mehrere grobe Kennungen (in 4 dargestellt als 470) in Verbindung mit dem Audioclip 435 zu bestimmen. Die einschichtigen vorwärtsgekoppelten neuronalen Netzwerke 455, 465 können eine Sigmoid-Nichtlinearität haben. Durch Nutzen der einschichtigen vorwärtsgekoppelten neuronalen Netzwerke 455, 465 nutzt der elektronische Prozessor 120 semantische Ontologie oder die semantische Beziehung zwischen Kennungen. Beispielsweise gehört die Kennung „Hund“ zur Kategorie/Kennung „Tier“, und die Kennungen „bellender Hund“ und „winseln“ gehören zur Kategorie/Kennung „Hund“. Verwendung der vorhergesagten groben Kennungen 450 als Eingang in das einschichtige vorwärtsgekoppelte neuronale Netzwerk 465 ermöglicht dem elektronischen Prozessor 120, die möglichen feinen Kennungen einzuengen, die verwendet werden können, um den in einem Audioclip enthaltenen Klang zu klassifizieren. Wenn beispielsweise der elektronische Prozessor 120 bestimmt, dass die grobe Kennung in Verbindung mit einem Audioclip „menschlicher Klang“ ist, ist der elektronische Prozessor 120 in der Lage, seine feine Kennungsvorhersage auf Klassen zu fokussieren, wie etwa „menschliche Sprache“, „Gelächter“, „Singen“ und ähnliches anstatt, beispielsweise auf Klassen von Kraftmaschinenklängen oder Umgebungsklängen.
-
In einigen Ausführungsformen wird ein zweistufiger Prozess verwendet, um die Klangklassifizierungssoftware 140 zu trainieren. Im ersten Schritt des Trainingsprozesses berechnet der elektronische Prozessor 120 den Ausgang eines CRNN (beispielsweise des CRNN 430), gegeben in einem Audioclip, als einen Vektor, feine und grobe Kennungen vorhersagend. Als nächstes multipliziert der elektronische Prozessor 120 den Vektor mit einer von GCN1 ausgegebenen Matrix (beispielsweise der ersten Matrix 410), um feine Kennungen vorherzusagen. Der elektronische Prozessor 120 verwendet die vorhergesagten feinen Kennungen, um einen feinen Verlust zu berechnen. Der elektronische Prozessor 120 führt die vorhergesagten feinen Kennungen zu einem ersten einschichtigen vorwärtsgekoppelten neuronalen Netzwerk (beispielsweise dem einschichtigen vorwärtsgekoppelten neuronalen Netzwerk 455) zu, um eine oder mehrere vorhergesagte grobe Kennungen auszugeben. Der elektronische Prozessor 120 berechnet groben Verlust unter Verwendung der vorhergesagten groben Kennungen. Der elektronische Prozessor 120 bestimmt den abschließenden Verlust des ersten Schritts als eine gewichtete Summe des groben Verlusts und des feinen Verlusts, die beim ersten Schritt des Trainings bestimmt wurden, und führt Rückpropagierung durch, um die Parameter der Klangklassifizierungssoftware 140 unter Verwendung des abschließenden Verlusts zu aktualisieren, die für den ersten Schritt im Trainingsprozess bestimmt wurden.
-
Beim zweiten Schritt des Trainingsprozesses in diesem Beispiel berechnet oder bestimmt der elektronische Prozessor 120 einen Vektor mit dem CRNN (das Gewichte hat, die als Teil des ersten Schritts aktualisiert wurden) unter Verwendung des Audioclips als Eingang. Der elektronische Prozessor 120 multipliziert den Vektor mit der von GCN2 ausgegebenen Matrix. Der elektronische Prozessor 120 verwendet die im zweiten Schritt vorhergesagten groben Kennungen, um groben Verlust zu berechnen. Der elektronische Prozessor 120 führt ein zweites einschichtiges vorwärtsgekoppeltes neuronales Netzwerk (beispielsweise das einschichtige vorwärtsgekoppelte neuronale Netzwerk 465) unter Verwendung der vorhergesagten groben Kennungen aus, um eine Vorhersage der einen oder mehreren feinen Kennungen auszugeben. Der elektronische Prozessor 120 verwendet die im zweiten Schritt vorhergesagten feinen Kennungen, um feinen Verlust zu berechnen. Der elektronische Prozessor 120 bestimmt den abschließenden Verlust für den zweiten Schritt als die gewichtete Summe des feinen Verlusts und des groben Verlusts, die beim zweiten Schritt erzeugt wurden, und führt erneut Rückpropagierung durch, um die Parameter der Klangklassifizierungssoftware 140 unter Verwendung des abschließenden Verlusts zu aktualisieren, die für den zweiten Schritt im Trainingsprozess bestimmt wurden. Der elektronische Prozessor 120 wiederholt den ersten und den zweiten Schritt des Trainingsprozesses bis zur Konvergenz. In einigen Ausführungsformen wird ein stochastisches Gradientenverfahren verwendet, um die Klangklassifizierungssoftware 140 zu optimieren, und binäre Kreuzentropie wird als die Verlustfunktion verwendet (zum Berechnen von feinem Verlust und grobem Verlust).
-
Das hier beschriebene ontologiebewusste Klangklassifizierungssystem 100 und - verfahren 200 kann in einer breiten Vielfalt von Anwendungen verwendet werden. Beispielsweise können die hier beschriebenen Ausführungsformen bei einer Hausüberwachungsanwendung verwendet werden, um Klänge zu detektieren, wie etwa das Schreien eines Babys, das Bellen oder Winseln eines Hundes, das Zerspringen eines Fensters, das Eintreten einer Tür und ähnliches. Die hier beschriebenen Ausführungsformen können für eine städtische Beobachtungs- oder Überwachungsanwendung verwendet werden. Beispielsweise können die hier beschriebenen Ausführungsformen in der Lage sein, einen Schuss von ähnlichen Klängen, wie etwa einem fehlzündenden Fahrzeug, in einer lauten Umgebung zu unterscheiden. Die hier beschriebenen Ausführungsformen können in einer Anwendung für teilweise autonome oder vollständig autonome Fahrzeuge verwendet werden. Beispielsweise können die hier beschriebenen Ausführungsformen in der Lage sein, aus Verkehrsgeräuschen zu bestimmen, ob sich ein Krankenwagen einem Fahrzeug mit autonomer Funktionalität nähert. Die hier beschriebenen Ausführungsformen können auch in einer Verkehrsüberwachungsanwendung verwendet werden, um, beispielsweise, zu bestimmen, wie viele Fahrzeuge an einem gegebenen Tag eine Straße nutzen, basierend auf dem Straßengeräusch.
-
Es sollte verstanden werden, dass, während die Ausführungsformen hier im Kontext der Klangklassifizierung beschrieben wurden, die hier beschriebenen Techniken in anderen Kontexten angewendet werden können, wie etwa Objekterkennung in Visualisierungsformen.
-
In der vorstehenden Spezifikation wurden spezifische Ausführungsformen beschrieben. Allerdings versteht es sich für einen Durchschnittsfachmann, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom Schutzumfang der Erfindung abzuweichen, wie in den folgenden Ansprüchen dargelegt. Entsprechend sind die Spezifikation und die Figuren eher in einem veranschaulichenden als in einem restriktiven Sinn aufzufassen, und alle solchen Modifikationen sollen in den Schutzumfang der vorliegenden Lehren aufgenommen sein.
-
In diesem Dokument können bezügliche Begriffe wie erster und zweiter, oben und unten und ähnliches, nur verwendet werden, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne dass notwendigerweise eine tatsächliche solche Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen erforderlich oder impliziert wäre. Die Begriffe „umfassen“, „umfasst“, „aufweisen“, „weist auf“, „haben“, „hat“, „enthalten“, „enthält“ oder beliebige andere Variationen davon sollen eine nicht-exklusive Inklusion abdecken, sodass ein Prozess, ein Verfahren, ein Artikel oder eine Einrichtung, der/die/das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente umfasst, sondern auch andere Elemente umfassen kann, die nicht ausdrücklich zu diesem Prozess, Verfahren, Artikel oder dieser Einrichtung aufgeführt sind oder diesen inhärent sind. Ein Element, dem „umfasst ein(e) ...“, „hat ein(e) ...“, „weist ein(e) ... auf oder „enthält ein(e) ..“ voransteht, schließt nicht, ohne weitere Einschränkungen, das Vorhandensein zusätzlicher identischer Elemente im Prozess, Verfahren, Artikel oder in der Einrichtung aus, der/das/die das Element umfasst, hat, aufweist oder enthält. Die Begriffe „ein“ oder „eine“ sind als ein oder mehrere definiert, sofern hier nicht ausdrücklich anders angegeben. Die Begriffe „im Wesentlichen“, „annähernd“, „etwa“ oder eine beliebige Version davon, sind als nahe daran definiert, wie sie durch einen Durchschnittsfachmann verstanden werden, und in einer nicht beschränkenden Ausführungsform ist der Begriff definiert als innerhalb von 10 %, in einer anderen Ausführungsform als innerhalb von 5 %, in einer anderen Ausführungsform als innerhalb von 1 % und in einer anderen Ausführungsform als innerhalb von 0,5 % definiert. Der Begriff „gekoppelt“, wie hier verwendet, ist als verbunden definiert, allerdings nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder Struktur, die in einer bestimmten Weise „ausgelegt“ ist, ist zumindest in dieser Weise ausgelegt, kann aber auch in Weisen ausgelegt sein, die nicht aufgeführt sind.
-
Daher stellen die hier beschriebenen Ausführungsformen, unter anderem, ein System und ein Verfahren für eine ontologiebewusste Klangklassifizierung bereit. Verschiedene Merkmale und Vorteile der Ausführungsformen sind in den folgenden Ansprüchen dargelegt.