DE102016216948A1 - Model calculation unit and control unit for calculating a neuron layer of a multilayer perceptron model with optional input and output transformation - Google Patents
Model calculation unit and control unit for calculating a neuron layer of a multilayer perceptron model with optional input and output transformation Download PDFInfo
- Publication number
- DE102016216948A1 DE102016216948A1 DE102016216948.3A DE102016216948A DE102016216948A1 DE 102016216948 A1 DE102016216948 A1 DE 102016216948A1 DE 102016216948 A DE102016216948 A DE 102016216948A DE 102016216948 A1 DE102016216948 A1 DE 102016216948A1
- Authority
- DE
- Germany
- Prior art keywords
- model
- calculation
- neuron
- input
- output
- 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
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/02—Circuit arrangements for generating control signals
- F02D41/14—Introducing closed-loop corrections
- F02D41/1401—Introducing closed-loop corrections characterised by the control or regulation method
- F02D41/1405—Neural network control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/02—Circuit arrangements for generating control signals
- F02D41/14—Introducing closed-loop corrections
- F02D41/1401—Introducing closed-loop corrections characterised by the control or regulation method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/02—Circuit arrangements for generating control signals
- F02D41/14—Introducing closed-loop corrections
- F02D41/1401—Introducing closed-loop corrections characterised by the control or regulation method
- F02D2041/1433—Introducing closed-loop corrections characterised by the control or regulation method using a model or simulation of the system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Abstract
Die Erfindung betrifft eine Modellberechnungseinheit zur wahlweisen Berechnung einer Schicht eines mehrschichtigen Perzeptronenmodells und mindestens eines weiteren datenbasierten Funktionsmodells mit einem in Hardware ausgebildeten fest verdrahteten Rechenkern zur Berechnung eines fest vorgegebenen Rechenalgorithmus in gekoppelten Funktionsblöcken, wobei der Rechenkern eine Zustandsmaschine und Operationsblöcke aufweist, wobei die Zustandsmaschine die Rechenoperation zur Berechnung der Schicht des mehrschichtigen Perzeptronenmodells und des mindestens einen weiteren datenbasierten Funktionsmodells vorgibt, wobei die Zustandsmaschine weiterhin ausgebildet ist, um auswählbar vor der Berechnung der Schicht des Perzeptronenmodells oder der Berechnung des mindestens einen weiteren datenbasierten Funktionsmodells eine Eingangstransformation von Eingangsgrößen und/oder nach der Berechnung der Schicht des Perzeptronenmodells oder der Berechnung des mindestens einen weiteren datenbasierten Funktionsmodells eine Ausgangstransformation von Ausgangsgrößen vorzunehmen. The invention relates to a model calculation unit for selectively calculating a layer of a multi-layer perceptron model and at least one further data-based function model with a hardwired computation core embodied in hardware for calculating a fixed computation algorithm in coupled function blocks, the computation core having a state machine and operation blocks, wherein the state machine comprises the Arithmetic operation for calculating the layer of the multi-layer perceptron model and the at least one further data-based function model, wherein the state machine is further configured to selectable before the calculation of the layer of the perceptron model or the calculation of the at least one other data-based function model an input transformation of input variables and / or after the calculation of the layer of the perceptron model or the calculation of the at least one further data-based n function model to make an output transformation of output variables.
Description
Technisches GebietTechnical area
Die Erfindung betrifft die Berechnung von Funktionsmodellen in einer separaten hartverdrahteten Modellberechnungseinheit, insbesondere zur Berechnung von mehrschichtigen Perzeptronenmodellen. The invention relates to the calculation of functional models in a separate hardwired model calculation unit, in particular for the calculation of multilayer perceptron models.
Technischer Hintergrund Technical background
Funktionen von Steuerungen von technischen Systemen, wie z.B. Verbrennungsmotoren, Elektroantrieben, Batteriespeicher und dergleichen, werden häufig mit Modellen realisiert, die ein mathematisches Abbild des realen Systems darstellen. Jedoch mangelt es bei physikalischen Modellen, insbesondere bei komplexen Zusammenhängen, an der erforderlichen Berechnungsgenauigkeit, und es ist bei heutigen Rechenkapazitäten in der Regel schwierig, derartige Modelle innerhalb der für ein Steuergerät geforderten Echtzeitanforderungen zu berechnen. Für solche Fälle ist angedacht, datenbasierte Modelle zu verwenden, die Zusammenhänge zwischen einer Ausgangsgröße und Eingangsgrößen ausschließlich auf der Basis von mit Hilfe eines Prüfstands oder dergleichen erhaltenen Trainingsdaten beschreiben. Insbesondere eignen sich datenbasierte Modelle zum Modellieren von komplexen Zusammenhängen, bei denen mehrere Eingangsgrößen, zwischen denen Wechselbeziehungen bestehen, in geeigneter Weise in dem Modell berücksichtigt werden. Zudem bietet die Modellierung mit Hilfe von datenbasierten Modellen die Möglichkeit, das Modell durch Hinzufügen von einzelnen Eingangsgrößen zu ergänzen.Functions of controls of technical systems, e.g. Internal combustion engines, electric drives, battery storage and the like, are often implemented with models that represent a mathematical image of the real system. However, in physical models, especially in complex contexts, the required computational accuracy is lacking, and with today's computing capabilities, it is usually difficult to compute such models within the real-time requirements required for a controller. For such cases, it is envisaged to use data-based models which describe relationships between an output variable and input variables exclusively on the basis of training data obtained with the aid of a test stand or the like. In particular, data-based models are suitable for modeling complex contexts in which multiple inputs between which interrelations exist are properly considered in the model. In addition, modeling with the help of data-based models offers the possibility to supplement the model by adding individual input variables.
Datenbasierte Funktionsmodelle basieren in der Regel auf einer großen Anzahl von Stützstellen, um eine für die jeweilige Anwendung ausreichende Modellierungsgenauigkeit zu erreichen. Aufgrund der hohen Anzahl der Stützstellen wird zur Berechnung eines Modellwertes mit einem datenbasierten Funktionsmodell, wie beispielsweise einem Gauß-Prozess-Modell, eine hohe Rechenkapazität benötigt. Um ein derartiges datenbasiertes Funktionsmodell in einer Steuergeräteanwendung in Echtzeit berechnen zu können, können daher auf einer Hardwareausgestaltung basierende Modellberechnungseinheiten vorgesehen sein.Data-based function models are usually based on a large number of support points in order to achieve sufficient modeling accuracy for the respective application. Due to the high number of nodes, a high computational capacity is needed to compute a model value with a data-based functional model, such as a Gaussian process model. Therefore, in order to be able to calculate such a data-based functional model in a controller application in real time, model calculation units based on a hardware design can be provided.
Offenbarung der ErfindungDisclosure of the invention
Erfindungsgemäß sind eine Modellberechnungseinheit zur Berechnung einer Schicht eines mehrschichtigen Perzeptronenmodells gemäß Anspruch 1 sowie ein Steuergerät und eine Verwendung des Steuergeräts nach einem der nebengeordneten Ansprüche vorgesehen.According to the invention, a model calculation unit for calculating a layer of a multilayer perceptron model according to
Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.Further embodiments are specified in the dependent claims.
Die obige Modellberechnungseinheit sieht eine Ausgestaltung vor, die es ermöglicht, eine Neuronenschicht eines mehrschichtigen Perzeptronenmodells (MLP-Modells) mit einer variablen Anzahl von Neuronen oder mindestens ein weiteres datenbasiertes Funktionsmodell zu berechnen.The above model calculation unit provides an embodiment that makes it possible to calculate a neuron layer of a multilayer perceptron model (MLP model) with a variable number of neurons or at least one other data-based function model.
Gemäß einem ersten Aspekt ist eine Modellberechnungseinheit zur wahlweisen Berechnung einer Neuronenschicht eines mehrschichtigen Perzeptronenmodells und mindestens eines weiteren datenbasierten Funktionsmodells mit einem in Hardware ausgebildeten fest verdrahteten Rechenkern zur Berechnung eines fest vorgegebenen Rechenalgorithmus in gekoppelten Funktionsblöcken, wobei der Rechenkern eine Zustandsmaschine und Operationsblöcke aufweist, wobei die Zustandsmaschine die Rechenoperation zur Berechnung der Neuronenschicht des mehrschichtigen Perzeptronenmodells und des mindestens einen weiteren datenbasierten Funktionsmodells vorgibt, wobei die Zustandsmaschine weiterhin ausgebildet ist, um auswählbar vor der Berechnung der Neuronenschicht des Perzeptronenmodells oder der Berechnung des mindestens einen weiteren datenbasierten Funktionsmodells eine Eingangstransformation von Eingangsgrößen und/oder nach der Berechnung der Neuronenschicht des Perzeptronenmodells oder der Berechnung des mindestens einen weiteren datenbasierten Funktionsmodells eine Ausgangstransformation von Ausgangsgrößen vorzunehmen. According to a first aspect, a model calculation unit for selectively calculating a neuron layer of a multi-layered perceptron model and at least one further data-based function model with a hardwired computational kernel designed to compute a fixed computation algorithm in coupled function blocks, wherein the computational core comprises a state machine and operation blocks State machine specifying the arithmetic operation for computing the neuron layer of the multi-layered perceptron model and the at least one other data-based function model, the state machine being further configured to select an input transformation of input quantities and / or before the calculation of the neuron layer of the perceptron model or the computation of the at least one further data-based function model. or after the calculation of the neuron layer of the perceptron model or the calculation de s perform at least one additional data-based function model an output transformation of output variables.
Eine Idee der obigen Modellberechnungseinheit besteht darin, diese zur Berechnung einer Neuronenschicht eines mehrschichtigen Perzeptronenmodells und mindestens eines weiteren datenbasierten Funktionsmodells in Hardwarestrukturen separat in einem Rechenkern in einem Steuergerät auszubilden. Auf diese Weise kann eine im Wesentlichen fest verdrahtete Hardwareschaltung zur Realisierung von Funktionen bereitgestellt werden, die es ermöglicht, eine oder mehrere Neuronenschichten eines mehrschichtigen Perzeptronenmodells zu berechnen und dabei nur eine sehr geringe Rechenlast in einem softwaregesteuerten Mikroprozessor eines Steuergeräts zu bewirken. Durch die Hardwarebeschleunigung, die durch die Modellberechnungseinheit bereitgestellt wird, kann ein mehrschichtiges Perzeptronenmodell oder ein sonstiges datenbasiertes Funktionsmodell in Echtzeit berechnet werden, so dass die Verwendung eines solchen Modells für Steuergeräteanwendungen für Verbrennungsmotoren in Kraftfahrzeugen interessant wird. One idea of the above model calculation unit is to form these separately in a calculation kernel in a control unit for calculating a neuron layer of a multilayer perceptron model and at least one further data-based function model in hardware structures. In this way, a substantially hard-wired hardware circuit can be provided for the realization of functions, which makes it possible to calculate one or more neuron layers of a multilayer perceptron model and thereby only a very small computational load in a software-controlled system Microprocessor of a controller to effect. By the hardware acceleration provided by the model calculation unit, a multilayer perceptron model or other data-based functional model can be calculated in real time, so that the use of such a model becomes interesting for control applications for internal combustion engines in automobiles.
Durch die Möglichkeit eine Eingangstransformation und/oder Ausgangstransformation von Eingangsgrößen bzw. Ausgangsgrößen vorzunehmen oder zu überspringen, kann je nach Art des zu berechnenden Modells eine Anpassung der Eingangsgrößen bzw. der Ausgangsgrößen vorgenommen werden. Due to the possibility of making or skipping an input transformation and / or output transformation of input variables or output variables, an adaptation of the input variables or the output variables can be carried out, depending on the type of model to be calculated.
Die Modellberechnungseinheit kann mit Schnittstellen ausgestattet sein, um das MLP-Modell schichtweise zu berechnen, so dass die Anzahl der MLP-Neuronenschichten und die Anzahl der Neuronen in jeder Neuronenschicht frei gewählt werden kann. Durch diese schichtweise Aufteilung können die Parameter, wie beispielsweise die Synapsengewichtungen, für jede Neuronenschicht separat vorgegeben werden.The model calculation unit may be equipped with interfaces to calculate the MLP model in layers, so that the number of MLP neuron layers and the number of neurons in each neuron layer can be freely selected. Through this layered division, the parameters, such as the synapse weights, for each neuron layer can be specified separately.
Der Rechenkern kann ausgebildet sein, um für die Berechnung der Neuronenschicht des mehrschichtigen Perzeptronenmodells mit einer Anzahl von Neuronen abhängig von einer oder mehreren Eingangsgrößen eines Eingangsgrößenvektors, von einer Gewichtungsmatrix mit Gewichtungsfaktoren und einen für jedes Neuron vorgegebenen Offsetwert eine Ausgangsgröße für jedes Neuron zu berechnen, wobei für jedes Neuron eine Summe der mit einem durch das Neuron und die Eingangsgröße bestimmten Gewichtungsfaktor gewichteten Werte der Eingangsgrößen und dem dem Neuron vorgegebenen Offsetwert berechnet wird und das Ergebnis mit einer Aktivierungsfunktion transformiert wird, um die Ausgangsgröße für das Neuron zu erhalten. The arithmetic kernel may be configured to calculate an output for each neuron for computing the neuron layer of the multi-layered perceptron model having a number of neurons depending on one or more inputs of an input vector, a weighting matrix with weighting factors, and an offset value for each neuron for each neuron, calculating a sum of the values of the input quantities and the offset value given to the neuron, weighted by a weighting factor determined by the neuron and the input, and transforming the result with an activation function to obtain the output quantity for the neuron.
Gemäß einer Ausführungsform kann die Zustandsmaschine weiterhin ausgebildet sein, um auswählbar vor der Berechnung der Neuronenschicht des Perzeptronenmodells oder der Berechnung des mindestens einen weiteren datenbasierten Funktionsmodells einen Kopiervorgang der Eingangsgrößen in einen weiteren Speicherbereich und/oder nach der Berechnung der Neuronenschicht des Perzeptronenmodells oder der Berechnung des mindestens einen weiteren datenbasierten Funktionsmodells einen Kopiervorgang der Ausgangsgrößen in einen weiteren Speicherbereich vorzunehmen. According to one embodiment, the state machine may be further configured to select, before the calculation of the neuron layer of the perceptron model or the calculation of the at least one further data-based function model, a copying process of the input variables into a further memory area and / or after the calculation of the neuron layer of the perceptron model or the computation of the at least one further data-based function model to perform a copy operation of the output variables in a further memory area.
Der Rechenkern kann ausgebildet sein, um abhängig von einer Auswahlgröße (cfg_activation_function) eine Art der Aktivierungsfunktion für das mehrschichtigen Perzeptronenmodells auszuwählen und/oder mithilfe einer weiteren Auswahlgröße auswählen, ob ein Gaußprozessmodell bzw. ein RBF-Modell oder eine Neuronenschicht des Perzeptronenmodells berechnet werden soll.The arithmetic kernel can be designed to select a type of activation function for the multilayer perceptron model depending on a selection variable (cfg_activation_function) and / or select with the aid of a further selection variable whether a Gaussian process model or an RBF model or a neuron layer of the perceptron model is to be calculated.
Der Rechenkern kann in einem Flächenbereich eines integrierten Bausteins ausgebildet sein.The arithmetic core can be formed in a surface area of an integrated component.
Gemäß einem weiteren Aspekt ist ein Verfahren zum Betreiben der obigen Modellberechnungseinheit vorgesehen, wobei bei einer Berechnung der Neuronenschicht des Perzeptronenmodells und/oder oder abhängig von einer Auswahlvariablen die Eingangstransformation von Eingangsgrößen und/oder die Ausgangstransformation von Ausgangsgrößen übersprungen wird. According to a further aspect, a method for operating the above model calculation unit is provided, wherein in a calculation of the neuron layer of the perceptron model and / or depending on a selection variable, the input transformation of input variables and / or the output transformation of output variables is skipped.
Gemäß einem weiteren Aspekt ist ein Steuergerät mit einem Mikroprozessor und einer oder mehreren der obigen Modellberechnungseinheiten vorgesehen.In another aspect, a controller having a microprocessor and one or more of the above model calculation units is provided.
Insbesondere kann das Steuergerät als eine integrierte Schaltung ausgebildet sein.In particular, the controller may be formed as an integrated circuit.
Gemäß einem weiteren Aspekt ist eine Verwendung des obigen Steuergeräts als ein Steuergerät zur Steuerung eines Motorsystems in einem Kraftfahrzeug vorgesehen. According to another aspect, a use of the above control device is provided as a control device for controlling an engine system in a motor vehicle.
Kurzbeschreibung der ZeichnungenBrief description of the drawings
Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:Embodiments are explained below with reference to the accompanying drawings. Show it:
Beschreibung von AusführungsformenDescription of embodiments
Die Modellberechnungseinheit
Das Steuergerät
In
Mit Hilfe der Zustandsmaschine
Die Zustandsmaschine
Mit
- p7:
- maximaler Indexwert für die Eingangsgrößen des Eingangsgrößenvektors
- p8:
- minimaler Indexwert bzw. vorgegebener Startindex für die Anzahl der Neuronen
- p6:
- maximaler Indexwert für die Anzahl der Neuronen
- p3:
- Offsetwert
- p1, p2:
- Variablen für die Eingangstransformation
- p4, p5:
- Variablen für die Ausgangstransformation
- p7:
- maximum index value for the input variables of the input variable vector
- p8:
- minimum index value or default start index for the number of neurons
- p6:
- maximum index value for the number of neurons
- p3:
- offset value
- p1, p2:
- Variables for the input transformation
- p4, p5:
- Variables for the output transformation
Mit Hilfe des obigen Pseudocodes lässt sich folgende Berechnung für jedes Neuron der zu berechnenden Neuronenschicht durchführen:
Dieses stellt eine Berechnung für eine Neuronenschicht eines mehrschichtigen Perzeptronenmodells dar, wie es in
Die Summen der gewichteten Werte des Eingangsgrößenvektors ut0...utp6-1 werden jeweils mit einem Offsetwert O0...Op6-1 beaufschlagt, insbesondere additiv beaufschlagt. Das Ergebnis wird mit einer vorgegebenen Aktivierungsfunktion „act“ transformiert. Als Ergebnis erhält man einen entsprechenden Wert eines Ausgangsgrößenvektors y0...yp6-1. Durch das Vorsehen des Offsetwerts für jedes Neuron besteht ein weiterer Freiheitsgrad für die Modellbildung. The sums of the weighted values of the input vector 0 ... ut ut P6-1 are each acted upon with an offset value O O 0 ... P6-1, in particular applied additive. The result is transformed with a given activation function "act". The result is a corresponding value of an output vector y 0 ... y p6-1 . By providing the offset value for each neuron, there is another degree of freedom for modeling.
Durch Festlegen der Laufvariablen p6 kann die Anzahl der Neuronen
Es kann eine Eingangs- und/oder Ausgangstransformation der Eingangsgrößen des Eingangsgrößenvektors bzw. der Ausgangsgrößen des Ausgangsgrößenvektors mithilfe der für jedes Neuron vorgegebenen Normierungsvariablen p1 und p2 bzw. p4 und p5 vorgenommen werden. An input and / or output transformation of the input variables of the input variable vector or the output variables of the output vector can be carried out by means of the standardization variables p1 and p2 or p4 and p5 given for each neuron.
Die schichtweise Berechnung des MLP-Modells ermöglicht eine schlanke Ausgestaltung der Modellberechnungseinheit
Als Aktivierungsfunktion „act“ kann eine von mehreren Aktivierungsfunktionen zur Verfügung gestellt werden, die durch den Aktivierungsfunktion-Berechnungsblock
Durch die einschichtige Ausbildung des Neuronenmodells, das durch den obigen Pseudocode realisiert wird, ist es zudem möglich, durch einfache Modifikation neben einer Neuronenschicht eines MLP-Modells auch ein Gauß-Prozess-Modell bzw. ein RBF-Modell (RBF: Radiale Basisfunktion) zu berechnen. Dazu werden die Gewichtungswerte nicht multiplikativ auf die Werte der Eingangsgröße beaufschlagt, sondern additiv bzw. subtraktiv. Weiterhin wird der quadratische Abstand gerechnet, der mit vorgegebenen Längenskalen L[k] gewichtet ist. Weiterhin wird für das RBF-Modell als Aktivierungsfunktion eine Exponentialfunktion gewählt. Somit lässt sich ein Gauß-Prozess-Modell entsprechend
Man erkennt, dass bei der Durchführung der Schleifenfunktion durch die Variable cfg_mlp eine Fallunterscheidung durchgeführt werden kann. Bei cfg_mlp = 1 wird die Berechnung der Neuronenschicht gewählt und es kann mit cfg_activation_function = 0...3 die Art der oben beschriebenen Aktivierungsfunktionen ausgewählt werden.It can be seen that when the loop function is performed by the variable cfg_mlp, a case distinction can be made. If cfg_mlp = 1, the calculation of the neuron layer is selected and with cfg_activation_function = 0 ... 3 the type of the activation functions described above can be selected.
Bei cfg_mlp = 0 wird anstelle des MLP-Perzeptronenmodells ein Gaußprozessmodell oder ein RBF-Modell berechnet. Hier ist eine Auswahl der Aktivierungsfunktion nicht notwendig, da diese stets mit der Exponentialfunktion gerechnet werden. Auf diese Weise ist es möglich, die Modellberechnungseinheit
Während für die Berechnung von Gaußprozessmodellen, RBF-Modellen oder dergleichen eine Eingangs- und Ausgangstransformation notwendig ist, ist dies nicht zwingend für die Berechnung einer Neuronenschicht eines Perzeptronenmodells. Daher kann es ausreichend sein, anstelle der Eingangs- und/oder Ausgangstransformation eine einfache Kopieroperation der Eingangsgröße und Ausgangsgrößen vorzunehmen. Befinden sich die Eingangsgrößen und Ausgangsgrößen bereits in den dafür vorgesehenen Speicherbereich kann zudem auf die Kopieroperation verzichtet werden.While input and output transformation is necessary for the calculation of Gaussian process models, RBF models, or the like, this is not mandatory for the calculation of a neuron layer of a perceptron model. Therefore, it may be sufficient to perform a simple copy operation of the input and output variables instead of the input and / or output transformation. If the input variables and output variables are already in the memory area provided for this purpose, the copying operation can also be dispensed with.
Daher wird für die Eingangstransformation mithilfe einer Eingangstransformationsangabe cfg_skip_input_scaling, die angibt, ob eine Eingangstransformation vorgenommen werden soll, und einer Eingangsgrößenkopierangabe cfg_copy_input gesteuert, die angibt, ob die bereitgestellten Eingangsgrößen in einen weiteren Speicherbereich kopiert werden sollen oder ob die bereitgestellten Eingangsgrößen transformiert in dem weiteren Speicherbereich bereitgestellt werden sollen. Therefore, for the input transformation, cfg_skip_input_scaling indicating whether to perform an input transformation and an input size copy cfg_copy_input indicating whether the provided inputs should be copied to another memory area or whether the provided inputs are transformed in the further memory area is controlled by an input transformation indication should be provided.
Der Pseudocode für die Eingangstransformation lautet wie folgt: The pseudocode for the input transformation is as follows:
Entsprechend wird für die Ausgangstransformation mithilfe einer Ausgangstransformationsangabe cfg_skip_output_scaling, die angibt, ob eine Ausgangstransformation vorgenommen werden soll, und einer Ausgangsgrößenkopierangabe cfg_copy_output gesteuert, die angibt, ob die bereitgestellten Ausgangsgrößen in einen weiteren Speicherbereich kopiert werden sollen oder ob die bereitgestellten Ausgangsgrößen transformiert in dem weiteren Speicherbereich bereitgestellt werden sollen. Similarly, for the output transformation, cfg_skip_output_scaling indicating whether an output transformation should be made and an output size copy cfg_copy_output indicating whether the provided outputs should be copied to another memory area or whether the provided outputs are transformed in the further memory area is controlled by an output transform indication should be provided.
Der Pseudocode für die Ausgangstransformation lautet wie folgt: The pseudocode for the output transformation is as follows:
Insgesamt ist es dadurch wahlweise möglich, eine Eingangstransformation und/oder Ausgangstransformation und/oder einen Kopiervorgang der Eingangsgrößen in einen weiteren Speicherbereich sowie einen Kopiervorgang von Ausgangsgrößen in einen weiteren Speicherbereich entsprechend der Eingangstransformationsangabe cfg_skip_input_scaling, der Eingangsgrößenkopierangabe cfg_copy_input, der Ausgangstransformationsangabe cfg_skip_output_scaling und der Ausgangsgrößenkopierangabe cfg_copy_output durchzuführen. Dadurch kann insbesondere bei der Berechnung einer Neuronenschicht eines Perzeptronenmodells die Eingangs- und/oder Ausgangstransformation übersprungen werden, sodass die Berechnung insgesamt beschleunigt werden kann.On the whole, this makes it possible optionally to perform an input transformation and / or output transformation and / or a copying process of the input variables into a further memory area and a copying process of output variables into a further memory area in accordance with the input transformation information cfg_skip_input_scaling, the input variable copy cfg_copy_input, the output transformation information cfg_skip_output_scaling and the output variable copy cfg_copy_output , As a result, in particular when calculating a neuron layer of a perceptron model, the input and / or output transformation can be skipped so that the calculation as a whole can be accelerated.
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016216948.3A DE102016216948A1 (en) | 2016-09-07 | 2016-09-07 | Model calculation unit and control unit for calculating a neuron layer of a multilayer perceptron model with optional input and output transformation |
CN201710799864.8A CN107797481B (en) | 2016-09-07 | 2017-09-07 | Model calculation unit and control device for calculating neuron layer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016216948.3A DE102016216948A1 (en) | 2016-09-07 | 2016-09-07 | Model calculation unit and control unit for calculating a neuron layer of a multilayer perceptron model with optional input and output transformation |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016216948A1 true DE102016216948A1 (en) | 2018-03-08 |
Family
ID=61197716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016216948.3A Pending DE102016216948A1 (en) | 2016-09-07 | 2016-09-07 | Model calculation unit and control unit for calculating a neuron layer of a multilayer perceptron model with optional input and output transformation |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107797481B (en) |
DE (1) | DE102016216948A1 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0694852B1 (en) * | 1994-07-28 | 2002-06-26 | International Business Machines Corporation | Innovative neuron circuit architectures |
US8346482B2 (en) * | 2003-08-22 | 2013-01-01 | Fernandez Dennis S | Integrated biosensor and simulation system for diagnosis and therapy |
DE102010028266A1 (en) * | 2010-04-27 | 2011-10-27 | Robert Bosch Gmbh | Control device and method for calculating an output for a controller |
US8965819B2 (en) * | 2010-08-16 | 2015-02-24 | Oracle International Corporation | System and method for effective caching using neural networks |
WO2013103971A1 (en) * | 2012-01-06 | 2013-07-11 | University Of New Hampshire | Systems and methods for chaotic entanglement using cupolets |
DE102013220432A1 (en) * | 2013-10-10 | 2015-04-16 | Robert Bosch Gmbh | Model calculation unit for an integrated control module for the calculation of LOLIMOT |
US10140573B2 (en) * | 2014-03-03 | 2018-11-27 | Qualcomm Incorporated | Neural network adaptation to current computational resources |
CN105913118B (en) * | 2015-12-09 | 2019-06-04 | 上海大学 | A kind of Hardware for Artificial Neural Networks realization device based on probability calculation |
-
2016
- 2016-09-07 DE DE102016216948.3A patent/DE102016216948A1/en active Pending
-
2017
- 2017-09-07 CN CN201710799864.8A patent/CN107797481B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN107797481A (en) | 2018-03-13 |
CN107797481B (en) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102016216944A1 (en) | Method for calculating a neuron layer of a multilayer perceptron model with a simplified activation function | |
DE102010028266A1 (en) | Control device and method for calculating an output for a controller | |
DE102018109835A1 (en) | Method and device for determining a network configuration of a neural network | |
DE112020000448T5 (en) | CAMERA SELF CALIBRATION NETWORK | |
EP3701433A1 (en) | Method, device and computer program for developing a deep neural network | |
DE102013206264A1 (en) | Method and apparatus for performing a calculation of a data-based function model | |
EP3542317B1 (en) | Model-computation-unit and controller for the optional calcualtion of a rbf-model, a gaussian-process-model and a mlp-model | |
WO2021008836A1 (en) | Device and computer-implemented method for the processing of digital sensor data and training method for same | |
DE102009021781A1 (en) | Engine-operating method for calculating an engine-operating map for a vehicle's control device creates a map with a specified number of nodes while measuring data points to calculate a map value | |
DE102013206292A1 (en) | Method and device for creating a data-based function model | |
EP3542318B1 (en) | Model-computation-unit and controller for the optional calcualtion of a rbf-model, a gausians-process-model and a mlp-model | |
DE102016216948A1 (en) | Model calculation unit and control unit for calculating a neuron layer of a multilayer perceptron model with optional input and output transformation | |
DE102013212889A1 (en) | Method and device for creating a control for a physical unit | |
DE102016216950A1 (en) | Model calculation unit and control unit for calculating a multilayer perceptron model with feedforward and feedback | |
DE102015221819A1 (en) | Method and device for adapting a data-based function model for calculation in a model calculation unit | |
DE102015208513A1 (en) | Method and apparatus for calculating a data-based multi-output functional model | |
DE102016216954A1 (en) | Model calculation unit and control unit for calculating a partial derivative of an RBF model | |
DE102013206274A1 (en) | Method and apparatus for adapting a non-parametric function model | |
DE102016206627A1 (en) | Method and device for measuring a system to be tested | |
DE102017215420A1 (en) | Model calculation unit and control unit for calculating an RBF model | |
DE102017204173A1 (en) | Method and device for determining a customized data-based function model for the calculation of a model value with a modified input variable vector | |
DE102016216947A1 (en) | Model calculation unit and control unit for calculating a multi-layer perceptron model | |
DE102018203137A1 (en) | Method, device and computer program for operating an at least partially autonomous vehicle | |
DE102015216300A1 (en) | Method and device for post-adaptation of a data-based function model | |
DE102020209684A1 (en) | Method and device for fusing sensor signals using a neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |