INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
L’architecture matérielle définit de manière exhaustive comment un circuit numérique (par exemple, un FPGA ou un ASIC) doit être implémenté pour exécuter le réseau de neurones.
Selon différents modes de réalisation de l’invention, l’architecture matérielle peut être décrite à différents niveaux. Par exemple, une architecture matérielle peut être décrite au niveau dit RTL (de l’anglais Register Transfer Level, ou Niveau de Transfert de Registres). Une architecture au niveau RTL définit le comportement d’un circuit numérique et peut être directement convertie en portes logiques combinatoires et en éléments séquentiels (bascules, etc…). Un architecture de ce niveau, parfois appelée « architecture de bas niveau », peut par exemple être exprimée dans des langages de description matérielle (en anglais HDL, « Hardware Description Langage) tels que Verilog ou VHDL.
Grâce aux étapes 130 et 140, l’architecture obtenue est optimisée selon le ou les critères désirés (taille de l’architecture, besoins mémoire, performance, etc.). De plus, le temps de définition de l’architecture selon la méthode 100 est faible.
La méthode 100 permet donc de définir rapidement des architectures matérielles optimisées permettant l’exécution d’un réseau de neurones donné.
Dans un ensemble de modes de réalisation de l’invention, la méthode 100 comprend, à l’issue de l’étape de conversion de la description de haut niveau en architecture matérielle de circuit numérique, une étape 160 de configuration d’un circuit de calcul à partir de l’architecture matérielle.
Cette étape 160 consiste à implémenter un circuit de calcul tel qu’un ASIC ou un FPGA, selon l’architecture matérielle. A l’issue de cette étape, le circuit numérique obtenu permet donc de réaliser l’exécution du réseau de neurones, avec les performances optimisées, conformes à l’estimation réalisée à l’étape 140, par exemple par les évaluations haut niveau et/ou le flot de conception classique.
Dans un ensemble de modes de réalisation de l’invention, la méthode 100 comprend, préalablement à une première itération des étapes 130 et 140, une étape 120 de détermination d’au moins une caractéristique d’architecture du réseau de neurones, et l’étape 130 de génération de la description de haut niveau lors de la première itération prend également en entrée ladite au moins une caractéristique du réseau de neurones. L’au moins une caractéristique du réseau de neurones peut concerner l’architecture/topologie du réseau, les paramètres, hyperparamètres, poids du réseau, etc…
Dit autrement, une ou plusieurs caractéristiques du réseau de neurones sont déterminées à partir de la seule définition du réseau de neurones, et la première génération de la description de haut niveau de l’architecture matérielle prend en compte ces caractéristiques.
Les caractéristiques du réseau de neurones peuvent par exemple être : Une indication de réutilisation de données. Cette caractéristique est particulièrement importante pour les réseaux de neurones convolutifs, dans lesquels les pixels sont réutilisés par le biais de fenêtre glissantes ; Un mapping des couches ; Un type de couches ; Une taille de couches intermédiaires ; Un type de données dans une couche (entiers, flottant…) ; Un nombre de coefficients signifiants dans une couche ; Un nombre de zéros dans une couche ; Etc.
La prise en compte des caractéristiques du réseau de neurones permet d’obtenir, lors de la première itération de l’étape 130 de génération de la description de haut niveau, une description de haut niveau pré-optimisée. Par exemple, les boucles de convolution peuvent être optimisées pour diminuer l’empreinte mémoire de l’architecture, en tirant parti de la réutilisation de pixels entre noyaux convolutifs. Ceci permet d’améliorer l’optimisation de la description, tout en diminuant le nombre d’itérations nécessaires à l’optimisation.
La représente un exemple de méthode mise en œuvre par ordinateur de génération d’une architecture matérielle de circuit numérique pour l’exécution d’un réseau de neurones artificiels dans un ensemble de modes de réalisation de l’invention basés sur une solution de génération par synthèse haut-niveau dite HLS (de l’anglais « High-Level Synthesis », en français « Synthèse de Haut Niveau ») .
La méthode 200 est un exemple d’implémentation de la méthode 100, reprenant les étapes de la méthode 100 et en spécifiant certaines. Les étapes 130, 140 et 150 sont notamment remplacées par les étapes 230, 240 et 250 respectivement.
Dans l’étape 230, la description de haut niveau générée est du code C, et à l’étape 250, ce code est converti en code RTL. Les étapes 230 et 250 sont basées sur une technique dite HLS (de l’anglais High-Level Synthesis, ou en français Synthèse de Haut Niveau) décrite notamment par Nane, R., Sima, V. M., Pilato, C., Choi, J., Fort, B., Canis, A., ... & Bertels, K. (2015). A survey and evaluation of FPGA high-level synthesis tools. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems , 35 (10), 1591-1604. Dans le cadre de la méthode 200, d’au moins un paramètre de configuration de ladite description de haut niveau consiste en au moins un opérateur décrit pour la technique HLS.
- de 40 à 60 % en volume par rapport au volume total du matériau, de microsphères thermoplastiques expansées dont la membrane est composée de polymères ou copolymères à blocs, lesdites microsphères étant revêtues d’une couche composée de nanoparticules de dioxyde de silicium.
Dans le cadre de l’invention, les microsphères thermoplastiques expansées sont obtenues à partir de microsphères thermoplastiques dont la membrane est composée de polymères ou copolymères à blocs thermoplastiques tels que le chlorure de vinyle, le chlorure de vinylidène, l’acrylonitrile, le méthacrylate et/ou le styrène, et contenant un ou plusieurs agents gonflants liquides volatiles qui se vaporisent lors d’un chauffage. L’agent gonflant peut être un gaz tel qu’un gaz hydrochlorofluorocarboné ou chlorofluorocarboné comme le trichlorofluorométhane ou hydrocarboné tel que le n-pentane, l’isopentane, le butane, l’isobutane. L’Homme du métier n’ayant aucune difficulté à déterminer les paramètres de chauffage permettant l’expansion des microsphères en fonction de la composition de la membrane des microsphères et de l’agent gonflant présent. Dans le matériau selon l’invention, les microsphères thermoplastiques expansées sont creuses.
Selon un aspect particulier du matériau selon l’invention, la membrane des microsphères thermoplastiques est composée de polymères ou copolymères à blocs de chlorure de vinyle, de chlorure de vinylidène, d’acrylonitrile, de méthacrylate et/ou de styrène, de préférence d’un copolymère de chlorure de vinylidène et d’acrylonitrile. De façon particulièrement préférée, les microsphères thermoplastiques sont hydratées en surface, de préférence jusqu’à 30% en poids par rapport au poids total des microsphères
Selon un mode de réalisation préféré du matériau selon l’invention, la membrane des microsphères thermoplastiques expansées est composée d’un copolymère à blocs de chlorure de vinylidène et d’acrylonitrile. De préférence selon ce mode de réalisation, la membrane des microsphères thermoplastiques expansées comprend de 10 % à 60 % de chlorure de vinylidène, et de 20 % à 90 % d'acrylonitrile, en poids par rapport au poids de la membrane.
En particulier dans le cadre de l’invention, les microsphères thermoplastiques expansées, présentent une densité comprise entre 20 et 40 kg/m3 et un diamètre compris entre 10 et 50 µm, de préférence entre 20 et 40 µm. La petite taille des microsphères permet de faciliter leur dispersion au sein de la matrice. Selon un aspect particulièrement préféré, les microsphères mises en œuvre dans le matériau selon l’invention présentent un diamètre de 20 µm ou de 40 µm et une densité de 36 kg/m3, de façon encore préférée les microsphères présentent un diamètre de 40 µm et une densité de 36 kg/m3. De telles microsphères sont disponibles auprès de la société Nouryon sous le nom commercial d’Expancel®.
Selon un mode de réalisation particulièrement préféré les microsphères mises en œuvre dans le cadre de l’invention présentent une membrane composée d’un copolymère à blocs de chlorure de vinylidène et d’acrylonitrile, lesdites microsphères étant hydratées en surface jusqu’à 30 % en poids d’eau par rapport au poids total des microsphères et présentant un diamètre de 20 ou de 40 µm et une densité de 36 kg/m3.
Selon un aspect particulier, les microsphères thermoplastiques expansées mises en œuvre dans le matériau selon l’invention, présentent une épaisseur allant de 0,1 µm à 1 µm, de préférence de 0,2 µm à 0,7 µm, de façon encore préférée allant de 0,2 µm à 0,5 µm.
On comprend que dans le matériau selon l’invention les microsphères thermoplastiques expansées revêtues d’une couche composée de nanoparticules de dioxyde de silicium et/ou de dioxyde de titane, sont dispersées dans la matrice polymère et que la matrice polymère remplit l’intégralité des interstices entre lesdites microsphères.
Les microsphères thermoplastiques expansées revêtues d’une couche de nanoparticules de dioxyde de silicium et/ou de dioxyde de titane présentes dans le matériau selon l’invention, présentent une homogénéité de taille, une homogénéité de densité et une couche de nanoparticules de dioxyde de silicium et/ou de dioxyde de titane homogène et d’épaisseur régulière.
L’homogénéité de taille peut être déterminée par mesure de la diffusion dynamique de la lumière, la densité peut être mesurée par mesure de la densité, l’homogénéité et/ou la régularité de la couche de nanoparticules peut être déterminée par microscopie électronique à balayage.
Dans le cadre de la présente invention, on entend par nanoparticules de dioxyde de silicium, des nanoparticules de formule chimique « SiO2 ». Dans le cadre de la présente invention, on entend par nanoparticules de dioxyde de titane, des nanoparticules de formule chimique « TiO2 ».
Les nanoparticules de dioxyde de silicium mises en œuvre dans le matériau selon l’invention peuvent être synthétisées à l’aide de tout procédé connu de l’art antérieur et permettant d’obtenir des nanoparticules de dioxyde de silicium monocristallines et monodisperses. On peut en particulier faire référence au procédé de synthèse sol-gel par la réaction de Stöber faisant intervenir des molécules d’orthosilicate de tétra éthyle en présence d’éthanol (décrit dans la publication Stöber, Fink, & Bohn, 1968, Controlled Growth of Monodisperse Silica Spheres in the Micron Size Range. JOURNAL OF COLLOID AND INTERFACE SCIENCE, 26, 62-69). Ce procédé permet avantageusement d’obtenir des nanoparticules de dioxyde de silicium monocristallines, monodisperses et ce, de façon parfaitement contrôlée, à faible coût et facilement. On peut également faire référence au procédé de synthèse dit par voie silicates utilisant de la précipitation acide de dioxyde de silicum préalablement dissoute dans la soude.
Les nanoparticules de dioxyde de titane mises en œuvre dans le matériau selon l’invention peuvent être synthétisées à l’aide de tout procédé connu de l’art antérieur et permettant d’obtenir des nanoparticules de dioxyde de titane monocristallines et monodisperses. On peut en particulier faire référence au procédé de synthèse utilisant la thermohydrolyse de l’oxysulfate de titane (décrit dans la publicaction de Rn et al. en 2012, Controllable Synthesis of Mesostructures from TiO2 Hollow to Porous Nanospheres with Superior Rate Performance for Lithium Ion Batteries. Chemical Science, 00, 1-3).
En particulier et de façon avantageuse, la couche composée de nanoparticules de dioxyde de silicium et/ou de dioxyde de titane avec laquelle les microsphères sont revêtues, est une couche étanche aux liquides et en particulier à l’eau, en particulier ladite membrane n’est pas microporeuse. L’étanchéité de la couche de nanoparticules de dioxyde de silicium et/ou de dioxyde de titane permet de conserver les propriétés mécaniques des microsphères et de limiter leur dégradation liée au contact avec l’eau au cours de leur durée d’utilisation.
Dans le cadre de la présente invention, la couche de nanoparticules de dioxyde de silicium et/ou de dioxyde de titane est homogène et d’épaisseur régulière, lesdits paramètres pouvant par exemple être déterminés par microscopie électronique à balayage.
A l’étape suivante E33, le contrôleur Co calcule une consigne de vitesse lorsque la charge entraine le moteur. La consigne de vitesse Vme, lorsque la charge entraine le moteur, est calculée de la manière suivante :
Vme= Vce +a+b(U nom - U mes ) où a et b sont des valeurs définies pour un type de moteur donné.
Il est à remarquer ici que la vitesse de consigne, lorsque la charge entraine le moteur, est supérieure à la vitesse de consigne lorsque le moteur entraine la charge. Par exemple, a = 250 et b=25.
A l’étape suivante E34, le contrôleur Co commande le démarrage du moteur.
A l’étape suivante E35, le contrôleur Co vérifie si la charge entraine le moteur. Dans l’affirmative, le contrôleur Co passe à l’étape E36. Dans la négative, le contrôleur Co passe à l’étape E37.
A l’étape E36, le contrôleur Co applique la consigne de vitesse calculée à l’étape E33 et retourne à l’étape E35.
A l’étape E37, le contrôleur Co applique la consigne de vitesse calculée à l’étape E32 et retourne à l’étape E35.
La illustre schématiquement un procédé de détection d’une situation dans laquelle la charge entraine le moteur.
Dans une première étape E40, le contrôleur Co du moteur se trouve dans le mode dans lequel le moteur entraine la charge. Dans le mode dans lequel le moteur entraine la charge, l’alimentation des bobines du stator est effectuée en tenant compte à chaque instant de la position angulaire du rotor afin d’optimiser l’orientation du champ magnétique induit pour obtenir la rotation du rotor. Autrement dit, chaque configuration est exécutée lors de la rotation du rotor lorsque la position angulaire du rotor se trouve précisément dans un domaine angulaire associé à ladite configuration.
En outre, les bobines sont alimentées avec une tension moyenne d’alimentation de sorte que le rotor tourne à une vitesse à atteindre dite vitesse de consigne Vce. Le moteur est capable à tout instant de déterminer une vitesse réelle Vr du moteur. La vitesse réelle Vr du moteur peut être mesurée à l’aide d’un capteur à effet hall et d’un aimant par exemple placé sur l’axe du moteur. La vitesse réelle Vr est régulée par un asservissement qui a pour rôle d’augmenter, respectivement de diminuer, la tension moyenne d’alimentation lorsque la vitesse réelle Vr est inférieure, respectivement supérieure, à la vitesse de consigne Vce. La tension d’alimentation moyenne peut être modifiée en faisant varier le rapport cyclique du signal MLI.
Dans le mode dans lequel le moteur entraine la charge, le contrôleur Co du moteur cherche à détecter un phénomène de charge entraînante.
Dans une étape E41 suivante, le contrôleur Co détermine si le moteur se trouve dans une phase d’accélération. Par exemple, le contrôleur Co détermine que le moteur se trouve dans une phase d’accélération après qu’un ordre de démarrage ou d’augmentation de la vitesse de consigne Vce est reçu par le moteur, et tant que la phase de régulation n’est pas terminée. Une phase d’accélération se termine lorsqu’une phase de régulation débute, autrement dit au moment où la vitesse réelle Vr du moteur atteint la vitesse de consigne Vce ou lorsqu’un ordre d’arrêt est reçu. Si le moteur se trouve dans une phase d’accélération, une étape E42 est effectuée. Sinon, une étape E43 est effectuée.
A l’étape E42, le contrôleur Co détermine si le rapport de la vitesse réelle Vr du moteur et de la vitesse théorique Vth est supérieur à un premier seuil prédéterminé S1, tel que S1 = 1,2 . Pour cela, le contrôleur Co détermine la vitesse réelle Vr à un instant t présent, par exemple en envoyant un ordre de mesure au capteur à effet Hall. Selon un mode de réalisation, la vitesse réelle Vr est déterminée périodiquement. Chaque nouvelle valeur de la vitesse réelle Vr est ainsi déterminée après écoulement d’un délai prédéterminé d’une durée prédéterminée Δt à compter d’une précédente détermination de la vitesse réelle Vr. Par exemple, la vitesse réelle Vr est déterminée toutes les 100 ms.
En outre, la vitesse théorique Vth est calculée en considérant une progression prédéfinie de la vitesse en fonction du temps entre un instant initial t0 de la phase d’accélération, auquel la vitesse initiale est définie, et un instant final tf de la phase d’accélération auquel la vitesse de consigne Vce est supposée être atteinte. Le contrôleur Co compare ainsi la vitesse réelle Vr, mesurée à l’instant t, à la vitesse théorique Vth calculée à l’instant t-t0.
Selon un exemple de réalisation, la vitesse théorique Vth est augmentée, lors de la phase d’accélération, d’un pas de vitesse prédéterminé à chaque intervalle de temps d’une durée prédéfinie. Par exemple, la vitesse est augmentée de 150 tours/min toutes les 50 ms. Le pas de vitesse prédéterminé peut être calculé en multipliant la vitesse nominale du moteur, définie pour une tension d’alimentation nominale, par exemple à 12V, par un facteur prédéterminé. Par exemple, pour une vitesse nominale de 3000 tours/min à 12 V et un facteur prédéterminé de 5% déterminé de manière empirique au moyen d’essais fonctionnels, le pas de vitesse prédéterminé est de 150 tours/min. Si le rapport de la vitesse réelle Vr sur la vitesse théorique Vth est supérieur au premier seuil prédéterminé, le contrôleur Co considère qu’un phénomène de charge entraînante est détecté et le contrôleur Co passe à l’étape E46. Sinon, le contrôleur Co retourne à l’étape E41.
A l’étape E43, le contrôleur Co vérifie si le moteur se trouve dans une phase de régulation. Par exemple, le contrôleur Co détermine qu’une phase de régulation débute lorsqu’une phase d’accélération précédente se termine, autrement dit au moment où la vitesse réelle Vr atteint la vitesse de consigne Vc après qu’un ordre de démarrage a été reçu par le moteur. Le contrôleur Co considère en outre qu’une phase de régulation reste active tant qu’aucun ordre d’arrêt ou qu’aucun ordre de modification de la vitesse de consigne n’est reçu. Si c’est le cas, une étape E44 est effectuée. Sinon, le moteur retourne à l’étape E40.
Au cours d’une première étape E10, le terminal TRM constate que le signal radio capté de la station de base AMF en cours d’utilisation (station de base courante) s’affaiblit. Le terminal TRM cherche alors une nouvelle station de base disponible ayant un signal radio apte à permettre la continuité de la communication. Le terminal mobile mesure les signaux radio émis par les stations de base situées à proximité puis établit un rapport qu’il transmet à la station de base AMF. Le rapport comprend par exemple les identifiants des stations de bases situées à proximité ainsi que leurs niveaux de signaux radio reçus/mesurés par la station de base AMF. Le niveau de signal peut être, par exemple, relatif à sa puissance, ou à la latence introduite, ou toute autre caractéristique relative à la qualité du signal porteur de la communication.
Le rapport peut aussi comprendre d’autres données comme des jetons, des clés cryptographiques permettant par exemple à la station de base AMF d’authentifier le terminal TRM. Le rapport peut aussi comprendre un identifiant de l’utilisateur qu’il a préalablement renseigné au niveau du terminal TRM via par exemple une interface utilisateur dédiée telle qu’une interface vocale ou graphique. A noter que l’identifiant peut être un IMSI (International Mobile Subscriber Identity) ou un IMEI (International Mobile Equipment Identity).
A noter également que le terminal TRM peut envoyer périodiquement le rapport à destination de la station de base AMF et ce indépendamment du fait que le signal radio capté de la station de base AMF en cours d’utilisation s’affaiblit.
A la réception de la requête (E20), la station de base AMF traite la demande et émet une requête (E21) à destination d’un contrat intelligent ESN1.
A noter que le contrat intelligent a été déployé par la station de base AMF. Ce déploiement est réalisé lors de l’activation de la station de base AMF ou bien à l’initialisation/ allumage / activation du réseau mobile.
La requête est reçue et traitée par le dispositif ESN1 lors de l’étape E31. La station de base AMF reçoit (E22) en retour des données qui comprennent la liste des identifiants des stations de base situées à proximité de la station de base AMF. Ces données sont inscrites dans le contrat intelligent par la station de base AMF, par exemple, à la suite d’une campagne de mesures des signaux radio des stations de bases captées ou bien par le gestionnaire du réseau.
Selon un mode particulier de réalisation de l’invention, les données obtenues par la station de base AMF lors de l’étape E22 comprennent également une ou plusieurs clefs publiques associées aux identifiants des stations de base situées à proximité de la station de base AMF.
A l’étape E22, la station de base AMF compare les identifiants des stations de base reçus du terminal TRM (contenus dans le rapport) et les identifiants des stations de base obtenus depuis le dispositif ESN1. La station de base génère une nouvelle liste qui ne comprend que les identifiants des stations de base contenus à la fois dans les données reçues du terminal TRM et dans les données obtenues depuis le dispositif ESN1. Cette nouvelle liste comprend également les niveaux de signaux radio mesurés par le terminal TRM pour chaque station de base. En d’autres termes, la liste est constituée de couples identifiants d’une station de base / valeurs des niveaux de signaux radio mesurés de la station de base par le terminal TRM.
La création de la nouvelle liste permet de filtrer les stations de base qui sont activées depuis peu, par exemple, par un pirate informatique dans le but de subtiliser des données personnelles de l’utilisateur du terminal TRM. En effet, seuls les identifiants des stations de base connus, soit au démarrage du système /réseau mobile soit ajoutés par un opérateur certifié seront présents dans les données obtenues du dispositif ESN1. Ainsi, une station de base activée à la demande ne sera pas présente dans la nouvelle liste générée par la station de base AMF.
L’identifiant d’une station de base peut être une adresse MAC, une adresse IP, une adresse d’un contrat intelligent inscrit à une chaîne de blocs ou toute donnée apte à identifier de manière unique la station de base.
Lors de l’étape E22, la station de base AMF détermine en fonction des valeurs des niveaux de signaux radio contenues dans la nouvelle liste générée, la station de base cible pour le transfert de la communication. La station de base AMF sélectionne par exemple comme station de base cible la station de base dont les valeurs de signaux radio reçus par le terminal TRM sont les plus forts / élevés.