DE112016000509T5 - Batch-Normalisierungsschichten - Google Patents

Batch-Normalisierungsschichten Download PDF

Info

Publication number
DE112016000509T5
DE112016000509T5 DE112016000509.1T DE112016000509T DE112016000509T5 DE 112016000509 T5 DE112016000509 T5 DE 112016000509T5 DE 112016000509 T DE112016000509 T DE 112016000509T DE 112016000509 T5 DE112016000509 T5 DE 112016000509T5
Authority
DE
Germany
Prior art keywords
layer
neural network
output
outputs
component
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
DE112016000509.1T
Other languages
English (en)
Inventor
Sergey Ioffe
Corinna Cortes
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
Priority to US201562108984P priority Critical
Priority to US62/108,984 priority
Application filed by Google LLC filed Critical Google LLC
Priority to PCT/US2016/015476 priority patent/WO2016123409A1/en
Publication of DE112016000509T5 publication Critical patent/DE112016000509T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6267Classification techniques
    • G06K9/6268Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches
    • G06K9/6277Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches based on a parametric (probabilistic) model, e.g. based on Neyman-Pearson lemma, likelihood ratio, Receiver Operating Characteristic [ROC] curve plotting a False Acceptance Rate [FAR] versus a False Reject Rate [FRR]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6298Statistical pre-processing, e.g. techniques for normalisation or restoring missing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/08Learning methods
    • G06N3/084Back-propagation

Abstract

