DE202016008302U1 - Komprimierte rekurrente neuronale Netzmodelle - Google Patents

Komprimierte rekurrente neuronale Netzmodelle Download PDF

Info

Publication number
DE202016008302U1
DE202016008302U1 DE202016008302.4U DE202016008302U DE202016008302U1 DE 202016008302 U1 DE202016008302 U1 DE 202016008302U1 DE 202016008302 U DE202016008302 U DE 202016008302U DE 202016008302 U1 DE202016008302 U1 DE 202016008302U1
Authority
DE
Germany
Prior art keywords
neural network
layer
gate
lstm
output
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.)
Active
Application number
DE202016008302.4U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202016008302U1 publication Critical patent/DE202016008302U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • 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/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/084Backpropagation, e.g. using gradient descent
    • 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
    • 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/0495Quantised networks; Sparse networks; Compressed networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)
  • Image Analysis (AREA)

Abstract

System, das folgendes aufweist: ein rekurrentes neuronales Netz, das durch einen oder mehrere Computer implementiert ist, wobei das rekurrente neuronale Netz konfiguriet ist, um bei jeder einer Vielzahl von Zeitschritten eine jeweilige Eingabe des neuronalen Netzes zu empfangen und bei jedem der Vielzahl von Zeitschritten eine jeweilige Ausgabe des neuronalen Netzes zu erzeugen, und wobei das rekurrente neuronale Netz folgendes aufweist: eine erste Schicht mit langem Kurzzeitgedächtnis (LSTM-Schicht), wobei die erste LSTM-Schicht konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Anwenden einer Vielzahl von Gattern auf eine aktuelle Schichteneingabe, einen aktuellen Schichtenzustand und eine aktuelle Schichtenausgabe einen neuen Schichtenzustand und eine neue Schichtenausgabe zu erzeugen, wobei jedes der Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzal von Zeitschritten durch Multiplizieren eines Gattereingabevektors und einer Gatterparametermatrix einen jeweiligen Zwischen-Gatterausgabevektor zu erzeugen, und wobei die Gatterparametermatrix für wenigstens eines der Vielzahl von Gattern eine Toeplitz-artig strukturierte Matrix ist.

