DE102018200534A1 - Method of operating an artificial neural network - Google Patents

Method of operating an artificial neural network Download PDF

Info

Publication number
DE102018200534A1
DE102018200534A1 DE102018200534.6A DE102018200534A DE102018200534A1 DE 102018200534 A1 DE102018200534 A1 DE 102018200534A1 DE 102018200534 A DE102018200534 A DE 102018200534A DE 102018200534 A1 DE102018200534 A1 DE 102018200534A1
Authority
DE
Germany
Prior art keywords
matrix
input
determined
neural network
modified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018200534.6A
Other languages
English (en)
Inventor
Jens Eric Markus Mehnert
Rolf Michael Koehler
Pia Petrizio
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102018200534.6A priority Critical patent/DE102018200534A1/de
Publication of DE102018200534A1 publication Critical patent/DE102018200534A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0454Architectures, e.g. interconnection topology using a combination of multiple neural nets
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/08Learning methods

Abstract

Es wird ein Verfahren zum Betreiben eines künstlichen neuronalen Netzes (10) bereitgestellt, welches wenigstens eine Faltungsschicht (12a-c) aufweist, die dazu eingerichtet ist, eine Eingangsmatrix (I) der Faltungsschicht (12a-c) basierend auf einer Faltungsoperation und einer Verschiebungsoperation in eine Ausgangsmatrix (A) zu überführen. Das Verfahren weist ein Ermitteln wenigstens einer ersten und einer zweiten Normierungsgröße basierend auf Einträgen der Eingangsmatrix (I) und/oder basierend auf einem Trainingsdatensatz, ein Ermitteln einer modifizierten Filtermatrix (f̂) basierend auf einer ursprünglichen Filtermatrix (f) und basierend auf wenigstens einer der ersten Normierungsgröße und der zweiten Normierungsgröße, und ein Ermitteln einer modifizierten Verschiebungsmatrix (b̃) basierend auf einer ursprünglichen Verschiebungsmatrix (b) und basierend auf wenigstens einer der ersten Normierungsgröße und der zweiten Normierungsgröße auf. Ferner weist das Verfahren ein Überführen der Eingangsmatrix (I) in die Ausgangsmatrix (A) unter Anwendung der modifizierten Filtermatrix (f̂) und der modifizierten Verschiebungsmatrix (b̃) auf. Dadurch kann in vorteilhafter Weise eine Normierungsoperation mit der Faltungsoperation und der Verschiebungsoperation kombiniert werden.
Figure DE102018200534A1_0000
A method is provided for operating an artificial neural network (10) having at least one convolution layer (12a-c) configured to receive an input matrix (I) of the convolution layer (12a-c) based on a convolution operation and a relocation operation into an initial matrix (A). The method comprises determining at least a first and a second normalization quantity based on entries of the input matrix (I) and / or based on a training data set, determining a modified filter matrix (f) based on an original filter matrix (f) and based on at least one of first normalization size and the second normalization size, and determining a modified displacement matrix (b) based on an original displacement matrix (b) and based on at least one of the first normalization size and the second normalization size. Furthermore, the method comprises converting the input matrix (I) into the output matrix (A) using the modified filter matrix (f) and the modified displacement matrix (b). Thereby, advantageously, a normalization operation can be combined with the convolution operation and the relocation operation.

