-
Die Erfindung betrifft ein Verfahren zum Trainieren eines neuronalen Netzes mit einer Faltungsschicht und der Bestimmung eines Faltungs-Regularisierungs-Wertes.
-
Stand der Technik
-
Für die Steuerung zumindest teilweise automatisierter Systeme, wie z.B. selbstfahrende Fahrzeuge oder Roboter als Beispiele für mobile Plattformen, werden Deep-Learning-Methoden entwickelt bei denen oftmals neuronale Netze eingesetzt werden.
Neuronale Netze haben bei verschiedenen praktischen Aufgaben wie beispielsweise der Spracherkennung, maschinellen Übersetzungen, Bildklassifikationen, Bildsegmentierungen, beim Videospiele spielen, beim Brettspiele spielen oder bei der Vorhersage von Proteinbindungen eine überlegene Leistung gezeigt.
Ein wesentlicher Bestandteil solcher, zumindest teilweise automatisierter Systeme ist ihre Fähigkeit, komplexe Situationen in Bezug auf ihre Umgebung wahrzunehmen, sodass viele der oben genannten Beispiele für diese Aufgabe adaptiert werden können.
-
Voraussetzung für den sicheren und effektiven Betrieb eines solchen, zumindest teilweise automatisierten Systems ist beispielsweise eine Interpretation der Umgebung einer mobilen Plattform für z. B. Entscheidungsprozesse wie Trajektorienplanung und -steuerung der mobilen Plattform. Solche Aufgaben werden zunehmend mit maschinellen Lernverfahren wie beispielsweise neuronalen Netzen gelöst.
Aufgabe eines maschinellen Lernverfahrens ist es, mit Hilfe von Trainingsdaten eine Funktion zu lernen, die diese Trainingsdaten möglichst gut erfasst. Hierbei wird die Güte der gelernten Funktion mit einer Kostenfunktion bewertet.
-
Beim Trainieren eines solchen maschinellen Lernverfahrenes hat es sich als vorteilhaft erwiesen, die Gewichte zu regularisieren. Das bedeutet, dass der Kostenfunktion ein weiterer Regularisierungs-Term additiv hinzugefügt wird.
-
Offenbarung der Erfindung
-
Das Addieren eines weiteren Regularisierungsterms zur Kostenfunktion führt im Falle eines Klassifikationsproblems dazu, das die Summe aus der Verlustfunktion und dem Regularisierungsterm beim Training eines neuronalen Netzes minimiert werden muss. Beispiele für Regularisierungsterme sind die sogenannte L1- oder L2- Regularisierung
Man kann typische Feed-Forward neuronale Netze als eine Abfolge von Blöcken auffassen, welche jeweils aus linearen Operationen und einer nachfolgenden Nichtlinearität bestehen. Ein solcher linearer Block kann mit einer Matrix beschrieben werden. Bei Konvolutionsnetzen, also neuronalen Faltungsnetzen, werden die linearen Abbildungen durch Gewichte mit einer gewissen Anzahl von Indizes parametrisiert.
-
Eine L1-Regularisierung summiert die Absolutbeträge der Elemente der Matrizen, die L2-Regularisierung quadriert die Absolutbeträge der Elemente der Matrizen vor der Summenbildung. So wird mit dem Regularisierungsterm die Größe der Funktionenklasse gesteuert. Hierbei balanciert ein Regularisierungsfaktor die Menge der möglichen Funktionen zur Aufgabenstellung des neuronalen Netzes.
-
Bei den bisher bekannten Regularisierungstermen wird die „convolutional“- bzw. Faltungs-Struktur des neuronalen Netzes nicht berücksichtigt. Typischerweise werden die Gewichte der Schichten und nicht die lineare Abbildung der neuronalen Faltungsnetze regularisiert.
-
Erfindungsgemäß wird ein Verfahren, eine Verwendung, ein neuronales Netz, eine Vorrichtung sowie ein Computerprogrammprodukt und ein computerlesbares Speichermedium gemäß den Merkmalen der unabhängigen Ansprüche angegeben, welche zumindest zum Teil die genannten Wirkungen aufweisten. Vorteilhafte Ausgestaltungen sind Gegenstand der abhängigen Ansprüche sowie der nachfolgenden Beschreibung.
-
Die Erfindung beruht auf der Erkenntnis, dass ein Regularisierungsterm die Faltungs-Struktur des neuronalen Netzes berücksichtigen sollte, sodass die lineare Abbildung der Faltungsschicht regularisiert wird. Die Erfindung führt einen neuen Regularisierungsterm ein, der die Konvolutionsstruktur bzw. Faltungsstruktur des neuronalen Netzes berücksichtigt.
-
Gemäß einem Aspekt der Erfindung wird ein Verfahren zum Trainieren eines neuronalen Netzes mit einer Vielzahl von Trainingsdurchläufen angegeben, wobei das neuronale Netz mindestens eine Faltungsschicht aufweist, und wobei in mindestens einem Trainingsdurchlauf mittels der Faltungsschicht mindestens eine Faltung durchgeführt wird.
In einem Schritt des Verfahrens wird eine Mehrzahl von Eingangs-Merkmalskarten vom Ausgang einer vorangehenden Schicht des neuronalen Netzes bereitgestellt.
-
In einem weiteren Schritt wird mindestens eine Ausgangs-Merkmalskarte der Faltungsschicht mittels einer Mehrzahl von Faltungskernen und der Mehrzahl von Eingangs-Merkmalskarten gebildet, wobei jeder Kombination aus einer der Eingangs-Merkmalskarten und jeder der mindestens einen Ausgangs-Merkmalskarte ein Faltungskern zugeordnet ist, und jeder der Faltungskerne eine Mehrzahl von Faltungs-Gewichten aufweist.
-
In einem weiteren Schritt wird eine Mehrzahl von Faltungskern-Normen für alle Kombinationen aus den Eingangs-Merkmalskarten und den Ausgangs-Merkmalskarten bestimmt, wobei eine Faltungskern-Norm aus den Absolutbeträgen der Faltungs-Gewichte der Faltungskerne gebildet wird.
-
In einem weiteren Schritt wird eine Mehrzahl von Eingangs-Normen für alle Ausgangs-Merkmalskarten bestimmt, wobei eine Eingangs-Norm aus den Faltungskern-Normen aller Eingangs-Merkmalskarten gebildet wird, und sich die Definition der Faltungskern-Norm von der Definition der Eingangs-Norm unterscheidet. In einem weiteren Schritt wird eine Faltungs-Norm aus den Eingangs-Normen aller Ausgangs-Merkmalskarten, zur Bestimmung eines Faltungsregularisierungs-Wertes für einen weiteren Trainingsdurchlauf bestimmt.
-
Ein neuronales Netzwerk stellt einen Rahmen für viele verschiedene Algorithmen beispielsweise zum maschinellen Lernen, zum Zusammenarbeiten und für die Verarbeitung komplexer Dateneingaben zur Verfügung. Solche neuronalen Netzwerke lernen Aufgaben anhand von Beispielen auszuführen, ohne typischerweise mit aufgabenspezifischen Regeln programmiert worden zu sein.
-
Ein solches neuronales Netz basiert auf einer Sammlung verbundener Einheiten oder Knoten, die als künstliche Neurone bezeichnet werden. Jede Verbindung kann ein Signal von einem künstlichen Neuron zu einem anderen übertragen. Ein künstliches Neuron, das ein Signal empfängt, kann es verarbeiten und dann weitere damit verbundene künstliche Neuronen aktivieren.
-
Bei herkömmlichen Implementierungen von neuronalen Netzen ist das Signal an einer Verbindung künstlicher Neuronen eine reelle Zahl, und der Ausgang eines künstlichen Neurons wird durch eine nichtlineare Funktion der Summe seiner Eingänge berechnet. Die Verbindungen der künstlichen Neurone haben typischerweise ein Gewicht, das sich mit fortschreitendem Lernen anpasst. Das Gewicht erhöht oder verringert die Stärke des Signals an einer Verbindung. Künstliche Neuronen können eine Schwelle aufweisen, so dass ein Signal nur dann ausgegeben wird, wenn das Gesamtsignal diese Schwelle überschreitet.
-
Typischerweise wird eine Vielzahl von künstlichen Neuronen in Schichten zusammengefasst. Unterschiedliche Schichten führen möglicherweise unterschiedliche Arten von Transformationen für ihre Eingaben durch. Signale wandern von der ersten Schicht, der Eingabeschicht, zur letzten Schicht, der Ausgabeschicht, möglicherweise nach mehrmaligem Durchlaufen der Schichten.
-
Ergänzend zu den Ausführungen eines neuronalen Netzes besteht der Aufbau eines künstlichen Neuronalen-Faltungs-Netzes (Convolutional Neural Network) aus einer oder mehreren Faltungs-Schichten (convolutional layer), gegebenenfalls gefolgt von einem Pooling Layer. Die Abfolge von Schichten können mit oder ohne Normalisierungs-Schichten (z.B. Batch-Normalisierung), Zero-Padding-Schichten, Dropout-Schichten und Aktivierungs-Funktionen, wie z.B. Rectified Linear Unit ReLU, sigmoid-Funktion, tanh-Funktion oder softmax-Funktion, verwendet werden.
-
Diese Einheiten können sich prinzipiell beliebig oft wiederholen, bei ausreichend Wiederholungen spricht man dann von Deep Convolutional Neural Networks. Ein solches neuronales Faltungsnetz kann eine Abfolge von Schichten aufweisen, die die Eingangsgitter auf eine niedrigere Auflösung herunter abtasten, um die gewünschten Informationen zu erhalten und die redundanten Informationen zu speichern.
-
Die Daten bzw. Signale am Eingang eines solchen neuronalen Netzes können in Koordinaten-Daten und Merkmals-Daten aufgeteilt werden, wobei den Koordinaten-Daten die Merkmals-Daten zugeordnet sind. Bei Faltungs-Operationen, die in den Faltungs-Schichten ablaufen, wird die Anzahl der Koordinaten-Daten kleiner und die Anzahl der Merkmals-Daten, die den Koordinaten-Daten zugeordnet sind, nehmen typischerweise zu. Dabei werden typischerweise die Merkmals-Daten in sogenannte Feature-Maps oder Merkmalskarten innerhalb der Schichten des neuronalen Netzes zusammengefasst.
-
Die letzte Faltungsschicht extrahiert die komplexesten Merkmale, die in mehreren Merkmalskarten (Feature-Maps) angeordnet sind und Ausgabebilder generieren, wenn Eingabebilder oder Eingangssignale am Eingang des neuronalen Netzes anliegen. Darüber hinaus behält die letzte Faltungsschicht räumliche Informationen, die in ggf. folgenden vollständig verbundenen Ebenen verloren gehen, wobei die vollständig verbundenen Ebenen für eine Klassifikation verwendet werden.
-
Unter einem „Autoencoder“ versteht man ein künstliches Neuronales Netz, welches es ermöglicht, bestimmte in den Eingabedaten enthaltene Muster zu erlernen. Autoencoder werden genutzt, um eine komprimierte oder rauschbefreite Repräsentation der Eingabe-Daten zu generieren, indem entsprechend die wesentlichen Merkmale, wie bestimmte Klassen, vom allgemeinen Untergrund extrahiert werden.
Der Autoencoder benutzt drei oder mehr Schichten:
- • Eine Eingabeschicht, wie zum Beispiel ein 2-dimensionales Bild.
- • Mehrere signifikant kleinere Schichten, die das Encoding zur Reduktion der Daten bilden.
- • Eine Ausgabeschicht, deren Dimension die der Eingabeschicht entspricht, d.h. jeder Ausgabe-Parameter in der Ausgabeschicht hat die gleiche Bedeutung wie der entsprechende Parameter in der Eingabeschicht. Autoencoder können auch Faltungsschichten aufweisen und mit dem erfindungsgemäßen Verfahren trainiert werden.
-
Ein rückgekoppeltes neuronales Netz (engl. Recurrent Neural Network, RNN) ist ein neuronales Netz, das im Gegensatz zu den Feed-Forward Netzen auch Verbindungen von Neuronen einer Schicht zu Neuronen derselben oder einer vorangegangenen Schicht besitzen. Diese Struktur eignet sich dabei besonders um zeitlich kodierte Informationen in den Daten zu entdecken.
-
Beim Training neuronaler Netzen unterscheidet man typischerweise zwischen einer Trainingsphase und einer Testphase, die auch Ausbreitungsphase genannt wird. In der Trainingsphase, die aus einer Vielzahl von Trainingsdurchläufen besteht, lernt das neuronale Netz anhand eines Trainings-Datensets. Dementsprechend werden in der Regel die Gewichte zwischen den einzelnen Neuronen modifiziert. Lernregeln geben dabei die Art und Weise an, wie das neuronale Netz diese Veränderungen vornimmt. Bei dem supervised learning (überwachtes bzw. beaufsichtigtes Lernen) wird der korrekte Output als „teaching vector“ vorgeben anhand derer die Parameter des neuronalen Netzes bzw. die Gewichte wie beispielsweise Gewichte eines Faltungs-Kerns optimiert werden.
In der Testphase werden hingegen keine Parameter oder Gewichte verändert. Stattdessen wird hier auf Grundlage der bereits modifizierten Gewichte aus der Trainingsphase untersucht, ob das Netz korrekt gelernt hat. Dazu präsentiert man dem Eingang des neuronalen Netzes Daten und prüft, welchen Output das neuronale Netz berechnet. Dabei kann mit den dem neuronalen Netz schon gezeigten Ausgangsreizen geprüft werden, ob das neuronale Netz das Trainingsmaterial erfasst hat.
Durch Präsentation neuer Reize kann man feststellen, ob das Netz generalisierend Aufgaben lost.
-
Dadurch, dass bei diesem Verfahren die Struktur einer Faltungsschicht in die Bestimmung des Faltungsregularisierungs-Wert berücksichtigt wird, kann bei der Regularisierung mittels des Faltungsregularisierungs-Wertes als zusätzlichen additiven Term zu der Kostenfunktion (engl. loss-function) eine verbesserte Generalisierung beim Training des neuronalen Faltungs-Netzes erreicht werden.
-
Die Kostenfunktion misst wie gut ein vorliegendes neuronales Netz einen gegebenen Datensatz abbildet. Beim Training eines neuronalen Netzes werden die Gewichte schrittweise so geändert, dass die Kostenfunktion minimal wird, und somit der Trainingsdatensatz (fast) vollständig durch das neuronale Netz abgebildet wird. Aufgabe des Regularisierungsterms ist es, die Anzahl der so bestimmten Lösungen die durch die Minimierung der Kostenfunktion berechnet werden zu steuern. Je höher der Regularisierungsterm ist, umso weniger Lösungen der Minimierungsaufgabe gibt es, was eine verbesserte Generalisierung erwarten lässt. Der in der Erfindung vorgeschlagene Faltungsregularisierungsterm berücksichtigt in besondere Weise die Faltungsstruktur eines neuronalen Netzes.
-
Ein mit einem solchen Verfahren trainiertes neuronales Faltungsnetz kann in einer Vielzahl von Anwendungen zu einer verbesserten Generalisierung beitragen. Beispielsweise kann ein solches neuronales Faltungsnetz für Aufgaben trainiert werden, bei denen das Eingangssignal des neuronalen Netzes eindimensional, wie beispielsweise bei Audiosignalen inklusive der Verarbeitung von Sprache oder Geräuschen, zweidimensional beispielsweise für eine Auswertung, Kategorisierung oder Bearbeitung von Bildern inklusive Scans eines LIDAR-Systems oder eines RADAR-Systems, oder bei dreidimensionalen Eingangssignalen beispielsweise für die Analyse und Kategorisierung von Magnetresonanztomographie (MRT)-Scans verwendet werden.
Für diese unterschiedlichen Anwendungen des beschriebenen Verfahrens kann das Verfahren zum Trainieren eines neuronalen Netzes mit einem Faltungsregularisierungs-Wert entsprechend angepasst werden, wie weiter unten beschrieben wird.
-
In dieser gesamten Beschreibung der Erfindung ist die Abfolge von Verfahrensschritten so dargestellt, dass das Verfahren leicht nachvollziehbar ist. Der Fachmann wird aber erkennen, dass viele der Verfahrensschritte auch in einer anderen Reihenfolge durchlaufen werden können und zu dem gleichen oder einem entsprechenden Ergebnis führen. In diesem Sinne kann die Reihenfolge der Verfahrensschritte entsprechend geändert werden. Einige Merkmale sind mit Zählwörtern versehen um die Lesbarkeit zu verbessern oder die Zuordnung eindeutiger zu machen, dies impliziert aber nicht ein Vorhandensein bestimmter anderer Merkmale.
-
Entsprechend einem Aspekt wird vorgeschlagen, dass die Eingangs- und die Ausgangs-Merkmalskarten sowohl Merkmals-Komponenten als auch Koordinaten-Komponenten aufweisen. Dabei geben die Koordinaten-Komponenten eine räumliche Dimensionalität an und die Merkmals-Komponenten tragen Informationen über die Merkmale der Eingangssignale oder der Eingangs- bzw. Ausgangs-Merkmalskarten des neuronalen Netzes an den räumlichen Positionen, die mit den Koordinaten-Komponenten beschrieben werden.
-
Entsprechend einem Aspekt wird vorgeschlagen, dass eine Eingangs-Merkmalskarte und eine Ausgangs-Merkmalskarte eine unterschiedliche Dimensionalität der Merkmals-Komponenten aufweisen.
Als ein Beispiel kann insbesondere in eine Eingangs-Merkmalskarte Werte von drei Merkmals-Komponenten wie einer Intensität von roter, grüner und blauer Farbe zugeordnet sein der als Koordinaten-Komponente Werte eines zweidimensionalen Bildes mit X- und Y-Koordinaten zugeordnet sind. Die Ausgangs-Merkmalskarte kann dann weitere Feature-Maps bzw. Merkmalskarten aufweisen, die beispielsweise Strukturen aus den Bildern der Eingangs Feature-Maps extrahieren.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass der Faltungsregulierungs-Wert bestimmt wird, indem die Faltungs-Norm mit einer Häufigkeit aller für die Berechnung der Ausgangskarten benutzten Faltungskerne, multipliziert wird.
Durch diese zusätzliche Multiplikation der Faltung-Norm mit der Häufigkeit aller für die Berechnung der Ausgangskarte benutzten Faltungskerne, wird die Struktur des neuronalen Netzes in noch detaillierterer Form berücksichtigt, um eine weiter verbesserte Generalisierung des so trainierten neuronalen Netzes zu erreichen.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass für die Bestimmung der Häufigkeit, der für die Berechnung der mindestens einen Ausgangskarte benutzten Faltungskerne, eine räumliche Größe der Eingangs-Merkmalskarte mit einer räumlichen Größe des Faltungs-Kerns verglichen wird.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass ein Gesamt-Faltungsregularisierungs-Wert für das neuronale Netz bestimmt wird, indem ein Faltungsregularisierungs-Wert für jede Schicht des neuronalen Netzes bestimmt wird, und eine Summe dieser Faltungsregularisierungs-Werte aller Schichten einer Kostenfunktion für das Training des neuronalen Netzes hinzufügt wird.
-
Dadurch kann erreicht werden, dass die Struktur aller Faltungsschichten des neuronalen Netzes bei der Berechnung des Faltungsregularisierungs-Wertes zur verbesserten Generalisierung des neuronalen Netzes berücksichtigt werden, wobei das beschriebene Verfahren bei der Anwendung auf andere Schichten des neuronalen Netzes Regularisierungs-Terme bestimmt, die einem normalen Regularisierungs-Term entsprechen.
-
Insbesondere kann das Verfahren so durchgeführt werden, dass ein Gesamt-Faltungsregularisierungs-Wert bestimmt wird, der sich aus Faltungs-regularisierungs-Werten von einzelnen ausgewählten Schichten des neuronalen Netzes zusammensetzt.
Damit ergibt sich die Möglichkeit das Training des neuronalen Netzes an spezifische Anforderungen anzupassen.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass nach mindestens einem Trainingsschritt zumindest einige Parameter und/oder Gewichte des neuronalen Netzes mittels einer Anwendung des Faltungsregularisierungs-Wertes auf eine Bestimmung der Kostenfunktion angepasst werden.
Wie schon vorher beschrieben wurde, ist die Anwendung des Faltungsregularisierungs-Wertes auf die Bestimmung der Kostenfunktion die Addition des Faltungsregularisierungs-Wertes zur normalen Kostenfunktion. Im Trainingsverlauf eines neuronalen Netzes werden mithilfe der Kostenfunktion die Parameter bzw. Faltungs-Gewichte des neuronalen Netzes angepasst.
-
Im Falle eines Klassifikationsproblems führt dies zu folgender Minimierungsaufgabe:
Wobei V als Kostenfunktion bezeichnet wird und R als Regularisierungsterm, mit einem frei wählbaren bzw. optimierbaren Parameter λ. Die Funktion f beschreibt dabei das neuronale Netz. Die Parameter x
i , y
i repräsentieren die Trainingsdaten. Da die Funktion ƒ(x
i) das neuronale Netz beschreibt, soll ƒ(x
i) gleich y
i sein. Der Unterschied zwischen ƒ(x
i) und y
i wird mit der Verlustfunktion V berechnet. In der Summe werden die Verluste aller Trainingsdaten aufsummiert.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass die Parameter und/oder Faltungs-Gewichte in jedem Trainingsdurchlauf bis zum Erfüllen eines Qualitätskriteriums angepasst werden.
-
Wenn ein gewisses Qualitätskriterium erfüllt wird, kann mit weiteren Daten überprüft werden, ob das neuronale Netz generalisiert und somit ausreichend trainiert wurde.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass das neuronale Netzwerk ein Netzwerk zum Kategorisieren von Eingangsdaten ist. Bei der Kategorisierung von Eingangsdaten mittels eines neuronalen Netzwerkes werden typischerweise für die Kategorisierung Faltungsschichten eingesetzt, sodass eine verbesserte Generalisierung mittels des Faltungsregularisierungs-Wertes die Kategorisierung mittels des neuronalen Netzwerkes verbessern kann.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass Faltungsregularisierungs-Werte in mindestens jedem zweien Trainingsschritten der Kostenfunktion hinzugefügt werden. Für eine Anpassung des Trainings an spezielle Anforderungen des neuronalen Netzes kann es vorteilhaft sein den Faltungsregularisierungs-Wert nur in jedem zweiten Trainingsschritt der Kostenfunktion hinzuzufügen.
Insbesondere kann der Faltungsregularisierungs-Wert wahlfrei in einer Vielzahl von Schritten der Kostenfunktion hinzugefügt werden, um ein neuronales Netz zu trainieren.
Dazu kann man dem Faltungsregulariserungs-Wert ein weiteres Gewicht hinzufügen, das beispielsweise abhängig von der Klassifikationsgüte in dem aktuellen Schritt seine Größe ändert. Mit einem solchen zusätzlichen Faktor kann der Faltungsregularisierungs-Wert beispielsweise auch nur in jedem zweiten Schritt oder einem anderen regelmäßigen Abstand addiert werden.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass die Faltungskern-Norm, die Eingangs-Norm und die Faltungs-Norm eine L_p-Norm ist, und der Parameter p von zumindest zwei der Normen verschiedene Werte aufweist.
Durch die Verwendung von unterschiedlichen Parametern bei der Auswahl der Normen kann der Faltungsregularisierungs-Wert die Struktur der Faltungsoperation abbilden und dadurch die Generalisierung des neuronalen Netzes verbessern.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass die Faltungskern-Norm eine L1-Norm, die Eingangs-Norm eine L2-Norm und die Faltungs-Norm eine L1-Norm ist.
-
Für diese Wahl der Normen lässt sich zeigen, dass die Struktur der Faltungsschicht verbessert berücksichtigt wird.
-
Entsprechend einem Aspekt wird vorgeschlagen, dass die vorangehende Schicht durch eine Eingangsschicht des neuronalen Netzwerkes gebildet wird.
-
Entsprechend einem Aspekt wird vorgeschlagen, dass eine Dimension der Koordinaten-Komponenten der Eingangs-Merkmalskarten des neuronalen Netzes eins, zwei oder drei beträgt.
Dabei können eindimensionale Eingangsdaten einem Audiosignal entsprechen, zweidimensionale Eingangsdaten Bildern entsprechen und dreidimensionale Eingangsdaten können geeignet sein Magnetresonanz Tomographie (MRT)-Scans abzubilden.
-
Entsprechend einem Aspekt wird vorgeschlagen, dass das neuronale Netz ein Feed-Forward-Netzwerk, ein rekurrentes Netzwerk, ein neuronales-Faltungs-Netzwerk, ein Autoencoder-Netzwerk, ein mehrschichtiges Netzwerk oder ein Encoder-Decoder Netzwerk ist.
Das Verfahren kann also vorteilhafterweise auf eine Vielzahl von Typen von neuronalen Netzen angewendet werden.
-
Entsprechend einem Aspekt wird vorgeschlagen, dass eine nachfolgende Netzwerk-Schicht eine Pooling-Schicht, oder eine Nichtlineariät ist.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass der Faltungsregularisierungs-Wert, für ein zweidimensionale Eingangs-Daten des neuronalen Netzes durch den in Formel 1 beschriebenen Zusammenhang bestimmt wird:
wobei die Variablen des Faltungsregularisierungs-Wertes ||A||: α
1,α
2 eine Größe der Eingangskarte mit einer ersten und einer zweiten Dimension angeben; k, l die Indizes des Kernels sind, die bis κ bzw. l laufen und somit die Größe des Kerns in zwei Dimensionen angeben; i und j die Indizes der Ausgangs- bzw. der Eingangs-Merkmalskarten sind, die bis γ bzw. η laufen. Weiterhin sind g
ijkl die Gewichte der Faltungskerne und p und q kennzeichnen die unterschiedlichen Normen.
-
Ein feed-forward neuronales Netz kann als Verkettung von linearen Operationen A und elementweisen Nichtlinearitäten aufgefasst werden.
Eine andere Schreibweise dafür ist:
-
Die folgenden Parameter sind für jede Schicht definiert. Eine Schicht erhält als Eingangssignal η Features und gibt γ Features aus. Der Räumliche Anteil einer Schicht wird durch α1 × α2 × ... × αD Variablen beschrieben. Für ein akustisches Signal ist beispielsweise D = 1 für ein Bild etwa D = 2.
-
Die linearen Operationen A
k des Konvolutionsnetzes können nun als Summe von Kroneckerprodukten geschrieben werden. Für ein zweidimensionales Signal gilt etwa:
-
Hierbei sind g
ijkl die Gewichte der Schicht. Um die Matrizen zu definieren muss noch eine Hilfsmatrix eingeführt werden:
-
Hierbei besteht die Matrix aus einem Nullerblock (mit i Spalten), der (a - κ + 1) × (α - κ + 1)-Einheitsmatrix und wieder einem Nullerblock (mit κ-l + 1-Spalten). Damit sind die Matrizen gegeben durch:
-
Aus den Gewichten g
ijkl des neuronalen Netzes wird folgende Funktion für jede Schicht berechnet:
-
Dieser Term wird für den linearen Operator A
k jeder Schicht bestimmt und aufsummiert und als Regulariserungsterm der Kostenfunktion hinzugefügt. Damit wird das Netzwert mit folgender Kostenfunktion trainiert:
Typischerweise wählt man p = 2 und q = 1.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass der Faltungsregularisierungs-Wert ||A|| , für D-dimensionale Eingangs-Daten des neuronalen Netzes, durch den in Formel 2 beschriebenen Zusammenhang bestimmt wird:
-
Wird ein höherer Stride, Dilation oder Padding im neuronalen Netz benutzt, ändern sich die Häufigkeiten mit der das jeweilige Faltungs-Gewicht benutzt wird und der Vorfaktor (α1 - k1 + 1) ... (αD - kD + 1) muss entsprechend angepasst werden.
-
Um die Vorfaktoren anzupassen, wird gezählt wie oft das Gewicht während der Faltung in einer Multiplikation „benutzt“ wird. Das heißt bei einer Stride 2 Faltung halbieren sich die Vorfaktoren
-
Es wird ein neuronales Netz angegeben, das entsprechend einem der vorher beschriebenen Verfahren trainiert wurde. Dies ist insbesondere ein neuronales Faltung-Netz, da der beschriebene Faltungsregularisierungs-Wert die Struktur von Faltungsschichten berücksichtigt die insbesondere in neuronalen Faltungsnetzes enthalten sind.
-
Es wird eine Verwendung eines neuronalen Netzes zur Klassifizierung oder Detektion von Signalen angegeben, das entsprechend einem der vorher beschriebenen Verfahren trainiert wurde.
Insbesondere kann ein so trainiertes neuronales Netz zur Charakterisierung einer Fahrzeugumgebung, zur Tomografie oder zur Objektdetektion verwendet werden.
-
Für dieses Verfahren des Trainings eines neuronalen Netzes mit einem Faltungsregularisierungs-Wert gibt es eine Vielzahl von unterschiedlichen Verwendungen an die das Verfahren ggf. angepasst werden muss.
-
Dabei muss das Verfahren in der unten beschriebenen Weise an die unterschiedlichen Dimensionen der Anwendung des neuronalen Netzes angepasst werden.
Die hier aufgeführten Anwendungen des Verfahrens und einem mit dem Verfahren trainierten neuronalen Netz kann einzeln oder in Kombination wie beispielsweise bei der Repräsentation einer Umgebung einer zumindest teilweise automatisierten mobilen Plattform verwendet werden.
-
Dabei kann unter einer mobilen Plattform ein zumindest teilweise automatisiertes System verstanden werden, welches mobil ist, und/oder ein Fahrerassistenzsystem eines Fahrzeugs. Ein Beispiel kann ein zumindest teilweise automatisiertes Fahrzeug bzw. ein Fahrzeug mit einem Fahrerassistenzsystem sein. Das heißt, in diesem Zusammenhang beinhaltet ein zumindest teilweise automatisiertes System eine mobile Plattform in Bezug auf eine zumindest teilweise automatisierte Funktionalität, aber eine mobile Plattform beinhaltet auch Fahrzeuge und andere mobile Maschinen einschließlich Fahrerassistenzsysteme. Weitere Beispiele für mobile Plattformen können Fahrerassistenzsysteme mit mehreren Sensoren, mobile Multisensor-Roboter wie z.B. Roboterstaubsauger oder Rasenmäher, ein Multisensor-Überwachungssystem, eine Fertigungsmaschine, ein persönlicher Assistent oder ein Zugangskontrollsystem sein. Jedes dieser Systeme kann ein vollständig oder teilweise automatisiertes System sein.
-
Wenn die Anwendung des neuronalen Netzes eindimensionale Signale betrifft wie zum Beispiel Audiosignale inklusive Sprachsignalen oder Motorgeräuschen können die Merkmalskarten des eingehenden Signals als Vektoren dargestellt werden. Damit hat der Faltungs-Kern die Komponenten g
ijkl und der Faltungsregularisierungs-Wert bestimmt sich aus
wobei die Parameter wie oben dargestellt definiert sind.
Auf diese Weise kann beispielsweise identifiziert werden, was gesprochen wurde oder wer etwas gesprochen hat.
-
Für zweidimensionale Signale beispielsweise Farb-Bilder (RGB-Bilder), Röntgenbilder, Scans eines LIDAR-Systems oder Radarkarten sind die Merkmalskarten des eingehenden Signals Matrizen. Damit hat der Kern die Komponenten g
ijk
1k
2 und der Faltungsregularisierungs-Wert bestimmt sich aus
wobei die Parameter wie oben dargestellt definiert sind.
Als Beispiel für Anwendungen mit zweidimensionalen Signalen kann die Detektion von bildlichen Signalen wie etwa einer Verkehrszeichenerkennung oder einer Objekterkennung wie beispielsweise eine Fußgängererkennung. Die Aufgabe für das neuronale Netz ist dann festzustellen ob ein Verkehrszeichen oder ein Fußgänger in einem Bild der Umgebung detektiert und gegebenenfalls klassifiziert werden kann.
-
Für dreidimensionale Signale wie beispielsweise Magnetresonanz-Tomographie (MRT)-Scans können die Merkmalskarten des eingehenden Signals in Matrizen-Form dargestellt werden. Damit hat der Faltungs-Kern die Komponenten g
ijk
1k
2k
3 und der Faltungsregularisierungs-Wert kann in der folgenden Form berechnet werden:
wobei die Parameter wie oben dargestellt definiert sind.
Als Anwendung für das dreidimensionale Eingangssignal kann die Aufgabe des neuronalen Netzes eine Identifikation von Tumoren und eine Klassifikation des Tumortyps von einer MRT-Aufnahme beispielhaft genannt werden.
-
Entsprechend einem weiteren Aspekt wird vorgeschlagen, dass die vorher beschriebene Verwendung des neuronalen Netzes zur Klassifizierung sich auf Eingangssignale bezieht, wobei abhängig vom Ergebnis der Klassifizierung ein Ansteuerungssignal zur Ansteuerung eines wenigstens teilautomatisierten Fahrzeugs und/oder ein Warnsignal zur Warnung eines Fahrzeuginsassen ausgesendet werden.
Beispiele solcher Eingangssignale können akustischen Ursprungs sein, oder bildliche Signale sein. Also allgemeine Eingangssignale unterschiedlicher Dimensionalität, die mit dem Verfahren verwendet werden können wie vorher dargestellt wurde.
-
Es wird eine Vorrichtung angegeben, die ein neuronales Netz aufweist, das entsprechend einem der vorher beschriebenen Verfahren trainiert wurde.
-
Es wird ein Computerprogramm vorgeschlagen, dass Befehle umfasst, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, eines der oben beschriebenen Verfahren auszuführen.
-
Es wird ein maschinenlesbares Speichermedium vorgeschlagen, auf dem das beschriebene Computerprogramm gespeichert ist.
-
Ausführungsbeispiele
-
Ausführungsbeispiele der Erfindung sind in den 1 bis 3 dargestellt und werden im Folgenden näher erläutert. Es zeigt:
- 1 die Bildung eine Ausgangs-Merkmalskarte mittels einer Mehrzahl von Eingangs-Merkmalskarten;
- 2 die Bildung mindestens eine Ausgangs-Merkmalskarte der Faltungsschicht aus einer Mehrzahl von Eingangs-Merkmalskarten mittels je einer Mehrzahl von Faltungskernen; und
- 3 Verfahrensschritte zur Bestimmung der Faltungs-Norm mittels Faltungskernen.
-
In der 1 wird beispielhaft skizziert wie aus einer Mehrzahl von, vom Ausgang einer vorangehenden Schicht des neuronalen Netzes bereitgestellten, Eingangs-Merkmalskarten 110, 120, 130 mindestens eine Ausgangs-Merkmalskarte 150 der Faltungsschicht gebildet wird. Dabei wird jeder Pixel 155 einer i-ten Ausgangs-Merkmalskarte 150 aus den Eingangs-Merkmalskarten 110, 120, 130 für die unterschiedlichen Positionen aus den Werten des i-ten Faltungs-Kerns 115, 125, 135 und der entsprechenden Position des Pixels 155 berechnet.
-
In der 2 wird skizziert wie aus den im Verfahrensschritt S1 aus der vom Ausgang einer vorangehenden Schicht des neuronalen Netzes bereitgestellten Mehrzahl von Eingangs-Merkmalskarten 110, 120, 130 im Verfahrensschritt S2 mindestens eine Ausgangs-Merkmalskarte 150 der Faltungsschicht mittels je einer Mehrzahl von Faltungskernen 115, 125, 135; 116, 126, 136; bzw. 117, 127, 137 und der Mehrzahl von Eingangs-Merkmalskarten 110, 120, 130 gebildet werden, wobei jeder Kombination aus einer der Eingangs-Merkmalskarten 110, 120, 130 und jeder der mindestens einen Ausgangs-Merkmalskarte 150 ein Faltungskern 115, 125, 135; 116,126,136; bzw. 117, 127, 137 zugeordnet ist, und jeder der Faltungskerne 115, 125, 135; 116, 126, 136; bzw. 117, 127, 137 eine Mehrzahl von Faltungsgewichten aufweist.
-
Außerdem ist in der 2 angedeutet, wie sich in einem beispielhaften Fall eine Häufigkeit aller für die Berechnung der Ausgangskarten benutzten Faltungskerne bestimmen lässt. Ausgangspunkt ist eine Größe der Eingangs-Merkmalskarte 110, 120, 130 durch die beiden räumlichen Koordinaten d.h. die Koordinaten-Komponenten der Eingangs-Merkmalskarte, in diesem zweidimensionalen Beispiel durch eine Breite 170 der Eingangs-Merkmalskarte 110 und eine Höhe 160 der Eingangs-Merkmalskarte 110 angedeutet.
In diesem Beispiel wird die Ausdehnung des Faltungs-Kerns 115 durch die Breite 145 und die Höhe 140 gekennzeichnet. Wie mit den drei Positionen 115, 116, 117 zur den identischen Faltungs-Kernen in der ersten Eingangskarte 110 skizziert ist, ergibt sich im Vergleich der räumlichen Dimensionen des Faltungs-Kerns 115 und der räumlichen Dimension der Eingangskarte 110 eine definierte Häufigkeit der möglichen Anwendung des Faltungs-Kerns 115 auf die Eingangs-Merkmalskarte, um den Faltungskern 115 auf die gesamte Eingangs-Merkmalskarte 110 ohne Überlappt anzuwenden.
-
Daraus berechnet sich diese Häufigkeit beispielsweise zu
Dabei ist das α
1 bzw. α
2 die beschriebene Ausdehnung
160,
170 der Eingangs-Merkmalskarte
110 und κ bzw. l sind die beschriebenen Ausdehnungen
140,
145 des Faltungs-Kerns
115.
-
In der 3 ist skizziert, wie in einem Verfahrensschritt S3 aus den Faltungskernen 310a bis 310g des Verfahrens, Faltungskernen-Normen 320a bis 320g bestimmt werden, wobei sich eine Faltungskern-Norm 320a bis 320g aus den Absolutbeträgen der Faltungs-Gewichte der Faltungskerne 310a bis 310g gebildet wird. Dies entspricht somit einer räumlichen Zusammenfassung durch die Bildung der Faltungskern-Normen 320a bis 320g.
-
Anschließend können die Faltungskern-Normen 320a bis 320g mit einer Häufigkeit, aller für die Berechnung der Ausgangskarten benutzten Faltungskerne, multipliziert werden, was in der 3 mit der Menge der Faltungskernen-Normen 330a bis 330g angedeutet ist. Dieser multiplikative Verfahrensschritt ist optional für die Bestimmung der Faltung-Norm bzw. des Faltungs-Regularisierungs-Wertes und kann auch an einer anderen Stelle des Verfahrens durchgeführt werden.
-
Die Eingangs-Normen 340a bis 340d werden in einem Verfahrensschritt S4 aus der Menge der Faltungskern-Normen 320a bis 320g, 330a bis 330g bestimmt, wobei eine Eingangs-Norm aus den Faltungskern-Normen 320a bis 320g, 330a bis 330g aller Eingangs-Merkmalskarten 110, 120, 130 gebildet wird, und sich die Definition der Faltungskern-Norm von der Definition der Eingangs-Norm unterscheidet. Anders ausgedrückt entspricht dies einer Zusammenfassung entlang der eingehenden Dimension der Merkmalskarten.
-
Aus den Eingangs-Normen 340, wie beispielsweise den Eingangs-Normen 340a bis 340d, aller Ausgangs-Merkmalskarten wird im Verfahrensschritt S5 die Faltungs-Norm 350 bestimmt, die der Bestimmung des Faltungsregularisierungs-Wertes dient. Anders ausgedrückt entspricht dies einer Zusammenfassung entlang der ausgehenden Dimension der Merkmalskarten.