Verfahren, Systeme und Vorrichtungen einschließlich Computerprogrammen, die auf Computerspeichermedien codiert sind, zum Verarbeiten von Eingaben unter Verwendung eines neuronalen Netzwerksystems, das eine Batch-Normalisierungsschicht enthält. Eines der Verfahren umfasst das Empfangen einer jeweiligen ersten Schichtausgabe für jedes Trainingsbeispiel in dem Batch; Berechnen einer Vielzahl von Normalisierungsstatistiken für das Batch aus den ersten Schichtausgaben; Normalisieren jeder Komponente jeder ersten Schichtausgabe unter Verwendung der Normalisierungsstatistik zum Erzeugen einer jeweiligen normalisierten Schichtausgabe für jedes Trainingsbeispiel in dem Batch; Erzeugen einer jeweiligen Batch-Normalisierungsschichtausgabe für jedes der Trainingsbeispiele aus den normalisierten Schichtausgaben; und Bereitstellen der Batch-Normalisierungsschichtausgabe als Eingabe für die zweite neuronale Netzwerkschicht.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Diese Spezifikation bezieht sich auf Verarbeitungseingaben durch die Schichten von neuronalen Netzwerken, um Ausgaben zu erzeugen.
  • Neuronale Netzwerke sind Maschinenlernmodelle, bei denen eine oder mehrere Schichten von nichtlinearen Einheiten zum Prognostizieren einer Ausgabe für eine empfangene Eingabe verwendet werden. Einige neuronale Netzwerke umfassen zusätzlich zu einer Ausgabeschicht eine oder mehrere verborgene Schichten. Die Ausgabe jeder verborgenen Schicht wird innerhalb des Netzwerks als Eingabe in die nächste Schicht, d. h., in die nächste verborgene Schicht oder Ausgabeschicht, verwendet. Jede Schicht des Netzwerks erzeugt in Übereinstimmung mit aktuellen Werten eines jeweiligen Satzes von Parametern eine Ausgabe von einer empfangenen Eingabe.
  • KURZDARSTELLUNG
  • Im Allgemeinen kann ein innovativer Aspekt des in dieser Spezifikation beschriebenen Gegenstandes in einem neuronalen Netzwerksystem ausgeführt werden, das durch einen oder mehrere Computer implementiert ist, die eine Batch-Normalisierungsschicht zwischen einer ersten neuronalen Netzwerkschicht und einer zweiten neuronalen Netzwerkschicht umfassen, wobei die erste neuronale Netzwerkschicht erste Schichtausgänge mit einer Vielzahl von Komponenten erzeugt, wobei die Batch-Normalisierungsschicht während des Trainings des neuronalen Netzwerksystems auf einem Batch von Trainingsbeispielen konfiguriert ist zum: Empfangen einer jeweiligen ersten Schichtausgabe für jedes Trainingsbeispiel in dem Batch; Berechnen einer Vielzahl von Normalisierungsstatistiken für das Batch aus den Ausgaben der ersten Schicht; Normalisieren jeder Komponente jeder ersten Schichtausgabe unter Verwendung der Normalisierungsstatistik, um eine jeweilige normalisierte Schichtausgabe für jedes Trainingsbeispiel in dem Batch zu erzeugen; Erzeugen einer jeweiligen Batch-Normalisierungsschicht-Ausgabe für jedes der Trainingsbeispiele aus den normalisierten Schichtausgaben; und Bereitstellen der Batch-Normalisierungsschicht als Eingabe für die zweite neuronale Netzwerkschicht.
  • Ein zur Ausführung bestimmter Operationen oder Aktionen konfiguriertes System aus einem oder mehreren Computern bedeutet, dass dieses mithilfe von im System installierter und ausgeführter Software, Firmware, Hardware oder einer Kombination hiervon Operationen und Aktionen durchführt. Ein oder mehrere zur Ausführung bestimmter Operationen oder Aktionen konfigurierte Computerprogramme bedeutet, dass dieses eine oder die mehreren Programme Anweisungen beinhalten, die bei Ausführung durch die Datenverarbeitungsvorrichtung bewirken, dass die Vorrichtung die Operationen oder Aktionen durchführt.
  • Bestimmte Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands können so implementiert werden, dass sie einen oder mehrere der folgenden Vorteile verwirklichen. Ein neuronales Netzwerksystem, das eine oder mehrere Batch-Normalisierungsschichten umfasst, kann schneller trainiert werden als ein ansonsten identisches neuronales Netzwerk, das keine Batch-Normalisierungsschichten enthält. Zum Beispiel können durch die Einbeziehung einer oder mehrerer Batch-Normalisierungsschichten in das neuronale Netzwerksystem Probleme, die durch die Verteilung der Eingaben einer gegebenen Schicht während des Trainings verursacht werden, gemildert werden. Dies kann dazu führen, dass höhere Lernraten während des Trainings effektiv genutzt werden und die Auswirkungen der Initialisierung der Parameter auf den Trainingsprozess verringern können. Zusätzlich können während des Trainings die Batch-Normalisierungsschichten als ein Regulator verwendet werden und können die Notwendigkeit für andere Regularisierungstechniken, z.B. Dropout, während des Trainings verwenden, verringern. Einmal trainiert, kann das neuronale Netzwerksystem, das eine Normalisierungsschicht enthält, neuronale Netzwerkausgaben erzeugen, die genauso genau, wenn nicht genauer sind als die neuronalen Netzwerkausgaben, die durch das ansonsten identische neuronale Netzwerksystem erzeugt werden.
  • Die Details einer oder mehrerer Ausführungsformen des Gegenstands dieser Spezifikation sind in den begleitenden Zeichnungen und der nachstehenden Beschreibung veranschaulicht. Weitere Merkmale, Aspekte und Vorteile des Gegenstands werden anhand der Beschreibung, der Zeichnungen und der Patentansprüche ersichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Beispiel eines neuronalen Netzwerksystems.
  • 2 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Verarbeiten einer Eingabe unter Verwendung einer Batch-Normalisierungsschicht während des Trainings des neuronalen Netzwerksystems.
  • 3 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Verarbeiten einer Eingabe unter Verwendung einer Batch-Normalisierung, nachdem das neuronale Netzwerksystem trainiert worden ist.
  • In den unterschiedlichen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Diese Spezifikation beschreibt ein neuronales Netzwerksystem, das als Computerprogramme auf einem oder mehreren Computern an einer oder mehreren Stellen implementiert ist, die eine Batch-Normalisierungsschicht enthalten.
  • 1 zeigt ein Beispiel eines neuronalen Netzwerksystems 100. Das neuronale Netzwerksystem 100 ist ein Beispiel für ein System, das in Form von Computerprogrammen auf einem oder mehreren Computern an einem oder mehreren Standorten implementiert ist, in denen die nachfolgend beschriebenen Systeme, Komponenten und Techniken implementiert sind.
  • Das neuronale Netzwerksystem 100 beinhaltet mehrere neuronale Netzwerkschichten, die in einer Sequenz von einer untersten Schicht in der Sequenz zu einer höchsten Schicht in der Sequenz angeordnet sind. Das neuronale Netzwerksystem erzeugt neuronale Netzwerkausgänge von neuronalen Netzeingängen durch Verarbeiten der neuronalen Netzwerkeingaben durch jede der Schichten in der Sequenz.
  • Das neuronale Netzwerksystem 100 kann so konfiguriert werden, dass es jede Art von digitaler Dateneingabe empfängt und jede Art von Punktzahl oder Klassifikationsausgabe basierend auf der Eingabe erzeugt.
  • Sind beispielsweise Eingaben in das neuronale Netzwerksystem 100 Bilder oder aus Bildern extrahierte Merkmale, kann die durch das neuronale Netzwerksystem 100 für ein gegebenes Bild erzeugte Ausgabe jeweils eine Punktzahl für jede einer Gruppe von Objektkategorien sein, wobei jede Punktzahl eine geschätzte Wahrscheinlichkeit darstellt, dass das Bild ein Bild eines zu der Kategorie gehörenden Objektes enthält.
  • Ein weiteres Beispiel: Sind Eingaben in das neuronale Netzwerksystem 100 Internet-Ressourcen (z. B. Webseiten), Dokumente oder Teile von Dokumenten oder aus Internet-Ressourcen, Dokumenten oder Teile von aus Dokumenten extrahierte Merkmale, kann die durch das neuronale Netzwerksystem 100 erzeugte Ausgabe für eine gegebene Internet-Ressource, ein Dokument oder einen Teil eines Dokuments eine Punktzahl für jede einer Gruppe von Themen sein, wobei jede Punktzahl eine geschätzte Wahrscheinlichkeit darstellt, mit der die Internet-Ressource, das Dokument oder der Dokumentenabschnitt von dem Thema handelt.
  • Als weiteres Beispiel, wenn die Eingaben in das neuronale Netzwerksystem 100 Merkmale eines Impressionskontexts für eine bestimmte Werbung sind, kann die von dem neuronalen Netzwerksystem 100 erzeugte Ausgabe eine Punktzahl sein, die eine geschätzte Wahrscheinlichkeit darstellt, dass die jeweilige Anzeige angeklickt wird.
  • Als ein anderes Beispiel: Sind die Eingaben in das neuronale Netzwerksystem 100 Merkmale einer personalisierten Empfehlung für einen Benutzer, z. B. Merkmale, die den Kontext für die Empfehlung charakterisieren, z. B. Merkmale, die vom Benutzer ergriffene vorherige Handlungen kennzeichnen, kann die von dem neuronalen Netzwerksystem 100 erzeugte Ausgabe eine Punktzahl für jeden Satz von Inhaltselementen sein, wobei jede Punktzahl eine geschätzte Wahrscheinlichkeit darstellt, mit der der Benutzer positiv auf den Empfang der Empfehlung des Inhaltselementes reagiert.
  • Als noch ein weiteres Beispiel: Ist die Eingabe in das neuronale Netzwerksystem 100 Text in einer Sprache, kann die von dem neuronalen Netzwerksystem 100 erzeugte Ausgabe eine Punktzahl für jeden eines Satzes von in eine andere Sprache übersetzten Textteilen sein, wobei jede Punktzahl eine geschätzte Wahrscheinlichkeit darstellt, mit der angegeben wird, in wieweit der eingegebene Textteil in einer Sprache eine korrekte Übersetzung des Textes in eine andere Sprache ist.
  • Als wieder ein anderes Beispiel: Enthält die Eingabe in das neuronale Netzwerksystem 100 Merkmale einer gesprochenen Äußerung, eine Folge von gesprochenen Äußerungen oder von einem oder den zwei abgeleiteten Merkmalen kann die von dem neuronalen Netzwerksystem 100 erzeugte Ausgabe eine Punktzahl für jeden eines Satzes von Textteilen sein, wobei jede Punktzahl eine geschätzte Wahrscheinlichkeit darstellt, mit der der Textteil die richtige Transkription für die Äußerung oder die Folge von Äußerungen darstellt.
  • Als weiteres Beispiel kann das neuronale Netzwerksystem 100 Teil eines Autovervollständigungssystems oder eines Teils eines Textverarbeitungssystems sein.
  • Als weiteres Beispiel kann das neuronale Netzwerksystem 100 Teil eines Verstärkungslernsystems sein und kann Ausgaben erzeugen, die zum Auswählen von Aktionen verwendet werden, die von einem Agenten durchgeführt werden, der mit einer Umgebung zusammenwirkt.
  • Insbesondere ist jede der Schichten des neuronalen Netzes so konfiguriert, dass sie eine Eingabe empfängt und eine Ausgabe von der Eingabe erzeugt und die neuronalen Netzwerkschichten kollektiv neuronale Netzwerkeingaben verarbeiten, die von dem neuronalen Netzwerksystem 100 empfangen werden, um jeweils eine jeweilige neuronale Netzwerkausgabe für jede empfangene neuronale Netzwerkeingabe zu erzeugen. Einige oder alle der neuronalen Netzwerkschichten in der Sequenz erzeugen Ausgänge von Eingaben in Übereinstimmung mit aktuellen Werten eines Satzes von Parametern für die neuronale Netzwerkschicht. Zum Beispiel können einige Schichten die empfangene Eingabe durch eine Matrix von aktuellen Parameterwerten als Teil des Erzeugens einer Ausgabe von der empfangenen Eingabe multiplizieren.
  • Das neuronale Netzwerksystem 100 beinhaltet auch eine Batch-Normalisierungsschicht 108 zwischen einer neuronalen Netzwerkschicht A 104 und einer neuronalen Netzwerkschicht B 112 in der Sequenz von neuronalen Netzwerkschichten. Die Batch-Normalisierungsschicht 108 ist so konfiguriert, dass sie einen Satz von Operationen an Eingaben ausführt, die von der neuronalen Netzwerkschicht A 104 während des Trainings des neuronalen Netzwerksystems 100 empfangen werden, und einen weiteren Satz von Operationen an Eingaben, die von der neuronalen Netzwerkschicht A 104 empfangen werden, nachdem das neuronale Netzwerksystem 100 trainiert wurde.
  • Insbesondere kann das neuronale Netzwerksystem 100 auf mehreren Batches von Trainingsbeispielen trainiert werden, um trainierte Werte der Parameter der neuronalen Netzwerkschichten zu bestimmen. Eine Reihe von Trainingsbeispielen ist ein Satz von mehreren Trainingsbeispielen. Zum Beispiel kann während des Trainings das neuronale Netzwerksystem 100 ein Batch von Trainingsbeispielen 102 verarbeiten und eine jeweilige neuronale Netzwerkausgabe für jedes Trainingsbeispiel in Batch 102 erzeugen. Die neuronalen Netzwerkausgänge können dann verwendet werden, um die Werte der Parameter der neuronalen Netzwerkschichten in der Sequenz einzustellen, z. B. durch herkömmliche Gradientenabstoß- und Backpropagation-Neuronalnetz-Trainingstechniken.
  • Während des Trainings des neuronalen Netzwerksystems 100 auf einem gegebenen Batch von Trainingsbeispielen ist die Batch-Normalisierungsschicht 108 so konfiguriert, dass sie die von der neuronalen Netzwerkschicht A 104 erzeugten Schicht A-Ausgaben 106 für die Trainingsbeispiele im Batch empfängt, die Ausgänge 106 der Schicht A verarbeitet, um eine jeweilige Batch-Normalisierungsschicht-Ausgabe 110 für jedes Trainingsbeispiel in dem Batch zu erzeugen und dann die Batch-Normalisierungsschicht-Ausgaben 110 als eine Eingabe für die neuronale Netzwerkschicht B 112 bereitzustellen. Die Ausgänge 106 der Schicht A umfassen jeweils eine von der neuronalen Netzwerkschicht A 104 erzeugte Ausgabe für jedes Trainingsbeispiel in dem Batch. Ähnlich enthalten die Batch-Normalisierungsschicht-Ausgaben 110 eine jeweilige Ausgabe, die von der Batch-Normalisierungsschicht 108 für jedes Trainingsbeispiel in dem Batch erzeugt wird.
  • Im Allgemeinen berechnet die Batch-Normalisierungsschicht 108 einen Satz von Normalisierungsstatistiken für den Batch aus den Schicht A-Ausgaben 106, normalisiert die Schicht A-Ausgaben 106, um eine jeweilige normalisierte Ausgabe für jedes Trainingsbeispiel in dem Batch zu erzeugen und formt gegebenfalls jede der normalisierten Ausgaben um, bevor die Ausgaben als Eingabe an die neuronale Netzwerkschicht B 112 bereitgestellt werden.
  • Die durch die Batch-Normalisierungsschicht 108 berechnete Normalisierungsstatistik und die Art und Weise, in der die Batch-Normalisierungsschicht 108 die Schicht A-Ausgaben 106 während des Trainings normalisiert, hängt von der Art der neuronalen Netzwerkschicht A 104 ab, die die Schicht A-Ausgaben 106 erzeugt.
  • In einigen Fällen ist die neuronale Netzwerkschicht A 104 eine Schicht, die eine Ausgabe erzeugt, die mehrere Komponenten enthält, die durch Dimension indiziert sind. Beispielsweise kann die neuronale Netzwerkschicht A 104 eine vollständig verbundene neuronale Netzwerkschicht sein. In einigen anderen Fällen ist jedoch die neuronale Netzwerkschicht A 104 eine Faltungsschicht oder eine andere Art von neuronaler Netzwerkschicht, die eine Ausgabe erzeugt, die mehrere Komponenten beinhaltet, die jeweils durch einen Merkmalsindex und einen räumlichen Standortindex indiziert sind. Das Erzeugen der Batch-Normalisierungsschichtausgabe während des Trainings des neuronalen Netzwerksystems 100 in jedem dieser beiden Fälle wird nachfolgend bezugnehmend auf 2 näher beschrieben.
  • Sobald das neuronale Netzwerksystem 100 trainiert worden ist, kann das neuronale Netzwerksystem 100 eine neue neuronale Netzwerkeingabe empfangen, um die neuronale Netzwerkeingabe durch die neuronalen Netzwerkschichten zu verarbeiten, um eine neue neuronale Netzwerkausgabe für die Eingabe entsprechend den trainierten Werten der Parameter der Komponenten des neuronalen Netzwerksystems 100 zu erzeugen. Die Operationen, die durch die Batch-Normalisierungsschicht 108 während der Verarbeitung der neuen neuronalen Netzwerkeingabe durchgeführt werden, hängen auch von der Art der neuronalen Netzwerkschicht A 104 ab. Die Verarbeitung einer neuen neuronalen Netzwerkeingabe, nachdem das neuronale Netzwerksystem 100 trainiert worden ist, wird nachfolgend unter Bezugnahme auf 3 näher beschrieben.
  • Die Batch-Normalisierungsschicht 108 kann an verschiedenen Stellen in der Sequenz von neuronalen Netzwerkschichten beinhaltet sein und in einigen Ausführungen können mehrere Batch-Normalisierungsschichten in der Sequenz beinhalten sein.
  • Wie in 1 gezeigt, erzeugt die neuronale Netzwerkschicht A 104 in einigen Ausführungen Ausgaben durch Modifizieren von Eingaben an die Schicht in Übereinstimmung mit den gegenwärtigen Werten eines Satzes von Parametern für die erste neuronale Netzwerkschicht, z. B. durch Multiplizieren der Eingabe an die Schicht durch eine Matrix der aktuellen Parameterwerte. Bei diesen Ausführungen kann die neuronale Netzwerkschicht B 112 eine Ausgabe von der Batch-Normalisierungsschicht 108 empfangen und eine Ausgabe erzeugen, indem eine nichtlineare Operation, d. h. eine nichtlineare Aktivierungsfunktion, an die Batch-Normalisierungsschicht ausgegeben wird. Somit wird bei diesen Ausführungen die Batch-Normalisierungsschicht 108 in eine herkömmliche neuronale Netzwerkschicht eingeführt und die Operationen der herkömmlichen neuronalen Netzwerkschicht werden zwischen der neuronalen Netzwerkschicht A 104 und der neuronalen Netzwerkschicht B 112 aufgeteilt.
  • In einigen anderen Ausführungen erzeugt die neuronale Netzwerkschicht A 104 die Ausgaben durch Modifizieren von Schichteingaben in Übereinstimmung mit aktuellen Werten eines Satzes von Parametern, um eine modifizierte erste Schicht-Eingabe zu erzeugen und dann eine nichtlineare Operation an die modifizierten ersten Schichteingaben vor dem Bereitstellen der Ausgabe an die Batch-Normalisierungsschicht 108 anzuwenden. Somit wird bei diesen Ausführungen die Batch-Normalisierungsschicht 108 nach einer herkömmlichen neuronalen Netzwerkschicht in der Sequenz eingefügt.
  • 2 ist ein Flussdiagramm eines beispielhaften Verfahrens 200 zum Erzeugen einer Batch-Normalisierungsschichtausgabe während des Trainings eines neuronalen Netzwerks auf einem Batchs von Trainingsbeispielen. Der Einfachheit halber wird der Prozess 200 als etwas beschrieben, dass durch ein System von einem oder mehreren Computern ausgeführt wird, die sich an einem oder mehreren Standorten befinden. Beispielsweise kann eine Batch-Normalisierungsschicht, die in einem neuronalen Netzwerksystem beinhaltet ist, z. B. die Batch-Normalisierungsschicht 108, die in dem neuronalen Netzwerksystem 100 von 1 beinhaltet ist, geeignet programmiert, das Verfahren 200 durchführen.
  • Die Batch-Normalisierungsschicht empfängt Unterschicht-Ausgaben für das Batch von Trainingsbeispielen (Schritt 202). Die Unterschicht-Ausgaben beinhalten jeweils eine Ausgabe, die für jedes Trainingsbeispiel in dem Batch erzeugt wird, durch die Schicht unterhalb der Batch-Normalisierungsschicht in der Sequenz von neuronalen Netzwerkschichten.
  • Die Batch-Normalisierungsschicht erzeugt für jedes Trainingsbeispiel in dem Batch jeweils eine normalisierte Ausgabe (Schritt 204). Das heißt, die Batch-Normalisierungsschicht erzeugt jeweils eine normalisierte Ausgabe von jeder empfangenen Unterschicht-Ausgabe.
  • In einigen Fällen ist die Schicht unterhalb der Batch-Normalisierungsschicht eine Schicht, die eine Ausgabe erzeugt, die mehrere Komponenten umfasst, die durch Dimension indiziert sind.
  • In diesen Fällen berechnet die Batch-Normalisierungsschicht für jede Dimension den Mittelwert und die Standardabweichung der Komponenten der Unterschicht-Ausgaben, die der Dimension entsprechen. Die Batch-Normalisierungsschicht normalisiert dann jede Komponente jeder der Unterschicht-Ausgaben unter Verwendung der Mittelwerte und Standardabweichungen, um jeweils eine normalisierte Ausgabe für jedes der Trainingsbeispiele in dem Batch zu erzeugen. Insbesondere normalisiert die Batch-Normalisierungsschicht für eine gegebene Komponente einer gegebenen Ausgabe die Komponente unter Verwendung des Mittelwerts und der Standardabweichung, die für die dem Bauteil entsprechende Dimension berechnet wird. Beispielsweise erfüllt in einigen Ausführungen die normalisierte Ausgabe x ˆk,i für eine Komponente xk,i entsprechend der k-ten Dimension der i-ten Unterschicht-Ausgabe eines Batchs β:
    Figure DE112016000509T5_0002
    wobei μB der Mittelwert der Komponenten entsprechend der k-ten Dimension der Unterschicht-Ausgaben in Batch β und σB die Standardabweichung der Komponenten entsprechend der k-ten Dimension der Unterschicht-Ausgaben in Batch β sind. In einigen Ausführungen ist die Standardabweichung eine numerisch stabile Standardabweichung, die gleich (σB 2 + ε)1/2 ist, wobei ε ein konstanter Wert ist und σB 2 die Abweichung der
  • Komponenten entsprechend der k-ten Dimension der Unterschicht-Ausgaben in Batch β sind.
  • In einigen anderen Fällen ist jedoch die neuronale Netzwerkschicht unterhalb der Batch-Normalisierungsschicht eine Faltungsschicht oder eine andere Art von neuronaler Netzwerkschicht, die eine Ausgabe erzeugt, die mehrere Komponenten beinhaltet, die jeweils durch einen Merkmalsindex und einen räumlichen Standortindex indiziert sind.
  • In einigen dieser Fälle berechnet die Batch-Normalisierungsschicht für jede mögliche Merkmalsindex- und räumliche Ortsindexkombination den Mittelwert und die Abweichung der Komponenten der Unterschicht-Ausgaben, die diesen Merkmalsindex und den räumlichen Standortindex aufweisen. Die Batch-Normalisierungsschicht berechnet dann für jeden Merkmalsindex den Mittelwert der Mittelwerte für den Merkmalsindex und die räumlichen Standortindexkombinationen, die den Merkmalsindex beinhalten. Die Batch-Normalisierungsschicht berechnet auch für jeden Merkmalsindex den Mittelwert der Abweichungen für den Merkmalsindex und die räumlichen Standortindexkombinationen, die den Merkmalsindex beinhalten. Somit hat die Batch-Normalisierungsschicht nach der Berechnung der Mittelwerte eine mittlere Statistik für jedes Merkmal über alle räumlichen Orte und eine Abweichungstatistik für jedes Merkmal über alle räumlichen Orte berechnet.
  • Die Batch-Normalisierungsschicht normalisiert dann jede Komponente jede der Unterschicht-Ausgaben unter Verwendung der durchschnittlichen Mittelwerte und der durchschnittlichen Abweichungen, um eine jeweilige normalisierte Ausgabe für jedes der Trainingsbeispiele in der Charge zu erzeugen. Insbesondere normalisiert die Batch-Normalisierungsschicht für eine gegebene Komponente einer gegebenen Ausgabe die Komponente unter Verwendung des mittleren Mittelwerts und der durchschnittlichen Abweichung für den Merkmalsindex, die der Komponente entspricht, z. B. in der gleichen Weise wie oben beschrieben, wenn die Schicht unterhalb der Batch-Normalisierungsschicht Ausgaben erzeugt, die durch Dimension indiziert sind.
  • In anderen dieser Fälle berechnet die Batch-Normalisierungsschicht für jeden Merkmalsindex den Mittelwert und die Abweichung der Komponenten der Unterschicht-Ausgaben, die dem Merkmalsindex entsprechen, d.h. die den Merkmalsindex aufweisen.
  • Die Batch-Normalisierungsschicht normalisiert dann jede Komponente jeder der untergeordneten Ausgaben unter Verwendung der Mittelwerte und der Abweichungen für die Merkmalsindizes, um eine jeweilige normalisierte Ausgabe für jedes der Trainingsbeispiele in dem Batch zu erzeugen. Insbesondere normalisiert die Batch-Normalisierungsschicht für eine gegebene Komponente einer gegebenen Ausgabe die Komponente unter Verwendung des Mittelwerts und der Abweichung für den Merkmalsindex, die der Komponente entspricht, z. B. in der gleichen Weise wie oben beschrieben, wenn die Schicht unterhalb der Batch-Normalisierungsschicht Ausgaben erzeugt, die durch Dimension indiziert sind.
  • Gegebenenfalls wandelt die Batch-Normalisierungsschicht jede Komponente jeder normalisierten Ausgabe um (Schritt 206).
  • In Fällen, in denen die Schicht unterhalb der Batch-Normalisierungsschicht eine Schicht ist, die eine Ausgabe erzeugt, die mehrere nach Dimensionen indizierte Komponenten enthält, transformiert die Batch-Normalisierungsschicht für jede Dimension die Komponente jeder normalisierten Ausgabe in der Dimension in Übereinstimmung mit den aktuellen Werten eines Satzes von Parametern für die Dimension. Das heißt, die Batch-Normalisierungsschicht behält einen jeweiligen Satz von Parametern für jede Dimension bei und verwendet diese Parameter, um eine Transformation auf die Komponenten der normalisierten Ausgaben in der Dimension anzuwenden. Die Werte der Parametersätze werden im Rahmen des Trainings des neuronalen Netzwerksystems angepasst. In einigen Ausführungen erfüllt beispielsweise die umgeformte normalisierte Ausgabe yk,i, die von der normalisierten Ausgabe x ˆk,i erzeugt wurde: yk,i = γkx ˆk,i + Ak, wobei γk und Ak Parameter für die k-te Dimension sind.
  • In Fällen, in denen die Schicht unterhalb der Batch-Normalisierungsschicht eine Faltungsschicht ist, transformiert die Batch-Normalisierungsschicht für jede Komponente jeder der normalisierten Ausgaben die Komponente in Übereinstimmung mit den aktuellen Werten eines Satzes von Parametern für den Merkmalsindex entsprechend der Komponente. Das heißt, die Batch-Normalisierungsschicht behält einen jeweiligen Satz von Parametern für jeden Merkmalsindex bei und verwendet diese Parameter, um eine Transformation auf die Komponenten der normalisierten Ausgaben anzuwenden, die den Merkmalsindex aufweisen, z. B. in der gleichen Weise wie oben beschrieben, wenn die Schicht unterhalb der Batch-Normalisierungsschicht Ausgaben erzeugt, die durch Dimension indiziert sind. Die Werte der Parametersätze werden im Rahmen des Trainings des neuronalen Netzwerksystems angepasst.
  • Die Batch-Normalisierungsschicht liefert die normalisierten Ausgaben oder die transformierten normierten Ausgaben als Eingabe an eine Schicht oberhalb der Batch-Normalisierungsschicht in der Sequenz (Schritt 208).
  • Nachdem das neuronale Netzwerk die neuronalen Netzwerk-Ausgaben für die Trainingsbeispiele in dem Batch erzeugt hat, werden die Normalisierungsstatistiken als Teil der Anpassung der Werte der Parameter des neuronalen Netzwerks, d.h. als Teil der Durchführung der Backpropagations-Trainingstechnik weiterverbreitet.
  • 3 ist ein Flussdiagramm eines beispielhaften Verfahrenes 300 zum Erzeugen einer Batch-Normalisierungsschichtausgabe für eine neue neuronale Netzwerkeingabe, nachdem das neuronale Netzwerk trainiert worden ist. Der Einfachheit halber wird der Prozess 300 als etwas beschrieben, dass durch ein System von einem oder mehreren Computern ausgeführt wird, die sich an einem oder mehreren Standorten befinden. Beispielsweise kann eine Batch-Normalisierungsschicht, die in einem neuronalen Netzwerksystem beinhaltet ist, z. B. die Batch-Normalisierungsschicht 108, die in dem neuronalen Netzwerksystem 100 von 1 beinhaltet ist, geeignet programmiert, das Verfahren 300 durchführen.
  • Die Batch-Normalisierungsschicht empfängt eine Unterschicht-Ausgabe für die neue neuronale Netzwerkeingabe (Schritt 302). Die Unterschicht-Ausgabeng ist eine Ausgabe, die für das neue neuronale Netzwerk erzeugt wird, das durch die Schicht unterhalb der Batch-Normalisierungsschicht in der Sequenz von neuronalen Netzwerkschichten eingegeben wird.
  • Die Batch-Normalisierungsschicht erzeugt eine normalisierte Ausgabe für die neue neuronale Netzeingabe (Schritt 304).
  • Wenn die Ausgaben, die von der Schicht unterhalb der Batch-Normalisierungsschicht erzeugt werden, durch Dimension indiziert werden, normalisiert die Batch-Normalisierungsschicht jede Komponente der Unterschichtausgabe unter Verwendung von vorberechneten Mittelwerten und Standardabweichungen für jede der Dimensionen, um eine normalisierte Ausgabe zu erzeugen. In einigen Fällen werden die Mittelwerte und Standardabweichungen für eine gegebene Dimension aus den Komponenten in der Dimension aller erzeugten Ausgaben berechnet, die von der Schicht unterhalb der Batch-Normalisierungsschicht während des Trainings des neuronalen Netzwerksystems erzeugt werden.
  • In einigen anderen Fällen werden jedoch die Mittelwerte und Standardabweichungen für eine gegebene Dimension aus den Komponenten in der Dimension der Unterschichtausgaben berechnet, die von der Schicht unterhalb der Batch-Normalisierungsschicht nach dem Training erzeugt wurden, z. B. aus den Unterschichtausgaben, die während eines aktuellen Zeitfensters mit angegebener Dauer oder aus einer bestimmten Anzahl von Unterschichtausgaben erzeugt wurden, die zeitnah von der Schicht unterhalb der Batch-Normalisierungsschicht erzeugt wurden.
  • Insbesondere kann in einigen Fällen die Verteilung der Netzeingaben und damit die Verteilung der Unetrschichtausgaben zwischen den Trainingsbeispielen, die während des Trainings verwendet werden, und den neuen neuronalen Netzwerkeingaben, die nach dem Trainieren des neuronalen Netzwerksystems verwendet werden, wechseln, z. B. wenn die neuen neuronalen Netzwerkeingaben verschiedene Arten von Eingaben aus den Trainingsbeispielen sind. Zum Beispiel kann das neuronale Netzwerksystem auf Benutzerbildern trainiert worden sein und kann nun verwendet werden, um Videobilder zu verarbeiten. Die Benutzerbilder und die Videobilder haben wahrscheinlich unterschiedliche Verteilungen in Bezug auf die dargestellten Klassen, Bildeigenschaften, Komposition und so weiter. Daher kann die Normalisierung der Unterschicht-Eingaben unter Verwendung von Statistiken aus dem Training die Statistik der Unterschichtausgaben, die für die neuen Eingaben erzeugt werden, nicht genau erfassen. Somit kann in diesen Fällen die Batch-Normalisierungsschicht Normalisierungsstatistiken verwenden, die aus Unterschichtausgaben berechnet werden, die durch die Schicht unterhalb der Batch-Normalisierungsschicht nach dem Training erzeugt werden.
  • Wenn die von der Schicht unterhalb der Batch-Normalisierungsschicht erzeugten Ausgaben durch den Merkmalsindex und den räumlichen Ortsindex indiziert sind, normalisiert die Batch-Normalisierungsschicht jede Komponente der Unterschichtausgabe unter Verwendung von vorberechneten durchschnittlichen Mittelwerte und durchschnittlichen Abweichungen für jeden der Merkmalsindizes, um eine normalisierte Ausgabe zu erzeugen. In einigen Fällen werden, wie oben beschrieben, die durchschnittlichen Mittelwerte und die durchschnittlichen Abweichungen für einen gegebenen Merkmalsindex aus den Ausgaben berechnet, die von der Schicht unterhalb der Batch-Normalisierungsschicht für alle während des Trainings verwendeten Trainingsbeispiele erzeugt werden. In einigen anderen Fällen werden, wie oben beschrieben, die Mittelwerte und Standardabweichungen für einen gegebenen Merkmalsindex aus den Unterschichtausgaben berechnet, die von der Schicht unterhalb der Batch-Normalisierungsschicht nach dem Training erzeugt werden.
  • Optional formt die Batch-Normalisierungsschicht jede Komponente der normalisierten Ausgabe um (Schritt 306).
  • Wenn die Ausgaben, die von der Schicht unterhalb der Batch-Normalisierungsschicht erzeugt werden, durch Dimension indiziert werden, formt die Batch-Normalisierungsschicht für jede Dimension die Komponente der normalisierten Ausgabe in der Dimension in Übereinstimmung mit trainierten Werten des Satzes von Parametern für die Dimension um. Wenn die von der Schicht unterhalb der Batch-Normalisierungsschicht erzeugten Ausgaben durch den Merkmalsindex und den räumlichen Ortsindex indiziert werden, formt die Batch-Normalisierungsschicht jede Komponente der normalisierten Ausgabe entsprechend den trainierten Werten des Satzes von Parametern für den Merkmalsindex entsprechend der Komponente um. Die Batch-Normalisierungsschicht liefert die normalisierte Ausgabe oder die umgeformte normierte Ausgabe als Eingabe an die Schicht oberhalb der Batch-Normalisierungsschicht in der Sequenz (Schritt 308).
  • Ausführungsformen des Gegenstands und die in dieser Spezifikation beschriebenen funktionalen Tätigkeiten können in digitalen elektronischen Schaltungen oder in einer konkret darin verkörperten Computer-Software, Firmware in die Hardware implementiert werden, einschließlich der in dieser Spezifikation offenbarten Strukturen und ihrer strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer von ihnen. Die in dieser Spezifikation beschriebenen Ausführungsformen des Gegenstandes können als ein oder mehrere Computerprogramme implementiert werden, d. h. als ein oder mehrere Module mit Computerprogrammanweisungen, die auf einem materiellen, nicht-flüchtigen Programmträger kodiert sind, um dann von einem Datenverarbeitungsgerät ausgeführt zu werden bzw. den Betrieb desselben zu steuern. Alternativ oder ergänzend dazu können die Programmbefehle auf einem künstlich erzeugten, sich ausbreitenden Signal, wie beispielsweise einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal codiert werden, das erzeugt wird, um Informationen zur Übertragung an ein geeignetes Empfängergerät zu codieren, die dann von einem Datenverarbeitungsgerät ausgeführt werden. Bei dem Computer-Speichermedium kann es sich um ein maschinenlesbares Speichergerät, ein maschinenlesbares Speichersubstrat, einen frei adressierbaren oder seriellen Zugriffsspeicher oder eine Kombination aus einem oder mehreren derselben handeln.
  • Der Begriff „Datenverarbeitungsvorrichtung“ umfasst alle Vorrichtungen, Geräte und Maschinen zum Verarbeiten von Daten, einschließlich beispielsweise eines programmierbaren Prozessors, eines Computers oder mehrerer Prozessoren oder Computer. Das Gerät kann eine Special Purpose Logic Circuitry wie z. B. ein FPGA (Field Programmable Gate Array) oder ein ASIC (Application Specific Integrated Circuit) beinhalten. Das Gerät kann neben der Hardware auch einen Code umfassen, der eine Ausführungsumgebung für das betreffende Computerprogramm bildet, z. B. einen Code, der Prozessor-Firmware, einen Protokollstapel, ein Datenbank-Managementsystem, ein Betriebssystem oder eine Kombination einer oder mehrerer der genannten darstellt.
  • Ein Computerprogramm (auf das sich auch bezogen oder als Programm, Software, Softwareanwendung, Modul, Softwaremodul, Script oder Code beschrieben wird) kann in einer beliebigen Programmiersprachenform geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, deklarativer oder verfahrensorientierter Sprachen, und das Programm kann in jeder beliebigen Form eingesetzt werden, darunter als unabhängiges Programm oder als ein Modul, eine Komponente, eine Subroutine oder eine andere Einheit, die zur Benutzung in einer Rechenumgebung geeignet ist. Ein Computerprogramm kann, muss jedoch nicht einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert sein, die andere Programme oder Daten enthält, wie z. B. eine oder mehrere Scripts, die in Markup-Sprache in einem Dokument, in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien, z. B. Dateien gespeichert sind, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern. Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder auf mehrere Standorte verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Spezifikation beschriebenen Prozesse und Logikabläufe können von einem oder mehreren programmierbaren Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durch das Verarbeiten von Eingabedaten und das Erzeugen von Ausgaben auszuführen. Die Prozesse und Logikabläufe können auch durch eine vorhabensgebundene Logikschaltung, wie z. B. einen FPGA (Universalschaltkreis) oder eine ASIC (anwendungsspezifische integrierte Schaltung) ausgeführt, und das Gerät in Form derselben implementiert werden.
  • Computer, die zur Ausführung eines Datenverarbeitungsprogramms geeignet sind, können beispielsweise allgemeine oder spezielle Mikroprozessoren oder beides oder jede andere Art von Zentraleinheit beinhalten. Ganz allgemein nimmt eine zentrale Recheneinheit Befehle und Daten von einem Nur-Lese-Speicher oder einem Direktzugriffsspeicher oder von beiden entgegen. Die wesentlichen Elemente eines Computers sind eine zentrale Recheneinheit zum Durchführen bzw. Ausführen von Befehlen und ein oder mehrere Speichergeräte zum Speichern von Befehlen und Daten.
  • Ganz allgemein gehören zu einem Computer auch ein oder mehrere Massenspeichervorrichtungen zum Speichern von Daten, wie z. B. Magnet-, magnetooptische oder optische Disketten, um Daten entgegenzunehmen und/oder zu senden, oder ist ein Computer operativ an eine solche Speichervorrichtung gekoppelt. Jedoch muss ein Computer nicht über solche Geräte verfügen. Des Weiteren kann ein Computer in einem anderen Gerät, unter anderem z. B. in einem Mobiltelefon, einem Personal Digital Assistant (PDA), einem mobilen Audio- oder Videoplayer, einer Spielkonsole, einem globalen Positionsbestimmungssystem (GPS) oder einem tragbaren Speichergerät, z. B. in einem USB-Stick, integriert sein. Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, umfassen alle Formen von nicht flüchtigem Speicher, Medien und Speichervorrichtungen einschließlich beispielsweise Halbleiterspeichervorrichtungen wie z. B. EPROM, EEPROM und Flash-Speichervorrichtungen, Magnetplatten wie z. B. eingebaute Festplattenlaufwerke oder Wechselplatten, magneto-optische Platten sowie CD-ROMs und DVD-ROMs. Der Prozessor und der Speicher können durch eine vorhabensgebundene Logikschaltung ergänzt oder in dieselbe integriert werden.
  • Um die Interaktion mit einem Benutzer zu ermöglichen, können in dieser Spezifikation beschriebene Ausführungsformen des Gegenstands auf einem Computer mit einem Anzeigegerät implementiert werden, z. B. einem CRT- (Kathodenstrahlröhre) oder LCD- (Flüssigkristallanzeige) Monitor, mit welchem dem Benutzer Informationen angezeigt werden, sowie einer Tastatur und einem Anzeigegerät, z. B. einer Maus oder einem Trackball, mit denen der Benutzer Eingaben in den Computer vornehmen kann. Darüber hinaus können andere Geräte verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen; zum Beispiel kann es sich bei der Rückmeldung an den Benutzer um jegliche Art von sensorischer Rückmeldung, wie z. B. visuelle, akustische oder taktile Rückmeldungen, handeln; auch die Eingaben des Benutzers können in beliebiger Form, d. h. auch akustisch, sprachlich oder taktil, empfangen werden. Darüber hinaus kann ein Computer über das Senden von Dokumenten an und das Empfangen von Dokumenten von einer Einrichtung, die vom Benutzer verwendet wird, mit einem Benutzer interagieren, beispielsweise über das Senden von Web-Seiten an einen Web-Browser auf dem Client-Gerät des Benutzers als Antwort auf die vom Web-Browser empfangenen Aufforderungen.
  • Die in dieser Spezifikation beschriebenen Ausführungsformen des Gegenstandes können in einem Computersystem implementiert werden, das eine Backend-Komponente wie z. B. einen Datenserver oder eine Middleware-Komponente wie z. B. einen Anwendungsserver oder eine Frontend-Komponente wie z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche oder eine beliebige Kombination einer oder mehrerer der besagten Backend-, Middleware- oder Frontend-Komponenten oder einen Web-Browser beinhaltet, durch den ein Benutzer mit einer in dieser Beschreibung beschriebenen Ausführung des Gegenstandes interagieren kann. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein. So beinhalten beispielsweise Kommunikationsnetzwerke ein lokales Netzwerk („LAN“), ein Fernnetz („WAN“), z. B. das Internet.
  • Das Rechensystem kann Client und Server beinhalten. Ein Client und Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern ausgeführt werden und in einer Client-Server-Beziehung zueinander stehen.
  • Zwar enthält diese Spezifikation viele spezifische Ausführungsdetails, jedoch sollten diese nicht als Einschränkungen des Umfangs oder des Anspruchs ausgelegt werden, sondern vielmehr als Beschreibungen spezifischer Merkmale bestimmter Ausführungsformen bestimmter Erfindungen. Bestimmte Merkmale, die in dieser Spezifikation im Kontext der unterschiedlichen Ausführungsformen beschrieben werden, können auch in Kombination in einer einzelnen Ausführungsform implementiert werden. Andererseits können verschiedene Merkmale, die im Kontext einer einzelnen Ausführungsform beschrieben werden, in mehreren Ausführungsformen oder in jeder geeigneten Unterkombination implementiert werden. Außerdem können, auch wenn die Merkmale weiter oben ggf. als in bestimmten Kombinationen wirkend beschrieben und zunächst auch als solche beansprucht werden, in einigen Fällen ein oder mehrere Merkmale einer beanspruchten Kombination aus der Kombination herausgenommen und die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet werden.
  • Gleichermaßen soll dies, obwohl die Operationen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, nicht so verstanden werden, dass die besagten Operationen in der dargestellten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden müssen bzw. alle veranschaulichten Operationen durchgeführt werden müssen, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den vorstehend beschriebenen Ausführungsformen nicht als in allen Ausführungsformen erforderlich aufgefasst werden, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in ein einziges Softwareprodukt integriert oder in mehrere Softwareprodukte aufgeteilt werden können.
  • Es wurden bestimmte Ausführungsformen des Gegenstands beschrieben. Weitere Ausführungsformen liegen innerhalb des Schutzumfangs der folgenden Ansprüche. Die in den Ansprüchen ausgeführten Vorgänge können beispielsweise in einer anderen Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Die in den beigefügten Figuren dargestellten Verfahren erfordern beispielsweise nicht notwendigerweise die gezeigte Reihenfolge oder sequenzielle Reihenfolge, um erwünschte Ergebnisse zu erzielen. Bei bestimmten Implementierungen können Multitasking und eine Parallelverarbeitung vorteilhaft sein.