Description

  • Gebiet der ErfindungField of the invention
  • 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.The present invention relates generally to the field of artificial intelligence. In particular, the invention relates to a method for operating an artificial neural network and an artificial neural network, which can be used for example for object detection in vehicles.
  • Stand der TechnikState of the art
  • 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.For training of artificial neural networks, in particular multi-layered and / or folding neural networks, training data supplied to the neural network, such as training images, are usually normalized and / or normalized. Among other things, this can serve to homogenize the training data of a training data record. Also, objects and / or features present in the training data may possibly be emphasized and / or emphasized by the normalization.
  • 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.After training the neural network and / or during operation of the trained neural network, which is also generally referred to as inference, the input data supplied to the neural network for interpretation and / or classification are normalized and / or normalized analogously to the training data. The normalization of the input data can be computationally intensive and / or time-consuming and require a powerful hardware for performing the standardization.
  • Offenbarung der ErfindungDisclosure of the invention
  • 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.Embodiments of the invention may advantageously provide an efficient and fast method of operating an artificial neural network. Also, embodiments of the invention may provide an improved artificial neural network.
  • 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.
    One aspect of the invention relates to a method of operating an artificial neural network. The neural network comprises at least one convolution layer and / or at least one convolutive layer configured to convolve an input matrix of the convolution layer into an output matrix based on a convolution operation and a displacement operation, such as a linear displacement. In this case, the method has a step of determining at least a first normalization variable and a second normalization variable based on entries of the input matrix and / or based on a training data record of the neural network. The method is characterized in particular by the following steps:
    • Determining a modified filter matrix based on an original filter matrix of the at least one convolution layer and based on at least one of the determined first normalization quantity and the second normalization variable;
    • Determining a modified displacement matrix based on an original displacement matrix of the at least one convolution layer and based on at least one of the determined first normalization quantity and the second normalization variable; and
    • Transferring the input matrix into the output matrix using and / or based on the modified filter matrix and the modified displacement matrix.
  • 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.The method may designate a method for training a neural network and / or a method for operating an already trained neural network. For example, the neural network may designate a multilayer artificial neural network which may include multiple convolutional layers. Alternatively or additionally, the neural network may designate a folding neural network. For example, the neural network may have a plurality of successive folding layers, such as hidden layers. The at least one convolution layer in the context of the present disclosure may, for example, designate an input layer and / or first layer of the neural network, a convolution layer downstream of the input layer, and / or a hidden layer of the neural network.
  • 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.The input matrix may generally designate any input data element of the at least one convolution layer. If the neural network has multiple convolutional layers, then the input matrix may designate an input data element for any of these convolutional layers. For the input layer and / or the first layer of the neural network, the input matrix may designate an input data element supplied to the neural network, such as an input image. For a convolution layer downstream of the input layer, the input matrix may further designate the input data element supplied to this convolution layer, which may, for example, correlate with an output matrix of an upstream convolution layer and / or correspond to this output matrix. The input matrix may further have any dimension. In particular, the input matrix can be one-dimensional or multi-dimensional. In other words, the input matrix may designate a one-dimensional or multi-dimensional input tensor.
  • 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. The output matrix may designate any output data element of the at least one convolution layer which may be generated based on the input matrix using the convolution operation and the displacement operation by the convolution layer. If the neural network has multiple convolutional layers, the output matrix may be an output data element of any convolutional layer. In the case of a plurality of successive folding layers, the output matrix of an upstream folding layer can also form an input matrix of a folding layer downstream of this upstream folding layer, correlate with the input matrix of the downstream folding layer and / or correspond to it. The output matrix may further have any dimension. In particular, the output matrix can be one-dimensional or multi-dimensional. In other words, the output matrix may designate a one-dimensional or multi-dimensional output tensor. Furthermore, the output matrix may have the same dimension as the input matrix of the respective convolution layer or a dimension different from the input matrix of the respective convolution layer.
  • 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.For example, the original filter matrix may designate the filter matrix of the convolution layer as used during training of the neural network and / or determined for that convolution layer. The modified filter matrix may designate the filter matrix used by the associated convolution layer during operation of the trained neural network, also called inference. Similarly, the original shift matrix may designate the shift matrix of the convolution layer as used during training of the neural network and / or determined for that convolution layer. The modified displacement matrix may designate the displacement matrix used by the associated convolution layer during operation of the trained neural network.
  • 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.The first normalization variable and the second normalization variable can each serve to normalize the input matrix and / or in each case designate a variable for normalization of the input matrix. The first normalization size and / or the second normalization size may be a scalar, a vector, a matrix and / or a tensor. Generally, the first normalization size and the second normalization size may each be a quantity, such as a statistical quantity, which may be derived from entries of the input matrix and / or from the training data set. For example, the first normalization variable may correlate to one standard deviation, and / or the second normalization size may correlate to a mean value. The mean value can also be a weighted mean value, wherein, for example, entries of the input matrix can be weighted differently and / or individual training images of the training data set can be weighted differently. Also, the first normalization size and the second normalization size may be higher moments of statistics, such as a skewness or a kurtosis. In general, any number of normalization variables can be determined within the scope of the method according to the invention, with the aid of which the input matrix can be normalized using addition, subtraction, multiplication and / or division.
  • 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.In particular, the invention may be considered to be based on the findings described below. During training of artificial neural networks, training data items, such as training images, may be normalized and / or normalized by subtracting an average of entries of the training data items and dividing entries of the training data items by a standard deviation. The mean value and the standard deviation may be global values and / or determined based on an entire training data set with a plurality of training data elements. All training data elements, all input data elements and / or all input matrices of individual folding layers can then be normalized with the global values of the standard deviation and the mean value. Alternatively, the mean value and the standard deviation may be local values which can be separately determined for each training data element fed to the neural network and / or each input data element supplied to the neural network and used for normalization. In conventional methods for operating neural networks and / or in conventional neural networks, during operation of the trained neural network, as a rule, each input data element fed into the neural network, for example an input picture, is normalized in this way. Also, the input matrices of one or more convolutional layers can be normalized in this way. This can sometimes require a considerable amount of computation and / or computing time.
  • 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.According to the invention, it is therefore provided to combine the normalization and / or normalization with the convolution operation performed by the convolution layer and / or the displacement operation. Thus, in the modified filter matrix and the modified displacement matrix, a normalization operation, in particular a linear normalization operation, for normalizing the input matrix can be contained and / or integrated. The normalization operation can generally be an addition, subtraction, division and / or multiplication of Include input matrix with the first normalization size and / or the second scale size and / or with other normalization sizes. In particular, the normalization operation may include subtracting an average of entries of the input matrix and / or dividing the entries of the input matrix by the standard deviation. By considering and / or integrating the first normalization quantity and the second normalization variable into the modified filter matrix and the modified displacement matrix, the convolution operation, the displacement operation and the normalization operation can thus be combined and / or executed in one step. A separate step for performing the normalization operation can thus be dispensed with. In other words, by integrating the first and / or second normalization size into the modified filter matrix and / or the modified displacement matrix, the normalization operation can be integrated into the modified filter matrix and / or the modified displacement matrix. The combining of the normalization with the convolution operation and / or the displacement operation can take place in an input layer and / or first layer of the neural network, via which input data elements, such as input images, can be supplied to the neural network. Alternatively or additionally, the folding operation and / or displacement operation applied to an input matrix of this convolution layer by any other convolution layer can also be combined with the associated normalization operation of this input matrix. As a result, an explicit and / or separate normalization of the input data elements and / or the input matrices can be avoided. Overall, this means that the computational effort and / or the computation time can be reduced, so that the neural network can be configured faster and more efficiently. Also, the trained neural network can therefore be executed on and / or ported to almost any hardware, while little performance or no performance of the hardware is compromised. Also, the hardware used to operate the neural network, in particular a processor and / or a graphics processor, can thus be made less powerful, which can save costs.
  • 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.According to one embodiment of the invention, the first normalization quantity is a variable that correlates with a standard deviation and / or a standard deviation. The first normalization variable may also be a reciprocal of the standard deviation and / or correlate with the reciprocal of the standard deviation. Alternatively or additionally, the second normalization variable is an average value correlating with an average value and / or an average value. The second normalization variable may also be, for example, a negative ratio of the mean value to the standard deviation and / or correlate with this ratio. The first and second normalization quantities may be determined based on entries of the input matrix and / or based on a training data set.
  • 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.According to one embodiment of the invention, the modified filter matrix is determined based on, in particular exclusively based on, the original filter matrix and the determined first standard deviation. Alternatively or additionally, the modified displacement matrix is determined based on the original displacement matrix based on the determined standard deviation and based on the determined average. Thus, the standard deviation and the mean value used for normalization of the input matrix can be integrated into the modified filter matrix and / or the modified displacement matrix so that a standardization of the input matrix to be performed separately can be dispensed with.
  • 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.According to one embodiment of the invention, the determined mean value is an average value of entries of the input matrix. Alternatively or additionally, the determined standard deviation is a standard deviation of entries of the input matrix. The mean value and the standard deviation can therefore be determined as local values for the input matrix of the convolutional layer. For each input matrix, a mean value assigned to this input matrix and / or a standard deviation assigned to this input matrix can be determined in each case. If the associated convolution layer is the input layer, the mean value determined may be an average of the entries of the associated input data element, for example an average of pixels of an input image. Similarly, the standard deviation may be a standard deviation of the entries of the associated input data element, such as pixels of the input image.
  • 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. According to one embodiment of the invention, the training data set comprises a plurality of training data elements, in particular training images, wherein the standard deviation and the mean value are determined based on the training data elements of the training data set. The mean value and the standard deviation can therefore be determined as global values for the input matrix of the convolutional layer. For any input matrix and / or any input data element, therefore, the same average and the same standard deviation can be used. This can further reduce the required computational effort and / or the computation time.
  • 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.According to one embodiment of the invention, the step of transferring the input matrix into the output matrix comprises folding the Input matrix with the modified filter matrix and adding the modified displacement matrix with the folded input matrix. As discussed above, the modified filter matrix and the modified displacement matrix may include the normalization operation for normalizing the input matrix. Thus, in the convolution layer, the input matrix can be normalized, convolved, and / or translated simultaneously to generate the output matrix. Therefore, the input matrix no longer needs to be normalized before feeding to the convolution layer, but all arithmetic operations applied to the input matrix can be done in one step.
  • 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.According to one embodiment of the invention, the step of determining the modified filter matrix comprises forming a ratio of entries of the original filter matrix and the determined standard deviation. In other words, the modified filter matrix can be determined by dividing the entries of the original filter matrix by the determined standard deviation. This can ensure that the input matrix is correctly normalized. The entries of the original filter matrix can thereby designate parameter values and / or weights of the respective convolution layer, as determined during training of the neural network.
  • 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.According to one embodiment of the invention, the step of determining the modified displacement matrix comprises a step of convolving the modified filter matrix with a normalization matrix, wherein all entries of the normalization matrix have the determined mean value, and a step of subtracting the modified filter matrix convoluted with the normalization matrix from the original one displacement map. In other words, the modified displacement matrix may be determined by taking the difference of the original displacement matrix and the result of a convolution between the normalization matrix and the modified filter matrix. This can ensure that the input matrix is correctly normalized. In this case, entries of the original displacement matrix may designate parameter values and / or weights of the respective convolution layer, as determined during training of the neural network.
  • 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.According to an embodiment of the invention, the method further comprises a step of converting the input matrix into a higher dimensional input matrix by adding entries to the input matrix. In this case, if the neural network is trained and / or during operation of the trained neural network or during inference, the added entries each have the determined mean value. Alternatively or additionally, during training of the neural network, the added entries each have a value of zero. By adding entries to the input matrix, advantageously, one dimension of the output matrix may match one dimension of the input matrix before adding the entries after applying the convolution operation. Adding entries is often referred to as "padding." Therefore, if zeros are added to the input matrix of a convolution layer during training of the neural network, then the input matrix for that convolution layer after training, i. during operation of the trained network, entries with the mean value are added.
  • 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.According to an embodiment of the invention, when the neural network is trained, the entries added to the input matrix each have a value of zero. Alternatively or additionally, during the training of the neural network, the added entries each have a negative value of the ratio of the determined mean value to the determined standard deviation. Therefore, if, during training of the neural network, entries are added to the input matrix of a convolution layer corresponding to the negative of the ratio of the determined average to the determined standard deviation, then the input matrix for that convolution layer after training, i. during operation of the trained network, zeros are added. In particular, the dimension of the output matrix can thus be retained and / or match the dimension of the input matrix before adding the entries.
  • 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.According to one embodiment of the invention, the at least one convolution layer is an input layer and / or a first layer of the neural network. Alternatively or additionally, the input matrix is an input data element, in particular an input image, which is supplied to the neural network for interpretation and / or classification. The input data element may have any dimension and / or be an input image with an array of any number of pixels. The pixels of the input image may be entries of the input data element and / or entries of the input matrix of the input layer.
  • 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.According to one embodiment of the invention, the modified filter matrix and the modified displacement matrix are applied exclusively in the input layer of the neural network. Thus, an efficiency of the method for operating the neural network can be further increased and / or the computational effort or the computing time can be further reduced.
  • 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. According to one embodiment of the invention, the neural network has a plurality of convolution layers, which are respectively adapted to convert an input matrix of the respective convolution layer into an output matrix of the respective convolution layer, wherein a modified convolution matrix and a modified displacement matrix are determined for each convolution layer, and wherein each Input matrix of each convolution layer is converted into an output matrix using the modified filter matrix determined for the respective convolution layer and the modified displacement matrix determined for the respective convolution layer. The modified filter matrix and the modified displacement matrix can be determined based on the original filter matrix and the original displacement matrix of the respective convolution layer.
  • 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.According to one embodiment of the invention, an output matrix of at least one convolution layer forms an input matrix of at least one convolution layer downstream of this convolution layer, so that the mean value and the standard deviation for the downstream convolution layer are determined based on this output matrix. In other words, the starting matrix of an upstream folding layer of the input matrix can correspond to a folding layer immediately downstream of this upstream folding layer.
  • 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.Another aspect of the invention relates to an artificial neural network. The neural network is in this case configured to carry out the method for operating the neural network, as described above and below. The neural network may in particular be implemented on a processor and / or have a processor.
  • 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.Features, elements and / or steps of the method for operating the neural network may be features and / or elements of the neural network and vice versa. In other words, what has been disclosed in relation to the method applies equally to the one disclosed with respect to the neural network and vice versa.
  • 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.In particular, the neural network may include at least one convolution layer configured to convolve an input matrix with a modified filter matrix and to add the convolved input matrix to a modified displacement matrix to generate an output matrix of the convolution layer. In this case, entries of the modified filter matrix can correlate with a ratio of entries of an original filter matrix of the convolution layer and a standard deviation. The entries of the modified filter matrix may be given, for example, by the ratio of the entries of the original filter matrix and the standard deviation. Furthermore, entries of the modified displacement matrix with a difference of an original displacement matrix and the result of a convolution of the modified filter matrix can be correlated with a normalization matrix whose entries each have the determined mean value. In other words, the entries of the modified displacement matrix may be given by the difference of the original displacement matrix and the result of the convolution of the modified filter matrix with the normalization matrix. The standard deviation and the mean value can be determined based on entries of the input matrix and / or based on a training data set of the neural network.
  • 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.The method according to the invention for operating the neural network and / or the neural network can be advantageously used in many areas of industry. In particular, the method and / or the neural network can be used in the area of autonomous driving, for example in a motor vehicle. For example, the method and / or the neural network can be used for object recognition based on image data. With the method according to the invention and the neural network, recognition of traffic signs, pedestrians, obstacles and / or other objects in the image data can be carried out in particular. For example, image data and / or images can be recorded with a camera of a motor vehicle and fed to the neural network for object recognition. The neural network can interpret, process and / or process the image data. In this case, the neural network can in particular make a classification of objects contained in the image data and output a corresponding output. For example, based on the processing of the image data, the neural network can determine at least one probability value and / or one probability with which an object contained in the image data can be assigned to a specific class of objects and / or an object class. Alternatively or additionally, the neural network can determine the class of objects and / or object class to which the object contained in the image data can be assigned. The object class and / or the at least one probability value can be output and / or provided by the neural network. The output can be supplied, for example, to a control unit of the motor vehicle, which can derive a vehicle control based on the output, for example an evasive maneuver and / or a braking maneuver. The control unit can also cause the motor vehicle to carry out the derived or determined vehicle control, in particular for carrying out the evasive maneuver and / or or the brake maneuver. Consequently, a method for operating a vehicle can be realized by means of the neural network. Alternatively or additionally, based on the output of the neural network, a warning device, for example for outputting an acoustic and / or visual warning signal, can be actuated.
  • 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.Also, the method and neural network can be advantageously used for segmentation of image data. Further, the method and neural network can be used to analyze medical images and / or medical image data, such as to detect a diabetes mellitus of a patient. Also in robotics, for example for controlling a robot, in particular based on image data, the method and the neural network can be used and / or used. Another possible application of the neural network and / or the method is quality control, for example for identifying defective goods based on image data and / or other data.
  • Im Folgenden werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen erläutert.In the following, embodiments of the invention will be explained with reference to the accompanying drawings.
  • Figurenlistelist of figures
  • 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.
    Embodiments of the invention will now be described in detail with reference to the accompanying drawings.
    • 1 shows an artificial neural network according to an embodiment of the invention.
    • 2 shows a flowchart for illustrating steps of a method for operating a neural network according to an embodiment of the invention.
    • 3 shows a flowchart for illustrating steps of a method for operating a neural network according to an embodiment of the invention.
    • 4 shows a flowchart for illustrating steps of a method for operating a neural network according to an embodiment of the invention.
  • Die Figuren sind lediglich schematisch und nicht maßstabsgetreu. In den Figuren sind gleiche, gleich wirkende oder ähnliche Elemente mit gleichen Bezugszeichen versehen.The figures are only schematic and not to scale. In the figures, the same, the same or similar elements are provided with the same reference numerals.
  • Ausführungsformen der ErfindungEmbodiments of the invention
  • 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. 1 shows an artificial neural network 10 according to an embodiment of the invention. This in 1 illustrated artificial neural network 10 is exemplary as a multi-layered neural network 10 executed.
  • 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.The neural network 10 can be used for example for the interpretation of image data, for example in the context of an object recognition in a motor vehicle. The neural network 10 For example, with a storage device 11 be coupled and / or a storage device 11 for storing image data. The image data can be recorded approximately with a camera of the motor vehicle and in the storage device 11 for further processing and / or interpretation by the neural network 10 be deposited. The image data can have one or more images which correspond to the neural network 10 can be supplied and / or which in the neural network 10 can be fed.
  • 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.The artificial neural network 10 has an input layer 12a and / or a first layer 12a on which an input matrix I 0 is supplied. In general, the input layer 12a a neural network 10 a folding layer. The first layer and / or the input layer 12a can therefore be a first folding layer 12a of the neural network 10 describe. The input layer 12a supplied input matrix I 0 can be about one input data item I 0 and / or an input image I 0 his. The input data element, the input image and / or the input matrix I 0 the first layer 12a may be any array with any number of pixels, with the pixel entries of the input matrix I 0 correspond. The input data element, the input image and / or the input matrix I 0 the input layer 12a can in particular a single image of the in the storage device 11 deposited image data. The input data element, the input image and / or the input matrix I 0 the input layer 12a can do this the neural network 10 be supplied without a preprocessing, in particular without previously perform a standardization and / or normalization, as explained in more detail below.
  • 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.Next points the neural network 10 several folding layers 12b . 12c on. The neural network 10 can be any number of convolutional layers 12b . 12c respectively. The folding layer 12b is the input layer 12a immediately downstream and / or coupled with this. Analogous is the folding layer 12c the folding layer 12b downstream, optionally between the folding layers 12b . 12c further folding layers and / or further layers of the neural network 10 can be arranged.
  • 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.The input layer 12a and the folding layers 12b . 12c are generally adapted to the particular layer 12a-c supplied input matrix I 0 . I 1 , Based on a convolution operation and a displacement operation, in particular a linear displacement, into an output matrix A 0 . A 1 . A n-1 the respective layer 12a-c to convict. In other words, each of the layers 12a-c to perform a convolution operation and a move operation. The input layer 12a generated in the in 1 illustrated embodiment by applying the convolution operation and the displacement operation from the input matrix I 0 an initial matrix A 0 the input layer 12a , Based on the starting matrix A 0 the input layer 12a then an input matrix I 1 for the input layer 12a Immediately downstream folding layer 12b to be generated. For this purpose, the output matrix A 0 the input layer 12a modified and / or the starting matrix A 0 the input layer 12a can the input matrix I 1 the folding layer 12b form. Analogously, an output matrix A n-1 one of the convolutional layers 12c immediately upstream convolutional layer the input matrix I n the folding layer 12c form as in 1 illustrated.
  • Details der von jeder der Faltungsschichten 12a-c durchgeführten Faltungsoperation und der Verschiebungsoperation werden in nachfolgenden Figuren erläutert.Details of each of the convolutional layers 12a-c The folding operation performed and the shifting operation will be explained in the following figures.
  • 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.As a result of processing and / or interpreting the input matrix, the input data element and / or the input image I 0 can the neural network 10 an issue 14 identify, deploy and / or issue. The output 14 may be, for example, an object class which is one in the input image I 0 contained object can be assigned. Alternatively or additionally, the output 14 have one or more probability values. Each probability value can indicate a probability with the one in the input image I 0 contained object can be assigned to a specific object class.
  • 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.Becomes the neural network 10 used to detect an obstacle in a motor vehicle, the output can 14 Furthermore, a control unit of the motor vehicle are supplied, which based on the output 14 For example, determine an evasive maneuver and / or a braking maneuver and cause the motor vehicle to perform this evasive maneuver and / or braking maneuver.
  • 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. 2 shows a flowchart for illustrating steps of a method for operating a neural network 10 according to an embodiment of the invention. Unless otherwise stated, this is indicated in 2 described neural network 10 the same elements and features as with reference to 1 described neural network 10 on.
  • 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.Generally, with reference to FIG 2 described neural network 10 at least one folding layer 12a-c which is adapted to an input matrix I i , i = 0 ... n in an output matrix A i , i = 0 ... n to convict. For simplicity, the indices i = 0 ... n are omitted below. The method described below can be for any folding layer 12a-c be performed. In other words, the method described below can be applied to one, several or all folding layers 12a-c Respectively.
  • 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.In a first step S1 At least a first normalization variable v and a second normalization variable w are determined. The first normalization variable v can thereby correlate with a standard deviation σ, be a reciprocal of the standard deviation and / or be a standard deviation σ. The second normalization variable w may be correlated with a mean value μ, be an average value μ and / or be the negative ratio of the mean value to the standard deviation. The first normalization variable v, the second normalization variable w, the standard deviation σ and / or the mean value μ can be based on the input matrix I and / or based on entries of the input matrix I the respective folding layer 12a-c be determined. For this purpose, the mean value μ as the mean value μ of all entries of the input matrix I be determined. Also, individual entries of the input matrix can be weighted differently for determining the mean value μ. Analogously, the standard deviation σ can be used as standard deviation σ of all entries of the input matrix I be determined. The standard deviation σ and the mean μ can be used for one or more folding layers 12a-c in each case for the corresponding folding layer 12a-c based on this convolutional layer 12a-c supplied input matrix I be determined.
  • 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.Alternatively or additionally, the first normalization variable v, the second normalization variable w, the standard deviation σ and / or the mean value μ can be based on a training data set of the neural network 10 be determined. The training data set can have a plurality of training data elements, in particular a plurality of training images. The mean μ can thus be an average of all entries of all training data elements of the training data set. Individual training images can also be weighted differently to determine the mean value μ. Analogously, the standard deviation σ can be a standard deviation of all entries of all training data elements of the training data set. The standard deviation σ and the mean value μ determined in this way can then be used for one, several or all folding layers 12a-c be used.
  • 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.The first normalization variable v and / or the second normalization variable, in particular the standard deviation and / or the mean value μ, can be determined in step S1 also be modified, such as by adding a value and / or by multiplying by a factor.
  • 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 a further step S2 becomes a modified filter matrix f based on an original filter matrix f of the convolution layer 12a-c and determined based on the determined first normalization variable v, such as the determined standard deviation σ.
  • 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 a further step S3 becomes a modified displacement matrix b based on an original shift matrix b of the convolution layer 12a-c , based on the first normalization size v and determined based on the second normalization size w. The modified displacement matrix b may be based on, for example, the original displacement matrix b of the convolution layer 12a-c , are determined based on the determined standard deviation σ and based on the determined average μ.
  • 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.In the modified filter matrix f and the modified displacement matrix b, therefore, a normalization operation for the input matrix I be included, so that by the folding layer 12a-c performed folding operation and that of the folding layer 12a-c performed shift operation can be combined with the normalization operation. This allows an explicit and / or separate normalization of the input matrix I be avoided.
  • 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. ( v I + w ) f + b
    Figure DE102018200534A1_0001
    In conventional methods of operating a neural network, the input matrix becomes I first normalized and then convolved with the original filter matrix f and shifted with the original displacement matrix b. In general, the input matrix I be normalized and / or normalized with the aid of the first normalization variable v and the second normalization variable w. In particular, entries of the input matrix I and / or the input matrix I for normalization, multiplied by the first normalization quantity v, and the second normalization quantity w can be added to the result of this multiplication. In conventional neural networks, the normalized input matrix then becomes I with the original filter matrix f convolved and shifted with the original shift matrix b, as indicated in the following equation. ( v I + w ) * f + b
    Figure DE102018200534A1_0001
  • 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. ( v I + w ) f + b = I v f + w f + b = I f ˜ + b ˜ 1
    Figure DE102018200534A1_0002
    wobei f ˜ = v f
    Figure DE102018200534A1_0003
    die modifizierte Filtermatrix und b ˜ = w f + b
    Figure DE102018200534A1_0004
    die modifizierte Verschiebungsmatrix sind.
    With the in step S2 determined modified filter matrix f and in step S3 determined modified displacement matrix b can be reworded above equation as follows. ( v I + w ) * f + b = I * v f + w * f + b = I * f ~ + b ~ 1
    Figure DE102018200534A1_0002
    in which f ~ = v f
    Figure DE102018200534A1_0003
    the modified filter matrix and b ~ = w * f + b
    Figure DE102018200534A1_0004
    are the modified displacement matrix.
  • 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: I f ˜ + b ˜ = A
    Figure DE102018200534A1_0005
    In a further step S4 then becomes the input matrix I transferred to the output matrix A. For this purpose, the input matrix I is convolved with the modified filter matrix f and the result of this convolution is shifted by addition with the modified displacement matrix b, as indicated in the following equation: I * f ~ + b ~ = A
    Figure DE102018200534A1_0005
  • 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 the following, the method explained above will be described for the case in which the first normalization variable v is a variable that correlates with the standard deviation σ and that the second normalization variable w is a variable that correlates to the mean value μ.
  • 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. I μ ˜ σ f + b ,
    Figure DE102018200534A1_0006
    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.
    In conventional neural networks 10 and / or in a conventional method of operating the neural network 10 is used to normalize the input matrix of each entry of the input matrix I the mean μ is subtracted and the result of this difference is divided by the standard deviation σ. The result of this normalization is then convolved with the original filter matrix f and linearly shifted with the original shift matrix b, as indicated in the following equation. I - μ ~ σ * f + b .
    Figure DE102018200534A1_0006
    where μ is a normalization matrix and / or mean value matrix whose entries all have the mean value μ and which have the same dimension as the input matrix I having. The original displacement matrix b has the same dimension as the Result of the convolution of the normalized input matrix with the original filter matrix f, and all entries of the displacement matrix b have a constant value b.
  • 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. I μ ˜ σ f + b = I f σ μ ˜ f σ + b = I f ˜ + b ˜ ,
    Figure DE102018200534A1_0007
    wobei f ˜ = f σ
    Figure DE102018200534A1_0008
    die modifizierte Filtermatrix und b ˜ = μ ˜ f σ + b
    Figure DE102018200534A1_0009
    die modifizierte Verschiebungsmatrix sind.
    With the in step S2 determined modified filter matrix / as well as in step S3 determined modified displacement matrix b can be reworded above equation as follows. I - μ ~ σ * f + b = I * f σ - μ ~ * f σ + b = I * f ~ + b ~ .
    Figure DE102018200534A1_0007
    in which f ~ = f σ
    Figure DE102018200534A1_0008
    the modified filter matrix and b ~ = - μ ~ * f σ + b
    Figure DE102018200534A1_0009
    are the modified displacement matrix.
  • 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.The first normalization variable v can therefore be a reciprocal of the standard deviation σ and / or correlate with the reciprocal value, and the second normalization variable w can be the negative of the ratio of the mean value μ to the standard deviation σ and / or correlate with this ratio.
  • 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: I f ˜ + b ˜ = A
    Figure DE102018200534A1_0010
    In a further step S4 then becomes the input matrix I transferred to the output matrix A. For this purpose, the input matrix I is convolved with the modified filter matrix / and the result of this convolution is shifted by addition with the modified displacement matrix b, as indicated in the following equation: I * f ~ + b ~ = A
    Figure DE102018200534A1_0010
  • 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.As can be seen from the above four equations, the normalization of the input matrix can thus be achieved by the modified filter matrix / and the modified displacement matrix b I advantageously together with the convolution of the input matrix I with the modified filter matrix f and together with the displacement of the result of this convolution by the modified displacement matrix b.
  • 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.The above-explained method can be used in the input layer 12a respectively. In particular, the described method can be used exclusively in the input layer 12a respectively. Alternatively, the illustrated method may be used in any, especially in all, folding layers 12a-c be performed.
  • 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 I μ ˜ σ f + b = A
    Figure DE102018200534A1_0011
    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.
    In the following, the method according to the invention is compared with a conventional method for operating the neural network. In the conventional method, the input matrix becomes I first normalized and the result of normalization is convolved with the original filter matrix f. The result of this convolution is then added to the original displacement matrix to generate the output matrix A. The conventional method can therefore with the equation I - μ ~ σ * f + b = A
    Figure DE102018200534A1_0011
    to be discribed. In the conventional method, therefore, the normalization operation as well as the convolution and displacement are separated. The first step is the normalization, which for each input matrix I both during training of the neural network 10 as well as during the operation of the trained neural network 10 is carried out. The normalization comprises the subtraction of the mean value μ of all entries of the input matrix I and dividing by the standard deviation σ. In a second step, in the conventional method, the normalized input matrix is convolved with the original filter matrix f, and the result of this convolution is shifted by addition with the original shift operation.
  • 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.In contrast, in the method according to the invention, the normalization operation is combined with the convolution operation and the displacement operation by applying the modified filter matrix f and the modified displacement matrix b. To determine the modified filter matrix /, the entries of the original filter matrix f are divided by the standard deviation σ. step S2 may therefore comprise a substep of determining the ratio of entries of the original filter matrix f and the standard deviation σ. To determine the modified displacement matrix b, the modified filter matrix / is further convolved with the normalization matrix μ and the result of this convolution is subtracted from the original displacement matrix b. This allows the input matrix I be transferred in the unchanged and / or non-normalized form with the modified filter matrix f and the modified displacement matrix b in the output matrix A.
  • 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.If the standard deviation σ and the mean μ are determined based on the training data set, then the modified filter matrix f and the modified displacement matrix b can be determined once and during the operation of the trained neural network 10 is no further adaptation of the input matrix I , the modified filter matrix f and / or the modified Displacement matrix b needed. This can be the computational effort and / or the computing time for processing an input data element and / or an input image I through the neural network 10 Compared to the conventional method significantly reduce, as in the conventional method each input matrix I is first normalized before this the neural network 10 can be supplied.
  • 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.On the other hand, the standard deviation σ and the mean value μ are based on the input matrix I determined, it may be necessary, the modified filter matrix f and the modified displacement matrix b for the respective folding layer 12a-c based on the standard deviation σ of this input matrix I and based on the mean μ of this input matrix I adapt. However, since the modified filter matrix f and the modified displacement matrix b are typically smaller in dimension than the input matrix I can also be significantly reduced in this case, the computational effort and / or the computational time compared to the conventional method.
  • 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. 3 shows a flowchart for illustrating steps of a method for operating a neural network 10 according to an embodiment of the invention. Unless otherwise stated, this is indicated in 3 described method the same elements, features and steps as in 2 described procedures. In particular, the steps S1 to S4 analogous to the method of 2 be designed.
  • 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.This in 3 illustrated method has an optional step S2 ' on, in which the input matrix I into a higher-dimensional input matrix I by adding entries. This process is often referred to as "padding" and can serve, in particular, to reduce the dimension of the output matrix A compared to the input matrix due to the convolution I so that the output matrix A can have the same dimension as the input matrix 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.The at 2 The equations described above apply primarily to the case where no padding is applied. The associated convolution operation of the input matrix I with the modified filter matrix / is also called "valid convolution" in this case. Here is the neural network 10 be trained in a regular manner, ie analogous to the conventional method, wherein the input matrix I with the first normalization size v and the second normalization size w, such as the standard deviation σ and the mean, can be normalized. Optionally, however, the input matrix I one of the convolutional layers in which the method according to the invention is carried out, the subsequent convolution layer is transferred into the higher-dimensional input matrix by adding zero-value entries, so-called zero-padding.
  • 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.Become during the training of the neural network 10 a convolutional layer 12a-c in which the method according to the invention is implemented, that of this folding layer 12a-c supplied input matrices I (eg training images or training data elements) no entries added, so can this convolution layer 12a-c also during the operation of the trained neural network 10 supplied input matrices I without adding entries to the input matrices I be supplied. After training the neural network 10 ie during operation of the trained neural network 10 Thus, the convolution operation and the move operation may be performed according to the method of FIG 2 carried out described method of the invention.
  • 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.Will, however, during training of the neural network 10 Padding is performed and / or during training of the input matrix I a convolutional layer 12a-c In which the method according to the invention is implemented, entries added, it may be necessary to use the input matrix I this folding layer 12a-c also during the operation of the trained neural network 10 Add entries to the input matrix I into the higher-dimensional input matrix I to convict. If the number of added entries is chosen so that the dimension after folding is the same, it is often referred to as a "same convolution". Depending on the hardware on which the neural network 10 can be implemented, the input matrix I Zero-padding entries and / or non-zero-padding entries (so-called "non-zero-padding").
  • 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).For example, during training of the neural network 10 the input matrix can be normalized by multiplying the input matrix by the first normalization variable v and by adding the second normalization variable w in a conventional manner. Further, during training, the input matrix I a convolutional layer 12a-c in which the method according to the invention is implemented, entries with a value of zero are added (zero-padding). The trained neural network 10 can be implemented on a hardware after the training and / or ported to it, and it can be in the respective convolutional layer 12a-c the modified filter matrix f and the modified displacement matrix b are used, in which case in step S2 ' during operation of the already trained neural network 10 the input matrix I Entries are added which each may have the negative ratio of the second normalization variable v to the first normalization variable w (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).Will during training of the neural network 10 the input matrix in a conventional manner by subtracting the mean value μ from the entries of the input matrix I and normalized by dividing by the standard deviation σ and become the input matrix during training I a convolutional layer 12a-c In which the method according to the invention is implemented, entries with a value of zero are added (zero-padding), the trained neural network can 10 after training can be implemented on a hardware and / or ported to it, and it can be in the respective convolutional layer 12a-c the modified filter matrix f and the modified displacement matrix b are used, in which case in step S2 ' during operation of the already trained neural network 10 the input matrix I Entries are added, each in step S1 have determined mean μ (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).Alternatively, while training the neural network 10 the input matrix can be normalized by multiplying the input matrix by the first normalization variable v and by adding the second normalization variable w, and during training, the input matrix can be normalized I a convolutional layer 12a-c in which the method according to the invention is implemented, entries are added which each have a value of the second normalization variable w (nonzero padding). The trained neural network 10 can be implemented on a hardware after the training and / or ported to it and it can be in the respective convolutional layer 12a-c the modified filter matrix f and the modified displacement matrix b are used, in which case in step S2 ' during operation of the already trained neural network 10 the input matrix I Entries are added, each having the value zero (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).Will during training of the neural network 10 the input matrix in a conventional manner by subtracting the mean value μ from the entries of the input matrix I and normalized by dividing by the standard deviation σ, and become the input matrix during training I a convolutional layer 12a-c in which the method according to the invention is implemented, entries are added which each have a value of the negative ratio of the mean value μ to the standard deviation σ, ie a value of -μ / σ (nonzero padding), then the trained neural network 10 After training on a hardware can be implemented and / or ported to it and it can be in the respective convolutional layer 12a-c the modified filter matrix f and the modified displacement matrix b are used, in which case in step S2 ' during operation of the already trained neural network 10 the input matrix I Entries are added, each having the value zero (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.For example, the above-described addition of entries to the input matrix I only in the input layer 12a of the neural network. For all other folding layers 12b . 12c can during the operation of the trained neural network 10 same padding used as during exercise. Alternatively, the above-described addition of entries to the input matrix I however, in each of the folding layers 12a-c respectively.
  • 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. 4 shows a flowchart for illustrating steps of a method for operating a neural network 10 according to an embodiment of the invention. In particular, this includes in 4 illustrated method training of the neural network 10 and the operation of the already trained neural network 10 , By way of example, the method according to the invention will be described below only in the input layer 12a but optionally also in any convolutional layer 12a-c be implemented. Unless otherwise stated, this is indicated in 4 described the same elements, features and steps as the methods described in the preceding figures.
  • 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.In a training of the neural network 10 upstream step S0 the mean μ and the standard deviation σ are determined based on a training data set, as in 2 explained. step S0 can therefore also a sub-step of providing a training data set, such as in a storage device 11 , include. Alternatively, as with 2 described, the mean μ and the standard deviation σ also based on the input matrix I be calculated.
  • 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.During training of the neural network 10 become the neural network 10 or the input layer 12a in step S1 Training data elements, such as training images supplied. These can be in step S1 by subtracting the mean μ from the entries of each training data item and dividing the result of this subtraction by the standard deviation σ. The training data elements can be an input matrix I , as described in the preceding figures, for the input layer 12a represent.
  • 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.These input matrices I or training data elements can in an optional step S2 by adding entries with the value zero or by adding entries with the value -μ / σ into higher-dimensional input matrices i or higher-dimensional training data elements, as in 3 described. Be the input matrices I the input layer 12a If no entries are added, the output matrix A may be the input layer 12a Entries, such as with a value of zero, are added to a convolutional dimension loss after the input layer 12a to compensate.
  • 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.In one step S3 can then be the actual training of the neural network 10 respectively. As a result of the training, the entries of the original filter matrix f and of the original displacement matrix b can be determined, which are similarly trained weights, parameters and / or parameter values of the neural network 10 can denote.
  • 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.The trained neural network 10 can be used to operate the trained neural network 10 implemented on hardware and / or ported to hardware. In one step S4 become the neural network 10 and / or the input layer 12a non-normalized input data elements I , Input matrices I and / or input images I supplied for interpretation and / or classification.
  • 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.Were in the optional step S2 the training data elements are added entries with the value zero, so in step S4 the input matrices I Added entries with a value of μ. Were, however, in the optional step S2 The training data elements are added entries with the value -μ / σ, so in step S4 the input matrices I Added entries with a value of zero. If the optional step S2 however, was not performed, so are the input matrices I no entries added.
  • 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.In one step S5 then the input matrices I the input layer 12a by the application of the modified filter matrix f and the modified displacement matrix b into output matrices A, as in the case of 2 and 3 is explained in detail.
  • 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.The neural network 10 Further, the output matrices A may be further layers 12b . 12c propagate and the output 14 output. The output 14 may be a predicted object class, a semantic segmentation, and / or any other size.
  • 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.In addition, it should be noted that "inclusive" does not exclude other elements and "a" or "an" does not exclude a multitude. It should also be appreciated that features described with reference to any of the above embodiments may also be used in combination with other features of other embodiments described above. Reference signs in the claims are not to be considered as limiting.

Claims (15)

  1. Verfahren zum Betreiben eines künstlichen neuronalen Netzes (10), welches wenigstens eine Faltungsschicht (12a-c) aufweist, die dazu eingerichtet ist, eine Eingangsmatrix (I) der Faltungsschicht (12a-c) basierend auf einer Faltungsoperation und einer Verschiebungsoperation in eine Ausgangsmatrix (A) zu überführen, das Verfahren aufweisend die Schritte: Ermitteln wenigstens einer ersten Normierungsgröße und einer zweiten Normierungsgröße basierend auf Einträgen der Eingangsmatrix (I) und/oder basierend auf einem Trainingsdatensatz des neuronalen Netzes (10), dadurch gekennzeichnet, dass das Verfahren ferner die Schritte aufweist: Ermitteln einer modifizierten Filtermatrix (f̃) basierend auf einer ursprünglichen Filtermatrix (f) der wenigstens einen Faltungsschicht (12a-c) und basierend auf wenigstens einer der ermittelten ersten Normierungsgröße und der zweiten Normierungsgröße; Ermitteln einer modifizierten Verschiebungsmatrix (b̃) basierend auf einer ursprünglichen Verschiebungsmatrix (b) der wenigstens einen Faltungsschicht (12a-c) und basierend auf wenigstens einer der ermittelten ersten Normierungsgröße und der zweiten Normierungsgröße; und Überführen der Eingangsmatrix (I) in die Ausgangsmatrix (A) basierend auf der modifizierten Filtermatrix (f̃) und der modifizierten Verschiebungsmatrix (b̃).A method of operating an artificial neural network (10) comprising at least one convolution layer (12a-c) adapted to convert an input matrix (I) of the convolution layer (12a-c) into an output matrix (12) based on a convolution operation and a displacement operation. A), the method comprising the steps of: determining at least a first normalization quantity and a second normalization variable based on entries of the input matrix (I) and / or based on a training data set of the neural network (10), characterized in that the method further comprises Comprising: determining a modified filter matrix (f) based on an original filter matrix (f) of the at least one convolution layer (12a-c) and based on at least one of the determined first normalization quantity and the second normalization variable; Determining a modified displacement matrix (b) based on an original displacement matrix (b) of the at least one convolution layer (12a-c) and based on at least one of the determined first normalization size and the second normalization size; and converting the input matrix (I) to the output matrix (A) based on the modified filter matrix (f) and the modified displacement matrix (b).
  2. Verfahren nach Anspruch 1, wobei die erste Normierungsgröße eine mit einer Standardabweichung (σ) korrelierende Größe und/oder eine Standardabweichung ist; und/oder wobei die zweite Normierungsgröße eine mit einem Mittelwert (µ) korrelierende Größe und/oder ein Mittelwert (µ) ist.Method according to Claim 1 wherein the first normalization quantity is a standard deviation (σ) correlating quantity and / or a standard deviation; and / or wherein the second normalization quantity is a variable correlating with an average value (μ) and / or an average value (μ).
  3. Verfahren nach Anspruch 2, wobei die modifizierte Filtermatrix (f̂) basierend auf der ursprünglichen Filtermatrix (f) der wenigstens einen Faltungsschicht (12a-c) und basierend auf der ermittelten Standardabweichung (σ) ermittelt wird; und/oder wobei die modifizierte Verschiebungsmatrix (5) basierend auf der ursprünglichen Verschiebungsmatrix (b) der wenigstens einen Faltungsschicht (12a-c), basierend auf der ermittelten Standardabweichung (σ) und basierend auf dem ermittelten Mittelwert (µ) ermittelt wird.Method according to Claim 2 wherein the modified filter matrix (f) is determined based on the original filter matrix (f) of the at least one convolution layer (12a-c) and based on the determined standard deviation (σ); and / or wherein the modified displacement matrix (5) is determined based on the original displacement matrix (b) of the at least one convolution layer (12a-c), based on the determined standard deviation (σ) and on the determined mean value (μ).
  4. Verfahren nach einem der Ansprüche 2 oder 3, wobei der ermittelte Mittelwert (µ) ein Mittelwert von Einträgen der Eingangsmatrix (I) ist; und/oder wobei die ermittelte Standardabweichung (σ) eine Standardabweichung von Einträgen der Eingangsmatrix (I) ist.Method according to one of Claims 2 or 3 wherein the determined mean value (μ) is an average value of entries of the input matrix (I); and / or wherein the determined standard deviation (σ) is a Standard deviation of entries of the input matrix (I).
  5. Verfahren nach einem der Ansprüche 2 oder 3, wobei der Trainingsdatensatz mehrere Trainingsdatenelemente, insbesondere Trainingsbilder, aufweist; wobei die Standardabweichung (σ) und der Mittelwert basierend auf den Trainingsdatenelementen des Trainingsdatensatzes ermittelt werden.Method according to one of Claims 2 or 3 wherein the training data set comprises a plurality of training data elements, in particular training images; wherein the standard deviation (σ) and the mean value are determined based on the training data items of the training data set.
  6. Verfahren nach einem der voranstehenden Ansprüche, wobei der Schritt des Überführens aufweist: Falten der Eingangsmatrix (I) mit der modifizierten Filtermatrix (f̂); und Addieren der modifizierten Verschiebungsmatrix (b̃) mit der gefalteten Eingangsmatrix (I).The method of any one of the preceding claims, wherein the step of transferring comprises: Folding the input matrix (I) with the modified filter matrix (f); and Adding the modified displacement matrix (b) to the convoluted input matrix (I).
  7. Verfahren nach einem der voranstehenden Ansprüche, wobei in der modifizierten Filtermatrix (f̂) und der modifizierten Verschiebungsmatrix (b̃) eine Normierungsoperation zur Normierung der Eingangsmatrix (I) enthalten ist.Method according to one of the preceding claims, wherein in the modified filter matrix (f) and the modified displacement matrix (b) a normalization operation for normalizing the input matrix (I) is included.
  8. Verfahren nach einem der Ansprüche 2 bis 7, wobei der Schritt des Ermittelns der modifizierten Filtermatrix (f̂) aufweist: Bilden eines Verhältnisses von Einträgen der ursprünglichen Filtermatrix (f) und der ermittelten Standardabweichung (σ).Method according to one of Claims 2 to 7 wherein the step of determining the modified filter matrix (f) comprises: forming a ratio of entries of the original filter matrix (f) and the determined standard deviation (σ).
  9. Verfahren nach einem der Ansprüche 2 bis 8, wobei der Schritt des Ermittelns der modifizierten Verschiebungsmatrix (b̃) aufweist: Falten der modifizierten Filtermatrix (f̂) mit einer Normierungsmatrix (µ̃), wobei alle Einträge der Normierungsmatrix (µ̃) den ermittelten Mittelwert aufweisen; und Subtrahieren der mit der Normierungsmatrix (µ̃) gefalteten modifizierten Filtermatrix (f̂) von der ursprünglichen Verschiebungsmatrix (b̃).Method according to one of Claims 2 to 8th wherein the step of determining the modified displacement matrix (b) comprises: convolving the modified filter matrix (f) with a normalization matrix (μ), all entries of the normalization matrix (μ) having the determined mean value; and subtracting the modified filter matrix (f) convoluted with the normalization matrix (μ) from the original shift matrix (b).
  10. Verfahren nach einem der Ansprüche 2 bis 9, ferner aufweisend: Überführen der Eingangsmatrix (I) in eine höherdimensionale Eingangsmatrix (f̂) unter Hinzufügen von Einträgen zu der Eingangsmatrix (I); wobei, wenn das neuronale Netz trainiert ist, die hinzugefügten Einträge jeweils den ermittelten Mittelwert (µ) aufweisen; und/oder wobei während eines Trainings des neuronalen Netzes die hinzugefügten Einträge jeweils einen Wert von Null aufweisen.Method according to one of Claims 2 to 9 , further comprising: converting the input matrix (I) into a higher dimensional input matrix (f) adding entries to the input matrix (I); wherein, when the neural network is trained, the added entries each have the determined mean value (μ); and / or wherein during a training of the neural network, the added entries each have a value of zero.
  11. Verfahren nach einem der Ansprüche 2 bis 9, ferner aufweisend: Überführen der Eingangsmatrix (I) in eine höherdimensionale Eingangsmatrix (i) unter Hinzufügen von Einträgen zu der Eingangsmatrix (I); wobei, wenn das neuronale Netz trainiert ist, die hinzugefügten Einträge jeweils einen Wert von Null aufweisen; und/oder wobei 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 (σ) aufweisen.Method according to one of Claims 2 to 9 , further comprising: converting the input matrix (I) into a higher dimensional input matrix (i) adding entries to the input matrix (I); wherein, when the neural network is trained, the added entries each have a value of zero; and / or wherein during the training of the neural network the added entries each have a negative value of the ratio of the determined mean value to the determined standard deviation (σ).
  12. Verfahren nach Anspruch einem der voranstehenden Ansprüche, wobei die wenigstens eine Faltungsschicht (12a-c) eine Eingangsschicht (12a) des neuronalen Netzes (10) ist; und/oder wobei die Eingangsmatrix (I) ein Eingangsdatenelement, insbesondere ein Eingangsbild, ist, welches dem neuronalen Netz (10) zur Interpretation und/oder Klassifikation zugeführt wird.A method according to any one of the preceding claims, wherein the at least one convolution layer (12a-c) is an input layer (12a) of the neural network (10); and / or wherein the input matrix (I) is an input data element, in particular an input image, which is supplied to the neural network (10) for interpretation and / or classification.
  13. Verfahren nach Anspruch 12, wobei die modifizierte Filtermatrix (f̂) und die modifizierte Verschiebungsmatrix (b̃) ausschließlich in der Eingangsschicht (12a) des neuronalen Netzes (10) angewendet werden.Method according to Claim 12 wherein the modified filter matrix (f) and the modified displacement matrix (b) are applied exclusively in the input layer (12a) of the neural network (10).
  14. Verfahren nach einem der Ansprüche 1 bis 12, wobei das neuronale Netz (10) mehrere Faltungsschichten (12a-c) aufweist, welche jeweils dazu eingerichtet sind, eine Eingangsmatrix (I) der jeweiligen Faltungsschicht (12a-c) in eine Ausgangsmatrix (A) der jeweiligen Faltungsschicht (12a-c) zu überführen; wobei für jede Faltungsschicht (12a-c) eine modifizierte Faltungsmatrix (f̂) und eine modifizierte Verschiebungsmatrix (b̃) ermittelt werden; und wobei jede Eingangsmatrix (I) jeder Faltungsschicht (12a-c) unter Anwendung der für die jeweilige Faltungsschicht (12a-c) ermittelten modifizierten Filtermatrix (f̂) und der für die jeweilige Faltungsschicht (12a-c) ermittelten modifizierten Verschiebungsmatrix (b̃) in eine Ausgangsmatrix (A) überführt wird.Method according to one of Claims 1 to 12 wherein the neural network (10) comprises a plurality of convolution layers (12a-c) which are each adapted to convert an input matrix (I) of the respective convolution layer (12a-c) into an output matrix (A) of the respective convolution layer (12a-c). to convict; wherein for each convolution layer (12a-c) a modified convolution matrix (f) and a modified displacement matrix (b) are determined; and each input matrix (I) of each convolution layer (12a-c) using the modified filter matrix (f) determined for the respective convolution layer (12a-c) and the modified displacement matrix (b) determined for the respective convolution layer (12a-c) an initial matrix (A) is transferred.
  15. Künstliches neuronales Netz (10), welches dazu eingerichtet ist, das Verfahren nach einem der voranstehenden Ansprüche durchzuführen.Artificial neural network (10) adapted to perform the method of any one of the preceding claims.
