devAIce® SDK 3.6.1 Aktualisierung

,
Caro Bauer

Was ist neu in devAIce SDK 3.6.1 

Das devAIce Team ist stolz darauf, die Verfügbarkeit von devAIce SDK 3.6.1 bekannt zu geben, das seit der letzten öffentlich angekündigten Version 3.4.0 eine Reihe von wichtigen Verbesserungen, spannenden neuen Funktionen und kleineren Korrekturen enthält. Dieser Blogbeitrag fasst die wichtigsten Änderungen zusammen, die seither im devAIce SDK eingeführt wurden. 

Aktualisierungen des Emotionsmodells 

  • Neue Gefühlsdimension "Dominanz" 

Das Erregungs-Valenz-Modell ist der bei weitem häufigste Ansatz zur Darstellung und Beschreibung menschlicher Emotionen in Form von Emotionsdimensionen, d. h. als Punkte auf einer hypothetischen Emotionsebene. In diesem Modell werden Emotionen durch zwei Zahlen identifiziert: eine, die das Ausmaß der Erregung (Aktivierung/Energie) misst, die einer Emotion zugeschrieben wird, und eine, die die Valenz (Positivität/Negativität) misst. In Anbetracht der Tatsache, dass in diesem Modell Emotionen nur durch ein Zahlenpaar beschrieben werden, kann es bereits erstaunlich gut zwischen der Fülle menschlicher Emotionen unterscheiden, die in der freien Natur anzutreffen sind. Dennoch gelingt es nicht, die Nuancen bestimmter verwandter Emotionen zu erfassen, die zwar auf der gleichen Stelle der Erregungs-Valenz-Ebene liegen, aber völlig unterschiedliche Eigenschaften haben. So können beispielsweise die Emotionskategorien "Wut" und "Angst" beide mit einem hohen Erregungsniveau und einer negativen Valenz belegt werden, sind aber in ihrer Art sehr unterschiedlich. Um zwischen diesen Emotionen unterscheiden zu können, wird eine dritte Dimension benötigt, die oft als "Dominanz" bezeichnet wird. Diese Dimension gibt an, ob eine Emotion "dominant" ist, d.h. das Subjekt hat die Kontrolle über eine Situation, oder ob sie "submissiv" ist, d.h. das Subjekt hat keine Kontrolle. Im Falle von "Wut" und "Angst" würde man der ersten Dimension eine hohe Dominanz zuschreiben, weil das Subjekt die Kontrolle hat, und der zweiten Dimension eine niedrige Dominanz, weil Angst oft aufgrund mangelnder Kontrolle empfunden wird. 

In den neuesten Versionen von devAIce haben wir die Unterstützung für die Dominanzdimension in den dimensionalen Emotionsmodellen der Module Emotion und Emotion (Large) hinzugefügt. Bei der Evaluierung mit unseren Benchmark-Sets, die eine breite Mischung aus realen und gespielten emotionalen Sprachdaten enthalten, erreichen diese neuen Modelle eine hohe Genauigkeit bei der Dominanzvorhersage mit durchschnittlichen Konkordanzkorrelationskoeffizienten (der devAIce SDK-Ausgaben zu unserem von menschlichen Experten gelabelten Goldstandard) von bis zu 0,7. 

Wir ermutigen Kunden von devAIce, die Dominanzdimension zu nutzen, wenn eine feinkörnige Unterscheidung zwischen vokalen Emotionsausdrücken wichtig ist. Das Verhalten und die Genauigkeit von Arousal und Valence haben sich durch die Hinzufügung der Dominanzdimension nicht wesentlich verändert. 

  • Verbessertes kategoriales Modell im Modul Emotion (Large) mit verbesserter Genauigkeit für prototypische vokale Emotionsausdrücke 

