DE102022131760A1 - Modellgenerierungsverfahren, modellgenerierungsprogramm, modellgenerierungsvorrichtung und datenverarbeitungsvorrichtung - Google Patents

Modellgenerierungsverfahren, modellgenerierungsprogramm, modellgenerierungsvorrichtung und datenverarbeitungsvorrichtung Download PDF

Info

Publication number
DE102022131760A1
DE102022131760A1 DE102022131760.9A DE102022131760A DE102022131760A1 DE 102022131760 A1 DE102022131760 A1 DE 102022131760A1 DE 102022131760 A DE102022131760 A DE 102022131760A DE 102022131760 A1 DE102022131760 A1 DE 102022131760A1
Authority
DE
Germany
Prior art keywords
layer
decomposition
matrix
weight
weight matrix
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
DE102022131760.9A
Other languages
English (en)
Inventor
Yuki Asada
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.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE102022131760A1 publication Critical patent/DE102022131760A1/de
Pending legal-status Critical Current

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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ein Modellgenerierungsverfahren dient zum Generieren eines Machine-Learning-Modells durch Ersetzen eines Convolutional Layers eines Convolutional Neural Networks durch eine Zerlegungsschicht per Matrixzerlegung. Das Modellgenerierungsverfahren umfasst Sortieren von Gewichtsparametern, die eine ursprüngliche Schicht des Convolutional Layers bilden, um eine äquivalente Gewichtsmatrix zu bilden, äquivalent zu einem Gewichtsmatrixprodukt, das ein Produkt von Matrizen von Gewichtsparametern ist, die die Zerlegungsschicht bilden, Extrahieren mehrerer Ränge per Matrixzerlegung an der äquivalenten Gewichtsmatrix, und Erstellen der Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend mindestens einem ausgewählten Rang, der aus den mehreren Rängen ausgewählt wurde.

