INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Bien que les différentes étapes de l'organigramme soient présentées et décrites de façon séquentielle, certaines ou toutes les étapes peuvent être exécutées dans un ordre différent, peuvent être combinées ou omises, et certaines ou toutes les étapes peuvent être effectuées en parallèle.
Les étapes de la méthode peuvent être mises en œuvre par ordinateur, par exemple par un dispositif 110 de programmation tel que décrit dans ce document, notamment par référence à la et/ou 7.
Le procédé de programmation vise à optimiser l’ordonnancement des tâches et leur affectation aux unités de traitement du système d’exécution de tâches sur la base d’un ou plusieurs critères d’optimisation. Chaque unité de traitement comprend une ou plusieurs unités fonctionnelles, chaque unité fonctionnelle étant adaptée à exécuter un ou plusieurs types de fonctions de traitement.
A l’étape 300, des informations de disponibilité sont obtenues pour les unités fonctionnelles, via une interface de communication d’un système 122 de contrôle d’exécution de tâches ou du système source 121.
Les informations de disponibilité comprennent une capacité de traitement pour l’exécution de tâches par unité fonctionnelle. Cette capacité de traitement correspond à ce stade à une capacité maximale de traitement. Cette capacité de traitement peut s’exprimer sous forme d’un temps disponible ou une durée de disponibilité par période de temps de référence et/ou un taux de disponibilité par période de temps de référence. Par exemple, pour un robot ou une imprimante, on peut définir la capacité de traitement comme le temps disponible pour l’exécution de tâches par jour, par exemple 10h par jour.
A l’étape 310, un ensemble de nouvelles tâches à exécuter est obtenu via une interface de communication d’un système source 121. Pour chaque tâche, une estimation d’un temps d’exécution restant pour l’exécution de cette tâche et au moins un type de fonction de traitement adapté pour l’exécution de cette tâche sont obtenus.
A l’étape 320, pour au moins une unité de traitement, une liste ordonnée de tâches à exécuter par les unités fonctionnelles de l’unité de traitement concernée est déterminée.
La détermination de l’affectation des tâches aux unités de traitement et leur ordonnancement est effectuée de sorte à optimiser des critères d’optimisation prédéfinis sur l’ensemble des tâches.
A l’étape 330, la ou les listes ordonnées de tâches à exécuter pour la ou les unités de traitement sont transmises, via une interface de communication, au système 122 de contrôle d’exécution de tâche. Suite à l’étape 330, le système 122 de contrôle d’exécution est configuré pour, après réception de ces listes ordonnées de tâches, déclencher l’exécution des tâches dans la ou les listes ordonnées de tâches reçues, par exemple par transmission d’un signal de commande aux unités de traitement concernées.
Il n’est pas nécessaire que la liste ordonnée spécifie quelles sont les unités fonctionnelles concernées : on suppose que l’unité de traitement concernée est configurée pour déclencher l’exécution d’une tâche par une unité fonctionnelle adaptée à cette tâche. Par exemple, si une unité de traitement est une imprimante 3D, la tâche d’impression comprend des paramètres d’impression qui déterminent le mode d’impression et donc l’unité fonctionnelle à utiliser. En outre, l’ordonnancement des tâches pour une unité de traitement tient compte du type de fonction de chaque unité fonctionnelle et l’ordonnancement est réalisé de sorte que pour une tâche donnée, il existe toujours au moins une unité fonctionnelle qui soit adaptée à une tâche et disponible à un instant donné si l’ordonnancement est respecté. Les disponibilités de l’unité de traitement ainsi que celles des unités fonctionnelles sont ainsi respectées, le déclenchement des tâches par les unités fonctionnelles adaptées étant réalisé par l’unité de traitement.
A l’étape 340, un feedback sur l’exécution de tâches est reçu via l’interface de communication d’un système 123 de feedback d’exécution de tâche. Le feedback peut être reçu périodiquement, par exemple toutes les minutes, toutes les heures, une fois par jour, etc. Le feedback sur l’exécution d’une tâche comprenant un temps d’exécution effectif Te déjà passé pour l’exécution de la tâche concernée et/ou un taux d’accomplissement Ta de la tâche.
En pratique, chaque organe de montage 5 doit être suffisamment grand afin de pouvoir réaliser son montage par collage, vissage, pose de rivets ou analogue. De manière préférée, l’ensemble des organes de montage 5 définit une surface de montage inférieur comprise entre 5 mm2 et 400mm2. Selon un aspect, la surface totale des organes de montage est inférieure à la surface du support fonctionnel d’au moins 30%, de préférence, d’au moins 50%.
Comme illustré aux figures 2 à 4 représentant une deuxième forme de réalisation, le support fonctionnel 4 définit une première face 4a et une deuxième face 4b qui sont opposées. Le dispositif d’identification RFID 3 comporte au moins deux organes de montage 5 qui s’étendent respectivement du côté de la première face 4a et du côté de la deuxième face 4b. Cela permet d’assurer un montage stable du support fonctionnel 4, en particulier, en présence de vibrations.
Le support fonctionnel 4 comporte une pluralité d’organes de montage 5 qui sont alignés parallèlement au premier axe X de manière à assurer un montage robuste. En référence à la , les organes de montage 5 sont positionnés alternativement du côté de la première face 4a et du côté de la deuxième face 4b afin d’assurer une stabilité élevée, en particulier, en présence de vibrations. Selon un aspect de l’invention, au moins deux organes de montage 5 s’étendent dans un même plan de montage P5, de préférence, tous.
Selon une troisième forme de réalisation représentée aux figures 5 et 6, le dispositif d’identification RFID 3 comporte au moins deux organes de montage 5 s’étendant dans deux plans de montage P5a, P5b qui sont inclinés l’un par rapport à l’autre d’un angle d’inclinaison β. Cela permet avantageusement de monter le dispositif d’identification RFID 3 de manière normale/perpendiculaire sur une surface de liaison 20 qui est incurvée.
Dans cet exemple, l’angle d’écartement α de chaque organe de montage 5 est d’au moins 90° et l’angle d’inclinaison β entre les deux plans de montage P5a, P5b est au moins égal 45°. Le dispositif d’identification RFID 3 peut ainsi être monté sur une très grande variété de surfaces de montage 20.
Selon une quatrième forme de réalisation représentée à la , au moins un organe de montage 5 est relié au support fonctionnel par au moins un élément élastique 6. Dans cet exemple, chaque organe de montage 5 est relié au support fonctionnel 4 par au moins un élément élastique 6 afin d’améliorer la flexibilité. Cela permet de limiter le risque d’endommagement lors du montage, de l’utilisation ou de la maintenance. De manière préférée, chaque élément élastique 6 se présente sous la forme d’un ressort. L’élément élastique 6 peut être issu de matière de l’organe de montage 5 et/ou du support fonctionnel 4.
Selon un aspect, l’élément élastique 6 est réalisé dans un matériau différent du support fonctionnel 4 de manière à permettre une rupture de pont thermique.
Un exemple de mise en œuvre d’un procédé de montage d’un dispositif d’identification RFID 3 selon l’invention sur une surface de liaison 20 d’une pièce mécanique à identifier 2 va être présenté en référence à la . Le procédé comprend une étape consistant à fixer au moins un organe de montage 5, de préférence chacun, à la surface de liaison 20 de manière à ce que le support fonctionnel 4 s’étende à distance de la surface de liaison 20, de préférence, de manière perpendiculaire.
Pour lire une donnée d’identification ID, il suffit pour un opérateur d’émettre une requête de lecture REQ par un lecteur RFID 1 positionné à distance de la pièce mécanique à identifier 2 et de recevoir la donnée d’identification ID émise par l’antenne radio 41. De manière avantageuse, l’antenne radio 41 est large bande et peut être lue par tout type de lecteur RFID à une distance de 3 mètres étant donné que la surface de liaison 20 métallique est distante de l’antenne radio 41. Tout transfert thermique est en outre évité. Il n’est en outre pas nécessaire de surdimensionner l’antenne radio 41 ou d’augmenter l’épaisseur du support fonctionnel 4, ce qui permet de répondre aux différentes exigences aéronautiques.
Composant électronique multifonctions, dispositif, procédés et programmes correspondants. L’invention se rapporte à la mise en œuvre de composants électroniques multifonctions. L’invention se rapporte plus particulièrement à la mise en œuvre de composants électroniques multifonction pouvant être reconfigurés à la volée en fonction des besoins. L’invention trouve plus naturellement une application dans la mise en œuvre de réseaux de neurones sur des architectures embarqués.
Art antérieur Un réseau de neurones artificiels (ou ANN, de l’anglais « Artificial Neural Networks » ) peut être considéré comme un système complexe combinant et interconnectant un grand nombre d'unités de traitement non linéaires appelées neurones. Certains algorithmes d'intelligence artificielle sont très connus pour l'apprentissage supervisé, dans lequel un réseau de neurones artificiels est utilisé pour faire une prédiction allant d'une couche d'entrée recevant des données d'entrée à une couche de sortie, comme illustré à la . Il existe de nombreux types et variantes de réseau de neurone, mais on peut les classer en trois grands types : Le perceptron multicouche (ou MLP, de l’anglais « Multi L ayer P erceptron ») est la version étendue du perceptron original qui contient trois couches ou plus. Ces couches sont également appelées couches entièrement connectées (ou FC, de l’anglais « Fully C onnected » ) et, même si elles ne sont pas utilisées comme entités autonomes, elles sont généralement intégrées comme sous-composants d'autres architectures (comme dans les réseaux CNN). Les réseaux de neurones convolutifs (ou CNN, de l’anglais « Convolutional Neural Networks » ) sont des réseaux de neurones spécialisés principalement dans les applications de traitement d'images. Ils sont notamment basés sur les opérations de convolution (opérations matricielles) couramment utilisées dans le traitement d'images (comme le filtre de Sobel). Les réseaux de neurones récurrents (ou RNN, de l’anglais « R ecurrent Neural Network » ) contiennent des entités de mémoire interne permettant une boucle de rétroaction. Ce principe permet de prendre en compte une relation temporelle dans les données traitées. Par conséquent, la sortie d'une cellule n'est pas seulement influencée par son entrée mais aussi par les calculs précédents, ce qui permet de capturer une certaine relation temporelle inhérente aux données.
Les inventeurs ont identifié que les paradigmes actuels pour la mise en œuvre et l'entraînement des algorithmes d’intelligence artificielle des réseaux de neurones sont principalement basés sur des architectures centralisées avec des infrastructures logicielles lourdes telles que des fermes de serveurs, généralement basés sur des GPU et contenant même quelques accélérateurs de calcul FPGA/ASIC. La formation des paramètres d’exécution se fait en ligne et une fois formé, le réseau (et ses paramètres) est transféré vers une cible d'inférence pour une tâche ou une mission dédiée.
Sur la base de cette analyse, les inventeurs ont constaté que : Les algorithmes d’intelligence artificielle (en particulier ceux comprenant des réseaux de grande taille) sont difficiles à transposer sur des systèmes embarqués très contraints en termes de taille, de consommation d'énergie et de contraintes de temps réel. Toutes les approches embarquées actuelles sont basées sur l'apprentissage en ligne - exécution hors-ligne expliqué ci-dessus. La formation des réseaux de neurone (i.e. l’obtention de ses paramètres de fonctionnement), qui est la partie qui consomme le plus de temps, de mémoire et de ressources informatiques, n'est pas effectuée directement sur les systèmes embarqués. Les réseaux sont entrainés en ligne, leurs données sont stockées, puis ils sont implémentés tels quels sur la carte électronique de destination. Une fois qu'un réseau de neurones a été conçu, formé et intégré de manière optimale dans un dispositif embarqué, il est difficile de le modifier (pour une autre tâche, pour une nouvelle configuration, une architecture plus performante, ...). En particulier lorsqu'on utilise des FPGA, cette reconfiguration/ré-implémentation du réseau de neurones peut être une tâche longue et complexe.
En d’autres termes, les inventeurs ont constaté que la mise en œuvre d’un réseau de neurones dans une architecture embarquée souffre de nombreuses problématiques, au premier rang desquelles le caractère figé du réseau ainsi implémenté. Il est certes possible, même dans un FPGA, de modifier les poids du réseau de neurones, afin de prendre en compte des améliorations de l’apprentissage (réalisé en ligne), mais il est difficilement envisageable de modifier les fonctionnalités du réseau de neurones ainsi obtenu. Parmi les fonctionnalités non modifiables, l’agrandissement de la taille du réseau de neurones pose des problèmes souvent insolubles. De plus, les réseaux de neurones embarqués souffrent de limitations au niveau de l’apprentissage, qui est incompatible avec les exigences de faible consommation électrique et la puissance de calcul limitée de ces systèmes embarqués.
Il existe donc un besoin de fournir des solutions de traitement de données à destination de réseaux de neurones sur des architectures embarquées, qui puissent permettre de résoudre les problématiques posées par l’art antérieur.
La présente technique permet de proposer une solution visant à remédier à certains inconvénients de l’art antérieur.
La illustre un schéma fonctionnel du procédé mis en œuvre par le module R de reconstruction. Le module R de reconstruction permet d’entraîner le réseau de neurones générateur G pour qu’il soit capable de générer une image modifiée G_IMG à partir de laquelle il est possible de recréer l’image initiale O_IMG. Cela permet d’obtenir un réseau de neurones générateur G capable de conserver la géométrie des éléments de l’image initiale O_IMG.
Ce procédé comprend une mise en œuvre du module C d’estimation de couleur à partir de l’image initiale. Le module C d’estimation de couleur permet d’extraire la couleur de l’élément à modifier de l’image initiale O_IMG.
Ce procédé comprend également une mise en œuvre du réseau de neurones générateur G à partir de l’image modifiée G_IMG et de la couleur extraite par le module C d’estimation de couleur. Le réseau de neurones générateur G permet alors de générer une différence à appliquer sur l’image modifiée G_IMG pour obtenir une image reconstruite R_IMG. En particulier, une somme est calculée entre la différence obtenue en sortie du réseau de neurones générateur G et l’image modifiée G_IMG de manière à obtenir l’image reconstruite R_IMG.
L’image reconstruite R_IMG est ensuite comparée à l’image initiale O_IMG de manière à calculer une erreur de reconstruction.
où G(X, c) est l’image générée et C(X) est le vecteur de couleur extrait de l’élément à modifier de l’image initiale X.
La fonction de coût utilisée pour entraîner le réseau de neurones générateur G peut être exprimée par la formule suivante :
où , , sont des paramètres permettant de pondérer les différentes fonctions de coût , , . Les valeurs de ces paramètres peuvent être définies par l’utilisateur par expérimentation.
Le réseau de neurones générateur G peut être entraîné par rétropropagation du gradient.
La fonction de coût utilisée pour entraîner le réseau de neurones discriminateur D peut être exprimée par la formule suivante :
Le réseau de neurones discriminateur D peut également être entraîné par rétropropagation du gradient.
Une fois entraîné, le réseau de neurones générateur G peut être intégré dans un programme d’ordinateur. En particulier, le programme d’ordinateur comprend des instructions qui, lorsque ce programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le réseau de neurones artificiels générateur G entraîné.
La illustre un mode de réalisation d’un microcontrôleur MCU comprenant un support d’enregistrement MEM, notamment une mémoire non volatile, dans lequel est enregistré le programme d’ordinateur PRG comportant les instructions pour mettre en œuvre le réseau de neurones générateur. Le microcontrôleur MCU comprend une unité de traitement UT configurée pour exécuter ce réseau de neurones générateur.
Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l’homme de l’art. Par exemple, le réseau de neurones générateur peut être configuré pour modifier la couleur de plusieurs éléments de l’image initiale. L’algorithme de segmentation est alors configuré pour délimiter les différents éléments de cette image initiale.
Procédé de robustification des réseaux de neurones multicouches par hybridation avec la commande prédictive MPC vis-à-vis d’une attaque antagoniste, utilisant une base de données de signatures de référence La présente invention se rapporte à un procédé et un système de construction d’une base de données de référence à partir d’un réseau de neurones multicouches, ainsi qu’à un procédé et un système d’amélioration de la robustesse d’un réseau de neurones multicouches vis-à-vis d’une attaque antagoniste.
Une quantité de liquide de nettoyage contenu dans le réservoir principal 410 (à travers le dispositif de remplissage 470) s’écoule en conséquence dans le réservoir de décharge 420 jusqu’au remplissage dudit réservoir de décharge.
En position de décharge : le clapet 430 ferme le passage entre le réservoir principal 410 et le réservoir de décharge 420 (pas de passage fluidique car l’ouverture 424 dudit réservoir de décharge est bloquée), et le clapet 430 libère l’orifice d’évacuation 423 du réservoir de décharge 420.
Seul le liquide de nettoyage contenu dans le volume interne Vd du réservoir de décharge 420 peut s’écouler au travers de l’orifice d’évacuation 423 dudit réservoir de décharge, hors dudit réservoir de décharge.
De préférence, comme illustré sur la , le réservoir de décharge 420 comprend, au niveau de l’ouverture 424 du réservoir de décharge 420, un premier élément d’étanchéité 450 qui vient prendre appui sur la deuxième base 432 du clapet 430. Le premier élément d’étanchéité 450 est configuré pour assurer une étanchéité périphérique autour de l’ouverture 424 du réservoir de décharge 420 avec le clapet 430 lorsque ledit clapet est en position de décharge.
Il en résulte ainsi avantageusement que, lorsque le clapet 430 est en position de décharge, le premier élément d’étanchéité 450 forme une barrière d’étanchéité contre la deuxième base 432 du clapet 430 et aucune fuite de liquide de nettoyage depuis le réservoir principal 410 dans le réservoir de décharge 420 n’est possible au travers de l’ouverture 424 dudit réservoir de décharge.
Dans un exemple préféré de réalisation, le premier élément d’étanchéité 450 est un joint torique.
De préférence, comme illustré sur la , le réservoir de décharge 420 comprend, au niveau de l’orifice d’évacuation 423 dudit réservoir de décharge, un deuxième élément d’étanchéité 440 qui vient prendre appui contre la première base 431 du clapet 430. Le deuxième élément d’étanchéité 440 est configuré pour assurer une étanchéité périphérique autour de l’orifice d’évacuation 423 du réservoir de décharge 420 avec le clapet 430 lorsque ledit clapet est en position initiale. Il en résulte ainsi avantageusement que, lorsque le clapet 430 est en position initiale, le deuxième élément d’étanchéité 440 forme une barrière d’étanchéité contre la première base 431 du clapet 430 et aucune fuite de liquide de nettoyage depuis le réservoir de décharge 420 hors dudit réservoir de décharge n’est possible au travers de l’orifice d’évacuation 423 dudit réservoir de décharge.
Dans un exemple préféré de réalisation, le deuxième élément d’étanchéité 440 est un joint torique.
L’ensemble réservoir 400 de l’appareil 100 comprend avantageusement un actionneur 460 configuré pour entrainer le clapet 430 en rotation dans le réservoir de décharge 420, entre la position initiale et la position de décharge.
Dans un exemple de réalisation, ledit actionneur comprend une interface utilisateur 461 (illustrée en ).
Ladite interface utilisateur est préférentiellement disposée au niveau du bouchon 415 du réservoir principal 410. L’interface utilisateur 461 est destinée à être actionnée manuellement par l’utilisateur.
L’actionneur comporte une tringle 462 (illustrée aux figures 2 et 6) s’étendant longitudinalement le long du second axe 2000, entre l’interface utilisateur 461 et le clapet 430. La tringle 462 dudit actionneur est liée solidairement à l’interface utilisateur et au clapet, plus particulièrement à la tige creuse 436 dudit clapet. La tringle 462 de l’actionneur traverse, de part en part, et de manière étanche, le réservoir principal 410.
L’interface utilisateur 461 entraine ainsi avantageusement en rotation, autour du second axe 2000, la tringle 462 entrainant elle-même en rotation le clapet 430.
Dans un exemple préféré de réalisation, ladite interface utilisateur comprend un bouton mobile en rotation autour du second axe 2000, entre deux positions stables. Une première position stable correspond à la position initiale du clapet 430. Une seconde position stable correspond à la position de décharge dudit clapet.
Ainsi, avantageusement, toute mise en rotation dudit bouton de l’interface utilisateur 461, par un utilisateur de l’appareil 100, entraine, via la tringle 462 de l’actionneur 460, la mise en rotation du clapet 430 soit en position initiale soit en position de décharge.
De préférence, l’ensemble réservoir 400 est logé en partie dans le carter de protection 480 de l’appareil 100, comme illustré sur la . Ledit carter de protection comporte un logement creux (non représenté sur les figures) pour la réception, avec un jeu, des deux réservoirs. Ledit carter de protection s’étend longitudinalement le long du manche 300.
A l’étape 345, les informations de disponibilité sont mises à jour pour les unités fonctionnelles, via une interface de communication d’un système 122 de contrôle d’exécution. Les informations de disponibilité mises à jour comprennent une capacité de traitement pour l’exécution de tâches pour chaque unité fonctionnelle. Cette capacité de traitement correspond à ce stade à une capacité de traitement restante qui est obtenue à partir de la capacité maximale de traitement obtenue à l’étape 300, déduction faite de la charge correspondant aux tâches en cours de traitement par les unités de traitement.
A l’étape 346, de nouvelles tâches à exécuter peuvent être obtenues via une interface de communication d’un système source 121. Pour chaque tâche, une estimation d’un temps d’exécution pour l’exécution de cette tâche et au moins un type de fonction de traitement adapté pour l’exécution de cette tâche sont obtenus.
A l’étape 350, une mise à jour, pour au moins une tâche, de l’estimation du temps d’exécution restant pour l’exécution de la tâche concernée est effectuée sur la base du feedback pour la tâche concernée.
Par exemple, si le temps d’exécution effectif déjà passé pour l’exécution de la tâche concernée est Te=1 heure et que le taux d’accomplissement de la tâche est de Ta=75%, on peut estimer que le temps d’exécution total sera de Tt=Te/Ta=1/0.75=1,33 heure, soit un temps d’exécution restant Tr=Tt-Te=0.33 heure. Selon les tâches et/ou les unités fonctionnelles considérées, les temps Te, Tr, Tt peuvent être exprimés en seconde(s), heure(s), jour(s), etc.
A l’étape 360, une mise à jour, pour au moins une unité de traitement, de la liste ordonnée de tâches à exécuter par l’unité de traitement concernée est effectuée sur la base de l’estimation du temps d’exécution restant mis à jour et des informations de disponibilités mises à jour.