DE102018200534.6A 2018-01-15 2018-01-15 Method of operating an artificial neural network Pending DE102018200534A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018200534.6A DE102018200534A1 (de) 2018-01-15 2018-01-15 Method of operating an artificial neural network

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102018200534.6A DE102018200534A1 (de) 2018-01-15 2018-01-15 Method of operating an artificial neural network
US16/961,491 US20200394519A1 (en) 2018-01-15 2019-01-03 Method for operating an artificial neural network
CN201980019465.2A CN111886604A (zh) 2018-01-15 2019-01-03 用于运行人工神经网络的方法
PCT/EP2019/050092 WO2019137845A1 (de) 2018-01-15 2019-01-03 Verfahren zum betreiben eines künstlichen neuronalen netzes
EP19700203.3A EP3740904A1 (de) 2018-01-15 2019-01-03 Verfahren zum betreiben eines künstlichen neuronalen netzes

Publications (1)

Publication Number Publication Date
DE102018200534A1 true DE102018200534A1 (de) 2019-07-18

Family

ID=65010778

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018200534.6A Pending DE102018200534A1 (de) 2018-01-15 2018-01-15 Method of operating an artificial neural network

Country Status (5)

Country Link
US (1) US20200394519A1 (de)
EP (1) EP3740904A1 (de)
CN (1) CN111886604A (de)
DE (1) DE102018200534A1 (de)
WO (1) WO2019137845A1 (de)