Die neuesten devAIce-Versionen enthalten ein verfeinertes kategoriales Modell in den Emotionsmodulen. audEERING hat sich immer darauf konzentriert, die beste Genauigkeit bei natürlichen, alltäglichen vokalen Emotionsausdrücken zu liefern. Dies hat dazu geführt, dass unsere Modelle gespielte, prototypische Emotionsausdrücke nicht immer korrekt erkennen. Diese Art von Emotionsausdrücken wird jedoch häufig von Personen verwendet, die ein Produkt mit Sprachemotionserkennung testen, oder von Nutzern, die Emotionen mit ihrer Stimme darstellen, z. B. in Videospielen, die unsere entertAIn-Plugins verwenden.  

Mit dem neuen Update des Moduls "Emotion (Large)" in Version 3.6.1 haben wir die Genauigkeit (Unweighted Average Recall - UAR) um bis zu 18 % relativ verbessert, gemessen an unseren kombinierten Benchmarks mit natürlichen und prototypischen Emotionsausdrücken. Die meisten Verbesserungen sind bei den prototypischen Daten in unseren Benchmarks zu verzeichnen, bis zu 20-30% relativ, und wir machen keine Abstriche bei der Genauigkeit der Erkennung natürlicher Emotionsausdrücke. Auch die Genauigkeit des Moduls "Emotion" wurde im Durchschnitt um 10 % relativ verbessert. 

Optimierungen der Leistung 

  • Wesentliche Leistungsverbesserungen bei der gleichzeitigen Ausführung von Modellen 

Die Funktionalität, die devAIce durch verschiedene devAIce-Module bereitstellt, wird intern durch eine Reihe unabhängiger Machine-Learning-Modelle angetrieben. Selbst wenn der Benutzer nur ein einziges devAIce-Modul aktiviert, laufen potenziell zwei oder mehr Modelle transparent unter der Haube. Zum Beispiel wird die kategoriale und dimensionale Ausgabe des Emotion-Moduls durch zwei separate Modelle implementiert, die parallel auf demselben Input laufen. 

devAIce SDK 3.6.1 bringt erhebliche Optimierungen bei der gleichzeitigen Ausführung von Modellen mit sich, was in vielen Produktionsfällen zu spürbaren Geschwindigkeitssteigerungen führt. Diese Reduzierung des Verarbeitungsaufwands ist besonders effektiv, wenn zwei oder mehr devAIce-Module aktiviert sind. Abb. 1 zeigt den gemessenen Unterschied in der Analysezeit einer Beispiel-Audiodatei für verschiedene Modulkonfigurationen im Vergleich zwischen devAIce SDK 3.4.0 und devAIce SDK 3.6.1. In diesem Benchmark ist die neueste Version von devAIce SDK fast 50% schneller als frühere Versionen, wenn die übliche Kombination aus VAD, Emotion (Large) und Sprecherattributen verwendet wird. 

devAIce SDK 3.4.0 vs 3.6.1. Produktvergleich von audeering mit der Analysezeit
FFig. 1: Analysezeiten von devAIce SDK 3.4.0 und 3.6.1 für verschiedene Modulkombinationen auf einer 117s Audiodatei. Die Zahlen wurden auf einer Quad-Core Intel(R) Core(TM) i7-7700HQ CPU (2.80GHz) unter Ubuntu 22.04 gemessen. 

  • Verringerung der Latenzzeit für Modelle, die auf VAD-Segmenten laufen 

Von Anfang an bietet devAIce die Voice Activity Detection (VAD) als optionalen Vorverarbeitungsschritt an, damit alle nachfolgenden Analysemodelle nur auf erkannten Sprachsegmenten ausgeführt werden. In SDK Version 3.4.0 und früher begann die Modellinferenz erst, wenn das Ende eines Sprachsegments erkannt wurde. In Echtzeitszenarien konnte dies zu einer höheren Latenzzeit der Modellergebnisse führen, da die Zeitspanne, in der ein Sprecher spricht, nicht für die Verarbeitung genutzt werden konnte. Ab der Version 3.5.0 wird das devAIce SDK damit beginnen, laufende Sprachsegmente so schnell wie möglich inkrementell zu verarbeiten, so dass nach der Erkennung des Segmentendes weniger Arbeit anfällt und die Zeit bis zur Rückgabe der Modellergebnisse verkürzt wird. 