Claims (22)

  1. Neuronales Netzwerksystem, das durch einen oder mehrere Computer implementiert ist, wobei das neuronale Netzwerksystem Folgendes umfasst: eine Batch-Normalisierungsschicht zwischen einer ersten neuronalen Netzwerkschicht und einer zweiten neuronalen Netzwerkschicht, wobei die erste neuronale Netzwerkschicht erste Schichtausgaben mit einer Vielzahl von Komponenten erzeugt und wobei die Batch-Normalisierungsschicht während des Trainings des neuronalen Netzwerksystems auf einer Reihe von Trainingsbeispielen konfiguriert ist zum: Empfangen einer jeweiligen ersten Schichtausgabe für jedes Trainingsbeispiel in dem Batch; Berechnen einer Vielzahl von Normalisierungsstatistiken für das Batch aus den ersten Schichtausgaben; Normalisieren jeder Komponente jeder ersten Schichtausgabe unter Verwendung der Normalisierungsstatistik zum Erzeugen einer jeweiligen normalisierten Schichtausgabe für jedes Trainingsbeispiel in dem Batch; Erzeugen einer jeweiligen Batch-Normalisierungsschicht-Ausgabe für jedes der Trainingsbeispiele aus den normalisierten Schichtausgaben; und Bereitstellen der Batch-Normalisierungsschicht als Eingabe für die zweite neuronale Netzwerkschicht.
  2. Neuronales Netzwerksystem nach Anspruch 1, wobei die Mehrzahl von Komponenten der Ausgabe der ersten Schicht durch Dimension indexiert ist und wobei das Berechnen einer Vielzahl von Normalisierungsstatistiken für die Ausgaben der ersten Schicht Folgendes umfasst: Berechnen eines Mittelwertes der Komponenten der Ausgaben der ersten Schicht in der Dimension für jede der Dimensionen; und Berechnen einer Standardabweichung der Komponenten der Ausgaben der ersten Schicht in der Dimension für jede der Dimensionen.
  3. Neuronales Netzwerksystem nach Anspruch 2, wobei das Normalisieren jeder Komponente jeder Schichtausgabe Folgendes umfasst: Normalisieren der Komponente unter Verwendung der berechneten mittleren und berechneten Standardabweichung für die dem Bauteil entsprechende Dimension.
  4. Neuronales Netzwerksystem nach einem der Ansprüche 2 oder 3, wobei das Erzeugen der jeweiligen Batch-Normalisierungsschicht-Ausgabe für jedes der Trainingsbeispiele aus den normalisierten Schichtausgaben Folgendes umfasst: Umformen der Komponente des normalisierten Schichtausgangs für das Trainingsbeispiel in der Dimension in Übereinstimmung mit den aktuellen Werten eines Satzes von Parametern für die Dimension.
  5. Neuronales Netzwerksystem nach Anspruch 4, wobei die Batch-Normalisierungsschicht konfiguriert ist zum, nachdem das neuronale Netzwerksystem trainiert worden ist, um trainierte Werte der Parameter für jede der Dimensionen zu bestimmen: Empfangen einer neuen Ausgabe der ersten Schicht, die von der ersten neuronalen Netzwerkschicht für eine neue neuronale Netzwerkeingabe erzeugt wird; Normalisieren jeder Komponente der neuen Ausgabe der ersten Schicht unter Verwendung von vorberechneten Mittel- und Standardabweichungsstatistiken für die Dimensionen, um eine neue normierte Schichtausgabe zu erzeugen; Erzeugen einer neuen Batch-Normalisierungsschicht-Ausgabe, indem für jede Dimension die Komponente der neuen normalisierten Schichtausgabe für das Trainingsbeispiel in der Dimension entsprechend den trainierten Werten des Parametersatzes für die Dimension umgeformt wird; und Bereitstellen der Batch-Normalisierungsschicht-Ausgabe als eine neue Schichteingabe an die zweite neuronale Netzwerkschicht.
  6. Neuronales Netzwerksystem nach Anspruch 5, wobei die vorberechneten Mittelwert- und Standardabweichungsstatistiken für die Dimensionen aus den ersten Schichtausgaben berechnet werden, die von der ersten neuronalen Netzwerkschicht während des Trainings des neuronalen Netzwerksystems erzeugt werden.
  7. Neuronales Netzwerksystem nach Anspruch 5, wobei die vorberechneten Mittelwert- und Standardabweichungsstatistiken für die Dimensionen aus neuen ersten Schichtausgaben berechnet werden, die von der ersten neuronalen Netzwerkschicht erzeugt werden, nachdem das neuronale Netzwerk trainiert worden ist.
  8. Das neuronale Netzwerksystem nach Anspruch 7, wobei neue neuronale Netzwerkeingaben, die von dem neuronalen Netzwerksystem verarbeitet wurden, nachdem das neuronale Netzwerksystem trainiert worden ist, eine andere Art von Eingabe sind als die Trainingsbeispiele, die verwendet werden, um das neuronale Netzwerksystem zu trainieren.
  9. Neuronales Netzwerksystem nach Anspruch 1, wobei die erste neuronale Netzwerkschicht eine Faltungsschicht ist, wobei die Vielzahl von Komponenten der Ausgabe der ersten Schicht durch Merkmalsindex und räumlichen Ortsindex indiziert sind und wobei das Berechnen einer Vielzahl von Normalisierungsstatistiken für die Ausgaben der ersten Schicht Folgendes umfasst: Berechnen eines Mittelwerts der Komponenten der Ausgaben der ersten Schicht mit dem Merkmalsindex und dem räumlichen Ortsindex für jede Kombination von Merkmalsindex und räumlichem Standortindex; Berechnen eines Durchschnitts der Mittelwerte für Kombinationen, die den Merkmalsindex beinhalten, für jeden Merkmalsindex; Berechnen einer Abweichung der Komponenten der Ausgaben der ersten Schicht mit dem Merkmalsindex und dem räumlichen Ortsindex für jede Kombination von Merkmalsindex und räumlichem Standortindex; und Berechnen eines Durchschnitts der Abweichungen für Kombinationen, die den Merkmalsindex beinhalten, für jeden Merkmalsindex.
  10. Neuronales Netzwerksystem nach Anspruch 9, wobei das Normalisieren jeder Komponente jeder Schichtausgabe Folgendes umfasst: Normalisieren der Komponente unter Verwendung des Mittelwerts der Mittelwerte und des Mittelwerts der Abweichungen für den Merkmalsindex entsprechend der Komponente.
  11. Neuronales Netzwerksystem nach einem der Ansprüche 8 oder 9, wobei das Erzeugen des jeweiligen Batch-Normalisierungsschichtausgangs für jedes der Trainingsbeispiele aus den normalisierten Schichtausgaben Folgendes umfasst: Umformen jeder Komponente der normalisierten Schichtausgabe in Übereinstimmung mit den aktuellen Werten eines Satzes von Parametern für den Merkmalsindex entsprechend der Komponente.
  12. Neuronales Netzwerksystem nach Anspruch 11, wobei die Batch-Normalisierungsschicht konfiguriert ist zum, nachdem das neuronale Netzwerk trainiert worden ist, um trainierte Werte der Parameter für jede der Dimensionen zu bestimmen: Empfangen einer neuen ersten Schichteingabe, die von einer neuen neuronalen Netzwerkeingabe erzeugt wird; Normalisieren jeder Komponente der neuen ersten Schichtausgabe unter Verwendung von vorberechneten Mittel- und Standardabweichungsstatistiken für die Merkmalsindizes, um eine neue normierte Schichtausgabe zu erzeugen; Erzeugen einer neuen Batch-Normalisierungsschicht-Ausgabe, indem jede Komponente der normalisierten Schichtausgabe in Übereinstimmung mit trainierten Werten des Satzes von Parametern für den Merkmalsindex entsprechend der Komponente umgeformt wird; und Bereitstellen der neuen Batch-Normalisierungsschicht als eine neue Schichteingabe an die zweite neuronale Netzwerkschicht.
  13. Neuronales Netzwerksystem nach Anspruch 1, wobei die erste neuronale Netzwerkschicht eine Faltungsschicht ist, wobei die Vielzahl von Komponenten der ersten Schichtausgabe durch Merkmalsindex und räumlichen Ortsindex indiziert sind und wobei das Berechnen einer Mehrzahl von Normalisierungsstatistiken für die ersten Schichtausgaben für jeden der Merkmalsindizes Folgendes umfasst: Berechnen eines Mittelwerts der Komponenten der ersten Schichtausgaben, die dem Merkmalsindex entsprechen; und Berechnen einer Abweichung der Komponenten der ersten Schichtausgaben, die dem Merkmalsindex entsprechen.
  14. Neuronales Netzwerksystem nach Anspruch 13, wobei das Normalisieren jeder Komponente jeder Schichtausgabe Folgendes umfasst: Normalisieren der Komponente unter Verwendung des Mittelwerts und der Abweichung für den Merkmalsindex entsprechend der Komponente.
  15. Neuronales Netzwerksystem nach einem der Ansprüche 13 oder 14, wobei das Erzeugen der jeweiligen Batch-Normalisierungsschicht-Ausgabe für jedes der Trainingsbeispiele aus den normalisierten Schichtausgaben Folgendes umfasst: Umformen jeder Komponente der normalisierten Schichtausgabe in Übereinstimmung mit den aktuellen Werten eines Satzes von Parametern für den Merkmalsindex entsprechend der Komponente.
  16. Neuronales Netzwerksystem nach Anspruch 15, wobei die Batch-Normalisierungsschicht konfiguriert ist zum, nachdem das neuronale Netzwerk trainiert worden ist, um trainierte Werte der Parameter für jede der Dimensionen zu bestimmen: Empfangen einer neuen ersten Schichteingabe, die von einer neuen neuronalen Netzwerkeingabe erzeugt wird; Normalisieren jeder Komponente der neuen ersten Schichtausgabe unter Verwendung von vorberechneten Mittel- und Standardabweichungsstatistiken für die Merkmalsindizes, um eine neue normalisierte Schichtausgabe zu erzeugen; Erzeugen einer neuen Batch-Normalisierungsschicht-Ausgabe, indem jede Komponente der normalisierten Schichtausgabe in Übereinstimmung mit trainierten Werten des Satzes von Parametern für den Merkmalsindex entsprechend der Komponente umgeformt wird; und Bereitstellen der neuen Batch-Normalisierungsschicht als neue Schichteingabe in die zweite neuronale Netzwerkschicht.
  17. Neuronales Netzwerksystem nach einem der Ansprüche 1 bis 16, wobei die erste neuronale Netzwerkschicht die ersten Schichtausgaben durch Modifizieren der ersten Schichteingaben in Übereinstimmung mit den aktuellen Werten eines Satzes von Parametern für die erste neuronale Netzwerkschicht erzeugt.
  18. Neuronales Netzwerksystem nach Anspruch 17, wobei die zweite neuronale Netzwerkschicht zweite Schichtausgaben erzeugt, indem eine nichtlineare Operation auf die Batch-Normalisierungsschicht-Ausgänge angewendet wird.
  19. Neuronales Netzwerksystem nach einem der Ansprüche 1 bis 16, wobei die erste neuronale Netzwerkschicht die ersten Schichtausgaben durch Modifizieren der ersten Schichteingaben in Übereinstimmung mit den aktuellen Werten eines Satzes von Parametern erzeugt, um modifizierte erste Schichteingaben zu erzeugen und dann eine nichtlineare Operation auf die modifizierten ersten Schichtausgaben anzuwenden.
  20. Neuronales Netzwerksystem nach einem der Ansprüche 1 bis 19, wobei während des Trainings des neuronalen Netzwerks das neuronale Netzwerksystem so konfiguriert ist, dass es die Normalisierungsstatistiken als Teil des Einstellens von Werten von Parametern des neuronalen Netzwerks zurückgibt.
  21. Verfahren, umfassend die Operationen, die durch die Batch-Normalisierungsschicht nach einem der Ansprüche 1 bis 20 durchgeführt werden.
  22. Ein oder mehrere nicht-flüchtige Computerspeichermedien, die mit einem Computerprogramm codiert sind, wobei das Computerprogramm Befehle umfasst, die, wenn sie von einem oder mehreren Computern ausgeführt werden, bewirken, dass der eine oder mehrere Computer das neuronale Netzwerksystem nach einem der Ansprüche 1 bis 20 implementiert.
