<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Vers l'amélioration des caractéristiques des réseaux de neurones profonds : une approche de méta-modélisation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Aïcha Choutri</string-name>
          <email>aicha.choutri@univ-constantine2.dz</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Angham Boukhari</string-name>
          <email>anghamboukhari@fsegs.u-sfax.tn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Faiza Belala</string-name>
          <email>faiza.belala@univ-constantine2.dz</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>et Ahmed Hadj Kacem</string-name>
          <email>ahmed.hadjkacem@fsegs.usf.tn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ReDCAD Laboratory, ENIS, University of Sfax</institution>
          ,
          <country country="TN">Tunisia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Université de Constantine 2-Abdelhamid Mehri, Laboratoire LIRE</institution>
          ,
          <addr-line>BP : 67A, Constantine, Algérie</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <abstract>
        <p>Résumé L'apprentissage profond ou Deep Learning (DL) est un type de machine learning géré par des réseaux de neurones dits profonds ou Deep Neural Networks (DNN). Son développement rapide a ouvert de nombreuses opportunités conduisant à des avancées majeures dans plusieurs domaines d'application de l'IA (Intelligence Artificielle). Il a permis d'atteindre des performances record dans beaucoup de tâches, dépassant souvent celles des méthodes traditionnelles. Cependant, il présente également des défis et des questions éthiques dont les raisons sont étroitement liées à la diversification des DNNs existants et des méthodes appliquées à leur configuration architecturale et à leur apprentissage ainsi qu'aux difficultés rencontrés par les spécialistes en science des données dans le processus fastidieux et coûteux d'amélioration de leurs performances. Dans notre travail, nous nous intéressons à l'application des méthodes formelles au DL afin de prendre en charge un certain nombre de ces défis, en relation avec la fiabilité, la sécurité, la robustesse et la transparence des modèles. L'objectif majeur de ce papier est de détailler les résultats de la première étape de notre approche. Il s'agit d'un méta-modèle défini et élaboré selon une technique de l'IDM (Ingénierie Dirigée par les Modèles) qui contribue à la transparence des modèles considérés, les DNNs dans notre cas, leur évolutivité, leur réutilisation et leur compréhension. L'originalité de notre approche réside dans le fait que les modèles soient au centre du processus du DL en général, ce qui permettra d'améliorer en particulier, les performances de ces réseaux ou d'associer naturellement des modèles formels ayant des sémantiques rigoureuses à ce type de réseaux assez complexes dans leur comportement.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        1. Introduction
