-
Stand der Technik
-
Die Offenbarung betrifft ein Verfahren zum Verarbeiten von mit einem neuronalen Netz assoziierten Daten.
-
Die Offenbarung betrifft ferner eine Vorrichtung zum Verarbeiten von mit einem neuronalen Netz assoziierten Daten.
-
Offenbarung der Erfindung
-
Beispielhafte Ausführungsformen beziehen sich auf ein Verfahren, beispielsweise ein computerimplementiertes Verfahren, zum Verarbeiten von mit einem, beispielsweise künstlichen, beispielsweise tiefen, neuronalen Netz, beispielsweise Convolutional Neural Network, CNN, assoziierten Daten, aufweisend: Repräsentieren wenigstens eines Filters des neuronalen Netzes basierend auf wenigstens einem Filterwörterbuch, beispielsweise Filter Dictionary, und, optional, Verarbeiten von Eingangsdaten und/oder von von Eingangsdaten ableitbaren bzw. abgeleiteten Daten unter Verwendung des wenigstens einen Filters. Bei weiteren beispielhaften Ausführungsformen kann die Verwendung des wenigstens einen Filterwörterbuchs bzw. des dadurch repräsentierbaren Filters eine Qualität eines Trainings bzw. einer Verarbeitung von Daten durch das neuronale Netz (Inferenz) steigern und z.B. einen Bedarf an Rechenzeitressourcen und/oder Speicherressourcen, beispielsweise für das Training bzw. die Inferenz verringern.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das wenigstens eine Filterwörterbuch einen linearen Raum zumindest teilweise charakterisiert, beispielsweise aufspannt, wobei beispielsweise das wenigstens eine Filterwörterbuch charakterisierbar ist durch
wobei g
(i) ein i-tes Element des wenigstens einen Filterwörterbuchs, beispielsweise einen i-ten Filter, beispielsweise Filterkern, charakterisiert, mit i =1, .., N, wobei K1 eine Größe der Filter des wenigstens einen Filterwörterbuchs (FD) in einer ersten Dimension charakterisiert, wobei K2 eine Größe der Filter des wenigstens einen Filterwörterbuchs in einer zweiten Dimension charakterisiert, wobei beispielsweise gilt K1 = K2 = K, wobei span{F} den linearen Raum charakterisiert, den das wenigstens eine Filterwörterbuch zumindest teilweise charakterisiert.
-
Bei weiteren beispielhaften Ausführungsformen kann wenigstens ein Filter bzw. Filterkern auch mehr als zwei Dimensionen aufweisen, beispielsweise drei oder mehr, oder eine Dimension, wobei das Prinzip gemäß den Ausführungsformen ohne Beschränkung der Allgemeinheit auch auf solche Konfigurationen anwendbar ist.
-
Bei weiteren beispielhaften Ausführungsformen kann wenigstens ein Filter bzw. Filterkern z.B. quadratisch sein, mit K1=K2, wobei bei weiteren beispielhaften Ausführungsformen auch K1 <> K2 möglich ist.
-
Bei weiteren beispielhaften Ausführungsformen kann auch mehr als ein Filterwörterbuch vorgesehen sein. Beispielsweise kann bei mehreren Filterwörterbüchern wenigstens ein erstes Filterwörterbuch mit Filtern einer ersten Größe (z.B. K1xK2) vorgesehen sein, und z.B. wenigstens ein zweites Filterwörterbuch mit Filtern einer zweiten Größe (z.B. K1'xK2', wobei bei weiteren beispielhaften Ausführungsformen auch K1'=K2' möglich ist).
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass a) das wenigstens eine Filterwörterbuch einen Raum, beispielsweise ℝK1×K2, nicht vollständig aufspannt, beispielsweise untervollständig, beispielsweise undercomplete, ist, oder dass b) wenigstens manche Elemente des wenigstens einen Filterwörterbuchs linear abhängig voneinander sind, wobei beispielsweise das wenigstens eine Filterwörterbuch übervollständig, beispielsweise overcomplete, ist.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das wenigstens eine Filterwörterbuch verschieden ist von einer Standardbasis B, beispielsweise gemäß B:={e(n):n=1,...,K2}, wobei e(n) einen n-ten mit der Standardbasis B assoziierten Einheitsvektor charakterisiert. Dadurch sind bei weiteren beispielhaften Ausführungsformen beispielsweise weitere Freiheitsgrade für das Repräsentieren wenigstens eines Filters, beispielsweise in Form einer Linearkombination mehrerer Elemente des Filterwörterbuchs, gegeben.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Repräsentieren des wenigstens einen Filters des neuronalen Netzes basierend auf dem wenigstens einem Filterwörterbuch durch die folgende Gleichung charakterisierbar ist und/oder basierend auf der folgenden Gleichung ausgeführt wird:
wobei h den wenigstens einen Filter charakterisiert, wobei g
(n) ein n-tes Element, beispielsweise einen n-ten Filter, des wenigstens einen Filterwörterbuchs charakterisiert, wobei λ
n einen mit dem n-ten Element, beispielsweise n-ten Filter, des wenigstens einen Filterwörterbuchs assoziierten Koeffizienten charakterisiert, und wobei n eine Indexvariable ist, die eines der N vielen Elemente, beispielsweise einen der N vielen Filter, des wenigstens einen Filterwörterbuchs charakterisiert.
-
Bei weiteren beispielhaften Ausführungsformen ist das Repräsentieren einer beispielsweise mit einer Schicht des neuronalen Netzes assoziierten Mehrzahl von Filtern h
(α,β) basierend auf dem wenigstens einem Filterwörterbuch durch die folgende Gleichung charakterisierbar und/oder wird basierend auf der folgenden Gleichung ausgeführt:
wobei α eine mit einer Anzahl von Ausgangskanälen der Schicht assoziierte Indexvariable charakterisiert, wobei β eine mit einer Anzahl von Eingangskanälen der Schicht assoziierte Indexvariable charakterisiert, wobei
einen mit dem n-ten Element, beispielsweise n-ten Filter, des wenigstens einen Filterwörterbuchs assoziierten Koeffizienten für den Ausgangskanal α und den Eingangskanal β der Schicht charakterisiert.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verarbeiten der Eingangsdaten und/oder der von den Eingangsdaten ableitbaren bzw. abgeleiteten Daten (z.B. Daten, die von einer inneren Schicht („hidden layer“) des neuronalen Netzes ausgegeben werden) unter Verwendung des wenigstens einen Filters durch die folgende Gleichung charakterisierbar ist und/oder basierend auf der folgenden Gleichung ausgeführt wird:
wobei X die Eingangsdaten bzw. die von den Eingangsdaten ableitbaren bzw. abgeleiteten Daten charakterisiert, beispielsweise eine Eingangs-feature map für eine oder die Schicht des neuronalen Netzes, wobei α eine mit einer Anzahl von Ausgangskanälen der Schicht assoziierte Indexvariable charakterisiert, wobei β eine mit einer Anzahl von Eingangskanälen der Schicht assoziierte Indexvariable charakterisiert, wobei
einen mit dem n-ten Element, beispielsweise n-ten Filter, des wenigstens einen Filterwörterbuchs assoziierten Koeffizienten für den Ausgangskanal α und den Eingangskanal β der Schicht charakterisiert, wobei c
in eine Zahl der Eingangskanäle der Schicht charakterisiert, wobei * eine Faltungsoperation charakterisiert.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Initialisieren des wenigstens einen Filterwörterbuchs, beispielsweise vor dem Repräsentieren des wenigstens einen Filters und/oder dem Verarbeiten z.B. von Eingangsdaten, wobei das Initialisieren beispielsweise wenigstens eines der folgenden Elemente aufweist: a) zufallsbasiertes Initialisieren, beispielsweise durch Zuordnen von Zufallszahlen bzw. Pseudozufallszahlen zu wenigstens manchen Filterkoeffizienten gi,j (n) wenigstens mancher Elemente bzw. Filter des wenigstens einen Filterwörterbuchs (beispielsweise weist ein n-ter Filter bzw. Filterkern des wenigstens einen Filterwörterbuchs z.B. 3x3 viele Filterkoeffizienten auf: g1,1 (n), g1,2 (n), g1,3 (n), g2,1 (n), .., g3,3 (n),), b) zufallsbasiertes Initialisieren so, dass ein bzw. der durch das wenigstens eine Filterwörterbuch charakterisierbare linearen Raum span{F} eine Orthonormalbasis charakterisiert, beispielsweise aufweisend b1) Initialisieren wenigstens mancher, beispielsweise aller, Filterkoeffizienten gi,j (n) wenigstens mancher, beispielsweise aller, Elemente bzw. Filter des wenigstens einen Filterwörterbuchs mit, beispielsweise unabhängig gleichverteilten, Filterkoeffizientenwerten, b2) Anwenden des Gram Schmidtschen Orthogonalisierungsverfahrens auf die Elemente bzw. Filter des wenigstens einen Filterwörterbuchs, c) zufallsbasiertes Initialisieren mittels c1) Initialisieren wenigstens mancher, beispielsweise aller, Filterkoeffizienten gi,j (n) wenigstens mancher, beispielsweise aller, Elemente bzw. Filter des wenigstens einen Filterwörterbuchs mit, beispielsweise unabhängig gleichverteilten, Filterkoeffizientenwerten, c2) Skalieren bzw. Reskalieren des wenigstens einen Filterwörterbuchs basierend auf wenigstens einer statistischen Größe, beispielsweise einem Mittelwert und/oder einer Standardabweichung.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Initialisieren von Koeffizienten von, beispielsweise manchen, beispielsweise allen, Elementen bzw. Filtern des wenigstens einen Filterwörterbuchs, aufweisend wenigstens einen der folgenden Aspekte: a) zufallsbasiertes bzw. pseudozufallsbasiertes Initialisieren der Koeffizienten, b) Initialisieren der Koeffizienten basierend auf dem wenigstens einen Filterwörterbuch.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Reduzieren, beispielsweise Ausdünnen, beispielsweise Pruning, wenigstens einer Komponente des wenigstens einen Filterwörterbuchs, wobei das Reduzieren wenigstens eines der folgenden Elemente aufweist: a) Reduzieren wenigstens eines Elements, beispielsweise Filters, des wenigstens einen Filterwörterbuchs, beispielsweise durch Nullsetzen wenigstens eines, beispielsweise mehrerer, Filterkoeffizienten des wenigstens einen Elements, beispielsweise Filters, des wenigstens einen Filterwörterbuchs, b) Entfernen bzw. Löschen wenigstens eines Elements, beispielsweise Filters, des wenigstens einen Filterwörterbuchs, c) Entfernen bzw. Löschen wenigstens eines mit dem wenigstens einen Filterwörterbuch assoziierten Koeffizienten.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Ausführen des Reduzierens nach einem bzw. dem Initialisieren des wenigstens einen Filterwörterbuchs, b) Ausführen des Reduzierens nach einem bzw. dem Initialisieren von Koeffizienten bzw. der Koeffizienten von, beispielsweise manchen, beispielsweise allen, Elementen bzw. Filtern des wenigstens einen Filterwörterbuchs, c) Ausführen des Reduzierens während eines Trainierens des neuronalen Netzes, d) Ausführen des Reduzierens nach einem bzw. dem Trainieren des neuronalen Netzes.
-
Bei weiteren beispielhaften Ausführungsformen kann das Reduzieren z.B. ereignisgesteuert, beispielsweise basierend auf einem Auftreten von bestimmten Datenwerten z.B. der mittels des neuronalen Netzes ermittelbaren Ausgangsdaten, erfolgen, und/oder zeitgesteuert, beispielsweise wiederholt, beispielsweise periodisch. Kombinationen hieraus sind bei weiteren beispielhaften Ausführungsformen auch möglich.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Verwenden des wenigstens einen, beispielsweise selben, Filterwörterbuchs für mehrere Schichten, beispielsweise alle Schichten, des neuronalen Netzes, b) Verwenden des wenigstens einen, beispielsweise selben, Filterwörterbuchs für mehrere, beispielsweise alle, Schichten des neuronalen Netzes, die mit einer selben räumlichen Größe von zu verarbeitenden Daten, beispielsweise feature maps, assoziiert sind, c) Verwenden des wenigstens einen, beispielsweise selben, Filterwörterbuchs für jeweils einen residualen Block, beispielsweise im Fall eines residualen neuronalen Netzes, beispielsweise ResNet, d) Verwenden des wenigstens einen, beispielsweise selben, Filterwörterbuchs für eine Schicht des neuronalen Netzes.
-
Bei weiteren beispielhaften Ausführungsformen kann das neuronale Netz neben ein oder mehreren Schichten, die jeweils z.B. Filterungen unter Verwendung des wenigstens einen Filterwörterbuchs bzw. unter Verwendung von mittels des wenigstens einen Filterwörterbuchs repräsentierbaren Filtern, ausführen (also Schichten, die z.B., beispielsweise zweidimensionale, Faltungsoperationen von entsprechenden Eingangsdaten für die jeweilige Schicht, z.B. Eingangs-feature map, mit der jeweiligen Filtermaske ausführen) auch ein oder mehrere weitere Komponente aufweisen, wie z.B. andere Funktionsschichten, z.B. Pooling-Schichten wie z.B. Max-Pooling-Schichten, vollverbundene Schichten (fully connected layers), z. B, im Sinne eines mehrlagigen Perzeptrons (MLP, multi-layer perceptron), wenigstens eine, beispielsweise nichtlineare, Aktivierungsfunktion, usw.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Trainieren des neuronalen Netzes, beispielsweise basierend auf Trainingsdaten, wobei beispielsweise ein trainiertes neuronales Netz erhalten wird, und, optional, Verwenden des, beispielsweise trainierten, neuronalen Netzes, beispielsweise zur Verarbeitung der Eingangsdaten.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Verfahren, beispielsweise computerimplementiertes Verfahren, zum Trainieren eines, beispielsweise künstlichen, beispielsweise tiefen, neuronalen Netzes, beispielsweise Convolutional Neural Network, CNN, wobei wenigstens ein Filter des neuronalen Netzes basierend auf wenigstens einem Filterwörterbuch, beispielsweise Filter Dictionary, repräsentierbar ist und/oder repräsentiert wird, wobei das Verfahren aufweist: Trainieren wenigstens einer Komponente des wenigstens einen Filterwörterbuchs, wobei beispielsweise das Trainieren der wenigstens einen Komponente des wenigstens einen Filterwörterbuchs zumindest zeitweise gleichzeitig und/oder zusammen mit einem Trainieren wenigstens einer anderen Komponente des neuronalen Netzes ausgeführt wird.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Trainieren ein Trainieren eines, beispielsweise nur eines bzw. mindestens eines, Elements des mindestens einen Filterwörterbuchs aufweist.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Bereitstellen eines eine Standard-Basis charakterisierenden Filterwörterbuchs, wobei beispielsweise die Standard-Basis charakterisierbar ist gemäß B : = {e
(n) : n = 1,..., K
2} wobei e(n) einen n-ten mit der Standardbasis
assoziierten Einheitsvektor charakterisiert, Verändern des die Standard-Basis charakterisierenden Filterwörterbuchs basierend auf dem Trainieren. Dadurch wird bei weiteren beispielhaften Ausführungsformen eine Flexibilität bezüglich der Repräsentation von Filtern für das neuronale Netz gegenüber einer Verwendung der Standard-Basis gesteigert.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Bereitstellen eines keine Standard-Basis charakterisierenden Filterwörterbuchs, Verändern des keine Standard-Basis charakterisierenden Filterwörterbuchs basierend auf dem Trainieren.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Bereitstellen eines vortrainierten neuronalen Netzes bzw. Ausführen eines ersten Trainings, beispielsweise Vortrainings, für das neuronale Netz, optional Ausführen eines Reduzierens, beispielsweise des Reduzierens gemäß beispielhaften Ausführungsformen, auf das vortrainierte neuronale Netz, und, optional, Ausführen eines weiteren Trainings.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Trainieren aufweist: Trainieren des wenigstens einen Filterwörterbuchs zusammen mit wenigstens einem Koeffizienten, der mit dem wenigstens einen Filterwörterbuch assoziiert ist.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verarbeiten der Eingangsdaten wenigstens eines der folgenden Elemente aufweist: a) Verarbeiten von mehrdimensionalen Daten, b) Verarbeiten von Bilddaten, c) Verarbeiten von Audiodaten, beispielsweise Sprachdaten und/oder Betriebsgeräuschen von technischen Einrichtungen bzw. Systemen wie z.B. Maschinen, d) Verarbeiten von Videodaten bzw. Teilen von Videodaten, e) Verarbeiten von Sensordaten, wobei das Verarbeiten der Eingangsdaten beispielsweise eine Analyse, beispielsweise eine Klassifikation, der Eingangsdaten aufweist.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Verwenden von basierend auf dem Verarbeiten der Eingangsdaten erhaltenen Ausgangsdaten zur Beeinflussung, beispielsweise Steuerung und/oder Regelung, wenigstens einer Komponente eines technischen Systems, beispielsweise cyber-physischen Systems.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Initialisieren des wenigstens einen Filterwörterbuchs, b) Initialisieren von mit dem wenigstens einen Filterwörterbuch assoziierten Koeffizienten, c) Reduzieren, beispielsweise Ausdünnen, beispielsweise Pruning, wenigstens einer Komponente des wenigstens einen Filterwörterbuchs, beispielsweise gemäß wenigstens einem der Ansprüche 9 bis 10, d) Trainieren des neuronalen Netzes, beispielsweise des wenigstens einen Filterwörterbuchs, beispielsweise zusammen mit wenigstens einer weiteren Komponente des neuronalen Netzes, beispielsweise basierend auf einem Gradienten basierten Optimierungsverfahren, beispielsweise auf einem stochastischen Gradienten basierten Optimierungsverfahren.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal, das das Computerprogramm gemäß den Ausführungsformen überträgt und/oder charakterisiert.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Repräsentieren wenigstens eines Filters des neuronalen Netzes basierend auf dem wenigstens einen Filterwörterbuch, beispielsweise Filter Dictionary, b) Verarbeiten von Eingangsdaten und/oder von von Eingangsdaten ableitbaren bzw. abgeleiteten Daten unter Verwendung des wenigstens einen Filters, c) Steigern einer Flexibilität bezüglich der Repräsentation des wenigstens einen Filters, d) dynamisches, also z.B. während einer Ausführung des Verfahrens gemäß den Ansprüchen 1 bis 20 ausführbares, Anpassen des wenigstens einen Filters, beispielsweise während eines Trainings, bei dem beispielsweise auch wenigstens eine weitere Komponente des neuronalen Netzes trainiert wird, e) Verringern einer Komplexität des neuronalen Netzes, f) Verbessern einer Generalisierung durch das neuronale Netz, beispielsweise in dem Sinne, dass ein Verhalten des neuronalen Netzes während eines Trainings ähnlicher wird zu einem Verhalten des neuronalen Netzes außerhalb des Trainings, beispielsweise bei der Auswertung von anderen Eingangsdaten als Trainingsdaten, g) Reduzieren bzw. Verringern eines Overfitting, beispielsweise „Auswendiglernen“ der Trainingsdaten, h) Einsparen von für eine Repräsentation und/oder eine Auswertung des neuronalen Netzes erforderlichen Speicherressourcen und/oder Rechenzeitressourcen, i) Verringern einer Trainingsdauer, j) Ermöglichen einer Nutzung bestehender Reduktionsverfahren bzw. Pruning-Verfahren für neuronale Netze, beispielsweise strukturierter und/oder unstrukturierter Pruning-Verfahren, beispielsweise auch für ein Reduzieren wenigstens einer Komponente des wenigstens einen Filterwörterbuchs, k) Steigerung einer Flexibilität bezüglich einer Initialisierung des wenigstens einen Filterwörterbuchs, I) Ermöglichen einer flexiblen Verwendung des wenigstens einen Filterwörterbuchs, beispielsweise wahlweise, für wenigstens eine Komponente, beispielsweise eine Schicht, des neuronalen Netzes, beispielsweise eines flexiblen Teilens des wenigstens einen Filterwörterbuchs zwischen verschiedenen Komponenten des neuronalen Netzes, m) Steigern einer Qualität eines Trainings und/oder einer Auswertung, beispielsweise Inferenz, des neuronalen Netzes.
-
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
-
In der Zeichnung zeigt:
- 1 schematisch ein vereinfachtes Flussdiagramm gemäß beispielhaften Ausführungsformen,
- 2 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen,
- 3 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 4 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 5 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 6 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 7 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 8 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 9 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 10 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 11 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 12 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 13 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 14 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 15 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 16 schematisch Aspekte von Verwendungen gemäß weiteren beispielhaften Ausführungsformen.
-
Beispielhafte Ausführungsformen, vgl. 1, 2, beziehen sich auf ein Verfahren, beispielsweise ein computerimplementiertes Verfahren, zum Verarbeiten von mit einem, beispielsweise künstlichen, beispielsweise tiefen, neuronalen Netz NN (2), beispielsweise Convolutional Neural Network, CNN, assoziierten Daten, aufweisend: Repräsentieren 100 (1) wenigstens eines Filters FILT-1 des neuronalen Netzes NN basierend auf wenigstens einem Filterwörterbuch, beispielsweise Filter Dictionary, FD und, optional, Verarbeiten 102 von Eingangsdaten ED und/oder von von Eingangsdaten ED ableitbaren bzw. abgeleiteten Daten ED' unter Verwendung des wenigstens einen Filters FILT-1.
-
Bei weiteren beispielhaften Ausführungsformen kann die Verwendung des wenigstens einen Filterwörterbuchs FD bzw. des dadurch repräsentierbaren Filters FILT-1 eine Qualität eines Trainings bzw. einer Verarbeitung von Daten durch das neuronale Netz (Inferenz) steigern und z.B. einen Bedarf an Rechenzeitressourcen und/oder Speicherressourcen, beispielsweise für das Training bzw. die Inferenz verringern.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das wenigstens eine Filterwörterbuch FD einen linearen Raum zumindest teilweise charakterisiert, wobei beispielsweise das wenigstens eine Filterwörterbuch FD charakterisierbar ist durch
wobei g
(i) ein i-tes Element des wenigstens einen Filterwörterbuchs FD, beispielsweise einen i-ten Filter, beispielsweise Filterkern, charakterisiert, mit i =1, .., N, wobei K1 eine Größe der Filter des wenigstens einen Filterwörterbuchs FD in einer ersten Dimension charakterisiert, wobei K2 eine Größe der Filter des wenigstens einen Filterwörterbuchs FD in einer zweiten Dimension charakterisiert, wobei beispielsweise gilt K1 = K2 = K, wobei F den linearen Raum charakterisiert, den das wenigstens eine Filterwörterbuch FD zumindest teilweise charakterisiert.
-
Bei weiteren beispielhaften Ausführungsformen kann wenigstens ein Filter bzw. Filterkern auch mehr als zwei Dimensionen aufweisen, beispielsweise drei oder mehr, wobei das Prinzip gemäß den Ausführungsformen ohne Beschränkung der Allgemeinheit auch auf solche Konfigurationen anwendbar ist.
-
Bei weiteren beispielhaften Ausführungsformen kann wenigstens ein Filter bzw. Filterkern z.B. quadratisch sein, mit K1=K2, wobei bei weiteren beispielhaften Ausführungsformen auch K1 <> K2 möglich ist.
-
Bei weiteren beispielhaften Ausführungsformen kann auch mehr als ein Filterwörterbuch FD vorgesehen sein. Beispielsweise kann bei mehreren Filterwörterbüchern wenigstens ein erstes Filterwörterbuch mit Filtern einer ersten Größe (z.B. K1xK2) vorgesehen sein, und z.B. wenigstens ein zweites Filterwörterbuch mit Filtern einer zweiten Größe (z.B. K1'xK2', wobei bei weiteren beispielhaften Ausführungsformen auch K1'=K2' möglich ist).
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass a) das wenigstens eine Filterwörterbuch FD einen Raum, beispielsweise ℝK1×K2 , nicht vollständig aufspannt, beispielsweise untervollständig, beispielsweise undercomplete, ist, oder dass b) wenigstens manche Elemente des wenigstens einen Filterwörterbuchs FD linear abhängig voneinander sind, wobei beispielsweise das wenigstens eine Filterwörterbuch FD übervollständig, beispielsweise overcomplete, ist.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das wenigstens einen Filterwörterbuch FD, z.B. charakterisierbar gemäß
verschieden ist von einer Standardbasis B, beispielsweise gemäß B := {e
(n) : n = 1,... , K
2} , wobei e
(n)einen n-ten mit der Standardbasis B assoziierten Einheitsvektor charakterisiert. Dadurch sind bei weiteren beispielhaften Ausführungsformen beispielsweise weitere Freiheitsgrade für das Repräsentieren 100 wenigstens eines Filters, beispielsweise in Form einer Linearkombination mehrerer Elemente des Filterwörterbuchs FD, gegeben.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Repräsentieren 100 (
1) des wenigstens einen Filters FILT-1 des neuronalen Netzes NN basierend auf dem wenigstens einem Filterwörterbuch FD durch die folgende Gleichung charakterisierbar ist und/oder basierend auf der folgenden Gleichung ausgeführt wird:
wobei h den wenigstens einen Filter FILT-1 charakterisiert, wobei g
(n) ein n-tes Element, beispielsweise einen n-ten Filter, des wenigstens einen Filterwörterbuchs FD charakterisiert, wobei λ
n einen mit dem n-ten Element, beispielsweise n-ten Filter, des wenigstens einen Filterwörterbuchs FD assoziierten Koeffizienten charakterisiert, und wobei n eine Indexvariable ist, die eines der N vielen Elemente, beispielsweise einen der N vielen Filter, des wenigstens einen Filterwörterbuchs FD charakterisiert.
-
Bei weiteren beispielhaften Ausführungsformen ist das Repräsentieren 100 einer beispielsweise mit einer Schicht L1 des neuronalen Netzes NN assoziierten Mehrzahl von Filtern h
(α,β) basierend auf dem wenigstens einem Filterwörterbuch FD durch die folgende Gleichung charakterisierbar und/oder wird basierend auf der folgenden Gleichung ausgeführt:
wobei α eine mit einer Anzahl von Ausgangskanälen der Schicht L1 assoziierte Indexvariable charakterisiert, wobei β eine mit einer Anzahl von Eingangskanälen der Schicht L1 assoziierte Indexvariable charakterisiert, wobei
einen mit dem n-ten Element, beispielsweise n-ten Filter, des wenigstens einen Filterwörterbuchs FD assoziierten Koeffizienten für den Ausgangskanal α und den Eingangskanal β der Schicht L1 charakterisiert.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verarbeiten der Eingangsdaten ED und/oder der von den Eingangsdaten ED ableitbaren bzw. abgeleiteten Daten ED', ED" (z.B. Daten, die von einer inneren Schicht („hidden layer“) L2 des neuronalen Netzes NN ausgegeben werden) unter Verwendung des wenigstens einen Filters FILT-1 durch die folgende Gleichung charakterisierbar ist und/oder basierend auf der folgenden Gleichung ausgeführt wird:
wobei X die Eingangsdaten bzw. die von den Eingangsdaten ableitbaren bzw. abgeleiteten Daten charakterisiert, beispielsweise eine Eingangs-feature map („Merkmalskarte“) für eine oder die Schicht L1, L2 des neuronalen Netzes NN, wobei α eine mit einer Anzahl von Ausgangskanälen der Schicht L1 assoziierte Indexvariable charakterisiert, wobei β eine mit einer Anzahl von Eingangskanälen der Schicht L1 assoziierte Indexvariable charakterisiert, wobei
einen mit dem n-ten Element, beispielsweise n-ten Filter, des wenigstens einen Filterwörterbuchs FD assoziierten Koeffizienten für den Ausgangskanal α und den Eingangskanal β der Schicht L1 charakterisiert, wobei c
in, eine Zahl der Eingangskanäle der Schicht L1 charakterisiert, wobei * eine Faltungsoperation charakterisiert.
-
Bei weiteren beispielhaften Ausführungsformen, 2, kann das neuronale Netz NN neben ein oder mehreren Schichten L1, L2, die jeweils z.B. Filterungen unter Verwendung des wenigstens einen Filterwörterbuchs FD bzw. unter Verwendung von mittels des wenigstens einen Filterwörterbuchs FD repräsentierbaren Filtern, ausführen (also Schichten L1, L2, die z.B., beispielsweise zweidimensionale, Faltungsoperationen von entsprechenden Eingangsdaten ED, ED' für die jeweilige Schicht L1, L2, z.B. Eingangs-feature map, mit der jeweiligen Filtermaske (charakterisierbar basierend auf dem Filterwörterbuch FD) ausführen) auch ein oder mehrere weitere Komponente NN-K1 aufweisen, wie z.B. andere Funktionsschichten, z.B. Pooling-Schichten wie z.B. Max-Pooling-Schichten, vollverbundene Schichten (fully connected layers), z. B, im Sinne eines mehrlagigen Perzeptrons (MLP, multi-layer perceptron), usw. Aus Gründen der Übersichtlichkeit sind diese optionalen weiteren Komponenten NN-K1 in der schematischen Darstellung der 2 kollektiv mit dem Block NN-K1 bezeichnet, und nicht z.B. als einzelne Komponenten mit einem topologischen Bezug zu den Schichten L1, L2 (z.B. Anordnung einer Max-Pooling-Schicht zwischen den beiden zur Filterung vorgesehenen Schichten L1, L2). Unter Verwendung der Schichten L1, L2 und ggf. der optionalen weiteren Komponenten NN-K1 kann das neuronale Netz NN bei weiteren beispielhaften Ausführungsformen z.B. Eingangsdaten ED empfangen, beispielsweise von einer nicht gezeigten Datenquelle, und basierend auf den Eingangsdaten ED Ausgangsdaten AD bilden (Inferenz), und die Ausgangsdaten AD z.B. an eine nicht gezeigte Datensenke ausgeben.
-
Bei weiteren beispielhaften Ausführungsformen, 3, ist vorgesehen, dass das Verfahren aufweist: Initialisieren 110 des wenigstens einen Filterwörterbuchs FD (2), beispielsweise vor dem Repräsentieren 100 (1) des wenigstens einen Filters FILT-1 und/oder dem optionalen Verarbeiten 102 z.B. von Eingangsdaten ED, wobei das Initialisieren 110 beispielsweise wenigstens eines der folgenden Elemente aufweist: a) zufallsbasiertes Initialisieren 110a, beispielsweise durch Zuordnen von Zufallszahlen bzw. Pseudozufallszahlen zu wenigstens manchen Filterkoeffizienten gi,j (n) wenigstens mancher Elemente bzw. Filter des wenigstens einen Filterwörterbuchs FD (beispielsweise weist ein n-ter Filter bzw. Filterkern des wenigstens einen Filterwörterbuchs FD z.B. 3x3 viele Filterkoeffizienten auf: g1,1 (n), g1,2 (n), g1,3 (n), g2,1 (n), .., g3,3 (n), die z.B. zufallsbasiert und/oder pseudozufallsbasiert initialisierbar sind), b) zufallsbasiertes Initialisieren 110b so, dass ein bzw. der durch das wenigstens eine Filterwörterbuch FD charakterisierbare linearen Raum span{F} durch eine Orthonormalbasis F aufgespannt wird, beispielsweise aufweisend b1) Initialisieren 110b-1 wenigstens mancher, beispielsweise aller, Filterkoeffizienten gi,j (n) wenigstens mancher, beispielsweise aller, Elemente bzw. Filter des wenigstens einen Filterwörterbuchs FD mit, beispielsweise unabhängig gleichverteilten, Filterkoeffizientenwerten, b2) Anwenden 110b-2 des Gram Schmidtschen Orthogonalisierungsverfahrens auf die Elemente bzw. Filter des wenigstens einen Filterwörterbuchs, c) zufallsbasiertes Initialisieren 110c mittels c1) Initialisieren 110c-1 wenigstens mancher, beispielsweise aller, Filterkoeffizienten gi,j (n) wenigstens mancher, beispielsweise aller, Elemente bzw. Filter des wenigstens einen Filterwörterbuchs FD mit, beispielsweise unabhängig gleichverteilten, Filterkoeffizientenwerten, c2) Skalieren 110c bzw. Reskalieren des wenigstens einen Filterwörterbuchs FD basierend auf wenigstens einer statistischen Größe, beispielsweise einem Mittelwert und/oder einer Standardabweichung.
-
Das Initialisieren 110, 110a, 11 0b, 110cführt auf wenigstens ein initialisiertes Filterwörterbuch FD', das z.B. für das Repräsentieren 100 gemäß 1 verwendbar ist.
-
Bei weiteren beispielhaften Ausführungsformen kann das zufallsbasierte Initialisieren 110b so, dass ein bzw. der durch das wenigstens eine Filterwörterbuch charakterisierbare linearen Raum span{F} durch eine Orthonormalbasis aufgespannt wird, beispielsweise wenigstens einen der nachstehend beispielhafte genannten Aspekte aufweisen:
- 1) Initialisieren wenigstens mancher, beispielsweise aller, Filterkoeffizienten mit unabhängig gleichverteilten beispielsweise für alle n=1, ..., K2, i, k = 1, ..., K,
- 2) Anwenden des Gram Schmidtschen Orthogonalisierungsverfahrens auf die Basis {g(1), ..., g(K2)}, um eine Orthonormalbasis erhalten, die z.B. das wenigstens eine Filterwörterbuch charakterisiert.
- 3) optional, für eine Initialisierung der Koeffizienten λ, µh←0 (Mittelwert der räumlichen (Filter-)Koeffizienten,
- 4) Varianz der räumlichen Koeffizienten, z.B. gemäß einer Kaiming normal initialization, wobei cin eine Zahl von Eingangskanälen charakterisiert. Bei weiteren beispielhaften Ausführungsformen können auch andere Werte für den Mittelwert bzw. die Varianz gewählt werden.
- 5) Initialisieren der räumlichen Koordinaten unabhängig gleichverteilt für alle
- 6) Berechnen einer Basistransformationsmatrix Ψ z.B. gemäß
- 7) Ermitteln der Koeffizienten λ(α,β)←ψT·φ(α,β) bezüglich des wenigstens einen Filterwörterbuchs
- 8) Bereitstellen des initialisierten Filterwörterbuchs und zugehöriger Koeffizienten
-
Bei weiteren beispielhaften Ausführungsformen kann das zufallsbasierte Initialisieren 110c mittels c1) Initialisieren 110c-1 wenigstens mancher, beispielsweise aller, Filterkoeffizienten gi,j (n) wenigstens mancher, beispielsweise aller, Elemente bzw. Filter des wenigstens einen Filterwörterbuchs mit, beispielsweise unabhängig gleichverteilten, Filterkoeffizientenwerten, c2) Skalieren 110c-2 bzw. Reskalieren des wenigstens einen Filterwörterbuchs basierend auf wenigstens einer statistischen Größe, beispielsweise einem Mittelwert und/oder einer Standardabweichung, beispielsweise wenigstens einen der nachstehend beispielhafte genannten Aspekte aufweisen:
- 10) Initialisieren wenigstens mancher, beispielsweise aller, Filterkoeffizienten g(1) ..., g(n) ∈ ℝK×K mit unabhängig gleichverteilten
- 11) Für z.B. jede räumliche Komponente i, j der Elemente des mindestens einen Elements, beispielsweise Filters, des mindestens einen Filterwörterbuchs wird ein Stichprobenmittel µi,j bzw. eine Stichprobenvarianz σi,j ,z.B. über das gesamte Filterwörterbuch ermittelt, z.B. gemäß
- 12 Skalieren bzw. Reskalieren des Filterwörterbuchs beispielsweise gemäß
- 13) optional, für eine Initialisierung der Koeffizienten λ, µh←0 (Mittelwert der räumlichen (Filter-)Koeffizienten,
- 14) Varianz der räumlichen Koeffizienten, z.B. gemäß einer Kaiming normal initialization, wobei cin eine Zahl von Eingangskanälen charakterisiert. Bei weiteren beispielhaften Ausführungsformen können auch andere Werte für den Mittelwert bzw. die Varianz gewählt werden.
- 15) Initialisieren der Koeffizienten gemäß unabhängig gleichverteilt für alle α ∈ {1,...,cout}, β ∈ {1,...,cin}, n ∈ {1,...,N}
- 16) Bereitstellen des initialisierten Filterwörterbuchs F={g̃(1),...,g̃(N)} und zugehöriger Koeffizienten
-
Bei weiteren beispielhaften Ausführungsformen, 4, ist vorgesehen, dass das Verfahren aufweist: Initialisieren 120 von Koeffizienten von, beispielsweise manchen, beispielsweise allen, Elementen bzw. Filtern des wenigstens einen Filterwörterbuchs FD, aufweisend wenigstens einen der folgenden Aspekte: a) zufallsbasiertes bzw. pseudozufallsbasiertes Initialisieren 120a der Koeffizienten, b) Initialisieren 120b der Koeffizienten basierend auf dem wenigstens einen Filterwörterbuch FD bzw. initialisierten Filterwörterbuch FD', s.o. z.B. die Aspekte 3) bis 8) bzw. 13) bis 16).
-
Bei weiteren beispielhaften Ausführungsformen, 5, ist vorgesehen, dass das Verfahren aufweist: Reduzieren 130, beispielsweise Ausdünnen, beispielsweise Pruning, wenigstens einer Komponente des wenigstens einen Filterwörterbuchs FD, wobei das Reduzieren 130 wenigstens eines der folgenden Elemente aufweist: a) Reduzieren 130a wenigstens eines Elements, beispielsweise Filters, des wenigstens einen Filterwörterbuchs FD, beispielsweise durch Nullsetzen wenigstens eines, beispielsweise mehrerer, Filterkoeffizienten des wenigstens einen Elements, beispielsweise Filters, des wenigstens einen Filterwörterbuchs FD, wodurch z.B. ein reduzierter Filter FILT-1' bzw. ein reduziertes Filterwörterbuch erhalten wird, b) Entfernen 130b bzw. Löschen wenigstens eines Elements, beispielsweise Filters, des wenigstens einen Filterwörterbuchs FD, wodurch z.B. ein reduziertes Filterwörterbuch FD" erhalten wird, c) Entfernen 130c bzw. Löschen wenigstens eines mit dem wenigstens einen Filterwörterbuch FD assoziierten Koeffizienten, wodurch z.B. ein reduzierter Filter erhaltbar ist.
-
Bei weiteren beispielhaften Ausführungsformen, 6, ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Ausführen 131 des Reduzierens 130 nach einem bzw. dem Initialisieren des wenigstens einen Filterwörterbuchs FD, b) Ausführen 132 (6) des Reduzierens 130 nach einem bzw. dem Initialisieren von Koeffizienten bzw. der Koeffizienten von, beispielsweise manchen, beispielsweise allen, Elementen bzw. Filtern des wenigstens einen Filterwörterbuchs FD, c) Ausführen 133 des Reduzierens 130 während eines Trainierens des neuronalen Netzes NN, d) Ausführen 134 des Reduzierens 130 nach einem bzw. dem Trainieren des neuronalen Netzes NN.
-
Bei weiteren beispielhaften Ausführungsformen kann das Reduzieren 130 z.B. ereignisgesteuert, beispielsweise basierend auf einem Auftreten von bestimmten Datenwerten z.B. der mittels des neuronalen Netzes ermittelbaren Ausgangsdaten AD, erfolgen, und/oder zeitgesteuert, beispielsweise wiederholt, beispielsweise periodisch. Kombinationen hieraus sind bei weiteren beispielhaften Ausführungsformen auch möglich.
-
Bei weiteren beispielhaften Ausführungsformen, 7, ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Verwenden 140a des wenigstens einen, beispielsweise selben, Filterwörterbuchs FD für mehrere Schichten L1, L2, beispielsweise alle Schichten, des neuronalen Netzes NN, b) Verwenden 140b des wenigstens einen, beispielsweise selben, Filterwörterbuchs FD für mehrere, beispielsweise alle, Schichten des neuronalen Netzes NN, die mit einer selben räumlichen Größe von zu verarbeitenden Daten, beispielsweise feature maps, assoziiert sind, c) Verwenden 140c des wenigstens einen, beispielsweise selben, Filterwörterbuchs FD für jeweils einen residualen Block, beispielsweise im Fall eines residualen neuronalen Netzes, beispielsweise ResNet, d) Verwenden 140d des wenigstens einen, beispielsweise selben, Filterwörterbuchs FD für eine Schicht L1 des neuronalen Netzes NN.
-
Bei weiteren beispielhaften Ausführungsformen, 8, ist vorgesehen, dass das Verfahren aufweist: Trainieren 150 des neuronalen Netzes NN, beispielsweise basierend auf Trainingsdaten TD, wobei beispielsweise ein trainiertes neuronales Netz NN' erhalten wird, und, optional, Verwenden 152 des, beispielsweise trainierten, neuronalen Netzes NN', beispielsweise zur Verarbeitung der Eingangsdaten ED.
-
Weitere beispielhafte Ausführungsformen, 9, beziehen sich auf ein Verfahren, beispielsweise computerimplementiertes Verfahren, zum Trainieren eines, beispielsweise künstlichen, beispielsweise tiefen, neuronalen Netzes NN, beispielsweise Convolutional Neural Network, CNN, wobei wenigstens ein Filter FILT-1 des neuronalen Netzes NN basierend auf wenigstens einem Filterwörterbuch, beispielsweise Filter Dictionary, FD repräsentierbar ist und/oder repräsentiert wird, wobei das Verfahren aufweist: Trainieren 160 wenigstens einer Komponente des wenigstens einen Filterwörterbuchs FD, wobei beispielsweise das Trainieren 160 der wenigstens einen Komponente des wenigstens einen Filterwörterbuchs FD zumindest zeitweise gleichzeitig und/oder zusammen mit einem Trainieren 162 wenigstens einer anderen Komponente NN-K1 des neuronalen Netzes NN ausgeführt wird.
-
Bei weiteren beispielhaften Ausführungsformen kann das Trainieren auch, beispielsweise nur, ein Trainieren des wenigstens einen Filterwörterbuchs aufweisen, beispielsweise ohne dabei mit dem wenigstens einen Filterwörterbuch assoziierte Koeffizienten zu trainieren.
-
Der optionale Block 163 symbolisiert eine Verwendung des trainierten neuronalen Netzes.
-
Bei weiteren beispielhaften Ausführungsformen, 10, ist vorgesehen, dass das Verfahren aufweist: Bereitstellen 165 eines eine Standard-Basis charakterisierenden Filterwörterbuchs FD-a, wobei beispielsweise die Standard-Basis charakterisierbar ist gemäß B:={e(n): n=1,...,K2}, wobei e(n) einen n-ten mit der Standardbasis B assoziierten Einheitsvektor charakterisiert, Verändern 166 des die Standard-Basis charakterisierenden Filterwörterbuchs FD-a basierend auf dem Trainieren 150, 160, wodurch beispielsweise ein verändertes bzw. trainiertes Filterwörterbuch FD-a' erhaltbar ist. Dadurch wird bei weiteren beispielhaften Ausführungsformen eine Flexibilität bezüglich der Repräsentation von Filtern für das neuronale Netz NN gegenüber einer Verwendung der Standard-Basis gesteigert.
-
Bei weiteren beispielhaften Ausführungsformen, 11, ist vorgesehen, dass das Verfahren aufweist: Bereitstellen 168 eines keine Standard-Basis charakterisierenden Filterwörterbuchs FD-b, Verändern 169 des keine Standard-Basis charakterisierenden Filterwörterbuchs FD-b basierend auf dem Trainieren 150, 160, wodurch beispielsweise ein verändertes bzw. trainiertes Filterwörterbuch FD-b' erhaltbar ist.
-
Bei weiteren beispielhaften Ausführungsformen, 12, ist vorgesehen, dass das Verfahren aufweist: Bereitstellen 170 eines vortrainierten neuronalen Netzes NN-VT bzw. Ausführen eines ersten Trainings, beispielsweise Vortrainings, für das neuronale Netz, optional Ausführen 172 eines Reduzierens, beispielsweise des Reduzierens 130 gemäß beispielhaften Ausführungsformen, auf das vortrainierte neuronale Netz NN, wodurch ein reduziertes Netz NN-VT' erhaltbar ist, und, optional, Ausführen 174 eines weiteren Trainings des reduzierten Netzes NN-VT', was auf ein weiter trainiertes Netz NN" führt.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Trainieren 150, 160 aufweist: Trainieren des wenigstens einen Filterwörterbuchs FD zusammen mit wenigstens einem Koeffizienten, der mit dem wenigstens einen Filterwörterbuch FD assoziiert ist.
-
Bei weiteren beispielhaften Ausführungsformen kann das Trainieren 150, 160 auch, beispielsweise nur, ein Trainieren des wenigstens einen Filterwörterbuchs aufweisen, beispielsweise ohne dabei mit dem wenigstens einen Filterwörterbuch assoziierte Koeffizienten zu trainieren.
-
Bei weiteren beispielhaften Ausführungsformen kann das Trainieren 150, 160 auch, beispielsweise nur, ein Trainieren wenigstens eines mit dem wenigstens einen Filterwörterbuch assoziierten Koeffizienten aufweisen.
-
Bei weiteren beispielhaften Ausführungsformen, 13, ist vorgesehen, dass das Verarbeiten 102 (s. auch 1) der Eingangsdaten ED wenigstens eines der folgenden Elemente aufweist: a) Verarbeiten 102a von ein- und/oder mehrdimensionalen Daten, b) Verarbeiten 102b von Bilddaten (die i.d.R. mehrdimensionale Daten darstellen können), c) Verarbeiten 102c von Audiodaten, beispielsweise Sprachdaten und/oder Betriebsgeräuschen von technischen Einrichtungen bzw. Systemen wie z.B. Maschinen, d) Verarbeiten 102d von Videodaten bzw. Teilen von Videodaten, e) Verarbeiten 102e von Sensordaten, wobei das Verarbeiten 102 der Eingangsdaten ED beispielsweise eine Analyse, beispielsweise eine Klassifikation, der Eingangsdaten ED aufweist.
-
Bei weiteren beispielhaften Ausführungsformen, 13, ist vorgesehen, dass das Verfahren aufweist: Verwenden von basierend auf dem Verarbeiten 102 der Eingangsdaten ED erhaltenen Ausgangsdaten AD zur Beeinflussung B, beispielsweise Steuerung und/oder Regelung, wenigstens einer Komponente eines technischen Systems TS, beispielsweise cyber-physischen Systems CPS.
-
Bei weiteren beispielhaften Ausführungsformen, 14, ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Initialisieren 180 des wenigstens einen Filterwörterbuchs FD, b) Initialisieren 181 von mit dem wenigstens einen Filterwörterbuch FD assoziierten Koeffizienten, c) Reduzieren 182, beispielsweise Ausdünnen, beispielsweise Pruning, wenigstens einer Komponente des wenigstens einen Filterwörterbuchs FD, beispielsweise gemäß den Ausführungsformen, d) Trainieren 183 des neuronalen Netzes NN, beispielsweise des wenigstens einen Filterwörterbuchs FD, beispielsweise zusammen mit wenigstens einer weiteren Komponente NN-K1 des neuronalen Netzes NN, beispielsweise basierend auf einem Gradienten basierten Optimierungsverfahren.
-
Bei weiteren beispielhaften Ausführungsformen kann beispielsweise der folgende Ablauf vorgesehen sein, um ein trainiertes neuronales Netz NN' bereitzustellen, das (z.B. trainierbare) Filter aufweist, die mittels des wenigstens einen Filterwörterbuchs FD repräsentierbar sind:
- 1) optional: Initialisieren von k vielen Filterwörterbüchern F0 (1), ...,F0 (1) (beispielsweise gemäß 3), die optional z.B. jeweils einen linearen Raum charakterisieren, wobei der Raum bei weiteren beispielhaften Ausführungsformen auch als „Interspace“ bezeichenbar ist,
- 1a) optional: Teilen wenigstens mancher der gemäß Schritt 1) initialisierten Filterwörterbücher F0 (1) ..., F0 (1) also z.B. Verwenden der wenigstens manchen der gemäß Schritt 1) initialisierten Filterwörterbücher F0 (1), ..., F0 (1) z.B. für andere Schichten des neuronalen Netzes NN,
- 2a) Zuordnen eines jeweiligen Filterwörterbuchs zu wenigstens einer von L vielen Schichten l ∈ {1, ...,L} des neuronalen Netzes NN, wobei J z.B. eine Zuordnungsfunktion ist, die einer l -ten Schicht das Filterwörterbuch zuordnet. Beispielsweise kann ein globales Teilen bzw. Verwenden desselben Filterwörterbuchs implementiert werden mit Jl = 1∀l, d.h. allen l vielen Schichten wird z.B. das Filterwörterbuch zugeordnet,
- 2b) Initialisieren der Koeffizienten für die L vielen Schichten, beispielsweise gemäß 4,
- 3a) optional: Ermitteln einer, beispielsweise globalen, Pruning-Maske µ für das Reduzieren, z.B. gemäß 5, wobei das Ermitteln der Pruning-Maske µ beispielsweise basierend auf wenigstens einem bekannten Verfahren erfolgen kann, beispielsweise auf SNIP, GraSP, SynFlow,
- 3b) optional: Reduzieren, beispielsweise Prunen, der Koeffizienten für die Filterwörterbücher, beispielsweise mittels der Pruning-Maske µ, beispielsweise gemäß λ0⊙µ, wobei die (z.B. globalen) Filterkoeffizienten charakterisiert, und wobei ⊙ das Hadamard-Produkt bzw. elementweises Produkt charakterisiert. Dieser Vorgang kann bei weiteren beispielhaften Ausführungsformen auch als „Interspace Pruning“ bezeichnet werden, weil das optionale Pruning zumindest teilweise auf den durch die Filterwörterbücher charakterisierbaren Interspace bzw. die mit den Filterwörterbüchern assoziierten Koeffizienten anwendbar ist.
- 4) beispielsweise für T viele Trainingsschritte, t ∈ {1, ..., T},
- 4a) Ausführen eines forward-pass, beispielsweise basierend auf den Filterwörterbüchern und basierend auf den (z.B. mittels Pruning-Maske µ geprunten bzw. reduzierten) Koeffizienten λt-1⊙µ, beispielsweise gemäß
- 4b) Ausführen eines backward-pass, beispielsweise basierend auf den Filterwörterbüchern und basierend auf den (z.B. mittels Pruning-Maske µgeprunten bzw. reduzierten) Koeffizienten λt-1⊙µ, beispielsweise gemäß sofern ein Teilen von Filterwörterbüchern in dem forward-pass 4a) erfolgt, kann dies bei weiteren beispielhaften Ausführungsformen auch in dem backward pass 4b) ausgeführt werden,
- 4c) Anwenden einer, beispielsweise stochastischen, Gradienten basierten Optimierung auf die Filterwörterbücher und die Koeffizienten λt-1⊙µ basierend auf dem backward-pass gemäß vorangehendem Schritt 4b), wobei beispielsweise nach den T vielen Trainingsschritten 4a), 4b), 4c) trainierte Filterwörterbücher beispielsweise mit dünnbesetzten (sparse) Koeffizienten λT⊙µ erhalten werden, mittels denen z.B. ein trainiertes neuronales Netz NN' bereitstellbar ist.
-
Bei weiteren beispielhaften Ausführungsformen kann z.B. das optionale Pruning 3a), 3b) auch entfallen bzw. während des Trainings 4) bzw. nach dem Training 4) ausgeführt werden.
-
Bei weiteren beispielhaften Ausführungsformen sind auch unendlich viele Trainingsschritte t möglich, was z.B. einem kontinuierlichen Training entspricht.
-
Bei weiteren beispielhaften Ausführungsformen können für wenigstens zwei verschiedene Trainingsschritte t1, t2 auch unterschiedliche Pruningmasken µ verwendet werden.
-
Bei weiteren beispielhaften Ausführungsformen können zusätzlich zu den vorstehend unter Bezugnahme auf die Schritte 4a), 4b) 4c) beschriebenen Aspekten auch weitere Parameter bzw. Hyperparameter des neuronalen Netzes NN trainiert werden, z.B. Gewichte von vollverbundenen (fully connected) Schichten NN-K1, usw.
-
Weitere beispielhafte Ausführungsformen, 15, beziehen sich auf eine Vorrichtung 200 zur Ausführung des Verfahrens gemäß den Ausführungsformen, beispielsweise für ein Verarbeiten 102 von Eingangsdaten ED mittels des, beispielsweise trainierten, neuronalen Netzes NN, und/oder für ein Trainieren 150, 160 und/oder für ein Pruning 130.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Vorrichtung 200 aufweist: eine beispielsweise einen oder mehrere, vorliegend z.B. zwei, Rechenkerne 202a, 202b aufweisende Recheneinrichtung („Computer“) 202, eine der Recheneinrichtung 202 zugeordnete Speichereinrichtung 204 zur zumindest zeitweisen Speicherung wenigstens eines der folgenden Elemente: a) Daten DAT (z.B. Eingangsdaten ED und/oder Trainingsdaten TD und/oder Daten für einen Betrieb des neuronalen Netzes NN (z.B. Gewichte und/oder Filterkoeffizienten, Daten des wenigstens einen Filterwörterbuchs FD), b) Computerprogramm PRG, insbesondere zur Ausführung eines Verfahrens gemäß den Ausführungsformen.
-
Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung 204 einen flüchtigen Speicher 204a (z.B. Arbeitsspeicher (RAM)) auf, und/oder einen nichtflüchtigen Speicher 204b (z.B. Flash-EEPROM).
-
Bei weiteren beispielhaften Ausführungsformen weist die Recheneinrichtung 202 wenigstens eines der folgenden Elemente auf bzw. ist als wenigstens eines dieser Elemente ausgebildet: Mikroprozessor (µP), Mikrocontroller (µC), anwendungsspezifischer integrierter Schaltkreis (ASIC), System on Chip (SoC), programmierbarer Logikbaustein (z.B. FPGA, field programmable gate array), Hardwareschaltung, Grafikprozessor, Tensorprozessor, oder beliebige Kombinationen hieraus.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium SM, umfassend Befehle PRG, die bei der Ausführung durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm PRG, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal DCS, das das Computerprogramm PRG gemäß den Ausführungsformen charakterisiert und/oder überträgt. Das Datenträgersignal DCS ist beispielsweise über eine optionale Datenschnittstelle 206 der Vorrichtung 200 empfangbar, über die z.B. auch wenigstens manche der folgenden Daten austauschbar (sendbar und/oder empfangbar) sind: DAT, ED, ED', AD.
-
Weitere beispielhafte Ausführungsformen, 16, beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung 200 gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums SM gemäß den Ausführungsformen und/oder des Computerprogramms PRG gemäß den Ausführungsformen und/oder des Datenträgersignals DCS gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Repräsentieren 301 wenigstens eines Filters FILT-1 des neuronalen Netzes NN basierend auf dem wenigstens einen Filterwörterbuch, beispielsweise Filter Dictionary, FD b) Verarbeiten 302 von Eingangsdaten ED und/oder von von Eingangsdaten ED ableitbaren bzw. abgeleiteten Daten ED', ED", AD unter Verwendung des wenigstens einen Filters FILT-1, c) Steigern 303 einer Flexibilität bezüglich der Repräsentation des wenigstens einen Filters FILT-1, d) dynamisches, also z.B. während einer Ausführung des Verfahrens gemäß Ausführungsformen ausführbares, Anpassen 304 des wenigstens einen Filters FILT-1, beispielsweise während eines Trainings 150, 160, bei dem beispielsweise auch wenigstens eine weitere Komponente NN-K1 des neuronalen Netzes NN trainiert wird, e) Verringern 305 einer Komplexität des neuronalen Netzes NN, z.B. durch Pruning von Komponenten des wenigstens einen Filterwörterbuchs bzw. damit assoziierter Koeffizienten, f) Verbessern 306 einer Generalisierung durch das neuronale Netz NN, beispielsweise in dem Sinne, dass ein Verhalten des neuronalen Netzes NN während eines Trainings ähnlicher wird zu einem Verhalten des neuronalen Netzes außerhalb des Trainings, beispielsweise bei der Auswertung von anderen Eingangsdaten ED als den Trainingsdaten TD, g) Reduzieren 307 bzw. Verringern eines Overfitting, beispielsweise „Auswendiglernen“ der Trainingsdaten TD, h) Einsparen 308 von für eine Repräsentation und/oder eine Auswertung des neuronalen Netzes NN erforderlichen Speicherressourcen 204 und/oder Rechenzeitressourcen, i) Verringern 309 einer Trainingsdauer, j) Ermöglichen 310 einer Nutzung bestehender Reduktionsverfahren bzw. Pruning-Verfahren für neuronale Netze NN, beispielsweise strukturierter und/oder unstrukturierter Pruning-Verfahren, beispielsweise auch für ein Reduzieren wenigstens einer Komponente des wenigstens einen Filterwörterbuchs FD, k) Steigerung 311 einer Flexibilität bezüglich einer Initialisierung des wenigstens einen Filterwörterbuchs FD, I) Ermöglichen 312 einer flexiblen Verwendung des wenigstens einen Filterwörterbuchs FD, beispielsweise wahlweise, für wenigstens eine Komponente, beispielsweise eine Schicht L1, L2, des neuronalen Netzes NN, beispielsweise eines flexiblen Teilens des wenigstens einen Filterwörterbuchs FD zwischen verschiedenen Komponenten L1, L2 des neuronalen Netzes NN, m) Steigern 313 einer Qualität eines Trainings 150, 160 und/oder einer Auswertung, beispielsweise Inferenz, des neuronalen Netzes NN.
-
Weitere beispielhafte Ausführungsformen bieten eine Adaptivität des wenigstens einen Filterwörterbuchs, so dass das neuronale Netz mit vergleichsweise wenigen Parametern z.B. besser dargestellt werden kann als in einer konventionellen räumlichen Darstellung der Filterkoeffizienten.