FR3004567A1 - Unite de calcul de modele et appareil de commande ainsi que procede pour calculer un tel modele fonctionnel fonde sur des donnees - Google Patents

Unite de calcul de modele et appareil de commande ainsi que procede pour calculer un tel modele fonctionnel fonde sur des donnees Download PDF

Info

Publication number
FR3004567A1
FR3004567A1 FR1453096A FR1453096A FR3004567A1 FR 3004567 A1 FR3004567 A1 FR 3004567A1 FR 1453096 A FR1453096 A FR 1453096A FR 1453096 A FR1453096 A FR 1453096A FR 3004567 A1 FR3004567 A1 FR 3004567A1
Authority
FR
France
Prior art keywords
unit
model
calculation
data
circuit
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.)
Granted
Application number
FR1453096A
Other languages
English (en)
Other versions
FR3004567B1 (fr
Inventor
Tobias Lang
Heiner Markert
Axel Aue
Wolfgang Fischer
Ulrich Schulmeister
Nico Bannow
Felix Streichert
Andre Guntoro
Christian Fleck
Michael Saetzler
Michael Hanselmann
Matthias Schreiber
Vietinghoff Anne Von
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
Publication of FR3004567A1 publication Critical patent/FR3004567A1/fr
Application granted granted Critical
Publication of FR3004567B1 publication Critical patent/FR3004567B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)
  • Electrotherapy Devices (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Unité de calcul de modèle (3) pour calculer un modèle fonctionnel fondé sur des données dans un appareil de commande (1) comportant un cœur de calculateur (31), le cœur de calculateur (31) comprenant : - une unité de multiplication (43) pour effectuer une multiplication par un circuit, - une unité d'addition (42) pour effectuer une addition par un circuit, - une unité de fonction exponentielle (41) pour calculer une fonction exponentielle par un circuit, - une mémoire, notamment un registre de configuration (45) pour enregistrer des hyperparamètres.et des données de points d'appui du modèle fonctionnel fondé sur des données à calculer et - un circuit logique (46) pour commander par un circuit le déroulement des calculs dans l'unité de multiplication (43), dans l'unité d'addition (42), dans l'unité de fonction exponentielle (41) et dans la mémoire notamment dans le registre de configuration (45) pour obtenir le modèle fonctionnel fondé sur des données.

Description

Domaine de l'invention La présente invention se rapporte à une unité de calcul de modèle pour des appareils de commande dans lesquels des modèles fonctionnels fondés sur des données sont implémentés pour exécuter par des circuits, des fonctions notamment pour commander un système de moteur. L'invention a également pour objet un procédé de calcul des modèles fonctionnels fondés sur des données dans de telles unités de calcul de modèles.
Etat de la technique Selon l'état de la technique, on connaît des appareils de commande équipés d'une unité principale de calcul et d'une unité séparée de calcul de modèle servant à calculer des modèles fonctionnels fondés sur des données. C'est ainsi que, par exemple, le document DE 10 2010 028 266 A 1 décrit un appareil de commande comportant un circuit logique supplémentaire comme unité de calcul de modèle qui est réalisé pour exécuter par des circuits, le calcul de fonctions exponentielles. Cela permet d'exécuter dans une unité de circuit des procédés de régression de Bayes nécessaires notamment pour calculer des modèles de procédé de Gauss. L'unité de calcul de modèle est globalement conçue pour exécuter des procédés mathématiques de calcul de modèle fonctionnel fondé sur des données à partir de paramètres et de points d'appui ou de données d'entraînement. En particulier, l'unité de calcul de modèle est réalisée par un circuit pour calculer efficacement des fonctions expo- nentielles permettant de calculer des modèles de procédé de Gauss avec une vitesse de calcul plus importante que ne le permettrait l'unité principale de calcul. En général, les données de configuration, les paramètres et les points d'appui servant à calculer les modèles fonctionnels fondés sur des données s'obtiennent avant de faire des calculs dans l'unité de calcul de modèle sur les données ainsi introduites et ensuite les calculs fondés sur les données de configuration à l'aide des circuits de l'unité de calcul de modèle. L'implémentation actuelle des circuits d'une telle unité de calcul de modèle peut toutefois se traduire dans le cas de données de configuration défavorables à des problèmes numé- riques pour le calcul de façon que tous les modèles fonctionnels fondés sur des données non toutes définies hors ligne, permettent un calcul stable par l'unité de calcul de modèle. Exposé et avantages de l'invention La présente invention a pour but de remédier aux incon- vénients de l'état de la technique et a ainsi pour objet une unité de calcul de modèle pour calculer un modèle fonctionnel fondé sur des données dans un appareil de commande comportant un coeur de calculateur, le coeur de calculateur comprenant : une unité de multiplication pour effectuer une multiplication par un circuit, une unité d'addition pour effectuer une addition par un circuit, une unité de fonction exponentielle pour calculer une fonction expo- nentielle par un circuit, une mémoire, notamment un registre de configuration pour enregistrer des hyper-paramètres et des données de points d'appui du modèle fonctionnel fondé sur des données à calculer, et un circuit logique pour commander par un circuit le déroulement des calculs dans l'unité de multiplication, dans l'unité d'addition, dans l'unité de fonction exponentielle et dans la mémoire notamment dans le registre de configuration pour obtenir le modèle fonctionnel fondé sur des données. L'unité de calcul de modèle est une unité logique compor- tant un circuit pour effectuer par le circuit, certains calculs pour des modèles fonctionnels fondés sur des données, notamment pour l'intégration commune avec un coeur de calculateur. Cette unité logique effectue un procédé de calcul entraîné au préalable et mis en mémoire dans le circuit pour un modèle de régression de Bayes exécuté en ligne.
L'utilisation d'un modèle de procédé de Gauss comme modèle fonction- nel fondé sur des données permet notamment par la transformation de la normalisation d'entrée d'un point d'essai consistant à déterminer une valeur de modèle ainsi par la transformation du terme exponentiel, de déterminer la valeur du modèle du procédé de Gauss comme une suc- cession d'additions et de multiplications ainsi que d'une fonction exponentielle. En particulier, l'unité de calcul de modèle peut être constituée exclusivement des unités évoquées ci-dessus.
Le circuit permet de réaliser un bloc fonctionnel de cir- cuit, c'est-à-dire un bloc MAC (MAC = Multiplicateur-Accumulateur) pour des calculs d'entiers ou un bloc FMA (FMA = Addition multiple fusionnée) encore appelé bloc FMAC (FMAC = Accumulation multiple fusionnée) pour les calculs de virgule flottante. Ce bloc fonctionnel de circuit sera appelé unité MAC pour la description des calculs sur entier et avec aussi virgule flottante. L'unité MAC peut effectuer l'opération a+ b x c par sa réalisation directe dans un circuit, d'une manière particulièrement efficace et ainsi rapide. Cela est exécuté, le cas échéant, dans quelques cycles de cadence et dans les cas particuliers également à l'intérieur d'un seul cycle. En prévoyant de manière séparée, une telle unité de calcul de modèle avec une unité MAC réalisée sous la forme d'un circuit et d'une unité de fonction exponentielle réalisée dans un circuit, pour le calcul exclusif d'une fonction exponentielle, permet de disposer d'un circuit logique particulièrement efficace qui peut être intégré comme unité de calcul de modèle avec un coeur de calculateur (permettant d'appliquer les programmes) dans un appareil de commande servant à déterminer des valeurs de modèle pour le modèle fonctionnel fondé sur des données, notamment des modèles de procédé de Gauss.
En outre, l'unité de multiplication et l'unité d'addition peuvent être réalisées séparément ou en combinaison dans une unité MAC. Selon un développement, on peut avoir plusieurs coeurs de calculateur qui auront une unité fonctionnelle exponentielle com- mune et/ou une unité MAC commune. En variante, chaque coeur de calculateur peut avoir sa propre unité fonctionnelle exponentielle et sa propre unité MAC. Suivant une autre caractéristique, le modèle fonctionnel attribue une valeur de modèle à plusieurs grandeurs d'entrée et le dé- roulement du calcul consiste chaque fois pour un calcul d'une normali- sation d'entrée des grandeurs d'entrée à l'aide de l'unité MAC, une multiplication et une addition ainsi que pour le calcul d'une normalisation de sortie de la grandeur de sortie à l'aide de l'unité MAC, une multiplication et une addition.
Selon un développement, le modèle fonctionnel peut pré- voir le calcul du terme ((xi) - u)2 dans lequel xi représente les points d'appui du modèle fonctionnel fondé sur des données et u représente les grandeurs d'entrée, le circuit logique, l'unité d'addition et l'unité de multiplication ainsi que l'unité MAC sont commandés pour calculer le io terme par une unité d'addition et une unité de multiplication ou par une unité MAC. Selon un autre développement, il est prévu un appareil de commande, notamment pour un système de moteur équipé d'un moteur thermique et qui comprend une unité de calcul et l'unité de calcul 15 de modèle évoquée ci-dessus. Selon un autre développement, l'invention a pour objet un procédé de calcul d'un modèle fonctionnel fondé sur des données, notamment d'un modèle de procédé de Gauss, dans l'unité de calcul de modèle décrites ci-dessus et le modèle fonctionnel est complètement 20 calculé par des étapes de calcul exécutées successivement et ces étapes de calcul se limitent à une multiplication et une addition combinées ainsi qu'à un calcul d'une fonction exponentielle. Dessins La présente invention sera décrite ci-après de manière 25 plus détaillée à l'aide d'une unité de calcul de modèle et de son procédé représentés dans les dessins annexés dans lesquels : la figure 1 est un schéma d'une architecture de circuit d'appareil de commande servant à commander un système physique, la figure 2 est une représentation sous la forme d'un schéma par 30 blocs servant à déterminer la valeur du modèle pour un modèle de procédé Gauss, pour une grandeur d'entrée de dimensions D d'un vecteur de grandeur d'entrée, la figure 3 est une représentation détaillée d'un coeur de calculateur d'une unité de calcul de modèle de l'appareil de commande, la figure 4 est une représentation schématique d'une architecture de circuit pour deux coeurs de calculateur utilisant en commun une unité MAC et une unité fonctionnelle exponentielle, et la figure 5 est une représentation schématique d'une autre architec- ture de circuit pour deux coeurs de calculateur avec des unités MAC distinctes et une unité de fonction exponentielle commune. Description de modes de réalisation La figure 1 est une représentation schématique d'une ar- chitecture de circuit d'un appareil de commande 1 intégré, comportant une unité de calcul 2 et une unité de calcul de modèle 3 pour calculer par un circuit, un modèle fonctionnel fondé sur des données, de manière intégrée. L'unité de calcul 2 et l'unité de calcul de modèle 3 sont reliées par un système de bus 4. En principe, l'unité de calcul de modèle 3 comporte uni- quement des circuits (circuits câblés) et elle est de préférence non réali- sée pour exécuter des codes-programmes. Pour cette raison, il n'est pas nécessaire d'avoir un processeur dans l'unité de calcul de modèle 3. Cela permet une réalisation optimisée du point de vue des ressources pour une telle unité de calcul de modèle 3.
L'unité de calcul de modèle 3 peut comporter un ou plu- sieurs coeurs de calculateur 31, une mémoire interne 32 et une unité DMA 33 (DMA = Accès Direct en Mémoire). Les coeurs de calculateur 31 à mémoire interne 32 et l'unité DMA 33 sont reliés par une liaison interne de communication 34.
L'utilisation de modèles fonctionnels fondés sur des don- nées non paramétrées, repose sur un procédé de régression de Bayes. Le principe de la régression de Bayes est par exemple décrit dans C.E. Rasmusen et al., « Gaussian Processes for Machine Learning », MIT Press 2006. La régression de Bayes est un procédé fondé sur des don- nées s'appuyant sur un modèle. Pour établir le modèle, il faut des points de mesure de données d'entraînement ainsi que les données de sortie correspondantes pour une grandeur de sortie. On établit le modèle en utilisant des données de points d'appui qui correspondent totalement ou partiellement aux données d'entraînement ou ont été générées à partir de celles-ci. En outre, on définit des hyper-paramètres abstraits qui paramétrisent l'espace des fonctions de modèles et pondèrent efficacement l'influence des différents points de mesure des données d'entraînement sur le futur modèle prévisionnel. Les hyper-paramètres abstraits sont définis par un pro- cédé d'optimisation. Une possibilité pour un tel procédé d'optimisation consiste à optimiser une probabilité marginale p(Y I H,X). La probabilité marginale p(Y I H,X) décrit la plausibilité des valeurs Y mesurées des données d'entraînement représentées comme vecteur Y, le cas échéant, les paramètres de modèle H ainsi que les valeurs x des données d'entraînement. Dans l'entraînement de modèle, on rend maximum la probabilité marginale p(Y I H,X) en ce qu'on cherche les hyperparamètres appropriés permettant d'expliquer particulièrement bien les données. Pour simplifier le calcul, on prend le logarithme de p(Y I H,X) que l'on maximise car le logarithme ne modifie pas la pente de la fonc- es tion de plausibilité. Le procédé d'optimisation assure ainsi automatiquement un compromis entre la complexité du modèle et la précision de la représentation du modèle. Certes, avec une complexité croissante du modèle, on peut arriver à n'importe quelle précision poussée de représentation 20 des données d'entraînement mais cela peut, en même temps, se tra- duire par une sur-adaptation du modèle aux données d'entraînement et en produire ainsi de plus mauvaises propriétés de généralisation. Le calcul du modèle de procédé de Gauss se fait suivant les étapes présentées schématiquement à la figure 2. Les valeurs 25 d'entrée Ûd pour le point d'essai u (vecteur des grandeurs d'entrée) est tout d'abord normé et cela en appliquant la formule suivante : lia - (mx)a Ud = (s,d) Dans cette formule, mx est la fonction de valeur moyenne 30 conservant la valeur moyenne des valeurs d'entrée des données de points d'appui ; sy représente la variance des valeurs d'entrée des données de points d'appui.
Le résultat de l'établissement du modèle fonctionnel non paramétré s'obtient par la formule suivante : N D i_((xi) d Ud)2) V = ((2y)i61.eXp - i=1 d=1 La valeur de modèle v ainsi obtenue est normée à l'aide de la norme de sortie suivant la formule : = vsy + m3, Dans cette formule v représente la valeur de modèle nor- mée (valeur de sortie) sur un point d'essai normé u (vecteur de grandeur d'entrée de la dimension D), i3 correspond à une valeur de modèle (non normée) valeur de sortie en un point d'essai it (non normé) (vecteur de grandeur d'entrée de la dimension D), xi représente un point d'appui des données de points d'appui, N représente le nombre de points d'appui des données de points d'appui, D représente la dimension de l'espace données d'entrée/données d'entraînement/données de points d'appui ; /d et o-f représentent les hyper-paramètres résultant de l'entraînement de modèle. Le vecteur Qy est une grandeur calculée à partir des hyper-paramètres et des données d'entraînement. En outre, My correspond à la fonction de valeur moyenne concernant la valeur moyenne des valeurs de sortie des données de points d'appui et sy représente la variance des valeurs de sortie des données de points d'appui. Normer les grandeurs d'entrée et de sortie consiste à cal- culer de façon caractéristique le modèle de procédé de Gauss dans un espace normé. Pour démarrer un calcul, l'unité de calcul 2 sollicite l'unité DMA 33 à charger les données de configuration concernant le modèle fonctionnel à calculer à partir de la mémoire 5 dans la mémoire interne 32 et de commencer le calcul dans le coeur de calculateur 31 ; le calcul sera fait à l'aide des données de configuration. Les données de configuration comprennent les hyper-paramètres d'un modèle de procédé de Gauss ainsi que des données de points d'appui. La chaîne de traitement résultant de la figure 2 n'est pas favorable pour un calcul numérique et dans le cas présent, le cas échéant, il pourra se faire de manière stable dans l'unité de calcul de modèle 3. Il est pour cela prévu de réaliser le coeur de calculateur 31 pour pouvoir exécuter les calculs d'une manière plus simple, plus rapide et/ou numériquement plus stable. Pour cela, on remplace la normalisation d'entrée par : Ud = (Si x) d .1-id + (Mi x) d avec 1 (S x ) d - (s,x).1 et (MX) d (mi X) d = x) En outre, on peut remplacer la prévision du modèle de régression de Bayes par : D 17 = (Q' Y i . exp l' d .((xi)d - ud)2) i=1 d=1 avec (vy), = (Qy),0-1- et 25 1 = 21'd La boucle de sommation interne effectue la sommation des produits de l'd par des différences élevées au carré entre les données de points d'appui et le point d'essai u en ligne. Les échelles de longueur /d sont, de manière caractéristique, différentes pour chaque modèle. La transformation de la normalisation d'entrée et la reformula- tion du modèle de régression de Bayes font que le coeur de calculateur 31 peut utiliser, de façon répétée, des opérations de la forme a+ b x c pour calculer la valeur de modèle. Dans une implémentation par circuit, un calcul de la forme a+ b x c se fait d'une manière particulièrement efficace à l'aide d'une unité MAC. Une telle unité MAC se réalise sous la forme d'un circuit pour pouvoir exécuter le calcul en l'espace de quelques cycles de cadence. Le cas échéant, le calcul peut même se faire à l'intérieur d'un seul cycle. De plus, la transformation indiquée ci-dessus et la reformu- lation se traduisent par un calcul numériquement stable de la valeur de modèle dans le coeur de calculateur 31. Le calcul est réalisé sous la forme d'un circuit comme cela est indiqué dans le pseudo code C. /* Etape 1 : Normalisation d'entrée */ 001 : for (k=0; k<D ; k++ { 002 : û[k] = u[k]*(s',,)[k]+(m'x)[k] ; MAC 003: } /* Etape 2 : Calcul de la boucle extérieure */ 004 : for (j=0; j<N; j++) { 5: i = j * D. /* Etape 2a : Calcul de la boucle intérieure */ 6: t = 0.0; 007 : for (k=0; k<D; k++) { 8: d = û[k] - v[i+k]; MAC (Add) 9: d = d*d; MAC (Mul) 010 : t += l' [k]*d; MAC 011: } /* Etape 2b : Calcul de la fonction exponentielle */ 012 : e = exp(-t); /* Etape 2c : */ 013 : y += (Q'y)[j] * e; MAC 14: } /* Etape 3 : Normalisation de sortie */ 15: z = my; 16: z += y*sy; MAC 017 : return z; Il faut veiller à ce que l'échelle de longueur l'd soit toujours positive car la fonction exponentielle n'est numériquement précise que dans la plage d'entrée négative et peut ainsi être optimisée, c'est-à-dire : D exp (- i'd.((x3d ud)2P c1=1 En outre, le facteur de pondération 1/2 peut être implé- menté dans l'échelle de longueur l'd = la également de façon avantageuse en surface dans le circuit de sorte que l'échelle de longueur mémorisée peut être mémorisée seulement sous forme réciproque. La reformulation ci-dessus permet d'exécuter le procédé de calcul représenté à la figure 2 avec les unités suivantes dans le coeur de calculateur 31, représenté de manière détaillée à la figure 3. Le coeur de calculateur 31 comprend une unité de fonction exponentielle 41, une unité de multiplication 43, une unité d'addition 42 ou leur forme as- semblée, connue, l'unité MAC 44. Pour assurer la souplesse du circuit, il faut que les paramètres nécessaires, à savoir le point d'essai u, les données de points d'appui xi, le nombre de dimensions D, le nombre de données d'entraînement N, puissent être configurés. Ces informations sont mémorisées dans un registre de configuration ou mémoire et ces données peuvent par exemple être représentées comme registre 45 ou registre de temps qui est décrit par l'unité de calcul 2. Le déroulement du calcul indiqué ci-dessus dans le pseudo code C est commandé par un circuit logique 46. Le circuit lo- gigue 46 représente un câblage et une commande de déroulement cor- respondants. La reformulation permet, en outre, d'implémenter tout le calcul du modèle de procédé de Gauss dans un circuit. Le calcul peut être exécuté principalement à l'aide de l'unité MAC 44 et de l'unité de fonction exponentielle 41 ; L'utilisation des blocs est indiqué au côté droit du pseudo code C ci-dessus. Le calcul ((x,)d - ud)2 peut également être exécuté dans une unité de calcul et une unité de multiplication dédiées de sorte que le calcul se fera rapidement. Comme représenté à la figure 1, l'unité de calcul de mo- dèle 3 peut avoir plusieurs coeurs de calculateur 31 pour calculer en parallèle et indépendamment plusieurs modèles de procédé de Gauss ou parties de modèle. Comme le montre la figure 4, chaque coeur de calculateur 31 a son propre registre de configuration ou une mémoire propre contenant les valeurs d'entrée du point d'essai u, les données de points d'appui xi et tous les autres paramètres. La réalisation de plusieurs coeurs de calculateur 31 peut se faire par exemple en technique pipeline. En outre, il est également possible d'optimiser en implémentant seulement une fois une ou plusieurs parties de l'unité de calcul de modèle 3 et en l'utilisant avec plusieurs coeurs de calculateur 31 pour protéger les ressources de circuit. C'est ainsi que, par exemple, les coeurs de calculateur 31 peuvent accéder à une unité MAC 44 com- mune ou à une unité de fonction exponentielle 41 commune. La réalisation de plusieurs coeurs de calculateur 31 peut se faire par exemple en optimisant une technique de multiplexage dans le temps. La technique de multiplexage dans le temps consiste en une association constante de cadences à des unités, par exemple à deux coeurs de calculateur 31, c'est-à-dire les cadences paires et les cadences impaires sont associées à l'un correspondant par exemple deux coeurs de calculateur. De façon générale, en technique de multiplexage, l'association des coeurs de calculateur 31 se fait à la demande (par exemple à l'aide du circuit logique 46). En outre, la technique de multiplexage permet de prévoir une redondance selon laquelle en cas de défaillance d'un coeur de calculateur, les calculs de celui-ci sont exécutés par l'autre coeur de calculateur.
La réalisation de la figure 5 montre, en revanche, deux coeurs de calculateur 31 ayant chacun sa propre unité MAC 44 et qui accède à une unité de fonction exponentielle 41 commune.5 NOMENCLATURE DES ELEMENTS PRINCIPAUX 1 Appareil de commande intégré 2 Unité de calcul 3 Unité de calcul de modèle 4 Système de bus 5 Mémoire 31 Coeur de calculateur 32 Mémoire interne 33 Unité DMA 34 Liaison de communication 41 Unité de fonction exponentielle 42 Unité d'addition 43 Unité de multiplication 44 Unité MAC 45 Registre 46 Circuit logique u Point d'essai xi Donnée de point d'appui D Dimension N Nombre de données d'entraînement25

Claims (7)

  1. REVENDICATIONS1°) Unité de calcul de modèle (3) pour calculer un modèle fonctionnel fondé sur des données dans un appareil de commande (1) comportant un coeur de calculateur (31), le coeur de calculateur (31) comprenant : une unité de multiplication (43) pour effectuer une multiplication par un circuit, une unité d'addition (42) pour effectuer une addition par un circuit, une unité de fonction exponentielle (41) pour calculer une fonction exponentielle par un circuit, une mémoire, notamment un registre de configuration (45) pour enregistrer des hyper-paramètres et des données de points d'appui du modèle fonctionnel fondé sur des données à calculer, et un circuit logique (46) pour commander par un circuit le déroule- ment des calculs dans l'unité de multiplication (43), dans l'unité d'addition (42), dans l'unité de fonction exponentielle (41) et dans la mémoire notamment dans le registre de configuration (45) pour obtenir le modèle fonctionnel fondé sur des données.
  2. 2°) Unité de calcul de modèle (3) selon la revendication 1, caractérisée en ce que l'unité de multiplication et l'unité d'addition sont dans une unité MAC (44) combinée dans un circuit.
  3. 3°) Unité de calcul de modèle (3) selon la revendication 1 ou 2, caractérisée en ce qu' elle comprend plusieurs coeurs de calculateur (31) qui ont une unité de fonction exponentielle (41) commune et/ou une unité MAC (44) commune.
  4. 4°) Unité de calcul de modèle (3) selon la revendication 1, caractérisée en ce que le modèle fonctionnel attribue une valeur de modèle à plusieurs grandeurs d'entrée, le déroulement du calcul consistant pour un calcul à normaliser l'entrée des grandeurs d'entrée notamment en effectuant, àl'aide de l'unité MAC (44), une multiplication et une addition et pour effectuer un calcul d'une normalisation de sortie des grandeurs de sortie notamment à l'aide de l'unité MAC (44) pour exécuter une multiplication et une addition.
  5. 5°) Unité de calcul de modèle (3) selon l'une des revendications 2 à 4, caractérisée en ce que le modèle fonctionnel prévoit le calcul d'un terme ((xi) - u)2, terme dans lequel xi représente les points d'appui du modèle fonctionnel fondé sur des données et u représente les grandeurs d'entrée, le circuit logique exécutant le calcul du terme à l'aide de l'unité MAC (44) ou à l'aide de l'unité de multiplication (43) et de l'unité d'addition (42).
  6. 6°) Appareil de commande (1), notamment pour un système de moteur équipé d'un moteur thermique, comprenant : une unité de calcul (2) une unité de calcul de modèle (3) selon l'une quelconque des revendications 1 à 5.
  7. 7°) Procédé de calcul d'un modèle fonctionnel fondé sur des données, notamment d'un modèle de procédé de Gauss, dans une unité de calcul de modèle (3) selon l'une quelconque des revendications 1 à 5, le modèle fonctionnel étant calculé complètement par des étapes de calcul exécutées successivement, les étapes de calcul comprenant au moins une multiplication combinée et une addition ou seulement une multiplication combinée et des calculs d'addition ainsi qu'un calcul d'une fonction exponentielle.30