Description

  • Diese Offenbarung bezieht sich auf Modellgenerierungstechniken zum Generieren von Machine-Learning-Modellen für Convolutional Neural Networks (CNN; „faltende neuronale Netzwerke“).
  • Die JP 2020 - 155 010 A offenbart eine Modellgenerierungstechnik, bei der das Machine-Learning-Modell komprimiert wird, indem der Rang der Gewichtsmatrix nach der Matrixzerlegung der Gewichtsmatrix bestehend aus Gewichtsparametern im Convolutional Layer des Convolutional Neural Networks verringert wird.
  • Bei der Modellgenerierungstechnik gemäß der JP 2020 - 155 010 A werden die Matrixzerlegung und die Verringerung des Rangs jedoch unter Beibehaltung der ursprünglichen Schichtstruktur des Convolutional Layers durchgeführt. In diesem Fall kann es eine Grenze für die Erhöhung der Verarbeitungsgeschwindigkeit des Convolutional Neural Networks geben, das für Machine-Learning-Modelle immer komplexer wird.
  • Es ist Aufgabe der vorliegenden Offenbarung, ein Modellgenerierungsverfahren, ein Modellgenerierungsprogramm und eine Modellgenerierungsvorrichtung bereitzustellen, die die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks erhöhen. Es ist ferner Aufgabe der vorliegenden Offenbarung, eine Datenverarbeitungsvorrichtung mit hoher Verarbeitungsgeschwindigkeit auf dem Convolutional Neural Network bereitzustellen.
  • Ein erster Aspekt der vorliegenden Offenbarung ist ein Modellgenerierungsverfahren für einen Prozessor, um ein Machine-Learning-Modell zu generieren, indem ein Convolutional Layer eines Convolutional Neural Networks durch eine Zerlegungsschicht mittels Matrixzerlegung ersetzt wird. Das Modellgenerierungsverfahren weist die folgenden Schritte auf: Sortieren von Gewichtsparametern, die eine ursprüngliche Schicht des Convolutional Layers bilden, um eine äquivalente Gewichtsmatrix zu bilden, die äquivalent ist zu einem Gewichtsmatrixprodukt, das ein Produkt von Matrizen von Gewichtsparametern ist, die die Zerlegungsschicht bilden; Extrahieren mehrerer Ränge per Matrixzerlegung an der äquivalenten Gewichtsmatrix; und Erstellen der Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend mindestens einem ausgewählten Rang, der aus den mehreren Rängen ausgewählt wurde.
  • Ein zweiter Aspekt der vorliegenden Offenbarung ist ein Modellgenerierungsprogramm, das auf einem Speichermedium gespeichert ist, um ein Machine-Learning-Modell zu generieren, indem ein Convolutional Layer eines Convolutional Neural Networks durch eine Zerlegungsschicht per Matrixzerlegung ersetzt wird. Das Modellgenerierungsprogramm weist Befehle auf, die dazu ausgelegt sind, einen Prozessor zu veranlassen, folgende Schritte auszuführen: Sortieren von Gewichtsparametern, die eine ursprüngliche Schicht des Convolutional Layers bilden, um eine äquivalente Gewichtsmatrix zu bilden, die äquivalent ist zu einem Gewichtsmatrixprodukt, das ein Produkt von Matrizen von Gewichtsparametern ist, die die Zerlegungsschicht bilden; Extrahieren mehrerer Ränge per Matrixzerlegung an der äquivalenten Gewichtsmatrix; und Erstellen der Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend mindestens einem ausgewählten Rang, der aus den mehreren Rängen ausgewählt wurde.
  • Ein dritter Aspekt der vorliegenden Offenbarung ist eine Modellgenerierungsvorrichtung, die konfiguriert ist, um ein Machine-Learning-Modell zu generieren, indem sie einen Convolutional Layer eines Convolutional Neural Networks durch eine Zerlegungsschicht per Matrixzerlegung ersetzt. Die Modellgenerierungsvorrichtung weist einen Prozessor auf, der konfiguriert ist, um die folgenden Schritte auszuführen: Sortieren von Gewichtsparametern, die eine ursprüngliche Schicht des Convolutional Layers bilden, um eine äquivalente Gewichtsmatrix zu bilden, die äquivalent ist zu einem Gewichtsmatrixprodukt, das ein Produkt von Matrizen von Gewichtsparametern ist, die die Zerlegungsschicht bilden; Extrahieren mehrerer Ränge per Matrixzerlegung an der äquivalenten Gewichtsmatrix; und Erstellen der Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend mindestens einem ausgewählten Rang, der aus den mehreren Rängen ausgewählt wurde.
  • Gemäß dem ersten bis dritten Aspekt der vorliegenden Offenbarung werden die Gewichtsparameter, die die ursprüngliche Schicht des Convolutional Layers bilden, sortiert, um die äquivalente Gewichtsmatrix zu bilden, die äquivalent ist zu dem Gewichtsmatrixprodukt, das ein Produkt von Matrizen von Gewichtsparametern ist, die die Zerlegungsschicht bilden. Dementsprechend kann durch Erstellen bzw. Aufbauen der Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend dem mindestens einen ausgewählten Rang, der aus Rängen ausgewählt wird, die durch die Matrixzerlegung an der äquivalenten Gewichtsmatrix extrahiert werden, die Anzahl der Gewichtsparameter der Zerlegungsschicht reduziert werden. Dadurch kann die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks erhöht werden.
  • Ein vierter Aspekt der vorliegenden Offenbarung ist eine Datenverarbeitungsvorrichtung mit einem Speichermedium, das das Machine-Learning-Modell des Convolutional Neural Networks speichert, das durch das Modellgenerierungsverfahren gemäß dem ersten Aspekt generiert wird, und einem Prozessor, der konfiguriert ist, um eine Datenverarbeitung auf der Grundlage des im Speichermedium gespeicherten Machine-Learning-Modells auszuführen.
  • Gemäß dem vierten Aspekt kann bei der Datenverarbeitung auf der Grundlage des Machine-Learning-Modells des Convolutional Neural Networks, das durch das Modellgenerierungsverfahren des ersten Aspekts generiert wird, eine hohe Verarbeitungsgeschwindigkeit durch die Zerlegungsschicht realisiert werden, deren Anzahl der Gewichtsparameter reduziert ist.
    • 1 zeigt ein Blockdiagramm zur Veranschaulichung einer Gesamtkonfiguration gemäß einer ersten Ausführungsform.
    • 2 zeigt eine schematische Abbildung zur Erläuterung eines Machine-Learning-Modells gemäß der ersten Ausführungsform.
    • 3 zeigt eine schematische Abbildung zur Erläuterung einer Anfangsschicht gemäß der ersten Ausführungsform.
    • 4 zeigt eine schematische Abbildung zur Erläuterung einer Zerlegungsschicht gemäß der ersten Ausführungsform.
    • 5 zeigt eine schematische Abbildung zur Erläuterung der Anfangsschicht gemäß der ersten Ausführungsform.
    • 6 zeigt eine schematische Abbildung zur Erläuterung der Anfangsschicht gemäß der ersten Ausführungsform.
    • 7 zeigt ein Blockdiagramm zur Veranschaulichung einer funktionalen Konfiguration einer Modellgenerierungsvorrichtung gemäß der ersten Ausführungsform.
    • 8 zeigt ein Ablaufdiagramm zur Veranschaulichung eines Modellgenerierungsablaufs gemäß der ersten Ausführungsform.
    • 9 zeigt eine schematische Abbildung zur Erläuterung eines Sortierungsprozesses gemäß der ersten Ausführungsform.
    • 10 zeigt eine schematische Abbildung zur Erläuterung des Sortierungsprozesses gemäß der ersten Ausführungsform.
    • 11 zeigt eine schematische Abbildung zur Erläuterung des Sortierungsprozesses gemäß der ersten Ausführungsform.
    • 12 zeigt eine schematische Abbildung zur Erläuterung des Sortierungsprozesses gemäß der ersten Ausführungsform.
    • 13 zeigt eine schematische Abbildung zur Erläuterung eines Rangextraktionsprozesses gemäß der ersten Ausführungsform.
    • 14 zeigt eine schematische Abbildung zur Erläuterung eines Schichtbildungsprozesses gemäß der ersten Ausführungsform.
    • 15 zeigt eine schematische Abbildung zur Erläuterung des Schichtbildungsprozesses gemäß der ersten Ausführungsform.
    • 16 zeigt eine schematische Abbildung zur Erläuterung einer Zerlegungsschicht gemäß einer zweiten Ausführungsform.
    • 17 zeigt eine schematische Abbildung zur Erläuterung der Zerlegungsschicht gemäß der zweiten Ausführungsform.
    • 18 zeigt ein Ablaufdiagramm zur Veranschaulichung eines Modellgenerierungsablaufs gemäß der zweiten Ausführungsform.
    • 19 zeigt eine schematische Abbildung zur Erläuterung eines Sortierungsprozesses gemäß der zweiten Ausführungsform.
    • 20 zeigt eine schematische Abbildung zur Erläuterung eines Schichtbildungsprozesses gemäß der zweiten Ausführungsform.
    • 21 zeigt eine schematische Abbildung zur Erläuterung des Schichtbildungsprozesses gemäß der zweiten Ausführungsform.
    • 22 zeigt eine schematische Abbildung zur Erläuterung einer sekundären Zerlegungsschicht gemäß einer dritten Ausführungsform.
    • 23 zeigt eine schematische Abbildung zur Erläuterung einer primären Zerlegungsschicht gemäß der dritten Ausführungsform.
    • 24 zeigt eine schematische Abbildung zur Erläuterung der sekundären Zerlegungsschicht gemäß der dritten Ausführungsform.
    • 25 zeigt ein Ablaufdiagramm zur Veranschaulichung eines Modellgenerierungsablaufs gemäß der dritten Ausführungsform.
    • 26 zeigt eine schematische Abbildung zur Erläuterung eines Sortierungsprozesses gemäß der dritten Ausführungsform.
    • 27 zeigt eine schematische Abbildung zur Erläuterung eines Schichtbildungsprozesses gemäß der dritten Ausführungsform.
    • 28 zeigt eine schematische Abbildung zur Erläuterung des Schichtbildungsprozesses gemäß der dritten Ausführungsform.
  • Nachstehend sind Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. Es ist zu beachten, dass entsprechende Komponenten in den jeweiligen Ausführungsformen mit den gleichen Bezugszeichen versehen und gegebenenfalls nicht wiederholt beschrieben sind. Wenn nur ein Teil der Konfiguration in den jeweiligen Ausführungsformen beschrieben ist, kann die Konfiguration der weiteren Ausführungsformen, die zuvor beschrieben sind, auf andere Teile der Konfiguration angewandt werden. Ferner können nicht nur die Kombinationen der Konfigurationen, die in der Beschreibung der jeweiligen Ausführungsformen explizit aufgezeigt sind, sondern ebenso die Konfigurationen der mehreren Ausführungsformen teilweise miteinander kombiniert werden, auch wenn die Konfigurationen nicht explizit aufgezeigt sind, wenn insbesondere in der Kombination kein Problem vorliegt.
  • (Erste Ausführungsform)
  • Eine in 1 gezeigte Modellgenerierungsvorrichtung 1 gemäß einer ersten Ausführungsform ist konfiguriert, um ein Machine-Learning-Modell ML zu generieren, indem ein Convolutional Layer in einem Convolutional Neural Network (CNN) durch eine Matrix-zerlegte Zerlegungsschicht ersetzt wird. Die Modellgenerierungsvorrichtung 1 weist mindestens einen dedizierten Computer auf. Der dedizierte Computer der Modellgenerierungsvorrichtung 1 weist mindestens einen Speicher 10 und mindestens einen Prozessor 12 auf.
  • Der Speicher 10 ist wenigstens eine Art eines nichtflüchtigen, materiellen Speichermedium, wie z.B. ein Halbleiterspeicher, eines magnetischen Mediums und eines optischen Mediums, zur nichtflüchtigen Speicherung von computerlesbaren Programmen und Daten. Der Prozessor 12 enthält, als einen Kern, wenigstens eine Art beispielsweise einer CPU (Central Processing Unit bzw. zentrale Recheneinheit), einer GPU (Graphics Processing Unit bzw. Grafikverarbeitungseinheit), einer RISC-CPU (RISC: Reduced Instruction Set Computer bzw. Rechner mit reduziertem Befehlssatz) und dergleichen.
  • Wie in 2 dargestellt, ist das Machine-Learning-Modell ML konfiguriert, um ein Convolutional Neural Network bereitzustellen, das mehrere Convolutional Layer Lm als Zwischenschichten zwischen einer Eingabeschicht Li und einer Ausgabeschicht Lo aufweist. Wie in den 3 und 4 dargestellt, ist der Convolutional Layer Lm konfiguriert, um Faltung an einer Feature-Map n mit c Kanälen durchzuführen und eine Feature-Map n+1 mit o Kanälen auszugeben.
  • Wie in 3 dargestellt, besteht eine Anfangsschicht Lm0, die eine Anfangsstruktur des Convolutional Layers Lm darstellt, aus normalen Faltungsfiltern (Kernel) F für o Ausgangskanäle. Der normale Faltungsfilter F ist ein dreidimensionaler Tensor der Größe h×w×c. In der Anfangsschicht Lm0 wird der Faltungsfilter F für jeden von o Ausgangskanälen durch eine Gewichtsmatrix mit h×w×c Gewichtsparametern wochw definiert (siehe 5). Die Schichtstruktur der Anfangsschicht Lm0 kann durch die in 5 dargestellte Kombinationsformel dargestellt werden, wobei bo ein Bias-Parameter für jeden Ausgangskanal ist.
  • Wie in 4 dargestellt, wird die Zerlegungsschicht Lmd, die aus der Anfangsschicht Lm0 durch die Matrixzerlegung des Convolutional Layers Lm ersetzt wird, auf der Grundlage einer Faltung eines Gewichtsmatrixprodukts erstellt, das ein Matrixprodukt von Gewichtsparametern ist, die die Zerlegungsschicht Lmd bilden. Insbesondere wird die Zerlegungsschicht Lmd der ersten Ausführungsform durch Faltung des Gewichtsmatrixprodukts des tiefenmäßigen (DW) Faltungsfilters Fdw und des punktmäßigen (PW) Faltungsfilters Fpw erstellt. Der DW-Faltungsfilter Fdw und der PW-Faltungsfilter Fpw werden aus der Anfangsschicht Lm0 (siehe 3) per Matrixzerlegung erhalten.
  • Hierin sind, in der Zerlegungsschicht Lmd, die DW-Faltungsfilter Fdw, die der Anzahl c der Eingangskanäle entsprechen, zweidimensionale Tensoren der Größe h×w×1, wie in 4 dargestellt, und durch eine Gewichtsmatrix mit h×w Gewichtsparametern w'chw definiert, wie in 6 gezeigt. Demgegenüber sind, in der Zerlegungsschicht Lmd, die PW-Faltungsfilter Fpw für die Anzahl oder Ausgangskanäle eindimensionale Tensoren der Größe 1×1×c, wie in 4 dargestellt, und durch eine Gewichtsmatrix mit Gewichtsparametern w''oc definiert, wie in 6 gezeigt. Aus diesen Gründen kann die Zerlegungsschicht Lmd durch die in 6 dargestellte Kombinationsformel ausgedrückt werden, in der bo ein Bias-Parameter für jeden Ausgangskanal ist.
  • Das Machine-Learning-Modell ML einschließlich der Zerlegungsschichten Lmd, die aus den Anfangsschichten Lm0 für jeden Convolutional Layer Lm ersetzt wurden, wird im Speicher 10 gespeichert, wie in 1 dargestellt. Der Prozessor 12 der Modellgenerierungsvorrichtung 1 fungiert ebenso als eine Datenverarbeitungsvorrichtung, indem er eine Datenverarbeitung auf der Grundlage des im Speicher 10 gespeicherten Machine-Learning-Modells ML durchführt. Die von der Modellgenerierungsvorrichtung 1 durchgeführte Datenverarbeitung ist beispielsweise wenigstens entweder ein Machine-Learning-Prozess des Machine-Learning-Modells ML unter Verwendung von Trainingsdaten oder ein Analyseprozess der Eingangsdaten, die das Machine-Learning-Modell ML durchlaufen haben. Bei den Trainingsdaten und den Eingangsdaten handelt es sich um Daten in Bezug auf wenigstens eines der folgenden Elemente: digitale Daten wie z.B. Bilddaten, Audiodaten, Textdaten, Messdaten, Fahrzeugbewegungsdaten, Fahrzeugfahrdaten und Umweltdaten beispielsweise.
  • In der Modellgenerierungsvorrichtung 1 ist der Prozessor 12 konfiguriert, um Befehle auszuführen, die in dem im Speicher 10 gespeicherten Modellgenerierungsprogramm enthalten sind, um das Machine-Learning-Modell ML zu generieren. Dementsprechend ist die Modellgenerierungsvorrichtung 1 konfiguriert, um mehrere Funktionsblöcke zum Erzeugen des Machine-Learning-Modells ML zu erstellen, indem sie den Convolutional Layer Lm aus der Anfangsschicht Lm0 durch die Zerlegungsschicht Lmd ersetzt. In der Modellgenerierungsvorrichtung 1 werden die Funktionen der Funktionsblöcke durch das im Speicher 10 gespeicherte Matching-Programm realisiert, das den Prozessor 12 veranlasst, die Befehle auszuführen. Die Funktionsblöcke enthalten einen Sortierblock 100, einen Rangextraktionsblock 200 und einen Schichtbildungsblock 300, wie in 7 dargestellt.
  • Die Verbindung dieser Blöcke 100, 200, 300 ermöglicht es der Modellgenerierungsvorrichtung 1, den Convolutional Layer Lm aus der Anfangsschicht Lm0 durch die Zerlegungsschicht Lmd zu ersetzen, und das Modellgenerierungsverfahren zum Generieren des Machine-Learning-Modells ML erfolgt gemäß dem Modellgenerierungsablauf in 8. Bei diesem Modellgenerierungsablauf kennzeichnet „S“ Schritte des Prozesses, die durch im Generierungsprogramm enthaltene Befehle ausgeführt werden.
  • Bei dem Modellgenerierungsablauf der ersten Ausführungsform werden die Schritte S101 bis S103 ausgeführt, wie in 8 gezeigt. Insbesondere sortiert der Sortierblock 100 in Schritt S101 Gewichtsparameter wochw, die eine ursprüngliche Schicht bilden. Die ursprüngliche Schicht ist die Anfangsschicht Lm0, die in die Modellgenerierungsvorrichtung 1 als der Convolutional Layer Lm eingegeben wird, der noch nicht ersetzt wurde. Zu dieser Zeit sortiert der Sortierblock 100 die Gewichtsparameter wochw der Anfangsschicht Lm0, um eine äquivalente Gewichtsmatrix WMe zu bilden, die, wie in 9 dargestellt, äquivalent ist zu dem Gewichtsmatrixprodukt der Gewichtsparameter w'chw, w''oc, die die ersetzte Zerlegungsschicht Lmd bilden.
  • Insbesondere verteilt der Sortierblock 100 die Gewichtsparameter wochw des normalen Faltungsfilters F, der die Anfangsschicht Lm0 als die ursprüngliche Schicht bildet, für jeden Eingangskanal mit der Anzahl von Kanälen c, wie in 10 dargestellt. Gleichzeitig verteilt der Sortierblock 100 die Gewichtsparameter w'chw des DW-Faltungsfilters Fdw und die Gewichtsparameter w''oc des PW-Faltungsfilters Fpw, wie in den 11 und 12 dargestellt. Der DW-Faltungsfilter Fdw und der PW-Faltungsfilter Fpw bilden die Zerlegungsschicht Lmd.
  • Nach diesen Verteilungen erzeugt der Sortierblock 100 die äquivalente Gewichtsmatrix WMe, indem er die in 9 links dargestellten Gewichtsparameter wochw so sortiert, dass sie äquivalent sind zu dem in 9 rechts dargestellten Gewichtsmatrixprodukt der Gewichtsparameter w'chw, w''oc. Insbesondere wird, in der ersten Ausführungsform, die DW-Gewichtsmatrix, die ein eindimensionaler Tensor mit einer einzigen Spalte ist, für die Gewichtsparameter w'chw des DW-Faltungsfilters Fdw angenommen. Gleichzeitig wird, in der ersten Ausführungsform, die PW-Gewichtsmatrix, die ein eindimensionaler Tensor mit einer einzigen Zeile ist, für die Gewichtsparameter w''oc des PW-Faltungsfilters Fpw angenommen. Auf der Grundlage dieser Annahmen wird, in der ersten Ausführungsform, eine Gewichtsmatrix, die ein zweidimensionaler Tensor der Größe (h×w)×o ist, als die äquivalente Gewichtsmatrix WMe definiert.
  • In Schritt S102 von 8 extrahiert der Rangextraktionsblock 200 Ränge r per Matrixzerlegung an der äquivalenten Gewichtsmatrix WMe, die durch den Sortierblock 100 in Schritt S101 erhalten wurde. Der Rangextraktionsblock 200 der ersten Ausführungsform zerlegt jede äquivalente Gewichtsmatrix WMe für jeden Eingangskanal in ein Matrixprodukt aus einer zerlegten Matrix U, die sich auf die DW-Gewichtsmatrix mit den Gewichtsparametern w'chw bezieht, einer Singulärwert-Diagonalmatrix Σ und einer zerlegten Matrix V, die sich auf die PW-Gewichtsmatrix mit den Gewichtsparametern w''oc bezieht. Bei einer solchen Singulärwert-Zerlegung für jeden Eingangskanal extrahiert der Rangextraktionsblock 200, als den Rang r, die Indizes (im Beispiel von 13 Suffix 0, 1, 2 von Zeichen ω) zur Identifizierung jedes Singulärwerts ωr, der der Eigenwert der Singulärwert-Diagonalmatrix Σ ist. Gleichzeitig extrahiert der Rangextraktionsblock 200 die Spalte der zerlegten Matrix U und die Zeile der zerlegten Matrix V als die Matrixelemente, die dem Rang r entsprechen. Ferner gewinnt der Rangextraktionsblock 200, basierend auf diesen Extraktionsergebnissen, die DW-Gewichtsmatrix aus dem Matrixprodukt der Spalten der zerlegten Matrix U und dem Singulärwert ωr und die PW-Gewichtsmatrix aus den Zeilen der zerlegten Matrix V. Alternativ dazu kann der Rangextraktionsblock 200 die DW-zerlegte Matrix aus den Spalten der zerlegten Matrix U und die PW-Gewichtsmatrix aus dem Matrixprodukt der Zeilen der zerlegten Matrix V und dem Singulärwert ωr gewinnen.
  • In Schritt S103 von 8 wählt der Schichtbildungsblock 300 mindestens einen Rang rs aus den extrahierten Rängen r aus, die durch den Rangextraktionsblock 200 in Schritt S102 extrahiert wurden, und bildet bzw. erstellt die Zerlegungsschicht Lmd auf der Grundlage der Faltung des Gewichtsmatrixprodukts entsprechend dem ausgewählten Rang rs. Der Schichtbildungsblock 300 der ersten Ausführungsform wählt die Gewichtsmatrixprodukte, die mindestens zwei ausgewählten Rängen rs entsprechen, die kleiner sind als die Anzahl der Ränge r (d.h. die Anzahl der Ränge der Singulärwert-Diagonalmatrix Σ), als das Matrixprodukt der DW-Gewichtsmatrix und der PW-Gewichtsmatrix aus, die durch Zerlegung der äquivalenten Gewichtsmatrix WMe für jeden Eingangskanal mit c Kanälen erhalten werden, wie in 14 gezeigt. Die Ränge r mit dem größten Singulärwert ωr der Singulärwert-Diagonalmatrix Σ können als die ausgewählten Ränge rs ausgewählt werden. D.h., die Ränge r mit einem kleinen Singulärwert ωr der Singulärwert-Diagonalmatrix Σ können von den ausgewählten Rängen rs ausgeschlossen werden.
  • Nach der Auswahl gewinnt der Schichtbildungsblock 300 die Zerlegungsschicht Lmd durch Addition der Elemente der Feature-Maps resultierend aus der Faltung der DW-Gewichtsmatrix und der PW-Gewichtsmatrix entsprechend den ausgewählten Rängen rs, wie in den 14 und 15 gezeigt. Insbesondere gewinnt der Schichtbildungsblock 300 das Feature-Map („Merkmalskarte“) der Größe h×w×o durch Faltung der PW-Gewichtsmatrix und das Feature-Map der Größe h×w×c, das durch Faltung des Feature-Maps n und der DW-Gewichtsmatrix erhalten wird, und anschließende Addition der Elemente, um das Feature-Map n+1 der Größe h×w×o auszugeben. 14 zeigt die Kombination der Gewichtsparameter w'chw, w"oc entsprechend den ausgewählten Rängen rs als die Struktur der Zerlegungsschicht Lmd für jeden Kanal. In 14 werden entsprechende ausgewählte Ränge rs jedoch durch hochgestellte Suffixe ausgedrückt, die den Gewichtsparametern w'chw, w"oc zugeordnet sind, um die Übereinstimmung mit den ausgewählten Rängen rs zu verdeutlichen.
  • Wie oben beschrieben, ersetzt der Schichtbildungsblock 300 die Anfangsschicht Lm0, die die im Speicher basierend auf der Eingabe gespeicherte ursprüngliche Schicht ist, durch die Zerlegungsschicht Lmd, die auf der Grundlage der ausgewählten Ränge rs gebildet bzw. erstellt wird. Zu dieser Zeit kann, selbst wenn es sich beispielsweise um eine Kombination aus DW-Faltung und PW-Faltung handelt, die „Machine Learning“, d.h. maschinelles Lernen, erfordert, eine Ersetzung aus dem Convolutional Layer Lm bei gleichzeitiger Unterdrückung der Verschlechterung und Beibehaltung der Genauigkeit ohne Machine Learning realisiert werden.
  • (Betriebseffekte)
  • Nachfolgend sind Effekte der obigen ersten Ausführungsform beschrieben.
  • Gemäß der ersten Ausführungsform werden die Gewichtsparameter wochw, die die Anfangsschicht Lm0 bilden, die die ursprüngliche Schicht des Convolutional Layers Lm vor der Ersetzung ist, sortiert, um die äquivalente Gewichtsmatrix WMe zu bilden, die äquivalent ist zu dem Gewichtsmatrixprodukt der Gewichtsparameter w'chw, w''oc, die die Zerlegungsschicht Lmd nach der Ersetzung bilden. Dementsprechend kann die Anzahl der Gewichtsparameter in der Zerlegungsschicht Lmd reduziert werden, indem die Zerlegungsschicht Lmd auf der Grundlage der Faltung des Gewichtsmatrixprodukts entsprechend dem mindestens einen ausgewählten Rang rs gebildet wird, der aus den Rängen r ausgewählt wird, die durch die Matrixzerlegung der äquivalenten Gewichtsmatrix WMe extrahiert werden. Dadurch kann die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks (CNN) erhöht werden. Darüber hinaus wird ebenso der Umfang der Operationen im Convolutional Neural Network reduziert und die Schichtstruktur nach der Ersetzung vereinheitlicht, so dass die Modellgenerierungsvorrichtung 1 als Hardware verkleinert werden kann.
  • Gemäß der ersten Ausführungsform kann die Anzahl der Gewichtsparameter weiter reduziert werden, da die Zerlegungsschicht Lmd auf der Grundlage der Faltung des Gewichtsmatrixprodukts entsprechend den ausgewählten Rängen rs, deren Anzahl kleiner als die Anzahl der Ränge r ist, gebildet bzw. erstellt wird. Dementsprechend kann die erste Ausführungsform von Vorteil sein, um die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks zu erhöhen. Ferner kann die erste Ausführungsform vorteilhaft sein, um die Modellgenerierungsvorrichtung 1 zu verkleinern.
  • Gemäß der ersten Ausführungsform kann die Genauigkeit der Ersetzung verbessert werden, da die Zerlegungsschicht Lmd generiert wird durch Addition der Elemente der Faltungsergebnisse des Gewichtsmatrixprodukts entsprechend den mindestens zwei ausgewählten Rängen rs. Insbesondere kann, in der ersten Ausführungsform, da die Anzahl der ausgewählten Ränge rs kleiner ist als die Anzahl der Ränge r, die Genauigkeit der Ersetzung durch die Approximation niedrigen Ranges (Low-Rank-Approximation) verbessert werden. Dementsprechend kann die erste Ausführungsform vorteilhaft sein, um sowohl die Verarbeitungsgenauigkeit als auch die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks zu erhöhen. Ferner kann die erste Ausführungsform vorteilhaft sein, um die hochgenaue Modellgenerierungsvorrichtung 1 zu verkleinern.
  • Gemäß der ersten Ausführungsform wird die äquivalente Gewichtsmatrix WMe erhalten, indem die Gewichtsparameter wochw der Anfangsschicht Lm0 so sortiert werden, dass sie äquivalent sind zu dem Gewichtsmatrixprodukt des DW-Faltungsfilters Fdw und des PW-Faltungsfilters Fpw, die durch die Matrixzerlegung an der Zerlegungsschicht Lmd erhalten werden. Diese Kombination aus DW-Faltung und PW-Faltung kann zusammen mit der Schichtkonstruktion auf der Grundlage der Faltung des Gewichtsmatrixprodukts entsprechend den ausgewählten Rängen rs die Wirksamkeit der Reduzierung der Anzahl von Gewichtsparametern in der Zerlegungsschicht Lmd erhöhen. Dementsprechend kann die erste Ausführungsform von Vorteil sein, um die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks zu erhöhen. Ferner kann die erste Ausführungsform vorteilhaft sein, um die Modellgenerierungsvorrichtung 1 zu verkleinern.
  • Gemäß der ersten Ausführungsform kann die Datenverarbeitung auf der Grundlage des Machine-Learning-Modells ML des Convolutional Neural Networks, das durch das Modellgenerierungsverfahren generiert wird, eine hohe Verarbeitungsgeschwindigkeit durch die Zerlegungsschicht Lmd realisieren, in der die Anzahl der Gewichtsparameter reduziert wird. Ferner kann, da der Arbeitsaufwand für die Datenverarbeitung in dem Convolutional Neural Network reduziert und die Schichtstruktur vereinheitlicht wird, die Modellgenerierungsvorrichtung 1, die die Hardware ist, die als eine Datenverarbeitungsvorrichtung fungiert, verkleinert werden.
  • (Zweite Ausführungsform)
  • Eine zweite Ausführungsform ist eine Modifikation der ersten Ausführungsform.
  • In der zweiten Ausführungsform wird die Zerlegungsschicht Lmd auf der Grundlage der Faltung des Gewichtsmatrixprodukts des Gewichtsteilungs-DW-Faltungsfilters Fdws und des PW-Faltungsfilters Fpw erstellt, die durch Matrixzerlegung der Anfangsschicht Lm0 erhalten werden, wie in 16 dargestellt. Insbesondere wird in der Zerlegungsschicht Lmd der zweiten Ausführungsform ein einzelner DW-Faltungsfilter Fdws für die PW-Faltungsfilter Fpw für o Ausgangskanäle gemeinsam verwendet, die wie in der ersten Ausführungsform definiert sind.
  • Hierin ist der Gewichtsteilungs-DW-Faltungsfilter Fdws ein zweidimensionaler Tensor der Größe h×w×1, wie in 16 dargestellt, und wird durch eine Gewichtsmatrix mit h×w Gewichtsparametern w'hw definiert, wie in 17 gezeigt. Die Zerlegungsschicht Lmd der zweiten Ausführungsform kann durch die in 17 dargestellte Kombinationsformel ausgedrückt werden, in der bo ein Bias-Parameter für jeden Ausgangskanal ist.
  • Bei dem in 18 gezeigten Modellgenerierungsablauf der zweiten Ausführungsform erfolgen die Schritte S201 bis S203 anstelle der Schritte S101 bis S103 der ersten Ausführungsform. Insbesondere sortiert der Sortierblock 100 in Schritt S201 die Gewichtsparameter wochw der Anfangsschicht Lm0, die die ursprüngliche Schicht ist, auf der Grundlage des Gewichtsmatrixprodukts der Gewichtsparameter w'hw, w''oc, die die Zerlegungsschicht Lmd bilden. Der Sortierblock 100 der zweiten Ausführungsform generiert die äquivalente Gewichtsmatrix WMe, indem er die auf der linken Seite von 19 dargestellten Gewichtsparameter wochw so sortiert, dass sie äquivalent sind zu dem auf der rechten Seite von 19 dargestellten Gewichtsmatrixprodukt der Gewichtsparameter w'hw, w''oc.
  • Bezüglich der Gewichtsparameter w''oc des PW-Faltungsfilters Fpw wird wie bei der ersten Ausführungsform ein einzeiliger eindimensionaler Tensor angenommen. Demgegenüber wird, bezüglich der Gewichtsparameter w'hw des DW-Faltungsfilters Fdws, ein einspaltiger eindimensionaler Tensor angenommen. In der zweiten Ausführungsform wird die Gewichtsmatrix, die ein zweidimensionaler Tensor der Größe (h×w)×(o×c) ist, als die äquivalente Gewichtsmatrix WMe definiert, die äquivalent ist zu dem Matrixprodukt aus der DW-Gewichtsmatrix und der PW-Gewichtsmatrix.
  • In Schritt S202 der zweiten Ausführungsform gemäß 18 extrahiert der Rangextraktionsblock 200 Ränge r per Matrixzerlegung an der äquivalenten Gewichtsmatrix WMe, die durch den Sortierblock 100 in Schritt S201 erhalten wurde. Der Rangextraktionsblock 200 der zweiten Ausführungsform zerlegt jede äquivalente Gewichtsmatrix WMe in ein Matrixprodukt aus einer zerlegten Matrix U, die sich auf die DW-Gewichtsmatrix mit den Gewichtsparametern w'hw bezieht, einer Singulärwert-Diagonalmatrix Σ und einer zerlegten Matrix V, die sich auf die PW-Gewichtsmatrix mit den Gewichtsparametern w''oc bezieht. Der Rangextraktionsblock 200 der zweiten Ausführungsform extrahiert die Spalte der zerlegten Matrix U und die Zeile der zerlegten Matrix V entsprechend dem Rang r, der der Singulärwert ωr für jede Singulärwert-Diagonalmatrix Σ ist. Ferner gewinnt der Rangextraktionsblock 200 der zweiten Ausführungsform, basierend auf diesen Extraktionsergebnissen, die DW-Gewichtsmatrix aus dem Matrixprodukt der Spalten der zerlegten Matrix U und dem Singulärwert ωr und die PW-Gewichtsmatrix aus den Zeilen der zerlegten Matrix V. Alternativ dazu kann der Rangextraktionsblock 200 die DW-zerlegte Matrix aus den Spalten der zerlegten Matrix U und die PW-Gewichtsmatrix aus dem Matrixprodukt der Zeilen der zerlegten Matrix V und dem Singulärwert ωr gewinnen.
  • Des Weiteren erstellt bzw. bildet der Schichtbildungsblock 300 im Modellgenerierungsablauf der zweiten Ausführungsform in Schritt S203 die Zerlegungsschicht Lmd auf der Grundlage der Faltung des Gewichtsmatrixprodukts entsprechend dem ausgewählten Rang rs, der aus den durch den Rangextraktionsblock 200 in Schritt S202 extrahierten Rängen r ausgewählt wurde. Der Schichtbildungsblock 300 der zweiten Ausführungsform wählt die Gewichtsmatrixprodukte entsprechend mindestens zwei ausgewählten Rängen rs, die kleiner als die Anzahl der Ränge r sind, als das Matrixprodukt der DW-Gewichtsmatrix und der PW-Gewichtsmatrix aus, die durch Zerlegung der äquivalenten Gewichtsmatrix WMe, wie in 20 gezeigt, erhalten werden.
  • Nach der Auswahl gewinnt der Schichtbildungsblock 300 der zweiten Ausführungsform die Zerlegungsschicht Lmd durch Addition der Elemente der Feature-Maps resultierend aus der Faltung der Gewichtsteilungs-DW-Gewichtsmatrix und der PW-Gewichtsmatrix entsprechend der ausgewählten Ränge rs, wie in den 20 und 21 gezeigt. 20 zeigt die Kombination der Gewichtsparameter w'hw, w''oc entsprechend den ausgewählten Rängen rs als die Struktur der Zerlegungsschicht Lmd. In 20 werden entsprechende ausgewählte Ränge rs jedoch durch hochgestellte Suffixe ausgedrückt, die den Gewichtsparametern w'hw, w''oc zugeordnet sind, um die Übereinstimmung mit den ausgewählten Rängen rs zu verdeutlichen. Wie oben beschrieben, ersetzt der Schichtbildungsblock 300 der zweiten Ausführungsform die Anfangsschicht Lm0, die die im Speicher basierend auf der Eingabe gespeicherte ursprüngliche Schicht ist, durch die Zerlegungsschicht Lmd, die auf der Grundlage der ausgewählten Ränge rs gebildet bzw. erstellt wird.
  • Gemäß der zweiten Ausführungsform werden die Gewichtsparameter wochw, die die Anfangsschicht Lm0 bilden, die die ursprüngliche Schicht des Convolutional Layers Lm vor der Ersetzung ist, sortiert, um die äquivalente Gewichtsmatrix WMe zu bilden, die äquivalent ist zu dem Gewichtsmatrixprodukt der Gewichtsparameter w'hw, w''oc, die die Zerlegungsschicht Lmd nach der Ersetzung bilden. Dementsprechend kann die Anzahl der Gewichtsparameter der Zerlegungsschicht Lmd nach demselben Prinzip wie in der ersten Ausführungsform verringert und die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks erhöht werden. Darüber hinaus wird ebenso der Umfang der Operationen im Convolutional Neural Network reduziert und die Schichtstruktur nach der Ersetzung vereinheitlicht, so dass die Modellgenerierungsvorrichtung 1 verkleinert werden kann.
  • Gemäß der zweiten Ausführungsform wird die äquivalente Gewichtsmatrix WMe erhalten, indem die Gewichtsparameter wochw der Anfangsschicht Lm0 so sortiert werden, dass sie äquivalent zu dem Gewichtsmatrixprodukt des Gewichtsteilungs-DW-Faltungsfilters Fdws und des PW-Faltungsfilters Fpw sind, die durch die Matrixzerlegung an der Zerlegungsschicht Lmd erhalten werden. Diese DW-Faltung, bei der die Gewichtsparameter w'hw für die PW-Faltung gemeinsam genutzt werden, kann zusammen mit der Schichtkonstruktion auf der Grundlage der Faltung des Gewichtsmatrixprodukts entsprechend den ausgewählten Rängen rs die Wirksamkeit der Reduzierung der Anzahl von Gewichtsparametern in der Zerlegungsschicht Lmd erhöhen. Dementsprechend kann die zweite Ausführungsform von Vorteil sein, um die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks zu erhöhen. Ferner kann die zweite Ausführungsform vorteilhaft sein, um die Modellgenerierungsvorrichtung 1 zu verkleinern.
  • (Dritte Ausführungsform)
  • Eine dritte Ausführungsform ist eine Modifikation der zweiten Ausführungsform.
  • Als der Convolutional Layer LM der dritten Ausführungsform wird eine primäre Zerlegungsschicht Lmd, die wie in der zweiten Ausführungsform aus der Anfangsschicht Lm0 ersetzt wird, die die ursprüngliche Schicht der vorherigen Verarbeitung ist, als die ursprüngliche Schicht für die nächste Verarbeitung neu definiert, und die primäre Zerlegungsschicht Lmd wird durch eine zerlegte sekundäre Zerlegungsschicht Lmd2 ersetzt. Wie in 22 gezeigt, wird die sekundäre Zerlegungsschicht Lmd2 durch Faltung des Gewichtsmatrixprodukts erstellt, das durch Matrixzerlegung des Gewichtsteilungs-DW-Faltungsfilters Fdws der primären Zerlegungsschicht Lmd in ein Paar primärer DW-Faltungsfilter Fdw2 gewonnen wird.
  • In der nachfolgenden Beschreibung werden bezüglich des Gewichtsteilungs-DW-Faltungsfilters Fdws der primären Zerlegungsschicht, die die neu definierte ursprüngliche Schicht ist, die in der zweiten Ausführungsform beschriebenen Gewichtsparameter w'hw als die Gewichtsparameter whw neu definiert, wie in der Kombinationsformel in 23 dargestellt, in der b der Bias-Parameter ist.
  • Hier ist ein Filter des Paares von DW-Faltungsfiltern Fdws2 ein eindimensionaler Tensor der Größe 1×w×1, wie in 22 dargestellt, und wird durch eine Gewichtsmatrix mit w Gewichtsparametern w'w definiert, wie in 24 gezeigt. Demgegenüber ist der andere Filter des Paares von DW-Faltungsfiltern Fdws2 ein eindimensionaler Tensor der Größe h×1×1, wie in 22 dargestellt, und wird durch eine Gewichtsmatrix mit h Gewichtsparametern w''h definiert, wie in 24 gezeigt. Aus diesen Gründen kann die sekundäre Zerlegungsschicht Lmd2 der dritten Ausführungsform durch die in 24 dargestellte Kombinationsformel ausgedrückt werden, in der b ein Bias-Parameter für jeden Ausgangskanal ist.
  • Im Modellgenerierungsablauf der dritten Ausführungsform, wie in 25 dargestellt, werden die Schritte S301 bis S303 nach den Schritten S201 bis S203 ausgeführt. Insbesondere sortiert der Sortierblock 100 in Schritt S301 die Gewichtsparameter whw der DW-Faltungsfilter Fdws in der primären Zerlegungsschicht Lmd, die als die ursprüngliche Schicht neu definiert wird, und zwar auf der Grundlage des Gewichtsmatrixprodukts der Gewichtsparameter w'w, w''h, die die sekundäre Zerlegungsschicht Lmd2 bilden. Der Sortierblock 100 der dritten Ausführungsform generiert die äquivalente Gewichtsmatrix WMe, indem er die auf der linken Seite von 26 dargestellten Gewichtsparameter whw so sortiert, dass sie äquivalent sind zu dem auf der rechten Seite von 26 dargestellten Gewichtsmatrixprodukt der Gewichtsparameter w'w, w''h.
  • Bei den DW-Faltungsfiltern Fdws wird die DW-Gewichtsmatrix, die ein einzeiliger eindimensionaler Tensor ist, für die Gewichtsparameter w'w angenommen, und wird die DW-Gewichtsmatrix, die ein einspaltiger eindimensionaler Tensor ist, für die Gewichtsparameter w''h angenommen. In der dritten Ausführungsform wird, wie in der ersten Ausführungsform, eine Gewichtsmatrix, die ein zweidimensionaler Tensor der Größe h×w ist, als die äquivalente Gewichtsmatrix WMe definiert.
  • In Schritt S302 des Modellgenerierungsablaufs der dritten Ausführungsform, wie in 25 gezeigt, extrahiert der Rangextraktionsblock 200 erneut Ränge r durch Matrixzerlegung an der äquivalenten Gewichtsmatrix WMe, die durch den Sortierblock 100 in Schritt S301 gewonnen wurde. Der Rangextraktionsblock 200 der dritten Ausführungsform zerlegt die äquivalente Gewichtsmatrix WMe in ein Matrixprodukt aus einer zerlegten Matrix U, die sich auf die DW-Gewichtsmatrix mit den Gewichtsparametern w'w bezieht, einer Singulärwert-Diagonalmatrix Σ und einer zerlegten Matrix V, die sich auf die DW-Gewichtsmatrix mit den Gewichtsparametern w''h bezieht. Der Rangextraktionsblock 200 der dritten Ausführungsform extrahiert die Spalte der zerlegten Matrix U und die Zeile der zerlegten Matrix V entsprechend dem Rang r, der der Singulärwert ωr für jede Singulärwert-Diagonalmatrix Σ ist. Darüber hinaus erhält der Rangextraktionsblock 200 der dritten Ausführungsform, auf Basis dieser Extraktionsergebnisse, eine der DW-Gewichtsmatrizen aus dem Matrixprodukt der Spalten der zerlegten Matrix U und dem Singulärwert ωr und die andere der DW-Gewichtsmatrizen aus den Zeilen der zerlegten Matrix V. Alternativ kann der Rangextraktionsblock 200 eine der DW-zerlegten Matrizen aus den Spalten der zerlegten Matrix U und die andere der DW-Gewichtsmatrizen aus dem Matrixprodukt der Zeilen der zerlegten Matrix V und dem Singulärwert ωr.
  • Des Weiteren erstellt bzw. bildet der Schichtbildungsblock 300 im Modellgenerierungsablauf der dritten Ausführungsform in Schritt S303 die sekundäre Zerlegungsschicht Lmd2 auf der Grundlage der Faltung des Gewichtsmatrixprodukts entsprechend dem ausgewählten Rang rs, der aus den durch den Rangextraktionsblock 200 in Schritt S302 extrahierten Rängen r ausgewählt wurde. Der Schichtbildungsblock 300 der dritten Ausführungsform wählt die Gewichtsmatrixprodukte entsprechend mindestens zwei ausgewählten Rängen rs, die kleiner als die Anzahl der Ränge r sind, als das Matrixprodukt des Paares von DW-Gewichtsmatrizen, die durch Zerlegen der äquivalenten Gewichtsmatrix WMe erhalten werden, wie in 27 gezeigt.
  • Nach der Auswahl gewinnt der Schichtbildungsblock 300 der dritten Ausführungsform die Zerlegungsschicht Lmd durch Addition der Elemente der Feature-Maps resultierend aus der Faltung des Paares eindimensionaler DW-Gewichtsmatrizen entsprechend den ausgewählten Rängen rs, wie in den 27 und 28 gezeigt. 27 zeigt die Kombination der Gewichtsparameter w'w, w''h entsprechend den ausgewählten Rängen rs als die Struktur der sekundären Zerlegungsschicht Lmd2. In 27 werden entsprechende ausgewählte Ränge rs jedoch durch hochgestellte Suffixe ausgedrückt, die den Gewichtsparametern w'w, w''h zugeordnet sind, um die Übereinstimmung mit den ausgewählten Rängen rs zu verdeutlichen. Dementsprechend ersetzt der Schichtbildungsblock 300 der dritten Ausführungsform mit der sekundären Zerlegungsschicht Lmd2, die auf der Grundlage der ausgewählten Ränge rs aufgebaut wird, die Schichtstruktur, die sich auf das Gewichtsteilungs-Faltungsfilter Fdws der primären Zerlegungsschicht Lmd bezieht, die die ursprüngliche Schicht ist, die als Ergebnis der Schritte S201 bis S203 im Speicher gespeichert ist.
  • Gemäß der oben beschriebenen dritten Ausführungsform wird die sekundäre Zerlegungsschicht Lmd2, die aus der primären Zerlegungsschicht Lmd ersetzt wurde, die die vorherige ursprüngliche Schicht ist, als die nächste ursprüngliche Schicht neu definiert. Als Ergebnis werden die Gewichtsparameter whw, die die primäre Zerlegungsschicht Lmd bilden, so sortiert, dass sie die äquivalente Gewichtsmatrix WMe bilden, die äquivalent ist zu dem Gewichtsmatrixprodukt der Gewichtsparameter w'w, w''h, die die sekundäre Zerlegungsschicht Lmd2 bilden. Demnach kann nach dem gleichen Prinzip wie in der ersten Ausführungsform die sekundäre Zersetzungsschicht Lmd2, deren Anzahl der Gewichtsparameter gegenüber der primären Zersetzungsschicht Lmd weiter reduziert ist, durch die nächste Ersetzung gebildet werden. Dementsprechend kann die dritte Ausführungsform von Vorteil sein, um die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks zu erhöhen. Ferner ist die dritte Ausführungsform ebenso vorteilhaft, um die Anzahl der Operationen im Convolutional Neural Network zu reduzieren und die Schichtstruktur nach der Ersetzung zu vereinheitlichen, wodurch es möglich ist, die Modellgenerierungsvorrichtung 1 zu verkleinern.
  • Gemäß der dritten Ausführungsform wird die äquivalente Gewichtsmatrix WMe, die äquivalent ist zu dem Gewichtsmatrixprodukt eines Paares eindimensionaler DW-Faltungsfilter Fdw2, das durch Matrixzerlegung an sekundärer Zerlegungsschicht Lmd2 erhalten wird, durch Sortieren der Gewichtsparameter whw der primären Zerlegungsschicht Lmd gewonnen. Diese Kombination von eindimensionalen DW-Faltungen zusammen mit der Schichtkonstruktion basierend auf der Faltung des Gewichtsmatrixprodukts entsprechend den ausgewählten Rängen rs kann die Effektivität der Reduzierung der Anzahl von Gewichtsparametern in der sekundären Zerlegungsschicht Lmd2 erhöhen. Dementsprechend kann die dritte Ausführungsform von Vorteil sein, um die Verarbeitungsgeschwindigkeit des Convolutional Neural Networks zu erhöhen. Ferner kann die dritte Ausführungsform vorteilhaft sein, um die Modellgenerierungsvorrichtung 1 zu verkleinern.
  • (Weitere Ausführungsformen)
  • Obwohl vorstehend mehrere Ausführungsformen beschrieben sind, ist die vorliegende Offenbarung nicht so auszulegen, dass sie auf diese Ausführungsformen beschränkt ist, sondern kann auf verschiedene Ausführungsformen und Kombinationen innerhalb eines Umfangs angewandt werden, der nicht vom Kern der vorliegenden Offenbarung abweicht.
  • Der dedizierte Computer der Modellgenerierungsvorrichtung 1 des Modifikationsbeispiels kann wenigstens entweder eine digitale Schaltung oder eine analoge Schaltung als Prozessor enthalten. Insbesondere handelt es sich bei der digitalen Schaltung beispielsweise um mindestens einen der Typen: ASIC (Application-specific integrated circuit bzw. anwendungsspezifische integrierte Schaltung), FPGA (Field Programmable Gate Array bzw. programmierbare Logikgatter-Anordnung), SOC (System-on-a-Chip bzw. Ein-Chip-System), PGA (Programmable Gate Array bzw. programmierbare Gatter-Anordnung), CPLD (Complex Programmable Logic Device bzw. komplexe, programmierbare logische Vorrichtung) und dergleichen. Eine solche digitale Schaltung kann einen Speicher enthalten, in dem ein Programm gespeichert ist.
  • In einem Modifikationsbeispiel kann die Reihenfolge von Filtern Fdw, Fpw im Gewichtsmatrixprodukt gegenüber der in der ersten Ausführungsform beschriebenen Reihenfolge geändert werden. In einem Modifikationsbeispiel kann die Reihenfolge von Filtern Fdws, Fpw im Gewichtsmatrixprodukt gegenüber der in der zweiten Ausführungsform beschriebenen Reihenfolge geändert werden. In einem Modifikationsbeispiel kann die Reihenfolge von Filtern Fdw2, Fdw2 im Gewichtsmatrixprodukt gegenüber der in der dritten Ausführungsform beschriebenen Reihenfolge geändert werden.
  • In einem Modifikationsbeispiel kann die Matrixzerlegung anhand eines Verfahrens verschieden von der Singulärwert-Zerlegung erfolgen, wie beispielsweise anhand einer Hauptkomponentenanalyse und einer Eigenwertzerlegung. In einem Modifikationsbeispiel kann die Anzahl der ausgewählten Ränge rs auf der Grundlage des Trade-offs bzw. Kompromisses der Verarbeitungsgeschwindigkeit und der Verarbeitungsgenauigkeit abgestimmt werden. In einem Modifikationsbeispiel können die Gewichtsparameter der Zerlegungsschichten Lmd, Lmd2 nach der Ersetzung durch maschinelles Lernen erlernt werden, indem die Anzahl der ausgewählten Ränge rs reduziert wird.
  • In einem Modifikationsbeispiel kann ein einzelner Rang r als der ausgewählte Rang rs ausgewählt werden. Vorzugsweise kann ein Rang r (0 in 13) entsprechend einem höchsten Singulärwert ωr (ω0 in 13) als der ausgewählte Rang rs ausgewählt werden. In diesem Fall können die Zerlegungsschichten Lmd, Lmd2 auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend dem einzelnen ausgewählten Rang rs erstellt werden. In einem Modifikationsbeispiel können alle Ränge r als der ausgewählte Rang rs ausgewählt werden. In diesem Fall können die Zerlegungsschichten Lmd, Lmd2 durch Addition der Elemente der Faltungsergebnisse des Gewichtsmatrixprodukts entsprechend den ausgewählten Rängen rs erstellt werden.
  • In einem Modifikationsbeispiel kann die Zerlegungsschicht Lmd der dritten Ausführungsform die Anfangsschicht Lm0 des Convolutional Layers LM sein. In diesem Fall sind die Schritte S201 bis S203 aus dem Modellgenerierungsablauf der dritten Ausführungsform ausgelassen, und es werden nur die Schritte S301 bis S303 ausgeführt. Dementsprechend kann die Schicht Lmd, die die ursprüngliche Schicht ist, durch die zerlegte Schicht Lmd2 ersetzt werden.
  • In einem Modifikationsbeispiel kann die Modellgenerierungsvorrichtung 1 auch nicht als eine Datenverarbeitungsvorrichtung fungieren. Die oben beschriebenen Ausführungsformen und das Modifikationsbeispiel sind als eine Halbleitervorrichtung (z.B. Halbleiterchip) realisierbar, die mindestens einen Prozessor 12 und mindestens einen Speicher 10 der Modellgenerierungsvorrichtung 1 aufweist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2020155010 A [0002, 0003]

