EP4537246A1 - Dispositif de traitement de donnees par voie d'apprentissage, procede, programme et systeme correspondant - Google Patents
Dispositif de traitement de donnees par voie d'apprentissage, procede, programme et systeme correspondantInfo
- Publication number
- EP4537246A1 EP4537246A1 EP23732823.2A EP23732823A EP4537246A1 EP 4537246 A1 EP4537246 A1 EP 4537246A1 EP 23732823 A EP23732823 A EP 23732823A EP 4537246 A1 EP4537246 A1 EP 4537246A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- analog
- digital
- primitives
- parameters
- electronic 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/38—Circuit design at the mixed level of analogue and digital signals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/373—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Definitions
- the temperature may be normally constant: there is no need to transfer this low-level data because the relevant events only occur when there is a significant change insofar.
- the detection of this event should be carried out locally, by increasing the semantic level of the signal to be transferred remotely. In this case, an alert can be sent remotely, avoiding the need to transfer low-level raw data.
- This need for local processing raises a problem: how to implement complex processing and in particular processing based on artificial intelligence in embedded LoT type architectures? Indeed, avoiding permanently transferring all sensor data involves their local processing. This is necessary and was highlighted in the European Commission's text on communications and digital guidelines, setting a target of 80% of data processing carried out locally.
- the step of correcting the current parameters of the plurality of configurable analog primitives and of the plurality of configurable digital primitives comprises at least one iteration of the following joint optimization sequence: optimization of the digital portion by backpropagation, then optimization of the analog portion using iterative digital simulation methods.
- the digital portion comprises at least one neural network adapted to classify the signals received via analog/digital converters and in that the parameters of the plurality of configurable digital primitives include at least weights and through said neural network.
- the disclosure also relates to the use of an electronic circuit configured to carry out the processing of an input signal according to a method for determining implementation parameters of this electronic circuit, said electronic circuit comprising an analog portion and a digital portion, the digital portion being coupled to the analog portion via at least one analog-digital converter or at least one analog comparator, the analog portion comprising a plurality of analog primitives configurable according to a first set of parameters and the digital portion comprising a plurality of digital primitives configurable according to a second set of parameters.
- This use is remarkable in that it includes a step of loading the first and the second set of parameters having been the subject of joint learning according to the method previously presented.
- the present technique also targets programs, capable of being executed by a computer or by a data processor, these programs comprising instructions for controlling the execution of the steps of the processes as mentioned above.
- a program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable shape.
- a hardware component corresponds to any element of a hardware assembly capable of implementing a function or a set of functions, according to what is described below for the module concerned. It may be a programmable hardware component or one with an integrated processor for executing software, for example an integrated circuit, a smart card, a memory card, an electronic card for executing firmware ( firmware), etc.
- FIG. 1 represents the general architecture of the network according to the present disclosure
- FIG. 3 is an example of the structure of the analog portion of the network according to the disclosure.
- FIG. 5 represents the one-dimensional signal of Figure 4 after manual labeling
- FIG. 6 illustrates the training of the network with the input labeled data and the intermediate data generated by the analog portion
- FIG. 12 illustrates a portion of the input signal database and corresponding labels
- FIG. 15 presents three examples of the labeled raw data from the pressure sensor
- the input signals are therefore processed using a mixed architecture in which the analog portion is implemented to carry out a first series of data processing (processing of the signals of higher frequency, extraction of moments, etc.) and these data obtained from the input analog signals are provided to the neural network, on the digital portion for processing at lower frequencies and obtaining the results (e.g. classifications of input signals).
- This architecture makes it possible to meet the needs for energy consumption limitations.
- An important characteristic of the disclosure relates to the general configuration of the proposed electronic circuit: the learning of the analog and digital parameters of such a circuit is carried out globally and includes both the learning of the parameters of the digital neural network and , at the same time, learning the parameters of the primitives of the analog portion.
- the circuit is usable in many situations and can have a single certification, which also reduces implementation costs.
- the network of primitives constitutes a mixed electronic architecture (analog and digital) intended to implement embedded artificial intelligence for decision-making or pattern identification, targeting ultra-low-cost applications. consumption with a joint optimization of energy consumption and classification accuracy, with the following particularities:
- the architecture brings model diversity to the classical neural networks/CNN paradigm: learning can be carried out on something other than neurons (Figure 2: “E”: input, “PA1” to “PA7” (primitives analog), “PD1” to “PD7” (digital primitives) and “S” (output), and in particular on primitives that cannot be easily modeled by neurons, for example a multiplier, a filter, a correlator between signals or a time delay (“PA1” to “PA7”).
- Extraction (A2) by the analog portion, as a function of the current parameters of the plurality of analog primitives, of temporal information (IT) from the input signals (Sig.E) and/or frequency information (IF) from these same signals; the latter can correspond to a plurality of moments of the signals from the learning database;
- the labeled data is provided as input to the network of primitives and the analog portion performs the first step of processing for extracting the moments of the signals.
- This analog portion also generates an intermediate data structure which constitutes the input to the digital portion as shown in fig. 6.
- This intermediate data structure is automatically labeled according to the current parameters of the analog primitives. However, given the fact that it is not (yet) optimized, it can lead to extracting information with non-optimal relevance. Then the digital portion performs a classification of the data extracted by the analog portion and, in learning, it is therefore possible to calculate the error of the system (of the circuit as a whole) from the true and false detections according to the labels of the base starting data.
- analog and digital primitives make it possible to consider different types of signal processing with very different frequency spectrums.
- Analog processing mainly targets high bandwidth signals because the potential gain in energy consumption is then of two orders of magnitude (factor 100), while digital processing, which is more versatile, targets more traditional classification operations. using neural networks.
- analog primitives several operational amplifiers can be implemented with different “gain-band” products and are used according to the frequency of the signals to be processed. This is represented in fig. 11 with three types of analog and digital primitives (Analog Primitive/Digital Primitive). All these primitives can be turned off to minimize power consumption.
- the method of learning the parameters of such a network of primitives is modified compared to the classic learning methods implemented for digital neural networks.
- this method includes a double optimization: optimization of digital parameters and optimization of analog parameters.
- This methodology is inspired by the classic backpropagation algorithm.
- temporal primitives such as filters
- this primitive generates a high logic level when the voltage in the positive input corresponding to the voltage level at the output of the peak detector (and therefore to the energy of the signal in the passband of the filter) is greater than that of the negative input (reference fixed initially, but optimized by learning)
- the parameters are initialized as follows: fcHPF and fdPF are the two parameters to learn. At the end of the training they will converge at the frequencies which will define the central frequency of the bandpass filter f o and its band length.
- Threshold is also prefixed to simplify learning. It is equal to 0.7V since the database sine amplitude is equal to IV.
- the first learning iteration begins after initializing the parameters of the primitive network.
- the objective of successive iterations is to converge at the frequencies labeled in the database, as shown in fig. 14.
- the derivative of the primitive array error after database processing with respect to each frequency f C HPF and f C LPF ) must be calculated.
- This bandpass filter type primitive has some sort of memory with respect to the input at time k.
- the implemented filters are first order, this memory demonstrates that it is necessary to modify the training method to be compatible with temporal primitives such as filters.
- the cutoff frequency of the high pass filter is updated using eq. 1.
- Derivate PO rcentage is a hyper parameter to be prefixed like the learning rate. In this case it is equal to 0.1.
- fcHPF + Af fcHPF + fSam P ling Derivate Percentage (1)
- fcHPF is reset to its previous value and the same method is applied to calculate the derivative with respect to f C LPF, so as to obtain
- the bandpass filter frequencies are learned from the database by a gradient descent algorithm, even if this is not formally calculable, not allowing 'use a backpropagation type algorithm.
- the disadvantage of this method is that for each iteration, the entire database must be processed several times, a disadvantage counterbalanced by the use of the mini batch technique.
- the method is also sensitive to the adjustment of the hyperparameters of the model, at the risk of not converging. The most important are Spectrum Percentage for initializing frequencies and Derivate Percentage For calculating derivatives. The results obtained for this network of primitives are however very good.
- Step 2 Labeling the Database After obtaining a database, you must label it. In fig. 15, three examples of the labeled raw data from the pressure sensor are shown. It is important that the data is labeled at the precise times when the events occur because they are processed in analog form and not directly with a convolutional neural network (which takes the entire sample as input).
- the raw signal is acquired at 100 [Hz] for a defined time (here one second) and a second acquisition of the raw signal is performed at 1 [KHz] for 0.1 second (one-tenth of second) offset by two (2) seconds after the trigger to measure the noise level.
- the digital stage is responsible for making the acquisitions but remains in deep sleep most of the time. Only the ultra-low power analog part of the primitive network will remain in "always on” mode.
- the four bandpass filters of this stage make it possible to store information on the past to enrich the analysis carried out on the digital stage with the frequency distribution corresponding to moments located before the triggering.
- These four energy level outputs on the different bands are sampled a second time with a predefined delay to have comparison data on the evolution of the frequency composition of the signal around the trigger. These are (important) indicators on the signal to be taken into account for the subsequent analysis.
- the information of the raw signal allows the detection of shocks and the spectral information of the energy levels on the four frequency bands after the event allows the frequency characterization of the signal before and during the phenomenon to be analyzed, a much like an FFT would do (but without the need to carry out such an energetically expensive FFT digitally).
- the combination of these two pieces of information delivers a tensor: a frequency and time signature of the event to be analyzed.
- the weights of the analog stage are learned by iterations after joint optimization of the digital stage.
- Step 4 Digital processing and learning.
- the system is evaluated and learned from indicators on detection rates (true positives TP, false positives FP, true negatives TN and false negatives FN), and therefore based on the initial labeling of the data for learning. These indicators allow the coefficients of the analog stage to be adjusted during training as well as in real time during dynamics. For example the comparator detection threshold: when there is a very noisy signal, many false positives are generated so the comparator threshold can be increased to reduce the number of false positives when there is noise.
- Step 6 Integration and deployment.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Logic Circuits (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
La divulgation se rapporte à un procédé de détermination de paramètres d'implémentation d'un circuit électronique configuré pour effectuer le traitement d'un signal d'entrée, le circuit électronique comprenant une portion analogique comprenant une pluralité de primitives analogiques paramétrables et une portion numérique comprenant une pluralité de primitives numériques paramétrables, la portion numérique étant couplée à la portion analogique par l'intermédiaire d'au moins un convertisseur analogique numérique et/ou d'u moins un comparateur analogique avec ou sans hystérésis, procédé caractérisé en ce qu'il comprend une phase d'apprentissage conjointe des paramètres de la pluralité de primitives analogiques paramétrables et des paramètres de la pluralité de primitives numériques paramétrables.
Description
DESCRIPTION
Titre : Dispositif de traitement de données par voie d'apprentissage, procédé, programme et système correspondant Domaine technique
La divulgation se rapporte au domaine du traitement de signal. Plus particulièrement, l'invention se rapporte au domaine du traitement de signal dans un système contraint, particulièrement dans un système contraint en termes de consommation d'énergie.
Technique antérieure
Ces dernières années ont connu, la révolution de l'Internet des Objets (loT) et celle du traitement des données à distance (le cloud computing). Le nombre de dispositifs loT ne cesse de croître annuellement et il est prévu qu'au moins 30 milliards de dispositifs sont opérationnels dans le monde entier d'ici quelques années. La plupart de ces systèmes transmettent des données brutes pour les traiter à distance. Souvent, les méthodes de traitement à distance utilisent des algorithmes d'intelligence Artificielle (IA) coûteux en termes d'énergie : par exemple le réseau neuronal convolutif (CNN) qui peut avoir des dizaines de milliers des neurones et quelques millions de connections. Étant donné que la majeure partie de la consommation d'énergie est consacrée à la transmission des données (et non pour le traitement), le schéma global de gestion et de traitement des donnés à distance est très gourmand en énergie.
Il est donc nécessaire d'augmenter le niveau sémantique de l'information obtenue localement au sein des dispositif loT. Par exemple, dans la plupart des cas de surveillance thermo-industrielle, la température peut être normalement constante : il n'est pas nécessaire de transférer ces données de bas niveau car les événements pertinents ne se produisent que lorsqu'il y a un changement significatif dans la mesure. La détection de cet événement devrait être réalisée localement, en augmentant le niveau sémantique du signal à transférer à distance. Dans ce cas, une alerte peut être envoyée à distance, ce qui évite de devoir transférer des données brutes de bas niveau. Cette nécessité de traitement local soulève cependant un problème : comment mettre en oeuvre des traitement complexes et notamment des traitements à base d'intelligence artificielle dans les architectures embarquées de type loT ? En effet, le fait d'éviter de transférer en permanence toutes les données des capteurs implique leur traitement local. Cela est nécessaire et a été souligné dans le texte de la commission européenne sur les orientations en matière de communication et de numérique, définissant un objectif de 80% du traitement des données effectué localement.
Cependant, cela soulève de multiples problèmes techniques : le traitement local des données doit être adapté au matériel disponible dans les systèmes embarqués, notamment en termes de mémoire et de puissance de calcul. D'ailleurs, l'introduction du traitement du signal (ou de l'intelligence artificielle) augmente la consommation électrique moyenne, surtout si des algorithmes avancés comme l'apprentissage profond (deep learning) sont utilisés, même si elle réduit également la consommation électrique due à la transmission des données. Étant donné que la capacité des batteries est limitée dans de nombreux produits industriels ou de la vie quotidienne, l'utilisation d'une partie importante de
l'énergie pour les tâches d'intelligence artificielle entraîne également une réduction de la durée de vie du produit dans les applications non rechargeables, ou la nécessité de recharger la batterie ou d'utiliser une alimentation externe.
Il existe ainsi un besoin d'une solution pour disposer de dispositifs autonomes permettant de traiter des signaux localement, avec une réduction significative de la consommation d'énergie de tels dispositifs. La technique divulguée vient améliorer la situation.
Résumé de l'invention
La technique divulguée a été conçue en conservant ces problématiques de l'art antérieur à l'esprit. La technique proposée permet l'implantation d'une intelligence artificielle embarquée avec un cout énergétique minimal. Une technique de traitement mixte (analogique-numérique) est utilisée pour remplacer des solutions de type réseau de neurones convolutifs, tout en apprenant les paramètres du modèle global, ces paramètres comprenant des paramètres analogiques et des paramètres numériques, à partir d'une base de données étiquetée. Cette architecture mixte est nommée réseau de neurones de primitives (ou Primitive Neural Network (PNN) en anglais).
Plus particulièrement, la divulgation se rapporte à un procédé de détermination de paramètres d'implémentation d'un circuit électronique destiné à être mise en oeuvre par un ordinateur ou un processeur de données, ledit circuit électronique étant configuré pour effectuer le traitement d'un signal d'entrée, le circuit électronique comprenant une portion analogique comprenant une pluralité de primitives analogiques paramétrables et une portion numérique comprenant une pluralité de primitives numériques paramétrables, les paramètres d'implémentation du circuit électronique comportant des paramètres de la pluralité de primitives analogiques paramétrables et des paramètres de la pluralité de primitives numériques paramétrables, la portion numérique étant couplée à la portion analogique par l'intermédiaire d'au moins un convertisseur analogique numérique et/ou au moins un comparateur analogique avec ou sans hystérésis. Un tel procédé comprend une phase d'apprentissage desdits paramètres de la pluralité de primitives analogiques paramétrables et desdits paramètres de la pluralité de primitives numériques paramétrables, ladite phase d'apprentissage étant conjointe aux paramètres de la pluralité de primitives analogiques paramétrables et aux paramètres de la pluralité de primitives numériques paramétrables.
Ainsi, il est possible de paramétrer l'ensemble du circuit électronique avec des valeurs ayant fait l'objet d'un apprentissage préalable, et donc d'adapter le circuit électronique au besoin, notamment en termes de réduction d'énergie consommée.
Selon une caractéristique particulière, la phase d'apprentissage comprend au moins une itération des étapes suivantes, effectuées à l'aide d'une base de données d'apprentissage de signaux étiquetés : chargement de paramètres courants de la pluralité de primitives analogiques paramétrables et de la pluralité de primitives numériques paramétrables ; extraction, par la portion analogique, en fonction des paramètres courants de la pluralité de primitives analogiques, d'informations temporelles issues des signaux d'entrée et/ou
d'informations fréquentielles issues de ces mêmes signaux. Ces dernières peuvent correspondre à une pluralité de moments des signaux de la base de données d'apprentissage ; construction à l'aide des informations temporelles et/ou fréquentielles préalablement extraites, d'une structure de données intermédiaire. Cette structure de données intermédiaire peut être formée par la juxtaposition des informations extraites par la portion analogique à partir des signaux de la base de données d'apprentissage ; cette structure est par exemple un tenseur, classification, par la portion numérique, en fonction des paramètres courants de la pluralité de primitives numériques, et à partir de la structure de données intermédiaire, de la pluralité d'évènements détectés, délivrant une pluralité de portions de signaux classés ; calcul, à partir de la pluralité de portions de signaux classés, d'un taux d'erreur (Err) de classification ; correction des paramètres courants de la pluralité de primitives analogiques paramétrables et de la pluralité de primitives numériques paramétrables en fonction du taux d'erreur (Err).
Selon une caractéristique particulière, la phase d'apprentissage prend fin lorsque le taux d'erreur (Err) de classification est inférieur à un seuil prédéterminé et/ou lorsqu'une consommation électrique cible, en fonctionnement opérationnel, dudit circuit électronique est atteinte.
Selon une caractéristique particulière, l'étape de correction des paramètres courants de la pluralité de primitives analogiques paramétrables et de la pluralité de primitives numériques paramétrables comprend au moins une itération de la séquence conjointe d'optimisation suivante : optimisation de la portion numérique par rétropropagation, puis optimisation de la portion analogique par des méthodes de simulation numérique itératives.
Selon une caractéristique particulière, la portion numérique comprend au moins un réseau de neurones adapté pour classifier les signaux reçus par l'intermédiaire de convertisseurs analogiques/numériques et en ce que les paramètres de la pluralité de primitives numériques paramétrables comprennent au moins des poids et des biais dudit réseau de neurones.
Selon une caractéristique particulière, la portion numérique est, par défaut, en veille.
Selon une caractéristique particulière, la portion analogique comprend au moins un filtre passe bande, ledit filtre passe bande permettant d'identifier des fréquences d'intérêt et en ce que les paramètres de la pluralité de primitives analogiques paramétrables comprennent au moins des fréquences de coupure dudit filtre passe-bande et en ce que la portion analogique comprend une pluralité de noeuds de déclenchement en vue de réveiller ladite portion numérique sur la base d'une identification desdites fréquences d'intérêts.
Selon un autre aspect, la divulgation se rapporte également à un circuit électronique configuré pour effectuer le traitement d'un signal d'entrée selon le procédé de détermination de paramètres d'implémentation dudit circuit électronique, ledit circuit électronique comprenant une portion analogique et une portion numérique, la portion numérique étant couplée à la portion analogique par l'intermédiaire d' un ou plusieurs convertisseurs analogique numérique, et/ou de comparateurs analogiques avec ou sans hystérésis. Dans ce circuit électronique la portion analogique comprend une
pluralité de primitives analogiques paramétrés selon un premier ensemble de paramètres et en ce que la portion numérique comprend une pluralité de primitives numériques paramétrés selon un deuxième ensemble de paramètres, ledit premier et ledit deuxième ensemble de paramètres appartenant aux paramètres d'implémentation dudit circuit électronique, ledit premier et ledit deuxième ensemble ayant fait l'objet d'un apprentissage conjoint selon la méthode préalablement présentée.
Selon une caractéristique particulière, la pluralité de primitives analogiques paramétrables comprend des primitives appartenant au groupe comprenant : filtres passifs et/ou actifs, détecteurs d'enveloppe, multiplieurs, montages à amplificateurs opérationnels, diodes, convolutions analogiques, intégrateurs, dérivateurs, retard.
Selon une caractéristique particulière, la portion analogique du circuit électronique est divisée en une première partie, dite de prétraitement du signal et une deuxième partie dite d'extraction de moment, la sortie de la partie de prétraitement du signal étant connectée à l'entrée de la partie d'extraction de moments, la sortie de la partie d'extraction de moments étant directement connectée à l'aide d'au moins un convertisseur analogique/numérique et/ou d'un comparateur analogique.
Selon un autre aspect, la divulgation se rapporte également à l'utilisation d'un circuit électronique configuré pour effectuer le traitement d'un signal d'entrée selon un procédé de détermination de paramètres d'implémentation de ce circuit électronique, ledit circuit électronique comprenant une portion analogique et une portion numérique, la portion numérique étant couplée à la portion analogique par l'intermédiaire d'au moins un convertisseur analogique numérique ou d'au moins un comparateur analogique, la portion analogique comprenant une pluralité de primitives analogiques paramétrables selon un premier ensemble de paramètres et la portion numérique comprenant une pluralité de primitives numériques paramétrables selon un deuxième ensemble de paramètres. Cette utilisation est remarquable en ce qu'elle comprend une étape de chargement du premier et du deuxième ensemble de paramètres ayant fait l'objet d'un apprentissage conjoint selon la méthode préalablement présentée.
Selon une implémentation préférée, l'apprentissage peut être contrôlée/exécuté par un programme, mis en oeuvre au sein d'un processeur, pour contrôler notamment la convergence des paramètres d'apprentissage. Les différentes étapes des procédés selon la présente divulgation sont mises en oeuvre par un ou plusieurs logiciels ou programmes d'ordinateur, comprenant des instructions logicielles destinées à être exécutées par un processeur de données d'un terminal d'exécution selon la présente technique et étant conçu pour commander l'exécution des différentes étapes des procédés, mis en oeuvre au niveau d'un terminal de communication, d'un serveur distant et/ou d'une chaîne de blocs, dans le cadre d'une répartition des traitements à effectuer et déterminés par un code source scripté ou un code compilé.
En conséquence, la présente technique vise aussi des programmes, susceptibles d'être exécutés par un ordinateur ou par un processeur de données, ces programmes comportant des instructions pour commander l'exécution des étapes des procédés tel que mentionnés ci-dessus.
Un programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
La présente technique vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus.
Le support d'informations peut être n'importe quelle entité ou terminal capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un support mobile (carte mémoire) ou un disque dur ou un SSD.
D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon la présente technique peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Selon un mode de réalisation, la présente technique est mise en oeuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels.
Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous- programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci- dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, set-top-box, routeur, etc.) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.).
De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci- dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), etc.
Chaque composante du système précédemment décrit met bien entendu en oeuvre ses propres modules logiciels.
Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en oeuvre de la présente technique.
Brève description des dessins
D'autres buts, caractéristiques et avantages de la divulgation apparaîtront plus clairement à la lecture de la description suivante, donnée à titre de simple exemple illustratif, et non limitatif, en relation avec les figures, parmi lesquelles :
[fig. 1] représente l'architecture générale du réseau selon la présente divulgation ; ;
[fig. 2] illustre les différentes primitives numériques et analogiques la divulgation ;
[fig. 3] est un exemple de structure de la portion analogique du réseau selon la divulgation ;
[fig. 4] illustre un signal unidimensionnel avant étiquetage manuel ;
[fig. 5] représente le signal unidimensionnel de la figure 4 après étiquetage manuel ;
[fig. 6] illustre l'entraînement du réseau avec les données étiquetées d'entrée et les données intermédiaires générés par la portion analogique ;
[fig. 7] illustre l'entraînement du réseau avec les données étiquetées d'entrée et les sous- données générés par la portion analogique. Optimisation des paramètres de la portion analogique pour commencer à filtrer les données qui ne font pas partie des cibles ;
[fig. 8] illustre une primitive analogique paramétrable
[fig. 9] illustre une primitive analogique paramétrable ;
[fig. 10] Illustre un circuit selon la présente divulgation ;
[fig. 11] illustre l'architecture d'un microcontrôleur selon la présente divulgation ;
[fig. 12] illustre une portion de la base de données de signaux d'entrée et des labels correspondants ;
[fig. 13] illustre un réseau comprenant trois primitives ;
[fig. 14] illustre la convergence vers les fréquences cibles ;
[fig. 15] présente trois exemples des données brutes étiquetées issues du capteur de pression ;
[fig. 16] présente une interface de construction du réseau de primitives ;
[fig. 17] présente les sorties de plusieurs primitives ;
[fig. 18] illustre un premier réseau de primitives ;
[fig. 19] illustre un réseau de primitives complet ;
[fig. 20] illustre un réseau de neurones trois couches, connectable au réseau de primitives complet de la figure 19 ;
[fig. 21] illustre un réseau de neurones trois couches, connectable au réseau de primitives complet de la figure 19 ;
[fig. 22] Illustre la méthode d'apprentissage des paramètres selon un exemple.
Description détaillée
Rappels des principes
De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents exemples de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des exemples de réalisation décrits ont été représentés et sont détaillés. En particulier,
des circuits de génération d'un signal et de commande de fréquence ou d'intensité de ce signal, ainsi que des circuits de commande et de réception de valeurs fournies par des capteurs, ne sont pas décrits en détail, les exemples de réalisation décrits étant compatibles avec de tels circuits usuels. Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés ou couplés entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés ou couplés par l'intermédiaire d'un ou plusieurs autres éléments. Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près.
Comme explicité précédemment, la divulgation porte, dans un premier aspect, sur un dispositif comprenant un circuit électronique qui comprend une portion analogique et une portion numérique. La portion analogique est remarquable en ce qu'elle comprend des fonctionnalités paramétrables (FPAA, FPMA). Cette portion analogique comprend une pluralité de fonctionnalités (filtres notamment) potentiellement utilisables, nommées « features » ou « primitives ». Ces fonctionnalités sont indépendamment activables et paramétrables de sorte que la consommation électrique de celles-ci est limitée aux usages qui en sont fait. Le nombre potentiel de fonctionnalités paramétrables implémentables dépend essentiellement de la complexité de la portion analogique. Le circuit comprend également une portion numérique. Cette potion numérique est interfacée avec la portion analogique par l'intermédiaire de convertisseurs analogiques/numériques. La portion numérique, pour sa part comprend notamment un circuit électronique de prise de décision (de type réseau de neurones artificiels ou système expert par exemple) numériquement implanté. Lorsqu'il s'agit d'un réseau de neurones, il comprend typiquement quelques centaines ou plus de neurones à en fonction de l'application visée et de la consommation électrique visée.
Dans un tel circuit électronique, selon la présente, les signaux d'entrées sont donc traités à l'aide d'une architecture mixte dans laquelle la portion analogique est mise en oeuvre pour effectuer une première série de traitement de données (traitements des signaux de fréquence plus élevée, extraction de moments, etc.) et ces données obtenues à partir des signaux analogiques d'entrée sont fournies au réseau de neurones, sur la portion numérique pour traitement à des fréquences plus faible et l'obtention des résultats (par exemple des classifications des signaux d'entrée). Cette architecture permet de répondre aux besoins de limitations de consommation d'énergie. Une caractéristique importante de la divulgation se rapporte à la configuration générale du circuit électronique proposé : l'apprentissage des paramètres analogiques et numérique d'un tel circuit est réalisé globalement et comprend tout à la fois l'apprentissage des paramètres du réseau de neurones numérique et, en même temps, l'apprentissage des paramètres des primitives de la portion analogique. Ainsi, le circuit est
utilisable dans de nombreuses situations et peut disposer d'une unique certification, ce qui en réduit également les coûts de mise en oeuvre.
En d'autres termes, le réseau de primitives constitue une architecture électronique mixte (analogique et numérique) destinée à implanter de l'intelligence artificielle embarquée pour la prise de décision ou l'identification de patterns (schémas), en ciblant des applications ultra basse consommation avec une optimisation conjointe de la consommation énergétique et de la précision de classification, avec les particularités suivantes :
La technique proposée se distingue des autres architectures classiques pour l'IA embarquée comprenant un circuit frontal analogique figé et une portion numérique implantant des réseaux de neurones : la technique proposée permet un apprentissage conjoint de bout en bout des paramètres des parties analogique et numérique (Fig. 1).
La technique proposée permet d'obtenir des systèmes ultra basse consommation et des réseaux de taille limitée.
L'architecture est découpée en deux portions distinctes (analogique/numérique) (Figure 1) correspondant à des fréquences de signaux très différentes de manière à optimiser la consommation d'énergie. Les traitements haute fréquence sont réalisés en analogique, entraînant un gain d'un facteur 100 en puissance par rapport au numérique, alors que les traitements basse-fréquence sont réalisés en numérique. Le passage de l'un à l'autre se fait grâce à un ou plusieurs convertisseurs analogique numérique utilisant des données issues d'extracteurs de moment (ceux-ci permettent de réduire drastiquement la fréquence utile du signal (par exemple filtres, moyenneurs, détecteur de crête)), un ou plusieurs convertisseurs analogique numérique permettant d'acquérir des portions de taille limitée des signaux haute fréquence d'entrée ou traités par le réseau analogique, l'utilisation de fronts montant ou descendants numériques issus de comparateurs avec ou sans hystérésis analogiques.
La portion analogique est composée de primitives analogiques : filtres passifs et/ou actifs, détecteurs d'enveloppe, multiplieurs, montages à amplificateurs opérationnels (additionneurs, soustracteurs, déphaseurs...), diodes, convolutions analogiques (ondelettes par exemple). L'implantation concrète s'apparente à un FPAA, avec une structure couplant successivement point d'entrée analogique programmable se terminant par des extracteurs de moment, convertisseurs analogique/numérique (ADC), comparateurs et processeur numérique optimisé pour les calculs neuronaux.
L'architecture apporte de la diversité de modèle au paradigme des réseaux de neurones/CNN classiques : l'apprentissage peut être réalisé sur autre chose que des neurones (Figure 2 : "E" : entrée, "PA1" à "PA7" (primitives analogiques), "PD1" à "PD7" (primitives numériques) et "S" (sortie), et en particulier sur des primitives n'étant pas modélisables facilement par des neurones, par exemple un multiplieur, un filtre, un corrélateur entre signaux ou un retard temporel ("PA1" à "PA7").
Le critère d'évaluation des apprentissages dépend de la qualité de classification, mais également de la puissance consommée par le réseau et de la complexité du réseau au niveau électronique.
La manière dont on apprend est particulière en raison de la présence d'opérateurs d'extraction de moment qui cassent ou limitent la possibilité de faire de la rétropropagation de gradient. La technique d'optimisation est donc différente de celle des apprentissages classiques : on itère un processus d'apprentissage optimisant la portion analogique par descente de gradient, après avoir au préalable optimisé le réseau numérique à chaque étape du calcul du gradient analogique. Pour cela à chaque étape de l'optimisation :
On fixe la portion analogique du réseau. Par exemple le circuit de la figure 13 ;
À partir d'un ensemble de données étiqueté (une fois pour toutes), on génère un ensemble de données étiquetées d'entrainement (training set) intermédiaire en sortie de la partie analogique et de ADC/comparateur (et donc après les opérations d'extraction de moment), et ce de manière automatique.
Cet ensemble de données d'entrainement intermédiaire, dépendant des opérations analogiques, est utilisé pour l'apprentissage classique du réseau de la portion numérique. Une fois cet apprentissage de la portion numérique effectué, on réitère le processus en faisant varier les paramètres de la portion analogique, de manière à être capable de calculer un gradient en fonction des paramètres de la portion analogique de manière à les optimiser. L'optimisation globale analogique/numérique est potentiellement coûteuse algorithmiquement, mais elle reste calculable compte-tenu du fait que l'on cible des applications implantées dans des architectures de capacités limitées. De plus, cette optimisation étant effectuée « hors ligne » les ressources de calcul ne posent pas de difficultés à ce stade.
De plus, grâce à cette architecture, il est possible, en apprentissage, de déterminer l'ordre des primitives de manière automatique (dans la mesure où les réseaux sont finalement de taille et donc de combinatoire limitées).
Description générale de la méthodologie d'apprentissage
L'apprentissage ainsi que le traitement du réseau de primitives est globalement présenté dans cette section, en relation avec la figure 22. Dans cet exemple, le procédé de détermination de paramètres d'implémentation d'un circuit électronique, la phase d'apprentissage comprend au moins une itération des étapes suivantes, effectuées à l'aide d'une base de données d'apprentissage de signaux étiquetés :
Chargement (Al) de paramètres courants (PC) de la pluralité de primitives analogiques paramétrables et de la pluralité de primitives numériques paramétrables ;
Extraction (A2), par la portion analogique, en fonction des paramètres courants de la pluralité de primitives analogiques, d'informations temporelles (IT) issues des signaux d'entrée (Sig.E) et/ou d'informations fréquentielles (IF) issues de ces mêmes signaux ; ces dernières peuvent correspondre à une pluralité de moments des signaux de la base de données d'apprentissage ;
Construction (A3), à l'aide des informations temporelles et/ou fréquentielles préalablement extraites, d'une structure de données intermédiaire (SDI), formée par exemple par la juxtaposition des
informations extraites par la portion analogique à partir des signaux de la base de données d'apprentissage ; la structure peut être un tenseur.
Classification (A4), par la portion numérique, en fonction des paramètres courants de la pluralité de primitives numériques (PC), et à partir de la structure de données intermédiaire (SDI), de la pluralité d'évènements détectés par la partie analogique, délivrant une pluralité de portions de signaux classés (PSC) ;
Calcul (A5), à partir de la pluralité de portions de signaux classés, d'un taux d'erreur (Err) de classification ;
Correction (A6) des paramètres courants de la pluralité de primitives analogiques paramétrables et de la pluralité de primitives numériques paramétrables en fonction du taux d'erreur (Err). L'apprentissage présenté en relation avec la figure 22 est exemplifié par les explications suivantes. Un point départ est un signal unidimensionnel comme montre la fig. 4. Le signal d'entrée peut être également multi-canaux. Pour la présente description un signal monocanal est utilisé. En premier lieu, ce signal est étiqueté manuellement comme montre la fig. 5. Les étiquettes définissent les cibles à détecter dans le signal d'entrée. Cette opération d'étiquetage manuel, classique, est effectuée pour l'ensemble des signaux constituant la base de données d'apprentissage. Une fois que la base de données est étiquetée, l'entraînement du réseau de primitives débute.
Les données étiquetées sont fournies en entrée du réseau de primitives et la portion analogique effectue la première étape du traitement pour l'extraction des moments des signaux. Cette portion analogique génère également une structure de données intermédiaire qui constitue l'entrée de la portion numérique comme montre la fig. 6. Cette structure de données intermédiaire est étiquetée automatiquement selon les paramètres courants des primitives analogiques. Cependant, compte tenu du fait qu'elle n'est pas (encore) optimisée, elle peut conduire à extraire des informations ayant une pertinence non optimale. Ensuite la portion numérique effectue une classification des données extraites par la portion analogique et, en apprentissage, il est donc possible de calculer l'erreur du système (du circuit dans son ensemble) à partir des vraies et fausses détections selon les étiquettes de la base de données de départ.
Ayant calculé l'erreur (c'est-à-dire le nombre de détections erronées par rapport au nombre de détection à affecter), une méthode optimisée de rétropropagation est utilisée pour ajuster les paramètres (poids et bias) des portions analogique et numérique à l'aide de l'algorithme de rétropropagation de gradient (rétropropagation de gradient). Dans cette situation, il est donc nécessaire de calculer la dérivée de l'erreur par rapport à chacun des paramètres de toutes les primitives, comme dans le cas d'un réseau de neurone classique, pour pouvoir ajuster ces paramètres de toutes les primitives à l'aide d'un hyperparamètre de taux d'apprentissage.
Ce cycle représente une itération (une epoch) de l'apprentissage : génération d'un ensemble d'entrainement (training set) auto-étiqueté en sortie de la partie analogique, puis optimisation de la partie numérique sur ce training set auto-étiqueté, puis optimisation de la partie analogique pour minimiser l'erreur globale. Dans l'itération suivante, les paramètres des parties analogique et
numérique ont déjà été ajustés une fois donc l'erreur commence à diminuer dès la deuxième itération. Par conséquent la première étape du traitement analogique de la deuxième itération filtre déjà des évènements qui ne font pas partie de la cible comme exemplifié à la fig. 7.
Cette méthode d'apprentissage permet l'optimisation de l'ensemble du réseau de primitives (portion analogique et portion numérique) et permet aussi de calculer un indice de précision de détection versus consommation énergétique puisque selon la complexité du réseau de primitives, la précision de détection mais également sa consommation énergétique sont augmentées.
Ainsi, les primitives du réseau de primitives sont constituées de circuits et d'opérateurs dont les paramètres sont appris lors de l'entraînement à partir d'une base de données étiquetée. Parmi les primitives existantes, on exemplifie les primitives suivantes :
Détecteur de pic analogique : cette primitive peut être implémenté avec une diode, une résistance et un condensateur comme montre la fig. 8 (gauche). Cette primitive est clé pour la détection des transitoires comme montre la fig. 8 (droite). Celle-ci peut être également utilisé après un filtre passe bande pour détecter le niveau d'énergie dans la bande de fréquences. Le paramètre à apprendre lors de la phase d'apprentissage est la constante : Tau (RiCi).
Filtres analogiques : ces primitives peuvent être implémentés avec un ou plusieurs amplificateurs opérationnels, résistances et condensateurs comme montre la fig. 9 (gauche) et la fig. 10 (gauche). Elles permettent de sélectionner les bandes de fréquences d'intérêt, comme le montre la fig. 9 (droite) et la fig. 10 (droite). Elles peuvent également être utilisé pour calculer la valeur moyenne d'un signal, dans le cas d'un filtre passe-bas. Les paramètres à apprendre lors de l'entraînement sont les fréquences de coupure, dans les fig. 9 et 10 une primitive filtre passe-bas et une primitive filtre passe- haut sont présentés, où les fréquences de coupure sont définies par R2C2et R3C3 respectivement.
Corrélateur analogique par rapport à un pattern paramétrable (préétabli ou pouvant évoluer au cours du temps) tel qu'une ondelette ou entre différents canaux de signaux d'entrée.
Retard analogique : permet de décaler le signal d'entrée temporellement avec un retard constant mais réglable dans une bande de fréquence limitée.
Intégrateur : cette primitive permet d'intégrer le signal d'entrée et d'amplifier le résultat. Dérivateur : cette primitive permet de dériver le signal d'entrée et d'amplifier le résultat.
Filtres numériques : ces primitives permettent, de la même manière que les filtres analogiques, de sélectionner la bande de fréquences désirée. Pourtant, elles sont implémentées de forme numérique, et cela leurs rendre intéressantes pour traiter des signaux de faible fréquence (qui sont peu consommateur d'énergie en numérique).
Neurone numérique : cette primitive est le neurone classique. Elle peut être utilisée toute seule ou groupée sur un réseau neuronal dans les derniers couches d'un réseau de primitives. Les paramètres à apprendre sont classiquement les poids et biais.
Transformée de Fourier Rapide (FFT) numérique : cette primitive permet d'extraire les caractéristiques fréquentielles d'un signal à partir de leur évolution temporelle.
Machine à état : implante des mécanismes de traitement de signal séquentiels, ce qui permet par exemple d'implanter des règles expertes pouvant être paramétrées.
Exemple de mise en œuvre du réseau de primitive L'architecture réseau de primitives couple primitives numériques et analogiques. La partie numérique peut être implémentée sous la forme d'un FPGA (field-programmable gate array), dans un microcontrôleur comme illustré à la fig. 11 ou dans un circuit silicium dédié. L'architecture de la partie analogique du réseau de primitives nécessite une forme de FPAA (Field programmable analog array) mixte orienté ultra basse consommation. Le FPAA est l'équivalent analogique du FPGA. Contrairement aux FPGA, les circuits FPAA contiennent un nombre plus restreint de blocs configurables CAB (« Configurable Analog Blocks »).
L'utilisation de primitives analogiques et numériques permet d'envisager différents types de traitements de signaux ayant un spectre fréquentiel très différent. Les traitements analogiques ciblent principalement les signaux à bande passante élevée car le gain potentiel en consommation énergétique est alors de deux ordres de grandeurs (facteur 100), alors que les traitements numériques, plus versatiles, ciblent quant à eux les opérations plus classiques de classification à l'aide de réseaux de neurones. Afin d'optimiser encore plus la consommation, parmi les primitives analogiques, plusieurs amplificateurs opérationnels pourront être implantés avec des produits « gain-bande » différents et sont utilisés selon la fréquence des signaux à traiter. Celle-ci est représentée dans la fig. 11 avec trois types des primitives analogiques et numériques (Analog Primitive/Digital Primitive). Toutes ces primitives peuvent être éteintes pour minimiser la consommation d'énergie.
En d'autres termes, on dispose à nouveau d'une architecture mixte, analogique/numérique, qui n'est ni tout à fait un FPGA, ni tout à fait un FPAA. Cette architecture permet de tout à la fois de configurer les primitives numériques et les primitives analogiques, en y chargeant les paramètres appris lors de l'apprentissage. Ces paramètres sont fournis à chaque bloc configurable lors d'une phase de configuration postérieure à la phase d'apprentissage, telle qu'elle a été présentée précédemment.
Description d'un exemple de réalisation de la méthode d'apprentissage
Comme exposé précédemment, la méthode d'apprentissage des paramètres d'un tel réseau de primitives est modifiée par rapport aux méthodes d'apprentissage classiques mises en œuvre pour les réseaux de neurones numériques. Tel qu'exposé de manière générale, cette méthode comprend une double optimisation : optimisation des paramètres numériques et optimisation des paramètres analogiques. On présente ci-après un exemple de réalisation d'une telle méthode d'apprentissage mixte. Plus particulièrement, on se focalise sur la méthodologie d'ajustement des paramètres au fur et à mesure des itérations effectuées. Cette méthodologie est inspirée de l'algorithme de rétropropagation classique. Cependant, lorsque de primitives temporelles (tels que les filtres) sont utilisées, il n'est plus possible d'appliquer la dérivée de la sortie par rapport aux paramètres ou poids à apprendre pour minimiser l'erreur. C'est pour cette raison notamment qu'une nouvelle méthode d'apprentissage est proposée.
Cette nouvelle méthode a été implémentée en simulation pour l'apprentissage de paramètres à partir d'une base de données étiquetée, l'objectif étant d'apprendre automatiquement les paramètres des primitives analogiques, conjointement avec les paramètres numériques, à partir d'un étiquetage initial unique. Dans cet exemple on ne présente donc que l'apprentissage d'un étage analogique simplifié. L'apprentissage numérique n'est pas illustré ici, celui-ci étant classique par ailleurs).
En premier lieu, comme indiqué précédemment, une base de données a été générée. Elle est composée par un grand nombre d'échantillons, chacun comprenant chacun un signal sinusoïdal avec une amplitude constante égal à IV mais dont les fréquences varient de 10 à 180Hz. La fréquence d'échantillonnage est quant à elle fixée à 400Hz. La base de données est partiellement illustrée dans la fig. 12 (base de données des signaux d'entrée et label correspondant). Comme illustré, différentes étiquettes ont été utilisés pour tester la convergence du modèle. Elles ont été générées par un algorithme. Comme on peut le constater, cette base de données décrit un filtre passe-bande centré en W1+W] avec une longueur de bande égale à | wj - wi | .
Postérieurement à la génération de la base de données, une structure réseau de primitives a été proposée pour l'apprentissage des paramètres des primitives. Ce réseau de primitives est présenté dans la fig. 13 et est composé par trois primitives :
Un filtre passe bande : ce filtre est composé par un filtra passe-haut couplé à un filtre passe-bas. Leurs fréquences de coupures sont fcHpret fCLPF, qui doivent être apprises pendant l'entraînement ;
Un détecteur de crêtes : cette primitive est composée par une diode et un filtre passe-bas pour maintenir le niveau de tension pendant une période de temps défini par ij, qui doit être appris pendant l'entraînement mais qui, dans un premier temps, est fixé pour décrire plus simplement la méthode d'apprentissage ;
Un comparateur : cette primitive génère un niveau logique haut quand la tension dans l'entrée positive correspondant au niveau de tension en sortie du détecteur de crêtes (et donc à l'énergie du signal dans la bande passante du filtre) est supérieure à celui de l'entrée négative (référence fixée dans un premier temps, mais optimisée par apprentissage) Sur la base de cette architecture du réseau de primitives, les paramètres sont initialisés comme suit : fcHPF et fdPF sont les deux paramètres à apprendre. À la fin de l'entraînement ils vont converger aux fréquences qui définiront la fréquence centrale du filtre passe bande fo et sa longueur de bande. Par conséquent, la première fréquence est initialisée à : fSampling fcHPF = - - - SpectrumPercentage la seconde fréquence est initialisée à fSampling fcLPF = - - - (1 - SpectrumPercentage)
SpectrumPercentage est un hyperparamètre à définir comme le taux d'apprentissage (learning rate) et dans ce cas il est égal à 0,05. Ce qui rend les valeurs initiales de fcHPFet fCLPF égales à 10 et 190 Hz respectivement, puisque fsampiing est égal à 400 Hz.
ij est préfixé pour rendre l'apprentissage plus rapide. Il est égal à 250ms la valeur de la longueur temporelle de chacun des échantillons de la base de données pour pouvoir maintenir le niveau de tension jusqu'à la fin.
Threshold est aussi préfixé pour simplifier l'apprentissage. Il est égal à 0,7V puisque l'amplitude des sinus de la base de données est égale à IV.
La première itération d'apprentissage débute après l'initialisation des paramètres du réseau de primitives. L'objectif des itérations successives est de converger aux fréquences étiquetées dans la base de données, comme illustré en fig. 14. Dans cet entraînement, la dérivé de l'erreur du réseau de primitives après le traitement de la base de données par rapport à chaque fréquence (fCHPF et fCLPF ) doit être calculée. Cette primitive de type filtre passe bande a une sorte de mémoire par rapport à l'entrée à l'instant k. Pour la simulation, les filtres implémentés sont de premier ordre, cette mémoire démontre qu'il faut modifier la méthode d'entraînement pour arriver à être compatible avec les primitives temporelles comme les filtres.
Ainsi, l'apprentissage est réalisé comme suit :
D'abord, chaque échantillon de la base de données est filtré et la sortie du comparateur est comparée à l'étiquetage souhaité (vrai ou fausse détection).
Ensuite, après avoir présenté la base d'apprentissage complète, l'erreur globale du réseau de primitives, ErrorfcHPF-fcLPF est obtenue en comparant les étiquettes et les détections obtenues.
À partir de ce calcul d'erreur, la fréquence de coupure du filtre passe haut est mise à jour en utilisant l'eq. 1. Où DerivatePOrcentage est un hyper paramètre à préfixer comme le taux d'apprentissage. Dans ce cas il est égal à 0,1. fcHPF + Af = fcHPF + fSamPling DerivatePorcentage (1)
Après la mise à jour de la fréquence de coupure du filtre passe-haut, la base de données est de nouveau présentée pour déterminer la nouvelle erreur globale : Erropc + Af - FCLPF et pouvoir calculer la dérivée de cette erreur en fonction de la variation de fcHPF comme montre l'eq. 2 suivante :
AError ErrorfcHPF _fcLPF — ErrorfcHPF + Af_fcLPF AfcHPF — fSampling .
2 DerivatePorcentage
Après avoir calculé la première dérivée de l'erreur, fcHPF est remis à sa valeur antérieure et la
même méthode est appliquée pour calculer la dérivée par rapport à fCLPF, de façon d'obtenir
Finalement après calcul de toutes les dérivées, le gradient de l'erreur globale par rapport aux paramètre analogiques est déterminé et permet la mise à jour des fréquences de coupure des filtres avec l'eq. 3 et l'eq. 4. fcHPF = fcHPF + LearningRate.
fcLPF = fcLPF + LearningRate.
Ce cycle représentant une itération est ensuite répété jusqu'à la convergence ou jusqu'à atteindre le nombre d'itérations défini. Cette méthode est utilisable pour les primitives dont la sortie dépend de l'entrée à l'instant i ainsi qu'aux instants antérieurs. Dans le cas d'un multiplicateur ou comparateur par exemple, la sortie dépend juste de l'entrée courant et donc cela simplifie l'apprentissage.
De cette manière l'apprentissage est implémenté, les fréquences du filtre passe bande sont apprises à partir de la base de données par un algorithme de descente de gradient, même si celui-ci n'est pas calculable de manière formelle, ne permettant pas d'utiliser un algorithme de type rétropropagation. Le désavantage de cette méthode est que pour chaque itération, il faut traiter la base de données complète plusieurs fois, inconvénient contrebalancé par l'utilisation de la technique du mini batch. La méthode est également sensible au réglage des hyperparamètres du modèle, au risque de ne pas converger. Les plus importants sont SpectrumPercentage pour l'initialisation des fréquences et le DerivatePercentage Pour calculer les dérivés. Les résultats obtenus pour ce réseau de primitives sont cependant très bons.
Description d'un exemple d'application
Un cas d'application de l'architecture réseau de primitives concernant la détection de fuites sur un installation pétrolière est présenté. La première étape est la génération d'une base de données en utilisant un capteur analogique couplé à un enregistreur installés sur place. Plusieurs modes de fonctionnement ont été enregistrés pour enrichir cette base et pouvoir discerner entre des modes de fonctionnement correctes et les fautes. Pour cela, la base de données a été étiquetée avec les différents classes à identifier dans la deuxième étape. La troisième étape consiste à traiter les données de forme analogique pour obtenir une structure de données intermédiaire aussi étiquetée mais dépendant du circuit analogique pour le prétraitement. Cette structure de données intermédiaire permet d'entraîner les algorithmes de la portion numérique par exemple les réseaux de neurones convolutifs. Donc dans la quatrième étape l'entraînement est effectué est les résultats de la classification, notamment la courbe ROC, sont évalués pour modifier les paramètres de la portion analogique et obtenir la configuration optimale. Ces deux dernières étapes sont itérées jusqu'à l'obtention de la convergence du système si elle a lieu. Ces différentes étapes sont détaillées ci-dessous.
Étape 1 : Génération de la base de données
La première étape consiste en la récupération des données issues des capteurs correspondants pour la détection des évènements souhaités. Cette étape est la plus importante puisque la fiabilité du réseau de primitives dépend principalement de la richesse de la base de données sur laquelle s'effectue l'apprentissage. Dans le cas d'application, un capteur de pression a été utilisé pour mesurer les comportements d'une installation pétrolière avec et sans défauts. Donc le but est d'arriver à identifier ces comportements et notifier le cas de défauts trouvés. Les données en ce cas sont unidimensionnelles, la pression est enregistrée au cours du temps. Ces données sont enregistrées dans un format prédéfini pour pouvoir les étiqueter dans la prochaine étape.
Étape 2 : Étiquetage de la base de données
Après avoir une obtenu une base de données, il faut l'étiqueter. Dans la fig. 15, trois exemples des données brutes étiquetées issues du capteur de pression sont présentées. Il est important que les données soient étiquetées dans les instants précis où les évènements se produisent car ils sont traités sous forme analogique et pas directement avec un réseau de neurones convolutif (qui prend comme entrée l'échantillon complet).
Ces échantillons constituent l'entrée du réseau de primitives qui, avec les blocs analogiques qu'il contient, génère la structure de données intermédiaire étiquetée de forme automatique à partir des celles définies sur les signaux de base. Cette structure de données intermédiaire constitue l'entrée des algorithmes implémentés sous forme numérique.
Étape 3 : Traitement analogique et apprentissage.
Après avoir étiqueté les données, un réseau de primitives est prédéfini pour le traitement analogique qui conduit à l'obtention de la base de données intermédiaire. Ce réseau de primitives est, dans cet exemple, illustré à la fig. 16. Les primitives analogiques sont définies et connectés entre elles selon les caractéristiques de la base de données sachant que plusieurs capteurs peuvent être utilisés et traités en parallèle.
En sortie de la partie analogique, des données intermédiaires sont générées à partir des valeurs de sortie des primitives analogiques, et sont utilisées pour l'entraînement de la portion numérique, tout en conservant leur étiquetage initial. Les noeuds de déclenchement (en anglais trigger) peuvent être définis pour réveiller la portion numérique et effectuer une analyse sur les données analogiques à un moment où l'on suspecte qu'un phénomène intéressant se produit.
Dans la fig. 17, les sorties de plusieurs primitives sont présentées. Le premier graphe "node input" montre les données brutes étiquetés issues du capteur, ensuite le deuxième "AbsValue" montre la sortie de la première primitive qui performe une valeur absolue de l'entrée. Le troisième graphe illustre la sortie d'un filtre passe bas, celle-ci est la deuxième primitive dont la fréquence de coupure doit être apprise et est connectée à la sortie de la première. Finalement nous trouvons les dernières deux primitives et ses graphes, "gain", un amplificateur et "comparator" un comparateur qui compare la sortie de l'amplificateur avec un niveau de tension à apprendre.
Dans ce cas l'étage analogique simplifié du réseau de primitives implémenté est montré dans la fig. 18. Cet étage du réseau de primitives réveille (active) l'étage numérique du réseau de primitives à chaque front montant de la sortie du comparateur et déclenche une analyse pour confirmer s'il est un vrai positif. En conséquence, un nœud de déclenchement et nœud de génération de tenseur sont définis. Le réseau de primitives complet utilisé est montré dans la fig. 19, ce schéma compte avec quatre voies parallèles indépendants de la voie principale chargée du déclenchement à partir d'un transitoire. Ces quatre voies comptent d'un filtre passe bande et un détecteur de pics qui sont utilisés pour mesurer de forme continue l'énergie dans les différentes bandes de fréquences.
Lorsque le comparateur est déclenché par la présence d'un pic dans le signal qui pourrait correspondre à un signal recherché, le signal brut est acquis à 100 [Hz] pendant un temps défini (ici une seconde) et une deuxième acquisition du signal brut est effectuée à 1 [KHz] pendant 0.1 seconde (un dixième de
seconde) décalée de deux (2) secondes après le déclenchement pour mesurer le niveau du bruit. L'étage numérique est en charge de faire les acquisitions mais reste en veille profonde la plupart du temps. Seule la partie analogique ultra-low power du réseau de primitives va rester en mode "always on". Les quatre filtres passe bande de cet étage permettent de stocker de l'information sur le passé pour enrichir l'analyse effectuée sur l'étage numérique avec la distribution fréquentielle correspondant à des instants situés avant le déclenchement. Ces quatre sorties de niveau d'énergie sur les différentes bandes sont échantillonnées une deuxième fois avec un retard prédéfini pour avoir des données de comparaison sur l'évolution de la composition fréquentielle du signal autour du déclenchement. Ces sont des indicateurs (importants) sur le signal à prendre en compte pour l'analyse postérieure.
De cette manière, l'information du signal brut permet la détection des chocs et l'information spectrale des niveaux d'énergie sur les quatre bandes de fréquences après l'évènement permettent la caractérisation fréquentielle du signal avant et pendant le phénomène à analyser, un peu comme le ferait une FFT (mais sans nécessité de réaliser une telle FFT coûteuse énergétiquement en numérique). La combinaison de ces deux informations délivre un tenseur : une signature fréquentielle et temporelle de l'évènement à analyser.
L'ensemble de ce traitement est effectué en mode ultra basse consommation puisque l'étage numérique est en veille la plupart du temps et l'étage analogique est conçu pour atteindre une consommation minimale.
Comme explicité précédemment, l'apprentissage des poids de l'étage analogique est effectué par itérations après optimisation conjointe de l'étage numérique.
Étape 4 : Traitement numérique et apprentissage.
L'étage numérique du réseau de primitives apprend à partir de la structure de données intermédiaire générée par l'étage analogique et peut se présenter sous la forme d'un système expert, d'un réseau neuronal classique peu profond comme montre la fig. 20 ou d'un réseau neuronal convolutif comme montre la fig. 21. L'algorithme numérique à implémenter dépend essentiellement de la difficulté du problème à résoudre et de la consommation d'énergie visée.
Étape 5 : Évaluation du système.
Le système est évalué et appris à partir des indicateurs sur les taux de détections (vrai positifs TP, faux positives FP, vrai négatifs TN et faux négatifs FN), et donc en fonction de l'étiquetage initial des données pour l'apprentissage. Ces indicateurs permettent d'ajuster les coefficients de l'étage analogique pendant l'entraînement ainsi qu'en temps réel en dynamique. Par exemple le seuil de détection du comparateur : lorsqu'il y a un signal très bruité, beaucoup de faux positifs sont générés donc le seuil du comparateur peut être augmente pour réduire le nombre de faux positifs lorsqu'il y a du bruit.
Étape 6 : Intégration et déploiement.
L'étape finale consiste à effectuer le chargement des paramètres et modèles appris au réseau de primitives analogique/numérique en mode production. L'avantage d'une telle mise en oeuvre consiste à d'une part disposer d'un circuit peu consommateur en énergie, efficace, dont les paramètres peuvent
être mis à jour en fonction de l'évolution des signaux par exemple, et qui plus est pouvant être utilisés dans d'autres cas d'utilisation que celui décrit dans le présent exemple.
Claims
1. Procédé de détermination de paramètres d'implémentation d'un circuit électronique destiné à être mis en oeuvre par un ordinateur ou un processeur de données, ledit circuit électronique étant configuré pour effectuer le traitement d'un signal d'entrée, le circuit électronique comprenant une portion analogique comprenant une pluralité de primitives analogiques paramétrables et une portion numérique comprenant une pluralité de primitives numériques paramétrables, les paramètres d'implémentation du circuit électronique comportant des paramètres de la pluralité de primitives analogiques paramétrables et des paramètres de la pluralité de primitives numériques paramétrables, la portion numérique étant couplée à la portion analogique par l'intermédiaire d'au moins un convertisseur analogique numérique et/ou au moins un comparateur analogique avec ou sans hystérésis, ledit procédé étant caractérisé en ce qu'il comprend une phase d'apprentissage desdits paramètres de la pluralité de primitives analogiques paramétrables et desdits paramètres de la pluralité de primitives numériques paramétrables, ladite phase d'apprentissage étant conjointe aux paramètres de la pluralité de primitives analogiques paramétrables et aux paramètres de la pluralité de primitives numériques paramétrables.
2. Procédé de détermination de paramètres d'implémentation d'un circuit électronique, selon la revendication 1, caractérisé en ce que la phase d'apprentissage comprend au moins une itération des étapes suivantes, effectuées à l'aide d'une base de données d'apprentissage de signaux étiquetés : chargement (Al) des paramètres courants de la pluralité de primitives analogiques paramétrables et de la pluralité de primitives numériques paramétrables ; extraction (A2), par la portion analogique, en fonction des paramètres courants de la pluralité de primitives analogiques, d'informations temporelles issues des signaux d'entrée et/ou d'informations fréquentielles issues de ces même signaux, ces informations pouvant correspondre à une pluralité de moments des signaux de la base de données d'apprentissage ; construction (A3) à l'aide des informations temporelles et/ou fréquentielles préalablement extraites, d'une structure de données intermédiaire ; classification (A4), par la portion numérique, en fonction des paramètres courants de la pluralité de primitives numériques, et à partir de la structure de données intermédiaire, de la pluralité d'évènements détectés, délivrant une pluralité de portions de signaux classés ; calcul (A5), à partir de la pluralité de portions de signaux classés, d'un taux d'erreur (Err) de classification ; correction (A6) des paramètres courants de la pluralité de primitives analogiques paramétrables et de la pluralité de primitives numériques paramétrables en fonction du taux d'erreur (Err).
3. Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que la phase d'apprentissage prend fin lorsque le taux d'erreur (Err) de classification est inférieur à un seuil
prédéterminé et/ou lorsqu'une consommation électrique cible, en fonctionnement opérationnel, dudit circuit électronique est atteinte.
4. Procédé selon l'une quelconque des revendications 2 ou 3, caractérisé en ce que l'étape de correction des paramètres courants de la pluralité de primitives analogiques paramétrables et de la pluralité de primitives numériques paramétrables comprend au moins une itération de la séquence d'optimisation suivante : optimisation de la portion numérique par rétropropagation, puis optimisation de la portion analogique.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la portion numérique comprend au moins un réseau de neurones adapté pour classifier les signaux reçus par l'intermédiaire de convertisseurs analogiques/numériques et en ce que les paramètres de la pluralité de primitives numériques paramétrables comprennent au moins des poids et des biais dudit réseau de neurones.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que la portion numérique est, par défaut, en veille.
7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la portion analogique comprend au moins un filtre passe bande, ledit filtre passe bande permettant d'identifier des fréquences d'intérêt et en ce que les paramètres de la pluralité de primitives analogiques paramétrables comprennent au moins des fréquences de coupure dudit filtre passe-bande et en ce que la portion analogique comprend une pluralité de noeuds de déclenchement en vue de réveiller ladite portion numérique sur la base d'une identification desdites fréquences d'intérêts.
8. Circuit électronique configuré pour effectuer le traitement d'un signal d'entrée selon le procédé de détermination de paramètres d'implémentation dudit circuit électronique selon l'une quelconque des revendications 1 à 7, ledit circuit électronique comprenant une portion analogique et une portion numérique, la portion numérique étant couplée à la portion analogique par l'intermédiaire d'au moins un convertisseur analogique numérique, et/ou au moins un comparateur analogique avec ou sans hystérésis, le circuit électronique étant caractérisé en ce que la portion analogique comprend une pluralité de primitives analogiques paramétrés selon un premier ensemble de paramètres et en ce que la portion numérique comprend une pluralité de primitives numériques paramétrés selon un deuxième ensemble de paramètres, ledit premier et ledit deuxième ensemble de paramètres appartenant aux paramètres d'implémentation dudit circuit électronique, ledit premier et ledit deuxième ensemble ayant fait l'objet d'un apprentissage conjoint.
9. Circuit électronique selon la revendication 8, caractérisé en ce que la pluralité de primitives analogiques paramétrables comprend des primitives analogiques qui appartiennent au groupe
comprenant : filtres passifs et/ou actifs, détecteurs d'enveloppe, multiplieurs, montages à amplificateurs opérationnels, diodes, convolutions analogiques, intégrateurs, dérivateurs, retard.
10. Circuit électronique selon l'une quelconque des revendications 8 ou 9, caractérisé en ce que la portion analogique du circuit électronique est divisée en une première partie, dite de prétraitement du signal et une deuxième partie dite d'extraction de moment, la sortie de la partie de prétraitement du signal étant connectée à l'entrée de la partie d'extraction de moments, la sortie de la partie d'extraction de moments étant directement connectée à l'aide d'au moins un convertisseur analogique/numérique et/ou d'un comparateur analogique.
11. Utilisation d'un circuit électronique configuré pour effectuer le traitement d'un signal d'entrée selon le procédé de détermination de paramètres d'implémentation dudit circuit électronique selon l'une quelconque des revendications 1 à 7, ledit circuit électronique comprenant une portion analogique et une portion numérique, la portion numérique étant couplée à la portion analogique par l'intermédiaire d'au moins un convertisseur analogique numérique ou d'au moins un comparateur analogique, la portion analogique comprenant une pluralité de primitives analogiques paramétrables selon un premier ensemble de paramètres et la portion numérique comprenant une pluralité de primitives numériques paramétrables selon un deuxième ensemble de paramètres, caractérisée en ce qu'elle comprend une étape de chargement du premier et du deuxième ensemble de paramètres ayant fait l'objet d'un apprentissage conjoint.
12. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution d'un procédé de détermination de paramètres d'implémentation d'un circuit électronique configuré pour effectuer le traitement d'un signal d'entrée selon l'une des revendications 1 à 7, lorsqu'il est exécuté sur un ordinateur.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2205623A FR3136573A1 (fr) | 2022-06-10 | 2022-06-10 | Dispositif de traitement de données par voie d’apprentissage, procédé, programme et système correspondant |
| PCT/EP2023/065015 WO2023237498A1 (fr) | 2022-06-10 | 2023-06-05 | Dispositif de traitement de donnees par voie d'apprentissage, procede, programme et systeme correspondant |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4537246A1 true EP4537246A1 (fr) | 2025-04-16 |
Family
ID=83188787
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23732823.2A Pending EP4537246A1 (fr) | 2022-06-10 | 2023-06-05 | Dispositif de traitement de donnees par voie d'apprentissage, procede, programme et systeme correspondant |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20250342300A1 (fr) |
| EP (1) | EP4537246A1 (fr) |
| JP (1) | JP2025518356A (fr) |
| FR (1) | FR3136573A1 (fr) |
| WO (1) | WO2023237498A1 (fr) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR3164550A1 (fr) | 2024-07-11 | 2026-01-16 | Universite De Toulon | Procédé d’analyse d’un signal d’entrée et dispositif intégrant un circuit électronique pour la mise en œuvre d’un tel procédé |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9177546B2 (en) * | 2013-08-28 | 2015-11-03 | Texas Instruments Incorporated | Cloud based adaptive learning for distributed sensors |
-
2022
- 2022-06-10 FR FR2205623A patent/FR3136573A1/fr active Pending
-
2023
- 2023-06-05 WO PCT/EP2023/065015 patent/WO2023237498A1/fr not_active Ceased
- 2023-06-05 EP EP23732823.2A patent/EP4537246A1/fr active Pending
- 2023-06-05 US US18/873,042 patent/US20250342300A1/en active Pending
- 2023-06-05 JP JP2024571913A patent/JP2025518356A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023237498A1 (fr) | 2023-12-14 |
| JP2025518356A (ja) | 2025-06-12 |
| FR3136573A1 (fr) | 2023-12-15 |
| US20250342300A1 (en) | 2025-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3059682B1 (fr) | Systeme de traitement de donnees et de modelisation pour l'analyse de la consommation energetique d'un site | |
| WO2010122056A2 (fr) | Systeme et methode pour detecter des evenements audio anormaux | |
| FR3010532A1 (fr) | Procede, dispositif et systeme d'estimation de l'etat de charge d'une batterie | |
| EP2696344A1 (fr) | Procede et systeme pour detecter des evenements sonores dans un environnement donne | |
| FR2728365A1 (fr) | Apprentissage supervise d'un reseau neuronal | |
| FR2996302A1 (fr) | Procede et systeme de mesure a capteurs multiples | |
| EP3252563B1 (fr) | Détermination d'un contexte de mobilité d'un utilisateur porteur d'un équipement muni de capteurs inertiels | |
| FR3082962A1 (fr) | Determination automatique et auto-optimisee des parametres d'execution d'une application logicielle sur une plateforme de traitement de l'information | |
| EP4027269A1 (fr) | Procédé de construction et d'entraînement d'un détecteur de la présence d'anomalies dans un signal temporel, dispositifs et procédé associés | |
| WO2016075409A1 (fr) | Procédé de surveillance d'un moteur d'aéronef en fonctionnement dans un environnement donné | |
| EP3709049B1 (fr) | Systeme de traitement radar et procede de debruitage associe | |
| WO2022008605A1 (fr) | Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d'ordinateur associés | |
| EP4537246A1 (fr) | Dispositif de traitement de donnees par voie d'apprentissage, procede, programme et systeme correspondant | |
| EP3511781B1 (fr) | Dispositif et procédé de collecte, de sauvegarde, d'analyse ainsi que de mise à disposition des résultats de l'analyse de données de pièces d'horlogerie | |
| FR3010200A1 (fr) | Procede et dispositif de normalisation de valeurs de parametres de fonctionnement d'un moteur d'aeronef | |
| WO2021069824A1 (fr) | Dispositif, procédé et programme d'ordinateur de suivi de moteur d'aéronef | |
| EP4591183A1 (fr) | Procede et dispositif de detection d'anomalie de fonctionnement d'un aeronef | |
| FR3105485A1 (fr) | Procede et dispositif de detection d’equipement intrus | |
| EP2304510A1 (fr) | Estimation de la réponse impulsionnelle d'un système à partir d'observations binaires | |
| WO2026013214A1 (fr) | Procédé d'analyse d'un signal d'entrée et dispositif intégrant un circuit électronique pour la mise en oeuvre d'un tel procédé | |
| EP2921867A1 (fr) | Méthode pour extraire des signaux de puissance électrique d'un signal mélangé alimentant une pluralité d'appareils électriques distincts | |
| FR3037137A1 (fr) | Systeme de mesure, estimateur, procede pour estimer au moins une variable ; machine tournante ou a comportement cyclique comportant le systeme de mesure | |
| WO2026082734A1 (fr) | Circuit intégré analogique de classification bayésien d'un signal électrique | |
| FR3156568A1 (fr) | Procédé de prédiction des caractéristiques physiques actuelles ou futures d’une partie d’un corps humain et dispositifs associés | |
| FR3166017A1 (fr) | Procédé de détermination d’un filtre à réponse impulsionnelle finie, et programme d’ordinateur et système de détermination associés |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20241122 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |