DE112021004199T5 - Genauigkeit einer Datenstrom- Umsetzungsfunktion für rekurrente neuronale Netzwerke - Google Patents

Genauigkeit einer Datenstrom- Umsetzungsfunktion für rekurrente neuronale Netzwerke Download PDF

Info

Publication number
DE112021004199T5
DE112021004199T5 DE112021004199.1T DE112021004199T DE112021004199T5 DE 112021004199 T5 DE112021004199 T5 DE 112021004199T5 DE 112021004199 T DE112021004199 T DE 112021004199T DE 112021004199 T5 DE112021004199 T5 DE 112021004199T5
Authority
DE
Germany
Prior art keywords
speech recognition
neural
model
computer
output probability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021004199.1T
Other languages
English (en)
Inventor
Gakuto Kurata
George Andrei Saon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112021004199T5 publication Critical patent/DE112021004199T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

Es wird ein auf einem Computer implementiertes Verfahren zum Trainieren von Modellen bereitgestellt. Das Verfahren umfasst Trainieren eines zweiten durchgängigen neuronalen Spracherkennungsmodells, das über eine bidirektionale Codierfunktion verfügt, um dieselben Symbole aus einem Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen neuronalen Spracherkennungsmodells auszugeben wie aus einem Ausgabewahrscheinlichkeits-Gitter eines trainierten ersten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt. Das Verfahren umfasst auch Erstellen eines dritten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt, indem das dritte durchgängige neuronale Spracherkennungsmodell als Schüler in einem Wissensdestillations-Verfahren unter Verwendung des trainierten zweiten durchgängigen neuronalen Spracherkennungsmodells als Lehrer trainiert wird.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf die Informationsverarbeitung und insbesondere auf ein Verbessern der Genauigkeit einer Datenstrom-Umsetzungsfunktion für rekurrente neuronale Netzwerke (streaming recurrent neural network (RNN) transducer) für eine durchgängige (end-to-end) Spracherkennung.
  • Für ein durchgängiges Trainieren von RNN-Umsetzungsfunktions-Modellen (RNN transducer model, RNN-T-Modell) sind keine Zuordnungen auf Frame-Ebene zwischen Audio- und Ausgabesymbolen erforderlich. Infolgedessen können entsprechende Knoten in den A-posteriori-Gittern (posterior lattice), die durch die gemeinsamen Netzwerke verschiedener RNN-T-Modelle definiert sind, unterschiedliche Symbole aussenden, was eine Reihe von neuen Problemen bei der Wissensdestillation zwischen RNN-T-Modellen mit sich bringt. Insbesondere sind diese Diskrepanzen in den A-posteriori-Gittern zwischen einem Offline-RNN-T-Modell und einem Datenstrom-RNN-T-Modell ausgeprägt, da das Datenstrom-RNN-T-Modell die Symbole später aussendet als das Offline-RNN-T-Modell.
  • KURZDARSTELLUNG
  • Gemäß Aspekten der vorliegenden Erfindung wird ein auf einem Computer implementiertes Verfahren zum Trainieren von Modellen bereitgestellt. Das Verfahren umfasst Trainieren eines zweiten durchgängigen neuronalen Spracherkennungsmodells, das über eine bidirektionale Codierfunktion (encoder) verfügt, um dieselben Symbole aus einem Ausgabewahrscheinlichkeits-Gitter (output probability lattice) des zweiten durchgängigen neuronalen Spracherkennungsmodells auszugeben wie aus einem Ausgabewahrscheinlichkeits-Gitter eines trainierten ersten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt. Das Verfahren umfasst auch Erstellen eines dritten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt, indem das dritte durchgängige neuronale Spracherkennungsmodell als Schüler in einem Wissensdestillations-Verfahren unter Verwendung des trainierten zweiten durchgängigen neuronalen Spracherkennungsmodells als Lehrer trainiert wird.
  • Gemäß weiteren Aspekten der vorliegenden Erfindung wird ein Computerprogrammprodukt zum Trainieren von Modellen bereitgestellt. Das Computerprogrammprodukt umfasst ein nichtflüchtiges, durch einen Computer lesbares Speichermedium, in dem Programmanweisungen verkörpert sind, wobei die Programmanweisungen durch einen Computer ausführbar sind, um den Computer zu veranlassen, ein Verfahren durchzuführen. Das Verfahren umfasst Trainieren eines zweiten durchgängigen neuronalen Spracherkennungsmodells, das über eine bidirektionale Codierfunktion (encoder) verfügt, um dieselben Symbole aus einem Ausgabewahrscheinlichkeits-Gitter (output probability lattice) des zweiten durchgängigen neuronalen Spracherkennungsmodells auszugeben wie aus einem Ausgabewahrscheinlichkeits-Gitter eines trainierten ersten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt. Das Verfahren umfasst auch Erstellen eines dritten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt, indem das dritte durchgängige neuronale Spracherkennungsmodell als Schüler in einem Wissensdestillations-Verfahren unter Verwendung des trainierten zweiten durchgängigen neuronalen Spracherkennungsmodells als Lehrer trainiert wird.
  • Gemäß noch weiteren Aspekten der vorliegenden Erfindung wird ein Computerverarbeitungssystem zum Trainieren von Modellen bereitgestellt. Das Computerverarbeitungssystem umfasst eine Speichereinheit zum Speichern von Programmcode. Das Computerverarbeitungssystem umfasst ferner einen Hardware-Prozessor, der funktionsmäßig mit der Speichereinheit verbunden ist, um den Programmcode auszuführen, um ein zweites durchgängiges neuronales Spracherkennungsmodell zu trainieren, das über eine bidirektionale Codierfunktion verfügt, um dieselben Symbole aus einem Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen neuronalen Spracherkennungsmodells auszugeben wie aus einem Ausgabewahrscheinlichkeits-Gitter eines trainierten ersten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt. Der Hardware-Prozessor führt auch den Programmcode aus, um ein drittes durchgängiges neuronales Spracherkennungsmodell zu erstellen, das über eine unidirektionale Codierfunktion verfügt, indem das dritte durchgängige neuronale Spracherkennungsmodell als Schüler in einem Wissensdestillations-Verfahren unter Verwendung des trainierten zweiten durchgängigen neuronalen Spracherkennungsmodells als Lehrer trainiert wird.
  • Diese und andere Funktionen und Vorteile werden aus der folgenden detaillierten Beschreibung veranschaulichender Ausführungsformen davon ersichtlich, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist.
  • Figurenliste
  • In der folgenden Beschreibung werden Einzelheiten der bevorzugten Ausführungsformen unter Bezugnahme auf die folgenden Figuren bereitgestellt, in denen:
    • 1 ein Blockschaltbild zeigt, das eine beispielhafte Datenverarbeitungseinheit gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 2 bis 3 ein beispielhaftes Verfahren zum Verbessern der Genauigkeit einer Datenstrom-RNN-Umsetzungsfunktion für eine durchgängige Spracherkennung zeigen, gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 4 eine beispielhafte unidirektionale RNN-T-Architektur gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
    • 5 eine beispielhafte bidirektionale RNN-T-Architektur gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
    • 6 ein Blockschaubild zeigt, das ferner das Ausgabewahrscheinlichkeits-Gitter von 4 und 5 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 7 ein Blockschaubild zeigt, das die in einem Block des Verfahrens 200 von 2 enthaltenen Elemente gemäß einer Ausführungsform der vorliegenden Erfindung grafisch darstellt;
    • 8 ein Blockschaubild zeigt, das die in einem anderen Block des Verfahrens 200 von 2 enthaltenen Elemente gemäß einer Ausführungsform der vorliegenden Erfindung grafisch darstellt;
    • 9 ein Blockschaubild zeigt, das die in noch einem anderen Block des Verfahrens 200 von 2 enthaltenen Elemente gemäß einer Ausführungsform der vorliegenden Erfindung grafisch darstellt;
    • 10 ein Blockschaubild zeigt, das ferner die in einem Block von 2 enthaltenen RNN-T-Elemente gemäß einer Ausführungsform der vorliegenden Erfindung grafisch darstellt;
    • 11 ein Blockschaubild zeigt, das eine beispielhafte Cloud-Computing-Umgebung mit einem oder mehreren Cloud-Computing-Knoten darstellt, mit denen lokale, von Cloud-Nutzern verwendete Datenverarbeitungseinheiten Daten austauschen, gemäß einer Ausführungsform der vorliegenden Erfindung; und
    • 12 ein Blockschaubild zeigt, das einen Satz von funktionalen Abstraktionsschichten darstellt, die von einer Cloud-Computing-Umgebung bereitgestellt werden, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf ein Verbessern der Genauigkeit einer Datenstrom-Umsetzungsfunktion für rekurrente neuronale Netzwerke (streaming recurrent neural network (RNN) transducer) für eine durchgängige Spracherkennung.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren vorgeschlagen, um ein RNN-T-Modell so zu trainieren, dass die Knoten seines A-posteriori-Gitters die gleichen Symbole aussenden wie die entsprechenden Knoten des A-posteriori-Gitters von dem bereits trainierten RNN-T-Modell. Mit diesem Verfahren kann ein Offline-RNN-T-Modell trainiert werden, das als geeigneter Lehrer zum Trainieren eines Schüler-Datenstrom-RNN-T-Modells dienen kann.
  • Es ist zu beachten, dass in den hier dargelegten Ausführungsformen zwar in erster Linie RNN-T-Modelle beschrieben werden, dass aber auch andere Modelle möglich sind, zum Beispiel Transformator-Umsetzungsfunktionen (transformer transducer), RNN-Umsetzungsfunktionen mit zustandslosem Vorhersagenetzwerk und so weiter, ohne auf diese beschränkt zu sein.
  • 1 zeigt ein Blockschaltbild, das eine beispielhafte Datenverarbeitungseinheit 100 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Die Datenverarbeitungseinheit 100 ist so konfiguriert, dass sie die Genauigkeit eines Datenstrom-RNN-Umsetzungsfunktions-Modells für eine durchgängige Spracherkennung verbessert.
  • Die Datenverarbeitungseinheit 100 kann als jede Art von Datenverarbeitungs- oder Computereinheit verkörpert werden, die geeignet ist, die hier beschriebenen Funktionen auszuführen, einschließlich, ohne auf diese beschränkt zu sein, ein Computer, ein Server, ein Rack-gestützter Server, ein Blade-Server, eine Workstation, ein Desktop-Computer, ein Laptop-Computer, ein Notebook-Computer, ein Tablet-Computer, eine mobile Datenverarbeitungseinheit, eine tragbare Datenverarbeitungseinheit, eine Netzwerkeinheit, eine Web-Einheit, ein verteiltes Datenverarbeitungssystem, ein prozessorgestütztes System und/oder eine Unterhaltungselektronikeinheit. Zusätzlich oder alternativ kann die Datenverarbeitungseinheit 100 als ein oder mehrere Datenverarbeitungsschlitten, Speicherschlitten oder andere Racks, Schlitten, Datenverarbeitungsgehäuse oder andere Komponenten einer physisch unterteilten Datenverarbeitungseinheit verkörpert werden. Wie in 1 dargestellt, umfasst die Datenverarbeitungseinheit 100 beispielhaft den Prozessor 110, ein Eingabe-/Ausgabe-Teilsystem 120, einen Speicher 130, eine Datenspeichereinheit 140 und ein Datenübertragungs-Teilsystem 150 und/oder andere Komponenten und Einheiten, die üblicherweise in einem Server oder einer ähnlichen Datenverarbeitungseinheit vorhanden sind. Es versteht sich von selbst, dass die Datenverarbeitungseinheit 100 in anderen Ausführungsformen auch andere oder zusätzliche Komponenten umfassen kann, zum Beispiel solche, die üblicherweise in einem Server-Computer vorhanden sind (z.B. verschiedene Eingabe-/Ausgabeeinheiten). Darüber hinaus können in einigen Ausführungsformen eine oder mehrere der beispielhaften Komponenten in eine andere Komponente integriert werden oder auf andere Weise einen Teil dieser Komponente bilden. Zum Beispiel kann der Speicher 130 oder Teile davon in einigen Ausführungsformen in den Prozessor 110 integriert sein.
  • Der Prozessor 110 kann als jede Art von Prozessor verkörpert sein, der die hier beschriebenen Funktionen ausführen kann. Der Prozessor 110 kann als Einzelprozessor, mehrere Prozessoren, Zentraleinheiten) (CPU(s)), Grafikverarbeitungseinheit(en) (GPU(s)), Einzel- oder Mehrkernprozessor(en), digitale(r) Signalprozessor(en), Mikrocontroller oder sonstige(r) Prozessor(en) oder Verarbeitungs-/Steuerungsschaltung(en) verkörpert sein.
  • Der Speicher 130 kann als jede Art von flüchtigem oder nichtflüchtigem Speicher oder Datenspeicher verkörpert sein, der zum Ausführen der hier beschriebenen Funktionen geeignet ist. Im Betrieb kann der Speicher 130 verschiedene Daten und Software speichern, die während des Betriebs der Datenverarbeitungseinheit 100 verwendet werden, zum Beispiel Betriebssysteme, Anwendungen, Programme, Bibliotheken und Treiber. Der Speicher 130 ist für den Datenaustausch über das E/A-Teilsystem 120 mit dem Prozessor 110 verbunden, das in Form von Schaltungen und/oder Komponenten verkörpert sein kann, um Eingabe-/Ausgabeoperationen mit dem Prozessor 110, dem Speicher 130 und anderen Komponenten der Datenverarbeitungseinheit 100 zu ermöglichen. Zum Beispiel kann das E/A-Teilsystem 120 in Form von Speichersteuerungs-Hubs, Eingabe-/Ausgabesteuerungs-Hubs, Plattformsteuerungs-Hubs, integrierten Steuerschaltungen, Firmware-Einheiten, Datenübertragungsverbindungen (z.B. Punkt-zu-Punkt-Verbindungen, Busverbindungen, Leitungen, Kabel, Lichtwellenleiter, Leiterbahnen auf einer gedruckten Schaltung usw.) und/oder anderen Komponenten und Teilsystemen verkörpert sein oder diese umfassen, um die Eingabe-/Ausgabeoperationen zu ermöglichen. In einigen Ausführungsformen kann das E/A-Teilsystem 120 einen Teil eines Ein-Chip-Systems (system-on-a-chip, SOC) bilden und zusammen mit dem Prozessor 110, dem Speicher 130 und anderen Komponenten der Datenverarbeitungseinheit 100 auf einem einzigen integrierten Schaltungs-Chip integriert sein.
  • Die Datenspeichereinheit 140 kann als jede Art von Einheit oder Einheiten verkörpert sein, die für die kurz- oder langfristige Speicherung von Daten konfiguriert sind, wie zum Beispiel Speichereinheiten und -schaltungen, Speicherkarten, Festplattenlaufwerke, Halbleiterdatenträger oder andere Datenspeichereinheiten. Die Datenspeichereinheit 140 kann Programmcode für ein oder mehrere Datenstrom-RNN-Umsetzungsfunktions-Modelle (bzw. zum Verbessern der Genauigkeit eines Datenstrom-RNN-Umsetzungsfunktions-Modells) für eine durchgängige Spracherkennung speichern. Das Datenübertragungs-Teilsystem 150 der Datenverarbeitungseinheit 100 kann in Form einer beliebigen Netzwerk-Schnittstellensteuerung oder einer anderen Datenübertragungsschaltung, -einheit oder einer Sammlung davon verkörpert sein, die geeignet ist, Datenübertragungen zwischen der Datenverarbeitungseinheit 100 und anderen entfernt angeordneten Einheiten über ein Netzwerk zu ermöglichen. Das Datenübertragungs-Teilsystem 150 kann so konfiguriert sein, dass es eine oder mehrere Datenübertragungstechnologien (z.B. drahtgebundene oder drahtlose Datenübertragung) und zugehörige Protokolle (z.B. Ethernet, InfiniBand®, Bluetooth®, Wi-Fi®, WiMAX usw.) verwendet, um eine solche Datenübertragung durchzuführen.
  • Wie dargestellt kann die Datenverarbeitungseinheit 100 auch ein oder mehrere periphere Einheiten 160 umfassen. Zu den peripheren Einheiten 160 kann eine beliebige Anzahl von zusätzlichen Eingabe-/Ausgabeeinheiten, Schnittstelleneinheiten und/oder anderen peripheren Einheiten gehören. Zum Beispiel können zu den peripheren Einheiten 160 in einigen Ausführungsformen eine Anzeige, ein Berührungsbildschirm, Grafikschaltungen, eine Tastatur, eine Maus, ein Lautsprechersystem, ein Mikrofon, eine Netzwerkschnittstelle und/oder andere Eingabe-/Ausgabeeinheiten, Schnittstelleneinheiten und/oder periphere Einheiten gehören.
  • Natürlich kann die Datenverarbeitungseinheit 100 auch andere (nicht dargestellte) Elemente umfassen, wie sie von einem Fachmann leicht in Betracht gezogen werden können, und bestimmte Elemente können auch weggelassen werden. Zum Beispiel kann die Datenverarbeitungseinheit 100 verschiedene andere Eingabeeinheiten und/oder Ausgabeeinheiten enthalten, je nach der bestimmten Implementierung desselben, wie ein Fachmann leicht verstehen wird. Zum Beispiel können verschiedene Arten von drahtlosen und/oder drahtgebundenen Eingabeeinheiten und/oder Ausgabeeinheiten verwendet werden. Darüber hinaus können auch zusätzliche Prozessoren, Steuerungen, Speicher usw. in verschiedenen Konfigurationen eingesetzt werden. In einer anderen Ausführungsform kann ferner eine Cloud-Konfiguration verwendet werden (siehe z.B. 11 bis 12). Diese und andere Variationen des Verarbeitungssystems 100 sind für einen Fachmann in Anbetracht der hier bereitgestellten Lehren der vorliegenden Erfindung leicht in Betracht zu ziehen.
  • Der hier verwendete Begriff „Hardware-Prozessor-Teilsystem“ oder „Hardware-Prozessor“ kann sich auf einen Prozessor, einen Speicher (zum Beispiel RAM, Cache(s) usw.), Software (unter anderem Software zur Speicherverwaltung) oder Kombinationen davon beziehen, die zusammenarbeiten, um eine oder mehrere spezifische Aufgaben zu erfüllen. In geeigneten Ausführungsformen kann das Hardware-Prozessor-Teilsystem ein oder mehrere Datenverarbeitungselemente umfassen (z.B. Logikschaltungen, Verarbeitungsschaltungen, Einheiten zur Ausführung von Anweisungen usw.). Das eine oder die mehreren Datenverarbeitungselemente können in einer Zentraleinheit, einer Grafikverarbeitungseinheit und/oder einer separaten auf einem Prozessor oder Rechnerelement beruhenden Steuerung (z.B. Logikgatter usw.) enthalten sein. Das Hardware-Prozessor-Teilsystem kann einen oder mehrere auf der Platine platzierte (On-Board-) Speicher umfassen (z.B. Caches, zweckbestimmte Speicheranordnungen, Nur-Lese-Speicher usw.). In einigen Ausführungsformen kann das Hardware-Prozessor-Teilsystem einen oder mehrere Speicher umfassen, die sich auf der Platine oder außerhalb der Platine befinden können oder die speziell für die Verwendung durch das Hardware-Prozessor-Teilsystem vorgesehen sind (z.B. ROM, RAM, BIOS (basic input/output system, Basis-Eingabe-/Ausgabe-System) usw.).
  • In einigen Ausführungsformen kann das Hardware-Prozessor-Teilsystem ein oder mehrere Softwareelemente umfassen und ausführen. Das eine oder die mehreren Softwareelemente können ein Betriebssystem und/oder eine oder mehrere Anwendungen und/oder spezifischen Code umfassen, um ein bestimmtes Ergebnis zu erzielen.
  • In anderen Ausführungsformen kann das Hardware-Prozessor-Teilsystem zweckbestimmte, spezialisierte Schaltungen umfassen, die eine oder mehrere elektronische Verarbeitungsfunktionen ausführen, um ein bestimmtes Ergebnis zu erzielen. Zu solchen Schaltungen können eine oder mehrere anwendungsspezifische integrierte Schaltungen (application-specific integrated circuits, ASIC), FPGAs (field-programmable gate arrays, vor Ort programmierbare Gatter-Anordnungen) und/oder PLAs (programmable logic arrays, programmierbare Logikanordnungen) gehören.
  • Diese und andere Variationen eines Hardware-Prozessor-Teilsystems werden gemäß Ausführungsformen der vorliegenden Erfindung ebenfalls in Betracht gezogen
  • 2 bis 3 zeigen ein beispielhaftes Verfahren 200 zum Verbessern der Genauigkeit einer Datenstrom-RNN-Umsetzungsfunktion für eine durchgängige Spracherkennung, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • In Block 210 wird ein erstes durchgängiges neuronales Spracherkennungsmodell trainiert, das über eine unidirektionale Codierfunktion verfügt. In einer Ausführungsform kann das erste durchgängige neuronale Spracherkennungsmodell als Referenz für ein durchgängiges neuronales Spracherkennungsmodell angesehen werden.
  • In Block 220 wird ein zweites durchgängiges neuronales Spracherkennungsmodell trainiert, das über eine bidirektionale Codierfunktion verfügt, um dieselben Symbole aus einem Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen neuronalen Spracherkennungsmodells auszugeben wie aus einem Ausgabewahrscheinlichkeits-Gitter des trainierten ersten durchgängigen neuronalen Spracherkennungsmodells. In einer Ausführungsform kann das Training in Bezug auf einen Verlust für das durchgängige neuronale Spracherkennungsmodell (RNN-T-Verlust) und einen Kreuzentropie-Verlust durchgeführt werden. In einer Ausführungsform wird der Verlust für das durchgängige neuronale Spracherkennungsmodell unter Bezugnahme auf Kennzeichnungen in den Trainingsdaten ermittelt. In einer Ausführungsform wird der Kreuzentropie-Verlust unter Verwendung der ersten besten (1-best) Ausgabesymbole des unidirektionalen Modells berechnet, das in Block 210 trainiert wurde. In einer Ausführungsform kann jeder der Knoten des Ausgabewahrscheinlichkeits-Gitters eine Softmax-Operation darstellen. In einer Ausführungsform weist das zweite durchgängige neuronale Spracherkennungsmodell eine stärkere oder komplexere Konfiguration (z.B. ein tieferes neuronales Netzwerk) auf als das erste durchgängige neuronale Spracherkennungsmodell.
  • In einer Ausführungsform kann der Block 220 einen oder mehrere der Blöcke 220A und 220B enthalten.
  • In Block 220A wird für jeden Knoten des Ausgabewahrscheinlichkeits-Gitters ein erstes bestes Symbol ermittelt. Dies wird erreicht, indem die Trainings-Audiodaten in das erste durchgängige Referenz-Spracherkennungsmodell eingegeben werden und das erste beste Symbol aus jedem Knoten des Ausgabe-A-posteriori-Gitters ausgewählt wird.
  • In Block 220B wird ein Verlust für das durchgängige neuronale Spracherkennungsmodell und auch ein Kreuzentropie-Verlust in Bezug auf die ersten besten Symbole minimiert.
  • In 220C wird der Verlust für das durchgängige neuronale Spracherkennungsmodell und der Kreuzentropie-Verlust minimiert, bis die beiden Verluste hinreichend gering sind, zum Beispiel unterhalb jeweiliger Schwellenwerte.
  • In Block 230 wird ein drittes durchgängiges neuronales Spracherkennungsmodell, das über eine unidirektionale Codierfunktion verfügt, als Schüler in einem Wissensdestillations-Verfahren unter Verwendung des trainierten zweiten durchgängigen neuronalen Spracherkennungsmodells als Lehrer trainiert. In einer Ausführungsform kann das dritte durchgängige neuronale Spracherkennungssystem so lange trainiert werden, bis die Ähnlichkeit zwischen den Ausgabewahrscheinlichkeits-Gittern des dritten und zweiten durchgängigen neuronalen Spracherkennungsmodells innerhalb eines bestimmten Ähnlichkeitsbereichs liegt.
  • In einer Ausführungsform enthält der Block 230 einen oder mehrere der Blöcke 230A, 230B, 230C und 230D.
  • In Block 230A werden Trainings-Audiodaten in das trainierte zweite durchgängige neuronale Spracherkennungsmodell eingegeben, um das entsprechende Ausgabewahrscheinlichkeits-Gitter zu ermitteln.
  • In Block 230B werden weniger wahrscheinliche Knoten des Ausgabewahrscheinlichkeits-Gitters in Bezug auf eine Mindestwahrscheinlichkeits-Schwelle ausgeblendet.
  • In Block 230C wird gemeinsam (i) der Verlust für das durchgängige neuronale Spracherkennungsmodell und (ii) eine relative Divergenz über nicht ausgeblendete Teile des Ausgabewahrscheinlichkeits-Gitters zu einem Ausgabewahrscheinlichkeits-Gitter des dritten durchgängigen Spracherkennungsmodells minimiert. Bei der relativen Divergenz kann es sich um eine Kullback-Leibler-Divergenz oder eine andere Divergenz handeln.
  • In Block 230D wird das Ausgabewahrscheinlichkeits-Gitter des dritten durchgängigen neuronalen Spracherkennungsmodells auf der Grundlage einer Ähnlichkeit mit einem Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen Spracherkennungssystems bewertet. Zum Beispiel kann die Ähnlichkeit auf einer KL-Divergenz und/oder Ähnlichem beruhen.
  • In Block 240 wird eine Spracherkennung durchgeführt, indem eine Strahlsuche (beam search) über ein Ausgabewahrscheinlichkeits-Gitter des trainierten dritten durchgängigen neuronalen Spracherkennungsmodells durchgeführt wird.
  • In einer Ausführungsform übertragen das erste und das dritte durchgängige neuronale Spracherkennungsmodell Ausgabedaten von einer RNN-Umsetzungsfunktion in einem Datenstrom, und das zweite durchgängige neuronale Spracherkennungsmodell stellt die Ausgabedaten offline bereit.
  • Das erste durchgängige neuronale Spracherkennungsmodell kann als Referenzmodell angesehen werden. Das zweite durchgängige neuronale Spracherkennungsmodell kann als Lehrermodell angesehen werden. Das dritte durchgängige neuronale Spracherkennungsmodell kann als Schülermodell angesehen werden.
  • Beim ersten, zweiten und dritten durchgängigen neuronalen Spracherkennungsmodell wird jeweils eine RNN-T-Architektur (Recurrent Neural Network Transducer, Umsetzungsfunktion für rekurrente neuronale Netzwerke) verwendet. Bei dem ersten und dritten durchgängigen neuronalen Spracherkennungsmodell handelt es sich um unidirektionale Modelle, bei dem zweiten durchgängigen neuronalen Spracherkennungsmodell handelt es sich um ein bidirektionales Modell. Die Architekturen werden im Folgenden näher beschrieben.
  • 4 zeigt eine beispielhafte unidirektionale RNN-T-Architektur 400 gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Die unidirektionale RNN-T-Architektur 400 umfasst ein Vorhersagenetzwerk 410, einen unidirektionalen Codierblock 420, ein gemeinsames Netzwerk 430, einen Softmax-Block 440 und ein Ausgabewahrscheinlichkeits-Gitter 450.
  • Der unidirektionale Codierblock 420 empfängt eine Eingabesequenz von Funktionen x = (x1, ..., xT).
  • Auf der Grundlage einer Suche über ein durch P(y|t,u) definiertes Ausgabewahrscheinlichkeits-Gitter erzeugt die unidirektionale RNN-T-Architektur 400 eine Ausgabesequenz y. In einer Ausführungsform handelt es sich bei y um einen Satz möglicher Symbole, bei t um einen Zeitindex und bei u um einen Verlauf von gesendeten Symbolen.
  • Im Einzelnen empfängt der unidirektionale Codierblock 420 die Eingabesequenz von Funktionen x = (x1, ..., xT) und gibt eine Codierung h t e n c
    Figure DE112021004199T5_0001
    aus.
  • Das Vorhersagenetzwerk 410 empfängt eine vorherige Vorhersage yu - 1 und gibt eine Vorhersage h t p r e d
    Figure DE112021004199T5_0002
    aus.
  • Das gemeinsame Netzwerk 430 empfängt h t e n c  und  h t p r e d
    Figure DE112021004199T5_0003
    und gibt zt,u aus.
  • Der Softmax-Block empfängt zt,u und eine Softmax von zt,u.
  • Das durch P(y|t,u) definierte Ausgabewahrscheinlichkeits-Gitter empfängt die Softmax von zt,u und gibt die Sequenz y = (y1, ..., yu). aus.
  • 5 zeigt eine beispielhafte bidirektionale RNN-T-Architektur 500 gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Die RNN-T-Architektur 500 umfasst ein Vorhersagenetzwerk 510, einen bidirektionalen Codierblock 520, ein gemeinsames Netzwerk 530, einen Softmax-Block 540 und ein Ausgabewahrscheinlichkeits-Gitter 550.
  • 6 zeigt ein Blockschaubild, das ferner das Ausgabewahrscheinlichkeits-Gitter von 4 und 5 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • Das Ausgabewahrscheinlichkeits-Gitter 450/550 kann relativ zu einer x-Achse und einer y-Achse betrachtet werden, so dass x = (x1, ..., xT) und y = (y1, ..., yU).
  • Jeder Knoten in dem Ausgabewahrscheinlichkeits-Gitter 450/550 stellt eine Softmax von zt,u dar.
  • Die Spracherkennung mit der RNN-T-Architektur 400 wird durch eine Strahlsuche über das Ausgabewahrscheinlichkeits-Gitter 450/550 ausgeführt.
  • 7 zeigt ein Blockschaubild, das die in Block 210 des Verfahrens 200 von 2 enthaltenen Elemente gemäß einer Ausführungsform der vorliegenden Erfindung grafisch darstellt.
  • Bei den in Block 210 enthaltenen Elementen handelt es sich um eine Trainingsdaten-Datenbank 710 und eine unidirektionale RNN-T 720. Die unidirektionale RNN-T 720 kann so aufgebaut sein, dass sie eine ähnliche Architektur wie die RNN-T-Architektur 300 von 3 aufweist.
  • 8 zeigt ein Blockschaubild, das die in Block 220 des Verfahrens 200 von 2 enthaltenen Elemente gemäß einer Ausführungsform der vorliegenden Erfindung grafisch darstellt.
  • Bei den in Block 220 enthaltenen Elementen handelt es sich um die Trainingsdaten-Datenbank 710 und die unidirektionale RNN-T 720 sowie die bidirektionale RNN-T 730. Die bidirektionale RNN-T 720 kann so aufgebaut sein, dass sie eine ähnliche Architektur wie die RNN-T-Architektur 500 von 5 aufweist.
  • Das erste beste Symbol für jeden Knoten des Ausgabewahrscheinlichkeits-Gitters wird von der unidirektionalen RNN-T 720 ausgegeben. Dies wird verwendet, um die bidirektionale RNN-T 730 zu trainieren.
  • 9 zeigt ein Blockschaubild, das die in Block 230 des Verfahrens 200 von 2 enthaltenen Elemente gemäß einer Ausführungsform der vorliegenden Erfindung grafisch darstellt.
  • Bei den in Block 230 enthaltenen Elementen handelt es sich um die Trainingsdaten-Datenbank 710, die unidirektionale RNN-T 720, die bidirektionale RNN-T 730 sowie eine andere unidirektionale RNN-T 740. Die unidirektionale RNN-T 740 kann so aufgebaut sein, dass sie eine ähnliche Architektur wie die RNN-T-Architektur 300 von 3 aufweist.
  • Die Ausgabe der trainierten bidirektionalen RNN-T (730) wird verwendet, um die unidirektionale RNN-T (unten) zu trainieren. „A-posteriori“ wird für jeden Knoten des Ausgabegitters von 730 berechnet.
  • 10 zeigt ein Blockschaubild, das ferner die in Block 220 von 2 enthaltenen RNN-T-Elemente gemäß einer Ausführungsform der vorliegenden Erfindung grafisch darstellt.
  • Bei den in Block 220 enthaltenen Elementen handelt es sich um die Trainingsdaten-Datenbank 1010, die unidirektionale RNN-T 1020 sowie die bidirektionale RNN-T 1030.
  • Die unidirektionale RNN-T 1020, die als Referenz-RNN-T betrachtet werden kann, umfasst ein unidirektionales Vorhersagenetzwerk 1020A, ein unidirektionales Codiernetzwerk 1020B und ein Ausgabewahrscheinlichkeits-Gitter 1020C.
  • Die bidirektionale RNN-T 1030, die als Lehrer-RNN-T betrachtet werden kann, umfasst ein tiefes Vorhersagenetzwerk 1030A, ein bidirektionales/tiefes Codiernetzwerk 1030B und ein Ausgabewahrscheinlichkeits-Gitter 1030C.
  • Die Referenznummer 1020C bezeichnet das Ausgabegitter des Referenzmodells, während es sich bei 1020D um die aus dem Ausgabegitter 1020C ausgewählten ersten besten Ausgaben handelt. Daher ist auf der rechten Seite von 10 dasselbe Modell 1020 beteiligt, nur im Wesentlichen zu unterschiedlichen Zeitschritten in Bezug auf ein Ermitteln der ersten besten Ausgaben dargestellt.
  • Es ist zu beachten, dass einige der Blöcke der Ausgabewahrscheinlichkeits-Gitter ausgeblendet werden können, auch wenn dies in 10 nicht dargestellt ist. In einer Ausführungsform werden ausgeblendete Blöcke beim Trainieren von Modellen nicht berücksichtigt. Dieses Ausblenden wird beim Trainieren des dritten Netzwerks unter Bezugnahme auf das zweite Netzwerk verwendet.
  • Im Betrieb erhalten die unidirektionale RNN-T 1020 und die bidirektionale RNN-T 1030 Trainingsstichproben aus der Trainingsdaten-Datenbank 1010. Die unidirektionale RNN-T 1020 wählt für jeden Knoten des Ausgabewahrscheinlichkeits-Gitters 1020C die ersten besten Ausgaben aus. Die Kreuzentropie wird zwischen der bidirektionalen RNN-T 1030 und der unidirektionalen RNN-T 1040 minimiert.
  • Es versteht sich, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften umfassen, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
    • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
    • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
    • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
    • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) von verschiedenen Client-Einheiten her zugänglich. Der Benutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
    • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Application Hosting Environment.
    • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
    • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt, und sie gehört einer Cloud-Dienste verkaufenden Organisation.
    • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 11 ist die veranschaulichende Cloud-Computing-Umgebung 1150 abgebildet. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 1150 einen oder mehrere Cloud-Computing-Knoten 1110 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 1154A, der Desktop-Computer 1154B, der Laptop-Computer 1154C und/oder das Automobil-Computer-System 1154N Daten austauschen können. Die Knoten 1110 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie Private, Community, Public oder Hybrid Clouds gruppiert werden (nicht dargestellt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 1150, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die Arten von in 11 gezeigten Datenverarbeitungseinheiten 1154A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 1110 und die Cloud-Computing-Umgebung 1150 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 12 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 1150 (11) bereitgestellt werden. Es versteht sich, dass die in 12 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 1260 umfasst Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 1261; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 1262; Server 1263; Blade-Server 1264; Speichereinheiten 1265; und Netzwerke sowie Netzwerkkomponenten 1266. In einigen Ausführungsformen umfassen Software-Komponenten eine Netzwerk-Anwendungsserver-Software 1267 und eine Datenbank-Software 1268.
  • Die Virtualisierungsschicht 1270 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 1271; virtueller Speicher 1272; virtuelle Netzwerke 1273, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 1274; und virtuelle Clients 1275.
  • In einem Beispiel kann die Verwaltungsschicht 1280 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 1281 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 1282 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 1283 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 1284 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 1285 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastenschicht 1290 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 1291; Software-Entwicklung und Lebenszyklusverwaltung 1292; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 1293; Datenanalytikverarbeitung 1294; Transaktionsverarbeitung 1295; und Erhöhung der Genauigkeit bei einer RNN-T für durchgängige Spracherkennung 1296.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie SMALLTALK, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder bzw. Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufplan-Darstellungen und/oder der Blockschaubilder bzw. Blockschaltbilder sowie Kombinationen von Blöcken in den Ablaufplan-Darstellungen und/oder den Blockschaubildern bzw. Blockschaltbildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder bzw. Blockschaltbilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder bzw. Blockschaltbilder festgelegten Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder bzw. Blockschaltbilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder bzw. Blockschaltbilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern bzw. Blockschaltbildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder bzw. Blockschaltbilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern bzw. Blockschaltbildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Ein Verweis in der Spezifikation auf „eine einzelne Ausführungsform“ oder „eine Ausführungsform“ der vorliegenden Erfindung sowie andere Variationen davon bedeutet, dass eine bestimmte, in Verbindung mit der Ausführungsform beschriebene Funktion, Struktur oder Eigenschaft in mindestens einer Ausführungsform der vorliegenden Ausführungsformen enthalten ist. Daher bezieht sich das Auftreten des Ausdrucks „in einer einzelnen Ausführungsform“ oder „in einer Ausführungsform“ und jede andere Variante davon an verschiedenen Stellen in der Spezifikation nicht zwangsläufig auf dieselbe Ausführungsform.
  • Es sei darauf hingewiesen, dass die Verwendung von „/“, „und/oder“ und „mindestens eines von“, zum Beispiel im Fall von „A/B“, „A und/oder B“ bzw. „mindestens eines von A und B“, nur die Auswahl der ersten aufgeführten Option (A) oder nur die Auswahl der zweiten aufgeführten Option (B) oder die Auswahl beider Optionen (A und B) umfassen soll. Als weiteres Beispiel soll diese Formulierung im Fall von „A, B und/oder C“ bzw. „mindestens eines von A, B und C“ nur die Auswahl der ersten aufgeführten Option (A) oder nur die Auswahl der zweiten aufgeführten Option (B) oder nur die Auswahl der dritten aufgeführten Option (C) umfassen, oder nur die Auswahl der ersten und der zweiten aufgeführten Option (A und B), oder nur die Auswahl der ersten und der dritten aufgeführten Option (A und C), oder nur die Auswahl der zweiten und der dritten aufgeführten Option (B und C), oder die Auswahl aller drei Optionen (A und B und C). Dies kann, wie für einen Fachmann dieser und verwandter Techniken leicht ersichtlich ist, auf beliebig viele Punkte ausgedehnt werden.
  • Nach der Beschreibung bevorzugter Ausführungsformen eines Systems und Verfahrens (die zur Veranschaulichung dienen und nicht einschränkend sein sollen) wird darauf hingewiesen, dass Änderungen und Variationen von Fachleuten im Hinblick auf die obigen Lehren vorgenommen werden können. Es sei daher darauf hingewiesen, dass an den jeweiligen offenbarten Ausführungsformen Änderungen vorgenommen werden können, die in den Umfang der Erfindung fallen, wie er in den beigefügten Ansprüchen beschrieben ist. Nachdem somit Aspekte der Erfindung mit den von den Patentgesetzen geforderten Einzelheiten und Besonderheiten beschrieben worden sind, ist das, was beansprucht und durch die Patentschrift geschützt werden soll, in den beigefügten Ansprüchen dargelegt.

Claims (20)

  1. Auf einem Computer implementiertes Verfahren zum Trainieren von Modellen, wobei das Verfahren umfasst: Trainieren eines zweiten durchgängigen neuronalen Spracherkennungsmodells, das über eine bidirektionale Codierfunktion verfügt, um dieselben Symbole aus einem Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen neuronalen Spracherkennungsmodells auszugeben wie aus einem Ausgabewahrscheinlichkeits-Gitter eines trainierten ersten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt; und Erstellen eines dritten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt, indem das dritte durchgängige Spracherkennungsmodell als Schüler in einem Wissensdestillations-Verfahren unter Verwendung des trainierten zweiten durchgängigen neuronalen Spracherkennungsmodells als Lehrer trainiert wird.
  2. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei das Trainieren des zweiten durchgängigen Spracherkennungsmodells umfasst: Ermitteln eines ersten besten Symbols für jeden Knoten des Ausgabewahrscheinlichkeits-Gitters des ersten durchgängigen neuronalen Spracherkennungsmodells; und Minimieren eines Verlusts für das durchgängige neuronale Spracherkennungsmodell und auch eines Kreuzentropie-Verlusts in Bezug auf das erste beste Symbol.
  3. Auf einem Computer implementiertes Verfahren nach Anspruch 2, wobei eine gewichtete Summierung des Kreuzentropie-Verlusts und des Verlusts für das durchgängige Spracherkennungsmodell minimiert wird.
  4. Auf einem Computer implementiertes Verfahren nach Anspruch 2, wobei das Trainieren des dritten durchgängigen neuronalen Spracherkennungsmodells umfasst: Ausblenden von weniger wahrscheinlichen Knoten des Ausgabewahrscheinlichkeits-Gitters des zweiten durchgängigen neuronalen Spracherkennungsmodells in Bezug auf eine Mindestwahrscheinlichkeits-Schwelle; und gemeinsames Minimieren (i) des Verlusts für das durchgängige neuronale Spracherkennungsmodell und (ii) einer relativen Divergenz über nicht ausgeblendete Teile des Ausgabewahrscheinlichkeits-Gitters des zweiten durchgängigen neuronalen Spracherkennungsmodells zu einem Ausgabewahrscheinlichkeits-Gitter des dritten durchgängigen Spracherkennungsmodells.
  5. Auf einem Computer implementiertes Verfahren nach Anspruch 4, wobei es sich bei der relativen Divergenz um eine Kullback-Leibler-Divergenz handelt.
  6. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei das Trainieren des zweiten durchgängigen Spracherkennungsmodells ferner ein Eingeben von Trainings-Audiodaten in das trainierte erste durchgängige neuronale Spracherkennungsmodell umfasst, um das Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen neuronalen Spracherkennungsmodells zu ermitteln.
  7. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei das erste und das dritte durchgängige neuronale Spracherkennungsmodell Ausgabedaten von einer RNN-Umsetzungsfunktion in einem Datenstrom übertragen, und das zweite durchgängige neuronale Spracherkennungsmodell die Ausgabedaten offline bereitstellt.
  8. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei jeder der Knoten des Ausgabewahrscheinlichkeits-Gitters des zweiten durchgängigen neuronalen Spracherkennungsmodells eine Softmax-Operation darstellt.
  9. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das ferner ein Durchführen einer Spracherkennung durch Durchführen einer Strahlsuche über ein Ausgabewahrscheinlichkeits-Gitter des trainierten dritten durchgängigen neuronalen Spracherkennungsmodells umfasst.
  10. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei das zweite durchgängige neuronale Spracherkennungsmodell ein komplexeres neuronales Netzwerk aufweist als das erste durchgängige neuronale Spracherkennungsmodell.
  11. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das ferner ein Bewerten des Ausgabewahrscheinlichkeits-Gitters des dritten durchgängigen neuronalen Spracherkennungsmodells auf der Grundlage einer Ähnlichkeit mit dem Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen Spracherkennungssystems umfasst.
  12. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei das dritte durchgängige neuronale Spracherkennungssystem so lange trainiert wird, bis die Ähnlichkeit zwischen den Ausgabewahrscheinlichkeits-Gittern des dritten und zweiten durchgängigen neuronalen Spracherkennungsmodells innerhalb eines bestimmten Ähnlichkeitsbereichs liegt.
  13. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei das Verfahren von einem Spracherkennungssystem durchgeführt wird.
  14. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei mindestens eines des ersten, zweiten und dritten neuronalen Spracherkennungsmodells ein Modell einer Umsetzungsfunktion für rekurrente neuronale Netzwerke aufweist.
  15. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei das zweite durchgängige neuronale Spracherkennungsmodell ein Ensemble von durchgängigen neuronalen Spracherkennungsmodellen aufweist und das Verfahren ferner ein Auswählen eines besten Lehrermodells aus dem Ensemble als Reaktion auf eine Überlappung von Suchpfaden durch ein Ausgabewahrscheinlichkeits-Gitterjedes der durchgängigen neuronalen Spracherkennungsmodelle im Ensemble umfasst.
  16. Computerprogrammprodukt zum Trainieren von Modellen, wobei das Computerprogrammprodukt ein nichtflüchtiges, durch einen Computer lesbares Speichermedium aufweist, in dem Programmanweisungen verkörpert sind, wobei die Programmanweisungen durch einen Computer ausführbar sind, um den Computer zu veranlassen, ein Verfahren durchzuführen, das umfasst: Trainieren eines zweiten durchgängigen neuronalen Spracherkennungsmodells, das über eine bidirektionale Codierfunktion verfügt, um dieselben Symbole aus einem Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen neuronalen Spracherkennungsmodells auszugeben wie aus einem Ausgabewahrscheinlichkeits-Gitter eines trainierten ersten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt; und Erstellen eines dritten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt, indem das dritte durchgängige Spracherkennungsmodell als Schüler in einem Wissensdestillations-Verfahren unter Verwendung des trainierten zweiten durchgängigen neuronalen Spracherkennungsmodells als Lehrer trainiert wird.
  17. Auf einem Computer implementiertes Verfahren nach Anspruch 16, wobei das Trainieren des zweiten durchgängigen Spracherkennungsmodells umfasst: Ermitteln eines ersten besten Symbols für jeden Knoten des Ausgabewahrscheinlichkeits-Gitters des ersten durchgängigen neuronalen Spracherkennungsmodells; und Minimieren eines Verlusts für das durchgängige neuronale Spracherkennungsmodell und auch eines Kreuzentropie-Verlusts in Bezug auf das erste beste Symbol.
  18. Auf einem Computer implementiertes Verfahren nach Anspruch 17, wobei eine gewichtete Summierung des Kreuzentropie-Verlusts und des Verlusts für das durchgängige Spracherkennungsmodell minimiert wird.
  19. Auf einem Computer implementiertes Verfahren nach Anspruch 17, wobei das Trainieren des dritten durchgängigen neuronalen Spracherkennungsmodells umfasst: Ausblenden von weniger wahrscheinlichen Knoten des Ausgabewahrscheinlichkeits-Gitters des zweiten durchgängigen neuronalen Spracherkennungsmodells in Bezug auf eine Mindestwahrscheinlichkeits-Schwelle; und gemeinsames Minimieren (i) des Verlusts für das durchgängige neuronale Spracherkennungsmodell und (ii) einer relativen Divergenz über nicht ausgeblendete Teile des Ausgabewahrscheinlichkeits-Gitters des zweiten durchgängigen neuronalen Spracherkennungsmodells zu einem Ausgabewahrscheinlichkeits-Gitter des dritten durchgängigen Spracherkennungsmodells.
  20. Computerverarbeitungssystem zum Trainieren von Modellen, wobei das Computerverarbeitungssystem aufweist: eine Speichereinheit zum Speichern von Programmcode; und einen Hardware-Prozessor, der funktionsmäßig mit der Speichereinheit verbunden ist, zum Trainieren eines zweiten durchgängigen neuronalen Spracherkennungsmodells, das über eine bidirektionale Codierfunktion verfügt, um dieselben Symbole aus einem Ausgabewahrscheinlichkeits-Gitter des zweiten durchgängigen neuronalen Spracherkennungsmodells auszugeben wie aus einem Ausgabewahrscheinlichkeits-Gitter eines trainierten ersten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt; und Erstellen eines dritten durchgängigen neuronalen Spracherkennungsmodells, das über eine unidirektionale Codierfunktion verfügt, indem das dritte durchgängige Spracherkennungsmodell als Schüler in einem Wissensdestillations-Verfahren unter Verwendung des trainierten zweiten durchgängigen neuronalen Spracherkennungsmodells als Lehrer trainiert wird.
DE112021004199.1T 2020-09-24 2021-09-10 Genauigkeit einer Datenstrom- Umsetzungsfunktion für rekurrente neuronale Netzwerke Pending DE112021004199T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/031,345 US11783811B2 (en) 2020-09-24 2020-09-24 Accuracy of streaming RNN transducer
US17/031,345 2020-09-24
PCT/EP2021/075007 WO2022063614A1 (en) 2020-09-24 2021-09-10 Accuracy of streaming rnn transducer

Publications (1)

Publication Number Publication Date
DE112021004199T5 true DE112021004199T5 (de) 2023-06-01

Family

ID=77910802

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021004199.1T Pending DE112021004199T5 (de) 2020-09-24 2021-09-10 Genauigkeit einer Datenstrom- Umsetzungsfunktion für rekurrente neuronale Netzwerke

Country Status (6)

Country Link
US (2) US11783811B2 (de)
JP (1) JP2023545604A (de)
CN (1) CN116250037A (de)
DE (1) DE112021004199T5 (de)
GB (1) GB2614674A (de)
WO (1) WO2022063614A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220319501A1 (en) * 2021-04-02 2022-10-06 Asapp, Inc. Stochastic future context for speech processing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9786270B2 (en) * 2015-07-09 2017-10-10 Google Inc. Generating acoustic models
US10229672B1 (en) * 2015-12-31 2019-03-12 Google Llc Training acoustic models using connectionist temporal classification
US11880761B2 (en) 2017-07-28 2024-01-23 Microsoft Technology Licensing, Llc Domain addition systems and methods for a language understanding system
JP6989951B2 (ja) 2018-01-09 2022-01-12 国立大学法人 奈良先端科学技術大学院大学 スピーチチェイン装置、コンピュータプログラムおよびdnn音声認識・合成相互学習方法
US10679613B2 (en) 2018-06-14 2020-06-09 Accenture Global Solutions Limited Spoken language understanding system and method using recurrent neural networks
US11335333B2 (en) 2018-07-20 2022-05-17 Google Llc Speech recognition with sequence-to-sequence models
US11625595B2 (en) 2018-08-29 2023-04-11 International Business Machines Corporation Knowledge transfer between recurrent neural networks
US11170774B2 (en) 2019-05-21 2021-11-09 Qualcomm Incorproated Virtual assistant device
CN112185337B (zh) 2019-07-02 2024-04-26 微软技术许可有限责任公司 多语言神经文本到语音合成
EP4062400B1 (de) * 2020-01-21 2024-07-17 Google LLC Deliberationsmodell-basierte end-to-end-spracherkennung in zwei durchgängen
CN111402894B (zh) 2020-03-25 2023-06-06 北京声智科技有限公司 语音识别方法及电子设备
US11222620B2 (en) * 2020-05-07 2022-01-11 Google Llc Speech recognition using unspoken text and speech synthesis

Also Published As

Publication number Publication date
US20230410797A1 (en) 2023-12-21
US11783811B2 (en) 2023-10-10
GB2614674A (en) 2023-07-12
GB202305744D0 (en) 2023-05-31
WO2022063614A1 (en) 2022-03-31
CN116250037A (zh) 2023-06-09
US20220093083A1 (en) 2022-03-24
JP2023545604A (ja) 2023-10-31

Similar Documents

Publication Publication Date Title
DE112016003355B4 (de) Sicherer Einsatz einer Anwendung über Einsatzorte hinweg
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112018006189T5 (de) Robuste gradienten-gewichtskomprimierungsschemata für deep-learning-anwendungen
DE112020002042T5 (de) Erzeugen eines absichtserkennungsmodells auf grundlage von randomisierten absichtsvektornäherungen
DE112020002110T5 (de) Ressourcenarme entitätsauflösung mit transfer learning
DE112020005095T5 (de) Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE112021000810T5 (de) Optisches erkennen von zellenstrukturen unter verwendung hierarchischer neuronaler netzwerke und zellengrenzen zum strukturieren von clustern
DE112021001163T5 (de) Dynamisches erstellen von facetten unter verwendung von graphpartitionierung
DE112021003184T5 (de) Ermittlung von laufzeitumgebungen für software-container
DE112018001952T5 (de) Verbessertes visuelles dialogsystem für intelligente tutoren
DE112019003764B4 (de) Von der lage der zellen unabhängiges, in bezug auf die gewichtung linear aktualisierbares synaptisches cmos-array
DE112020004487T5 (de) Erkennen von mutationsereignissen zum überwachen der integrität
DE112021005637T5 (de) Worst-case-rausch- und grenzmanagement bei rpu-kreuzschienenanordnungen
DE112021003943T5 (de) Sprachantwortsysteme auf Grundlage eines personalisierten Wortschatzes und einer Benutzerprofilerstellung - Personalisierte linguistische KI-Engines
DE112021004380T5 (de) Maschinelles merkmalslernen zur produktformulierung
DE112021003274T5 (de) Ressourcenzuordnung zum optimieren von hyperparametern bei umfangreichen deep-learning-arbeitslasten
DE112021005230T5 (de) Erzeugen alternativer veränderlicher kennsätze
DE112022001431T5 (de) Adaptive auswahl von datenmodalitäten für eine effiziente videoerkennung
DE112021004199T5 (de) Genauigkeit einer Datenstrom- Umsetzungsfunktion für rekurrente neuronale Netzwerke
DE112021003525T5 (de) Automatische sprache-zu-text-skalierung für live-anwendungsfälle
DE112021003680T5 (de) Deterministisch lernende videoszenenerkennung
DE112021004664T5 (de) Gattergesteuerte einheit für ein gattergesteuertes rekurrentes neuronales netzwerk
DE112020003661T5 (de) Anpassen eines gesprächsflusses auf grundlage des verhaltens in einerkognitiven mensch-maschine-interaktion

Legal Events

Date Code Title Description
R012 Request for examination validly filed