Cependant, il est important de noter que le développement rapide de DL et implicitement des
DNNs, présente également des défis et des questions éthiques, tels que la nécessité de garantir
la transparence des modèles, de résoudre les problèmes de biais algorithmique et de préserver la
vie privée des individus. Ces défis doivent être pris en compte pour assurer un développement
responsable de cette technologie. En outre, malgré l’existence de nombreux types de DNNs et
malgré leur succès remarquable, les DNNs demeurent dificiles à concevoir et à mettre en oeuvre.
En efet, les modèles DNNs qui conviennent à une application peuvent ne pas convenir à une
autre. De même, les performances des modèles DNNs varient d’une plate-forme matérielle à
l’autre [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Ceci d’une part, d’autre part, les spécialistes en science des données sont confrontés
à la tâche complexe d’évaluer diférents algorithmes d’apprentissage et d’ajuster les paramètres
pour obtenir de meilleures performances. Ce processus manuel est fastidieux, coûteux en termes
de temps et de ressources, et incertain quant à la création de modèles adaptés à des problèmes
spécifiques [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Par ailleurs, l’utilisation croissante des DNN dans une variété d’applications, y
compris certaines critiques pour la sécurité, a suscité un regain d’intérêt pour la question de la
vérification des réseaux de neurones. Cependant, la vérification est plus significative lorsqu’ils
sont exécutés avec des spécifications formelles de haute qualité [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Notre étude aborde cette
problématique et propose comme solution, une approche de modélisation formelle nouvelle des
DNNs afin de prendre en charge l’amélioration de leurs caractéristiques. Nous y exploitons : (1)
les techniques et les outils de l’IDM (Ingénierie dirigée par les Modèles) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] et (2) le langage
formel Maude et ses outils [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Cette approche définie selon un modèle en cascade et représentée
par un diagramme d’activité UML (Unified Modeling language) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], comporte quatre étapes
principales (voir figure 1) et se traduit en fait par un processus automatisable. Chaque étape est
décomposée en plusieurs étapes réalisant les tâches en question. Les résultats fournis (objet
détaché) par l’activité de chacune, sont utilisés par l’activité de l’étape suivante.
Comme chaque étape est un processus en soit, nous ne présenterons dans ce papier que la
première où les modèles sont au centre de DL. Cette étape de méta-modélisation peut simplifier
la maintenance à long terme des DNNs car les modifications peuvent être apportées au niveau
du méta-modèle, évitant ainsi des changements pénibles et répétitifs sur de nombreux
modèles. Cette étape, comme indiquée sur la figure 1, aide à gérer la complexité des DNNs en les
décomposant en éléments plus simples et en établissant des relations claires entre eux. Elle
permet de modéliser non seulement la structure statique des DNNs, mais aussi leur
comportement dynamique. Cela facilite leur simulation et l’analyse de leur dynamique. Le méta-modèle
MM-DNN proposé est d’une grande utilité pour la documentation et l’évolution des DNNs,
notamment lorsque les besoins ou les spécifications changent. De plus, il constitue un premier
pas facilitant le passage vers la définition de modèles formels. Nous montrerons dans un travail
futur comment ce méta modèle servira de base pour associer une spécification Maude exécutable
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] à ce type de réseaux. Evidemment, cette approche formelle à travers toutes ses étapes permet
de garantir la fiabilité et la sécurité des algorithmes d’apprentissage profond, en identifiant et
en corrigeant les erreurs potentielles avant qu’elles ne conduisent à des résultats incorrects
ou indésirables. Cela est particulièrement important dans les domaines critiques. De plus, elle
ofrira un moyen pour spécifier et vérifier formellement des propriétés essentielles des DNNs,
telles que la convergence, la stabilité, l’invariance, l’équité, ou la robustesse.
La suite de ce papier est organisée comme suit : La Section 2 introduit les concepts fondamentaux
des DNNs et de l’IDM sur lesquels repose notre travail. La Section 3 est ensuite consacrée
à la présentation de notre méta-modèle MM-DNN résultat de l’étape 1 de la figure 1.pour la
définition abstraite et générale des DNNs, selon une approche de méta-modélisation dans l’IDM
tout en détaillant la description des diférents sous-modèles. La Section 4 examine les travaux
connexes pour situer le nôtre dans un contexte plus large et souligner sa pertinence. Enfin, la
Section 5 conclut l’article en formulant quelques commentaires et en esquissant les orientations
futures de notre recherche.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Concepts fondamentaux</title>
      <p>
        Dans cette section, nous rappelons les définitions clés des DNNs et de l’IDM en particulier, le
principe de l’Architecture Dirigée par les Modèles connue sous le nom approche MDA (Model
Driven Architechture).
2.1. DNNs
Les DNNs constituent une classe spéciale de réseaux de neurones artificiels, caractérisée par leur
architecture en couches. Un DNN agit comme une fonction mathématique qui mappe certains
ensembles de valeurs d’entrée à des valeurs de sortie. Cette fonction est une composition de
fonctions plus simples, permettant ainsi au réseau de traiter des tâches de plus en plus complexes
grâce à cette hiérarchie de couches de neurones [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Une caractéristique clé des DNNs est leur
capacité à apprendre de manière automatique des représentations significatives à partir des
données d’entraînement.
      </p>
      <sec id="sec-2-1">
        <title>2.1.1. Architectures et types de DNN</title>
        <p>
          DNN est l’association de plusieurs neurones groupés en couches reliées par des connexions
pondérées comme le montre la figure 2 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Son architecture détermine la manière dont les
neurones sont ordonnés et connectés au sein d’un même réseau. En général, un DNN est
composé de plusieurs couches de neurones successives : les entrées (x), les couches cachées (z,
qui ne sont pas accessibles en dehors du réseau) jusqu’à la couche de sortie (y). La "profondeur"
d’un DNN est déterminée par le nombre de ses couches cachées. Une des architectures les plus
basiques est le perceptron multicouches ou DNN à propagation avant (feed-forward) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], qui
transmet l’information de l’entrée à la sortie [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], comme représenté dans la figure 2.
Les DNNs se déclinent en diverses architectures en fonction de leur structure et de leur
fonctionnement. Le tableau 1 présente diférents types de DNN ainsi que leurs principales applications:
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.1.2. Fonctionnement</title>
        <p>Pour la mise en place d’un DNN et avant le lancement de son fonctionnement et de
l’apprentissage, des paramètres essentiels requis tels que le nombre de couches, le nombre
de neurones par couche, les poids des connexions, la fonction d’activation, etc., doivent être
initialisés. Le fonctionnement d’un DNN s’articule autour de la propagation des données, de
l’entrée jusqu’à la sortie. Les neurones de la couche d’entrée reçoivent les données d’entrée
et les transmettent aux neurones de la couche cachée suivante. Les neurones d’une couche
cachée reçoivent les informations soit des neurones d’entrée, soit des autres neurones cachés.
Ils combinent linéairement les sorties de la couche précédente, ajustées par les poids des
liens, puis appliquent la fonction d’activation. Cette dernière (comme la sigmoïde, tanh, ReLU,
etc.), permet de déterminer l’information transmise à la prochaine couche. Les neurones de
la couche de sortie délivrent la sortie finale du réseau après avoir traité les informations des
neurones cachés. Afin de mieux comprendre le fonctionnement des DNN et leur processus
∑︁  ·  +  · 0
)︃
Une fois que la sortie du réseau y est obtenue, l’erreur entre la sortie attendue et la sortie réelle
est calculée à l’aide de la "fonction de coût".</p>
        <p>
          Optimisation du réseau par l’algorithme "Rétropropagation du gradient":