Also Published As

Publication number Publication date
US20200394519A1 (en) 2020-12-17
CN111886604A (zh) 2020-11-03
WO2019137845A1 (de) 2019-07-18
EP3740904A1 (de) 2020-11-25

Similar Documents

Publication Publication Date Title
DE19983253B4 (de) The compression of color images based on a two-dimensional discrete wavelet transform that produces a seemingly lossless image
DE4133460C2 (de) Process for compressing images
DE202016107446U1 (de) Rotation of data for calculations in neural networks
DE602005004694T2 (de) Method and apparatus for locally adaptive image processing filters
DE19581638C2 (de) Computing device with a microprocessor, a neural network coprocessor and a DMA control device
DE112016002292T5 (de) STACK PROCESSING IN A NEURONAL NETWORK PROCESSOR
DE69530566T2 (de) Hough transform with fuzzy gradient and choice
DE19724066B4 (de) Method for correcting geometry errors when transferring information to a substrate
EP0817496B1 (de) Verfahren und Anordnung zur Reduktion von Blockartefakten in codierten Bildern
DE3420576C2 (de) Arrangement for reprojecting images from several one-dimensional projections in computer tomography
DE102018000299A1 (de) Automatic segmentation of images based on natural language utterances
DE112016000509T5 (de) Batch normalization layers
DE202016107436U1 (de) Neural network processor
DE112005000804T5 (de) Multi-label image segmentation with GPU
DE4220954A1 (de) METHOD FOR CONVERTING SCANNER SIGNALS TO COLORIMETRIC SIGNALS
DE202016004627U1 (de) Training a neural value network
DE4217832C2 (de) Pattern recognition device
DE4309985A1 (de) Noise reduction for speech recognition
DE102015009981A1 (de) Method and apparatus for image synthesis
DE69730811T2 (de) Plant for image recognition
DE112014005109T5 (de) Support Vector Machine-Based Object Recognition System and Associated Method
EP2284795A2 (de) Quantitative Analyse, Visualisierung und Bewegungskorrektur in dynamischen Prozessen
DE102005051620A1 (de) Method for reconstructing a tomographic representation of an object
DE102009012441B4 (de) Method for reducing the memory requirement when determining disparity values for at least two stereoscopically recorded images
DE102016009106A1 (de) Machining device equipped with control with processing time measuring function and measuring function on the machine