DE112016000509.1T 2015-01-28 2016-01-28 Batch-Normalisierungsschichten Pending DE112016000509T5 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US201562108984P true 2015-01-28 2015-01-28
US62/108,984 2015-01-28
PCT/US2016/015476 WO2016123409A1 (en) 2015-01-28 2016-01-28 Batch normalization layers

Publications (1)

Publication Number Publication Date
DE112016000509T5 true DE112016000509T5 (de) 2018-03-22

Family

ID=55349983

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016000509.1T Pending DE112016000509T5 (de) 2015-01-28 2016-01-28 Batch-Normalisierungsschichten

Country Status (18)

Country Link
US (4) US10417562B2 (de)
EP (2) EP3483795A1 (de)
JP (3) JP6453477B2 (de)
KR (2) KR102204286B1 (de)
CN (1) CN107278310A (de)
AU (3) AU2016211333B2 (de)
BR (1) BR112017016306A2 (de)
CA (1) CA2975251C (de)
DE (1) DE112016000509T5 (de)
DK (1) DK3251059T3 (de)
ES (1) ES2714152T3 (de)
IL (1) IL253676D0 (de)
MX (1) MX2017009879A (de)
PL (1) PL3251059T3 (de)
RU (1) RU2666308C1 (de)
SG (1) SG11201706127RA (de)
TR (1) TR201902908T4 (de)
WO (1) WO2016123409A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417562B2 (en) 2015-01-28 2019-09-17 Google Llc Batch normalization layers
US10614339B2 (en) * 2015-07-29 2020-04-07 Nokia Technologies Oy Object detection with neural network
KR20190113952A (ko) * 2017-02-10 2019-10-08 구글 엘엘씨 배치 재정규화 계층
CN109034384A (zh) * 2017-06-12 2018-12-18 浙江宇视科技有限公司 一种数据处理方法和装置
WO2019123544A1 (ja) * 2017-12-19 2019-06-27 オリンパス株式会社 データ処理方法およびデータ処理装置
CN108009634A (zh) * 2017-12-21 2018-05-08 美的集团股份有限公司 一种卷积神经网络的优化方法、装置及计算机存储介质
EP3511872A1 (de) 2018-01-12 2019-07-17 Sony Corporation Künstliches neuronales netz
WO2019149376A1 (en) 2018-02-02 2019-08-08 Toyota Motor Europe Method and system for processing input data using a neural network and normalizations
WO2019149375A1 (en) * 2018-02-02 2019-08-08 Toyota Motor Europe Method and system for processing input data and propagating variance in a neural network
US10325185B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or IOT devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same
KR102046113B1 (ko) 2019-03-19 2019-11-18 주식회사 루닛 신경망 학습 방법 및 그 장치
KR102046133B1 (ko) * 2019-03-20 2019-11-18 주식회사 루닛 특징 데이터 리캘리브레이션 방법 및 그 장치
DE102019204136A1 (de) * 2019-03-26 2020-10-01 Robert Bosch Gmbh Verfahren und Vorrichtung für Training und Herstellung eines künstlichen neuronalen Netzes
KR102037483B1 (ko) 2019-04-02 2019-11-15 주식회사 루닛 신경망 데이터 정규화 방법 및 그 장치
KR20190098106A (ko) 2019-08-02 2019-08-21 엘지전자 주식회사 배치 정규화 레이어 트레이닝 방법
RU2737066C1 (ru) * 2019-08-29 2020-11-24 Бейджин Сяоми Мобайл Софтвеа Ко., Лтд. Способ выборки подсети, а также способ и устройство для построения гиперсетевой топологии
KR102127913B1 (ko) 2019-10-29 2020-06-29 주식회사 루닛 신경망 학습 방법 및 그 장치
KR102143192B1 (ko) 2019-11-12 2020-08-10 주식회사 루닛 신경망 학습 방법 및 그 장치
KR102143191B1 (ko) * 2019-11-12 2020-08-10 주식회사 루닛 특징 데이터 리캘리브레이션 방법 및 그 장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875284A (en) 1990-03-12 1999-02-23 Fujitsu Limited Neuro-fuzzy-integrated data processing system
JPH05346915A (ja) * 1992-01-30 1993-12-27 Ricoh Co Ltd 学習機械並びにニューラルネットワークおよびデータ分析装置並びにデータ分析方法
JPH0785280B2 (ja) * 1992-08-04 1995-09-13 タカタ株式会社 神経回路網による衝突予測判定システム
US5729662A (en) * 1995-06-07 1998-03-17 Rozmus; J. Michael Neural network for classification of patterns with improved method and apparatus for ordering vectors
US5790758A (en) * 1995-07-07 1998-08-04 The United States Of America As Represented By The Secretary Of The Navy Neural network architecture for gaussian components of a mixture density function
US6134537A (en) * 1995-09-29 2000-10-17 Ai Ware, Inc. Visualization and self organization of multidimensional data through equalized orthogonal mapping
US6539267B1 (en) * 1996-03-28 2003-03-25 Rosemount Inc. Device in a process system for determining statistical parameter
US6650779B2 (en) * 1999-03-26 2003-11-18 Georgia Tech Research Corp. Method and apparatus for analyzing an image to detect and identify patterns
US6418378B1 (en) * 2000-06-26 2002-07-09 Westerngeco, L.L.C. Neural net prediction of seismic streamer shape
US7305370B2 (en) * 2000-11-30 2007-12-04 Yang Ming Pok Neural cortex
US7107207B2 (en) * 2002-06-19 2006-09-12 Microsoft Corporation Training machine learning by sequential conditional generalized iterative scaling
US7496546B2 (en) 2003-03-24 2009-02-24 Riken Interconnecting neural network system, interconnecting neural network structure construction method, self-organizing neural network structure construction method, and construction programs therefor
US7219085B2 (en) 2003-12-09 2007-05-15 Microsoft Corporation System and method for accelerating and optimizing the processing of machine learning techniques using a graphics processing unit
JP2005352900A (ja) 2004-06-11 2005-12-22 Canon Inc 情報処理装置、情報処理方法、パターン認識装置、及びパターン認識方法
US7747070B2 (en) 2005-08-31 2010-06-29 Microsoft Corporation Training convolutional neural networks on graphics processing units
CN100367300C (zh) * 2006-07-07 2008-02-06 华中科技大学 一种基于人工神经网络的特征选择方法
US7606777B2 (en) 2006-09-01 2009-10-20 Massachusetts Institute Of Technology High-performance vision system exploiting key features of visual cortex
AT549697T (de) * 2010-01-19 2012-03-15 Honda Res Inst Europe Gmbh Online-lernen von gegründeten kategorien mithilfe adaptiver merkmalsräume
JP5772442B2 (ja) * 2011-09-22 2015-09-02 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US9892238B2 (en) 2013-06-07 2018-02-13 Scientific Design Company, Inc. System and method for monitoring a process
CN103824055B (zh) * 2014-02-17 2018-03-02 北京旷视科技有限公司 一种基于级联神经网络的人脸识别方法
US10417562B2 (en) 2015-01-28 2019-09-17 Google Llc Batch normalization layers

