-
Stand der Technik
-
Die Erfindung betriff ein Verfahren und eine Vorrichtung zur Klassifizierung von Eingangsdaten.
-
Convolutional Neural Networks sind allgemein bekannt. Eine vollständig verbundene Faltungsschicht eines Convolutional Neural Network kann gewährleisten, dass alle Informationen präzise übertragen werden können. Es verursacht aber auch einen enormen Rechenaufwand. Um Betriebszeit und Kosten zu sparen, werden die Eingabeelemente nur durch einen Teil der Faltungsschichten statt aller geleitet. Durch die somit nur lose vernetzten Neuronen gehen allerdings Informationen ungewollt verloren.
-
Aus Jörn-Henrik Jacobsen, Jan van Gemert, Zhongyu Lou, Arnold W. M. Smeulders; „Structured Receptive Fields in CNNs“; in CoRR 1605.02971; 2016 ist bekannt, dass das Erlernen leistungsfähiger Feature-Darstellungen mit CNNs schwierig ist, wenn der Umfang der Trainingsdaten begrenzt ist. Pre-Training ist eine Möglichkeit, dies zu überwinden, erfordert aber große Datensätze, die der Zieldomäne ausreichend ähnlich sein müssen. Eine weitere Möglichkeit besteht darin, a-priori Wissen in das Modell einzubringen, welches von abgestimmten Hyperparametern bis hin zu vollständig ausgearbeiteten Darstellungen wie Scattering Networks reichen kann. Diese Ideen werden zu strukturierten rezeptiven Feldnetzen kombiniert, also einem Modell, das eine feste Filterbasis hat und dennoch die Flexibilität von CNNs behält. Die Flexibilität wird erreicht, indem empfängliche Felder in CNNs als gewichtete Summe über eine feste Basis ausgedrückt werden, die im Sinne von Scattering Networks ähnlich ist. Der Hauptunterschied besteht darin, dass beliebige effektive Filtersätze aus der Basis erlernt werden, anstatt die Filter zu modellieren. Dieser Ansatz verbindet explizit die klassische Multiskalen-Bildanalyse mit allgemeinen CNNs. Mit strukturierten rezeptiven Netzen wird eine deutliche Verbesserung im Vergleich zu unstrukturierten CNNs für kleine und mittlere Datensatzsituationen sowie gegenüber Scattering für große Datensätze erreicht.
-
Offenbarung der Erfindung
-
Die Probleme des Standes der Technik werden durch ein Verfahren gemäß dem Anspruch 1 und eine Vorrichtung gemäß einem nebengeordneten Anspruch gelöst.
-
Ein erster Aspekt dieser Beschreibung betrifft ein computerimplementiertes Verfahren zur Klassifizierung von Eingangsdaten, wobei das Verfahren umfasst: Empfangen von Eingangsdaten, und Propagieren der Eingangsdaten durch ein gelerntes Convolutional Neural Network, wobei die empfangenen Eingangsdaten als Eingangsgröße in einem Eingabebereich des Convolutional Neural Network bereitgestellt werden, wobei ein Ausgangstensor einer Faltungsphase wenigstens einer verborgenen Schicht des Convolutional Neural Network in Abhängigkeit von einem ersten trainierten Gewichtetensor und in Abhängigkeit von einem zweiten trainierten Gewichtetensor ermittelt wird, und wobei in einem Ausgabebereich des Convolutional Neural Network eine Vorhersage bereitgestellt wird, welche für eine Klassifizierung der Eingangsdaten verwendbar ist.
-
Die vorgeschlagene Struktur des Convolutional Neural Network umfasst eine Zerlegung der Gewichte des Faltungskerns in den ersten und zweiten Gewichtetensor. Durch diese Restriktion der Struktur des Convolutional Neural Network müssen Invarianzen der Daten gelernt werden. Die Zerlegung der Faltungsoperation unter Verwendung der ersten und zweiten Gewichtetensoren erlaubt neben der erzielbaren Invarianz eine Umsetzung mit reduzierter Daten- und Algorithmuskomplexität.
-
Das vorgeschlagene Verfahren ist insbesondere bei einer hohen Anzahl von Ein- und Ausgangskanälen vorteilhaft. Auch eignet sich das Verfahren zur Umsetzung mit räumlich großen Faltungskernen.
-
Darüber hinaus ermöglicht das vorgeschlagene Verfahren, dass die zum Lernen des Convolutional Neural Network nötige Menge an Trainingsdaten stark reduziert werden kann. So kann beispielsweise die künstliche Erzeugung von Trainingsdaten entfallen oder reduziert werden. Dies vermindert den Trainingsaufwand für das Convolutional Neural Network und damit auch die Kosten.
-
Bei Anwendungen, die künstliche neuronale Netze zur teilweisen oder gänzlichen Automatisierung von technischen Funktionen oder zur Unterstützung von menschlichen Entscheidungsfindungen nutzen, besteht die technische Herausforderung darin, die Algorithmus- und Speicherkomplexität für das künstliche neuronale Netz so anzupassen, dass zu einem einen die durch das künstliche neuronale Netz bereitgestellte Funktion sicher und zuverlässig durchgeführt wird und zum anderen die Kosten für die bereitzustellende Rechen- und Speicherkapazität in einem ökonomisch sinnvollen Verhältnis hier zu stehen.
-
Wird das vorgeschlagene Verfahren bzw. die vorgeschlagene Vorrichtung im Bereich des autonomen oder teilautonomen Fahrens angewendet und in diesem Zuge in ein Kraftfahrzeug integriert, so können Gegenstände wie beispielsweise andere Kraftfahrzeuge, Fußgänger oder Bäume auch bei unterschiedlichen Farbgebung und Beleuchtungssituationen sicher klassifiziert werden. Die Umgebung wird beispielsweise mittels eines Sensors in Form von digitalen Bildern erfasst. Gleichzeitig wird der Hardware-Aufwand reduziert, was in reduzierten Stückkosten für ein entsprechendes Steuergerät mündet. Darüber hinaus werden Applikationskosten d.h. die kosten für ein Training des CNN reduziert.
-
Wie in der nachfolgenden Beschreibung erläutert wird, ist die vorgeschlagene technische Lösung aber auch auf andere technische Bereiche als dem Kraftfahrzeugbereich übertragbar.
-
Ein vorteilhaftes Beispiel zeichnet sich dadurch aus, dass die Faltungsphase umfasst: Ermitteln eines Zwischentensors der Faltungsphase in Abhängigkeit von einem Eingangstensor und in Abhängigkeit von dem ersten Gewichtetensor.
-
Vorteilhaft wird die Faltungsphase in Unterphasen aufgeteilt. Das Zwischenergebnis in Form des Zwischentensors bildet, da es Werte mehrerer Kanäle des Eingangstensors miteinander verknüpft, eine Inter-Channel-Transformation ab. Damit wird a-priori Wissen in das neuronale Netz eingebracht, und zwar in die Struktur des neuronalen Netzes. Der erste Gewichtetensor wird auf den Eingangstensor angewandt und verknüpft damit die einzelnen Kanäle des Eingangstensors miteinander, um damit die Invarianz gegenüber Beleuchtungsänderungen, Farbänderungen und Ähnlichem zu erreichen.
-
Ein vorteilhaftes Beispiel zeichnet sich dadurch aus, dass die Faltungsphase umfasst: Ermitteln eines Ausgangstensors der Faltungsphase in Abhängigkeit von dem Zwischentensor und in Abhängigkeit von dem zweiten Gewichtetensor.
-
Der zweite Gewichtetensor bildet vorteilhaft die geometrischen Eigenschaften des Faltungskerns ab.
-
Ein vorteilhaftes Beispiel zeichnet sich dadurch aus, dass der Zwischentensor eine einer Anzahl von Kanälen entsprechende Mehrzahl von ersten Feature Maps umfasst, wobei die Faltungsphase umfasst: Bereitstellen des Ausgangstensors der Faltungsphase umfassend eine Mehrzahl von Gruppen von zweiten Feature Maps, wobei jede der Gruppen eine der Anzahl von Kanälen entsprechende Mehrzahl der zweiten Feature Maps umfasst.
-
Durch diese Strukturierung bilden die ersten Feature Maps die Inter-Channel-Transformation des Faltungskerns ab und die Gruppen von zweiten Feature Maps bilden die geometrischen Eigenschaften des Faltungskerns ab.
-
Ein vorteilhaftes Beispiel zeichnet sich dadurch aus, dass ein Eingangstensor einer Pooling-Phase Gruppen dritter Feature Maps mit einer Mehrzahl von Kanälen umfasst, und wobei für jede Gruppe der dritten Feature Maps eine vierte Feature Map unter Anwendung einer Pooling-Funktion über die Mehrzahl von Kanälen der jeweiligen Gruppe ermittelt wird, und wobei ein Ausgangstensor der Pooling-Phase die ermittelte Mehrzahl vierter Feature Maps umfasst.
-
Vorteilhaft werden die in der Faltungsphase gebildeten Gruppen über eine Pooling-Funktion zur Sicherstellung von gewünschter über das Modell lernbarer Invarianz zusammengefasst. Im Falle von eine Umgebung abbildenden digitalen Bildern werden Invarianzen gegenüber Helligkeitsunterschieden, Farbunterschieden, etc. nicht oder nicht nur unter Verwendung von a-priori Wissen und einem entsprechend gestalteten Faltungskern erreicht.
-
Ein vorteilhaftes Beispiel zeichnet sich dadurch aus, dass die dritten Feature Maps den zweiten Feature Maps entsprechen.
-
Ein vorteilhaftes Beispiel zeichnet sich dadurch aus, dass die Pooling-Funktion ein Maximum eines Werts an einer Position oder einem Bereich der zweiten bzw. dritten Feature Maps über die Mehrzahl von Kanälen auswählt.
-
Die Auswahl des Maximums hat sich für die Objektklassifikation als vorteilhaft erwiesen.
-
Ein vorteilhaftes Beispiel zeichnet sich dadurch aus, dass die Eingangsdaten wenigstens ein digitales Bild, in welchem wenigstens ein zu klassifizierendes Objekt abgebildet ist, umfassen, wobei der Eingangstensor der verborgenen Schicht in Abhängigkeit von dem einen digitalen Eingangsbild ermittelt wird, und wobei die Vorhersage Werte bereitstellt, um das in dem digitalen Bild abgebildete Objekt zu klassifizieren.
-
Die Vorteile des bereitgestellten Verfahrens zeigen sich besonders im Bereich der Bildklassifizierung. Die Vorhersage lässt sich vorteilhaft zur Ermittlung einer Objektklasse nutzen, indem die bereitgestellten Werte der Vorhersage beispielsweise einen Wahrscheinlichkeitswert für die Objektklasse umfassen.
-
Ein weiterer Aspekt der Beschreibung betrifft eine Vorrichtung zur Klassifizierung von Eingangsdaten, wobei die Vorrichtung mindestens einen Prozessor, mindestens eine Eingangsschnittstelle und mindestens einen Speicher mit Computerprogrammcode umfasst, wobei der Computerprogrammcode so konfiguriert ist, dass er mit dem mindestens einen Prozessor und der Eingangsschnittstelle Eingangsdaten empfängt, und die Eingangsdaten durch ein gelerntes Convolutional Neural Network propagiert, wobei die empfangenen Eingangsdaten als Eingangsgröße in einem Eingabebereich des Convolutional Neural Network bereitgestellt werden, wobei ein Ausgangstensor einer Faltungsphase wenigstens einer verborgenen Schicht des Convolutional Neural Network in Abhängigkeit von einem ersten trainierten Gewichtetensor und in Abhängigkeit von einem zweiten trainierten Gewichtetensor ermittelt wird, und wobei in einem Ausgabebereich des Convolutional Neural Network eine Vorhersage bereitgestellt wird, welche für eine Klassifizierung der Eingangsdaten verwendbar ist.
-
Ein anderer Aspekt dieser Beschreibung betrifft eine wenigstens teilautonome Maschine, wie beispielsweise ein Kraftfahrzeug, ein Industrie- oder Haushaltsroboter oder eine Schließanlage, welche die Vorrichtung gemäß dem zuvor genannten Aspekt umfasst, und welche in Abhängigkeit von der Vorhersage betrieben wird. So wird beispielsweise durch die Vorhersage die vorgenannte Teilautonomie der Maschine bereitgestellt.
-
In der Zeichnung zeigen:
- 1 ein schematisch dargestelltes System;
- 2 eine verborgene Schicht eine Convolutional Neural Networks;
- 3 ein schematisch dargestelltes Training des Convolutional Neural Networks;
- 4 eine schematisch dargestellte Verwendung des trainierten Convolutional Neural Networks; und
- 5 einen Vergleich mit anderen Methoden.
-
1 ist eine schematische Darstellung von Teilen eines Systems 100 bzw. einer Maschine. Das System 100 umfasst wenigstens eine Datenleitung 102 und wenigstens eine Vorrichtung 104, die mit der Datenleitung 102 verbunden ist. Die Vorrichtung 104 umfasst eine Eingangsschnittstelle 108, die ausgebildet ist, Eingangsdaten zu erfassen. Insbesondere werden einzelne oder eine Mehrzahl von digitalen Bildern von der Eingangsschnittstelle erfasst, die über die Datenleitung 102 übertragen werden. Beispielsweise stellt eine Videokamera 120 die Mehrzahl von digitalen Bildern auf der Datenleitung 102 bereit, welche ein Objekt S vor der Videokamera 120 abbilden. Die Vorrichtung 104 umfasst eine Ansteuereinrichtung 110, die ausgebildet ist, um über ein Ansteuersignal 111 eine Komponente 112 des Systems 100 bzw. der Maschine anzusteuern.
-
Die Vorrichtung 104 umfasst einen Prozessor 114 und einen Speicher 116 mit Instruktionen, bei deren Ausführung durch den Prozessor ein im Folgenden beschriebenes Verfahren ausgeführt wird.
-
In einem Beispiel ist die Vorrichtung 104 ein Steuergerät eines Kraftfahrzeugs. Das Steuergerät empfängt die digitalen Bilder auf der Datenleitung 102 von der Videokamera 120, welche beispielsweise in Fahrtrichtung ausgerichtet ist und damit ein Fahrzeugvorfeld abbildet. Die Komponente 112 umfasst beispielsweise ein Lenksystem, ein Bremssystem und ein Antriebssystem. Um Gefahrensituationen zu erkennen, werden die nachfolgend ab 2 erläuterten technischen Maßnahmen in das Steuergerät integriert. In einer beispielhaften Situation wird ein als Kind am Fahrbahnrand klassifiziertes Objekt S in einem digitalen Einzelbild eines Videostreams erkannt und das Fahrzeug wird - insbesondere in Abhängigkeit von weiteren Informationen über das als Kind klassifizierte Objekt S - mittels der Komponente 112 in Form einer Bremse abgebremst, um eine vorgegebene Maximalgeschwindigkeit nicht zu überschreiten. Selbstverständlich müssen auch andere Objekte wie beispielsweise Straßenschilder sicher erkannt werden, um die Aktoren des Kraftfahrzeugs entsprechend zu beeinflussen.
-
In einem anderen Beispiel einer Industrieanlage ist die Vorrichtung 104 ein Steuergerät eines Industrieroboters. Das Steuergerät ist dazu eingerichtet, ein zu greifendes Objekt S innerhalb wenigstens einem der bereitgestellten Einzelbilder sowie dessen Klasse zu erkennen, um mittels der Komponente 112 beispielsweise einem Greifarm des Industrieroboters das Objekt S zu greifen und in Abhängigkeit von der erkannten Klasse einem bestimmten Arbeitsschritt zuzuführen und/oder in ein entsprechendes Fach einzusortieren.
-
Ein weiteres Beispiel der Vorrichtung 104 betrifft ein Steuergerät eines beweglichen Heimroboters wie beispielsweise einen Rasenmäher oder einen Staubsauger. So beobachtet die Videokamera 120 beispielsweise das Vorfeld und identifiziert die durch den Rasenmäher oder Staubsauger zu bearbeitende Fläche. In einem Beispiel wird zwischen befahrbaren Untergrund und nicht befahrbaren Untergrund wie beispielsweise einer Wasseroberfläche unterschieden. Wird also ein Bereich als Wasseroberfläche klassifiziert, so ist dieser Untergrund nicht befahrbar und der bewegliche Heimroboter wird dieses Gebiet meiden.
-
Die Anwendungsfälle der nachfolgend dargestellten Lehre sind somit mannigfaltig. Selbstverständlich sind die in dieser Beschreibung offenbarten Maßnahmen nicht nur auf digitale Bilder, welche beispielsweise eine Umgebung abbilden, anwendbar. Selbst eindimensionale Daten oder mehrdimensionale Daten eines Sensors können in einen Bildbereich transformiert werden, sodass sie durch die hier vorgestellten Maßnahmen verarbeitbar sind.
-
2 zeigt einen schematischen Aufbau einer verborgenen Schicht
200 eines künstlichen neuronalen Netzes, insbesondere eines Convolutional Neural Network. Der verborgenen Schicht
200 wird ein Eingangstensor
bereitgestellt. Der Eingangstensor
wird in nicht gezeigter Form in Abhängigkeit von einem empfangenen digitalen Bild, in welchem ein zu klassifizierendes Objekt abgebildet ist, ermittelt. So umfasst das Convolutional Neural Network der verborgenen Schicht
200 vorangehende Schichten, welche beispielsweise Kanten erkennen, kombinieren oder andere Funktionen umfassen. Die verborgene Schicht
200 kann beliebig tief im Convolutional Neural Network verborgen sein.
-
Der Eingangstensor
ist beispielsweise dreidimensional gewählt und umfasst die Dimensionen: Höhe h=1... H, Breite w=1... W und Farbkanäle n=1... Nin. In einem Schritt
202 wird der Eingangstensor
einer Faltungsphase CONV bereitgestellt. Gemäß einem Schritt
206 wird in der Faltungsphase CONV ein Zwischentensor Z in Abhängigkeit von dem Eingangstensor
und in Abhängigkeit von einem ersten Gewichtetensor Tqn ermittelt. Der erste Gewichtetensor Tqn verknüpft die Kanäle n des Eingangstensors
zu dem Zwischentensor Z und bildet damit eine Zwischenkanaltransformationen in Bezug zu dem Eingangstensor
ab. Der Zwischentensor Z umfasst eine Anzahl von Kanälen q=1...Q.
-
In einem Schritt
208 wird der Zwischentensor Z einer Faltungsoperation bereitgestellt. In Abhängigkeit von einem zweiten Gewichtetensor Glp und einem Faltungskern
ergeben sich p Faltungskerne K. Die einzelnen ersten Feature Maps des Zwischentensors Z werden mit dem jeweiligen Faltungskernen K diskret gefaltet. Nach der Faltungsoperation ergibt sich ein Ausgangstensor
der Faltungsphase CONV, wobei der Ausgangstensor
eine Mehrzahl von P Gruppen von zweiten Feature Maps umfasst, wobei p=1... P.
-
In einem Schritt
208 wird der Ausgangstensor
der Faltungsphase CONV bereitgestellt. Der Eingangstensor Y' einer Pooling-Phase
POOL der verborgenen Schicht
200 entspricht vorliegend dem bereitgestellten Ausgangstensor
der Faltungsphase CONV. Selbstverständlich kann sich der Eingangstensor Y' der Pooling-Phase
POOL auch von dem Ausgangstensor
der Faltungsphase CONV unterscheiden, wobei alternativ zum dargestellten Schritt
208 beispielsweise eine Erkennungsphase zwischengeschaltet ist. Die Poolingphase
POOL entfällt in einem Beispiel.
-
Der Eingangstensor Y' der Pooling-Phase
POOL umfasst Gruppen dritter Featuremaps mit einer Mehrzahl von Kanälen q=1... Q. Für jede Gruppe der dritten Feature Maps wird unter Anwendung einer Pooling Funktion über die Mehrzahl von Kanälen der jeweiligen Gruppe p eine jeweilige vierte Feature Map ermittelt. Folglich umfasst ein Ausgangstensor
der Pooling-Phase
POOL eine ermittelte Mehrzahl P vierter Feature Maps. Vorliegend wird eine Poolingfunktion gemäß einem max-Pooling durchgeführt, wobei selbstverständlich auch andere Pooling-Funktionen wie beispielsweise Average Pooling oder f2-norm pooling angewandt werden können.
-
Die Pooling-Funktion wird auf eine Mehrzahl von dritten Feature Maps des Eingangstensors Y' der Pooling-Schicht P über die vorhandenen Kanäle q angewendet und betrifft eine Position oder einen räumlichen Bereich der jeweiligen dritten Feature Maps. Die Werte über die Kanäle q an dieser Position oder dem vorgenannten Bereich sind die Eingangsfunktion der Pooling-Funktion. Der Ausgang der Pooling-Funktion wird in die vierte Feature Map, welche als Ziel-Feature Map ausgewählt ist, an derselben Position bzw. in demselben Bereich ausgegeben wie in der Ursprungs-Feature Map, d. h. der jeweiligen dritten Feature Map.
-
In einem Schritt
210 wird der Ausgangstensor
der Poolingphase
POOL bereitgestellt. Damit ist die Abarbeitung der verborgenen Schicht
200 abgeschlossen und der Ausgangstensor
kann der nächsten verborgenen Schicht zugeführt werden oder in einem Ausgabebereich des Convolutional Neural Network als Vorhersage bereitgestellt werden.
-
Die Vorhersage im Ausgangsbereich des Convolutional Neural Network umfasst an einer jeweiligen Position h, w beispielsweise eine Wahrscheinlichkeit, dass ein erkanntes Objekt einer bestimmte Klasse von Objekten zugehörig ist. So kann beispielsweise mit einer einfachen Schwellwertoperation in Bezug zu dem jeweiligen Wahrscheinlichkeitswert unterschieden werden, ob ein erkanntes Objekt wenigstens einer der Klassen Fahrzeug, Fußgänger, Baum, Haus zuzuordnen ist. Über eine derartige Zuordnungsfunktion wird die Klassifikation des Objekts erreicht.
-
In Abhängigkeit von dieser Objektklassifikation beeinflusst ein zumindest teilweise autonom fahrendes Fahrzeug seine Aktoren zum Bremsen, Beschleunigen und Lenken. Wird beispielsweise ein Objekt am Straßenrand als Kind klassifiziert und fällt die Distanz zu diesem Objekt unter einen Schwellwert, so wird die Geschwindigkeit des Kraftfahrzeugs auf einen Maximalwert begrenzt.
-
Im Falle einer Industrieautomatisierung führt die Klassifikation eines erkannten Objektes beispielsweise zur Auslösung bestimmter Aktionen, wie beispielsweise einem Greifen, einem Aussortieren, usw.
-
Anstatt eines einzigen Faltungskerns und einem einzigen Eingabetensor werden vorliegend zwei Gewichtetensoren verwendet, die zu weniger Ressourcenverbrauch und zu einer verbesserten Klassifikationsrate führen. Die Herleitung zur Verwendung der zwei Gewichtetensoren wird im Folgenden erläutert.
-
Der Eingangstensor
welcher in Abhängigkeit von dem Eingangsbild ermittelt wurde, ist beispielsweise die Anzahl von H Pixeln hoch und die Anzahl von W Pixeln breit, womit h=1... H und w=1... W räumliche Koordinaten darstellen.
-
Die Indizes der Eingangskanäle sind n=1... Nin. Die Indizes der Ausgangskanäle sind m=1... Nout. Ein Faltungskern
bildet die Anzahl von Nin Eingangskanälen auf eine Mehrzahl von Nout Ausgangskanälen ab. Der Faltungskern
hat eine Filtergröße von (2U+1)(2V+1). Für eine räumliche Faltungsoperation gilt nachfolgende Gleichung 1 zur Ermittlung eines Faltungsergebnisses
-
Mit den Parametern v=-V... V und u=-U... U wird die Größe des räumlichen Anteils des Faltungskerns
festgelegt. Aus Notationsgründen werden nur Kerne ungerader räumlicher Größe betrachtet. Die Gewichte des Faltungskerns werden als Elemente eines zweidimensionalen Gitters angenommen. Das zentrale Gewicht besitzt somit die Position 0,0 dieses Gitters. In dieser Schreibweise hat ein Kern der Größe 3x3 die Parameter U=1 und V=1, ein Kern der Größe 5x5 die Parameter U=3 und V=3.
-
Der zweidimensionale Faltungskern
ergibt sich nach Gleichung 2 als Linearkombination aus dem Faltungskern
und einem Gewichtetensor W
lmn, wobei L kleiner als (2U+1)(2V+1) ist. Die Größe des Filters W
lmn beträgt (L × Nout × Nin).
-
Der Faltungskern
setzt sich aus Kronecker-Deltas gemäß Gleichung 3.1 zusammen und ist damit vorteilhaft von einfacher Struktur.
-
Weitergehend kann der Faltungskern
auch gemäß Gleichung 3.2 ermittelt bzw. normalisiert werden und umfasst damit eine Anzahl von Gaußschen Filtern.
-
Der Gewichtetensor W
lmn lässt sich gemäß nachfolgender Gleichung 4 ausdrücken, wobei p = m div Q = 0 ...P - 1 und q = m mod Q = 0 ... Q - 1. Die Mehrzahl von Nout Ausgangskanälen ergibt sich gemäß P × Q.
-
Es erfolgt eine Faktorisierung des Gewichtetensors W
lmn aus Gleichung 2 in ein Produkt zweier Gewichtetensoren G
lpr und T
qnr (rank-R decomposition), wobei ein sich ergebender Filter W̃
lpqn gemäß Gleichung 5 mit einer Größe (R × Nout × Nin) ergibt. Der Gewichtetensor G
lpr repräsentiert Komponenten, welche mit geometrischen Eigenschaften des Gewichtetensors W
lmn zusammenhängen. Der Gewichtetensor T
qnr repräsentiert Komponenten, welche mit Zwischenkanaltransformationen (inter-channel transformations) des Filters W
lmn zusammenhängen.
-
Der Faltungskern
ergibt sich mit dem faktorisierten Gewichtetensor W̃
lpqn aus Gleichung 5 gemäß Gleichung 6.
-
Der Faltungskern
aus Gleichung 6 und die Faltungsoperation aus Gleichung 1 ergeben gemäß Gleichung 7 ein Faltungsergebnis
welches die gleichen geometrischen Dimensionen wie der Eingangstensor X aufweist, wovon aber abgewichen werden kann.
-
Für den Spezialfall R=1 ergibt sich aus Gleichung 7 die Gleichung 8 mit einer vollständig faktorisierten Faltung.
-
Das max-Pooling ergibt sich nach Gleichung 9 über die Mehrzahl von Kanälen q=1...Q der Mehrzahl von Gruppen P. Mithin repräsentieren die Gruppen P im Ausgangstensor
der Poolinphase
POOL Kanäle.
-
Eine Anordnung für das Training ist in 3 dargestellt. Trainingsdaten Etrain werden in Form von Eingangsbildern bereitgestellt.
-
Die Anordnung umfasst das künstliche neuronale Netzwerk in Form des Convolutional Neural Network 300 mit einer Eingangsschicht. Für einen Zeitschritt i wird ein Eingangstensor ei train der Eingabe E - also des Eingangsbildes - an die Eingangsschicht übergeben. Zur Eingabe E wird die Ausgabe O in Form einer Klassifikation bzw. Vorhersage dafür bestimmt oder ist vorbekannt. Aus der Ausgabe O wird im Zeitschritt i ein Tensor mit beobachteten Werte Oi train bestimmt, die den beobachteten Werten des Tensors ei train zugeordnet sind. Jeder der Zeitreihen der Eingabe E ist einer von drei Eingangsknoten zugeordnet. In einem Vorwärtspfad des künstlichen neuronalen Netzwerks 300 folgt auf die Eingangsschicht wenigstens eine verborgene Schicht, insbesondere die Schicht 200 aus 2. Eine Anzahl Knoten der wenigstens einer verborgenen Schicht ist im Beispiel größer, als eine Anzahl der Eingangsknoten. Diese Anzahl ist als Hyperparameter zu betrachten und wird vorzugsweise separat bestimmt. Im Beispiel sind in der verborgenen Schicht vier Knoten vorgesehen. Das Convolutional Neural Network 300 wird beispielsweise durch das Verfahren gemäß dem Gradientenabstieg in Form von Backpropagation gelernt. Das Training des Convolutional Neural Network 300 erfolgt also überwacht.
-
Im Vorwärtspfad ist im Beispiel nach der wenigstens einen verborgenen Schicht eine Ausgangsschicht 302 vorgesehen. An der Ausgangsschicht 302 werden Vorhersage-Werte ausgegeben. Im Beispiel ist jedem Vorhersage-Wert ein Ausgangsknoten zugeordnet.
-
In jedem Zeitschritt i wird ein Tensor o'i train bestimmt, in dem die Vorhersage-Werte für diesen Zeitschritt i enthalten sind. Dieser wird im Beispiel zusammen mit dem Spaltenvektor der beobachteten Werte oi train einer Trainingseinrichtung 304 zugeführt. Die Trainingseinrichtung 304 ist im Beispiel ausgebildet, einen Vorhersage-Fehler mittels einer Loss-Funktion LOSS, insbesondere mittels eines Mean Square Errors, zu bestimmen, und das Modell damit und mittels eines Optimierers, insbesondere eines Adam Optimierers, zu trainieren. Die Loss-Funktion LOSS wird im Beispiel abhängig von einer Abweichung, insbesondere dem Mean Square Error aus den Werten des Tensors der beobachteten Werte oi train und dem Tensor der Vorhersage-Werte o'i train bestimmt.
-
Das Training wird abgebrochen, sobald ein festgesetztes Kriterium erreicht ist. Im Beispiel wird das Training abgebrochen, wenn der Loss über mehrere Zeitschritte hinweg nicht mehr sinkt, d.h. insbesondere der Mean Square Error nicht geringer wird.
-
Anschließend werden Testdaten in das so trainierte Modell eingegeben. Das Modell wird durch das Training mit den Trainingsdaten generiert. Das Modell wird mit den Testdaten insbesondere hinsichtlich Mittelwert µ und Kovarianz Σ ausgewertet.
-
Gemäß einer in 4 dargestellten Anordnung wird ein trainiertes Modell verwendet, um für das innerhalb des zugeführten digitalen Bildes abgebildete Objekt eine Vorhersage für die Klassifikation bereitzustellen. Dazu werden dieselben Datenvorverarbeitungsschritte wie bei den Trainingsdaten durchgeführt. Beispielsweise erfolgt eine Skalierung und eine Bestimmung von Ein- und Ausgabedaten. Diese Bestimmung erfolgt im Beispiel während des Betriebs der Vorrichtung 104, d.h. im Betrieb des Fahrzeugs oder der industriellen Anlage.
-
Die digitalen Bilder, die möglicherweise das zu klassifizierende Objekt enthalten, werden in das trainierte künstliche neuronale Netz 300 eingegeben. Abhängig davon werden Vorhersage-Werte bestimmt. Abhängig davon wird ein Klassifikationsscore bestimmt.
-
In 4 ist schematisch eine Anordnung zur Klassifizierung des Objekts dargestellt. Wie für das Training beschrieben, wird für einen Zeitschritt i ein Spaltenvektor ei der Eingabe E an die Eingangsschicht übergeben. Danach werden im Unterschied zum Training von einer Klassifizierungseinrichtung 400 abhängig von den Vorhersage-Werten y'i eine Klassifikation des zugeführten digitalen Bildes durchgeführt.
-
Der Klassifikationsscore b für die Klassifikation des Objekts wird an die Ansteuereinrichtung 110 übergeben. Der Klassifikationsscore b für die Klassifikation des Objekts indiziert im Beispiel das Vorhandensein eines Objekts eines bestimmten Objekttyps, wenn es einen Schwellwert T überschreitet und anderenfalls, dass kein Objekt vorhanden ist. Der Schwellwert T ist vorzugsweise ein Parameter. Der Parameter wird beispielsweise mittels Maximierung eines Kriteriums, beispielsweise von Precision, Recall bestimmt. Beispielsweise wird ein Area under the Curve, AUC, oder Receiver Operating Characteristic, ROC, Kriterium benutzt.
-
Zur Durchführung der beschriebenen Verfahren sind insbesondere Instruktionen eines Computerprogramms vorgesehen, die das beschriebene Convolutional Neural Network 300 implementieren. Es kann auch eine dedizierte Hardware vorgesehen sein, in der ein trainiertes Modell abgebildet ist.
-
5 zeigt einen Vergleich der in dieser Beschreibung bereitgestellten Methode [1] mit anderen Methoden, wobei sämtliche Modelle mit dem gleichen Trainingsdatensatz trainiert wurden. Die Methode „Deep Roots“ [2] wird beschrieben von Y. loannou, D. Robertson, R. Cipolla, A. Criminisi, et al.: „Deep roots: Improving cnn efficiency with hierarchical filter groups“, 2017. Die Methode „TT“ [3] wird beschrieben von T. Garipov, D. Podoprikhin, A. Novikov, und D.
-
Vetrov: „Ultimate tensorization: compressing convolutional and fc layers alike“, arXiv preprint arXiv:1611.03214, 2016. Im Vergleich zu [2] und [3] zeichnet sich das vorliegende Verfahren dadurch aus, dass selbst bei starker Minimierung der Anzahl der Gewichte im Vergleich zu [3] nur eine minimale Zunahme des Fehlers zu erwarten ist.