FR1453096A 2013-04-10 2014-04-08 Unite de calcul de modele et appareil de commande ainsi que procede pour calculer un tel modele fonctionnel fonde sur des donnees Active FR3004567B1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102013206302.4 2013-04-10
DE102013206302 2013-04-10
DE102013213420.7A DE102013213420A1 (de) 2013-04-10 2013-07-09 Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells

Publications (2)

Publication Number Publication Date
FR3004567A1 true FR3004567A1 (fr) 2014-10-17
FR3004567B1 FR3004567B1 (fr) 2019-01-25

Family

ID=51618474

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1453096A Active FR3004567B1 (fr) 2013-04-10 2014-04-08 Unite de calcul de modele et appareil de commande ainsi que procede pour calculer un tel modele fonctionnel fonde sur des donnees

Country Status (6)

Country Link
US (1) US10146248B2 (fr)
JP (2) JP2014206975A (fr)
KR (1) KR102215271B1 (fr)
CN (1) CN104102137A (fr)
DE (1) DE102013213420A1 (fr)
FR (1) FR3004567B1 (fr)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013213420A1 (de) * 2013-04-10 2014-10-16 Robert Bosch Gmbh Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
DE102013209657A1 (de) * 2013-05-24 2014-11-27 Robert Bosch Gmbh FMA-Einheit, insbesondere zur Verwendung in einer Modellberechnungseinheit zur rein hardwarebasierten Berechnung von Funktionsmodellen
CN105892989B (zh) * 2016-03-28 2017-04-12 中国科学院计算技术研究所 一种神经网络加速器及其运算方法
DE102016216947A1 (de) * 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells
DE102016216950A1 (de) * 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells mit Vorwärts- und Rückkopplung
DE102017215420A1 (de) * 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung eines RBF-Modells
US11176487B2 (en) * 2017-09-28 2021-11-16 Oracle International Corporation Gradient-based auto-tuning for machine learning and deep learning models
DE102017217972A1 (de) * 2017-10-10 2019-04-11 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erzeugen eines inversen Sensormodells und Verfahren zum Erkennen von Hindernissen
JP2019157652A (ja) 2018-03-07 2019-09-19 トヨタ自動車株式会社 内燃機関の制御装置
CN109739470B (zh) * 2018-12-30 2023-06-13 南京大学 一种基于2型双曲cordic任意指数函数的计算系统
DE102020206916A1 (de) 2020-06-03 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Steuereinrichtung und Verfahren zum Auswählen von Auswertungspunkten für ein Bayessches Optimierungsverfahren

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173408A (ja) * 1997-08-29 1999-03-16 Internatl Business Mach Corp <Ibm> 演算処理システム及び演算処理方法
US6526430B1 (en) 1999-10-04 2003-02-25 Texas Instruments Incorporated Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing)
JP3852438B2 (ja) 2003-11-27 2006-11-29 セイコーエプソン株式会社 誤差関数演算装置及び誤差関数演算方法
CN101369999A (zh) 2007-08-17 2009-02-18 义隆电子股份有限公司 递归式离散傅立叶处理器单核心装置及其应用
DE102008001081B4 (de) 2008-04-09 2021-11-04 Robert Bosch Gmbh Verfahren und Motorsteuergerät zum Steuern eines Verbrennungsmotors
US9128790B2 (en) 2009-01-30 2015-09-08 Intel Corporation Digital signal processor having instruction set with an exponential function using reduced look-up table
DE102010028259A1 (de) 2010-04-27 2011-10-27 Robert Bosch Gmbh Mikrocontroller mit einer Recheneinheit und einer Logikschaltung sowie Verfahrung zur Durchführung von Rechnungen durch einen Mikrocontroller für eine Regelung oder eine Steuerung in einem Fahrzeug
DE102010028266A1 (de) * 2010-04-27 2011-10-27 Robert Bosch Gmbh Steuergerät und Verfahren zur Berechnung einer Ausgangsgröße für eine Steuerung
CN102175916B (zh) 2011-01-30 2013-07-31 天津大学 短样本密集频率信号的参数测量方法
US9753695B2 (en) * 2012-09-04 2017-09-05 Analog Devices Global Datapath circuit for digital signal processors
DE102013206320A1 (de) * 2013-04-10 2014-10-16 Robert Bosch Gmbh Verfahren und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells
DE102013213420A1 (de) * 2013-04-10 2014-10-16 Robert Bosch Gmbh Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
DE102013209657A1 (de) * 2013-05-24 2014-11-27 Robert Bosch Gmbh FMA-Einheit, insbesondere zur Verwendung in einer Modellberechnungseinheit zur rein hardwarebasierten Berechnung von Funktionsmodellen
DE102013212840B4 (de) * 2013-07-02 2022-07-07 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells mit Daten in verschiedenen Zahlenformaten
DE102013212842A1 (de) * 2013-07-02 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts sowie Steuergerät mit einer Modellberechnungseinheit