L’apprentissage consiste à calculer le gradient des paramètres de la dernière couche, puis
propager le gradient vers les entrées de la dernière couche (ce qui correspond au gradient
de la sortie de la couche précédente) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] dans le but de la minimisation des erreurs. Ainsi,
le gradient des paramètres de l’avant-dernière couche, puis le gradient de son entrée seront
calculés. Et ainsi de suite, couche à couche, de la dernière à la première. C’est ce qu’on appelle
la rétropropagation du gradient [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. A la fin, les poids et les biais seront mis à jour avec les
relations suivantes :
 =  −
        </p>
        <p>=  −  
d’apprentissage, il est essentiel d’examiner en détail le fonctionnement d’un seul neurone,
comme illustré dans la Figure 3.</p>
        <p>: représente le pas d’apprentissage.</p>
        <sec id="sec-2-2-1">
          <title>2.1. IDM et approche MDA</title>
          <p>
            L’Ingénierie Dirigée par les Modèles (IDM) également connue sous le nom de Model Driven
Engineering (MDE) en anglais, est une forme d’ingénierie générative. Cette approche met
l’accent sur l’utilisation de modèles comme des abstractions simplifiées pour mieux
comprendre les systèmes. Ces modèles sont ensuite transformés en artefacts opérationnels à l’aide
d’algorithmes spécifiques. La création de Langages de Modélisation Spécifiques au Domaine
(DSML) et leur métamodélisation sont des éléments essentiels dans cette approche [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ].
          </p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>2.1.1. Notions de modèle et méta-modèle</title>
        <p>Un modèle est une représentation simplifiée d’un système, conçue dans un but précis. Il doit
permettre de répondre à des questions concernant le système qu’il décrit.</p>
        <p>
          Les modèles servent d’entrées à des algorithmes de transformation qui génèrent des artefacts.
La notion centrale de l’IDM est donc le modèle. La première relation majeure de l’IDM, entre
le modèle et le système qu’il représente, « représentationDe », nommée dans [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] par  et
représentée sur la Figure 4. Bien que définir ce qu’est un bon modèle reste une tâche complexe.
il est tout de même évident qu’un bon modèle doit être une abstraction pertinente du système
(1)
(2)
(3)
réel, tout en étant sufisamment précis pour répondre à certaines questions à la place du système
lui-même. Autrement dit, le modèle devrait fournir des réponses qui reflètent fidèlement celles
du système qu’il représente. Dans l’IDM, le concept de modèle fait explicitement référence à
un langage clairement défini. Pour qu’un modèle soit utile, il doit être interprétable par une
machine. Le langage dans lequel ce modèle est formulé doit donc être précisément défini. Ainsi,
naturellement, la définition d’un langage de modélisation a pris la forme d’un modèle, que
l’on appelle métamodèle. Ce concept a mené à l’identification de la seconde relation, liant le
modèle au métamodèle, appelée « conformeA », et nommée dans [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] par  et représentée sur la
Figure 4.
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>2.1.2. Approche MDA</title>
        <p>
          MDA est une méthode au coeur de l’IDM. Proposée par l’OMG (Object Management Group) en
2000, elle met l’accent sur la séparation des préoccupations, permettant d’aborder distinctement
les aspects métiers et techniques d’une application à travers la modélisation. Elle automatise la
génération de code à partir de modèles analytiques et conceptuels [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Les modèles ne sont
plus seulement un élément visuel ou de communication, mais sont, dans l’approche MDA, un
élément productif et le pivot du processus MDA. L’architecture MDA (figure 5) possède une
structure pyramidale composée de quatre niveaux : le monde réel (M0), les modèles du système
(M1), les métamodèles (M2) et le métamétamodèle (M3) [
          <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Contribution</title>
      <p>Dans l’Introduction du papier, nous avons bien expliqué que dans le contexte de l’avancée
rapide de DL qui s’avère être un levier dans de multiples secteurs, la nécessité d’une approche
systématique pour le développement de cette technologie devient de plus en plus nécessaire.
L’IDM, spécifiquement dans sa forme MDA, fournit une réponse à ce défi. En efet, elle permet de
créer des modèles initialement d’analyse puis de conception qui deviennent du code exécutable
via des transformations, dérivations et enrichissements successifs. Ces règles de transformation
sont définies en utilisant un langage de transformation QVT(«Query/View/Transformation»)
qui est un langage déclaratif standardisé par l’OMG [19]. L’alliance de l’IDM avec le DL
permettrait alors des développements plus rapides, robustes et maintenables. Dans cette section,
nous présentons et expliquons les résultats de cette fusion qui correspond à l’étape 1 de notre
approche de modélisation formelle et amélioration des DNNs (figure 1), en proposant un
métamodèle MM-DNN. Ce dernier est en fait, une nouvelle définition des DNNs de manière abstraite
et générale mais concise et complète. En outre, il capitalise sur les atouts de l’IDM et de ce fait,
il a l’avantage de renforcer la compréhension et la réutilisation des composants DNN, tout en
ofrant une extensibilité optimale.</p>
      <sec id="sec-3-1">
        <title>3.1. Principe général</title>
        <p>Le principe général de notre contribution repose sur la considération des DNNs comme des
systèmes ayant une architecture logicielle en distinguant bien une structure et un comportement
modélisables dans l’IDM tout en tenant compte des caractéristiques spécifiques de ce type de
réseaux. Le concept de DNN est l’élément clé de cette perspective. L’idée principale est de définir
un langage commun en terme de méta-modèle MM-DNN (figure 6) dans lequel tous les types de
DNN peuvent être définis, manipulés et transformés facilement dans ‘d’autres langages dans un
but donné. En utilisant comme outils, le langage ECORE [20] et l’IDE Eclipse, l’élaboration de
MM-DNN consiste donc à distinguer deux sous-modèles complémentaires : SM-Structurel pour
modéliser les éléments architecturaux de base de la structure hiérarchique (couches, neurones
et liens) et la topologie de leurs connexions ; SM-Comportemental englobant tous les aspects
liés au fonctionnement d’un DNN (Initialisation de paramètres, Traitement + Propagation
des données et Apprentissage). Comme le montre la figure 6, les éléments de modélisation
utilisés dans MM-DNN sont principalement: les Méta-classes et les relations (spécialisations,
associations et compositions). Les cardinalités des associations et des compositions traduisent
des règles de configuration d’un DNN. Rappelons que MM-DNN est élaboré conformément à la
définition informelle de la structure hiérarchique et du comportement d’un DNN avec toutes
ses caractéristiques clés.
- Les Méta-classes incarnent les éléments clés des DNNs. Pour simplifier notre interprétation du
méta-modèle, nous réduirons le terme « méta-classe » à « classe » dans la suite de cette section.
- Les spécialisations permettent de spécifier par une relation d’héritage, les diférents sous-types
possibles d’un élément donné en termes de sous-classes de la classe définie pour cet élément.
- Les associations sont des relations binaires entre des éléments du DNN et modélisés par des
classes.
- Les compositions sont des associations fortes qui servent à définir les éléments composant
physiquement un autre élément du DNN en spécifiant leur nombre par une cardinalité.
La classe DNN (colorée en violet) est le noyau de MM-DNN. Ses sous-classes FeedForward,
RNN, CNN, Autoencodeur, GAN, DBN, et RBM modélisent les diférents types de DNN qui bien
évidemment partagent les caractéristiques clés de DNN.</p>
        <p>Characteristic
Le SM-Structurel est la partie du MM-DNN colorée en bleu. Nous y identifions les trois types
d’éléments de base composant DNN, les catégories de chaque type d’élément et leurs connexions.
Une instance de DNN (i.e. un modèle de DNN donné) qui peut être d’un type donné i.e. appartient
à la sous-classe associée (FeedForward ou RNN, etc.), se compose d’une seule instance de
InputLayer (i.e. une seule couche d’entrée), d’une ou plusieurs instance(s) de HiddenLayer(i.e.
Une ou plusieurs couches cachées ) et d’une seule instance de OutputLayer (i.e. une seule
couche de sortie). Ces instances sont reliées de manière hiérarchique via (1) des instances
des sous-classes InputNeuron, HiddenNeuron et outputNeuron de la classe Neuron et (2) des
instances des sous-classes IHLink, HHLink et HOLink. de la classe Link selon une topologie de
connexion décrite dans la sous-section 3.2.2.</p>
        <sec id="sec-3-1-1">
          <title>3.2.1. Eléments de base</title>
          <p>Les trois types d’éléments de base Couche, Neurone et Lien sont modélisés respectivement par
les classes Layer, Neuron et Link.</p>
          <p>La classe Layer a comme attribut nblayer, le numéro de couche. Elle est spécialisée par trois
sous-classes InputLayer, HiddenLayer et OutputLayer qui modélisent respectivement les
trois catégories couche d’entrée, couche cachée et couche de sortie de l’élément Couche.
La classe Neuron incarne les unités de calcul individuelles au sein d’une couche : la valeur
d’activation actuelle (attribut x), le seuil sur lequel cette valeur est basée (attribut t) et l’état
(attribut st) qui sera utilisé pour déterminer si le neurone a déjà été activé ou non. Ses trois
sous-classes InputNeuron, HiddenNeuron et OutputNeuron modélisent respectivement les
trois catégories (neurone de la couche d’entrée, neurone d’une couche cachée et neurone de la
couche de sortie).</p>
          <p>La classe Link représente les connexions entre les neurones de diférentes couches. Chaque lien
(instance de Link) stocke son poids numérique (attribut Weight) et contient une valeur (attribut
st) pour indiquer si une valeur a déjà traversé le lien ou non. Toute instance d’une sous-classe
de Layer (InputLayer ou HiddenLayer ou OutputLayer) se compose respectivement d’une ou
de plusieurs instance(s) de la sous-classe InputNeuron ou HiddenNeuron ou OutputNeuron).
Les trois sous-classes IHLink, HHLink et HOLink modélisent respectivement les liens entre
neurone d’entrée et neurone de la première couche cachée, neurone d’une couche cachée et
neurone de la couche cachée suivante dans la hiérarchie, neurone de la dernière couche cachée
et neurone de la couche de sortie.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>3.2.2. Topologie de connexion</title>
          <p>La topologie de connexion est modélisée par les associations entre les diférentes sous-classes
de Neuron ainsi que leurs cardinalités respectives. Les règles qui la régissent selon la
structure hiérarchique de DNN sont méticuleusement considérées dans MM-DNN et facilement
déductibles à partir d’une interprétation correcte du SM-Structurel : Chaque instance de
InputNeuron composant une instance de InputLayer est connectée à chaque instance de
HiddenNeuron composant l’instance de HiddenLayer dont nblayer correpond à la première couche cachée,
via une instance de IHLink. Chaque instance de HiddenNeuron composant une instance de
HiddenLayer est connectée :
- soit à chaque instance de HiddenNeuron composant l’instance suivante de HiddenLayer via
une instance de HHLink ;
- soit, s’il s’agit de la dernière couche cachée, à chaque instance de OutputNeuron composant
l’instance de OutputLayer via une instance de HOLink.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.3. Description du SM-Comportemental</title>
        <p>Ce Sous-modèle du MM-DNN, comme nous le constatons clairement dans la figure 6, comporte
trois parties, décrites ci-après, définissant le comportement dynamique des DNN. Cette
soussection le décrit en soulignant comment MM-DNN supporte la modélisation de l’initialisation
de paramètres requis, du traitement des données avec leur propagation et l’apprentissage.</p>
        <sec id="sec-3-2-1">
          <title>3.3.1. Modélisation de l’initialisation</title>
          <p>La classe Initialisation (colorée en vert) considérée, grâce à une relation de composition, comme
une composante de la classe DL mais indirectement reliée à la classe DNN pour supporter la
procédure d’initialisation des diférents paramètres nécessaires (voir attributs de la classe) allant
de l’assignation des poids initiaux, à la structuration des diférentes couches comprenant le
nombre de couches, la valeur d’activation actuelle (attribut x), le seuil sur lequel cette valeur
est basée (attribut t) et l’état (attribut st), les fonctions d’activation (telles que ReLU, sigmoid,
tanh, etc.), et à la préparation optimale du réseau pour son fonctionnement ; en particulier son
apprentissage.</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>3.3.2. Modélisation du traitement et de la propagation des données</title>
          <p>Le fonctionnement d’un réseau de neurones s’articule autour de la propagation des données
traitées de l’entrée jusqu’à la sortie. Etant à un haut niveau d’abstraction, cette tâche est
supportée dans MM-DNN par les diférentes sous-classes de Neuron ( InputNeuron,
HiddenNeuron et OutputNeuron), les diférentes relations d’association définies dans le sous-modèle
structurel de MM-DNN et la classe ActivationFunction (colorée en rose). Les détails du
fonctionnement qui en réalité est un processus, ne peuvent pas à notre sens, être à ce niveau.
C’est plutôt à un niveau plus bas (niveau modèle) que l’on pourrait le faire avec un diagramme
UML de comportement notamment le diagramme d’activité.</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>3.3.3. Modélisation de l’apprentissage</title>
          <p>Pour la définition abstraite de l’apprentissage dans MM-DNN, nous avons proposé l’association
de la classe DL (colorée en gris) à la classe DNN avec la cardinalité [1..1] pour les deux extrémités.
Pour entraîner un modèle de DNN, plusieurs étapes sont nécessaires :
- L’initialisation du modèle est l’étape primordiale ; raison pour laquelle nous avons défini
la classe Initialisation comme une composante de la classe DL. Sa coloration en vert
s’explique par le fait qu’elle contribue non seulement à la modélisation de l’Initialisation
du DNN, mais aussi à la modélisation de l’apprentissage.
- Ensuite, la préparation de données est indispensable pour lancer les processus de
fonctionnement et d’apprentissage. Cette étape est supportée par la classe Dataset (colorée
en gris) comme deuxième composante de la classe DL avec la cardinalité [1..1]. Comme
les données peuvent avoir diférents formats (textes, chifres, images, vidéos, etc.) et des
caractéristiques spécifiques, nous avons défini une autre classe appelée Characteristic
(colorée en gris aussi) comme composante de la classe Dataset avec la cardinalité [1..*].
Comme pour le cas du processus de traitement et propagation des données, les détails de
l’apprentissage ne peuvent être décrits qu’au niveau modèle avec UML de comportement tel
que le diagramme d’activité.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.4. Illustration</title>
        <p>Faute de limitation du nombre de pages, notre illustration consiste à considérer le sous-modèle
structurel de MM-DNN pour donner un exemple de son instanciation en proposant un modèle
de DNN de type Feesdforward et un exemple concret d’instance de ce modèle. A travers ces
deux exemples représentés dans la figure 7 :</p>
        <p>(1) Nous adaptons l’approche MDA en respectant sa structure en focalisant sur les niveaux
de modélisation M2, M1 et M0. A ces niveaux, nous plaçons respectivement, le SM-Structurel
de MM-DNN, le modèle-Feedforward-DNN sous forme d’un diagramme de classes UML et
l’exemple concret de DNN sous une forme graphique, correspondant en fait à un diagramme
d’objets, pour refléter la représentation (des ANNs) communément utilisée dans l.a littérature.</p>
        <p>(2) Nous identifions explicitement la conformance entre les éléments des diférents niveaux.
Cette conformance est représentée par des flèches reliant les éléments d’un niveau ( , 0 ≤  ≤ 1)
avec les éléments du niveau  + 1 dont ils sont des instances.</p>
        <p>En observant la Figure 7, nous voyons bien que :
• Le modèle-Feedforward-DNN au niveau M1 modélisant l’architecture des DNNs de type
Feedforward telle que décrite dans la première ligne du tableau1 et il est bien conforme
au SM-structurel (niveau M2).
• Le DNN au niveau M0, défini conformément au modèle-Feedforward-DNN, se compose
d’une couche d’entrée composée de 3 neurones d’entrée, de deux couches cachées
composée chacune de 4 neurones cachées et d’une couche de sortie composée de 1 neurone
de sortie.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Travaux Connexes</title>
      <p>
        L’avènement des DNNs a conduit à une amélioration spectaculaire de l’eficacité et de l’eficience
des algorithmes dans la résolution de problèmes complexes dans divers domaines d’application,
allant des technologies de l’information à la biologie computationnelle. Toutefois, la conception
et la mise en oeuvre de ces réseaux demeurent complexes et exigent des connaissances
spécialisées. Simplifier cette tâche et maîtriser particulièrement sa complexité tout en garantissant
l’amélioration des performances est donc d’une grande nécessité. Une solution préconisée est
l’abstraction en se basant sur la notion de modèles (formels) faciles à traiter automatiquement
et l’IDM en est le meilleur cadre. Dans la littérature, il n’y a pas beaucoup de travaux dans ce
contexte. Dans cette section, nous identifions et discutons uniquement deux travaux majeurs,
ceux de Thomas Hartmann et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] et de Lechevalier et al. [21], par rapport auxquels nous
essayons de situer notre contribution. Les auteurs du premier article, ont conçu un méta-modèle
pour l’apprentissage automatique qui sert de solution à un problème de recherche, approximant
une fonction de mapping sous-jacente inconnue d’entrées à des sorties. Leur travail se concentre
sur l’objectif, l’algorithme d’apprentissage, l’optimiseur et les métadonnées de l’ensemble de
données. Leur approche abstraite permet une application à divers algorithmes d’apprentissage
automatique, tels que les réseaux de neurones, le gradient boosting et la régression linéaire.
Toutefois, leur approche demeure générale et ne traite pas en détail des spécificités de DNN. De
plus, ils n’abordent pas explicitement certains éléments clés des DNNs, tels que la topologie,
l’apprentissage et le fonctionnement, qui sont essentiels pour comprendre et optimiser ces
systèmes. Dans le second article, les auteurs ont proposé un méta-modèle de réseau de neurones
pour une application de fabrication additive où la représentation et la compréhension de tel
réseau sont cruciales pour optimiser les processus de production. Leur travail a introduit le
concept d’un "modèle méta-neuronal" (Neural Network Meta-Model, NNMM), une méthode
pour représenter divers types de réseaux de neurones dans l’Environnement de Modélisation
Générique (Generic Modeling Environment, GME). Bien que leur étude ofre une représentation
valable pour les réseaux de neurones feedforward (FNN), ils mentionnent l’inclusion des réseaux
de neurones récurrents (RNNs) comme une étape future pour la représentation de tous les
types de réseaux de neurones. Cependant, leur approche, bien qu’utile pour comprendre la
représentation des diférents types de réseaux de neurones, ne se concentre pas spécifiquement
sur les DNNs qui sont l’objectif central de notre travail. De plus, leur méta-modèle, bien qu’il
mette l’accent sur la facilité d’utilisation et de compréhension, ne traite pas en profondeur
de la complexité inhérente aux DNNs. Nous déduisons donc que les propos des deux travaux
ainsi présentés et argumentés partagent l’idée d’adopter la méta-modélisation pour simplifier
l’utilisation des réseaux de neurones en général mais sans couvrir explicitement des éléments et
des caractéristiques spécifiques aux DNNs, Dans un contexte similaire, notre travail propose
aussi un méta-modèle mais spécifiquement adapté aux DNNs, en tenant compte des spécificités à
la fois de leur topologie, de leur apprentissage et de leur fonctionnement. Le tableau 2 récapitule
cette comparaison et montre clairement la particularité de notre propos présenté dans ce papier.
Nous espérons que notre travail contribuera à optimiser l’exploitation du potentiel immense
des DNNs dans divers domaines d’application.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion et Perspectives</title>
      <p>
        Notre étude du DL, et plus spécifiquement des DNNs, nous a permis de recenser certains défis
associés généralement à leur conception et à leur mise en oeuvre ou encore à leur exploitation, et
de confirmer que le succès ou l’échec de cette technologie en plein essor dépend principalement
des méthodes appliquées à la configuration architecturale des DNNs. Nous avons donc déduit
que les DNNs nécessitent un développement systématique, basé sur l’abstraction, à un haut
niveau, dans une première étape ; puis, l’utilisation de méthodes formelles tout en supportant
toutes leurs caractéristiques structurelles et comportementales. Cette exigence est en fait une
solution prometteuse pour maîtriser leur complexité en croissance continue, et faciliter leur
conception. Le résultat de cette abstraction devra en conséquence, garantir une mise en oeuvre de
hautes performances et une exploitation aisée, non fastidieuse et à moindre coût. A la lumière de
cette déduction, nous avons alors établi l’objectif de notre contribution présentée dans ce papier,
dans le même contexte. C’est la réalisation de la première étape d’une approche de modélisation
Focus sur les DNN
Modélisation de la topologie
Fonctionnement et Apprentissage
Algorithmes d’apprentissage automatique
Application spécifique
Objectif majeur
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
✗
✗
✗
✓
✗
Concevoir un
méta-modèle
pour l’apprentissage
automatique
afin de simplifier
la solution
à des problèmes
de recherche,
avec un focus
sur l’optimisation
des algorithmes
d’apprentissage
et des métadonnées
de l’ensemble
de données.
      </p>
      <p>[21]
✗
✗
✗
✗
—</p>
      <p>Notre Méta-modèle
✓
✓
✓
✓
—
Créer un
méta-modèle Développer
de réseaux une nouvelle
de neurones approche
pour une de modélisation
application des DNNs
spécifique afin de prendre
dans le domaine en charge
de la fabrication, l’amélioration
avec un focus de leurs
sur les réseaux caractéristiques.
feedforward.
formelle des DNNs pour l’amélioration de leurs caractéristiques en utilisant la technique de
méta-modélisation de l’IDM selon son approche MDA. Le fruit de notre travail est la proposition
du Méta-Modèle MM-DNN comme nouvelle définition (formelle) des DNNs. Comparé à d’autres
méta-modèles de réseaux de neurones proposés dans des travaux antérieurs et dont la perspective
est soit trop générale, soit trop limitée, MM-DNN se distingue par sa spécificité exclusive pour
les DNNs couvrant à la fois structure et comportement (Fonctionnement + apprentissage). Outre
cette définition abstraite concise et complète des DNNs, MM-DNN à l’avantage d’être extensible
et facile à devenir automatiquement du code exécutable ou à transcrire dans d’autres langages
plus formels, tel que Maude, dotés d’outils performants d’analyse et de vérification. Aussi,
MMDNN se concentre sur les particularités des DNNs tout en maintenant la flexibilité nécessaire pour
s’adapter à une multitude d’applications. En outre, notre attention à la complexité inhérente des
DNNs, permet une compréhension plus approfondie et nuancée, essentielle pour les chercheurs
et les praticiens du domaine. Cependant, comme tout travail de recherche, le nôtre n’est pas
exempt de limitations. Bien que notre méta-modèle ait été conçu avec une attention particulière
à la pratique et aux défis courants des DNNs, il n’a pas encore été mis en oeuvre dans des
applications concrètes. Cela ouvre la porte à de futures recherches et améliorations. Dans les
perspectives futures, nous envisageons de le tester dans des scénarios d’application réels pour
évaluer sa robustesse et son eficacité puis l’utiliser comme point de départ pour poursuivre la
réalisation de notre approche de modélisation formelle et amélioration des DNNs Dans un autre
volet de recherche, MM-DNN pourra facilement être considéré comme une syntaxe abstraite
d’un langage de modélisation spécifique aux DNNs i.e. un DMSL. De plus, à mesure que le
domaine des DNNs évolue, notre MM-DNN pourrait nécessiter des mises à jour pour intégrer les
dernières avancées et techniques. En conclusion, notre travail représente une étape importante
dans la quête d’une meilleure compréhension, conception et mise en oeuvre des DNNs. Nous
espérons que notre méta-modèle servira de base solide pour de futures recherches et applications
dans ce domaine passionnant.</p>
    </sec>
    <sec id="sec-6">
      <title>Remerciements</title>
      <p>Ce travail a été partiellement soutenu par le projet LABEX-TA MeFoGL : "Méthodes Formelles
pour le Génie Logiciel".</p>
      <p>Références
[19] ObjectManagementGroup, MetaObjectFacility(MOF)2.0, Technicalreport, 2009. URL: http:
//www.omg.org/spec/QVT/1.1/Beta2/.
[20] F. Budinsky, Eclipse modeling framework: a developer’s guide, Addison-Wesley
Professional, 2004.
[21] D. Lechevalier, S. Hudak, R. Ak, Y. T. Lee, S. Foufou, A neural network meta-model and its
application for manufacturing, in: 2015 IEEE International Conference on Big Data (Big
Data), IEEE, 2015, pp. 1428–1435.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Chaber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ławryńczuk</surname>
          </string-name>
          ,
          <article-title>Pruning of recurrent neural models: an optimal brain damage approach</article-title>
          ,
          <source>Nonlinear Dynamics</source>
          <volume>92</volume>
          (
          <year>2018</year>
          )
          <fpage>763</fpage>
          -
          <lpage>780</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Hartmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Moawad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schockaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fouquet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Le Traon</surname>
          </string-name>
          ,
          <article-title>Meta-modelling metalearning</article-title>
          ,
          <source>in: 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>300</fpage>
          -
          <lpage>305</lpage>
          . doi:
          <volume>10</volume>
          .1109/MODELS.
          <year>2019</year>
          .
          <volume>00014</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Seshia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Desai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dreossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Fremont</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ghosh</surname>
          </string-name>
          , E. Kim,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shivakumar</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. VazquezChanlatte</surname>
          </string-name>
          , X. Yue,
          <article-title>Formal specification for deep neural networks</article-title>
          ,
          <source>in: Automated Technology for Verification and Analysis: 16th International Symposium, ATVA</source>
          <year>2018</year>
          , Los Angeles, CA, USA, October 7-
          <issue>10</issue>
          ,
          <year>2018</year>
          , Proceedings 16, Springer,
          <year>2018</year>
          , pp.
          <fpage>20</fpage>
          -
          <lpage>34</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          , et al.,
          <article-title>Model-driven engineering</article-title>
          , Computer-IEEE Computer Society-
          <volume>39</volume>
          (
          <year>2006</year>
          )
          <fpage>25</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Clavel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Eker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lincoln</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          , Principles of maude,
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>4</volume>
          (
          <year>1996</year>
          )
          <fpage>65</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Seidl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Scholz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Huemer</surname>
          </string-name>
          , G. Kappel,
          <string-name>
            <given-names>M.</given-names>
            <surname>Seidl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Scholz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Huemer</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. Kappel,</surname>
          </string-name>
          <article-title>The activity diagram, UML@ Classroom: An Introduction to Object-Oriented Modeling (</article-title>
          <year>2015</year>
          )
          <fpage>141</fpage>
          -
          <lpage>166</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>I.</given-names>
            <surname>Goodfellow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bengio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Courville</surname>
          </string-name>
          , Deep Learning, MIT Press,
          <year>2016</year>
          . http://www. deeplearningbook.org.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Simonnet</surname>
          </string-name>
          , Réseaux de neurones profonds appliqués à la compréhension de la parole,
          <source>Ph.D. thesis</source>
          , Le Mans Université,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Minsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Papert</surname>
          </string-name>
          ,
          <year>1990</year>
          . perceptrons: An introduction to computational geometry,
          <year>1969</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>P. H.</given-names>
            <surname>Truong</surname>
          </string-name>
          ,
          <article-title>Optimisation des performances de la machine synchrone à réluctance variable: approches par la conception et par la commande</article-title>
          ,
          <source>Ph.D. thesis, Mulhouse</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>H. M. SEKKIL</surname>
            ,
            <given-names>M. MEBROUKI</given-names>
          </string-name>
          ,
          <article-title>Etude comparative entre les diférentes architectures des réseaux de neurones convolutifs (CNNs) pour la détection de la fatigue du conducteur</article-title>
          .,
          <source>Ph.D. thesis</source>
          , Directeur: Melle. Imane NEDAJR/
          <string-name>
            <surname>Co-Directeur: M. MEGNAFI Hichem</surname>
          </string-name>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>OpenClassrooms</surname>
          </string-name>
          , Explorez les réseaux de neurones en couches,
          <year>2021</year>
          . URL: https://openclassrooms.com/fr/courses/5801891-initiez
          <article-title>-vous-au-deep-learning/ 5814616-explorez-les-reseaux-de-neurones-en-couches.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Baamara</surname>
          </string-name>
          ,
          <article-title>Classification des arythmies cardiaquesen utilisantles réseaux de neurones profonds</article-title>
          ,
          <source>Ph.D. thesis</source>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bézivin</surname>
          </string-name>
          ,
          <article-title>On the unification power of models</article-title>
          ,
          <source>Softw Syst Model</source>
          <volume>4</volume>
          (
          <year>2005</year>
          )
          <fpage>171</fpage>
          -
          <lpage>188</lpage>
          . URL: http://link.springer.
          <source>com/10.1007/s10270-005-0079-0</source>
          . doi:
          <volume>10</volume>
          .1007/ s10270-005-0079-0.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bézivin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Blay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bouzhegoub</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Estublier</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Favre</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gérard</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          <string-name>
            <surname>Jézéquel</surname>
          </string-name>
          , Rapport de synthèse de l'
          <article-title>as cnrs sur le mda (model driven architecture)</article-title>
          , CNRS, novembre
          <volume>21</volume>
          (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Gaouar</surname>
          </string-name>
          ,
          <article-title>Généralités sur l'approche MDA, Developpez</article-title>
          .com (
          <year>2013</year>
          ). URL: https://laine. developpez.com/tutoriels/alm/mda/generalites-approche-mda/.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>MDA</surname>
          </string-name>
          ,
          <string-name>
            <surname>Model Driven Architecture (MDA) - Projet de fin d</surname>
          </string-name>
          <article-title>'etudes, Rapport-gratuit</article-title>
          .com,
          <year>2019</year>
          . URL: https://www.rapport
          <article-title>-gratuit.com/model-driven-architecture-mda/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>B.</given-names>
            <surname>Combemale</surname>
          </string-name>
          ,
          <article-title>Ingénierie dirigée par les modèles (idm)-état de l'art (</article-title>
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>