Claims (10)

  1. Modellgenerierungsverfahren für einen Prozessor (12), um ein Machine-Learning-Modell zu generieren, indem ein Convolutional Layer eines Convolutional Neural Networks durch eine Zerlegungsschicht per Matrixzerlegung ersetzt wird, wobei das Modellgenerierungsverfahren die folgenden Schritte aufweist: - Sortieren von Gewichtsparametern, die eine ursprüngliche Schicht des Convolutional Layers bilden, um eine äquivalente Gewichtsmatrix zu bilden, äquivalent zu einem Gewichtsmatrixprodukt, das ein Produkt von Matrizen von Gewichtsparametern ist, die die Zerlegungsschicht bilden; - Extrahieren von mehreren Rängen per Matrixzerlegung an der äquivalenten Gewichtsmatrix; und - Erstellen der Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend mindestens einem ausgewählten Rang, der aus den mehreren Rängen ausgewählt wurde.
  2. Modellgenerierungsverfahren nach Anspruch 1, wobei bei dem Erstellen der Zerlegungsschicht die Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend dem mindestens einen ausgewählten Rang, dessen Anzahl kleiner als die mehreren Ränge ist, erstellt wird.
  3. Modellgenerierungsverfahren nach Anspruch 1 oder 2, wobei - eine Anzahl des mindestens einen ausgewählten Ranges mindestens zwei ist; und - bei dem Erstellen der Zerlegungsschicht die Zerlegungsschicht durch Addition von Elementen von Ergebnissen von Faltung des Gewichtsmatrixprodukts entsprechend den mindestens zwei ausgewählten Rängen generiert wird.
  4. Modellgenerierungsverfahren nach Anspruch 1, wobei bei dem Sortieren der Gewichtsparameter die äquivalente Gewichtsmatrix durch das Sortieren äquivalent zu dem Gewichtsmatrixprodukt eines tiefenmäßigen Faltungsfilters und eines punktmäßigen Faltungsfilters, erhalten durch Matrixzerlegung an der Zerlegungsschicht, gewonnen wird.
  5. Modellgenerierungsverfahren nach Anspruch 1, wobei bei dem Sortieren der Gewichtsparameter die äquivalente Gewichtsmatrix durch das Sortieren äquivalent zu dem Gewichtsmatrixprodukt eines tiefenmäßigen Gewichtsteilungs-Faltungsfilters und eines punktmäßigen Faltungsfilters, erhalten durch Matrixzerlegung an der Zerlegungsschicht, gewonnen wird.
  6. Modellgenerierungsverfahren nach Anspruch 1, wobei bei dem Sortieren der Gewichtsparameter die äquivalente Gewichtsmatrix durch das Sortieren äquivalent zu dem Gewichtsmatrixprodukt eines Paares eindimensionaler tiefenmäßiger Faltungsfilter, erhalten durch Matrixzerlegung an der Zerlegungsschicht, gewonnen wird.
  7. Modellgenerierungsverfahren nach Anspruch 1, das bei dem Sortieren der Gewichtsparameter ferner ein Neudefinieren der Zerlegungsschicht, die in einem vorhergehenden Prozess aus der ursprünglichen Schicht ersetzt wurde, als die ursprüngliche Schicht in einem nächsten Prozess umfasst.
  8. Modellgenerierungsprogramm, das auf einem Speichermedium (10) gespeichert ist, zum Generieren eines Machine-Learning-Modells durch Ersetzen eines Convolutional Layers eines Convolutional Neural Networks durch eine Zerlegungsschicht per Matrixzerlegung, wobei das Modellgenerierungsprogramm Befehle enthält, die dazu ausgelegt sind, einen Prozessor (12) zu veranlassen, Folgendes auszuführen: - Sortieren von Gewichtsparametern, die eine ursprüngliche Schicht des Convolutional Layers bilden, um eine äquivalente Gewichtsmatrix zu bilden, äquivalent zu einem Gewichtsmatrixprodukt, das ein Produkt von Matrizen von Gewichtsparametern ist, die die Zerlegungsschicht bilden; - Extrahieren von mehreren Rängen per Matrixzerlegung an der äquivalenten Gewichtsmatrix; und - Erstellen der Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend mindestens einem ausgewählten Rang, der aus den mehreren Rängen ausgewählt wurde.
  9. Modellgenerierungsvorrichtung, die konfiguriert ist, um ein Machine-Learning-Modell zu generieren, durch Ersetzen eines Convolutional Layers eines Convolutional Neural Networks durch eine Zerlegungsschicht per Matrixzerlegung, wobei die Modellgenerierungsvorrichtung aufweist: - einen Prozessor (12), der konfiguriert ist, um Folgendes auszuführen: - Sortieren von Gewichtsparametern, die eine ursprüngliche Schicht des Convolutional Layers bilden, um eine äquivalente Gewichtsmatrix zu bilden, äquivalent zu einem Gewichtsmatrixprodukt, das ein Produkt von Matrizen von Gewichtsparametern ist, die die Zerlegungsschicht bilden; - Extrahieren von mehreren Rängen per Matrixzerlegung an der äquivalenten Gewichtsmatrix; und - Erstellen der Zerlegungsschicht auf der Grundlage von Faltung des Gewichtsmatrixprodukts entsprechend mindestens einem ausgewählten Rang, der aus den mehreren Rängen ausgewählt wurde.
  10. Datenverarbeitungsvorrichtung, aufweisend: - ein Speichermedium (10), das das Machine-Learning-Modell des Convolutional Neural Networks speichert, das durch das Modellgenerierungsverfahren nach einem der Ansprüche 1 bis 7 generiert wird; und - einen Prozessor (12), der konfiguriert ist, um eine Datenverarbeitung auf der Grundlage des auf dem Speichermedium gespeicherten Machine-Learning-Modells auszuführen.