Also Published As

Publication number Publication date
CA2975251A1 (en) 2016-08-04
EP3251059B1 (de) 2018-12-05
KR102204286B1 (ko) 2021-01-18
US20200057924A1 (en) 2020-02-20
KR20170108081A (ko) 2017-09-26
US20160217368A1 (en) 2016-07-28
US10902319B2 (en) 2021-01-26
US20200012942A1 (en) 2020-01-09
AU2019200309A1 (en) 2019-02-07
PL3251059T3 (pl) 2019-05-31
KR102055355B1 (ko) 2019-12-12
JP2018508879A (ja) 2018-03-29
RU2666308C1 (ru) 2018-09-06
JP6453477B2 (ja) 2019-01-16
CA2975251C (en) 2021-01-26
AU2016211333B2 (en) 2018-11-15
JP2020149719A (ja) 2020-09-17
TR201902908T4 (tr) 2019-03-21
SG11201706127RA (en) 2017-08-30
MX2017009879A (es) 2018-05-28
AU2016211333A1 (en) 2017-08-17
WO2016123409A1 (en) 2016-08-04
AU2019200309B2 (en) 2020-07-09
JP2019071080A (ja) 2019-05-09
US20200234127A1 (en) 2020-07-23
DK3251059T3 (en) 2019-04-01
CN107278310A (zh) 2017-10-20
IL253676D0 (en) 2017-09-28
EP3483795A1 (de) 2019-05-15
US10628710B2 (en) 2020-04-21
BR112017016306A2 (pt) 2018-07-10
EP3251059A1 (de) 2017-12-06
ES2714152T3 (es) 2019-05-27
JP6710745B2 (ja) 2020-06-17
US10417562B2 (en) 2019-09-17
KR20190138712A (ko) 2019-12-13
AU2020250312A1 (en) 2020-11-12

