-
Gebiet der Erfindung
-
Die Erfindung betrifft ein Verfahren zum Trainieren eines Convolutional Neural Networks (CNNs) sowie ein Fahrzeug mit einer Rechnereinheit, die dazu ausgebildet ist, das gemäß besagtem Verfahren trainierte CNN auszuführen.
-
Hintergrund
-
Convolutional Neural Networks (CNNs) können dank vorangeschrittener Rechentechnik auf immer kompliziertere Sachverhalte mit zunehmender Komplexität angewendet werden. Häufig werden dazu vordefinierte und vortrainierte Netzwerke als Grundlage für neue Problemstellungen herangezogen. Dabei wird die zugrundeliegende Topologie vor allem durch den jeweiligen Designer des ursprünglichen Netzwerkes definiert.
-
Solange unbegrenzt Rechenzeit zur Verfügung steht, sind solche Ansätze eine gute Wahl. Jedoch sind oft bei deren Integration in ein komplexeres System (z.B. einer automatisierten Fahrfunktion bei einem Fahrzeug) Grenzen gesetzt, die durch die Begrenzung der Prozessoreinheiten des Steuergerätes oder des elektrisch/thermischen Budgets entstehen. Je kleiner daher das Netzwerk, das noch hinreichend gute Ergebnisse liefert, desto besser. Ein kleineres Netzwerk reduziert zudem auch die Gefahr des Overfittings, also dem auswendig lernen einer oft viel zu kleinen Trainingsbeispielmenge.
-
Um Netzwerke zu verkleinern gibt es verschiedene Pruning Strategien, die aber meist zu einer Verschlechterung der Netzwerkperformance führen.
-
Eine Alternative hierzu bildet ein selbst-organisierendes Training von CNNs.
-
Beispielsweise analysiert ein inkrementelles Verfahren vor allem den Netzwerkfehler, der oft ein Abstandsmaß basierend auf einer gewählten Norm ist, um geeignete Stellen im Netzwerk für neue Ressourcen zu identifizieren. Oft wird dann nur ein einzelnes Neuron in den größten Fehler-HotSpot generiert. Dies ermöglicht automatisch, dass das Netzwerk schnell eine gute Performance erreicht bzw. entlang des Lernfortschritts der Zeitpunkt gewählt werden kann, der die minimalen Güteanforderungen erfüllt. In CNNs dauert es jedoch sehr lange, bis dieses Verfahren zu einem trainierten CNN führt.
-
Zusammenfassung
-
Es ist daher die Aufgabe der Erfindung, ein verbessertes, insbesondere ein beschleunigtes, Verfahren zum Trainieren eines Convolutional Neural Networks (CNNs) bereitzustellen. Es ist ferner die Aufgabe der Erfindung, ein Fahrzeug mit einer Rechnereinheit bereitzustellen, wobei die Rechnereinheit ein derart trainiertes CNN ausführt. Diese Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen und der folgenden Beschreibung.
-
Ein Aspekt der Erfindung betrifft ein Verfahren zum Trainieren eines Convolutional Neural Networks (CNNs). Unter CNN wird dabei insbesondere ein künstliches neuronales Netz verstanden, das insbesondere zumindest je eine Faltungsschicht und Poolingschicht aufweist.
-
Das Verfahren umfasst das Bereitstellen eines Trainingsdatensatzes für das CNN. Der Trainingsdatensatz umfasst eine Vielzahl an Eingabedaten und den Eingabedaten zugehörigen Ausgabedaten. Die Ausgabedaten sind dabei beispielsweise manuell als gewünschte Ausgaben zu den jeweiligen Eingabedaten erzeugt worden.
-
Des Weiteren wird ein Anfangs-CNN bereitgestellt. Das Anfangs-CNN umfasst dabei mindestens eine Eingabeschicht und eine Ausgabeschicht.
-
Es werden nun iterativ die folgenden Trainingsschritte durchgeführt. Dabei wird das Anfangs-CNN als CNN einer ersten Stufe genommen. Auf diesem CNN der ersten Stufe werden zumindest zwei verschiedene Modifikationen durchgeführt, so dass zumindest zwei Kandidaten-CNNs der zweiten Stufe erhalten werden, wobei jedes der Kandidaten-CNNs durch eine der Modifikationen aus dem CNN der ersten Stufe entstanden ist.
-
Für jedes der so erhaltenen Kandidaten-CNNs werden nun die Netzwerkgewichte mittels des Trainingsdatensatzes gelernt. Dazu kann der Trainingsdatensatz in zwei Teile aufgeteilt werden, nämlich einen Lerndatensatz und einen Testdatensatz. Die Eingabedaten des Lerndatensatzes werden dazu der Eingabeschicht des Kandidaten-CNNs zugeführt und, wenn das Kandidaten-CNN aus den Eingabedaten Ausgaben erzeugt hat, werden diese mit den Ausgabedaten des Lerndatensatzes verglichen. Aufgrund dieses Vergleichs werden dann die Netzwerkgewichte des Kandidaten-CNNs angepasst. Dies kann beispielsweise durch Gradienten-Abstiegsverfahren aber auch durch Gradienten-Aufstiegsverfahren erfolgen. Mittels des Testdatensatzes wird zudem der Lernfortschritt des Kandidaten-CNNs überwacht und ein Ende des Lernens bestimmt, beispielsweise, wenn die Verbesserung nur noch sehr gering ist oder wenn sogar mit fortschreitendem Lernen eine Verschlechterung eintritt, was ein Zeichen für beginnendes Overfitting ist.
-
Die so erhaltenen Kandidaten-CNNs werden sodann hinsichtlich ihrer Güte bewertet. Dabei wird dann das Kandidaten-CNN mit der besten Bewertung als CNN der zweiten Stufe ausgewählt.
-
Es wird nun iterativ weiter verfahren, wobei jeweils aus dem CNN der n-ten Stufe durch Modifikationen Kandidaten-CNNs der (n+1)-ten Stufe erstellt werden, die Netzwerkgewichte gelernt werden, eine Bewertung erstellt wird und das Kandidaten-CNN der (n+1)-ten Stufe mit der besten Bewertung als CNN der (n+1)-ten Stufe verwendet wird. Hierbei ist n eine natürliche Zahl größer oder gleich eins.
-
Nach jeder Iteration wird auch eine Abbruchsbedingung geprüft und, falls diese Abbruchsbedingung erfüllt ist, wird das iterative Verfahren abgebrochen. Der Wert für n+1, bei dem das iterative Verfahren abgebrochen wird, wird mit N bezeichnet.
-
Aus den CNNs der j-ten Stufe, wobei j eine natürliche Zahl größer oder gleich 1 und kleiner oder gleich N ist, wird nun das mit der besten Bewertung ausgewählt, als trainiertes CNN bezeichnet und ausgegeben.
-
Mit anderen Worten werden die Netzwerkgewichte für verschiedene CNNs, die jeweils unterschiedlich modifiziert wurden, unabhängig voneinander gelernt. Es wird dann das CNN übernommen und als Ausgangspunkt für die nächste Iteration verwendet, das die beste Bewertung erhält.
-
Das wie oben beschriebene, durch inkrementelle Modifikationen erhaltene trainierte CNN ist ein kleines CNN, das gerade so groß ist, wie es der Trainingsdatensatz verlangt. Es eignet sich daher insbesondere für kleinere Recheneinheiten. Des Weiteren wird dadurch, dass das trainierte CNN vergleichsweise klein ist, die Gefahr des Overfittings reduziert.
-
In einigen Ausführungsformen weist das Anfangs-CNN eine minimale Struktur zwischen der Eingabeschicht und der Ausgabeschicht auf. Aufbauend auf dieser minimalen Struktur wird dann das CNN durch die Modifikationen vergrößert. Durch das inkrementelle Training des CNNs entstehen viele Zwischenstufen der finalen Ausprägung, dies hilft vor allem bei der Auswahl des geeigneten Netzwerkes für ein vorgegebenes Budget an Rechenoperationen.
-
In einigen Ausführungsformen weist die minimale Struktur keine oder nur eine Netzwerkschicht zwischen der Eingabeschicht und der Ausgabeschicht auf. Zu den Modifikationen zählen in diesem Fall also insbesondere Hinzufügungen von Netzwerkschichten.
-
In einigen Ausführungsformen weist die minimale Struktur eine vorgegebene Anzahl an Netzwerkschichten zwischen der Eingabeschicht und der Ausgabeschicht auf. Diese vorgegebene Anzahl an Netzwerkschichten stellt so eine gewisse Grundstruktur bereit, insbesondere welche Operationen in den Schichten stattfinden können. Dies dient als eine grobe Orientierung für das inkrementelle Lernverfahren, an welchen Stellen des Netzwerkes Modifikationen durchgeführt werden können. Die Netzwerkschichten zwischen der Eingabeschicht und der Ausgabeschicht weisen dabei insbesondere eine geringe Anzahl an Neuronen auf. Unter einer geringen Anzahl an Neuronen wird dabei zumindest ein Neuron pro Netzwerkschicht verstanden, die Anzahl der Neuronen pro Netzwerkschicht kann aber auch ungefähr der Anzahl an Neuronen in der Ausgabeschicht entsprechen.
-
In einigen Ausführungsformen umfassen die Modifikationen grobe Modifikationen, wobei die groben Modifikationen das Hinzufügen von großen Blöcken an Neuronen umfassen.
-
In einer Ausführungsform orientiert sich eine grobe Modifikation anhand der ursprünglichen CNN Netzwerktopologie. Vor allem in Hinsicht auf der maximalen Anzahl an möglichen Faltungsschichten, aber auch an sinnvollen Gruppierungen von Netzwerkblöcken.
-
Alternativ, oder zusätzlich, dazu umfassen die Modifikationen mittelfeine Modifikationen, die das Verändern der Dimensionierung der einzelnen großen Blöcke, das Verändern von Transferfunktionen und/oder das Verändern von Poolingoperationen umfassen. Durch diese mittelfeinen Modifikationen werden also die einzelnen Blöcke verfeinert. Als Beispiele für Transferfunktionen seien lineare Funktionen, Sigmoid-Funktionen, tangens hyperbolicus-Funktionen, Gaußsche Funktionen, Heaviside-Funktionen und Rampenfunktionen genannt.
-
Alternativ, oder zusätzlich, dazu umfassen die Modifikationen feine Modifikationen, die das Hinzufügen und/oder Entfernen von wenigen Neuronen, insbesondere von einzelnen Neuronen umfassen. Mit wenigen Neuronen ist dabei eine Anzahl an Neuronen gemeint, die deutlich geringer, also beispielsweise einen Faktor 10 geringer, als die Anzahl der Neuronen in einem großen Block ist.
-
In einigen Ausführungsformen werden die großen Blöcke zu einer oder mehreren bestehenden Netzwerkschichten hinzugefügt. Dies ist insbesondere dann von Vorteil, wenn die minimale Struktur viele Netzwerkschichten mit einer geringen Anzahl an Neuronen aufweist, da diese Netzwerkschichten durch das Hinzufügen der großen Blöcke vergrößert werden. Sofern die großen Blöcke bei einer Modifikation zu mehr als einer bestehenden Netzwerkschicht hinzugefügt werden, dann sind diese mehreren Netzwerkschichten vorzugsweise benachbarte Netzwerkschichten, beispielsweise eine Faltungsschicht und eine Poolingschicht.
-
In einigen Ausführungsformen sind die großen Blöcke zumindest eine Netzwerkschicht. Es wird dem CNN bei der Modifikation also zumindest eine ganze Netzwerkschicht hinzugefügt. Vorzugsweise werden dem CNN gleich eine Faltungsschicht und eine benachbarte Poolingschicht hinzugefügt. Das Hinzufügen einer Poolingschicht ist dabei besonders vorteilhaft, da eine Poolingschicht einen guten Kompromiss zwischen schneller Konvergenz der Datenmenge, das heißt, Datenkompression, und der Weitergabe essenzieller Informationen darstellt.
-
In einigen Ausführungsformen wird der Ort, an dem die großen Blöcke hinzugefügt werden, zufällig ausgewählt, es handelt sich hier also um eine zufallsbasierte Auswahlstrategie. Insbesondere, wenn das CNN noch eine geringe Anzahl an Netzwerkschichten aufweist, ist diese Auswahlstrategie von Vorteil, da sie viele Möglichkeiten erprobt ohne einem Schema folgen zu müssen. Bei einem schon großen CNN mit vielen Netzwerkschichten hingegen, kann die zufallsbasierte Auswahlstrategie zu langsam zu einem konvergierenden Ergebnis führen und/oder eine zu große Anzahl an parallelen Kandidaten-CNNs beanspruchen.
-
Alternativ, oder zusätzlich, können Veränderungen der Netzwerkgewichte beim Lernen des CNNs der vorhergehenden Stufe analysiert werden. Insbesondere eine hohe Amplitude der durch ein geändertes Netzwerkgewicht hervorgerufenen Veränderungen deutet auf eine vielversprechende Stelle hin, so dass die großen Blöcke vorzugsweise in der Nähe der Netzwerkschichten, die diese hohen Amplituden verursachen, hinzugefügt werden.
-
Alternativ, oder zusätzlich, kann der Ort des Hinzufügens ausgehend von der Eingabeschicht und der Ausgabeschicht hin zur Mitte des CNNs erfolgen. Es wird also mit fortschreitenden Iterationen von den Netzwerkgrenzen zur Mitte des Netzwerkes hin vorgegangen.
-
In einigen Ausführungsformen werden die groben Modifikationen vor den mittelfeinen und/oder feinen Modifikationen und/oder die mittelfeinen Modifikationen vor den feinen Modifikationen durchgeführt. Insbesondere werden also zunächst die groben Modifikationen, dann die mittelfeinen Modifikationen und zuletzt die feinen Modifikationen durchgeführt. Die Kriterien, wann von einer Art der Modifikation zur nächsten Art der Modifikation gewechselt wird, können dabei beispielsweise dadurch festgelegt werden, dass eine vorgegebene Schwelle eines Maßes des Netzwerkfehlers unterschritten wird, oder dass eine Veränderung des Maßes des Netzwerkfehlers eine weitere vorgegebene Schwelle unterschreitet.
-
In einigen Ausführungsformen werden beim Lernen der Netzwerkgewichte alle Netzwerkgewichte verändert. In jedem iterativen Zyklus sind also alle Netzwerkgewichte plastisch, also auch Netzwerkteile früherer Iterationen können noch verändert werden. Mit fortschreitender Größe des CNNs führt dies jedoch zu einer langen Dauer des Trainings.
-
Alternativ, oder zusätzlich, können die Netzwerkgewichte in Abhängigkeit von der Iteration, bei der die Neuronen dem Netzwerk hinzugefügt wurden, verändert werden. Dabei werden die Netzwerkgewichte von neu hinzugefügten Neuronen stärker verändert werden als die Netzwerkgewichte von früher hinzugefügten Neuronen. Das heißt, dass die Lernrate mit steigendem Alter des jeweiligen inkrementell gelernten Blocks immer weiter sinkt. Somit können neue Informationen im Netzwerk abgelegt werden, ohne bereits gelerntes Wissen auszulöschen. Dies ermöglicht weiterhin ein Nachtrainieren von großen CNNs, eine schnelle Prototypengenerierung sowie kontinuierliches Trainieren.
-
Alternativ, oder zusätzlich, können nur die Netzwerkgewichte, deren Neuronen in der letzten Iteration dem Netzwerk hinzugefügt wurden, verändert werden. Auch hier wird bereits gelerntes Wissen beibehalten.
-
Es ist denkbar, dass die zuvor genannten Varianten zum Lernen der Netzwerkgewichte in unterschiedlichen Phasen des iterativen Verfahrens auftreten: während am Anfang noch alle Netzwerkgewichte verändert werden, werden zu einem späteren Zeitpunkt im iterativen Verfahren die Netzwerkgewichte in Abhängigkeit von der Iteration, bei der die Neuronen dem Netzwerk hinzugefügt wurden, verändert, oder nur noch die Netzwerkgewichte verändert, deren Neuronen in der letzten Iteration hinzugefügt wurden.
-
In einigen Ausführungsformen ist die Bewertung ein Maß eines Netzwerkfehlers. Beispielsweise kann die Bewertung als Summe der quadratischen Abweichungen der vom CNN erzeugten Ausgabe und der Ausgabedaten des Trainingsdatensatzes definiert werden. Alternativ dazu kann die Bewertung ein Maß eines Performancegewinns sein, beispielsweise eine Kombination aus dem Maß des Netzwerkfehlers und der dafür benötigten Rechenleistung.
-
In einigen Ausführungsformen ist die Abbruchsbedingung ein Unterschreiten der Veränderung eines Maßes eines Netzwerkfehlers von der vorherigen Iteration zur aktuellen Iteration unter eine vordefinierte erste Schwelle. Das heißt, das iterative Verfahren wird abgebrochen, wenn sich die vom CNN gelieferten Ergebnisse nicht mehr oder nur noch kaum verbessern. Alternativ ist die Abbruchsbedingung ein Unterschreiten des Maßes des Netzwerkfehlers unter eine vordefinierte zweite Schwelle. Das heißt, das iterative Verfahren wird abgebrochen, wenn eine gewünschte Netzwerkleistung erreicht ist.
-
In einigen Ausführungsformen sind die Eingabedaten Sensordaten, insbesondere von Sensoren eines Fahrzeugs, und insbesondere die Ausgabedaten Klassifikationen der Eingabedaten. Das heißt, dass das CNN eine direkte Sensorauswertung bietet. Zu den Sensoren, die die Sensordaten liefern, können beispielsweise Kameras, Stereokameras, Infrarotkameras, Radar und/oder Lidar zählen. Die Klassifikationen der Eingabedaten sind dann beispielsweise bestimmte Objekte und/oder Objektgruppen, die mit Hilfe der Sensordaten erkannt werden können.
-
In einigen Ausführungsformen werden aktuelle Sensordaten eines Fahrzeugs mittels des trainierten CNNs ausgewertet und die Ergebnisse dieser Auswertung in einem Fahrerassistenzsystem und/oder in einem autonomen Fahrsystem verwendet. Dadurch, dass das trainierte CNN klein ist und wenig Rechenleistung beansprucht, kann es auch leicht vom Steuergerät des Fahrzeugs ausgeführt werden und dabei trotzdem eine gute Leistung bringen.
-
Ein weiterer Aspekt der Erfindung betrifft ein Fahrzeug, umfassend zumindest einen Sensor, ein Fahrerassistenzsystem und/oder ein autonomes Fahrsystem sowie eine Rechnereinheit, die dazu ausgebildet ist, ein gemäß der obigen Beschreibung trainiertes CNN auszuführen. Die Vorteile dieses Fahrzeugs ergeben sich aus den in der obigen Beschreibung genannten Vorteilen.
-
Zur weiteren Verdeutlichung wird die Erfindung anhand von in den Figuren abgebildeten Ausführungsformen beschrieben. Diese Ausführungsformen sind nur als Beispiel, nicht aber als Einschränkung zu verstehen.
-
Kurze Beschreibung der Figuren
-
Dabei zeigt:
- 1 einen Flowchart eines Ausführungsbeispiels eines Verfahrens zum Trainieren eines Convolutional Neural Networks;
- 2a eine schematische Darstellung eines CNNs einer ersten Stufe;
- 2b - 2d schematische Darstellungen von Kandidaten-CNNs;
- 3a eine schematische Darstellung eines CNNs einer n-ten Stufe; und
- 3b - 3d schematische Darstellungen von Kandidaten-CNNs.
-
Detaillierte Beschreibung von Ausführungsformen
-
1 zeigt ein Ausführungsbeispiel eines Verfahrens 1 zum Trainieren eines Convolutional Neural Networks (CNNs).
-
Zunächst wird ein Trainingsdatensatz 2 für das CNN bereitgestellt, der eine Vielzahl an Eingabedaten und den Eingabedaten zugehörigen Ausgabedaten umfasst.
-
Des Weiteren wird ein Anfangs-CNN 3 bereitgestellt, das eine Eingabeschicht und eine Ausgabeschicht umfasst. Das Anfangs-CNN 3 wird sodann als CNN 4 einer ersten Stufe verwendet.
-
Auf dem CNN 4 der ersten Stufe werden verschiedene Modifikationen 5.1, 5.2 und 5.3 durchgeführt. Dabei sind die drei verschiedenen Modifikationen 5 hier nur exemplarisch zu verstehen. Es kann sich auch nur um zwei verschiedene Modifikationen 5 handeln, die Anzahl an verschiedenen Modifikationen 5 kann aber auch deutlich größer sein. Die so durch die Modifikationen 5 erhaltenen CNNs werden als Kandidaten-CNNs 6.1, 6.2 und 6.3 bezeichnet.
-
Bei diesen Kandidaten-CNNs 6 werden nun Netzwerkgewichte mittels des Trainingsdatensatzes 2 gelernt 7.1, 7.2 und 7.3. Sodann werden die gelernten Kandidaten-CNNs 6 mittels des Trainingsdatensatzes 2 bewertet 8.1, 8.2 und 8.3. Die Bewertung 8 ist dabei beispielsweise ein Maß eines Netzwerkfehlers oder ein Maß eines Performancegewinns.
-
Sodann wird ein Vergleich 9 der Bewertungen 8.1, 8.2 und 8.3 durchgeführt. Insbesondere wird dabei das Kandidaten-CNN 6 bestimmt, das die beste Bewertung 8 erhalten hat. Die beste Bewertung 8 ist dabei beispielsweise die Bewertung 8 mit dem kleinsten Netzwerkfehler oder die Bewertung 8 mit dem größten Performancegewinn. Das so ausgewählte Kandidaten-CNN 6 wird dann zusammen mit seiner Bewertung 8 zur Prüfung 10 übergeben.
-
Bei der Prüfung 10 wird zunächst geprüft, ob eine Abbruchsbedingung erfüllt ist. Eine solche Abbruchsbedingung ist beispielsweise ein Unterschreiten einer Veränderung des Maßes des Netzwerkfehlers unter eine vordefinierte erste Schwelle. Alternativ dazu kann die Abbruchsbedingung ein Unterschreiten des Maßes des Netzwerkfehlers unter eine vordefinierte zweite Schwelle sein.
-
Ist die Abbruchsbedingung nicht erfüllt, wird eine weitere Iteration des Verfahrens 1 durchgeführt, indem das ausgewählte Kandidaten-CNN 6 als CNN 4 der nächsten Stufe verwendet wird. Ist hingegen die Abbruchsbedingung erfüllt, wird das ausgewählte Kandidaten-CNN 6 als trainiertes CNN 11 ausgegeben.
-
Mit dem hier vorgestellten Verfahren 1 lassen sich kleine trainierte CNNs 11 erzeugen, die wenig Rechenleistung benötigen und trotzdem gute Ergebnisse liefern.
-
2a zeigt eine schematische Darstellung eines CNNs 4 einer ersten Stufe. Dieses CNN 4 weist eine Eingabeschicht 12, eine Ausgabeschicht 13 sowie mehrere Netzwerkschichten 14.1, 14.2 und 14.3 zwischen der Eingabeschicht 12 und der Ausgabeschicht 13 auf. Die Eingabeschicht 12, Ausgabeschicht 13 und die Netzwerkschichten 14 umfassen dabei eine Mehrzahl an Neuronen, die der Übersichtlichkeit halber nicht mit einem extra Bezugszeichen versehen sind. Des Weiteren sind die Verbindungen von den Neuronen einer Schicht zu den Neuronen der folgenden Schicht dargestellt. Es versteht sich, dass es sich hier nur um eine schematische Darstellung handelt und dass in einem echten CNN 4 die Anzahl der Neuronen pro Schicht 12, 13, 14 größer sein wird, die unterschiedlichen Schichten 12, 13, 14 unterschiedliche Anzahlen von Neuronen aufweisen können und auch eine andere Anzahl an Netzwerkschichten 14 vorhanden sein kann.
-
2b zeigt eine schematische Darstellung eines Kandidaten-CNNs 6.1, das durch Hinzufügen eines Blocks an Neuronen zur Netzwerkschicht 14.1 entstanden ist.
-
Ebenso zeigen 2c und 2d schematische Darstellungen von Kandidaten-CNNs 6.2 und 6.3, die durch Hinzufügen eines Blocks an Neuronen zur Netzwerkschicht 14.2 bzw. 14.3 entstanden sind.
-
Im weiteren Verfahren 1 werden, wie oben beschrieben, die Netzwerkgewichte der Kandidaten-CNNs 6.1, 6.2 und 6.3 gelernt und die so erhaltenen Kandidaten-CNNs 6 bewertet. Das Kandidaten-CNN 6 mit der besten Bewertung wird dann als CNN 4 der nächsten Stufe übernommen.
-
3a zeigt eine schematische Darstellung eines CNNs 4 einer n-ten Stufe. Dieses CNN 4 weist eine Eingabeschicht 12, eine Ausgabeschicht 13 sowie mehrere Netzwerkschichten 14.1 und 14.2 zwischen der Eingabeschicht 12 und der Ausgabeschicht 13 auf. Auf die Darstellung der einzelnen Neuronen sowie die Verbindungen der einzelnen Neuronen zueinander wurde aus Gründen der Übersichtlichkeit verzichtet.
-
3b zeigt eine schematische Darstellung eines Kandidaten-CNNs 6.1, das durch Hinzufügen einer weiteren Netzwerkschicht 14.3 zwischen der Eingabeschicht 12 und der ersten Netzwerkschicht 14.1 entstanden ist. Dabei wäre es auch möglich, bei einer Modifikation mehr als eine Netzwerkschicht einzufügen, beispielsweise eine Faltungsschicht und eine Poolingschicht.
-
Ebenso zeigen 3c und 3d schematische Darstellungen von Kandidaten-CNNs 6.2 und 6.3, die durch Hinzufügen eines weiteren Netzwerkschicht 14.3 zwischen der ersten Netzwerkschicht 14.1 und der zweiten Netzwerkschicht 14.2 bzw. zwischen der zweiten Netzwerkschicht 14.2 und der Ausgabeschicht 13 entstanden sind.
-
Im weiteren Verfahren 1 werden, wie oben beschrieben, die Netzwerkgewichte der Kandidaten-CNNs 6.1, 6.2 und 6.3 gelernt und die so erhaltenen Kandidaten-CNNs 6 bewertet. Das Kandidaten-CNN 6 mit der besten Bewertung wird dann als CNN 4 der nächsten Stufe übernommen.
-
Bezugszeichenliste
-
- 1
- Verfahren
- 2
- Trainingsdatensatz
- 3
- Anfangs-CNN
- 4
- CNN
- 5
- Modifikationen
- 6
- Kandidaten-CNNs
- 7
- Lernen
- 8
- Bewertung
- 9
- Vergleich
- 10
- Prüfung
- 11
- trainiertes CNN
- 12
- Eingabeschicht
- 13
- Ausgabeschicht
- 14
- Netzwerkschicht