DE102022131760.9A 2021-12-06 2022-11-30 Modellgenerierungsverfahren, modellgenerierungsprogramm, modellgenerierungsvorrichtung und datenverarbeitungsvorrichtung Pending DE102022131760A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-198049 2021-12-06
JP2021198049A JP2023083997A (ja) 2021-12-06 2021-12-06 モデル生成方法、モデル生成プログラム、モデル生成装置、データ処理装置

Publications (1)

Publication Number Publication Date
DE102022131760A1 true DE102022131760A1 (de) 2023-06-07

Family

ID=86382203

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022131760.9A Pending DE102022131760A1 (de) 2021-12-06 2022-11-30 Modellgenerierungsverfahren, modellgenerierungsprogramm, modellgenerierungsvorrichtung und datenverarbeitungsvorrichtung

Country Status (3)

Country Link
US (1) US20230177316A1 (de)
JP (1) JP2023083997A (de)
DE (1) DE102022131760A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020155010A (ja) 2019-03-22 2020-09-24 株式会社日立ソリューションズ・テクノロジー ニューラルネットワークのモデル縮約装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020155010A (ja) 2019-03-22 2020-09-24 株式会社日立ソリューションズ・テクノロジー ニューラルネットワークのモデル縮約装置

Also Published As

Publication number Publication date
JP2023083997A (ja) 2023-06-16
US20230177316A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
DE202017007641U1 (de) Training von maschinellen Lernmodellen auf mehrere maschinelle Lernaufgaben
DE102017125256A1 (de) Suche nach einer neuronalen Architektur
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE102019007340A1 (de) Technik zum Einrichten und Betreiben eines neuronalen Netzwerks
DE112021005568T5 (de) Datenverarbeitungsvorrichtung und Datenverarbeitungsverfahren
DE102014225039A1 (de) Verfahren und Vorrichtung zum Bereitstellen von spärlichen Gauß-Prozess-Modellen zur Berechnung in einem Motorsteuergerät
EP2433185B1 (de) Vorrichtung und verfahren zum bearbeiten einer prozesssimulationsdatenbasis eines prozesses
DE112013007652T5 (de) Sequenz zum Beseitigen von Verwerfungen beim Aufbauen eines globalen Rasters für komplexe Verwerfungsnetztopologien
DE102021204550A1 (de) Verfahren zum Erzeugen wenigstens eines Datensatzes zum Trainieren eines Algorithmus maschinellen Lernens
DE102020111204A1 (de) Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug sowie entsprechendes Steuergerät
DE102022131760A1 (de) Modellgenerierungsverfahren, modellgenerierungsprogramm, modellgenerierungsvorrichtung und datenverarbeitungsvorrichtung
DE102018217114A1 (de) Verfahren und Anordnung zur Speicherbedarfsermittlung, um mittels einer Grafikprozessoreinheit auf FEM-Knotennetzen basierte Simulationen durchzuführen
DE102019204118A1 (de) Verfahren zum Übertragen eines Merkmals eines ersten Bilds an ein zweites Bild
EP3901713B1 (de) Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell
DE102017118995B4 (de) Verfahren zur Herstellung einer Komponente eines Verbrennungsmotors und Simulationssystem zur beschleunigten Simulation des Verhaltens einer Komponente eines Verbrennungsmotors
DE102020215031A1 (de) Computerimplementiertes Verfahren zur Auswertung von Magnetresonanzdaten, Magnetresonanzeinrichtung, Computerprogramm und elektronisch lesbarer Datenträger
WO2020193481A1 (de) Verfahren und vorrichtung für training und herstellung eines künstlichen neuronalen netzes
DE102019134370A1 (de) Adiabatisches glühschema und system für edge-computing
DE102019217951A1 (de) Verfahren und Vorrichtung zum Bestimmen einer Domänendistanz zwischen mindestens zwei Datendomänen
DE102019217952A1 (de) Verfahren und Vorrichtung zum Bereitstellen eines Trainingsdatensatzes zum Trainieren einer KI-Funktion auf eine unbekannte Datendomäne
DE102023203460B3 (de) Computerimplementiertes Verfahren zum Betrieb einer Bildgebungseinrichtung, Bildgebungseinrichtung, Computerprogramm und elektronisch lesbarer Datenträger
DE102014103768A1 (de) Verfahren zur Kompression von Beobachtungen einer Vielzahl von Testabläufen
EP1025539B1 (de) Fraktal darwinistische objekterzeugung
EP3811162B1 (de) Verfahren zur kalibrierung eines technischen systems

Legal Events

Date Code Title Description
R012 Request for examination validly filed