Similar Documents

Publication Publication Date Title
CN105279495B (zh) 一种基于深度学习和文本总结的视频描述方法
DE112016004863T5 (de) Parametersammlung und automatische Dialogerzeugung in Dialogsystemen
US9519858B2 (en) Feature-augmented neural networks and applications of same
CN106503055B (zh) 一种从结构化文本到图像描述的生成方法
DE202016107439U1 (de) Vorabruf von Gewichten zur Verwendung in einem neuralen Netzwerkprozessor
DE102016226302A1 (de) Voice-action-system für entwickler
DE60005326T2 (de) Erkennungseinheiten mit komplementären sprachmodellen
DE60122352T2 (de) Augenverfolgung für kontextabhängige spracherkennung
DE202016107443U1 (de) Berechnen von Faltungen mithilfe eines neuronalen Netzwerkprozessors
DE112017002799T5 (de) Verfahren und system zum generieren multimodaler digitaler bilder
DE202017105729U1 (de) Kerndurchschreiten in Hardware
US10296827B2 (en) Data category identification method and apparatus based on deep neural network
DE60015531T2 (de) Client-server spracherkennungssystem
DE102008017993B4 (de) Sprachsuchvorrichtung
DE3337353C2 (de) Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells
DE112012000628T5 (de) Systeme und Verfahren zur Verarbeitung von maschinellen Lernalgorithmen in einer Mapreduce-Umgebung
DE202016107442U1 (de) Vektor-Recheneinheit in einem neuronalen Netzwerkprozessor
DE102016125783A1 (de) Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User-Nachrichtenaustausch-Thread
DE202016107476U1 (de) Stapel-Verarbeitung in einem neuronalen Netzwerkprozessor
KR102204286B1 (ko) 배치 정규화 레이어들
DE112016005042B4 (de) Verfahren zum verarbeiten von äusserungen
DE69815067T2 (de) Verfahren zur bestimmung modell-spezifischer faktoren für die mustererkennung im insbesonderen für sprachmuster
CN109906460A (zh) 用于问答的动态协同注意力网络
DE112009002000B4 (de) Adaptives Verfahren und Vorrichtung zur Umwandlung von Nachrichten zwischen unterschiedlichen Datenformaten
DE602004003439T2 (de) Rauschunterdrückung zur robusten Spracherkennung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: VENNER SHIPLEY LLP, DE