Brevet FR3162863A1 — publié le 20251205

Procédé d’estimation d’un paramètre représentatif de l’état d’au moins un élément électrochimique d’une batterie, procédé et dispositifs associés La présente invention concerne un procédé d’estimation d’un paramètre représentatif de l’état d’un élément électrochimique, le procédé d’estimation étant mis en œuvre par un calculateur d’un système de gestion de batterie propre à fournir des valeurs d’estimation du paramètre à l’issue d’itérations successives de mise en œuvre d’opérations par le calculateur, le procédé comportant l’estimation de la valeur du paramètre à la première itération par inférence d’un réseau de neurones sur les valeurs obtenues, l’inférence du réseau comprenant, pour plusieurs itérations consécutives, la réalisation de calculs d’une partie respective du réseau, chaque partie respective comportant un ensemble de neurones du réseau, chaque neurone appartenant à un unique ensemble de neurones et donnant une valeur de sortie et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés. Figure pour l'abrégé : figure 3 Procédé d’estimation d’un paramètre représentatif de l’état d’au moins un élément électrochimique d’une batterie, procédé et dispositifs associés La présente invention concerne un procédé d’estimation d’un paramètre représentatif de l’état d’au moins un élément électrochimique d’une batterie. La présente invention se rapporte aussi à un procédé de détermination, un calculateur, un système de gestion et une batterie associés. Typiquement une batterie comprend un ou plusieurs accumulateurs de courant appelés aussi générateurs électrochimiques, cellules ou éléments. Un accumulateur est un dispositif de production d'électricité dans lequel de l'énergie chimique est convertie en énergie électrique. L'énergie chimique provient des composés électrochimiquement actifs déposés sur au moins une face d'électrodes disposées dans l'accumulateur. L'énergie électrique est produite par des réactions électrochimiques au cours d'une décharge de l'accumulateur. Les électrodes, disposées dans un conteneur, sont connectées électriquement à des bornes de sortie de courant qui assurent une continuité électrique entre les électrodes et un consommateur électrique auquel l'accumulateur est associé. Afin d'augmenter la puissance électrique délivrée, on peut associer plusieurs accumulateurs étanches entre eux pour former une batterie. Ainsi, une batterie peut être divisée en modules, chaque module étant composé d'un ou plusieurs accumulateurs reliés entre eux en série et/ou en parallèle. Ainsi, une batterie peut par exemple comporter une ou plusieurs branches parallèles d'accumulateurs reliés en série et/ou une ou plusieurs branches parallèles de modules reliés en série. Un circuit de charge est généralement prévu auquel la batterie peut être branchée pour recharger les accumulateurs. Par ailleurs, un système de gestion électronique comprenant des capteurs de mesures et un circuit électronique de contrôle, plus ou moins évolué selon les applications, peut être associé à la batterie. Un tel système permet notamment d'organiser et de contrôler la charge et la décharge de la batterie, pour équilibrer la charge et la décharge des différents accumulateurs de la batterie les uns par rapport aux autres. Pour réaliser un tel contrôle, le système de gestion est propre à obtenir des paramètres représentatifs de l’état d’au moins une partie de la batterie. L'état de charge est un exemple d’un tel paramètre. L’état de charge est une information utile au système électronique de gestion de la batterie pour optimiser son utilisation et sa durée de vie. L’état de charge est souvent désigné par l’abréviation SOC qui renvoie à la dénomination anglaise de « State of Charge ». L’état de santé est un autre exemple de paramètre représentatif de l’état obtenu par le système de gestion. L’état de santé est souvent désigné sous l’abréviation SOH qui renvoie à la dénomination anglaise de « State of Health ». L’état de santé SOH permet d’estimer le vieillissement de la batterie entre un état neuf et un état fin de vie, ou plus généralement, entre un état initial et un état final. L’état de température est encore un autre exemple de paramètre intéressant dans ce contexte. L’état de température est souvent désigné sous l’abréviation SOT qui renvoie à la dénomination anglaise de « State of Temperature ». L’état de température SOT caractérise la température de chaque accumulateur en fonction des mesures des capteurs de température, ceux-ci étant en nombre limités. Pour obtenir ces valeurs physiques, il est connu de recourir à des techniques issues de l’utilisation de l’intelligence artificielle. Les réseaux de neurones sont un exemple de telles techniques. Toutefois, pour que ces techniques produisent des estimations de bonne qualité des paramètres représentatifs de l’état de la batterie, elles imposent la mise en œuvre des calculs dont le temps d’exécution est très long, notamment pour l’inférence par un réseau de neurones. Cela rend ces techniques prometteuses pour le domaine des batteries incompatibles avec une utilisation en temps réel et en embarqué. Il existe donc un besoin pour un procédé d’estimation d’un paramètre représentatif de l’état d’un élément électrochimique d’une batterie qui puisse être mis en œuvre en embarqué tout en bénéficiant des estimations de bonne qualité des techniques issues de l’utilisation de l’intelligence artificielle. A cet effet, la description décrit un procédé d’estimation d’un paramètre représentatif de l’état d’au moins un élément électrochimique d’une batterie, le procédé d’estimation étant mis en œuvre par un calculateur d’un système de gestion d’au moins un élément électrochimique d’une batterie, le calculateur étant propre à fournir des valeurs d’estimation d’un paramètre représentatif de l’état de l’au moins un élément électrochimique à l’issue d’itérations successives de mise en œuvre d’opérations par le calculateur, le procédé comportant une étape de : - obtention de valeurs d’au moins une grandeur physique de l’au moins un élément électrochimique à une première itération, et - estimation par le calculateur de la valeur du paramètre représentatif de l’état de l’au moins un élément électrochimique à la première itération par inférence d’un réseau de neurones sur les valeurs obtenues lors de l’étape d’obtention, l’inférence du réseau de neurones comprenant, pour plusieurs itérations consécutives, la réalisation de calculs d’une partie respective du réseau de neurones, chaque partie respective comportant un ensemble de neurones du réseau de neurones, chaque neurone appartenant à un unique ensemble de neurones et donnant une valeur de sortie et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés. Selon des modes de réalisation particuliers, le procédé d’estimation présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles : - une itération présente une durée comprise entre 100 ms et 30 secondes, préférentiellement inférieure à 1 seconde. - un rapport est défini, le numérateur du rapport étant la différence entre le temps d’exécution maximal d’une itération et le temps minimal d’une exécution d’une itération et le dénominateur du rapport étant le temps d’exécution moyen des itérations, le rapport étant strictement inférieur à 1, de préférence strictement inférieur à 1/5, avantageusement strictement inférieur à 1/10. - l’au moins une grandeur physique est choisie parmi un courant, une tension ou une température. - le paramètre représentatif de l’état d’au moins un élément électrochimique est choisi parmi un état de santé, un état de charge, un état de température, un état de puissance et un état d’énergie. La description décrit aussi un procédé de détermination d’une répartition de l’inférence d’un réseau de neurones sur plusieurs itérations consécutives d’un calculateur d’un système de gestion d’au moins un élément électrochimique d’une batterie, le calculateur étant propre à fournir des valeurs d’estimation d’un paramètre représentatif de l’état de l’au moins un élément électrochimique à l’issue d’itérations successives de mise en œuvre d’opérations par le calculateur, le calculateur estimant la valeur du paramètre représentatif de l’état à la première itération de l’au moins un élément électrochimique par inférence d’un réseau de neurones sur des valeurs d’au moins une grandeur physique de l’au moins un élément électrochimique obtenues à une première itération, le procédé de détermination étant mis en œuvre par ordinateur et comprenant la détermination d’une répartition de la réalisation de calculs sur plusieurs itérations consécutives selon une pluralité de critères, un premier critère étant que chaque itération comporte l’exécution d’une partie respective du réseau de neurones, et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés, chaque partie respective comportant un ensemble de neurones du réseau de neurones et un deuxième critère étant que chaque neurone appartient à un unique ensemble de neurones. Selon des modes de réalisation particuliers, le procédé de détermination présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles : - un troisième critère est que, pour chaque itération, le temps d’exécution de la partie respective du réseau de neurones, et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés soit inférieur à un temps prédéfini. - un autre critère est qu’un rapport soit strictement inférieur à 1, le numérateur du rapport étant la différence entre le temps d’exécution maximal d’une itération et le temps minimal d’une exécution d’une itération et le dénominateur du rapport étant le temps d’exécution moyen des itérations. La description propose également un calculateur d’un système de gestion d’au moins un élément électrochimique d’une batterie, le calculateur étant propre à estimer un paramètre représentatif de l’état d’au moins un élément électrochimique d’une batterie, le calculateur étant propre à fournir des valeurs d’estimation d’un paramètre représentatif de l’état de l’au moins un élément électrochimique à l’issue d’itérations successives de mise en œuvre d’opérations par le calculateur, le calculateur étant propre à : - obtenir des valeurs d’au moins une grandeur physique de l’au moins un élément électrochimique à une première itération, et - estimer la valeur du paramètre représentatif de l’état de l’au moins un élément électrochimique à la première itération par inférence d’un réseau de neurones sur les valeurs obtenues lors de l’étape d’obtention, l’inférence du réseau de neurones comprenant, pour plusieurs itérations consécutives, la réalisation de calculs d’une partie respective du réseau de neurones, chaque partie respective comportant un ensemble de neurones du réseau de neurones, chaque neurone appartenant à un unique ensemble de neurones et donnant une valeur de sortie et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés. La description décrit aussi un système de gestion d’au moins un élément électrochimique d’une batterie, l’au moins un élément électrochimique présentant des bornes, le système de gestion comprenant : - un capteur de tension propre à mesurer la tension aux bornes dudit au moins un élément électrochimique, - un capteur du courant aux bornes dudit au moins un élément électrochimique, - un capteur de température dudit au moins un élément électrochimique, et - un calculateur tel que précédemment décrit. La description propose également une batterie comprenant : - au moins un élément électrochimique, et - un système de gestion tel que précédemment décrit. Dans la présente description, l’expression « propre à » signifie indifféremment « adapté pour », « adapté à » ou « configuré pour ». Des caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : - FIG. 1 la FIG. 1 est une représentation schématique d’un exemple de batterie comportant un élément électrochimique et un calculateur, - FIG. 2 la FIG. 2 est une représentation schématique d’un exemple de réseau de neurones, - FIG. 3 la FIG. 3 est un ordinogramme illustrant schématiquement un exemple de mise en œuvre d’un procédé comportant notamment une phase d’estimation d’un paramètre représentatif de l’état d’au moins un élément électrochimique, - FIG. 4 la FIG. 4 illustre schématiquement une exécution du réseau de neurones de la FIG. 2 à une première itération du calculateur de la FIG. 1 , - FIG. 5 la FIG. 5 illustre schématiquement l’exécution du réseau de neurones de la FIG. 2 à une deuxième itération du calculateur de la FIG. 1 , - FIG. 6 la FIG. 6 illustre schématiquement l’exécution du réseau de neurones de la FIG. 2 à une troisième itération du calculateur de la FIG. 1 , - FIG. 7 la FIG. 7 illustre schématiquement l’exécution du réseau de neurones de la FIG. 2 à une quatrième itération du calculateur de la FIG. 1 , - FIG. 8 la FIG. 8 illustre schématiquement l’exécution du réseau de neurones de la FIG. 2 à une cinquième itération du calculateur de la FIG. 1 , et - FIG. 9 la FIG. 9 illustre schématiquement l’exécution du réseau de neurones de la FIG. 2 à une sixième itération du calculateur de la FIG. 1 . Une batterie 10 est représentée sur la FIG. 1 . De manière connue en soi, une batterie est généralement un agencement d’une pluralité d’éléments électrochimiques mais dans un souci de simplification du propos, il est décrit un cas à un seul élément électrochimique dans ce qui suit, sachant que la transposition à d’autres agencements est immédiate. La batterie 10 comporte un élément électrochimique 12 et un système de gestion 14 de l’élément électrochimique 12. Comme expliqué précédemment, un élément électrochimique 12 est un dispositif de production d'électricité dans lequel de l'énergie chimique est convertie en énergie électrique. L’élément électrochimique 12 délivre donc un courant et une tension entre deux bornes. Le système de gestion 14 est un système propre à gérer l’élément électrochimique 12. Le système de gestion 14 est souvent désigné sous l’acronyme BMS qui renvoie à la dénomination anglaise correspondante de « Battery Management System ». Selon l’exemple décrit, le système de gestion 14 comporte un capteur de tension 16, un capteur de courant 18, un capteur de la température 20 et un calculateur 22. Le capteur de tension 16 est propre à mesurer la tension aux bornes de l’élément électrochimique 12. Le capteur de courant 18 est propre à mesurer le courant aux bornes de l’élément électrochimique 12. Le capteur de température 20 est propre à mesurer la température de l’élément électrochimique 12. Selon d’autres modes de réalisation, le système de gestion 14 comporte un ou plusieurs des capteurs précédents. Il est également envisageable que le système de gestion 14 utilise d’autres capteurs propres à mesurer une grandeur physique relative à l’élément électrochimique 12. Le calculateur 22 est un circuit électronique conçu pour manipuler et/ou transformer des données représentées par des quantités électroniques ou physiques dans des registres du calculateur 22 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans les mémoires de registres ou d'autres types de dispositifs d'affichage, de dispositifs de transmission ou de dispositifs de mémorisation. En tant qu’exemples spécifiques, le calculateur 22 comprend un processeur monocœur ou multicœurs (tel qu’une unité de traitement centrale (CPU), une unité de traitement graphique (GPU), un microcontrôleur et un processeur de signal numérique (DSP)), un circuit logique programmable, comme un circuit intégré spécifique à une application (ASIC), un réseau de portes programmables in situ (FPGA), un dispositif logique programmable (PLD) et des réseaux logiques programmables (PLA), une machine à états, une porte logique et des composants matériels discrets. En fonctionnement, le calculateur 22 est propre à fournir une ou plusieurs valeurs d’estimation de paramètre représentatif de l’état de l’élément électrochimique 12 à une certaine fréquence d’itération. Ces valeurs d’estimation sont obtenues par le calculateur 22 à partir des grandeurs physiques obtenues par les capteurs 16, 18 et 20. Cela signifie que le calculateur 22 fournit successivement les valeurs au bout d’un intervalle de temps qui est fixé par l’utilisation de la batterie 10 (notamment en fonction des grandeurs physiques à contrôler et de la fréquence de leur contrôle) et les capacités de calcul du calculateur 22. Typiquement, cet intervalle de temps est compris entre 100 ms et 30 s. Le plus souvent, cet intervalle de temps est inférieur à la seconde. Ces valeurs d’estimation sont le résultat d’opérations plus ou moins complexes mises en œuvre par le calculateur 22. Il peut ainsi être défini une suite d’itérations, chaque itération correspondant à un intervalle de temps durant lequel le calculateur 22 effectue des calculs et sort des résultats, ces résultats étant liés directement ou indirectement à au moins une valeur d’estimation d’un paramètre représentatif de l’état de l’élément électrochimique 12. Autrement formulé, le calculateur 22 est propre à fournir des valeurs d’estimation d’un paramètre représentatif de l’état de l’élément électrochimique 12 à l’issue d’itérations successives de mise en œuvre d’opérations par le calculateur 22. Dès lors, il apparaît qu’une itération regroupe un nombre prédéfini de cycles d’horloge durant lequel un nombre maximum d’opérations peut être effectué par le calculateur 22. Le calculateur 22 est propre à mettre en œuvre un procédé d’estimation d’un paramètre représentatif de l’état de l’élément électrochimique 12. Pour cela, le calculateur 22 vient réaliser l’inférence d’un réseau de neurones sur les valeurs obtenues par les capteurs 16, 18 et 20. L’inférence du réseau de neurones sur ces valeurs permet d’obtenir une valeur d’un paramètre représentatif de l’état de l’élément électrochimique 12. Par exemple, le paramètre obtenu est l’état de charge (SOC), l’état de santé (SOH), l’état de température (SOT), l’état de puissance (SOP) ou l’état d’énergie (SOE). Il est maintenant introduit quelques notions relatives aux réseaux de neurones à titre indicatif pour faciliter la lecture, ces notions générales étant non limitatives pour la suite de la description. Selon un exemple particulier, un réseau de neurones comporte une succession ordonnée de couches de neurones dont chacune prend ses entrées sur les sorties de la couche précédente. Plus précisément, chaque couche comprend des neurones prenant leurs entrées sur les sorties des neurones de la couche précédente, ou bien sur les variables d’entrée pour la couche d’entrée. En variante, des structures de réseaux de neurones plus complexes peuvent être envisagées avec une couche qui peut être reliée à une couche plus lointaine que la couche immédiatement précédente et/ou qui n’est pas reliée à l’ensemble des neurones de la couche précédente. À chaque neurone est également associée une opération, c’est-à-dire un type de traitement, à effectuer par ledit neurone au sein de la couche de traitement correspondante. Chaque couche est reliée aux autres couches par une pluralité de synapses. Un poids synaptique peut être associé à chaque synapse, et chaque synapse forme une liaison entre deux neurones. C’est souvent un nombre réel, qui prend des valeurs positives comme négatives. Chaque neurone est propre à mettre en œuvre un ensemble d’opérations sur la ou les valeur(s) reçue(s) de la part des neurones de la couche précédente. Les opérations comportent généralement une succession d’additions et de multiplications. Chaque neurone applique également une ou plusieurs fonctions d’activation pour obtenir sa valeur en sortie. La fonction d’activation permet d’introduire une non-linéarité dans le traitement effectué par chaque neurone. La fonction sigmoïde, la fonction tangente hyperbolique, la fonction de Heaviside sont des exemples de fonction d’activation. La FIG. 2 illustre un exemple particulier de réseau de neurones qui est maintenant décrit. Le réseau de neurones comporte 5 entrées et 5 couches de neurones C1 à C5. La première couche C1 de neurones comporte 4 neurones, la deuxième couche C2 comprend 8 neurones, la troisième couche C3 comporte 4 neurones, la quatrième couche C4 comprend 2 neurones et la cinquième couche C5 comporte 1 neurone. Chaque couche C1 à C5 du réseau de neurones de la FIG. 2 est, en outre, une couche de neurones entièrement connectée qui est une couche dans laquelle les neurones de ladite couche sont chacun connectés à tous les neurones de la couche précédente. Un tel type de couche est plus souvent dénommé selon le terme anglais de « fully connected », et parfois désigné sous la dénomination « couche dense ». Un exemple de préparation et de fonctionnement du calculateur 22 du système de gestion 14 est maintenant décrit. La FIG. 3 illustre un ordinogramme d’un exemple de procédé comportant trois phases distinctes. Plus précisément, le procédé comporte trois phases, une phase d’apprentissage P1, une phase de détermination P2 et une phase d’estimation P3. Le procédé est mis en œuvre par ordinateur. Toutefois, la phase d’apprentissage P1 et la phase de détermination P2 sont mises en œuvre hors ligne, c’est-à-dire par un système de calcul différent du calculateur 22. Le système de calcul est non seulement distinct du calculateur 22 mais dispose de capacité calculatoire bien supérieure du fait qu’il n’est pas destiné à être utilisé pour une application embarquée au contraire du calculateur 22. Le système de calcul utilisé lors de la phase d’apprentissage P1 et lors de la phase de détermination P2 peut différer. Au contraire, la phase d’estimation P3 est mise en œuvre en embarqué et en quasi-temps réel par le calculateur 22. La phase d’apprentissage P1 est une phase durant laquelle le réseau de neurones va apprendre à estimer une valeur pour le paramètre représentatif de l’état de l’élément électrochimique 12 à partir des grandeurs physiques mesurées. Selon l’exemple décrit, la phase d’apprentissage P1 comporte une étape de fourniture 40 d’une base de données associant aux grandeurs physiques mesurées la valeur correspondante du paramètre représentatif de l’état. Ces données sont, par exemple, des données expérimentales obtenues en faisant des expériences sur des batteries réelles. Cet ensemble de base de données est ensuite utilisée pour procéder à un apprentissage du réseau de neurones. La phase d’apprentissage P1 comporte, dans ce cas, une étape de décomposition 42 de la base de données en une base de données d’apprentissage et une base de données de test selon une répartition, par exemple de 80%-20%. Une étape d’apprentissage 44 est ensuite mise en œuvre en utilisant la base de données d’apprentissage pour converger vers une performance satisfaisante en utilisant la base de données de test selon un critère de performance prédéfini. Il est ainsi obtenu un réseau de neurones appris adapté pour l’inférence dont la structure est figée. Il est supposé dans la suite que la topologie (c’est-à-dire le nombre de couches, le nombre de neurones par couche et les liens entre les neurones) est celle du réseau de neurones de la FIG. 2 . La phase de détermination P2 vise à planifier l'inférence complète en exécution partielles successives de manière à équilibrer au maximum la charge de calcul sur plusieurs itérations. La division des calculs à réaliser est obtenue en prenant en compte la topologie du réseau, les capacités de calcul du calculateur 22 et des restrictions liées au cas d’utilisation. Cette division a pour objectif de lisser le temps d’exécution efficacement mais aussi d’assurer l’obtention d’un résultat d’inférence exact à la fin de toutes les itérations. Autrement formulé, il est proposé de diviser le temps total que prendrait l’inférence complète du réseau de neurones par le nombre d’itérations voulues. Ce temps donne un temps de départ qu’il convient d’affiner en fonction de contraintes visant à assurer l’exactitude des résultats obtenus à la fin de chaque itération. La phase de détermination vise ainsi à déterminer une répartition des opérations à réaliser entre les itérations en respectant un ou plusieurs critères. La phase de détermination P2 comprend une étape de choix 46, une étape de détermination 48, une étape de division 50 et une étape d’optimisation 52. Lors de l’étape de choix, il est choisi un nombre d’itérations à réaliser pour obtenir le résultat de l’inférence de valeurs à une itération initiale par application du réseau de neurones sur les valeurs. Ce nombre d’itérations permet d’assurer que des valeurs fiables peuvent être obtenues à chaque itération tout en étant compatible avec les contraintes de l’application dans laquelle l’élément électrochimique 12 est utilisé. Lors de l’étape de détermination, il est déterminé le nombre d’opérations à réaliser par le calculateur 22 pour calculer les sorties d’une couche de neurones. Selon l’approche du présent procédé, l’ensemble des opérations correspondant à la mise en œuvre d’un neurone est à exécuter au sein de la même itération. Aussi, il convient de déterminer combien d’opérations élémentaires sont à réaliser pour exécuter un neurone. Comme expliqué précédemment, chaque neurone réalise des additions, des multiplications et utilise une ou plusieurs fonctions d’activation. Sur la base d’expériences de la demanderesse, il a été établi le tableau suivant : Opération élémentaire Temps de calcul par opération élémentaire (T C ) Addition 1 Multiplication 2 Utilisation d’une fonction d’activation 4 Tableau 1 : Nombre de t emps de calcul par opération élémentaire , le temps de calcul par opération élémentaire étant arbitrairement fixé à 1 pour l’addition Il convient ici de préciser que le tableau 1 précédent prend des hypothèses qui pourraient être différentes dans une autre mise en œuvre. En particulier, il est supposé ici que tous les types de fonction d’activation induisent la même charge calculatoire. En réalité, la réalisation d’une fonction d’activation en « tanh » prend, en pratique, plus de TC qu’une fonction d’activation « Relu ». Les temps de mémorisation et de lecture de donnés sont ici négligés. De plus, les valeurs de TC dépendent aussi des performances calculatoires réelles du calculateur 22. Il est ainsi possible de raffiner le tableau précédent mais les expériences de la demanderesse ont montré que les hypothèses utilisées ici conduisent déjà à obtenir des résultats satisfaisants, comme cela sera montré ultérieurement. L’étape de détermination comporte aussi une distinction selon le type de couche à laquelle appartient le neurone considéré. En effet, les opérations réalisées par un neurone ne sont pas les mêmes selon les types de couche. Comme exemple de type de couche, il peut être cité une couche de type perceptron, une couche de type réseau de neurones récurrents à portes (plus souvent désigné par l’acronyme GRU qui correspond à la dénomination anglaise correspondante de « Gated Recurrent Unit ») ou une couche de type réseau à longue mémoire à court terme (plus souvent désigné par l’acronyme LSTM qui correspond à la dénomination anglaise correspondante de « Long Short-Term Memory ). Le calcul réalisé par le neurone dépendra selon les cas simplement des entrées de la couche précédente ou d’une ou plusieurs valeurs provenant d’autres couches. Pour certains types de couches, le calcul réalisé peut également dépendre des valeurs précédentes obtenues par la couche de neurones dont dépend le neurone. Dans la suite, par abus de langage, au lieu de se référer à la couche, il sera utilisé les termes neurone perceptron, neurone GRU ou neurone LSTM pour désigner un neurone appartenant au type de couche précité. Il découle de cette structure de couches de neurones un nombre d’opérations élémentaires fixés pour un neurone d’une n-ième couche. Dans ce tableau, L n désigne le nombre de neurones de la n-ième couche tandis que L n-1 désigne le nombre de neurones de la (n-1)-ième couche. Lorsque n=1, le nombre L n-1 , c’est-à-dire L 0 , est égal au nombre d’entrées du réseau de neurones. Type de neurone Addition Multiplication Utilisation d’une fonction d’activation Perceptron L n-1 + 1 L n-1 1 GRU 3×( L n-1 + L n )+11 3×( L n-1 + L n ) 3 LSTM 4×( L n-1 + L n )+11 4×( L n-1 + L n ) 4 Tableau 2 : N ombre d'opérations élémentaires par type de neurone (pour un neurone de la n-ième couche) Ce type de raisonnement est général et peut s’appliquer à tout type de neurones. Il suffit de pouvoir décomposer les calculs effectués par le neurone en opérations élémentaires. A partir des deux tableaux 1 et 2, il est possible de déduire une expression du temps de calcul pour un neurone situé dans la n-ième couche, comme indiqué dans le tableau suivant : Type de neurone Temps de calcul (TC) pour un neurone situé en couche n Perceptron 3xL n-1 + 5 GRU 9x(L n +L n-1 )+23 LSTM 12x(L n +L n-1 )+27 Tableau 3 : Nombre de temps de calcul nécessaires à l’exécution de chaque type de neurone (pour un neurone de la n - ième couche) Un exemple d’application de ces considérations est maintenant décrit en référence au réseau de neurones schématisé à la FIG. 2 . Comme visible sur cette figure, les entrées du réseau de neurones sont au nombre de 5. Dans cet exemple, il est, en outre supposé que les neurones de la première couche soient des neurones GRU alors que les autres neurones sont des neurones perceptron. Pour ce réseau de neurones particulier, cela conduit au tableau suivant : Numéro de la couche 1 2 3 4 5 Type de neurone GRU Perceptron Perceptron Perceptron Perceptron TC par neurone 104 17 29 17 11 Nombre de neurones de la couche 4 8 4 2 1 TC de la couche 416 136 116 34 11 TC total 713 Tableau 4 : Nombre de T C nécessaires à l’exécution d’un exemple de réseau de neurones couche par couche Lors de l’étape de division, il est divisé le nombre d’opérations à réaliser à chaque itération sous plusieurs contraintes. Selon l’exemple proposé, la première contrainte est que le nombre de temps de calcul soit équilibré d’une itération à l’autre et la deuxième contrainte est que l’ensemble des calculs d’un neurone doit être réalisé à la fin d’une itération. Dans le présent procédé, il est réalisé la division en deux sous-étapes, une première sous-étape durant laquelle on calcule le nombre de TC idéal pour équirépartir les calculs (et ainsi respecter la première contrainte) et une deuxième sous-étape durant laquelle, en tenant compte de la deuxième contrainte, les neurones sont répartis au mieux entre chaque itération. Pour bien illustrer cette mise en œuvre particulière, il est maintenant décrit comment l’appliquer au cas du réseau de neurones de la FIG. 2 . Pour la première sous-étape, comme le montre le tableau 4, 713 TC sont à mettre en œuvre pour exécuter le réseau de neurones en entier. Il est supposé qu’à l’étape de choix, le nombre d’itérations a été choisi égal à 6. Il suffit alors de diviser le nombre de TC à utiliser par le nombre d’itérations choisi pour obtenir un nombre d’opérations élémentaires à réaliser par itération pour avoir une équirépartition idéale de la charge de calcul. Cela conduit ici à un nombre de TC à exécuter par itération pour équilibrer la charge de calcul entre les itérations calculées comme suit : Où : désigne le nombre de TC à exécuter par itération, désigne le nombre total de TC à exécuter pour exécuter le réseau de neurones en entier, et désigne le nombre d’itérations choisi. Lors de la deuxième sous-étape, il est alors possible de répartir au mieux les calculs en imposant qu’un neurone entier soit calculé et que chaque couche soit calculée une à une (deuxième contrainte). Cela conduit à la répartition suivante : Numéro d’ itération 1 2 3 4 5 6 Nombre de neurones 1 GRU 1 GRU 1 GRU 1 GRU 6 Perceptrons 9 Perceptrons TC par itération 104 104 104 104 102 195 Dépassement de TC par rapport au -14 -14 -14 -14 -16 +77 TC total 713 Tableau 5 : Coût réel de l'exécution des ensembles de neurones dans l’exemple d’une couche perceptron Cela conduit à une répartition où la dernière itération est particulièrement chargée. Il est ainsi intéressant d’optimiser cette répartition par la mise en œuvre de l’étape d’optimisation. Lors de l’étape d’optimisation 52, la division obtenue à l’étape de division est optimisée en prenant en compte des marges. Plus précisément, il est introduit une marge inter-itération et une marge de remise à 0. La marge inter-itération est une marge qui permet de légèrement dépasser le nombre de TC idéal pour une itération pour avoir plus de possibilité de lissage de la charge. Cette marge a été choisie ici égale à 10 TC. Cette marge peut être obtenue en mesurant le temps d’une remise à 0 et le temps entre deux itérations et en considérant, par exemple, la somme des mesures les plus élevées. La marge de remise à 0 permet de représenter le temps nécessaire à la réinitialisation des états du processus d’inférence partielle. Cette dernière marge correspond à un neurone virtuel ajouté à la fin du réseau et dont l’exécution doit aussi être planifié. Cette marge a été choisie ici égale à 5 TC. Avec ces marges, il est possible de dériver la relation suivante : Où : désigne le nombre total de TC, exprime le nombre de TC nécessaires à l’exécution d’un neurone de la couche n, et désigne le nombre de couches. Par ailleurs, il vient : Où : est le nombre d’itérations voulues, et désigne le marge inter-itération. Avec ces marges, le nouveau nombre de TC total est de 718 TC et le nombre de TC idéal par itération passe à 718/6+10 ≈ 129 TC. Ces marges permettent d’optimiser la division comme le montre le tableau qui suit : Numéro de l’itération 1 2 3 4 5 6 Nombre de neurones 1 GRU 1 GRU 1 GRU 1 GRU 1 Perceptron 7 Perceptrons 7 Perceptrons Marge reset TC par itération 104 104 104 121 119 166 Dépassement de TC par rapport au budget -25 -25 -25 -8 -10 +37 TC total 718 Tableau 6 : Coût réel de l'exécution des ensembles de neurones en prenant en compte les marges La division en ensemble de neurones ainsi optimisée permet donc bien de parvenir à une meilleure répartition de la charge de calcul entre les différentes itérations. Il peut être souligné ici que le cas pris en exemple est un cas volontairement complexe pour bien montrer l’intérêt de ce procédé. Toutefois, il est apparent que plus le réseau de neurones comporte un grand nombre de neurones et plus il sera facile de diviser efficacement son exécution entre différentes itérations. Selon un exemple, un rapport est défini, le numérateur du rapport étant la différence entre le temps d’exécution maximal d’une itération et le temps minimal d’une exécution d’une itération et le dénominateur du rapport étant le temps d’exécution moyen des itérations et ce rapport est strictement inférieur à 1. Cela s’écrit mathématiquement comme : Où : désigne le rapport, est le temps d’exécution maximal, c’est-à-dire le temps d’exécution le plus grand parmi les temps d’exécution mis par chacune des itérations, est le temps d’exécution minimal, c’est-à-dire le temps d’exécution le plus faible parmi les temps d’exécution mis par chacune des itérations, et est la moyenne arithmétique de l’ensemble des temps d’exécution mis par chacune des itérations. De préférence, le rapport est strictement inférieur à 1/5. Avantageusement, le rapport est strictement inférieur à 1/10. Alternativement, en supposant que cela soit acceptable pour l’application faite de la batterie 10, il est aussi possible d’augmenter le nombre choisi d’itérations. Par exemple, pour le cas du réseau de neurones de la FIG. 2 , passer à 7 itérations permettrait de lisser encore plus la charge comme le montre le tableau 7 qui suit. Il peut être noté ici que 718/7+10 ≈ 113 TC contrairement à la valeur précédente de 129 TC : Numéro de l’itération 1 2 3 4 5 6 7 Nombre de neurones 1 GRU 1 GRU 1 GRU 1 GRU 6 Perceptrons 4 Perceptrons 5 Perceptrons 1 Marge reset TC par itération 104 104 104 104 102 92 108 Dépassement de TC par rapport au budget -9 -9 -9 -9 -11 -21 -5 TC total 718 Tableau 7 : Coût réel de l'exécution des sous-groupes de neurones en ajoutant un e itération Dans les deux cas précités, les marges pourraient être fixées à une valeur nulle, de sorte que l’étape d’optimisation peut également consister en une modification de la topologie du réseau de neurones en reprenant la phase d’apprentissage P1 avec des contraintes différentes et/ou en une modification du nombre total d’itérations. Il est également possible de cumuler une ou plusieurs des différentes options techniquement possibles en prenant en compte par exemple une marge et en modifiant la topologie du réseau de neurones. Dans tous les cas, à l’issue de la phase de détermination P2, une répartition des opérations élémentaires à réaliser à chaque itération a été déterminée lors de la phase de détermination P2. Cette détermination est chargée sur une mémoire du calculateur 22. Lors de la phase d’estimation P3, le calculateur 22 obtient les valeurs des capteurs à une première itération (étape d’obtention 54) et infère la valeur du paramètre à estimer en appliquant le réseau de neurones sur les valeurs (étape d’estimation 56). Pour réaliser cette inférence, le calculateur 22 met en œuvre la répartition déterminée lors de la phase de détermination P2. La phase d’estimation P3 est une phase réalisée en utilisation de la batterie 10 (c’est-à-dire en embarqué). Durant la phase d’estimation P3, le calculateur 22 vient exécuter partiellement le réseau de neurones selon les ensembles de neurones établis lors de la phase de détermination P2. Plus précisément, les ensembles déterminés sont exécutés séquentiellement sur plusieurs itérations du calculateur 22 pour produire le résultat d'une inférence. Chaque itération n'exécute qu'un seul ensemble de neurones et c’est à la fin de l’ensemble des exécutions partielles que le calculateur 22 obtient le résultat de l’inférence. Il peut être observé en particulier qu’à chaque itération, le calculateur 22 a pour tâche d’exécuter un ensemble respectif de neurones. Pour faciliter la transmission d’information et limiter la mémoire consommée, au lieu de donner à chaque itération le vecteur correspondant à l’ensemble des neurones à exécuter, le calculateur 22 prend en entrée un nombre de neurones à exécuter. Le calculateur 22 conserve et met à jour des états correspondant au nombre de neurones déjà exécuté dans chaque couche du réseau de neurones pour poursuivre l’exécution. Ainsi, le calculateur 22 conserve les informations importantes pour son bon fonctionnement d’une itération à l’autre. Notamment, il mémorise les valeurs calculées par chaque neurone exécuté dans les itérations précédentes. Pour ce faire, chaque couche de neurones possède un vecteur de sortie que la couche met à jour. Initialement, ce vecteur est rempli d’autant de 0 qu’il y a de neurones et à chaque exécution d’un neurone, un 0 est remplacé par la valeur calculée pour y être sauvegardé. De ce fait, au cours des itérations successives, le vecteur de sortie des couches de neurones se remplit progressivement permettant donc le bon fonctionnement de l’inférence. Le calculateur 22 effectue aussi à la fin une réinitialisation des états du réseau à la fin de l’inférence (c’est cette opération que symbolise la marge de remise à 0) Pour ce faire, une réinitialisation de tous les états du réseau est effectuée, ce qui correspond donc à la remise à 0 du compte du nombre de neurones exécutés au sein de chaque couche. Avantageusement, les vecteurs de sortie des couches de neurones ne sont pas réinitialisés vu que toutes les valeurs de ces vecteurs seront remplacées durant la prochaine inférence du réseau de neurones. Pour l’exemple décrit du réseau de neurones de la FIG. 2 , un exemple de mise en œuvre de la phase d’estimation P3 est schématiquement représenté sur les figures 4 à 9. Chaque figure indique en gras les éléments calculés et donne l’état de la mémoire de chaque couche. La mémoire d’une couche i est notée Mi. La mémoire comporte autant de cases que le nombre de neurones de la couche, chaque valeur de la mémoire étant la sortie d’un neurone. Ainsi, la mémoire M1 de la première couche comporte quatre cases, la première case correspond à la mémorisation de la valeur de la sortie du premier neurone de la première couche et ainsi de suite jusqu’à la quatrième case qi correspond à la mémorisation de la valeur de la sortie du quatrième neurone de la première couche. Lorsque la valeur n’a pas encore été calculée, la valeur mémorisée est égale à 0. Pour la couche 0, la mémoire comporte les valeurs des entrées du réseau de neurones. Dans l’exemple décrit, la première valeur d’entrée est égale à 3, la deuxième valeur d’entrée est égale à 1, la troisième valeur d’entrée est égale à 4, la quatrième valeur d’entrée est égale à 9 et la cinquième valeur d’entrée est égale à 7. Le chiffre en bas de la couche indique le nombre de neurones de la couche pour lesquels le calcul a été réalisé à l’issue de l’itération considérée. La FIG. 4 schématise les opérations élémentaires réalisées à la première itération par le calculateur 22. Le calculateur 22 effectue les opérations élémentaires correspondant à la mise en œuvre du premier neurone de la première couche. La réalisation de ces opérations élémentaires conduit à obtenir une valeur de sortie du premier neurone égale à une valeur de 5. La valeur de 5 est ensuite mémorisée dans la première case de la mémoire M1 de la première couche. Les autres cases de la mémoire M1 de la première couche restent à la valeur 0. La FIG. 5 schématise les opérations élémentaires ayant été réalisées après mise en œuvre de la deuxième itération par le calculateur 22. Par rapport à la première itération, le calculateur 22 effectue les opérations élémentaires correspondant à la mise en œuvre du deuxième neurone de la première couche. La réalisation de ces opérations élémentaires conduit à obtenir une valeur de sortie du deuxième neurone égale à une valeur de 7. La valeur de 7 est ensuite mémorisée dans la deuxième case de la mémoire M1 de la première couche. La première case de la mémoire M1 reste à la valeur de 5 tandis que les autres cases de la mémoire M1 de la première couche restent à la valeur 0. La FIG. 6 schématise les opérations élémentaires ayant été réalisées après mise en œuvre de la troisième itération par le calculateur 22. Par rapport aux première et deuxième itérations, le calculateur 22 effectue les opérations élémentaires correspondant à la mise en œuvre du troisième neurone de la première couche. La réalisation de ces opérations élémentaires conduit à obtenir une valeur de sortie du troisième neurone égale à une valeur de 8. La valeur de 8 est ensuite mémorisée dans la troisième case de la mémoire M1 de la première couche. La première case de la mémoire M1 reste à la valeur de 5, la deuxième case de la mémoire M1 reste à la valeur de 8 et la quatrième case de la mémoire M1 de la première couche reste à la valeur 0. La FIG. 7 schématise les opérations élémentaires ayant été réalisées après mise en œuvre de la quatrième itération par le calculateur 22. Par rapport aux itérations précédentes, le calculateur 22 effectue les opérations élémentaires correspondant à la mise en œuvre du quatrième neurone de la première couche et du premier neurone de la deuxième couche. La réalisation de ces opérations élémentaires conduit à obtenir une valeur de sortie du quatrième neurone de la première couche égale à une valeur de 2 et à une valeur de sortie du premier neurone de la deuxième couche égale à 8. La quatrième case de la mémoire M1 de la première couche et la première case de la mémoire M2 de la deuxième couche sont modifiées de manière correspondante, les valeurs mémorisées dans les autres cases restant inchangées. La FIG. 8 schématise les opérations élémentaires ayant été réalisées après mise en œuvre de la cinquième itération par le calculateur 22. Par rapport aux itérations précédentes, le calculateur 22 effectue les opérations élémentaires correspondant à la mise en œuvre des autres neurones de la deuxième couche (à savoir les deuxième, troisième, quatrième, cinquième, sixième, septième et huitième neurones de la deuxième couche). La réalisation de ces opérations élémentaires conduit à obtenir : une valeur de sortie du deuxième neurone de la deuxième couche égale à une valeur de 7, une valeur de sortie du troisième neurone de la deuxième couche égale à une valeur de 3, une valeur de sortie du quatrième neurone de la deuxième couche égale à une valeur de 2, une valeur de sortie du cinquième neurone de la deuxième couche égale à une valeur de 2, une valeur de sortie du sixième neurone de la deuxième couche égale à une valeur de 1, une valeur de sortie du septième neurone de la deuxième couche égale à une valeur de 8, et une valeur de sortie du huitième neurone de la deuxième couche égale à une valeur de 4. Les valeurs mémorisées dans les deuxième à huitième cases de la mémoire M2 de la deuxième couche sont modifiées en fonction de ces valeurs de sortie. Les valeurs mémorisées dans les autres cases restent inchangées. La FIG. 9 schématise les opérations élémentaires ayant été réalisées après mise en œuvre de la sixième itération par le calculateur 22. Par rapport aux itérations précédentes, le calculateur 22 effectue les opérations élémentaires correspondant à la mise en œuvre des neurones des troisième, quatrième et cinquième couches. La réalisation de ces opérations élémentaires conduit à obtenir : une valeur de sortie du premier neurone de la troisième couche égale à une valeur de 5, une valeur de sortie du deuxième neurone de la troisième couche égale à une valeur de 4, une valeur de sortie du troisième neurone de la troisième couche égale à une valeur de 2, une valeur de sortie du quatrième neurone de la troisième couche égale à une valeur de 7, une valeur de sortie du premier neurone de la quatrième couche égale à une valeur de 2, une valeur de sortie du deuxième neurone de la quatrième couche égale à une valeur de 1, et une valeur de sortie du premier neurone de la cinquième couche égale à une valeur de 5. Cette dernière valeur est également la valeur de sortie du réseau de neurones dans cet exemple particulier. Les valeurs mémorisées dans les cases des mémoires M3, M4 et M5 sont modifiées en fonction de ces valeurs de sortie. Les valeurs mémorisées dans les autres cases restent inchangées. A l’issue de la sixième itération, le calculateur 22 a donc effectué une inférence complète du réseau de neurones de la FIG. 2 pour des valeurs d’entrée égales à respectivement 3, 1, 4, 9 et 7. La valeur inférée est ici de 5. Pour réaliser cette inférence, le calculateur 22 réalise à chaque itération l’inférence sur un sous-ensemble de neurones du réseau de neurones pour réaliser l’inférence pour ce sous-ensemble de neurones. Il peut être considéré que le calculateur 22 effectue une inférence partielle pour le sous-ensemble de neurones à inférer lors de l’itération considérée. Chaque itération correspond ainsi à une inférence partielle d’un sous-ensemble de neurones spécifique à l’itération. Pour vérifier la faisabilité expérimentale du procédé qui vient d’être décrit, la Demanderesse a également procédé à des tests en appliquant le procédé à 63 neurones perceptron répartis en 6 couches avec 32 neurones pour la première couche, 16 neurones pour la deuxième couche, 8 neurones pour la troisième couche, 4 neurones pour la quatrième couche, 2 neurones pour la cinquième couche et 1 neurones pour la sixième couche. Dans cette expérience, le réseau de neurones comporte 3 entrées et 1 sortie et il est choisi une exécution en 5 itérations. Cela conduit au tableau suivant : Numéro de l’itération 1 2 3 4 5 Nombre de neurones 32 couches 1 1 couche 2 5 couches 2 5 couches 2 5 couches 2 1 couches 3 7 couches 3 4 couches 4 2 couches 5 1 couche 6 Tableau 8 : Répartition des calculs entre itérations dans l’expérience réalisée Sur un microcontrôleur muni d’un processeur ARM Cortex-M3 cadencé à 100MHz, avec uniquement une fonction d’activation Leaky ReLu (pour le terme anglais de « Leaky Rectifier Linear Unit » signifiant littéralement unité linéaire rectifiée avec fuite) et un typage entier en virgule fixe, les temps d’exécution relevés sont les suivants : Inférence Itération Nombre de cycles d’horloge Temps (µs) 1 (226 µs) 1 4880 49 2 3933 39 3 4297 43 4 4908 49 5 4062 41 2 (231 µs) 1 4623 46 2 5074 51 3 4338 43 4 5030 50 5 4641 46 Tableau 9 : Temps de calcul sur deux inférences complètes pour chaque itération dans l’expérience réalisée par la Demanderesse Le temps par itération varie entre 39 µs et 51 µs. Cela conduit également à une augmentation du temps total de calcul par rapport au temps d’une exécution directe de l’inférence dans un calculateur 22 qui en aurait les capacités, cette exécution directe étant obtenue en environ 215 µs. Le procédé qui vient d’être décrit permet de lisser le temps nécessaire à l’exécution d’un réseau de neurones, utilisé au sein d’un système embarqué, à travers plusieurs appels consécutifs au calculateur 22. Le présent procédé permet ainsi d’exécuter de manière efficace un réseau de neurones sur un système de gestion 14. Cela permet de bénéficier dans une application en embarqué de l’efficacité des réseaux de neurones sans avoir à ajouter de capacité de calcul au calculateur 22 du système de gestion 14 En outre, aucune hypothèse n’est faite sur le type de réseau de neurones utilisé, de sorte que le présent procédé est utilisable pour toute batterie, et ce indépendamment de la chimie de celle-ci, et toute application impliquant l’utilisation d’une batterie. D’autres modes de réalisation bénéficiant des avantages précédents sont également envisageables. Selon un mode de réalisation, le procédé comporte, en outre, la mise en œuvre d’une technique permettant de fournir une valeur de la grandeur physique lors de la phase d’estimation à chaque itération, la valeur inférée pouvant alors être utilisée comme valeur de recalibration. A titre d’exemple particulier, si le procédé cherche à estimer un état de charge SOC, la technique utilisable à chaque itération est une technique de coulométrie et la valeur inférée est utilisée pour calibrer la technique et éviter qu’elle dérive au cours du temps. Cela permet de bénéficier d’une valeur de l’état de charge à chaque instant. Il est également possible au lieu de choisir le nombre d’itérations, de déterminer un temps maximal pour chaque inférence partielle. Ce temps pourrait être choisi pour disposer d’au moins 20% d’opérations élémentaires réalisables sur une itération qui ne seraient pas alloués à la réalisation de l’inférence partielle. Procédé d’estimation d’un paramètre représentatif de l’état d’au moins un élément électrochimique (12) d’une batterie (10), le procédé d’estimation étant mis en œuvre par un calculateur (22) d’un système de gestion (14) d’au moins un élément électrochimique (12) d’une batterie (10), le calculateur (22) étant propre à fournir des valeurs d’estimation d’un paramètre représentatif de l’état de l’au moins un élément électrochimique (12) à l’issue d’itérations successives de mise en œuvre d’opérations par le calculateur (22), le procédé comportant une étape de : - obtention de valeurs d’au moins une grandeur physique de l’au moins un élément électrochimique (12) à une première itération, et - estimation par le calculateur (22) de la valeur du paramètre représentatif de l’état de l’au moins un élément électrochimique (12) à la première itération par inférence d’un réseau de neurones sur les valeurs obtenues lors de l’étape d’obtention, l’inférence du réseau de neurones comprenant, pour plusieurs itérations consécutives, la réalisation de calculs d’une partie respective du réseau de neurones, chaque partie respective comportant un ensemble de neurones du réseau de neurones, chaque neurone appartenant à un unique ensemble de neurones et donnant une valeur de sortie et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés. Procédé d’estimation selon la revendication 1, dans lequel une itération présente une durée comprise entre 100 ms et 30 secondes, préférentiellement inférieure à 1 seconde. Procédé d’estimation selon la revendication 1 ou 2, dans lequel un rapport est défini, le numérateur du rapport étant la différence entre le temps d’exécution maximal d’une itération et le temps minimal d’une exécution d’une itération et le dénominateur du rapport étant le temps d’exécution moyen des itérations, le rapport étant strictement inférieur à 1, de préférence strictement inférieur à 1/5, avantageusement strictement inférieur à 1/10. Procédé d’estimation selon l’une quelconque des revendications 1 à 3, dans lequel l’au moins une grandeur physique est choisie parmi un courant, une tension ou une température. Procédé d’estimation selon l’une quelconque des revendications 1 à 4, dans lequel le paramètre représentatif de l’état d’au moins un élément électrochimique (12) est choisi parmi un état de santé, un état de charge, un état de température, un état de puissance et un état d’énergie. Procédé de détermination d’une répartition de l’inférence d’un réseau de neurones sur plusieurs itérations consécutives d’un calculateur (22) d’un système de gestion (14) d’au moins un élément électrochimique (12) d’une batterie (10), le calculateur (22) étant propre à fournir des valeurs d’estimation d’un paramètre représentatif de l’état de l’au moins un élément électrochimique (12) à l’issue d’itérations successives de mise en œuvre d’opérations par le calculateur (22), le calculateur (22) estimant la valeur du paramètre représentatif de l’état à la première itération de l’au moins un élément électrochimique (12) par inférence d’un réseau de neurones sur des valeurs d’au moins une grandeur physique de l’au moins un élément électrochimique (12) obtenues à une première itération, le procédé de détermination étant mis en œuvre par ordinateur et comprenant la détermination d’une répartition de la réalisation de calculs sur plusieurs itérations consécutives selon une pluralité de critères, un premier critère étant que chaque itération comporte l’exécution d’une partie respective du réseau de neurones, et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés, chaque partie respective comportant un ensemble de neurones du réseau de neurones et un deuxième critère étant que chaque neurone appartient à un unique ensemble de neurones. Procédé de détermination selon la revendication 6, dans lequel un troisième critère est que le nombre d’itérations sur lesquelles la répartition est déterminée est égal à un nombre prédéfini. Procédé de détermination selon la revendication 6, dans lequel un troisième critère est que, pour chaque itération, le temps d’exécution de la partie respective du réseau de neurones, et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés soit inférieur à un temps prédéfini. Procédé de détermination selon l’une quelconque des revendications 6 à 8, dans lequel un autre critère est qu’un rapport soit strictement inférieur à 1, le numérateur du rapport étant la différence entre le temps d’exécution maximal d’une itération et le temps minimal d’une exécution d’une itération et le dénominateur du rapport étant le temps d’exécution moyen des itérations. Calculateur (22) d’un système de gestion (14) d’au moins un élément électrochimique (12) d’une batterie (10), le calculateur (22) étant propre à estimer un paramètre représentatif de l’état d’au moins un élément électrochimique (12) d’une batterie (10), le calculateur (22) étant propre à fournir des valeurs d’estimation d’un paramètre représentatif de l’état de l’au moins un élément électrochimique (12) à l’issue d’itérations successives de mise en œuvre d’opérations par le calculateur (22), le calculateur (22) étant propre à : - obtenir des valeurs d’au moins une grandeur physique de l’au moins un élément électrochimique (12) à une première itération, et - estimer la valeur du paramètre représentatif de l’état de l’au moins un élément électrochimique (12) à la première itération par inférence d’un réseau de neurones sur les valeurs obtenues lors de l’étape d’obtention, l’inférence du réseau de neurones comprenant, pour plusieurs itérations consécutives, la réalisation de calculs d’une partie respective du réseau de neurones, chaque partie respective comportant un ensemble de neurones du réseau de neurones, chaque neurone appartenant à un unique ensemble de neurones et donnant une valeur de sortie et la mémorisation des valeurs de sortie des neurones sur lesquels les calculs ont été réalisés. Système de gestion (14) d’au moins un élément électrochimique (12) d’une batterie (10), l’au moins un élément électrochimique (12) présentant des bornes, le système de gestion (14) comprenant : - un capteur de tension (16) propre à mesurer la tension aux bornes dudit au moins un élément électrochimique (12), - un capteur du courant (18) aux bornes dudit au moins un élément électrochimique (12), - un capteur de température (20) dudit au moins un élément électrochimique (12), et - un calculateur (22) selon la revendication 10. Batterie (10) comprenant : - au moins un élément électrochimique (12), et - un système de gestion (14) selon la revendication 11.