Description

  • HINTERGRUND
  • Diese Beschreibung betrifft neuronale Netzarchitekturen und komprimierende neuronale Netze.
  • Neuronale Netze sind Maschinenlernmodelle, die eine oder mehrere Schichten von nichtlinearen Einheiten verwenden, um eine Ausgabe für eine empfangene Eingabe vorauszusagen. Einige neuronale Netze enthalten eine oder mehrere versteckte Schichten zusätzlich zu einer Ausgabeschicht. Die Ausgabe jeder versteckten Schicht wird als Eingabe zur nächsten Schicht im Netz, d. h. zur nächsten versteckten Schicht oder zur Ausgabeschicht, verwendet. Jede Schicht des Netzes erzeugt eine Ausgabe aus einer empfangenen Eingabe gemäß aktuellen Werten einer jeweiligen Gruppe von Parametern. Einige neuronale Netze, z. B. diejenigen, die für zeitserielle Probleme oder ein Sequenz-zu-Sequenz-Lernen konzipiert sind (rekurrente neuronale Netze (RNN)), enthalten rekurrente Schleifen, die einem Speicher in der Form einer versteckten Zustandsvariablen erlauben, innerhalb einer Schicht zwischen Dateneingaben persistent bzw. bestehen zu bleiben. Eine Variation von RNNs, nämlich neuronale Netze mit langem Kurzzeitgedächtnis (LSTM = Long Short-Term Memory), enthalten mehrere Gatter innerhalb jeder Schicht, um die Persistenz von Daten zwischen Dateneingaben zu steuern. Einige neuronale Netze, z. B. diejenigen, die für zeitserielle Probleme oder ein Sequenz-zu-Sequenz-Lernen konzipiert sind, enthalten rekurrente Schleifen, die einem Speicher in der Form einer versteckten Zustandsvariablen erlauben, innerhalb einer Schicht zwischen Dateneingaben persistent bleiben. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • ZUSAMMENFASSUNG
  • Diese Beschreibung beschreibt Technologien, die rekurrente neuronale Netzarchitekturen betreffen. Im Allgemeinen enthält ein rekurrentes neuronales Netz wenigstens eine Schicht mit langem Kurzzeitgedächtnis (LSTM), die komprimiert ist. Die LSTM-Schicht hat wenigstens ein Gatter, das eine komprimierte Parametermatrix hat. Die LSTM-Schicht kann entweder durch Ersetzen von einer oder mehreren der Gatterparametermatrizen in der LSTM-Schicht durch eine Toeplitz-artig strukturierte Matrix oder durch neues Definieren der Gatterparametermatrix durch eine komprimierte Parametermatrix und eine Projektionsmatrix komprimiert werden. Optional kann eine LSTM-Schicht durch Ersetzen von einer der Gatterparametermatrizen in der LSTM-Schicht durch eine Toeplitz-artig strukturierte Matrix komprimiert werden und kann eine andere LSTM-Schicht durch Ersetzen von einer der Gatterparametermatrizen in der anderen LSTM-Schicht durch neues Definieren der Gatterparametermatrix durch eine komprimierte Parametermatrix und eine Projektionsmatrix komprimiert werden.
  • Ein System aus einem oder mehreren Computern, um konfiguiert zu sein, bestimmte Operation und Aktionen durchzuführen, bedeutet, dass das System auf ihnen Software, Firmware, Hardware oder eine Kombination aus diesen installiert hat, die im Betrieb veranlassen, dass das System die Operationen oder Aktionen durchführt. Ein oder mehrere Computerprogramme, um konfiguriert zu sein, bestimmte Operationen oder Aktionen durchzuführen, bedeutet, dass das eine oder die mehreren Computerprogramme Anweisungen enthalten, die dann, wenn sie durch eine Datenverarbeitungsvorrichtung ausgeführt werden, veranlassen, dass die Vorrichtung die Operationen oder Aktionen durchführt.
  • Der in dieser Beschreibung beschriebene Gegenstand kann in bestimmten Ausführungsformen implementiert sein, um einen oder mehrere der folgenden Vorteile zu realisieren. Die Leistungsfähigkeit eines rekurrenten neuronalen Netzes kann dadurch verbessert werden, dass eine komprimierte LSTM-Schicht in dem rekurrenten neuronalen Netz enthalten ist. Insbesondere dadurch, dass die komprimierte LSTM-Schicht in dem rekurrenten neuronalen Netz enthalten ist, ist das rekurrente neuronale Netz konfiguriert, um dazu fähig zu sein, Daten effizienter zu verarbeiten und weniger Datenspeicher zu verwenden. Ein rekurrentes neuronales Netz mit einer komprimierten LSTM-Schicht kann effektiv trainiert werden, um Wortfehlerraten zu erreichen, die mit unverkleinerten, z. B. unkomprimierten, rekurrenten neuronalen Netzen vergleichbar sind.
  • Details einer oder mehrerer Ausführungsformen des Gegenstands dieser Beschreibung sind in den begleitenden Zeichnungen und der nachfolgenden Beschreibung dargelegt. Andere Merkmale, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen offensichtlich werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein beispielhaftes neuronales Netzsystem.
  • 2A und 2B zeigen beispielhafte strukturierte Matrizen.
  • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Verarbeiten einer aktuellen Schichteneingabe, um eine nächste Schichtenausgabe zu erzeugen.
  • 4 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Anwenden eines Gatters auf einen Gattereingabevektor, um einen Gatterausgabevektor zu erzeugen.
  • 5 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Trainieren eines rekurrenten neuronalen Netzes, das eine Sättigungs-LSTM-Schicht enthält.
  • Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen zeigen gleiche Elemente an.
  • DETAILLIERTE BESCHREIBUNG
  • 1 zeigt ein beispielhaftes neuronales Netzsystem 100. Das neuronale Netzsystem 100 ist ein Beispiel eines Systems, das als Computerprogramme auf einem oder mehreren Computern an einem oder mehreren Orten implementiert ist, in welchen die Systeme, Komponenten und Techniken, die nachfolgend beschrieben sind, implementiert sind.
  • Das neuronale Netzsystem 100 ist ein Maschinenlernsystem, das eine jeweilige Eingabe des neuronalen Netzes bei jedem von mehreren Zeitschritten empfängt und eine jeweilige Ausgabe des neuronalen Netzes bei jedem der Zeitschritte erzeugt. Das bedeutet, dass das neuronale Netzsystem 100 bei jedem der mehreren Zeitschritte eine Eingabe des neuronalen Netzes empfängt und die Eingabe des neuronalen Netzes verarbeitet, um eine Ausgabe des neuronalen Netzes zu erzeugen. Beispielsweise kann das neuronale Netzsystem 100 bei einem gegebenen Zeitschritt eine Eingabe 102 des neuronalen Netzes empfangen und eine Ausgabe 132 des neuronalen Netzes erzeugen.
  • Das neuronale Netzsystem 100 kann die erzeugten Ausgaben des neuronalen Netzes in einem Ausgabedatenspeicher bzw. -depot speichern oder die Ausgaben des neuronalen Netzes zur Verwendung zu irgendeinem anderen sofortigen Zweck zur Verfügung stellen.
  • Das neuronale Netzsystem 100 kann konfiguriert sein, um irgendeine Art von digitaler Dateneingabe zu empfangen und um basierend auf der Eingabe irgendeine Art von Punktwert- oder Klassifikationsausgabe zu erzeugen.
  • Beispielsweise kann, wenn die Eingaben zum neuronalen Netzsystem 100 Bilder oder Eigenschaften sind, die aus Bildern extrahiert worden sind, die durch das neuronale Netzsystem 100 erzeugte Ausgabe für ein gegebenes Bild Punktwerte bzw. Nutzwerte für jede einer Gruppe von Objektkategorien sein, wobei jeder Punktwert eine geschätze Wahrscheinlichkeit darstellt, dass das Bild ein Bild eines Objekts enthält, das zu der Kategorie gehört.
  • Als ein weiteres Beispiel kann, wenn die Eingaben zum neuronalen Netzsystem 100 Internetressourcen (z. B. Webseiten), Dokumente oder Teilbereiche von Dokumenten oder aus Internetressourcen, Dokumenten oder Teilbereichen von Dokumenten extrahierte Eigenschaften sind, die durch das neuronale Netzsystem 100 für eine gegebene Internetressource, ein gegebenes Dokument oder einen gegebenen Teilbereich eines Dokuments erzeugte Ausgabe ein Punktwert für jedes einer Gruppe von Themen sein, wobei jeder Punktwert eine geschätzte Wahrscheinlichkeit darstellt, dass die Internetressource, das Dokument oder der Teilbereich des Dokuments über das Thema ist.
  • Als ein weiteres Beispiel kann, wenn die Eingaben zum neuronalen Netzsystem 100 Eigenschaften einer personalisierten Empfehlung für eine Anwender sind, z. B. Eigenschaften, die den Kontext für die Empfehlung charakterisieren, die durch das neuronale Netzsystem 100 erzeugte Ausgabe ein Punktwert für jedes einer Gruppe von Inhaltselementen sein, wobei jeder Punktwert eine geschätzte Wahrscheinlichkeit darstellt, dass der Anwender positiv darauf reagieren wird, dass ihm das Inhaltselement empfohlen ist. Bei einigen dieser Beispiele ist das neuronale Netzsystem 100 ein Teil eines Verstärkungslernsystems, das Anwendern Inhaltsempfehlungen zur Verfügung stellt.
  • Als ein weiteres Beispiel kann, wenn die Eingabe zum neuronalen Netzsystem 100 Text in einer Sprache ist, die durch das neuronale Netzsystem 100 erzeugte Ausgabe ein Punktwert für jedes einer Gruppe von Stücken von Text in einer anderen Sprache sein, wobei jeder Punktwert eine geschätzte Wahrscheinlichkeit ist, dass das Stück von Text in der anderen Sprache eine geeignete Übersetzung des eigegebenen Textes in die andere Sprache ist.
  • Als ein weiteres Beispiel kann, wenn die Eingabe zum neuronalen Netzsystem 100 eine gesprochene Äußerung ist, die durch das neuronale Netzsystem 100 erzeugte Ausgabe ein Punktwert für jedes einer Gruppe von Stücken von Text sein, wobei der Punktwert eine geschätzte Wahrschinlichkeit darstellt, dass das Stück von Text die korrekte Transkription bzw. Abschrift für die Äußerung ist.
  • Als ein weiteres Beispiel kann, wenn die Eingaben zum neuronalen Netzsystem 100 Bilder sind, die durch das neuronale Netzsystem 100 erzeugte Ausgabe ein Punktwert für jedes einer Gruppe von Stücken von Text sein, wobei der Punktwert eine geschätzte Wahrscheinlichkeit darstellt, dass das Stück von Text Text ist, der im eingegebenen Bild vorhanden ist.
  • Insbesondere enthält das neuronale Netzsystem 100 ein rekurrentes neuronales Netz 110, das wiederum eine komprimierte Schicht mit langem Kurzzeitgedächtnis (LSTM-Schicht) 120 enthält. Das rekurrente neuronale Netz 110 ist konfiguriert, um bei jedem der Zeitschritte die Eingabe des neuronalen Netze zu empfangen und die Eingabe des neuronalen Netzes zu vberarbeiten, um die Ausgabe des neuronalen Netzes bei dem Zeitschritt zu erzeugen.
  • Zusätzlich zu der LSTM-Schicht 120 kann das rekurrente neuronale Netz 110 eine oder mehrere andere Komponenten enthalten, wie z. B. andere komprimierte LSTM-Schichten, herkömmliche LSTM-Schichten, andere rekurrente neuronale Netzschichten, andere nichtrekurrente neuronale Netzschichten, und so weiter.
  • Beispielsweise kann das rekurrente neuronale Netz 100 ein tiefes LSTM-Netz sein, das eine Eingabeschicht, mehrere LSTM-Schichten, mit der komprimierten LSTM-Schicht 120 in einem geordneten Stapel eine über der anderen angeordnet, und eine Ausgabeschicht, die bei jedem Zeitschritt die Schichtenausgabe von der höchsten LSTM-Schicht im Stapel und, optional, anderen LSTM-Schichten im Stapel empfängt und die Schichtenausgabe verarbeitet, um die Ausgabe des neuronalen Netzes 132 bei dem Zeitschritt zu erzeugen, enthält.
  • Die komprimierte LSTM-Schicht 120 ist konfiguriert, um bei jedem der Zeitschritte eine aktuelle Schichteneingabe 122 zu empfangen und die aktuelle Schichteneingabe 122, einen aktuellen Schichtenzustand, und eine aktuelle Schichtenausgabe zu verarbeiten, um eine neue Schichtenausgabe 126 zu erzeugen und den aktuellen Schichtenzustand einem Updaten zu unterziehen, um einen neuen Schichtenzustand 124 zu erzeugen.
  • In Abhängigkeit von der Konfiguration des rekurrenten neuronalen Netzes 110 kann die aktuelle Schichteneingabe 122 die Eingabe des neuronalen Netzes 102 oder eine durch eine andere Komponente des rekurrenten neuronalen Netzes 110 erzeugte Ausgabe sein.
  • Zusätzlich ist für jeden Zeitschritt nach dem ersten Schritt der aktuelle Schichtenzustand der bei dem vorangehenden Zeitschritt erzeugte neue Schichtenzustand und ist die aktuelle Schichtenausgabe die neue Schichtenausgabe aus dem vorangehenden Zeitschritt. Für den ersten Zeitschritt kann der aktuelle Schichtenzustand ein vorbestimmter anfänglicher Schichtenzustand sein und kann die aktuelle Schichtenausgabe eine vorbestimmte anfängliche Schichtenausgabe sein.
  • In Abhängigkeit von der Konfiguration des rekurrenten neuronalen Netzes 110 kann die neue Schichtenausgabe 126 als Eingabe zu einer anderen LSTM-Schicht im rekurrenten neuronalen Netz 110, als Eingabe zu einem anderen Typ von neuronaler Netzkomponente, z. B. zu einer Ausgabeschicht oder einem anderen Typ von neuronaler Netzschicht, zur Verfügung gestellt werden oder kann als die Ausgabe des neuronalen Netzes 132 des rekurrenten neuronalen Netzes 110 zur Verfügung gestellt werden.
  • Insbesondere wendet die komprimierte LSTM-Schicht 120 mehrere Gatter auf die aktuelle Schichteneingabe 122, den aktuellen Schichtenzustand und die aktuelle Schichtenausgabe an, um die neue Schichtenausgabe 126 zu erzeugen und den aktuellen Schichtenzustand einem Updaten zu unterziehen, um den neuen Schichtenzustand 124 zu erzeugen, wobei wenigstens eines der Gatter eine komprimierte Gewichtungsmatrix enthält. Beispielsweise kann wenigstens eine Schicht des Schichtenstapels durch Ersetzen von einer oder mehreren Gatterparametermatrizen in der Schicht durch eine strukturierte Matrix („strukturierte Matrixkompression”) oder durch neues Definieren der Gatterparametermatrizen durch eine komprimierte Parametermatrix und eine Projektionsmatrix („Projektionskompression”) komprimiert werden. Die Gatter können z. B. ein Eingabe-Gatter, ein Vergessen-Gatter, ein Zellenzustands-Gatter oder ein Ausgabe-Gatter sein, sind aber nicht darauf beschränkt. Zusätzlich kann jedes Gatter sowohl eine Zwischenschicht als auch rekurrente Parametermatrizen enthalten.
  • Eine strukturierte Matrix ist eine m×n-Matrix, die in weniger als mn Parametern beschrieben werden kann. 2A stellt Beispiele von strukturierten Matrizen dar. Beispielsweise enthalten strukturierte Matrizen die folgenden allgemeinen Klassen: Toeplitz-Matrizen 200, Vandermonde-Matrizen 202 und Cauchy-Matrizen 204. Insbesondere ist eine Toeplitz-Matrix 200 eine, in welcher die Parameter entlang Diagonalen verbunden sind. Das bedeutet, dass Toeplitz-Matrizen konstante Werte entlang jeder ihrer Diagonalen haben. Wenn dieselbe Eigenschaft für Antidiagonale gilt, werden die Matrizen 200 Hankel-Matrizen genannt. Eine Vandermonde-Matrix 202 ist eine, in welcher Matrixeinträge von der dritten bis zur n-ten Spalte dadurch definiert sind, dass man elementeweise Potenzen von Einträgen in der zweiten Spalte der Matrix nimmt. Gleichermaßen ist eine Cauchy-Matrix 204 eine, die durch zwei Vekltoren (U und V) vollständig definiert sein kann. Jedes Element aij der Cauchy-Matrix 204 ist durch
    Figure DE202016008302U1_0002
    definiert.
  • Die Verwendung von solchen strukturierten Matrizen zum Darstellen von Gattermatrizen in komprimierten LSTM-Schichten kann die Speichererfordernisse für LSTM-Netze reduzieren, weil sie durch weniger als mn Parameter vollständig beschrieben werden können. Zusätzlich können strukturierte Matrizen das Training und die Verarbeitung von LSTM-Netzen beschleunigen, weil sie zulassen, dass Matrixprodukt- und Gradientenberechnungen schneller durchgeführt werden.
  • Die obigen allgemeinen Klassen von strukturierten Matrizen können in eine strukturiert-artige Matrix zu Verwendung in einer komprimierten LSTM-Schicht 120 modifiziert werden. Beispielsweise sind Toeplitz-artige Matrizen Verallgemeinerungen der Toeplitz-Struktur, die Produkte und Inverse von Toeplitz-Matrizen und ihre linearen Kombinationen enthalten. Toeplitz-artige Matrizen können, wie es in 2B gezeigt ist, als eine Summe über Produkte von r zirkulanten und schlefzirkulanten Matrizen parameterisiert werden.
  • Nimmt man wieder Bezug auf 1, wird der Annehmlichkeit halber die Verwendung strukturierter Matrizen in einer komprimierten LSTM-Schicht 120 eines rekurrenten Netzes 110 unter Verwendung von Toeplitz-artigen Matrizen als Beispiel diskutiert werden. Die Komplexität von Toeplitz-artigen Matrizen kann unter Verwendung des Verschiebungsrangs gesteuert werden, d. h. der Anzahl von Produkten, die miteinander summiert werden, wie es in der Summe der zirkulanten und schiefzirkulanten Matrizen in 2B gezeigt ist. Ein niedriger Verschiebungsrang entspricht stark strukturierten Matrizen, wie beispielsweise zirkulanten und Toeplitz-Matrizen und ihren Inversen. Matrizen mit hohem Verschiebungsrang können verwendet werden, um zunehmend unstrukturierte Matrizen zu modellieren. Bei einigen Beispielen kann der Verschiebungsrang verwendet werden, um die Berechnugskomplexität, Speichererfordernisse und eine Modellierungsfähigkeit davon für ein Kompressionsschema zu steuern. Bei einigen Beispielen kann der Verschiebungsrang basierend auf Anwendungserfordernissen abgestimmt werden.
  • Bei einigen Implementierungen wird die Toeplitz-artige Matrizstruktur auf rekurrente und Zwischenschichtparametermatrizen für alle der Gatter in einer bestimmten komprimierten LSTM-Schicht 120 angewendet. Bei einigen Implementierungen wird die Toeplitz-artige Matrizstruktur auf eine Schicht (Schichten) niedrigerer Ordnung in einem Schichtenstapel (z. B. Schichten 1 und 2) angewendet.
  • Bei einem Projektionskompressionsmodell für eine rekurrente neuronale Netzschicht wird eine komprimierte LSTM-Schicht 120 durch Ersetzen einer unkomprimierten rekurrenten Parametermatrix der Größe m×n von einer bestimmten Schicht (z. B. Schicht 1) durch eine komprimierte rekurrente Parametermatrix der Größe m×r und eine Projektionsmatrix r×n erzeugt. Zusätzlich wird eine entsprechende Zwischenschichtparametermatrix, ebenso mit der Größe m×n, von einer LSTM-Schicht einer nächsthöheren Ordnung (z. B. Schich I + 1) durch eine komprimierte Zwischenschichtmatrix der Größe m×r und dieselbe Projektionsmatrix ersetzt. Weiterhin sind die Ränge der komprimierten rekurrenten und Zwischenschichtmatrizen und der Projektionsmatrix niedriger als die Ränge der entsprechenden rekurrenten und Zwischenschichtparametermatrizen. Die Nieder-Rang-Projektionsmatrix wird über die zwei entsprechenden Schichten gemeinsam genutzt. Das Projektionskompressionsmodell kann auf eines oder mehrere unterschiedliche Gatter angewendet werden. Bei einigen Implementierungen wird das Projektionskompressionsmodell auf eine Schicht (Schichten) höherer Ordnung in einem Schichtenstapel (z. B. Schichten 2 – N) angewendet.
  • Bei einigen Implementierungen kann eine Schicht oder eine Gruppe von Schichten durch die Verwendung von strukturierten Matrizen (oder strukturiert-artigen Matrizen) komprimiert werden und eine Schicht oder eine Gruppe von Schichten kann unter Verwendung von Projektionsmatrizen komprimiert werden. Beispielsweie kann eine Schicht oder eine Gruppe von Schichten niedrigerer Ordnung (z. B. Schichten 1 und 2) eines rekurrenten neuronalen Netzes 110 durch Ersetzen von Gatterparametermatrizen durch Toeplitz-artige Matrizen komprimiert werden und eine Schicht oder eine Gruppe von Schichten höherer Ordnung (z. B. Schichten 2 – N) kann unter Verwendung von Projektionsmatrizen komprimiert werden.
  • Bei einigen Implementierungen können die oben beschriebenen Kompressionstechniken in wenigstens einer Reduktion von 75% in Bezug auf Parameter eines neuronalen LSTM-Netzes resultieren. Bei einigen Implementierungen, bei welchen das System ein Spracherkennungsmodell ist, können die oben beschriebenen Kompressionstechniken in wenigstens einer Kompression von 75% des neuronalen LSTM-Netzes resultieren, während eine Wortfehlerrate, die innerhalb von 0,3% einer Wortfehlerrate (WER) einer unkomprimierten Version des Systems ist, beibehalten wird. Bei einigen Beispielen können die oben beschriebenen Techniken in einer Kompression eines neuronalen LSTM-Netzes resultieren, die von 75%–83% mit einer entsprechenden WER von 0,3%–2,3% reicht.
  • Um das rekurrente neuronale Netz 110 zu konfigurieren, um Ausgaben des neuronalen Netzes zu erzeugen, trainiert das neuronale Netzsystem 100 das rekurrente neuronale Netz 110, um trainierte Werte der Parameter des rekurrenten neuronalen Netzes 110 zu bestimmen, einschließlich eines Bestimmens von trainierten Werten der Parameter der Sättigungs-LSTM-Schicht 120. Ein Trainieren des rekurrenten neuronalen Netzes wird unten unter Bezugnahme auf 5 detaillierter beschrieben.
  • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses 300 zum Verarbeiten einer aktuellen Schichteneingabe, um eine nächste Schichtenausgabe zu erzeugen. Der Annehmlichkeit halber wird der Prozess derart beschrieben werden, dass er durch eine Sättigungs-LSTM-Schicht durchgeführt wird, die durch ein System aus einem oder mehreren Computern implementiert ist, die an einem oder mehreren Orten lokalisiert sind. Beispielsweise kann eine Sättigungs-LSTM-Schicht in einem neuronalen Netzsystem, z. B. die komprimierte LSTM-Schicht 120 des neuronalen Netzsystems 100 der 1, geeignet programmiert gemäß dieser Beschreibung, den Prozess 300 durchführen.
  • Die LSTM-Schicht wendet ein Vergessen-Gatter auf einen Gattereingabevektor an, um einen Vergessen-Gatterausgabevektor zu erzeugen (Schritt 302). Ein Anwenden eines Gatters auf einen Gattereingabevektor wird unten unter Bezugnahme auf 4 detaillierter bechrieben werden.
  • Bei einigen Implementierungen erzeugt die LSTM-Schicht den Gattereingabevektor durch Verketten der aktuellen Schichteneingabe und der aktuellen Schichtenausgabe. Bei einigen anderen Implementierungen ist die LSTM-Schicht eine Guckloch-LSTM-Schicht, die den Gattereingabevektor durch Verketten der aktuellen Schichteneingabe, der aktuellen Schichtenausgabe und des aktuellen Schichtenzustands erzeugt.
  • Die LSTM-Schicht wendet ein Eingabe-Gatter auf den Gattereingabevektor an, um einen Eingabe-Gatterausgabevektor zu erzeugen (Schritt 304). Ein Anwenden eines Gatters auf einen Gattereingabevektor wird unten unter Bezugnahme auf 4 detaillierter beschrieben werden. Bei einigen Implementierungen enthält das Eingabe-Gatter eine strukturierte Parametermatrix, z. B. eine Toeplitz-artig strukturierte Parametermatrix. Bei einigen Implementierungen enthält das Eingabe-Gatter eine komprimierte rekurrente oder Zwischenschicht-Matrix und eine entsprechende Projektionsmatrix.
  • Bei einigen Implementierungen verwendet das System anstelle eines Anwendens des Eingabe-Gatters, um den Eingabe-Gatterausgabevektor zu erzeugen, den Vergessen-Gatterausgabevektor als den Eingabe-Gatterausgabevektor. Das bedeutet, dass das Eingabe-Gatter bei einigen Implementierungen dasselbe wie das Vergessen-Gatter ist.
  • Die LSTM-Schicht wendet ein Ausgabe-Gatter auf den Gattereingabevektor an, um einen Ausgabe-Gatterausgabevektor zu erzeugen (Schritt 306). Ein Anwenden eines Gatters auf einen Gattereingabevektor wird unten unter Bezugnahme auf 4 detaillierter beschrieben werden. Bei einigen Implementierungen enthält das Ausgabe-Gatter eine strukturierte Parametermatrix, z. B. eine Toeplitz-artig strukturiere Parametermatrix. Bei einigen Implementierungen enthält das Ausgabe-Gatter eine komprimierte rekurrente oder Zwischenschicht-Matrix und eine eintsprechende Projektionsmatrix.
  • Die LSTM-Schicht erzeugt einen Zwischenzellenzustand-Updatevektor aus der aktuellen Schichteneingabe und der aktuellen Schichtenausgabe (Schritt 308). Insbesondere verarbeitet die LSTM-Schicht die aktuelle Schichteneingabe und die aktuelle Schichtenausgabe unter Verwendung einer neuronalen Netzschicht mit einer Aktivierungsfunktion, die eine Quetschfunktion ist, um den Zwischenzellenzustands-Updatevektor zu erzeugen.
  • Allgemein ist eine Quetschfunktion eine Funktion, die empfangene Eingaben auf einen Bereich von –1 bis 1, ausschließlich, abbildet. Beispielsweise kann die Quetschfunktion die Hyperbeltangensfunktion sein.
  • Die LSTM-Schicht kombiniert den Zwischenzellenzustand-Updatevektor und den Eingabe-Gatterausgabevektor, um einen Endzellenzustand-Updatevektor zu erzeugen (Schritt 310). Insbesondere berechnet die LSTM-Schicht eine punktweise Multiplikation zwischen dem Zwischenzellenzustand-Updatevektor und dem Eingabe-Gatterausgabevektor, um den Endzellenzustand-Updatevektor zu erzeugen.
  • Die LSTM-Schicht kombiniert den aktuellen Zellenzustand und den Vergessen-Gatterausgabevektor, um einen dazwischenliegenden neuen Zellenzustand zu erzeugen (Schritt 312). Insbesondere berechnet die LSTM-Schicht eine punktweise Multipliaktion zwischen dem aktuellen Zellenzustand und dem Vergessen-Ausgabevektor, um den dazwischenliegenden neuen Zellenzustand zu erzeugen. Bei einigen Implementierungen enthält das Vergessen-Gatter eine strukturierte Parametermatrix, z. B. eine Toeplitz-artig strukturierte Parametermatrix. Bei einigen Implementierungen enthält das Vergessen-Gatter eine komprimierte rekurrente oder Zwischenschicht-Matrix und eine entsprechende Projektionsmatrix.
  • Die LSTM-Schicht kombiniert, z. B. summiert, den dazwischenliegenden neuen Zellenzustand und den Endzellen-Updatevektor, um einen schließlichen neuen Zellenzustand zu erzeugen (Schritt 314).
  • Die LSTM-Schicht erzeugt eine neue Schichtenausgabe aus dem schließlichen neuen Zellenzustand (Schritt 316). Um die neue Schichtenausgabe zu erzeugen, wendet die LSTM-Schicht eine Quetschfunktion auf jede Komponente des schließlichen neuen Zellenzustands an, um eine dazwischenliegende neue Schichtenausgabe zu erzeugen.
  • Dann kombiniert die LSTM-Schicht den Ausgabe-Gatterausgabevektor und die dazwischenliegende neue Schichtenausgabe, um die neue Schichtenausgabe zu erzeugen. Insbesondere führt die LSTM-Schicht eine punktweise Multiplikation zwischen dem Ausgabe-Gatterausgabevektor und der dazwischenliegenden neuen Schichtenausgabe durch, um die neue Schichtenausgabe zu erzeugen.
  • Zusätzlich zu einem Verwenden des schließlichen neuen Schichtenzustands behält die LSTM-Schicht beim Erzeugen der neuen Schichtenausgabe den schließlichen neuen Zellenzustand zusammen mit der neuen Schichtenausgabe zur Verwendung bei einem nachfolgenden Zeitschritt bei.
  • 4 ist ein Ablaufdiagramm eines beispielhaften Prozesses 400 zum Anwenden eines Gatters auf einen Gattereingabevektor, um einen Gatterausgabevektor zu erzeugen. Der Annehmlichkeit halber wird der Prozess 400 derart beschrieben werden, das er durch einen Sättigungs-LSTM-Schicht durchgeführt wird, die durch ein System aus einem oder mehreren Computern implementiert ist, die an einem oder mehreren Orten lokalisiert sind. Beispielsweise kann eine komprimierte LSTM-Schicht in einem neuronalen Netzsystem, z. B. die LSTM-Schicht 120 des neuronalen Netzsystems 100 der 1, geeignet programmiert gemäß dieser Beschreibung, den Prozess 400 durchführen.
  • Die LSTM-Schicht bestimmt den Gattereingabevektor (Schritt 402).
  • Die LSTM-Schicht erzeugt einen jeweiligen Zwischen-Gatterausgabevektor aus dem Gattereingabevektor gemäß einer Gruppe von Parametern (Schritt 404). Bei einigen Implementierungen führt die LSTM-Schicht eine Matrixmultiplikation zwischen einer Parametermatrix und dem Gattereingabevektor durch und addiert dann einen Vorspasnnungsvektor bzw. Biasvektor zu der Ausgabe der Matrixmultiplikation, um den Zwischen-Gatteraungabevektor zu erzeugen, wobei jedes der Gatter unterschiedliche Parametermatrizen und Biasvektoren hat. Das bedeutet, dass bei Implementierungen, bei welchen die LSTM-Schicht ein eigenes bzw. individuelles Eingabe-Gatter, Vergessen-Gatter und Ausgabe-Gatter hat, jedes dieser Gatter unterschiedliche Parametermatrizen und Biasvektoren von jedem anderen Gatter haben wird.
  • Die LSTM-Schicht wendet eine Gating-Funktion auf jede Komponente des jeweiligen Zwischen-Gatterausgabevektors an, um einen End-Gatterausgabevektor zu erzeugen (Schritt 406).
  • Allgemein ist eine Gating-Funktion eine Funktion, die empfangene Eingaben auf einen Bereich von 0 bis 1, ausschließlich, abbildet. Beispielsweise kann eine Gating-Funktion die Sigmoidfunktion sein.
  • Für wenigstens eines der Gatter der LSTM-Schicht ist jedoch die Parametermatrix, auf die im Schritt 404 Bezug genommen ist, eine komprimierte Parametermatrix. Eine unkomprimierte Parametermatrix wird durch eine komprimierte Parametermatrix ersetzt. Die LSTM-Schicht führt dann eine Matrixmultiplikation zwischen der komprimierten Parametermatrix und dem Gattereingabevektor durch. Beispielsweise kann die komprimierte Matrix eine Parametermatrix in irgendeinem eines Eingabe-Gatters, eines Vergessen-Gatters, eines Zellenzustands oder eines Ausgabe-Gatters ersetzen. Bei einigen Implementierungen werden komprimierte Parametermatrizen auf mehrere Gatter in einer LSTM-Schicht angewendet. Beispielsweise können komprimierte Parametermatrizen auf sowohl ein Eingabe- als auch ein Ausgabe-Gatter angewendet werden. Als ein weiteres Beispiel können komprimierte Parametermatrizen auf ein Eingabe-, ein Ausgabe-Gatter und ein Vergessen-Gatter angewendet werden.
  • Bei einigen Implementierungen ist die komprimierte Parametermatrix eine strukturiert-artige Matrix, z. B. eine Toeplitz-artig strukturierte Matrix. Bei einigen Implementierungen wird eine unkomprimierte Parametermatrix durch eine komprimierte Parametermatrix und eine entsprechende Projektionsmatrix neu defineirt.
  • 5 ist ein Ablaufdiagramm eines beispielhaften Prozesses 500 zum Trainieren eines rekurrenten neuronalen Netzes, das eine komprimierte LSTM-Schicht enthält. Der Annehmlichkeit halber wird der Prozess 500 derart beschrieben werden, dass er durch ein System aus einem oder mehreren Computern durchgeführt wird, die an einem oder mehreren Orten lokalisiert sind. Beispielsweise kann ein neuronales Netzsystem, z. B. das neuronale Netzsystem 100 der 1, geeignet programmiert gemäß dieser Beschreibung, den Prozess 500 durchführen.
  • Das System erhält Trainingsdaten zum Trainieren des rekurrenten neuronalen Netzes (Schritt 502). Die Trainingsdaten enthalten mehrere Trainingsbeispielspaare, wobei jedes Trainingsbeispielspaar eine Trainingseingabe des neuronalen Netzes und eine Sollausgabe des neuronalen Netzes für die Trainingseingabe des neuronalen Netzes enthält.
  • Das System trainiert das rekurrente neuronale Netz an den Trainingsdaten, um trainierte Werte der Parameter des rekurrenten neuronalen Netzes aus Anfangswerten der Parameter zu bestimmen, durch Optimieren, d. h. entweder Maximieren oder Minimieren, einer Zielfunktion (Schritt 504). Während des Trainings erlegt das System den Werten der komprimierten Matrix oder Matrizen Beschränkungen auf, so dass sie fortgesetzt die Anforderungen für die komprimierte Matrix erfüllen. Beispielsweise kann das System für Toeplitz-artig strukturierte Matrizen Beschränkungen so auferlegen, dass die Einträge jeder komprimierten Matrix immer Toeplitz-artig sind, oder kann das System für die komprimierten Matrizen des Projektionsmodells eher die Werte der Projektionsmatrix und der komprimierten Parametermatrix einstellen als die Werte der Parametermatrix direkt einstellen.
  • Das System trainiert das rekurrente neuronale Netz durch Oprimieren der Zielfunktion unter Verwendung einer herkömmlichen Maschinenlerntrainingstechnik, z. B. eines stochastischen Gradientenabstiegs mit einer Rückwärtspropagierung durch eine Zeittrainingstechnik. Das bedeutet, dass das System mehrere Iterationen der Trainingstechnik durchführen kann, um die Zielfunktion durch Einstellen der Werte der Parameter des rekurrenten neurionalen Netzes zu optimieren.
  • Ausführungsformen des Gegenstands und der funktionellen Operationen, die in dieser Beschreibung beschrieben sind, können in einer digitalen elektronischen Schaltung, in konkret verkörperter Computersoftware oder -firmware, in Computerhardware, einschließlich der Strukturen, die in dieser Beschreibung offenbart sind, und ihrer strukturellen Äquivalente, oder in Kombinationen von einem oder mehreren von ihnen implementiert sein. Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können als ein oder mehrere Computerprogramme implementiert sein, d. h. ein oder mehrere Module von Computerprogrammanweisungen, die auf einem konkreten nichtflüchtigen Programmträger zur Ausführung durch eine Datenverarbeitungsvorrichtung codiert sind, oder um den Betrieb von dieser zu steuern. Alternativ oder zusätzlich können die Programmanweisungen auf einem künstlich erzeugten ausgebreiteten Signal codiert sein, z. B. einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, das erzeugt wird, um Information zur Übertragung zu einer geeigneten Empfängervorrichtung zur Ausführung durch eine Datenverarbeitungsvorrichtung zu codieren. Das Computerspeichermedium kann eine maschinenlesbare Speichervorrichtung, ein maschinenlesbares Speichersubstrat, eine Direktzugriffsspeichervorrichtung oder einer Speichervorrichtung für seriellen Zugriff oder eine Kombination aus einer oder mehreren von ihnen sein.
  • Der Ausdruck „Datenverarbeitungsvorrichtung” bezieht sich auf Datenverarbeitungshardware und umfasst alle Arten von Geräten, Vorrichtungen und Maschinen zum Verarbeiten von Daten, die anhand eines Beispiels einen programmierbaren Prozessor, ein Computer oder mehrere Prozessoren oder Computer enthalten. Die Vorrichtung kann auch eine Sonderzweck-Logikschaltung sein oder weiterhin enthalten, wie z. B. eine FPGA (field programmable gate array = im Feld (also vor Ort, beim Kunden) programmierbare (Logik-)Gatter-Anordnung) oder eine ASIC (application-specific integrated circuit = anwendungsspezifische integrierte Schaltung). Die Vorrichtung kann optional, zusätzlich zur Hardware, einen Code enthalten, der eine Ausführungsumgebung für Computerprogramme erzeugt, wie z. B. einen Code, der Prozessorfirmware, einen Protokollstapel, ein Datenmanagementsystem, ein Betriebssystem oder eine Kombination von einem oder mehreren von ihnen bildet.
  • Ein Computerprogramm (auf das auch als Programm, Software, eine Softwareanwendung, ein Modul, ein Softwaremodul, ein Skript oder ein Code Bezug genommen werden kann oder das als solches beschrieben werden kann) kann in irgendeiner Form einer Programmiersprache geschrieben sein, einschließlich kompilierter oder interpretierter Sprache oder deklarativer oder Prozedursprache, und es kann in irgendeiner Form eingesetzt bzw. genutzt werden, einschließlich als ein alleinstehendes Programm oder als ein Modul, eine Komponente, ein Unterprogramm oder eine andere Einheit, die zur Verwendung in einer Computerumgebung geeignet ist. Ein Computerprogramm kann, muss aber nicht, einer Datei in einem Dateiensystem entsprechen. Ein Programm kann in einem Teilbereich einer Datei gespeichert sein, die andere Programme oder Daten hält, z. B. ein oder mehrere Skripts, die in einem Auszeichnungssprachendokument gespeichert sind, in einer einzelnen Datei, die für das in Frage stehende Programm bestimmt ist, oder in mehreren koordinierten Dateien, z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teilbereiche eines Codes speichern. Ein Computerprogramm kann genutzt werden, um auf einem Computer oder auf mehreren Computern, die an einem Ort lokalisiert sind oder über mehrere Orte verteilt sind und durch ein Kommunikationsnetzwerk miteinander verbunden sind, ausgeführt zu werden.
  • Die Prozesse und logischen Abläufe, die in dieser Beschreibung beschrieben sind, können durch einen oder mehrere Computer durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durch Arbeiten an Eingangsdaten und Erzeugen einer Ausgabe durchzuführen. Die Prozesse und logischen Abläufe können auch durch eine Sonderzweck-Logikschaltung durchgeführt werden und die Vorrichtung kann auch als diese implementiert sein, wie z. B. eine FPGA (field programmable gate array = im Feld (also vor Ort, beim Kunden) programmierbare (Logik-)Gatter-Anordnung) oder eine ASIC (application-specific integrated circuit = anwendungsspezifische integrierte Schaltung).
  • Computer, die für die Ausführung eines enthaltenen Computerprogramms geeignet sind, können, anhand eines Beispiels auf allgemeinen oder Sonderzweck-Mikroprozessoren oder beiden oder irgendeiner anderen Art von zentraler Verarbeitungseinheit basieren. Allgemein wird eine zentrale Verarbeitungseinheit Anweisungen und Daten von einem Nurlesespeicher oder einem Direktzugriffsspeicher oder beiden empfangen. Die wesentlichen Elemente eines Computers sind eine zentrale Verarbeitungseinheit zum Durchführen oder Ausführen von Anweisungen und eine oder mehrere Speichervorrichtungen zum Speichern von Anweisungen und Daten. Allgemein wird ein Computer auch einen oder mehrere Massenspeichervorrichtungen zum Speichern von Anweisungen oder Daten enthalten oder operativ gekoppelt sein, um Daten von diesen zu empfangen oder Daten zu diesen zu transferieren, oder beides, wie z. B. magnetische, magneto-optische Platten oder optische Platten. Jedoch muss ein Computer solche Vorichtungen nicht haben. Darüberhinaus kann ein Computer in einer anderen Vorrichtung eingebettet sein, wie z. B. einem Mobiltelefon, einem persönlichen digitalen Assistenten (PDA), einem mobilen Audio- oder Videoabspielgerät, einer Spielkonsole, einem Empfänger mit globalem Positioniersystems (GPS-Empfänger), einer transportablen Speichervorrichtung, z. B. einem Flash-Laufwerk mit universellen seriellen Bus (USB), um nur einige zu nennen.
  • Computerlesbare Medien, die geeignet zum Speichern von Computerprogrammanweisungen und Daten sind, enthalten alle Formen eines nichtflüchtigen Speichers, Medien- und Speichervorrichtungen, einschließlich, anhand eines Beispiels, Halbleiterspeichervorrichtungen, z. B. EPROM, EEPROM und Flash-Speichervorrichtungen; Magnetplatten, z. B. interne Festplatten oder entfernbare Platten; magneto-optische Platten; und CD-ROM- und DVD-ROM-Platten. Der Prozessor und der Speicher können durch eine Sonderzweck-Logikschaltung ergänzt oder in dieser enthalten sein.
  • Um für eine Interaktion mit einem Anwender zu sorgen, können Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands auf einem Computer mit einer Anzeigevorrichtung, z. B. einer CRT (cathode ray tube = Kathodenstrahlröhre) oder einem LCD-(liquid crystal display = Flüssigkristallanzeige)-Monitor, zum Anzeigen von Information zum Anwender und einer Tastatur und einer Zeigevorrichtung, z. B. einer Maus oder einem Trackball (= Rollkugel), durch welche der Anwender eine Eingabe zum Computer liefern kann, implementiert sein. Andere Arten von Vorrichtungen können ebenso gut verwendet werden, um für eine Interaktion mit einem Anwender zu sorgen; beispielsweise kann eine zum Anwender gelieferte Rückmeldung irgendeine Form von sensorischer Rückmeldung sein, wie z. B. eine visuelle Rückmeldung, eine auditive Rückmeldung oder eine fühlbare Rückmeldung; und eine Eingabe vom Anwender kann in irgendeiner Form empfangen werden, einschließlich einer akustischen, sprachlichen oder fühlbaren Eingabe. Zusätzlich kann ein Computer mit einem Anwender durch Senden von Dokumenten zu und Empfangen von Dokumenten von einer Vorrichtung interagieren, die durch den Anwender verwendet wird; Beispielsweise durch Senden von Webseiten zu einem Web-Browser auf einer Clientvorrichtung eines Anwenders in Reaktion auf Anfragen, die vom Web-Browser empfangen sind.
  • Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können in einem Computersystem implementiert sein, das eine Backend-Komponente enthält, wie z. B. als einen Datenserver, oder das eine Middleware-Komponente enthält, wie z. B. einen Anwendungsserver, oder das eine Frontend-Komponente enthält, wie z. B. einen Clientcomputer mit einer in Beziehung stehenden grafischen Anwenderschnittstelle oder einem Web-Browser, wodurch ein Anwender mit einer Implementierung des in dieser Beschreibung beschriebenen Gegenstands interagieren kann, oder irgendeine Kombination von einer oder mehreren von solchen Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch irgendeine Form oder irgendein Medium einer digitalen Datenkommunikation miteinander verbunden sein, z. B. ein Kommunikationsnetzwerk. Beispiele von Kommunikationsnetzwerken enthalten ein Lokales Netz („LAN”), ein Weitverkehrsnetz („WAN”), z. B. das Internet.
  • Das Computersystem kann Clients und Server enthalten. Ein Client und ein Server sind allgemein entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server entsteht mittels Computerprogrammen, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung zueinander haben.
  • Während diese Beschreibung viele spezifische Implementierungsdetails enthält, sollten diese nicht als Beschränkungen für den Schutzumfang von irgendeiner Erfindung oder von dem, was beansprucht sein kann, ausgelegt werden, sondern vielmehr als Beschreibungen von Merkmalen, die spezifisch für bestimmte Ausführungsformen von bestimmten Erfindungen sein können. Gewisse bzw. bestimmte Merkmale, die in dieser Beschreibung im Zusammenhang mit separaten Ausführungsformen beschrieben sind, können auch in Kombination in einer einzigen Ausführungsform implementiert sein. Gegensätzlich dazu können verschiedene Merkmale, die im Zusammenhang mit einer einzigen Ausführungsform beschrieben sind, auch in mehreren Ausführungsformen separat oder in irgendeiner geeigneten Unterkombination implementiert sein. Darüber hinaus können, obwohl Merkmale oben derart beschrieben sein können, dass sie in bestimmten Kombination wirken und sogar anfänglich als solches beansprucht sind, ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen aus der Kombination herausgenommen werden, und die beanspruchte Kombination kann auf eine Unterkombination oder eine Variation einer Unterkombination gerichtet sein.
  • Gleichermaßen sollte, während Operationen in den Zeichnungen in einer bestimmten Reihenfolge gezeigt sind, dies nicht derart verstanden werden, dass es erforderlich ist, dass solche Operationen in der bestimmten Reihenfolge, die gezeigt ist, oder in einer sequentiellen Reihenfolge durchgeführt werden, oder dass alle dargestellten Operationen durchgeführt werden, um erwünschte Ergebnisse zu erreichen. In bestimmten Fällen können Multitasking bzw. ein Mehrprozessbetrieb und eine Parallelverarbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung von verschiedenen Systemmodulen und -komponenten bei den oben beschriebenen Ausführungsformen nicht derart verstanden werden, dass eine solche Trennung bei allen Ausführungsformen erforderlich ist, und es sollte verstanden werden, dass die beschriebenen Programmkomponenten und Systeme allgemein zusammen in einem einzigen Softwareprodukt integriert oder in mehrere Softwareprodukte gepackt werden können.
  • Bstimmte Ausführungsformen des Gegenstands sind beschrieben worden. Andere Ausführungsformen sind innerhalb des Schutzumfangs der folgenden Ansprüche. Beispielsweise können die in den Ansprüchen vorgetragenen Aktionen in einer anderen Reihenfolge durchgeführt werden und noch erwünschte Ergebnisse erreichen. Als ein Beispiel erfordern die in den beigefügten Figuren gezeigten Prozesse nicht notwendigerweise die bestimmte Reihenfolge, die gezeigt ist, oder eine sequentielle Reihenfolge, um erwünschte Ergebnisse zu erreichen. Bei bestimmten Implementierungen können Multitasking und eine Parallelverarbeitung vorteilhaft sein.

