-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft allgemein das Gebiet künstlicher Intelligenz. Insbesondere betrifft die Erfindung ein Verfahren zum Betreiben eines künstlichen neuronalen Netzes sowie ein künstliches neuronales Netz, welches beispielsweise zur Objekterkennung in Fahrzeugen eingesetzt werden kann.
-
Stand der Technik
-
Zum Trainieren von künstlichen neuronalen Netzen, insbesondere mehrschichtigen und/oder faltenden neuronalen Netzen, werden dem neuronalen Netz zugeführte Trainingsdaten, wie etwa Trainingsbilder, in der Regel normiert und/oder normalisiert. Dies kann unter anderem einer Homogenisierung der Trainingsdaten eines Trainingsdatensatzes dienen. Auch können durch die Normierung unter Umständen in den Trainingsdaten vorhandene Objekte und/oder Merkmale hervorgehoben und/oder betont werden.
-
Nach dem Trainieren des neuronalen Netzes und/oder während eines Betriebes des trainierten neuronalen Netzes, was allgemein auch als Inferenz bezeichnet wird, werden in der Regel die dem neuronalen Netz zur Interpretation und/oder Klassifikation zugeführten Eingangsdaten analog den Trainingsdaten normiert und/oder normalisiert. Die Normierung der Eingangsdaten kann dabei rechenintensiv und/oder zeitintensiv sein sowie eine leistungsstarke Hardware zum Durchführen der Normierung erfordern.
-
Offenbarung der Erfindung
-
Mit Ausführungsformen der Erfindung kann in vorteilhafter Weise ein effizientes und schnelles Verfahren zum Betreiben eines künstlichen neuronalen Netzes bereitgestellt sein. Auch kann mit Ausführungsformen der Erfindung ein verbessertes künstliches neuronales Netz bereitgestellt sein.
-
Ein Aspekt der Erfindung betrifft ein Verfahren zum Betreiben eines künstlichen neuronalen Netzes. Das neuronale Netz weist wenigstens eine Faltungsschicht und/oder wenigstens eine faltende Schicht auf, die dazu eingerichtet ist, eine Eingangsmatrix der Faltungsschicht basierend auf einer Faltungsoperation und einer Verschiebungsoperation, etwa einer linearen Verschiebung, in eine Ausgangsmatrix zu überführen. Dabei weist das Verfahren einen Schritt des Ermittelns wenigstens einer ersten Normierungsgröße und einer zweiten Normierungsgröße basierend auf Einträgen der Eingangsmatrix und/oder basierend auf einem Trainingsdatensatz des neuronalen Netzes auf. Das Verfahren zeichnet sich insbesondere durch die folgenden Schritte aus:
- - Ermitteln einer modifizierten Filtermatrix basierend auf einer ursprünglichen Filtermatrix der wenigstens einen Faltungsschicht und basierend auf wenigstens einer der ermittelten ersten Normierungsgröße und der zweiten Normierungsgröße;
- - Ermitteln einer modifizierten Verschiebungsmatrix basierend auf einer ursprünglichen Verschiebungsmatrix der wenigstens einen Faltungsschicht und basierend auf wenigstens einer der ermittelten ersten Normierungsgröße und der zweiten Normierungsgröße; und
- - Überführen der Eingangsmatrix in die Ausgangsmatrix unter Anwendung und/oder basierend auf der modifizierten Filtermatrix und der modifizierten Verschiebungsmatrix.
-
Das Verfahren kann ein Verfahren zum Trainieren eines neuronalen Netzes und/oder ein Verfahren zum Betreiben eines bereits trainierten neuronalen Netzes bezeichnen. Das neuronale Netz kann beispielsweise ein mehrschichtiges künstliches neuronales Netz bezeichnen, welches mehrere Faltungsschichten aufweisen kann. Alternativ oder zusätzlich kann das neuronale Netz ein faltendes neuronales Netz bezeichnen. Beispielsweise kann das neuronale Netz mehrere einander nachgelagerte Faltungsschichten, etwa versteckten Schichten, aufweisen. Die wenigstens eine Faltungsschicht im Kontext der vorliegenden Offenbarung kann beispielsweise eine Eingangsschicht und/oder erste Schicht des neuronalen Netzes, eine der Eingangsschicht nachgelagerte Faltungsschicht und/oder eine versteckte Schicht des neuronalen Netzes bezeichnen.
-
Die Eingangsmatrix kann allgemein ein beliebiges Eingangsdatenelement der wenigstens einen Faltungsschicht bezeichnen. Weist das neuronale Netz mehrere Faltungsschichten auf, so kann die Eingangsmatrix ein Eingangsdatenelement für jede beliebige dieser Faltungsschichten bezeichnen. Für die Eingangsschicht und/oder die erste Schicht des neuronalen Netzes kann die Eingangsmatrix ein dem neuronalen Netz zugeführtes Eingangsdatenelement, etwa ein Eingangsbild, bezeichnen. Für eine der Eingangsschicht nachgelagerte Faltungsschicht kann die Eingangsmatrix ferner das dieser Faltungsschicht zugeführte Eingangsdatenelement bezeichnen, welches beispielsweise mit einer Ausgangsmatrix einer vorgelagerten Faltungsschicht korrelieren kann und/oder dieser Ausgangsmatrix entsprechen kann. Die Eingangsmatrix kann ferner eine beliebige Dimension aufweisen. Insbesondere kann die Eingangsmatrix eindimensional oder mehrdimensional sein. Mit anderen Worten kann die Eingangsmatrix einen eindimensionalen oder mehrdimensionalen Eingangstensor bezeichnen.
-
Die Ausgangsmatrix kann ein beliebiges Ausgangsdatenelement der wenigstens einen Faltungsschicht bezeichnen, welches basierend auf der Eingangsmatrix unter Anwendung der Faltungsoperation und der Verschiebungsoperation durch die Faltungsschicht generiert werden kann. Weist das neuronale Netz mehrere Faltungsschichten auf, so kann die Ausgangsmatrix ein Ausgangsdatenelement einer jeden beliebigen Faltungsschicht sein. Bei mehreren einander nachgelagerten Faltungsschichten kann ferner die Ausgangsmatrix einer vorgelagerten Faltungsschicht auch eine Eingangsmatrix einer dieser vorgelagerten Faltungsschicht nachgelagerten Faltungsschicht bilden, mit der Eingangsmatrix der nachgelagerten Faltungsschicht korrelieren und/oder dieser entsprechen. Die Ausgangsmatrix kann ferner eine beliebige Dimension aufweisen. Insbesondere kann die Ausgangsmatrix eindimensional oder mehrdimensional sein. Mit anderen Worten kann die Ausgangsmatrix einen eindimensionalen oder mehrdimensionalen Ausgangstensor bezeichnen. Ferner kann die Ausgangsmatrix dieselbe Dimension wie die Eingangsmatrix der jeweiligen Faltungsschicht oder eine von der Eingangsmatrix der jeweiligen Faltungsschicht verschiedene Dimension aufweisen.
-
Die ursprüngliche Filtermatrix kann etwa die Filtermatrix der Faltungsschicht bezeichnen, wie sie während des Trainings des neuronalen Netzes verwendet und/oder für diese Faltungsschicht ermittelt wurde. Die modifizierte Filtermatrix kann diejenige Filtermatrix bezeichnen, welche während des Betriebes des trainierten neuronalen Netzes, auch Inferenz genannt, von der zugehörigen Faltungsschicht verwendet wird. Analog kann die ursprüngliche Verschiebungsmatrix die Verschiebungsmatrix der Faltungsschicht bezeichnen, wie sie während des Trainings des neuronalen Netzes verwendet und/oder für diese Faltungsschicht ermittelt wurde. Die modifizierte Verschiebungsmatrix kann diejenige Verschiebungsmatrix bezeichnen, welche während des Betriebes des trainierten neuronalen Netzes von der zugehörigen Faltungsschicht verwendet wird.
-
Die erste Normierungsgröße und die zweite Normierungsgröße können jeweils zur Normierung der Eingangsmatrix dienen und/oder jeweils eine Größe zur Normierung der Eingangsmatrix bezeichnen. Die erste Normierungsgröße und/oder die zweite Normierungsgröße können ein Skalar, ein Vektor, eine Matrix und/oder ein Tensor sein. Allgemein können die erste Normierungsgröße und die zweite Normierungsgröße jeweils eine Größe, etwa eine statistische Größe, sein, welche von Einträgen der Eingangsmatrix und/oder von dem Trainingsdatensatz abgeleitet werden können. Beispielsweise kann die erste Normierungsgröße mit einer Standardabweichung korrelieren und/oder die zweite Normierungsgröße kann mit einem Mittelwert korrelieren. Der Mittelwert kann dabei auch ein gewichteter Mittelwert sein, wobei beispielsweise Einträge der Eingangsmatrix unterschiedlich gewichtet sein können und/oder einzelne Trainingsbilder des Trainingsdatensatz unterschiedlich gewichtet sein können. Auch können die erste Normierungsgröße und die zweite Normierungsgröße höhere Momente einer Statistik sein, etwa eine Skewness bzw. Schiefe oder eine Kurtosis bzw. Wölbung. Allgemein können im Rahmen des erfindungsgemäßen Verfahrens beliebig viele Normierungsgrößen ermittelt werden, mit Hilfe derer die Eingangsmatrix unter Anwendung einer Addition, Subtraktion, Multiplikation und/oder Division normiert werden kann.
-
Die Erfindung kann insbesondere als auf den nachfolgend beschriebenen Erkenntnissen beruhend angesehen werden. Während des Trainings von künstlichen neuronalen Netzen können Trainingsdatenelemente, wie beispielsweise Trainingsbilder, dadurch normiert und/oder normalisiert werden, dass ein Mittelwert von Einträgen der Trainingsdatenelemente abgezogen und Einträge der Trainingsdatenelemente durch eine Standardabweichung geteilt werden. Der Mittelwert und die Standardabweichung können dabei globale Werte sein und/oder basierend auf einem gesamten Trainingsdatensatz mit mehreren Trainingsdatenelementen ermittelt werden. Sämtliche Trainingsdatenelemente, sämtliche Eingangsdatenelemente und/oder sämtliche Eingangsmatrizen einzelner Faltungsschichten können sodann mit den globalen Werten der Standardabweichung und des Mittelwertes normiert werden. Alternativ können der Mittelwert und die Standardabweichung lokale Werte sein, welche für jedes dem neuronalen Netz zugeführte Trainingsdatenelement und/oder jedes dem neuronalen Netz zugeführte Eingangsdatenelement separat ermittelt und zur Normierung verwendet werden können. In konventionellen Verfahren zum Betreiben von neuronalen Netzen und/oder in konventionellen neuronalen Netzen wird während des Betriebes des trainierten neuronalen Netzes in der Regel jedes in das neuronale Netz eingespeiste Eingangsdatenelement, etwa ein Eingangsbild, auf diese Weise normiert. Auch können die Eingangsmatrizen einer oder mehrerer Faltungsschichten auf diese Weise normiert werden. Dies kann mitunter einen erheblichen Rechenaufwand und/oder Rechenzeit erfordern.
-
Erfindungsgemäß ist daher vorgesehen, die Normierung und/oder Normalisierung mit der von der Faltungsschicht vorgenommenen Faltungsoperation und/oder der Verschiebungsoperation zu kombinieren. In der modifizierten Filtermatrix und der modifizierten Verschiebungsmatrix kann somit eine Normierungsoperation, insbesondere eine lineare Normierungsoperation, zur Normierung der Eingangsmatrix enthalten und/oder integriert sein. Die Normierungsoperation kann dabei allgemein eine Addition, Subtraktion, Division und/oder Multiplikation der Eingangsmatrix mit der ersten Normierungsgröße und/oder der zweiten Normierungsgröße und/oder mit weiteren Normierungsgrößen beinhalten. Insbesondere kann die Normierungsoperation ein Abziehen eines Mittelwertes von Einträgen der Eingangsmatrix und/oder ein Teilen der Einträge der Eingangsmatrix durch die Standardabweichung beinhalten. Durch Berücksichtigung und/oder Integration der der ersten Normierungsgröße und der zweiten Normierungsgröße in die modifizierte Filtermatrix und die modifizierte Verschiebungsmatrix können somit die Faltungsoperation, die Verschiebungsoperation und die Normierungsoperation kombiniert und/oder in einem Schritt ausgeführt werden. Ein separater Schritt zum Durchführen der Normierungsoperation kann somit entfallen. Mit anderen Worten kann durch Integration der ersten und/oder zweiten Normierungsgröße in die modifizierte Filtermatrix und/oder die modifizierte Verschiebungsmatrix die Normierungsoperation in die modifizierte Filtermatrix und/oder die modifizierte Verschiebungsmatrix integriert werden. Das Kombinieren der Normierung mit der Faltungsoperation und/oder der Verschiebungsoperation kann in einer Eingangsschicht und/oder ersten Schicht des neuronalen Netzes erfolgen, über welche dem neuronalen Netz Eingangsdatenelemente, wie Eingangsbilder, zugeführt werden können. Alternativ oder zusätzlich kann auch die von einer beliebigen anderen Faltungsschicht auf eine Eingangsmatrix dieser Faltungsschicht angewendete Faltungsoperation und/oder Verschiebungsoperation mit der zugehörigen Normierungsoperation dieser Eingangsmatrix kombiniert werden. Dadurch kann eine explizite und/oder separate Normierung der Eingangsdatenelemente und/oder der Eingangsmatrizen vermieden werden. Insgesamt kann damit Rechenaufwand und/oder Rechenzeit reduziert werden, so dass das neuronale Netz schneller und effizienter ausgestaltet werden kann. Auch kann das trainierte neuronale Netz daher auf nahezu beliebiger Hardware ausgeführt werden und/oder auf diese portiert werden, während nur wenig Performanz oder gar keine Performanz der Hardware beeinträchtigt wird. Auch kann so die zum Betreiben des neuronalen Netzes verwendete Hardware, insbesondere ein Prozessor und/oder ein Grafikprozessor, weniger leistungsstark ausgeführt sein, wodurch Kosten eingespart werden können.
-
Gemäß einer Ausführungsform der Erfindung ist die erste Normierungsgröße eine mit einer Standardabweichung korrelierende Größe und/oder eine Standardabweichung. Die erste Normierungsgröße kann etwa auch ein Kehrwert der Standardabweichung sein und/oder mit dem Kehrwert der Standardabweichung korrelieren. Alternativ oder zusätzlich ist die zweite Normierungsgröße eine mit einem Mittelwert korrelierende Größe und/oder ein Mittelwert. Die zweite Normierungsgröße kann auch beispielsweise ein negatives Verhältnis des Mittelwertes zur Standardabweichung sein und/oder mit diesem Verhältnis korrelieren. Die erste und zweite Normierungsgröße können basierend auf Einträgen der Eingangsmatrix und/oder basierend auf einem Trainingsdatensatz ermittelt werden.
-
Gemäß einer Ausführungsform der Erfindung wird die modifizierte Filtermatrix basierend auf, insbesondere ausschließlich basierend auf, der ursprünglichen Filtermatrix und der ermittelten ersten Standardabweichung bestimmt. Alternativ oder zusätzlich wird die modifizierte Verschiebungsmatrix basierend auf der ursprünglichen Verschiebungsmatrix, basierend auf der ermittelten Standardabweichung und basierend auf dem ermittelten Mittelwert bestimmt. Somit können die zur Normierung der Eingangsmatrix verwendete Standardabweichung und der Mittelwert in die modifizierte Filtermatrix und/oder die modifizierte Verschiebungsmatrix integriert werden, so dass eine separat durchzuführende Normierung der Eingangsmatrix entfallen kann.
-
Gemäß einer Ausführungsform der Erfindung ist der ermittelte Mittelwert ein Mittelwert von Einträgen der Eingangsmatrix. Alternativ oder zusätzlich ist die ermittelte Standardabweichung eine Standardabweichung von Einträgen der Eingangsmatrix. Der Mittelwert und die Standardabweichung können daher als lokale Werte für die Eingangsmatrix der Faltungsschicht ermittelt werden. Für jede Eingangsmatrix kann so jeweils ein dieser Eingangsmatrix zugeordneter Mittelwerte und/oder eine dieser Eingangsmatrix zugeordnete Standardabweichung ermittelt werden. Handelt es sich bei der zugehörigen Faltungsschicht um die Eingangsschicht, so kann der ermittelte Mittelwert ein Mittelwert der Einträge des zugehörigen Eingangsdatenelements, etwa ein Mittelwert von Pixeln eines Eingangsbildes, sein. Analog kann die Standardabweichung eine Standardabweichung der Einträge des zugehörigen Eingangsdatenelements, etwa von Pixeln des Eingangsbildes, sein.
-
Gemäß einer Ausführungsform der Erfindung weist der Trainingsdatensatz mehrere Trainingsdatenelemente, insbesondere Trainingsbilder, auf, wobei die Standardabweichung und der Mittelwert basierend auf den Trainingsdatenelementen des Trainingsdatensatzes ermittelt werden. Der Mittelwert und die Standardabweichung können daher als globale Werte für die Eingangsmatrix der Faltungsschicht ermittelt werden. Für jede beliebige Eingangsmatrix und/oder jedes beliebige Eingangsdatenelement kann daher der gleiche Mittelwert und die gleiche Standardabweichung verwendet werden. Dies kann den erforderlichen Rechenaufwand und/oder die Rechenzeit weiter senken.
-
Gemäß einer Ausführungsform der Erfindung weist der Schritt des Überführens der Eingangsmatrix in die Ausgangsmatrix ein Falten der Eingangsmatrix mit der modifizierten Filtermatrix und ein Addieren der modifizierten Verschiebungsmatrix mit der gefalteten Eingangsmatrix auf. Wie voranstehend erläutert können die modifizierte Filtermatrix und die modifizierte Verschiebungsmatrix die Normierungsoperation zur Normierung der Eingangsmatrix enthalten. Somit kann in der Faltungsschicht die Eingangsmatrix gleichzeitig normiert, gefaltet und/oder verschoben werden, um die Ausgangsmatrix zu generieren. Daher muss die Eingangsmatrix nicht mehr vor Zuführen zu der Faltungsschicht normiert werden, sondern sämtlich auf die Eingangsmatrix angewendete Rechenoperationen können in einem Schritt erfolgen.
-
Gemäß einer Ausführungsform der Erfindung weist der Schritt des Ermittelns der modifizierten Filtermatrix ein Bilden eines Verhältnisses von Einträgen der ursprünglichen Filtermatrix und der ermittelten Standardabweichung auf. Mit anderen Worten kann die modifizierte Filtermatrix dadurch ermittelt werden, dass die Einträge der ursprünglichen Filtermatrix durch die ermittelte Standardabweichung geteilt werden. Dadurch kann sichergestellt sein, dass die Eingangsmatrix korrekt normiert ist. Die Einträge der ursprünglichen Filtermatrix können dabei Parameterwerte und/oder Gewichte der jeweiligen Faltungsschicht bezeichnen, wie sie während eines Trainings des neuronalen Netzes ermittelt wurden.
-
Gemäß einer Ausführungsform der Erfindung weist der Schritt des Ermittelns der modifizierten Verschiebungsmatrix einen Schritt des Faltens der modifizierten Filtermatrix mit einer Normierungsmatrix auf, wobei alle Einträge der Normierungsmatrix den ermittelten Mittelwert aufweisen, und einen Schritt des Subtrahierens der mit der Normierungsmatrix gefalteten modifizierten Filtermatrix von der ursprünglichen Verschiebungsmatrix. Mit anderen Worten kann die modifizierte Verschiebungsmatrix dadurch ermittelt werden, dass die Differenz der ursprünglichen Verschiebungsmatrix und des Ergebnisses einer Faltung zwischen der Normierungsmatrix und der modifizierten Filtermatrix gebildet wird. Dadurch kann sichergestellt sein, dass die Eingangsmatrix korrekt normiert ist. Dabei können Einträge der ursprünglichen Verschiebungsmatrix Parameterwerte und/oder Gewichte der jeweiligen Faltungsschicht bezeichnen, wie sie während eines Trainings des neuronalen Netzes ermittelt wurden.
-
Gemäß einer Ausführungsform der Erfindung weist das Verfahren ferner einen Schritt des Überführens der Eingangsmatrix in eine höherdimensionale Eingangsmatrix unter Hinzufügen von Einträgen zu der Eingangsmatrix auf. Dabei weisen, wenn das neuronale Netz trainiert ist und/oder während eines Betriebes des trainierten neuronalen Netzes bzw. während Inferenz, die hinzugefügten Einträge jeweils den ermittelten Mittelwert auf. Alternativ oder zusätzlich weisen während eines Trainings des neuronalen Netzes die hinzugefügten Einträge jeweils einen Wert von Null auf. Durch Hinzufügen von Einträgen zur Eingangsmatrix kann in vorteilhafter Weise eine Dimension der Ausgangsmatrix nach Anwenden der Faltungsoperation mit einer Dimension der Eingangsmatrix vor Hinzufügen der Einträge übereinstimmen. Das Hinzufügen von Einträgen wird häufig auch als „Padding“ bezeichnet. Werden daher während des Trainings des neuronalen Netzes der Eingangsmatrix einer Faltungsschicht Nullen hinzugefügt, so können der Eingangsmatrix für diese Faltungsschicht nach dem Training, d.h. während des Betriebes des trainierten Netzes, Einträge mit dem Mittelwert hinzugefügt werden.
-
Gemäß einer Ausführungsform der Erfindung weisen, wenn das neuronale Netz trainiert ist, die der Eingangsmatrix hinzugefügten Einträge jeweils einen Wert von Null auf. Alternativ oder zusätzlich weisen während des Trainings des neuronalen Netzes die hinzugefügten Einträge jeweils einen negativen Wert des Verhältnisses des ermittelten Mittelwertes zu der ermittelten Standardabweichung auf. Werden daher während des Trainings des neuronalen Netzes der Eingangsmatrix einer Faltungsschicht Einträge hinzugefügt, welche dem Negativen des Verhältnisses des ermittelten Mittelwertes zu der ermittelten Standardabweichung entsprechen, so können der Eingangsmatrix für diese Faltungsschicht nach dem Training, d.h. während des Betriebes des trainierten Netzes, Nullen hinzugefügt werden. Insbesondere kann so die Dimension der Ausgangsmatrix erhalten bleiben und/oder mit der Dimension der Eingangsmatrix vor Hinzufügen der Einträge übereinstimmen.
-
Gemäß einer Ausführungsform der Erfindung ist die wenigstens eine Faltungsschicht eine Eingangsschicht und/oder eine erste Schicht des neuronalen Netzes. Alternativ oder zusätzlich ist die Eingangsmatrix ein Eingangsdatenelement, insbesondere ein Eingangsbild, welches dem neuronalen Netz zur Interpretation und/oder Klassifikation zugeführt wird. Das Eingangsdatenelement kann dabei eine beliebige Dimension aufweisen und/oder ein Eingangsbild mit einem Array beliebig vieler Pixel sein. Die Pixel des Eingangsbildes können dabei Einträge des Eingangsdatenelements und/oder Einträge der Eingangsmatrix der Eingangsschicht sein.
-
Gemäß einer Ausführungsform der Erfindung werden die modifizierte Filtermatrix und die modifizierte Verschiebungsmatrix ausschließlich in der Eingangsschicht des neuronalen Netzes angewendet. Damit kann eine Effizienz des Verfahrens zum Betreiben des neuronalen Netzes weiter gesteigert sein und/oder der Rechenaufwand bzw. die Rechenzeit kann weiter reduziert sein.
-
Gemäß einer Ausführungsform der Erfindung weist das neuronale Netz mehrere Faltungsschichten auf, welche jeweils dazu eingerichtet sind, eine Eingangsmatrix der jeweiligen Faltungsschicht in eine Ausgangsmatrix der jeweiligen Faltungsschicht zu überführen, wobei für jede Faltungsschicht eine modifizierte Faltungsmatrix und eine modifizierte Verschiebungsmatrix ermittelt werden, und wobei jede Eingangsmatrix jeder Faltungsschicht unter Anwendung der für die jeweilige Faltungsschicht ermittelten modifizierten Filtermatrix und der für die jeweilige Faltungsschicht ermittelten modifizierten Verschiebungsmatrix in eine Ausgangsmatrix überführt wird. Die modifizierte Filtermatrix und die modifizierte Verschiebungsmatrix können dabei basierend auf der ursprünglichen Filtermatrix und der ursprünglichen Verschiebungsmatrix der jeweiligen Faltungsschicht ermittelt werden.
-
Gemäß einer Ausführungsform der Erfindung bildet eine Ausgangsmatrix wenigstens einer Faltungsschicht eine Eingangsmatrix wenigstens einer dieser Faltungsschicht nachgelagerten Faltungsschicht, so dass der Mittelwert und die Standardabweichung für die nachgelagerte Faltungsschicht basierend auf dieser Ausgangsmatrix ermittelt werden. Mit anderen Worten kann die Ausgangsmatrix einer vorgelagerten Faltungsschicht der Eingangsmatrix einer dieser vorgelagerten Faltungsschicht unmittelbar nachgelagerten Faltungsschicht entsprechen.
-
Ein weiterer Aspekt der Erfindung betrifft ein künstliches neuronales Netz. Das neuronale Netz ist dabei dazu eingerichtet, das Verfahren zum Betreiben des neuronalen Netzes, so wie voranstehend und nachfolgend beschrieben durchzuführen. Das neuronale Netz kann insbesondere auf einem Prozessor implementiert sein und/oder einen Prozessor aufweisen.
-
Merkmale, Elemente und/oder Schritte des Verfahrens zum Betreiben des neuronalen Netzes können Merkmale und/oder Elemente des neuronalen Netzes sein und umgekehrt. Mit anderen Worten gilt das in Bezug auf das Verfahren Offenbarte gleichermaßen für das in Bezug auf das neuronale Netz Offenbarte und umgekehrt.
-
Insbesondere kann das neuronale Netz wenigstens eine Faltungsschicht aufweisen, die dazu eingerichtet ist, eine Eingangsmatrix mit einer modifizierten Filtermatrix zu falten und die gefaltete Eingangsmatrix mit einer modifizierten Verschiebungsmatrix zu addieren, um eine Ausgangsmatrix der Faltungsschicht zu generieren. Dabei können Einträge der modifizierten Filtermatrix mit einem Verhältnis von Einträgen einer ursprünglichen Filtermatrix der Faltungsschicht und einer Standardabweichung korrelieren. Die Einträge der modifizierten Filtermatrix können etwa durch das Verhältnis der Einträge der ursprünglichen Filtermatrix und der Standardabweichung gegeben sein. Ferner können Einträge der modifizierten Verschiebungsmatrix mit einer Differenz einer ursprünglichen Verschiebungsmatrix und dem Ergebnis einer Faltung der modifizierten Filtermatrix mit einer Normierungsmatrix korrelieren, deren Einträge jeweils den ermittelten Mittelwert aufweisen. Mit anderen Worten können die Einträge der modifizierten Verschiebungsmatrix durch die Differenz der ursprünglichen Verschiebungsmatrix und dem Ergebnis der Faltung der modifizierten Filtermatrix mit der Normierungsmatrix gegeben sein. Die Standardabweichung und der Mittelwert können dabei basierend auf Einträgen der Eingangsmatrix und/oder basierend auf einem Trainingsdatensatz des neuronalen Netzes ermittelt sein.
-
Das erfindungsgemäße Verfahren zum Betreiben des neuronalen Netzes und/oder das neuronale Netz kann in vielen Bereichen der Industrie vorteilhaft eingesetzt werden. Insbesondere kann das Verfahren und/oder das neuronale Netz im Bereich des autonomen Fahrens, etwa in einem Kraftfahrzeug, eingesetzt werden. Beispielsweise kann das Verfahren und/oder das neuronale Netz zur Objekterkennung basierend auf Bilddaten eingesetzt werden. Mit dem erfindungsgemäßen Verfahren und dem neuronalen Netz kann insbesondere eine Erkennung von Verkehrszeichen, von Fußgängern, von Hindernissen und/oder anderen Objekten in den Bilddaten durchgeführt werden. Beispielsweise können Bilddaten und/oder Bilder mit einer Kamera eines Kraftfahrzeuges aufgenommen und dem neuronalen Netz zur Objekterkennung zugeführt werden. Das neuronale Netz kann die Bilddaten interpretieren, prozessieren und/oder verarbeiten. Dabei kann das neuronale Netz insbesondere eine Klassifikation von in den Bilddaten enthaltenen Objekten vornehmen und eine entsprechende Ausgabe ausgeben. Beispielsweise kann das neuronale Netz basierend auf der Verarbeitung der Bilddaten wenigstens einen Wahrscheinlichkeitswert und/oder eine Wahrscheinlichkeit ermitteln, mit welcher ein in den Bilddaten enthaltenes Objekt einer bestimmten Klasse von Objekten und/oder einer Objektklasse zugeordnet werden kann. Alternativ oder zusätzlich kann das neuronale Netz die Klasse von Objekten und/oder Objektklasse ermitteln, welcher das in den Bilddaten enthaltene Objekt zugeordnet werden kann. Die Objektklasse und/oder der wenigstens eine Wahrscheinlichkeitswert können von dem neuronalen Netz ausgegeben und/oder bereitgestellt werden. Die Ausgabe kann beispielsweise einem Steuergerät des Kraftfahrzeugs zugeführt werden, welches basierend auf der Ausgabe eine Fahrzeugansteuerung ableiten kann, beispielsweise ein Ausweichmanöver und/oder ein Bremsmanöver. Das Steuergerät kann ferner das Kraftfahrzeug zur Durchführung der abgeleiteten bzw. ermittelten Fahrzeugansteuerung veranlassen, insbesondere zur Durchführung des Ausweichmanövers und/oder des Bremsmanövers. Folglich kann mittels des neuronalen Netzes ein Verfahren zur Betreiben eines Fahrzeugs realisiert werden. Alternativ oder zusätzlich kann basierend auf der Ausgabe des neuronalen Netzes eine Warneinrichtung, etwa zur Ausgabe eines akustischen und/oder optischen Warnsignals, betätigt werden.
-
Auch kann das Verfahren und das neuronale Netz in vorteilhafter Weise zur Segmentation von Bilddaten eingesetzt werden. Ferner kann das Verfahren und das neuronale Netz zur Analyse medizinischer Bilder und/oder medizinischer Bilddaten eingesetzt werden, etwa um eine Zuckerkrankheit eines Patienten zu erkennen. Auch in der Robotik, etwa zur Steuerung eines Roboters, insbesondere basierend auf Bilddaten, kann das Verfahren und das neuronale Netz eingesetzt und/oder verwendet werden. Ein weiterer möglicher Einsatzbereich des neuronalen Netzes und/oder des Verfahrens ist die Qualitätskontrolle, etwa zum Identifizieren von mangelhaft produzierten Gütern basierend auf Bilddaten und/oder anderen Daten.
-
Im Folgenden werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen erläutert.
-
Figurenliste
-
Im Folgenden werden Ausführungsbeispiele der Erfindung mit Bezug auf die beiliegenden Figuren detailliert beschrieben.
- 1 zeigt ein künstliches neuronales Netz gemäß einem Ausführungsbeispiel der Erfindung.
- 2 zeigt ein Flussdiagramm zur Illustration von Schritten eines Verfahrens zum Betreiben eines neuronalen Netzes gemäß einem Ausführungsbeispiel der Erfindung.
- 3 zeigt ein Flussdiagramm zur Illustration von Schritten eines Verfahrens zum Betreiben eines neuronalen Netzes gemäß einem Ausführungsbeispiel der Erfindung.
- 4 zeigt ein Flussdiagramm zur Illustration von Schritten eines Verfahrens zum Betreiben eines neuronalen Netzes gemäß einem Ausführungsbeispiel der Erfindung.
-
Die Figuren sind lediglich schematisch und nicht maßstabsgetreu. In den Figuren sind gleiche, gleich wirkende oder ähnliche Elemente mit gleichen Bezugszeichen versehen.
-
Ausführungsformen der Erfindung
-
1 zeigt ein künstliches neuronales Netz 10 gemäß einem Ausführungsbeispiel der Erfindung. Das in 1 illustrierte künstliche neuronale Netz 10 ist exemplarisch als mehrschichtiges neuronales Netz 10 ausgeführt.
-
Das neuronale Netz 10 kann etwa zur Interpretation von Bilddaten dienen, beispielsweise im Rahmen einer Objekterkennung in einem Kraftfahrzeug. Das neuronale Netz 10 kann beispielsweise mit einer Speichervorrichtung 11 gekoppelt sein und/oder eine Speichervorrichtung 11 zum Speichern von Bilddaten aufweisen. Die Bilddaten können etwa mit einer Kamera des Kraftfahrzeugs aufgenommen und in der Speichervorrichtung 11 zur weiteren Verarbeitung und/oder Interpretation durch das neuronale Netz 10 hinterlegt sein. Die Bilddaten können dabei eines oder mehrere Bilder aufweisen, welche dem neuronalen Netz 10 zugeführt werden können und/oder welche in das neuronale Netz 10 eingespeist werden können.
-
Das künstliche neuronale Netz 10 weist eine Eingangsschicht 12a und/oder eine erste Schicht 12a auf, welcher eine Eingangsmatrix I0 zugeführt wird. In der Regel ist die Eingangsschicht 12a eines neuronalen Netzes 10 eine Faltungsschicht. Die erste Schicht und/oder die Eingangsschicht 12a kann daher eine erste Faltungsschicht 12a des neuronalen Netzes 10 bezeichnen. Die der Eingangsschicht 12a zugeführte Eingangsmatrix I0 kann etwa ein Eingangsdatenelement I0 und/oder ein Eingangsbild I0 sein. Das Eingangsdatenelement, das Eingangsbild und/oder die Eingangsmatrix I0 der ersten Schicht 12a kann dabei ein beliebiges Array mit einer beliebigen Anzahl von Pixeln sein, wobei die Pixel Einträgen der Eingangsmatrix I0 entsprechen. Das Eingangsdatenelement, das Eingangsbild und/oder die Eingangsmatrix I0 der Eingangsschicht 12a kann dabei insbesondere ein einzelnes Bild der in der Speichervorrichtung 11 hinterlegten Bilddaten sein. Das Eingangsdatenelement, das Eingangsbild und/oder die Eingangsmatrix I0 der Eingangsschicht 12a kann dabei dem neuronalen Netz 10 ohne eine Vorverarbeitung zugeführt werden, insbesondere ohne vorab eine Normierung und/oder Normalisierung durchzuführen, wie im Folgenden näher erläutert ist.
-
Weiter weist das neuronale Netz 10 mehrere Faltungsschichten 12b, 12c auf. Das neuronale Netz 10 kann eine beliebige Anzahl von Faltungsschichten 12b, 12c aufweisen. Die Faltungsschicht 12b ist dabei der Eingangsschicht 12a unmittelbar nachgelagert und/oder mit dieser gekoppelt. Analog ist die Faltungsschicht 12c der Faltungsschicht 12b nachgelagert, wobei optional zwischen den Faltungsschichten 12b, 12c weitere Faltungsschichten und/oder weitere Schichten des neuronalen Netzes 10 angeordnet sein können.
-
Die Eingangsschicht 12a und die Faltungsschichten 12b, 12c sind allgemein dazu eingerichtet die der jeweiligen Schicht 12a-c zugeführte Eingangsmatrix I0 , I1 , In basierend auf einer Faltungsoperation und einer Verschiebungsoperation, insbesondere einer linearen Verschiebung, in eine Ausgangsmatrix A0 , A1 , An-1 der jeweiligen Schicht 12a-c zu überführen. Mit anderen Worten ist jede der Schichten 12a-c dazu ausgeführt, eine Faltungsoperation und eine Verschiebungsoperation durchzuführen. Die Eingangsschicht 12a erzeugt in dem in 1 illustrierten Ausführungsbeispiel durch Anwendung der Faltungsoperation und der Verschiebungsoperation aus der Eingangsmatrix I0 eine Ausgangsmatrix A0 der Eingangsschicht 12a. Basierend auf der Ausgangsmatrix A0 der Eingangsschicht 12a kann sodann eine Eingangsmatrix I1 für die der Eingangsschicht 12a unmittelbar nachgelagerte Faltungsschicht 12b generiert werden. Hierzu kann die Ausgangsmatrix A0 der Eingangsschicht 12a modifiziert werden und/oder die Ausgangsmatrix A0 der Eingangsschicht 12a kann die Eingangsmatrix I1 der Faltungsschicht 12b bilden. Analog kann eine Ausgangsmatrix An-1 einer der Faltungsschicht 12c unmittelbar vorgelagerten Faltungsschicht die Eingangsmatrix In der Faltungsschicht 12c bilden, wie in 1 illustriert.
-
Details der von jeder der Faltungsschichten 12a-c durchgeführten Faltungsoperation und der Verschiebungsoperation werden in nachfolgenden Figuren erläutert.
-
Als Ergebnis einer Verarbeitung und/oder Interpretation der Eingangsmatrix, des Eingangsdatenelements und/oder des Eingangsbildes I0 kann das neuronale Netz 10 eine Ausgabe 14 ermitteln, bereitstellen und/oder ausgeben. Die Ausgabe 14 kann beispielsweise eine Objektklasse sein, welcher ein in dem Eingangsbild I0 enthaltenes Objekt zugeordnet werden kann. Alternativ oder zusätzlich kann die Ausgabe 14 einen oder mehrere Wahrscheinlichkeitswerte aufweisen. Jeder Wahrscheinlichkeitswert kann dabei eine Wahrscheinlichkeit angeben, mit der ein in dem Eingangsbild I0 enthaltenes Objekt einer bestimmten Objektklasse zugeordnet werden kann.
-
Wird das neuronale Netz 10 zur Erkennung eines Hindernisses in einem Kraftfahrzeug verwendet, kann die Ausgabe 14 ferner einem Steuergerät des Kraftfahrzeugs zugeführt werden, welches basierend auf der Ausgabe 14 beispielsweise ein Ausweichmanöver und/oder ein Bremsmanöver ermitteln und das Kraftfahrzeug zur Durchführung dieses Ausweichmanövers und/oder Bremsmanövers veranlassen kann.
-
2 zeigt ein Flussdiagramm zur Illustration von Schritten eines Verfahrens zum Betreiben eines neuronalen Netzes 10 gemäß einem Ausführungsbeispiel der Erfindung. Sofern nicht anders beschrieben, weist das in 2 beschriebene neuronale Netz 10 dieselben Elemente und Merkmale wie das mit Bezug auf 1 beschrieben neuronale Netz 10 auf.
-
Allgemein weist das mit Bezug auf 2 beschriebene neuronale Netz 10 wenigstens eine Faltungsschicht 12a-c auf, welche dazu eingerichtet ist, eine Eingangsmatrix Ii , i=0...n in eine Ausgangsmatrix Ai , i=0...n zu überführen. Zur Vereinfachung werden im Folgenden die Indizes i=0...n weggelassen. Das im Folgenden beschriebene Verfahren kann für jede beliebige Faltungsschicht 12a-c durchgeführt werden. Mit anderen Worten kann sich das im Folgenden beschriebene Verfahren auf eine, mehrere oder alle Faltungsschichten 12a-c beziehen.
-
In einem ersten Schritt S1 wird wenigstens eine erste Normierungsgröße v und eine zweite Normierungsgröße w bestimmt. Die erste Normierungsgröße v kann dabei mit einer Standardabweichung σ korrelieren, ein Kehrwert der Standardabweichung sein und/oder eine Standardabweichung σ sein. Die zweite Normierungsgröße w kann mit einem Mittelwert µ korrelieren, ein Mittelwert µ sein und/oder das negative Verhältnis der des Mittelwerts zur Standardabweichung sein. Die erste Normierungsgröße v, die zweite Normierungsgröße w, die Standardabweichung σ und/oder der Mittelwert µ können dabei basierend auf der Eingangsmatrix I und/oder basierend auf Einträgen der Eingangsmatrix I der jeweiligen Faltungsschicht 12a-c ermittelt werden. Hierzu kann der Mittelwert µ als Mittelwert µ aller Einträge der Eingangsmatrix I ermittelt werden. Auch können einzelne Einträge der Eingangsmatrix zur Ermittlung des Mittelwerts µ unterschiedlich gewichtet werden. Analog kann die Standardabweichung σ als Standardabweichung σ aller Einträge der Eingangsmatrix I ermittelt werden. Die Standardabweichung σ und der Mittelwert µ können dabei für eine oder mehrere Faltungsschichten 12a-c jeweils für die entsprechende Faltungsschicht 12a-c basierend auf der dieser Faltungsschicht 12a-c zugeführten Eingangsmatrix I ermittelt werden.
-
Alternativ oder zusätzlich können die erste Normierungsgröße v, die zweite Normierungsgröße w, die Standardabweichung σ und/oder der Mittelwert µ basierend auf einem Trainingsdatensatz des neuronalen Netzes 10 ermittelt werden. Der Trainingsdatensatz kann mehrere Trainingsdatenelemente, insbesondere mehrere Trainingsbilder, aufweisen. Der Mittelwert µ kann somit ein Mittelwert aller Einträge aller Trainingsdatenelemente des Trainingsdatensatzes sein. Auch können einzelne Trainingsbilder zur Ermittlung des Mittelwertes µ unterschiedlich gewichtet werden. Analog kann die Standardabweichung σ eine Standardabweichung aller Einträge aller Trainingsdatenelemente des Trainingsdatensatzes sein. Die auf diese Weise ermittelte Standardabweichung σ und der Mittelwert µ können dann für eine, mehrere oder alle Faltungsschichten 12a-c verwendet werden.
-
Die erste Normierungsgröße v und/oder die zweite Normierungsgröße, insbesondere die Standardabweichung und/oder der Mittelwert µ, können in Schritt S1 auch modifiziert werden, etwa durch Addieren eines Wertes und/oder durch Multiplizieren mit einem Faktor.
-
In einem weiteren Schritt S2 wird eine modifizierte Filtermatrix f̃ basierend auf einer ursprünglichen Filtermatrix f der Faltungsschicht 12a-c und basierend auf der ermittelten ersten Normierungsgröße v, etwa der ermittelten Standardabweichung σ, bestimmt.
-
In einem weiteren Schritt S3 wird eine modifizierte Verschiebungsmatrix b̃ basierend auf einer ursprünglichen Verschiebungsmatrix b der Faltungsschicht 12a-c, basierend auf der ersten Normierungsgröße v und basierend auf der zweiten Normierungsgröße w bestimmt. Die modifizierte Verschiebungsmatrix b kann etwa basierend auf der ursprünglichen Verschiebungsmatrix b der Faltungsschicht 12a-c, basierend auf der ermittelten Standardabweichung σ und basierend auf dem ermittelten Mittelwert µ bestimmt werden.
-
In der modifizierten Filtermatrix f̃ und der modifizierten Verschiebungsmatrix b̃ kann daher eine Normierungsoperation für die Eingangsmatrix I enthalten sein, so dass die von der Faltungsschicht 12a-c durchgeführte Faltungsoperation sowie die von der Faltungsschicht 12a-c durchgeführte Verschiebungsoperation mit der Normierungsoperation kombiniert werden können. Dadurch kann eine explizite und/oder separate Normierung der Eingangsmatrix I vermieden werden.
-
Bei konventionellen Verfahren zum Betreiben eines neuronalen Netzes wird die Eingangsmatrix
I zunächst normiert und anschließend mit der ursprünglichen Filtermatrix f gefaltet und mit der ursprünglichen Verschiebungsmatrix b verschoben. Allgemein kann die Eingangsmatrix
I mit Hilfe der ersten Normierungsgröße v und der zweiten Normierungsgröße w normiert und/oder normalisiert werden. Im Speziellen können Einträge der Eingangsmatrix
I und/oder die Eingangsmatrix
I zur Normierung mit der ersten Normierungsgröße v multipliziert werden und die zweite Normierungsgröße w kann mit dem Ergebnis dieser Multiplikation addiert werden. In konventionellen neuronalen Netzen wird sodann die normierte Eingangsmatrix
I mit der ursprünglichen Filtermatrix f gefaltet und mit der ursprünglichen Verschiebungsmatrix b verschoben, wie in nachfolgender Gleichung angegeben.
-
Mit der in Schritt
S2 ermittelten modifizierten Filtermatrix f̃ sowie der in Schritt
S3 ermittelten modifizierten Verschiebungsmatrix b̃ lässt sich voranstehende Gleichung wie folgt umformulieren.
wobei
die modifizierte Filtermatrix und
die modifizierte Verschiebungsmatrix sind.
-
In einem weiteren Schritt
S4 wird sodann die Eingangsmatrix
I in die Ausgangsmatrix A überführt. Hierzu wird die Eingangsmatrix
I mit der modifizierten Filtermatrix f̃ gefaltet und das Ergebnis dieser Faltung wird durch Addition mit der modifizierten Verschiebungsmatrix b̃ verschoben, wie in nachfolgender Gleichung angegeben:
-
Im Folgenden wird das voranstehend erläuterte Verfahren für den Fall beschreiben, dass die erste Normierungsgröße v eine mit der Standardabweichung σ korrelierende Größe ist und dass die zweite Normierungsgröße w eine mit dem Mittelwert µ korrelierende Größe ist.
-
In konventionellen neuronalen Netzen
10 und/oder in einem konventionellen Verfahren zum Betrieben des neuronalen Netzes
10 wird zum Normieren der Eingangsmatrix häufig von jedem Eintrag der Eingangsmatrix
I der Mittelwert µ abgezogen und das Ergebnis dieser Differenz wird durch die Standardabweichung σ geteilt. Das Ergebnis dieser Normierung wird sodann mit der ursprünglichen Filtermatrix f gefaltet und mit der ursprünglichen Verschiebungsmatrix b linear verschoben, wie in nachfolgender Gleichung angegeben.
wobei µ̃ eine Normierungsmatrix und/oder Mittelwertmatrix ist, deren Einträge alle den Mittelwert µ aufweisen und welche dieselbe Dimension wie die Eingangsmatrix
I aufweist. Die ursprüngliche Verschiebungsmatrix b weist dieselbe Dimension wie das Ergebnis der Faltung der normierten Eingangsmatrix mit der ursprünglichen Filtermatrix f auf, und alle Einträge der Verschiebungsmatrix b weisen einen konstanten Wert b auf.
-
Mit der in Schritt
S2 ermittelten modifizierten Filtermatrix / sowie der in Schritt
S3 ermittelten modifizierten Verschiebungsmatrix b lässt sich voranstehende Gleichung wie folgt umformulieren.
wobei
die modifizierte Filtermatrix und
die modifizierte Verschiebungsmatrix sind.
-
Die erste Normierungsgröße v kann daher ein Kehrwert der Standardabweichung σ sein und/oder mit dem Kehrwert korrelieren und die zweite Normierungsgröße w kann das Negative des Verhältnisses des Mittelwerts µ zur Standardabweichung σ sein und/oder mit diesem Verhältnis korrelieren.
-
In einem weiteren Schritt
S4 wird sodann die Eingangsmatrix
I in die Ausgangsmatrix A überführt. Hierzu wird die Eingangsmatrix
I mit der modifizierten Filtermatrix / gefaltet und das Ergebnis dieser Faltung wird durch Addition mit der modifizierten Verschiebungsmatrix b̃ verschoben, wie in nachfolgender Gleichung angegeben:
-
Wie den voranstehenden vier Gleichungen zu entnehmen ist, kann somit durch die modifizierte Filtermatrix / und die modifizierte Verschiebungsmatrix b̃ die Normierung der Eingangsmatrix I in vorteilhafter Weise zusammen mit der Faltung der Eingangsmatrix I mit der modifizierten Filtermatrix f̃ sowie zusammen mit der Verschiebung des Ergebnisses dieser Faltung durch die modifizierte Verschiebungsmatrix b̃ erfolgen.
-
Das voranstehend erläuterte Verfahren kann in der Eingangsschicht 12a erfolgen. Insbesondere kann das erläuterte Verfahren ausschließlich in der Eingangsschicht 12a erfolgen. Alternativ kann das erläuterte Verfahren in jeder beliebigen, insbesondere in allen, Faltungsschichten 12a-c durchgeführt werden.
-
Im Folgenden wird das erfindungsgemäße Verfahren einem konventionellen Verfahren zum Betreiben des neuronalen Netzes gegenübergestellt. Im konventionellen Verfahren wird die Eingangsmatrix
I zunächst normiert und das Ergebnis der Normierung wird mit der ursprünglichen Filtermatrix f gefaltet. Das Ergebnis dieser Faltung wird sodann mit der ursprünglichen Verschiebungsmatrix addiert, um die Ausgangsmatrix A zu generieren. Das konventionelle Verfahren kann daher mit der Gleichung
beschrieben werden. In dem konventionellen Verfahren sind daher die Normierungsoperation sowie die Faltung und Verschiebung getrennt. Der erste Schritt ist dabei die Normierung, welche für jede Eingangsmatrix
I sowohl während des Trainings des neuronalen Netzes
10 als auch während des Betriebes des trainierten neuronalen Netzes
10 durchgeführt wird. Die Normierung umfasst dabei die Subtraktion des Mittelwerts µ von allen Einträgen der Eingangsmatrix
I sowie das Teilen durch die Standardabweichung σ. In einem zweiten Schritt wird in dem konventionellen Verfahren die normierte Eingangsmatrix mit der ursprünglichen Filtermatrix f gefaltet und das Ergebnis dieser Faltung wird durch Addition mit der ursprünglichen Verschiebungsoperation verschoben.
-
Im Gegensatz dazu wird in dem erfindungsgemäßen Verfahren die Normierungsoperation mit der Faltungsoperation und der Verschiebungsoperation durch Anwenden der modifizierten Filtermatrix f̃ und der modifizierten Verschiebungsmatrix b̃ kombiniert. Zur Ermittlung der modifizierten Filtermatrix / werden die Einträge der ursprünglichen Filtermatrix f durch die Standardabweichung σ geteilt. Schritt S2 kann daher einen Teilschritt des Ermittelns des Verhältnisses von Einträgen der ursprünglichen Filtermatrix f und der Standardabweichung σ umfassen. Zur Ermittlung der modifizierten Verschiebungsmatrix b̃ wird ferner die modifizierte Filtermatrix / mit der Normierungsmatrix µ̃ gefaltet und das Ergebnis dieser Faltung wird von der ursprünglichen Verschiebungsmatrix b abgezogen. Dadurch kann die Eingangsmatrix I in unveränderter und/oder nicht normierter Form mit der modifizierten Filtermatrix f̃ und der modifizierten Verschiebungsmatrix b̃ in die Ausgangsmatrix A überführt werden.
-
Werden die Standardabweichung σ und der Mittelwert µ basierend auf dem Trainingsdatensatz ermittelt, so kann die modifizierte Filtermatrix f̃ und die modifizierte Verschiebungsmatrix b̃ einmalig ermittelt werden und während des Betriebes des trainierten neuronalen Netzes 10 ist keine weitere Anpassung der Eingangsmatrix I, der modifizierten Filtermatrix f̃ und/oder der modifizierten Verschiebungsmatrix b̃ nötig. Dies kann den Rechenaufwand und/oder die Rechenzeit zur Verarbeitung eines Eingangsdatenelements und/oder eines Eingangsbildes I durch das neuronalen Netzes 10 im Vergleich zum konventionellen Verfahren signifikant reduzieren, da im konventionellen Verfahren jede Eingangsmatrix I zunächst normiert wird, bevor diese dem neuronalen Netz 10 zugeführt werden kann.
-
Werden die Standardabweichung σ und der Mittelwert µ hingegen basierend auf der Eingangsmatrix I ermittelt, so kann es erforderlich sein, die modifizierte Filtermatrix f̃ und die modifizierte Verschiebungsmatrix b für die jeweilige Faltungsschicht 12a-c basierend auf der Standardabweichung σ dieser Eingangsmatrix I und basierend auf dem Mittelwert µ dieser Eingangsmatrix I anzupassen. Da die modifizierte Filtermatrix f̃ und die modifizierte Verschiebungsmatrix b̃ jedoch in der Regel eine kleinere Dimension als die Eingangsmatrix I aufweisen, kann auch in diesem Fall der Rechenaufwand und/oder die Rechenzeit im Vergleich zum konventionellen Verfahren signifikant reduziert sein.
-
3 zeigt ein Flussdiagramm zur Illustration von Schritten eines Verfahrens zum Betreiben eines neuronalen Netzes 10 gemäß einem Ausführungsbeispiel der Erfindung. Sofern nicht anders beschrieben, weist das in 3 beschriebene Verfahren dieselben Elemente, Merkmale und Schritte wie das in 2 beschrieben Verfahren auf. Insbesondere können die Schritte S1 bis S4 analog dem Verfahren der 2 ausgestaltet sein.
-
Das in 3 illustrierte Verfahren weist einen optionalen Schritt S2' auf, in welchem die Eingangsmatrix I in eine höherdimensionale Eingangsmatrix I unter Hinzufügen von Einträgen überführt wird. Dieser Vorgang wird häufig auch als „Padding“ bezeichnet und kann insbesondere dazu dienen, eine durch die Faltung bedingte Reduktion der Dimension der Ausgangsmatrix A im Vergleich zur Eingangsmatrix I zu kompensieren, so dass die Ausgangsmatrix A dieselbe Dimension aufweisen kann wie die Eingangsmatrix I.
-
Die bei 2 beschriebenen Gleichungen gelten vornehmlich für den Fall, dass kein Padding angewendet wird. Die zugehörige Faltungsoperation der Eingangsmatrix I mit der modifizierten Filtermatrix / wird in diesem Fall auch als „Valid Convolution“ bezeichnet. Hier kann das neuronale Netz 10 auf reguläre Weise, d.h. analog dem konventionellen Verfahren, trainiert werden, wobei die Eingangsmatrix I mit der ersten Normierungsgröße v und der zweiten Normierungsgröße w, etwa der Standardabweichung σ und dem Mittelwert, normiert werden kann. Optional kann jedoch die Eingangsmatrix I einer derjenigen Faltungsschicht, in welcher das erfindungsgemäße Verfahren durchgeführt wird, nachgelagerten Faltungsschicht durch Hinzufügen von Einträgen mit dem Wert Null, sogenanntes Zero-Padding, in die höherdimensionale Eingangsmatrix / überführt werden.
-
Werden daher während des Trainings des neuronalen Netzes 10 einer Faltungsschicht 12a-c, in welcher das erfindungsgemäße Verfahren implementiert ist, den dieser Faltungsschicht 12a-c zugeführten Eingangsmatrizen I (z.B. Trainingsbilder oder Trainingsdatenelemente) keine Einträge hinzugefügt, so können dieser Faltungsschicht 12a-c auch während des Betriebes des trainierten neuronalen Netzes 10 zugeführte Eingangsmatrizen I ohne Hinzufügen von Einträgen zu den Eingangsmatrizen I zugeführt werden. Nach dem Training des neuronalen Netzes 10, d.h. während des Betriebes des trainierten neuronalen Netzes 10, kann die Faltungsoperation und die Verschiebungsoperation daher gemäß dem in 2 beschriebenen erfindungsgemäßen Verfahren erfolgen.
-
Wird hingegen während des Trainings des neuronalen Netzes 10 ein Padding durchgeführt und/oder werden während des Trainings der Eingangsmatrix I einer Faltungsschicht 12a-c, in welcher das erfindungsgemäße Verfahren implementiert ist, Einträge hinzugefügt, so kann es erforderlich sein, der Eingangsmatrix I dieser Faltungsschicht 12a-c auch während des Betriebes des trainierten neuronalen Netzes 10 Einträge hinzuzufügen, um die Eingangsmatrix I in die höherdimensionale Eingangsmatrix I zu überführen. Wird die Anzahl der hinzugefügten Einträge so gewählt, dass die Dimension nach der Faltung die gleiche ist, so wird häufig auch von einer „Same Convolution“ gesprochen. In Abhängigkeit der Hardware, auf welcher das neuronale Netz 10 implementiert ist, können der Eingangsmatrix I Einträge mit Nullen (sogenanntes „Zero-Padding“) und/oder Einträge mit konstanten, von Null verschiedenen Werten (sogenanntes „Non-Zero-Padding“) hinzugefügt werden.
-
Beispielsweise kann während des Trainings des neuronalen Netzes 10 die Eingangsmatrix auf konventionelle Weise durch Multiplikation der Eingangsmatrix mit der ersten Normierungsgröße v und durch Addition der zweiten Normierungsgröße w normiert werden. Ferner können während des Trainings der Eingangsmatrix I einer Faltungsschicht 12a-c, in welcher das erfindungsgemäße Verfahren implementiert ist, Einträge mit einem Wert von Null hinzugefügt werden (Zero-Padding). Das trainierte neuronale Netz 10 kann nach dem Training auf einer Hardware implementiert werden und/oder auf diese portiert werden, und es können in der jeweiligen Faltungsschicht 12a-c die modifizierte Filtermatrix f̂ und die modifizierte Verschiebungsmatrix b verwendet werden, wobei in diesem Fall in Schritt S2' während des Betriebes des bereits trainierten neuronalen Netzes 10 der Eingangsmatrix I Einträge hinzugefügt werden, welche jeweils das negative Verhältnis der zweiten Normierungsgröße v zur ersten Normierungsgröße w aufweisen können (Non-Zero-Padding).
-
Wird während des Trainings des neuronalen Netzes 10 die Eingangsmatrix auf konventionelle Weise durch Abziehen des Mittelwertes µ von den Einträgen der Eingangsmatrix I und durch Teilen durch die Standardabweichung σ normiert und werden während des Trainings der Eingangsmatrix I einer Faltungsschicht 12a-c, in welcher das erfindungsgemäße Verfahren implementiert ist, Einträge mit einem Wert von Null hinzugefügt werden (Zero-Padding), so kann das trainierte neuronale Netz 10 nach dem Training auf einer Hardware implementiert werden und/oder auf diese portiert werden, und es können in der jeweiligen Faltungsschicht 12a-c die modifizierte Filtermatrix f̃ und die modifizierte Verschiebungsmatrix b̃ verwendet werden, wobei in diesem Fall in Schritt S2' während des Betriebes des bereits trainierten neuronalen Netzes 10 der Eingangsmatrix I Einträge hinzugefügt werden, welche jeweils den in Schritt S1 ermittelten Mittelwert µ aufweisen (Non-Zero-Padding).
-
Alternativ kann während des Trainings des neuronalen Netzes 10 die Eingangsmatrix auf konventionelle Weise durch Multiplikation der Eingangsmatrix mit der ersten Normierungsgröße v und durch Addition der zweiten Normierungsgröße w normiert werden, und es können während des Trainings der Eingangsmatrix I einer Faltungsschicht 12a-c, in welcher das erfindungsgemäße Verfahren implementiert ist, Einträge hinzugefügt werden, welche jeweils einen Wert der zweiten Normierungsgröße w aufweisen (Non-Zero-Padding). Das trainierte neuronale Netz 10 kann nach dem Training auf einer Hardware implementiert und/oder auf diese portiert werden und es können in der jeweiligen Faltungsschicht 12a-c die modifizierte Filtermatrix f̃ und die modifizierte Verschiebungsmatrix b̃ verwendet werden, wobei in diesem Fall in Schritt S2' während des Betriebes des bereits trainierten neuronalen Netzes 10 der Eingangsmatrix I Einträge hinzugefügt werden, welche jeweils den Wert Null aufweisen (Zero-Padding).
-
Wird während des Trainings des neuronalen Netzes 10 die Eingangsmatrix auf konventionelle Weise durch Abziehen des Mittelwertes µ von den Einträgen der Eingangsmatrix I und durch Teilen durch die Standardabweichung σ normiert, und werden während des Trainings der Eingangsmatrix I einer Faltungsschicht 12a-c, in welcher das erfindungsgemäße Verfahren implementiert ist, Einträge hinzugefügt werden, welche jeweils einen Wert des negativen Verhältnisses des Mittelwerts µ zur Standardabweichung σ, d.h. einen Wert von -µ/σ, aufweisen (Non-Zero-Padding), so kann das trainierte neuronale Netz 10 nach dem Training auf einer Hardware implementiert und/oder auf diese portiert werden und es können in der jeweiligen Faltungsschicht 12a-c die modifizierte Filtermatrix f̃ und die modifizierte Verschiebungsmatrix b̃ verwendet werden, wobei in diesem Fall in Schritt S2' während des Betriebes des bereits trainierten neuronalen Netzes 10 der Eingangsmatrix I Einträge hinzugefügt werden, welche jeweils den Wert Null aufweisen (Zero-Padding).
-
Beispielsweise kann voranstehend beschriebenes Hinzufügen von Einträgen zur Eingangsmatrix I ausschließlich in der Eingangsschicht 12a des neuronalen Netzes erfolgen. Für alle anderen Faltungsschichten 12b, 12c kann während des Betriebes des trainierten neuronalen Netzes 10 dasselbe Padding verwendet werden wie während des Trainings. Alternativ kann voranstehend beschriebenes Hinzufügen von Einträgen zur Eingangsmatrix I jedoch in jeder der Faltungsschichten 12a-c erfolgen.
-
4 zeigt ein Flussdiagramm zur Illustration von Schritten eines Verfahrens zum Betreiben eines neuronalen Netzes 10 gemäß einem Ausführungsbeispiel der Erfindung. Insbesondere umfasst das in 4 illustrierte Verfahren das Training des neuronalen Netzes 10 und den Betrieb des bereits trainierten neuronalen Netzes 10. Exemplarisch wird im Folgenden das erfindungsgemäße Verfahren nur in der Eingangsschicht 12a durchgeführt, kann jedoch optional auch in jeder beliebigen Faltungsschicht 12a-c implementiert sein. Sofern nicht anders beschrieben, weist das in 4 beschriebene Verfahren dieselben Elemente, Merkmale und Schritte wie die in voranstehenden Figuren beschriebenen Verfahren auf.
-
In einem dem Training des neuronalen Netzes 10 vorgelagerten Schritt S0 werden der Mittelwert µ und die Standradabweichung σ basierend auf einem Trainingsdatensatz ermittelt, wie bei 2 erläutert. Schritt S0 kann daher auch einen Teilschritt des Bereitstellens eines Trainingsdatensatzes, etwa in einer Speichervorrichtung 11, umfassen. Alternativ können, wie bei 2 beschrieben, der Mittelwert µ und die Standardabweichung σ auch basierend auf der Eingangsmatrix I berechnet werden.
-
Während des Trainings des neuronalen Netzes 10 werden dem neuronalen Netz 10 bzw. der Eingangsschicht 12a in Schritt S1 Trainingsdatenelemente, etwa Trainingsbilder, zugeführt. Diese können in Schritt S1 durch Abziehen des Mittelwertes µ von den Einträgen jedes Trainingsdatenelements und Teilen des Ergebnisses dieser Subtraktion durch die Standardabweichung σ normiert werden. Die Trainingsdatenelemente können gleichsam eine Eingangsmatrix I, so wie in voranstehenden Figuren beschrieben, für die Eingangsschicht 12a darstellen.
-
Diese Eingangsmatrizen I bzw. Trainingsdatenelemente können in einem optionalen Schritt S2 durch Hinzufügen von Einträgen mit dem Wert Null oder durch Hinzufügen von Einträgen mit dem Wert -µ/σ in höherdimensionale Eingangsmatrizen i bzw. höherdimensionale Trainingsdatenelemente überführt werden, wie in 3 beschrieben. Werden den Eingangsmatrizen I der Eingangsschicht 12a keine Einträge hinzugefügt, so können der Ausgangsmatrix A der Eingangsschicht 12a Einträge, etwa mit einem Wert von Null, hinzugefügt werden, um einen faltungsbedingten Dimensionsverlust nach der Eingangsschicht 12a zu kompensieren.
-
In einem Schritt S3 kann dann das eigentliche Training des neuronalen Netzes 10 erfolgen. Als Ergebnis des Trainings können die Einträge der ursprünglichen Filtermatrix f sowie der ursprünglichen Verschiebungsmatrix b ermittelt werden, welche gleichsam trainierte Gewichte, Parameter und/oder Parameterwerte des neuronalen Netzes 10 bezeichnen können.
-
Das trainierte neuronale Netz 10 kann zum Betrieb des trainierten neuronalen Netzes 10 auf einer Hardware implementiert und/oder auf eine Hardware portiert werden. In einem Schritt S4 werden dem neuronalen Netz 10 und/oder der Eingangsschicht 12a nicht normierte Eingangsdatenelemente I, Eingangsmatrizen I und/oder Eingangsbilder I zur Interpretation und/oder Klassifikation zugeführt.
-
Wurden in dem optionalen Schritt S2 den Trainingsdatenelementen Einträge mit dem Wert Null hinzugefügt, so werden in Schritt S4 den Eingangsmatrizen I Einträge mit einem Wert von µ hinzugefügt. Wurden hingegen in dem optionalen Schritt S2 den Trainingsdatenelementen Einträge mit dem Wert -µ/σ hinzugefügt, so werden in Schritt S4 den Eingangsmatrizen I Einträge mit einem Wert von Null hinzugefügt. Wenn der optionale Schritt S2 hingegen nicht durchgeführt wurde, so werden den Eingangsmatrizen I keine Einträge hinzugefügt.
-
In einem Schritt S5 werden sodann die Eingangsmatrizen I der Eingangsschicht 12a durch Anwendung der modifizierten Filtermatrix f̃ und der modifizierten Verschiebungsmatrix b̃ in Ausgangsmatrizen A überführt, wie bei den 2 und 3 im Detail erläutert ist.
-
Das neuronale Netz 10 kann ferner die Ausgangsmatrizen A durch weitere Schichten 12b, 12c propagieren und die Ausgabe 14 ausgeben. Die Ausgabe 14 kann etwa eine vorhergesagte Objektklasse, eine semantische Segmentation und/oder eine beliebige andere Größe sein.
-
Ergänzend ist darauf hinzuweisen, dass „umfassend“ keine anderen Elemente ausschließt und „eine“ oder „ein“ keine Vielzahl ausschließt. Ferner sei darauf hingewiesen, dass Merkmale, die mit Verweis auf eines der obigen Ausführungsbeispiele beschrieben worden sind, auch in Kombination mit anderen Merkmalen anderer oben beschriebener Ausführungsbeispiele verwendet werden können. Bezugszeichen in den Ansprüchen sind nicht als Einschränkung anzusehen.