Abb. 2 vergleicht frühere und aktuelle Versionen von devAIce in Bezug auf die Ergebnislatenz in Abhängigkeit von der Länge des Sprachsegments. Die Grafik zeigt sehr schön, dass in der Vorversion 3.5.0 von devAIce die Zeit, die zur Verarbeitung eines Sprachsegments benötigt wurde, linear mit der Länge des Segments anstieg. Ab Version 3.5.0 bleibt die Verarbeitungszeit in etwa konstant, unabhängig von der Segmentlänge. 

devAIce SDK 3.4.0 vs. 3.6.1 Produktvergleich, wie die Ergebnislatenz des Emotionsmoduls von der Segmentlänge abhängt
Abb. 2: Vergleich der Abhängigkeit der Ergebnislatenz des Emotion-Moduls von der Segmentlänge in devAIce SDK 3.4.0 und 3.6.1. Die Zahlen wurden auf einer Quad-Core Intel(R) Core(TM) i7-7700HQ CPU (2.80GHz) unter Ubuntu 22.04 gemessen. 

Erweiterte Leistungseinstellungen 

devAIce SDK 3.6.1 führt zwei neue Sitzungseinstellungen ein, mit denen die Hardwareauslastung und -leistung während der Laufzeit optimiert werden kann: 

  • verarbeitung_modus  

Diese Einstellung kann einen von zwei Werten annehmen: sequentiell (Standard) oder parallel. Die Standardeinstellung bietet auf den meisten Systemen die beste Leistung. Auf bestimmten Systemen kann der parallele Verarbeitungsmodus jedoch zu spürbaren Geschwindigkeitssteigerungen führen. Wir empfehlen, beide Optionen zu vergleichen und die Einstellung zu wählen, die auf Ihrer Zielhardware die beste Leistung bietet. 

  • num_model_threads  

Diese Einstellung steuert die Anzahl der für die Inferenz des neuronalen Netzes verwendeten Threads. Standardmäßig wird die Anzahl der Threads auf der Grundlage der Host-CPU optimiert, um einen optimalen Durchsatz zu erzielen. In bestimmten Fällen kann es jedoch erwünscht sein, weniger Threads zu verwenden, um andere echtzeitkritische Anwendungen (z. B. Spiele), die auf dem System laufen, nicht zu beeinträchtigen. Für diese Fälle können die Benutzer jetzt die Anzahl der Threads mit dieser Einstellung überschreiben. 

Andere Verbesserungen 

Neben den oben beschriebenen größeren Änderungen bringen die neuen Releases von devAIce eine Reihe weiterer kleinerer Verbesserungen und Korrekturen für die API, die Dokumentation und das CLI-Tool. Wie bei jedem Release finden Sie in der SDK-Dokumentation der neuen Versionen einen vollständigen Changelog der Neuerungen. 

FRAGEN UND ANTWORTEN 

Muss ich für diese Updates bezahlen? 

Kunden mit Abonnements oder Lizenzen, die für kostenlose Updates berechtigt sind, müssen für dieses Update nicht bezahlen. 

Muss ich aktualisieren? 

Nein, Sie können weiterhin die aktuelle Version verwenden. devAIce SDK-Nutzer müssen sich explizit für den Erhalt der neuen Version entscheiden. Nichtsdestotrotz empfehlen wir, wenn möglich auf die neueste Version zu aktualisieren, um von den neuesten Modellergänzungen, Verbesserungen und Korrekturen zu profitieren. 

Wo kann ich weitere Informationen erhalten? 

Wenn Sie an einem Update auf die neue Version von devAIce interessiert sind oder Fragen zu diesen Updates oder devAIce im Allgemeinen haben, wenden Sie sich bitte an audEERINGs Customer Experience Manager Sylvia Szylar (sszylar@audeering.com).