Also Published As

Publication number Publication date
JP2014206975A (ja) 2014-10-30
CN104102137A (zh) 2014-10-15
DE102013213420A1 (de) 2014-10-16
KR20140122672A (ko) 2014-10-20
JP2019145111A (ja) 2019-08-29
US10146248B2 (en) 2018-12-04
KR102215271B1 (ko) 2021-02-15
FR3004567B1 (fr) 2019-01-25
US20140310325A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
FR3004567A1 (fr) Unite de calcul de modele et appareil de commande ainsi que procede pour calculer un tel modele fonctionnel fonde sur des donnees
Desislavov et al. Compute and energy consumption trends in deep learning inference
Desislavov et al. Trends in AI inference energy consumption: Beyond the performance-vs-parameter laws of deep learning
US20230252327A1 (en) Neural architecture search for convolutional neural networks
JP6494801B2 (ja) 情報推奨方法および装置、ならびにサーバ
US11816446B2 (en) Systolic array component combining multiple integer and floating-point data types
WO2017201507A1 (fr) Rétropropagation dans le temps, économe en mémoire
WO2016173766A1 (fr) Placement d&#39;une tâche de calcul sur un processeur fonctionnellement asymetrique
WO2017003886A1 (fr) Apprentissage et exploitation de modèles informatiques
FR3008506A1 (fr) Procede et dispositif pour fournir des donnees de positions d&#39;appui pour un modele de fonctionnement reposant sur des donnees
US10410056B1 (en) Computer vision based asset evaluation
Kim et al. CPU-accelerator co-scheduling for CNN acceleration at the edge
US11960997B1 (en) Circuit architecture with biased randomization
Hodak et al. Challenges in distributed MLPerf
US10318530B1 (en) Iterative kurtosis calculation for big data using components
US20230419125A1 (en) System and method for capacity planning for data aggregation using similarity graphs
US11816134B1 (en) System and method for reduction of data transmission in dynamic systems using causal graphs
Chen et al. Power Modelling for Heterogeneous Cloud-Edge Data Centers
US20220415514A1 (en) Asymptomatic complex disease monitoring engine
Leka et al. Workload prediction of virtual machines using integrated deep learning approaches over cloud data centers
JP6973651B2 (ja) 演算最適化装置、方法およびプログラム
US20190311264A1 (en) Device and method for obtaining functional value, and neural network device
Rezazadeh Distributed estimation and inferential tools for graphical models
Wang Methodologies for Improving Modern Industrial Recommender Systems
Manthalu The impact of user fee exemption on maternal health care utilisation and health outcomes at mission health care facilities in Malawi

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLSC Publication of the preliminary search report

Effective date: 20170818

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10