Claims (20)

  1. System, das folgendes aufweist: ein rekurrentes neuronales Netz, das durch einen oder mehrere Computer implementiert ist, wobei das rekurrente neuronale Netz konfiguriet ist, um bei jeder einer Vielzahl von Zeitschritten eine jeweilige Eingabe des neuronalen Netzes zu empfangen und bei jedem der Vielzahl von Zeitschritten eine jeweilige Ausgabe des neuronalen Netzes zu erzeugen, und wobei das rekurrente neuronale Netz folgendes aufweist: eine erste Schicht mit langem Kurzzeitgedächtnis (LSTM-Schicht), wobei die erste LSTM-Schicht konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Anwenden einer Vielzahl von Gattern auf eine aktuelle Schichteneingabe, einen aktuellen Schichtenzustand und eine aktuelle Schichtenausgabe einen neuen Schichtenzustand und eine neue Schichtenausgabe zu erzeugen, wobei jedes der Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzal von Zeitschritten durch Multiplizieren eines Gattereingabevektors und einer Gatterparametermatrix einen jeweiligen Zwischen-Gatterausgabevektor zu erzeugen, und wobei die Gatterparametermatrix für wenigstens eines der Vielzahl von Gattern eine Toeplitz-artig strukturierte Matrix ist.
  2. System nach Anspruch 1, wobei das rekurrente neuronale Netz eine zweite LSTM-Schicht aufweist, wobei die zweite LSTM-Schicht konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Anwenden einer zweiten Vielzahl von Gatttern auf eine zweite aktuelle Schichteneingabe, einen zweiten aktuellen Schichtenzustand und eine zweite aktuelle Schichtenausgabe einen zweiten neuen Schichtenzustand und eine zweite neue Schichtenausgabe zu erzeugen, wobei jedes der zweiten Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Multiplizieren eines zweiten Gattereingabevektors und einer zweiten Parametermatrix einen jeweiligen zweiten Zwischen-Gatterausgabevektor zu erzeugen, und wobei die Gatterparametermatrix für wenigstens eines der zweiten Vielzahl von Gattern durch eine komprimierte Parametermatrix und eine Prokjektionsmatrix definiert ist.
  3. System nach Anspruch 2, wobei die erste LSTM-Schicht und die zweite LSTM-Schicht jeweils eine einer Vielzahl von LSTM-Schichten in einem geordneten Stapel von Schichten sind.
  4. System nach Anspruch 3, wobei die erste LSTM-Schicht in dem Stapel niedriger als die zweite LSTM-Schicht ist.
  5. System nach einem der vorangehenden Ansprüche, wobei jedes der Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzahl von Zeitschritten eine jeweilige Gating-Funktion auf jede Komponente des jeweiligen Zwischen-Gatterausgabevektors anzuwenden, um einen jeweiligen End-Gatterausgabevektor zu erzeugen.
  6. System nach einem der vorangehenden Ansprüche, wobei das neuronale Netz ein akustisches Modell ist.
  7. System nach einem der vorangehenden Ansprüche, wobei das neuronale Netz ein Spracherkennungsmodell ist.
  8. System nach einem der vorangehenden Ansprüche, wobei das neuronale Netz um wenigstens 75% einer unkomprimierten Version des neuronalen Netzes komprimiert ist.
  9. System nach einem der vorangehenden Ansprüche, wobei eine Wortfehlerrate des neuronalen Netzes innerhalb von 0,3% einer Wortfehlerrate einer unkomprimierten Version des neuronalen Netzes ist.
  10. System, das folgendes aufweist: ein rekurrentes neuronales Netz, das durch einen oder mehrere Computer implementiert ist, wobei das rekurrente neuronale Netz konfiguriet ist, um bei jeder einer Vielzahl von Zeitschritten eine jeweilige Eingabe des neuronalen Netzes zu empfangen und bei jedem der Vielzahl von Zeitschritten eine jeweilige Ausgabe des neuronalen Netzes zu erzeugen, und wobei das rekurrente neuronale Netz folgendes aufweist: eine erste Schicht mit langem Kurzzeitgedächtnis (LSTM-Schicht), wobei die erste LSTM-Schicht konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Anwenden einer Vielzahl von Gattern auf eine aktuelle Schichteneingabe, einen aktuellen Schichtenzustand und eine aktuelle Schichtenausgabe einen neuen Schichtenzustand und eine neue Schichtenausgabe zu erzeugen, wobei jedes der Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzal von Zeitschritten durch Multiplizieren eines Gattereingabevektors und einer Gatterparametermatrix einen jeweiligen Zwischen-Gatterausgabevektor zu erzeugen, und wobei die Gatterparametermatrix für wenigstens eines der Vielzahl von Gattern durch eine komprimierte Parametermatrix und eine Prokjektionsmatrix definiert ist.
  11. System nach Anspruch 10, wobei das rekurrente neuronale Netz eine zweite LSTM-Schicht aufweist, wobei die zweite LSTM-Schicht konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Anwenden einer zweiten Vielzahl von Gatttern auf eine zweite aktuelle Schichteneingabe, einen zweiten aktuellen Schichtenzustand und eine zweite aktuelle Schichtenausgabe einen zweiten neuen Schichtenzustand und eine zweite neue Schichtenausgabe zu erzeugen, wobei jedes der zweiten Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Multiplizieren eines zweiten Gattereingabevektors und einer zweiten Parametermatrix einen jeweiligen zweiten Zwischen-Gatterausgabevektor zu erzeugen, und wobei die Gatterparametermatrix für wenigstens eines der zweiten Vielzahl von Gattern eine Toeplitz-artig strukturierte Matrix ist.
  12. System nach Anspruch 11, wobei die erste LSTM-Schicht und die zweite LSTM-Schicht jeweils eine einer Vielzahl von LSTM-Schichten in einem geordneten Stapel von Schichten sind.
  13. System nach Anspruch 12, wobei die erste LSTM-Schicht in dem Stapel niedriger als die zweite LSTM-Schicht ist.
  14. System nach einem der Ansprüche 10 bis 13, wobei jedes der Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzahl von Zeitschritten eine jeweilige Gating-Funktion auf jede Komponente des jeweiligen Zwischen-Gatterausgabevektors anzuwenden, um einen jeweiligen End-Gatterausgabevektor zu erzeugen.
  15. System nach einem der Ansprüche 10 bis 14, wobei das neuronale Netz ein akustisches Modell ist.
  16. System nach einem der Ansprüche 10 bis 15, wobei das neuronale Netz ein Spracherkennungsmodell ist.
  17. System nach einem der Ansprüche 10 bis 16, wobei das neuronale Netz um wenigstens 75% einer unkomprimierten Version des neuronalen Netzes komprimiert ist.
  18. System nach einem der Ansprüche 10 bis 17, wobei eine Wortfehlerrate des neuronalen Netzes innerhalb von 0,3% einer Wortfehlerrate einer unkomprimierten Version des neuronalen Netzes ist.
  19. Ein oder mehrere nichtflüchtige Computerspeichermedien, codiert mit einem Computerprogrammprodukt, wobei das Computerprogrammprodukt Anweisungen aufweist, die dann, wenn sie durch einen oder mehrere Computer ausgeführt werden, veranlassen, dass der eine oder die mehreren Computer Operationen durchführen, die folgendes implementieren: ein rekurrentes neuronales Netz, das durch einen oder mehrere Computer implementiert ist, wobei das rekurrente neuronale Netz konfiguriet ist, um bei jeder einer Vielzahl von Zeitschritten eine jeweilige Eingabe des neuronalen Netzes zu empfangen und bei jedem der Vielzahl von Zeitschritten eine jeweilige Ausgabe des neuronalen Netzes zu erzeugen, und wobei das rekurrente neuronale Netz folgendes aufweist: eine erste Schicht mit langem Kurzzeitgedächtnis (LSTM-Schicht), wobei die erste LSTM-Schicht konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Anwenden einer Vielzahl von Gattern auf eine aktuelle Schichteneingabe, einen aktuellen Schichtenzustand und eine aktuelle Schichtenausgabe eine neuen Schichtenzustand und eine neue Schichtenausgabe zu erzeugen, wobei jedes der Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzal von Zeitschritten durch Multiplizieren eines Gattereingabevektors und einer Gatterparametermatrix einen jeweiligen Zwischen-Gatterausgabevektor zu erzeugen, und wobei die Gatterparametermatrix für wenigstens eines der Vielzahl von Gattern eine Toeplitz-artig strukturierte Matrix ist.
  20. Ein oder mehrere nichtflüchtige Computerspeichermedien, codiert mit einem Computerprogrammprodukt, wobei das Computerprogrammprodukt Anweisungen aufweist, die dann, wenn sie durch einen oder mehrere Computer ausgeführt werden, veranlassen, dass der eine oder die mehreren Computer folgendes implementiert: ein rekurrentes neuronales Netz, das durch einen oder mehrere Computer implementiert ist, wobei das rekurrente neuronale Netz konfiguriet ist, um bei jeder einer Vielzahl von Zeitschritten eine jeweilige Eingabe des neuronalen Netzes zu empfangen und bei jedem der Vielzahl von Zeitschritten eine jeweilige Ausgabe des neuronalen Netzes zu erzeugen, und wobei das rekurrente neuronale Netz folgendes aufweist: eine erste Schicht mit langem Kurzzeitgedächtnis (LSTM-Schicht), wobei die erste LSTM-Schicht konfiguriert ist, um für jeden der Vielzahl von Zeitschritten durch Anwenden einer Vielzahl von Gattern auf eine aktuelle Schichteneingabe, einen aktuellen Schichtenzustand und eine aktuelle Schichtenausgabe eine neuen Schichtenzustand und eine neue Schichtenausgabe zu erzeugen, wobei jedes der Vielzahl von Gattern konfiguriert ist, um für jeden der Vielzal von Zeitschritten durch Multiplizieren eines Gattereingabevektors und einer Gatterparametermatrix einen jeweiligen Zwischen-Gatterausgabevektor zu erzeugen, und wobei die Gatterparametermatrix für wenigstens eines der Vielzahl von Gattern durch eine komprimierte Parametermatrix und eine Prokjektionsmatrix definiert ist.
DE202016008302.4U 2016-03-01 2016-12-29 Komprimierte rekurrente neuronale Netzmodelle Active DE202016008302U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662301734P 2016-03-01 2016-03-01
US62/301,734 2016-03-01
US15/172,457 US10515307B2 (en) 2015-06-05 2016-06-03 Compressed recurrent neural network models
US15/172,457 2016-06-03

Publications (1)

Publication Number Publication Date
DE202016008302U1 true DE202016008302U1 (de) 2017-07-14

Family

ID=59522158

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102016125838.5A Pending DE102016125838A1 (de) 2016-03-01 2016-12-29 Komprimierte rekurrente neuronale netzmodelle
DE202016008302.4U Active DE202016008302U1 (de) 2016-03-01 2016-12-29 Komprimierte rekurrente neuronale Netzmodelle

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102016125838.5A Pending DE102016125838A1 (de) 2016-03-01 2016-12-29 Komprimierte rekurrente neuronale netzmodelle

Country Status (7)

Country Link
US (2) US10515307B2 (de)
EP (2) EP3955168B1 (de)
JP (1) JP6666457B2 (de)
KR (1) KR102177232B1 (de)
CN (1) CN107145940B (de)
DE (2) DE102016125838A1 (de)
WO (1) WO2017151203A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112119409A (zh) * 2018-05-18 2020-12-22 渊慧科技有限公司 具有关系存储器的神经网络

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10083169B1 (en) * 2015-08-28 2018-09-25 Google Llc Topic-based sequence modeling neural networks
US10380481B2 (en) * 2015-10-08 2019-08-13 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs concurrent LSTM cell calculations
US10521715B1 (en) 2016-01-15 2019-12-31 Google Llc Long short-term memory cells with saturating gating functions
EP3374932B1 (de) * 2016-02-03 2022-03-16 Google LLC Komprimierte rekurrente neuronale netzmodelle
US10984308B2 (en) * 2016-08-12 2021-04-20 Xilinx Technology Beijing Limited Compression method for deep neural networks with load balance
US10762426B2 (en) * 2016-08-12 2020-09-01 Beijing Deephi Intelligent Technology Co., Ltd. Multi-iteration compression for deep neural networks
US10387751B2 (en) * 2017-01-12 2019-08-20 Arizona Board Of Regents On Behalf Of Arizona State University Methods, apparatuses, and systems for reconstruction-free image recognition from compressive sensors
EP3559868A1 (de) 2017-03-24 2019-10-30 Google LLC Vorrichtungsplatzierungsoptimierung mit verstärkungslernen
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
WO2018212599A1 (en) * 2017-05-17 2018-11-22 Samsung Electronics Co., Ltd. Super-resolution processing method for moving image and image processing apparatus therefor
US10447635B2 (en) 2017-05-17 2019-10-15 Slice Technologies, Inc. Filtering electronic messages
US11468295B2 (en) 2017-05-19 2022-10-11 Deepmind Technologies Limited Generating output examples using bit blocks
CN116702843A (zh) * 2017-05-20 2023-09-05 谷歌有限责任公司 投影神经网络
US10853724B2 (en) 2017-06-02 2020-12-01 Xerox Corporation Symbolic priors for recurrent neural network based semantic parsing
CN107293288B (zh) * 2017-06-09 2020-04-21 清华大学 一种残差长短期记忆循环神经网络的声学模型建模方法
CN109376856B (zh) * 2017-08-09 2022-07-08 上海寒武纪信息科技有限公司 数据处理方法及处理装置
CN107563332A (zh) * 2017-09-05 2018-01-09 百度在线网络技术(北京)有限公司 用于确定无人车的驾驶行为的方法和装置
US11620506B2 (en) * 2017-09-18 2023-04-04 Koninklijke Philips N.V. Condensed memory networks
US11556775B2 (en) * 2017-10-24 2023-01-17 Baidu Usa Llc Systems and methods for trace norm regularization and faster inference for embedded models
US10726335B2 (en) 2017-10-26 2020-07-28 Uber Technologies, Inc. Generating compressed representation neural networks having high degree of accuracy
CN109728928B (zh) * 2017-10-30 2021-05-07 腾讯科技(深圳)有限公司 事件识别方法和终端、模型生成方法和服务器及存储介质
CN109997155A (zh) * 2017-11-02 2019-07-09 Tdk株式会社 包含仿神经元件的阵列装置及神经网络***
CN109993298B (zh) * 2017-12-29 2023-08-08 百度在线网络技术(北京)有限公司 用于压缩神经网络的方法和装置
US11586924B2 (en) * 2018-01-23 2023-02-21 Qualcomm Incorporated Determining layer ranks for compression of deep networks
US11803883B2 (en) 2018-01-29 2023-10-31 Nielsen Consumer Llc Quality assurance for labeled training data
US20200401874A1 (en) * 2018-02-09 2020-12-24 Deepmind Technologies Limited Generating output examples using recurrent neural networks conditioned on bit values
CN110197262B (zh) * 2018-02-24 2021-07-30 赛灵思电子科技(北京)有限公司 用于lstm网络的硬件加速器
EP3537345A1 (de) * 2018-03-06 2019-09-11 Hybris AG Computerimplementiertes verfahren, system und computerprogrammprodukt zur bereitstellung einer gesprächsanwendungsschnittstelle
KR102622349B1 (ko) 2018-04-02 2024-01-08 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20190118332A (ko) 2018-04-10 2019-10-18 삼성전자주식회사 전자 장치 및 그 제어 방법
US11769036B2 (en) 2018-04-18 2023-09-26 Qualcomm Incorporated Optimizing performance of recurrent neural networks
RU2702978C1 (ru) * 2018-10-15 2019-10-14 Самсунг Электроникс Ко., Лтд. Байесовское разреживание рекуррентных нейронных сетей
US11568237B2 (en) 2018-05-10 2023-01-31 Samsung Electronics Co., Ltd. Electronic apparatus for compressing recurrent neural network and method thereof
CN110673824B (zh) * 2018-07-03 2022-08-19 赛灵思公司 矩阵向量乘电路以及循环神经网络硬件加速器
US10909970B2 (en) * 2018-09-19 2021-02-02 Adobe Inc. Utilizing a dynamic memory network to track digital dialog states and generate responses
US10611026B1 (en) * 2018-10-16 2020-04-07 University Of South Florida Systems and methods for learning and generating movement policies for a dynamical system
CN112955907B (zh) * 2018-10-30 2024-07-19 谷歌有限责任公司 用于量化训练的长短期记忆神经网络的方法和***
US11055330B2 (en) * 2018-11-26 2021-07-06 International Business Machines Corporation Utilizing external knowledge and memory networks in a question-answering system
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
CN111353598A (zh) * 2018-12-20 2020-06-30 中科寒武纪科技股份有限公司 一种神经网络压缩方法、电子设备及计算机可读介质
EP3939301A1 (de) * 2019-03-15 2022-01-19 InterDigital VC Holdings, Inc. Komprimierung eines tiefen neuronalen netzwerks basierend auf einem niedrigen verdrängungsrang
US11234024B2 (en) 2019-11-26 2022-01-25 Tencent America LLC Method and apparatus for three-dimensional (3D)-tree coding for neural network model compression
US11245903B2 (en) 2019-11-22 2022-02-08 Tencent America LLC Method and apparatus for quantization, adaptive block partitioning and codebook coding for neural network model compression
CN114041292A (zh) 2019-11-22 2022-02-11 腾讯美国有限责任公司 用于神经网络模型压缩的三维(3d)树编解码的方法和装置
JP7337950B2 (ja) * 2019-11-22 2023-09-04 テンセント・アメリカ・エルエルシー ニューラルネットワークモデル圧縮のための量子化、適応ブロック分割、及びコードブック符号化の方法及び装置、並びにコンピュータープログラム
US20230010859A1 (en) * 2019-12-11 2023-01-12 Korea Electronics Technology Institute Method and apparatus for encoding/decoding deep learning network
RU2734579C1 (ru) * 2019-12-30 2020-10-20 Автономная некоммерческая образовательная организация высшего образования "Сколковский институт науки и технологий" Система сжатия искусственных нейронных сетей на основе итеративного применения тензорных аппроксимаций
WO2021151056A1 (en) * 2020-01-24 2021-07-29 Northeastern University Computer-implemented methods and systems for compressing recurrent neural network (rnn) models and accelerating rnn execution in mobile devices to achieve real-time inference
US11564101B2 (en) * 2020-07-31 2023-01-24 Beijing Voyager Technology Co., Ltd. Method and system for handling network intrusion
CN112800756B (zh) * 2020-11-25 2022-05-10 重庆邮电大学 一种基于prado的实体识别方法
CN112687290B (zh) * 2020-12-30 2022-09-20 同济大学 一种经过压缩的咳嗽自动检测方法及嵌入式设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701236B2 (en) * 2001-10-19 2004-03-02 Yamaha Hatsudoki Kabushiki Kaisha Intelligent mechatronic control suspension system based on soft computing
US20040199482A1 (en) * 2002-04-15 2004-10-07 Wilson Scott B. Systems and methods for automatic and incremental learning of patient states from biomedical signals
US9620108B2 (en) * 2013-12-10 2017-04-11 Google Inc. Processing acoustic sequences using long short-term memory (LSTM) neural networks that include recurrent projection layers
US9400955B2 (en) 2013-12-13 2016-07-26 Amazon Technologies, Inc. Reducing dynamic range of low-rank decomposition matrices
US20160035344A1 (en) 2014-08-04 2016-02-04 Google Inc. Identifying the language of a spoken utterance
US9678664B2 (en) * 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
US10140572B2 (en) * 2015-06-25 2018-11-27 Microsoft Technology Licensing, Llc Memory bandwidth management for deep learning applications
CN105184369A (zh) * 2015-09-08 2015-12-23 杭州朗和科技有限公司 用于深度学习模型的矩阵压缩方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112119409A (zh) * 2018-05-18 2020-12-22 渊慧科技有限公司 具有关系存储器的神经网络
CN112119409B (zh) * 2018-05-18 2024-04-05 渊慧科技有限公司 具有关系存储器的神经网络

Also Published As

Publication number Publication date
KR20180096779A (ko) 2018-08-29
EP3955168B1 (de) 2024-07-10
CN107145940B (zh) 2021-02-12
JP6666457B2 (ja) 2020-03-13
JP2019512760A (ja) 2019-05-16
CN107145940A (zh) 2017-09-08
US10515307B2 (en) 2019-12-24
EP3955168A1 (de) 2022-02-16
US11741366B2 (en) 2023-08-29
WO2017151203A1 (en) 2017-09-08
DE102016125838A1 (de) 2017-09-07
KR102177232B1 (ko) 2020-11-10
EP3398115B1 (de) 2021-09-15
US20170076196A1 (en) 2017-03-16
US20200134470A1 (en) 2020-04-30
EP3398115A1 (de) 2018-11-07

Similar Documents

Publication Publication Date Title
DE202016008302U1 (de) Komprimierte rekurrente neuronale Netzmodelle
DE102016125918A1 (de) Komprimierte rekurrente neuronale Netzwerkmodelle
DE202017106532U1 (de) Suche nach einer neuronalen Architektur
US10586531B2 (en) Speech recognition using convolutional neural networks
DE202017106697U1 (de) Umgebungsnavigation unter Verwendung von Verstärkungslernen
DE112016000509T5 (de) Batch-Normalisierungsschichten
DE202017106363U1 (de) Neuronale Antwort-auf-Frage-Netze
DE102018103303A1 (de) Implementieren neuronaler Netze in Festkommaarithmetik-Berechnungssystemen
DE112016003350T5 (de) Kontinuierliche steuerung mit tiefem bestärkendem lernen
DE202016107436U1 (de) Neuronaler Netzwerkprozessor
DE202016008203U1 (de) Spracherkennungssystem
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE102018105198A1 (de) Tiefenverkettung unter Verwendung einer Matrixberechnungseinheit
DE202020101701U1 (de) Trainieren neuronaler Netze unter Verwendung von Datenvermehrungsstrategien
DE102016013487A1 (de) Semantischer Vektorraum mit natürlicher Sprache
DE202017007641U1 (de) Training von maschinellen Lernmodellen auf mehrere maschinelle Lernaufgaben
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE212020000731U1 (de) Kontrastives Vortraining für Sprachaufgaben
DE202016107476U1 (de) Stapel-Verarbeitung in einem neuronalen Netzwerkprozessor
DE202017107393U1 (de) Vorhersagen eines Suchmaschinen-Einordnungssignalwerts
DE102016100046A1 (de) Verfahren, System und Benutzerschnittstelle zur Expertensuche auf der Basis von Aufzeichnungen zu Lösungen von Problemstellungen
DE212022000260U1 (de) Bewerten von Ausgabesequenzen unter Benutzen eines neuronalen autoregressiven Sprachmodell-Netzwerkes
DE102022003003A1 (de) Automatische Fotobearbeitung mittels sprachlicher Anweisung
DE112019006317T5 (de) Implementierung eines mehrschichtigen neuronalen netzwerks unter verwendung einer einzigen physikalischen schicht aus analogen neuronen
DE112021001767T5 (de) Rationalisieren von datenverarbeitungsoptimierungen für arbeitslasten mit maschinellem lernen

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years