# Intérêt de l'intégration de la phylogénèse dans la génèse d'une entité neurogénétique numérique

Jean-Patrice Glafkides

► To cite this version:

Jean-Patrice Glafkides. Intérêt de l'intégration de la phylogénèse dans la génèse d'une entité neu-
rogénétique numérique. Informatique [cs]. Paris VIII - Vincennes à Saint-Denis, 2023. Français.

NNT: . tel-04441792

HAL Id: tel-04441792

https://hal.science/tel-04441792

Submitted on 6 Feb 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
THESE

Pour obtenir le grade de

DOCTEUR DE L'UNIVERSITÉ PARIS VIII

Discipline : INFORMATIQUE

Présentée et soutenue par

GLAFKIDES Jean-Patrice

Le 7/12/2023

INTERET DE L'INTEGRATION DE LA PHYLOGENESE DANS LA
GENESE D'UNE ENTITE NEUROGENETIQUE NUMERIQUE

Directeur de thèse : Herman AKDAG

JURY :

<table><tr><td>Mme Hajer BAAZAOUI</td><td>Professeure des Universités<br>Université de Cergy Pontoise</td><td>Rapporteur</td></tr><tr><td>M. Cyril DE RUNZ</td><td>MCF HDR<br>Université de Tours</td><td>Rapporteur</td></tr><tr><td>Mme Lynda SEDDIKI</td><td>MCF<br>Université Paris 8</td><td>Examinatrice</td></tr><tr><td>Mme Caroline CHOPINAUD</td><td>PhD, Intelligence Artificielle<br>Hub France IA</td><td>Examinatrice</td></tr><tr><td>Mme Anissa MOKRAOUI</td><td>Professeure des universités<br>Laboratoire de Traitement et Transport de l'Information (L2TI)</td><td>Examinatrice</td></tr><tr><td>M. Arab ALI CHERIF</td><td>Professeur des Universités<br>Université Paris 8, France</td><td>Examineur</td></tr></table>
<figure><img src="image_2.png" /></figure>
REMERCIEMENTS

J'aimerai tout d'abord remercier l'ensemble des membres de mon jury pour avoir accepté d'évaluer cette thèse.

Mme Hajer BAAZAOUI, M. Cyril DE RUNZ pour avoir accepté d'en être rapporteur, ainsi que Mme Lynda SEDDIKI, Mme Anissa MOKRAOUI, Mme Caroline CHOPINAUD et M. Arab ALI CHERIF, pour avoir accepté d'examiner ce mémoire.

Je tiens à remercier mon directeur de thèse M. Herman AKDAG pour la confiance qu'il m'a accordée en acceptant de diriger mes travaux de recherche contre vents et marées.

J'aimerais également les remercier pour leur disponibilité, écoute, respect, encouragement et compréhension.

C'est à M. Gene I. SHER et au travers de lui, à l'entreprise Datavaloris que je témoigne ma gratitude la plus profonde pour les longues heures d'encadrement qu'il m'a consacré, sa patience, et ses conseils précieux.

J'adresse également mes remerciements aux chercheurs et personnels du LIASD puis du laboratoire PARAGRAPHE pour l'accueil et les conditions de travail privilégiées ainsi que pour les séminaires de recherche qui furent pour moi un moyen d'élargir mes connaissances scientifiques. Une pensée particulière pour Mme Rakia JAZIRI.

Ces remerciements ne peuvent se conclure sans exprimer ma gratitude aux membres de ma famille pour leur soutien quotidien, leurs encouragements récurrents, et leur croyance en moi et en mes capacités et surtout leur patience.

Enfin, mes remerciements les plus chaleureux et ma reconnaissance la plus sincère vont à mon épouse qui fut pour moi une raison de me battre et réussir. Merci pour ton soutien continu, pour tes encouragements et tes coups de gueule. Je te remercie aussi pour avoir accepté de sacrifier de ton quotidien pour m'accompagner dans la réalisation de mes rêves.

Je remercie Monsieur Khaldoun ZREIK, directeur du laboratoire de Recherche PARAGRAPHE.

Pour finir je remercie les personnes qui ont reliu ce mémoire de thèse, à savoir Caroline WOLFF, Solange BELKHAYAT-FUCHS, Sarah PEETERS, Alain MELLER, Gabriel ROBERT, Cédric PEINTURIER, Jean-Christophe GAY, Miguel MEMBRADO...
# RESUME DE THESE

Les réseaux de neurones artificiels sont entraînés en imitant la plasticité synaptique biologique, mais ces algorithmes ont des limites : une méthode de construction des modèles d'IA considérée comme trop empirique, des problèmes d'apprentissage liés à la propagation d'erreurs lorsque la topologie devient complexe ou encore l'affectation au départ de poids aléatoires. Pour tenter d'améliorer ces modes d'apprentissage, une nouvelle méthode appelée Phylogenetic Replay Learning (PRL) est présentée dans cette thèse. L'objectif est d'en évaluer l'efficacité d'apprentissage en utilisant un algorithme de planification génétique de l'évolution de la topologie lors de l'apprentissage.

Les expériences démontrent que l'approche phylogénétique, PRL, est capable de produire un modèle plus performant qu'avec la méthode classique dite DDL. Second point, l'entropie de Shannon des poids des modèles générés par la PRL montre que les couches contiennent une meilleure répartition statistique des informations que lorsqu'un modèle est entraîné avec DDL.

Les différentes étapes constituant la recherche :

1. Évaluation de la méthode "phylogenetic replay learning", PRL : en s'appuyant sur le chemin évolutif (préalablement enregistré) d'un modèle initial vers un modèle final appelé Champion, on réentraîne le modèle initial X fois en suivant le même chemin phylogénétique enregistré et on vérifie, pour les X clones du modèle Champion obtenus, la bonne cohérence des résultats et obtenir les métriques d'apprentissage.

2. Évaluation de la méthode d'apprentissage directe (classique), DDL : en partant du modèle Champion trouvé précédemment (réinitialisé avec des poids aléatoires), on le réentraîne X fois avec la méthode DDL. On obtient X nouvelles versions du modèle Champion dont on enregistre les résultats d'apprentissage.

3. Comparaison des résultats obtenus via les deux méthodes. S'il y a une différence, on identifie laquelle et on en recherche la ou les raison(s).

4. Tests de transférabilité : on valide les précédentes expériences en utilisant de nouveaux jeux de données. Le modèle initial est de nouveau entraîné et évalué avec un nouveau jeu de données en suivant le même chemin évolutif enregistré précédemment (méthode PRL). On lance le réapprentissage du modèle Champion en suivant la méthode DDL.

5. Tests de reproductibilité : on refait les 4 premières étapes en partant d'un nouveau modèle initial, d'un nouveau chemin phylogénétique et donc d'un nouveau Champion. Évaluation de l'efficacité de la PRL dans des contextes différents.

Mots clés : Neural Networks, Neuroevolution, Phylogenetic Replay Learning, Deep learning, Vanishing gradient.
# THESIS SUMMARY

## Interest of using phylogenesis in building digital neuro-genetic neural networks entity

Artificial neural networks are trained by imitating biological synaptic plasticity, but these algorithms have limitations: a topology construction method deemed too empirical, error propagation issues when the topology becomes complex, or the initial assignment of random weights. To improve these learning methods, a new method called Phylogenetic Replay Learning (PRL) has been developed and presented during this thesis. It takes inspiration from natural evolutionary mechanisms. The goal of this thesis is to evaluate the effectiveness of this new method using a genetic planning simulation algorithm for the evolution of a brain.

These experiments demonstrate that the phylogenetic approach, PRL, can produce a model more effective than with the DDL method. Secondly, the Shannon entropy of the weights of the models generated by PRL shows that the deeper layers statistically contain more information than when a model is trained traditionally (with the DDL).

The different steps constituting the research are:

1. Evaluation of the "phylogenetic replay learning" method, PRL: based on the evolutionary path (previously recorded) from an initial model to a final model called Champion, the initial model is retrained X times following the same recorded phylogenetic path, and the consistency of the learning results is verified.

2. Evaluation of the direct learning method (classical), DDL: starting from the previously found Champion model (reset with random weights), it is retrained X times using the DDL method. The learning results are recorded.

3. Comparison of the results obtained via the two methods. If there is a difference, it is identified and the reason(s) for it are sought.

4. Transferability tests: the previous experiments are validated using new datasets. The initial model is retrained and evaluated with a new dataset following the same previously recorded evolutionary path (PRL method). The obtained Champion model is relearned also following the DDL method. This transferability test is replicated several times on the two methods, each time with a different dataset.

5. Reproducibility tests: a new experiment is conducted starting from a new initial model, a new phylogenetic path, and thus a new Champion; the first 4 steps above are repeated. The effectiveness of the PRL is evaluated in different contexts.

Keywords: Neural Networks, Neuroevolution, Phylogenetic Replay Learning, Deep learning, Vanishing gradient.
Table des matières

<table><tr><td>REMERCIEMENTS</td><td>3</td></tr><tr><td>RESUME DE THESE</td><td>5</td></tr><tr><td>THESIS SUMMARY</td><td>7</td></tr><tr><td>LISTE DES ABREVIATIONS</td><td>13</td></tr><tr><td>INTRODUCTION</td><td>15</td></tr><tr><td>1. REVUE DE LITTERATURE</td><td>23</td></tr><tr><td>1.1 CADRE THEORIQUE</td><td>23</td></tr><tr><td>1.1.a Réseaux de neurones – Description et Limites</td><td>23</td></tr><tr><td>1.1.b Évolution vers les algorithmes génétiques et au-delà...</td><td>28</td></tr><tr><td>1.1.c Méthodes d'apprentissage actuelles</td><td>30</td></tr><tr><td>1.1.d Phylogénétique et embryogenèse</td><td>32</td></tr><tr><td>1.1.e Rassemblement des orientations.</td><td>34</td></tr><tr><td>1.2 CADRE EXPERIMENTAL</td><td>34</td></tr><tr><td>1.2.a Deep cascade learning (2018)</td><td>34</td></tr><tr><td>1.2.b Réseaux résiduels (2016)</td><td>36</td></tr><tr><td>1.3 SYNTHESE DES LIMITES DE L'ETAT DE L'ART</td><td>37</td></tr><tr><td>2. PROBLEMES ET METHODOLOGIE PROPOSEE</td><td>39</td></tr><tr><td>2.1 PROBLEMATIQUES ACTUELLES</td><td>39</td></tr><tr><td>2.2 QUESTION DE DEPART ET OBJECTIF</td><td>40</td></tr><tr><td>2.3 METHODOLOGIE</td><td>41</td></tr><tr><td>2.4 RATIONALISATION DES HYPOTHESES</td><td>43</td></tr><tr><td>2.5 PROTOCOLE EXPERIMENTAL</td><td>44</td></tr><tr><td>2.5.a Phase 0 : Construction du modèle Champion et du chemin phylogenetique</td><td>44</td></tr><tr><td>2.5.b Phase 1 : Comparaison des tests d'efficacité DDL et PRL</td><td>46</td></tr><tr><td>2.5.c Phase 2 : Comparaison des tests de transférabilité ou de transposition</td><td>47</td></tr></table>
<table>
  <tbody>
    <tr>
      <td>2.5.d</td>
      <td>Tester la reproductibilité</td>
      <td>48</td>
    </tr>
    <tr>
      <td>2.6</td>
      <td>TECHNIQUES, BIAIS, ECHANTILLON, TYPES D'ANALYSES</td>
      <td>48</td>
    </tr>
    <tr>
      <td>2.6.a</td>
      <td>Environnement de travail</td>
      <td>48</td>
    </tr>
    <tr>
      <td>2.6.b</td>
      <td>Échantillon et jeux de données</td>
      <td>49</td>
    </tr>
    <tr>
      <td>2.6.c</td>
      <td>Base du Code d'apprentissage Keras et neuro évolution</td>
      <td>53</td>
    </tr>
    <tr>
      <td>2.6.d</td>
      <td>Métriques d'évaluation</td>
      <td>57</td>
    </tr>
    <tr>
      <td>2.6.e</td>
      <td>Biais méthodologiques</td>
      <td>57</td>
    </tr>
    <tr>
      <td>3.</td>
      <td>ANALYSE DES RESULTATS</td>
      <td>59</td>
    </tr>
    <tr>
      <td>3.1</td>
      <td>EXPERIENCE 1.</td>
      <td>59</td>
    </tr>
    <tr>
      <td>3.1.a</td>
      <td>Exp 1 - Phase 0 : Construction du chemin phylogenetique</td>
      <td>59</td>
    </tr>
    <tr>
      <td>3.1.b</td>
      <td>Exp 1 - Phase 1 : Tests d'efficacité : DDL vs PRL</td>
      <td>61</td>
    </tr>
    <tr>
      <td>3.1.c</td>
      <td>Exp 1 - Phase 2 : Tests de Transférabilité</td>
      <td>68</td>
    </tr>
    <tr>
      <td>3.2</td>
      <td>EXPERIENCE 2 (REPRODUCTIBILITE).</td>
      <td>70</td>
    </tr>
    <tr>
      <td>3.2.a</td>
      <td>Exp 2 - Phase 0 : Construction du chemin du Champion 2</td>
      <td>71</td>
    </tr>
    <tr>
      <td>3.2.b</td>
      <td>Exp 2 Phase 1 : Tests d'efficacité</td>
      <td>74</td>
    </tr>
    <tr>
      <td>3.2.c</td>
      <td>Exp 2 Phase 2 : Tests de transférabilité</td>
      <td>78</td>
    </tr>
    <tr>
      <td>3.3</td>
      <td>EXPERIENCE 3 (REPRODUCTIBILITE).</td>
      <td>79</td>
    </tr>
    <tr>
      <td>3.4</td>
      <td>EXPERIENCE 4 (REPRODUCTIBILITÉ).</td>
      <td>80</td>
    </tr>
    <tr>
      <td>3.5</td>
      <td>EXPERIENCE 5 (REPRODUCTIBILITE CIFAR10G)</td>
      <td>81</td>
    </tr>
    <tr>
      <td>3.5.a</td>
      <td>Exp 5 - Phase 0 et 1 : Construction du Champion 5 sur CIFAR10G</td>
      <td>81</td>
    </tr>
    <tr>
      <td>3.5.b</td>
      <td>Exp 5 - Phase 2 : Tests de Transfert de Jeu de données</td>
      <td>82</td>
    </tr>
    <tr>
      <td>3.5.c</td>
      <td>Exp 5 : Analyse des impacts des poids initiaux</td>
      <td>82</td>
    </tr>
    <tr>
      <td>3.6</td>
      <td>EXPERIENCE 6 (REPRODUCTIBILITE CARTPOLE)</td>
      <td>84</td>
    </tr>
    <tr>
      <td>4.</td>
      <td>SYNTHESE ET DISCUSSION</td>
      <td>85</td>
    </tr>
    <tr>
      <td>4.1</td>
      <td>SYNTHESE ET REPONSE A LA QUESTION DE RECHERCHE</td>
      <td>85</td>
    </tr>
    <tr>
      <td>4.1.a</td>
      <td>Synthèse</td>
      <td>85</td>
    </tr>
    <tr>
      <td>4.1.b</td>
      <td>Réponse à la question de recherche</td>
      <td>86</td>
    </tr>
    <tr>
      <td>4.1.c</td>
      <td>Une mise en perspective de la recherche</td>
      <td>86</td>
    </tr>
  </tbody>
</table>
<table><tr><td>4.1.d</td><td>Les limites de la recherche</td><td>87</td></tr><tr><td>4.2</td><td>DISCUSSION SUR LES LIMITES</td><td>87</td></tr><tr><td>4.2.a</td><td>Temps d'apprentissage</td><td>87</td></tr><tr><td>4.2.b</td><td>Répartition de l'information</td><td>89</td></tr><tr><td>4.2.c</td><td>Optimisation des étapes</td><td>90</td></tr><tr><td>4.2.d</td><td>Complexité du modèle</td><td>91</td></tr><tr><td>4.2.e</td><td>Rétropropagation de gradient ?</td><td>92</td></tr><tr><td>4.2.f</td><td>Méthode de travail des experts IA</td><td>92</td></tr><tr><td colspan="2">CONCLUSION ET PERSPECTIVES</td><td>93</td></tr><tr><td colspan="2">GLOSSAIRE</td><td>97</td></tr><tr><td colspan="2">BIBLIOGRAPHIE</td><td>101</td></tr><tr><td colspan="2">LISTE DES TABLEAUX ET FIGURES</td><td>105</td></tr><tr><td colspan="2">TABLEAUX :</td><td>105</td></tr><tr><td colspan="2">FIGURES :</td><td>106</td></tr><tr><td colspan="2">ANNEXES</td><td>107</td></tr><tr><td colspan="2">ANNEXE 1 : DESCRIPTION D'UN APPRENTISSAGE DLL AU QUOTIDIEN D'UN EXPERT</td><td>107</td></tr><tr><td colspan="2">ANNEXE 2 : MODELES PHYLOGENETIQUE DU CHAMPION 2 DE L'EXPERIMENTATION 2</td><td>109</td></tr><tr><td colspan="2">ANNEXE 3 : TRACES D'UN APPRENTISSAGE PRL</td><td>143</td></tr></table>
<figure><img src="image_3.png" /></figure>
# INTRODUCTION

L'intelligence artificielle généraliste (AGI, pour artificial general intelligence) fait référence à une forme d'intelligence artificielle qui possède la capacité d'apprendre et de comprendre n'importe quelle tâche intellectuelle que peut réaliser un être humain. Contrairement aux intelligences artificielles spécialisées ou étroites (dites narrow), qui sont conçues pour effectuer des tâches spécifiques comme la reconnaissance d'image, la traduction automatique ou la recommandation de produits, une AGI serait capable de s'adapter à une grande variété de domaines et de tâches.

Les travaux en intelligence artificielle généraliste tentent donc de créer des machines « intelligentes » qui simulent les cerveaux biologiques avec un haut niveau d'abstraction. L'ambition à terme des chercheurs en IA généralistes est qu'elles atteignent un niveau d'abstraction tel, qu'elles puissent être utilisées dans toutes tâches dont la complexité requiert normalement l'exercice de l'intellect humain, voire qu'elles soient douées de conscience et deviennent même globalement plus « intelligentes» que l'homme. Elles pourraient comprendre, s'auto-améliorer et pourquoi pas se reproduire... sous le contrôle humain si possible !

Nul ne sait à ce jour si cet objectif est atteignable, mais ce qui est certain c'est que de nombreuses innovations restent encore à apparaître, notamment celle s'inspirant des mécanismes biologiques qui sont la base de l'intelligence humaine. Cette thèse contribue à ce mouvement.

La représentation Figure 1 des types d'intelligence artificielle suit généralement le schéma sous forme du diagramme présenté ci-après :

<figure><img src="image_4.png" /><figcaption>Figure 1- Diagramme de Venn Pour l'IA, le ML & le DL</figcaption></figure>

Le champ de l'intelligence artificielle regroupe de nombreuses technologies imaginées puis mises en œuvre depuis la fin des années 50 pour essayer des résoudre des problèmes demandant de faire preuve des qualités propres aux humains. Cet ensemble nommé IA s'est attaché par exemple à

<footnote>ii Larousse : Aptitude d'un être humain à s'adapter à une situation, à choisir des moyens d'action en fonction des circonstances, Ensemble des fonctions mentales ayant pour objet la connaissance conceptuelle et rationnelle.</footnote>
trouver des représentations des connaissances qui permettent une plus grande liberté d'évolution pour des programmes les exploitant, introduisant ainsi une façon moins impérative et procédurale de concevoir un programme informatique.

Au sein de cet ensemble, les IA basées sur le *machine learning* (ML) ont été développées. Elles posent un abandon complet d'une approche impérative de programmation et y substituent un apprentissage préalable produisant une machine pertinente sur de nouveaux cas. Là également, de nombreuses technologies ont été produites.

Au sein du ML, une classe d'IA est développé en associant des couches de neurones artificielles denses, c'est le *Deep Learning* (DL) sur lequel cette thèse se focalise.

La plupart des IA de type DL reposent sur des modélisations mathématiques qui permettent de concevoir des architectures de réseaux de neurones artificiels. On parle aujourd'hui de « jumeaux numériques » qui imitent - ou plutôt simulent - le fonctionnement des neurones biologiques. Les algorithmes évoluent rapidement depuis ces vingt dernières années grâce, entre autres, à l'augmentation des puissances de calcul. Les processeurs modernes décuplent les capacités de traitement et donc accroissent l'efficacité des ordinateurs de façon inédite et exponentielle. Cette efficacité permet enfin aux réseaux de neurones numériques (RNN) d'atteindre des capacités traitement des données complexes utiles aux besoins humains.

Néanmoins de nouvelles limites sont atteintes.

En 1996, par expérience personnelle en banque, les *traders* des salles de marché s'appuyaient encore sur de l'analyse géométrique et statistique de courbes des cours de Bourse alors que la capacité des réseaux de neurones aurait déjà pu les aider dans l'exécution de leurs tâches quotidiennes. A l'époque, le milieu professionnel n'était pas exposé aux apports potentiels du ML dans leur secteur d'activité. Moins d'un an plus tard, en mai 1997, le super calculateur Deep Blue d'IBM battait le champion du monde d'échecs en titre, Gary Kasparov [1]. Mais malgré cette preuve éclatante de l'efficacité du ML, l'approche algorithmique classique restait encore la base de travail de la plupart des entreprises.

En 1998, se déroulent de nouvelles tentatives de sensibilisation à l'IA/ML. Des sociétés évoluant dans le secteur de l'assurance de voitures effectuent des tests utilisant des solutions basées sur les réseaux de neurones pour améliorer le calcul de risques incendie, accidents et risques divers (IARD). Au lieu des 5 critères habituels utilisés par les professionnels de l'assurance pour calculer les risques, cette solution pouvait tenir compte de plus de 20 critères. Cependant, dans les faits, les entreprises n'étaient toujours pas prêtes à se passer d'une formule mathématique mise en œuvre dans un algorithme classique, ni à adopter un système basé sur du ML proposant une solution plus fine mais difficilement explicable.
A l'époque, rares étaient les experts à défendre auprès des entreprises une approche basée sur le ML pour modéliser des problèmes complexes. *Alpha go* de Google va changer la donne en octobre 2015. Ce programme permet une prise de conscience sur l'intérêt de ces technologies d'IA, tant au sein du grand public qu'au cœur du milieu de la recherche. Avec ce programme qui simule un joueur de go, Google a su démontrer la puissance de cette nouvelle approche [2] pour résoudre une problématique de systèmes complexes. L'IA/ML, plus précisément l'IA/DL, entrait enfin dans une phase un peu plus opérationnelle.

Au fil des années, la science de l'IA/ML n'a cessé de progresser sans pour autant trouver une façon de fabriquer, de manière mathématique, la structure des modèles<sup>iii</sup> à base de réseaux de neurones numériques (aussi appelés « entités neuronales »). Il est alors difficile pour l'IA de sortir du carcan de la recherche empirique dans certains cas.

L'IA/DL se définit comme une topologie<sup>iv</sup> de réseaux de neurones numériques comportant plusieurs couches (voir définition dans le glossaire). C'est l'architecture classique des modèles de réseau de neurones utilisée actuellement.

Pour construire ces modèles, il existe deux principales méthodes. La première consiste à fabriquer manuellement la topologie (ou à copier un modèle existant que l'expert essaye d'adapter) parfois aidé d'outillages de type AutoML pour tester automatiquement certains paramètres. Cette première approche la plus usitée aujourd'hui. La seconde est une construction automatisée de la topologie basée sur des algorithmes génétiques souvent nommée « neuro évolution »<sup>v</sup> [3] moins fréquente.

La plus utilisée des méthodes consiste à utiliser un modèle de réseaux de neurones avec une topologie unique fixe, déterminée par son concepteur. À partir d'un jeu de données représentant la problématique à résoudre, il fait apprendre à ce modèle un comportement en utilisant un algorithme d'apprentissage choisi. S'il est satisfait du résultat, il conserve le modèle. Sinon l'expert recommence avec un nouveau modèle. Cette approche serait parfaite s'il était possible

<footnote>iii Un « modèle » est, dans le cadre de cette thèse, la représentation d'un réseau de neurones numérique avec des caractéristiques propres : organisation topologique des neurones numériques entre eux, poids, couches, *input* (format des données entrées), *output* (format de données sorties) ... Il est parfois appelé “agent”.</footnote>

<footnote>iv La topologie du réseau de neurones d'un modèle représente son architecture (sous forme de graphe). C'est-à-dire le nombre de neurones, la manière dont ils sont reliés, leur méthode de fonctionnement... Dans cette thèse, les poids des liens entre les neurones du réseau ne sont pas traités comme faisant partie de la topologie impactée par les mutations.</footnote>

<footnote>v Le processus neuroévolutif est une mise en œuvre d'algorithmes génétiques pour générer de meilleurs modèles d'intelligence artificielle selon les objectifs à atteindre (par exemple, reconnaissance de forme, génération de langage ...) en simulant un processus d'évolution « naturelle ». La neuro évolution n'est utilisée dans cette thèse que pour définir le chemin évolutif (phylogénétique) au moment de la phase 0 de la méthodologie de la thèse.</footnote>
de construire la topologie du modèle de manière formelle en lien avec le problème à résoudre ; ce qui n'est aujourd'hui pas le cas. De nos jours, la construction du modèle est empirique et s'appuie souvent sur un échange de schémas de modèles ou de bonnes pratiques entre experts. C'est une approche manuelle « artisanale » qui nécessite du temps et de l'énergie engendrant des coûts cachés (par exemple, le nombre d'expériences préalables qui ont été nécessaires dans le temps pour obtenir un résultat considéré comme acceptable pour une problématique donnée).

La neuro évolution utilise, quant à elle, des algorithmes évolutifs pour créer les modèles de réseaux de neurones. Cette approche combine des concepts de l'apprentissage automatique (voir définition dans le glossaire) et de l'évolution artificielle pour faire évoluer les topologies et les paramètres des réseaux de neurones.

Avec le concept de la neuro évolution, les réseaux de neurones sont considérés comme des individus dans une population. Les algorithmes génétiques sont utilisés pour générer de nouvelles variantes de réseaux de neurones à partir des individus existants en appliquant des opérations inspirées de la biologie, telles que la mutation et la recombinaison. La sélection « naturelle » est utilisée pour favoriser les réseaux qui auraient les meilleures performances pour une tâche donnée.

La neuro évolution est particulièrement adaptée aux problèmes pour lesquels les architectures optimales des réseaux de neurones ne sont pas encore clairement définies ou lorsque la recherche d'une solution optimale est rendue difficile du fait d'un espace des possibles trop vaste. La neuro évolution a ainsi été appliquée avec succès dans des domaines tels que l'apprentissage par renforcement, la robotique et la production de contenus.

C'est un mécanisme itératif qui inclut la recherche de la meilleure topologie dans la sélection des modèles considérés comme les plus efficaces pour un jeu de données choisi. Même si l'on obtient de bons résultats, la neuro évolution est coûteuse en termes de ressources du fait d'une recherche nécessaire dans l'espace des possibles. Cependant, à chaque modification majeure du jeu de données (soit de la problématique donnée), la recherche neuro évolutif de la meilleure topologie doit être relancée sur le nouveau jeu de données pour tout réapprendre dans ce nouveau contexte. De ce point vue, l'approche n'apporte pas de changement notable par rapport au cas de la construction manuelle du modèle de DL en général

En effet, la topologie d'un modèle obtenu par neuro évolution est fixe pour un jeu de données donné et refaire le processus neuro évolutif (sur un jeu de données différent ou non) générera un nouveau modèle adapté mais différent du précédent.

Aucune des méthodes de construction examinée ne permet de prendre en compte une topologie variable tout au long de l'apprentissage du modèle. A l'inverse, pour les animaux avec système
nerveux central supérieur, la topologie est variable tout au long de l'apprentissage. Cette différence fondamentale constitue l'objet central de ma thèse.

A ce jour, les méthodes utilisées par les experts en IA pour créer de nouveaux modèles ne considèrent pas le changement topologique programmé lors de l'apprentissage d'une entité neuronale numérique. En d'autres termes, la topologie (hors poids) du réseau neuronal artificiel, après l'apprentissage du modèle, reste la même qu'avant l'apprentissage (algorithmes de *deep learning*). Lorsque ce n'est pas le cas, l'apprentissage nécessite une nouvelle recherche topologique coûteuse dans l'espace des possibles (algorithmes neuroévolutif). Pourtant la nature utilise bien le changement programmé de la topologie des cerveaux des espèces intelligentes lors de leur évolution. Est-ce que, dans le contexte de l'IA, la prise en compte de cette évolution programmée de la topologie pourrait permettre de créer des modèles de réseaux de neurones numériques plus efficaces, ou ayant des capacités d'abstraction plus élevées ?

Cette réflexion et les travaux exposés dans cette thèse ont démarré dans les années 2000. L'aboutissement en est une nouvelle approche et méthode, qui est exposée, évaluée et validée au sein de ce manuscrit. *In fine*, cette méthode permet une modification programmée de la topologie des réseaux lors de la réutilisation d'un modèle de réseaux de neurones et permet un apprentissage plus efficient comparé aux autres méthodes.
A l'origine, le sujet de la thèse est parti d'une intuition : existe-t-il une corrélation dans la nature entre l'évolution des organes des espèces et l'évolution des organes lors de l'embryogénèse (formation de l'embryon lors de la gestation), toutes espèces confondues ? Le cerveau de tout être vivant n'échappe pas à cette règle avec, une programmation génétique innée et également épigénétique avec une part d'adaptabilité acquise de l'espèce, les deux influant sur la topologie, en constante modification tout au long de la vie.

Il ne faut pas perdre de vue cette part d'adaptabilité de l'espèce elle-même, durant l'évolution, notamment celle liée au constant apprentissage de la vie et dont la conséquence est un apprentissage progressif des plus efficaces.

De nombreux enjeux entrent en ligne de compte dans la mise au point d'une IA pour trouver une solution qui soit non seulement optimisée mais également potentiellement industrialisable. Une mise au point qui reste très proche de la façon dont la nature évolue dans le monde du vivant. Le point focal de cette thèse sera de se concentrer tout particulièrement sur l'impact d'une programmation génétique de l'évolution topologique lors de l'apprentissage du modèle de réseaux de neurones numériques.

Le propos est donc d'établir l'importance et l'influence de l'évolution topologique programmée du réseau de neurones numériques.

L'approche développée dans cette thèse se distingue des travaux habituels de recherche en IA/DL sur les réseaux de neurones numériques par le fait que l'objectif ici n'est pas de trouver de nouvelles approches purement mathématiques et algorithmiques mais de "jouer" par biomimétisme sur l'évolution topologique afin de mieux maitriser progressivement la complexité du réseau de neurones.

Le sujet de cette thèse est d'évaluer l'importance et l'utilité d'une programmation génétique de l'évolution de la topologie d'un réseau de neurones dans l'apprentissage d'un modèle dédié à la reconnaissance d'images.

Il s'agit donc d'intégrer la variation topologique du réseau de neurones au cours de la croissance de ce dernier et donc de planifier cette évolution topologique dans l'algorithme en se basant sur un arbre phylogénétique (également appelé arbre généalogique dans le domaine du vivant) connu. Dans notre protocole, il est déterminé et enregistré lors d'une étape 0 (voir définition dans le glossaire) et il représente ainsi le code génétique à associer au modèle initial. Chaque étape de la construction du chemin phylogénétique porte des mutations (changement topologique - voir définition dans le glossaire) que l'on applique sur la topologie des modèles successifs lors de l'apprentissage. Au niveau de la problématique considérée, on planifie ainsi génétiquement un développement du modèle pour atteindre un modèle champion (représentant un état adulte - voir
définition dans le glossaire), obtenu en partant d'un modèle initial (représentant un état
embryonnaire - voir définition dans le glossaire) vers des niveaux d'abstraction élevés.

Cette recherche est importante car il est nécessaire de trouver des pistes qui permettront en IA/DL d'obtenir des topologies qui atteignent des niveaux d'abstraction plus élevés, ce que les modèles existants ne permettent pas encore aujourd'hui. En d'autres termes, il est difficile pour les algorithmes IA actuels d'appréhender des problèmes de plus en plus complexes.

Si l'on se réfère au monde biologique, plus les fonctions cognitives des cerveaux sont développées, plus la phase d'apprentissage est longue. Elle est, de surcroît, associée à une modification structurelle programmée génétiquement dans notre ADN lors de la croissance. Ainsi, par exemple, la topologie d'un cerveau d'adolescent a subi une évolution programmée et est différent de la topologie du cerveau d'un bébé.

Mais cela ne se passe pas ainsi dans l'univers numérique. Les modèles de réseaux de neurones que l'on produit aujourd'hui, que ce soit avec des technologies de type Tensorflow de Google ou autres concurrents, ont de plus en plus de mal à apprendre dès lors que leurs topologies dépassent un certain nombre de seuils (en termes : de nombre de neurones, de taille, de complexité, de couches, de connexions...). Par ailleurs, le développement de ces modèles ne tient compte que d'une phase d'apprentissage purement algorithmique correspondant à de l'acquis dans le monde biologique. En y greffant une évolution programmée "génétiquement" de la topologie durant l'apprentissage, pourrait-on enfin le faciliter et à terme, peut-être obtenir des modèles plus complexes ? La difficulté d'apprentissage de ces nouveaux modèles est en effet un des freins actuels majeurs à l'obtention de modèles à haute capacité d'abstraction.
La société Datavaloris, créée en 2015, est spécialiste en algorithmes génétiques appliqués aux réseaux de neurones numériques. Elle a soutenu cette thèse en permettant d'utiliser leurs algorithmes comme base de travail. Leur expert en algorithmie génétique a permis d'obtenir un algorithme génétique adapté au projet permettant d'enregistrer les étapes évolutives pour pouvoir ainsi les réutiliser.

La présente recherche a pour objet l’“Intérêt de l'Intégration de la phylogénèse dans la genèse d'une entité neurogénétique numérique”. Cette thèse sera traitée en huit chapitres, tous essentiels pour faire le tour du sujet proposé.

A commencer par une introduction. Ce premier chapitre reprendra le contexte dans lequel cette recherche s'est réalisée. Après un aperçu de l'état de l'art du domaine des réseaux neuronaux, il sera mis en exergue les principales problématiques qui touchent ce secteur, ce qui permettra de mieux saisir les enjeux d'une telle recherche notamment dès lors qu'il s'agit de réseaux neuronaux à haut degré d'abstraction.

Une fois le contexte posé et l'originalité de l'approche expliquée, le deuxième chapitre s'intitule *Domaine de la Recherche*. Il présentera plus en profondeur sur les principes fondamentaux des réseaux neuronaux actuels ainsi que sur les concepts qui seront manipulés durant cette thèse.

Le cœur du sujet de cette thèse est abordé dans le troisième chapitre *Problème et Méthode*.

abordera Nous y posons en détail la problématique et les différentes étapes de la méthodologie mise en application. Ce chapitre vise à mieux comprendre les expérimentations décrites dans la suite du texte..

Un quatrième chapitre relate toutes les descriptions et analyses des sept expériences réalisées durant cette recherche. Ces sept expériences ont pour objectif d'évaluer la pertinence de la méthode phylogénétique au monde de l'intelligence artificielle. Il précède le chapitre, *Discussions* qui comme son titre l'indique, permettra de discuter sur cette recherche et d'ouvrir le sujet vers de nouvelles recherches potentielles.

La conclusion intégrera les perspectives que ce manuscrit ouvre.

Les trois derniers chapitres permettent au lecteur de disposer de l'ensemble des outils d'appréhension du thème avec les connaissances nécessaires. Ils consistent en Bibliographie, Liste des tableaux et Figures et Annexes.
# 1. REVUE DE LITTÉRATURE

Dans ce chapitre il sera présenté le cadre théorique des objets manipulés pour atteindre l'objectif puis deux exemples dans le cadre expérimental qui sont des approches complémentaires dans l'objectif de l'apprentissage des modèles complexes. Aucune publication n'a été trouvée concernant la programmation de l'évolution topologique d'un RNN lors de l'apprentissage du RNN outre celle effectuée dans le cadre de cette thèse [41].

## 1.1 CADRE THEORIQUE

### 1.1.a RESEAUX DE NEURONES – DESCRIPTION ET LIMITES

Le cerveau humain composé de 100 milliards de neurones est capable de tâches complexes allant jusqu'à la conscience de soi. La recherche sur le cerveau humain est de plusieurs ordres, essayer de comprendre son fonctionnement d'un côté, et essayer de le reproduire d'un autre.

Notre sujet ici n'est pas tant de le comprendre que d'essayer de le reproduire ou plus humblement de simuler certaines de ses capacités.

En simplifiant il est communément admis qu'un neurone biologique est composé de trois zones, le soma ou corps cellulaire qui s'active ou non, l'axone qui propage le flux d'activation aux autres neurones au travers des synapses et des dendrites qui assurent le transfert de l'activation.

C'est la somme des influx nerveux reçus qui initie ou non l'activation du neurone puis de la propagation (potentiel d'action)

Le réseau de neurones biologique (Figure 2) est un très grand graphe de traitement parallèle.
<figure><img src="image_5.png" /><figcaption>Figure 2 - le neurone biologique (source WikiPédia)</figcaption></figure>

Ses neurones sont hautement interconnectés. Les flux nerveux qui le traversent, représentent sa capacité d'interaction, lié d'un côté aux senseurs qui l'alimentent, et de l'autre aux actuateurs qui interagissent avec l'environnement.

Le neurone virtuel (Figure 3) est, quant à lui, une abstraction du fonctionnement de ce neurone biologique débarrassé des contraintes biologiques (mécanismes d'alimentation, réplication...).

De fait, de nombreux modèles virtuels s'appuient sur les équations de Hodgkin-Huxley et ne cherchent pas à les compléter, mais au contraire à les simplifier, tout en conservant le maximum de pertinence biologique [5].

<figure><img src="image_6.png" /><figcaption>Figure 3 - Formalisation d'un neurone numérique</figcaption></figure>
* Les dendrites/synapses sont donc remplacées par des connexions pondérées (P0, Pi). Les pondérations peuvent être négatives pour simuler les mécanismes d'inhibition.

* La fonction d'activation remplace le seuil de potentiel d'action.

Même s'il est difficile de déterminer lequel des deux modèles est le plus flexible, la différence majeure entre le neurone artificiel et le neurone biologique est l'encodage des flux.

* Le neurone biologique utilise un encodage par fréquence. C'est la fréquence de réception des signaux qui déclenche ou non un potentiel d'action. Cette approche est plus lente car il faut attendre un certain nombre de signaux entrant. Mais elle est moins sujette aux erreurs qu'avec une machine biologique analogique qui en côtoie en permanence.

* Le neurone numérique utilise un codage par amplitude. C'est l'amplitude/valeur du signal qui déclenche l'activation du neurone. Cette approche est plus rapide car un signal contient toutes les informations nécessaires. Elle est plus adaptée au monde numérique car elle nécessite plus de précision qu'une machine biologique ne peut fournir.

Dans tous les cas les deux sont des approximateurs universels (Turing) [6].

Il existe plusieurs topologies de réseaux de neurones. Pour n'en citer que quelques-unes,

* Feed Forward

* Réseaux dit Récurrents (ou à mémoire)

* Réseaux dits à apprentissage supervisés

* Rétropropagation de gradiants (le plus courant) [7]

* À convolution

* Réseaux dits à apprentissage non supervisés

* Hebbian

* Neuromodulation

* Apprentissage Compétitif

* Kohonen ou Self Organizing Map

* Hopfield

* Et bien d'autres.
Le réseau de neurones est constitué d'une couche d'entrée connectée aux senseurs, d'une couche de sortie connectée aux actuateurs et éventuellement de couches dites cachées.

<figure><img src="image_7.png" /><figcaption>Figure 4 - Exemples de réseaux de neurones numériques (représentation 3D par Datavaloris)</figcaption></figure>

La densité (nombre de neurones d'une couche) est à la discrétion du concepteur du réseau, en particulier pour les couches cachées.

Dans tous les cas, ces topologies (Figure 4) nécessitent un paramétrage initial structurant.

La densité et la profondeur des RNN créent une limitation lors de l'apprentissage appelé le *vanishing-gradient effect* (VGE).

L'algorithme d'optimisation de réseau de neurones (NN) le plus courant est basé sur l'utilisation de la descente de gradient (ou rétropropagation de gradient).
Cela implique d'abord de calculer l'erreur de prédiction faite par le modèle, puis de rétropropager cette erreur sous forme d'un gradient.

Ce gradient d'erreur est propagé vers l'arrière à travers le réseau depuis la couche de sortie jusqu'à la couche d'entrée, mettant à jour les poids pour ainsi minimiser la différence (l'erreur) entre la sortie du modèle réelle et la sortie attendue.

Les NN intègrent désormais de nombreuses couches. L'ajout de couches dites profondes augmente sa capacité, ce qui le rend capable d'approximer des fonctions plus complexes entre l'entrée et la sortie lorsqu'un grand ensemble de données d'apprentissage est fourni.

Un des problèmes avec les réseaux d'entraînement à plusieurs couches (par exemple, les réseaux de neurones profonds) est que le gradient diminue considérablement à mesure qu'il se propage vers l'arrière du réseau (vers les couches d'entrée). L'erreur devient si faible au moment où elle atteint les couches proches de l'entrée du modèle qu'elle n'a que peu d'effet. Ainsi, ce problème est connu sous différents noms : problème de la disparition du gradient ou problème de l'évanescence du gradient, ou encore problème de la dissipation du gradient nommé en anglais, le *vanishing gradient effect* [20], [21], [22], [23].

Plusieurs approches peuvent être utilisées pour réduire le VGE bien qu'aucune ne soit parfaite. Elles peuvent cependant être combinées avec l'approche PRL :

* Les fonctions d'activation, comme relu par exemple [24].

* Couches d'initialisation normalisées [25]-[26] et couches de normalisation intermédiaires [27] : elles permettent aux réseaux composés de dizaines de couches de commencer à apprendre/converger avec descente de gradient stochastique (SGD) avec rétropropagation [28].

* Des architectures spécifiques comme les réseaux de neurones résiduels (ResNet) qui tentent de diminuer l'effet de ce problème en utilisant des liens pass-through [29].

* La régularisation des réseaux de neurones profonds par le bruit : on injecte du bruit lors de la procédure d'apprentissage, ajoutant ou multipliant du bruit au sein des unités cachées des NN [30].

* La méthode d'apprentissage en cascade profonde propose une solution pour atténuer le VGE [31] en formant des réseaux profonds en cascade ou de manière ascendante couche par couche. Il réduit le VGE, mais ne s'est pas avéré meilleur que le DDL (voir définition dans le glossaire).
1.1.b ÉVOLUTION VERS LES ALGORITHMES GENETIQUES ET AU-
DELA...

Le neurone, et plus globalement le cerveau, sont issus d'une évolution biologique de plusieurs milliards d'années depuis l'apparition de la vie sur terre (3,77 à 4,28 milliards d'années).

La nature a effectué des milliards de milliards de mutations afin d'aboutir à notre cerveau. Notre système nerveux central est la preuve de l'efficacité du mécanisme évolutif et de l'approche par réseau de neurones (cela ne remet pas en cause tout autre moyen existant).

Là encore il s'agit de copier la nature dans ce qu'elle a fait de mieux (à notre connaissance) et de
s'en inspirer pour bénéficier des mêmes capacités évolutives.

Pour qu’un processus d’évolution se mette en place, il est nécessaire d’avoir une population d’organismes, d’avoir un environnement dans lequel elle évolue et des critères de sélection/reproduction.

Dans la nature l'évolution est basée sur un critère simple de survie adaptative et compétitive. Elle a abouti à la création de l'ADN, de l'ARN... et donc de tout un arsenal d'outils permettant la reproduction et l'adaptation des espèces.

Dans le monde numérique il faut également construire un code génétique définissant le génotype d'un individu et par extension le phénotype de l'individu qui est l'expression de ses gènes.

Un algorithme génétique utilise ensuite des règles de mutations et des critères de sélection.

Une méthode couramment employée est une représentation en arbre [8] permettant facilement d'effectuer des permutations. La feuille de l'arbre représente des données et les nœuds des opérations et les racines sont les sorties.
Voici un exemple simple :

Ceci est le génotype de l'individu :

Cela donne le phénotype suivant :

<figure><img src="image_8.png" /><figcaption>Figure 5 - exemple d'un génotype en arbre</figcaption></figure>

On voit bien dans cet exemple (Figure 5) que la mutation peut être l'ajout d'une branche, la permutation d'un opérateur... et dans une reproduction « sexuée » la branche d'un individu peut être associée à celle d'un autre pour former un « enfant ».

Ici, il y a un lien direct entre le génotype et le phénotype. Ce lien peut être indirect à l'instar de notre ADN et de notre représentation physique. Le lien direct est plus lisible pour le chercheur mais limité dans les possibilités de l'expression du génotype (codes non exprimés tels que le code lié aux évolutions).

Il existe un autre mode de représentation qui est un affichage de type graphe.

<figure><img src="image_9.png" /><figcaption>Figure 6 - exemple d'un génotype en graphe</figcaption></figure>

Cette représentation (Figure 6) est plus proche de la représentation d'un réseau de neurones.

Un critère de sélection de l'individu peut être le nombre minimum d'opérations pour atteindre un même résultat.
Aujourd'hui il existe de multiples algorithmes d'évolution :

* Les algorithmes Génétiques classiques (GA) qui existent depuis 1954 et popularisés par John Holland dans son livre [9].

* Les algorithmes de programmation génétique (GP), une spécialisation des GA.

* Les stratégies évolutives dont la stratégie d'évolution elle-même évolue.

* Les programmations évolutives pour les machines à états finis (FSM).

* Les algorithmes Mémétiques (MA) ou algorithmes Hybrides (HA) où il est défini des mutations dites globales et des mutations locales.

Quel que soit le nom qu'on leur donne, leur fonctionnement reste le même pour tirer profit d'un mécanisme de sélection.

A la fin de 2017, bon nombre d'articles ont été publiés par les équipes de recherches d'Open AI et de Uber [10], [11], [12]. Une unité de recherche d'Open AI [13], a montré qu'un simple algorithme évolutif peut optimiser un réseau de neurones profond aussi bien voire mieux que les algorithmes classiques basés sur une descente de gradient (comme par exemple Adam) [3], [14], [15], avec des résultats surprenants dans certains cas [16] ...

Et tout cela parce que l'algorithme évolutif est une méthodologie basée sur des groupes de populations et qu'il est donc plus facile de paralléliser les tâches pour obtenir des résultats en heures plutôt qu'en semaines (ce que corrobore les articles publiés en référence). Ces résultats s'appliquent aussi bien en classification qu'en apprentissage renforcé.

L'objectif ultime reste la recherche de l'architecture de modèles optimum [17].

### 1.1.c METHODES D'APPRENTISSAGE ACTUELLES

Aujourd'hui, le mode de construction d'une topologie de réseaux de neurones se fait toujours par tâtonnement. Et les résultats probants obtenus sont généralement par la suite analysés et optimisés par des mathématiciens. Beaucoup de topologies connues (CNN, RNN...) et utilisées sont ainsi nées de façon empirique.

En l'absence de règles écrites pour la création de ces modèles, la tendance actuelle des recherches est également à l'optimisation de ce que l'on nomme les hyperparamètres. L'hyperparamètre est le nombre de couches, l'agencement de ces couches, les critères d'apprentissage... c'est à dire tous les paramètres utiles à la création d'un modèle IA. La discipline représentant la fabrication des modèles est appelée aujourd'hui ModelOps (abréviation de Model Operations) qui est un sous-ensemble du ML Ops (Machine Learning Operations). Les outils utilisés pour la fabrication des modèles sont répertoriés dans la catégorie AutoML (Automation Machine Learning). Ils sont
censés agir sur les hyperparamètres. L'objectif avec cette optimisation des hyperparamètres est d'essayer de tendre vers le modèle le plus efficace possible.

Pour rappel, Google avait, pour sa part, baptisé sa propre tentative d'automatiser les hyperparamètres AutoML, nom repris aujourd'hui pour cataloguer tous les outils de cette catégorie. De nombreux outils d'automatisation de Machine Learning du marché entrent dans cette classe (Auto-Keras, SMAC, Auto-Sklearn...).

La façon de procéder pour obtenir une topologie optimale avec ces méthodes, consiste au départ par une planification des tests à réaliser par l'expérimentateur. Ce dernier donne alors les options voulues pour les hyperparamètres à tester : par exemple, travailler sur 5 à 10 couches, chaque couche pouvant avoir de 10 à 10000 neurones par pas de 1000 ; donner ici également les différentes règles que devront suivre les poids initiaux. Ensuite l'outil d'AutoML expérimente (de manière combinatoire) automatiquement les différentes règles d'apprentissage et de topologies en faisant varier les paramètres choisis par l'expert. Une fois les expérimentations effectuées, les résultats sont comparés et l'essai avec la performance optimum, est conservé. Si aucun résultat n'est considéré comme acceptable (contraintes de production, biais comportementaux...), l'expert recommence alors depuis le début avec une nouvelle planification de tests.

En résumé, aujourd'hui, pour produire un modèle IA (pour rappel composé d'une topologie/structure et de poids associés à chaque connexion entre les neurones la composant), il n'existe que deux options : soit reprendre un modèle existant conçu par un expert et essayer de l'adapter à son propre besoin, soit tenter de construire un modèle ex-nihilo sans qu'il n'existe de règles de construction connue (juste des intuitions) en espérant que cette construction, donnera naissance au bout du compte au modèle idéal (avec ou sans optimisation des hyperparamètres).

C'est grâce à une autre possibilité, en l'occurrence le concept de neuro évolution appliquée sur des frameworks standards (voir définition dans le glossaire), que les experts peuvent concevoir de nouveaux modèles IA sans être obligés de connaître au préalable des règles de construction. La neuro évolution pousse ces derniers à se focaliser sur l'objectif à atteindre plutôt que sur la façon de structurer le modèle pour y parvenir.

Pour les trois options précitées, travailler de manière empirique, jouer sur les hyperparamètres, ou utiliser la neuro évolution, tous les modèles ainsi obtenus restent cependant des modèles statiques, en d'autres termes où la topologie n'évolue pas au cours de l'apprentissage.

Et dans tous ces cas, cette topologie fixe empêche les modèles, quand ils sont complexes, d'apprendre ou de réapprendre de manière optimale. C'est précisément à ce niveau que l'apprentissage phylogénétique pourrait apporter une solution.
1.1.d PHYLOGENETIQUE ET EMBRYOGENESE

La phylogénèse qui se définit par l'étude des relations de parenté entre êtres vivants. Elle permet
de représenter l'évolution des espèces souvent sous forme de carte ou d'arbre phylogénétique.

Dans le numérique, il s'agit de conserver l'arbre phylogénétique des entités au sein du code génétique comme vu au point précédent.

L'embryogénèse s'occupe de l'apparition de caractéristiques d'un individu pendant sa phase
embryonnaire. Ce qui nous intéresse dans cette thèse c'est l'organe cerveau.

La comparaison entre la phylogénèse et l'embryogénèse montre un lien entre l'évolution des espèces et la croissance d'un individu en ne considérant qu'un caractère donné [18].

La première personne à l'avoir perçu et surtout exprimé au sein d'une théorie, (décriée par certains du fait, entre autres, de la falsification de certains dessins relatifs à la vision globale de ce lien), est Ernst Haeckel.

Le secteur de la biologie évolutive du développement, cherche à formaliser ce que Haeckel avait
perçu intuitivement. L'analyse des gènes de différentes espèces et l'expression de ces derniers
dans les processus de développement d'un individu, permet de comprendre les processus
d'activation de certains caractères, et également d'évaluer les impacts de la pression
environnementale sur la sélection naturelle.

On retrouve donc le lien entre la topologie des cerveaux et l'évolution des espèces dans l'œuvre contestée de Paul Mac Lean :

Paul Mac Lean est un médecin neurochirurgien et neurobiologiste américain (1913-2007). Il a introduit la théorie du cerveau triunique selon laquelle trois phases du cerveau sont apparues au cours de l'évolution de l'espèce humaine :

1. Le cerveau reptilien (ou cerveau primitif),

2. Le cerveau limbique apparu avec les premiers mammifères,

3. Le cerveau néocortex (ou cerveau « humain »).

Mais cela n'empêche pas la partie paléontologique et évolutive de la théorie d'être justifiée : le cerveau humain est le résultat de périodes de céphalisation successives [19] (Figure 7).
<figure><img src="image_10.png" /><figcaption>Figure 7 - Comparaison de l'embryogénèse du cerveau de 2 espèces phylogénétiquement différentes</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>Figure 8 - Comparaison topologique de cerveaux de 4 espèces distinctes</figcaption></figure>

La région IIIA (Figure 8) dans le schéma ci-dessus, montre, par exemple, l'apparition du cervelet grâce auquel les animaux supérieurs réalisent des gestes sophistiqués comme la marche. Chez l'oiseau, cette structure est tout particulièrement développée.
### 1.1.e RASSEMBLEMENT DES ORIENTATIONS.

Il convient de noter que l'objectif de cette thèse n'est pas de discuter ou de comparer une recherche de modèle spécifique ou une méthode neuro-évolutive comme EANT1/2 [32], CoSYnE [3], DXNN ou NEAT par rapport à d'autres méthodes déjà abordées [33], [34], [35]. Elle a pour but d'explorer l'utilisation de l'approche phylogénétique, plus précisément l'apprentissage par rétro-propagation de gradient avec des mutations préplanifiées, et donc l'entraînement des couches, l'une après l'autre, au fur et à mesure que le réseau neuronal profond se construit.

Malgré toutes les applications existantes des modèles multicouches profonds, il reste encore difficile de construire des modèles qui généralisent ou s'adaptent efficacement à certains types de problèmes et à des données complexes.

D'autres chercheurs travaillent sur de nouveaux types de topologies de modèles.

La topologie qui est testée dans [40] comprend un système algorithmique de neuromodulation qui pilote le fonctionnement du réseau de neurones pour en augmenter la capacité d'adaptation.

Les animaux sont excellents pour, en fonction de l'environnement, interagir avec un monde extérieur riche, imprévisible et en constante évolution, une propriété qui manque actuellement aux systèmes artificiels intelligents. Cette propriété d'adaptation repose sur la neuromodulation cellulaire, le mécanisme biologique qui contrôle de manière dynamique les propriétés intrinsèques des neurones ainsi que leur réponse aux stimuli extérieurs et ce, de manière adaptée au contexte.

Cette nouvelle approche est prometteuse mais elle n'enlève en rien l'intérêt de l'approche PRL. Elle serait même complémentaire à cette dernière.

## 1.2 CADRE EXPERIMENTAL

Voici deux exemples tirés de la littérature en lien avec l'objectif de maitriser la difficulté d'apprentissage des modèles de réseaux de neurones profond impactés par le VGE.

### 1.2.a DEEP CASCADE LEARNING (2018)

Dans le papier [31], les auteurs décrivent une méthode de construction de réseau de neurones dits en cascade.

Les couches sont ajoutées les unes après les autres avec utilisation, à chaque itération, d'une couche d'« output » pour assurer l'apprentissage de la couche ajoutée (Figure 9).
<figure><img src="image_12.png" /><figcaption>Figure 9 - Deep Cascade Learning :</figcaption></figure>

Training proceeds layer by layer; at each stage using convolutional layer outputs as inputs to train the next layer.
The features are flattened before feeding them to the classification stage. In contrast with the cascade correlation
algorithm, the output block is discarded at the end of the iteration (see Algorithm 1), and typically, it contains a set
of fully connected layers with nonlinearities and dropout.

Une telle formation de réseaux profonds en cascade contourne directement le problème bien connu du « vanishing gradient effect » en garantissant que la sortie est toujours adjacente à la couche en cours d'entrainement.

Ils démontrent ainsi que les couches dites hautes (les premières) alors qu'elles sont mal entrainées avec la méthode classique (DDL), le sont correctement avec cette méthode.

Cette approche est intéressante car elle indique que l'approche phylogénétique sera efficace.

Leur approche bien que séduisante induit cependant un biais important, elle limite la topologie
du réseau de neurones et impose un mode de construction linéaire. Il est donc difficile d'envisager
cette méthode avec des topologies comportant de multiples branches (ce qui est de plus en plus
le cas dans les structurations récentes telles que les topologies de type « Transformers »).

De plus les résultats (Figure 10) ne démontrent pas une meilleure efficacité que celle des méthodes d'entrainement classiques.
<figure><img src="image_13.png" /><figcaption>Figure 10 - DeepCascade learning result comparison</figcaption></figure>

La méthode d'apprentissage DeepCascade propose une solution pour atténuer le VGE [31] en formant des réseaux profonds en cascade ou de manière ascendante couche par couche. Il réduit le VGE, mais ne s'est pas avéré meilleur que le DDL en termes d'efficacité.

## 1.2.b RESEAUX RESIDUELS (2016)

Le papier [29] décrit une méthode de construction de réseaux de neurones qui a émergé il y a déjà quelques années : Le ResNet.

Ce papier montre que plus le réseau de neurones contient de couches (donc profond), plus il a du mal à apprendre. Les auteurs ne discutent pas du calcul de la densité informationnelle de chaque couche mais se penchent sur le comportement de réseaux de profondeur différentes.

<figure><img src="image_14.png" /><figcaption>Figure 11. Impact de la profondeur du réseau sur l'apprentissage</figcaption></figure>

Il y est constaté que les erreurs sont plus importantes au sein des réseaux plus profonds (Figure 11).

Une solution potentielle y est proposée : la modification de la structure de ces réseaux linéaires en utilisant des blocs résiduels. Les blocs résiduels consistent à simplement rajouter un lien entre des couches distantes.
<figure><img src="image_15.png" /><figcaption>Figure 12. Bloc de construction d'un ResNet</figcaption></figure>

L'article démontre que ce « Bypass » (Figure 12) permet au réseau profond de mieux apprendre.

<table><caption>Table 1. ResNet résultat de l'erreur</caption><thead><tr><th></th><th>plain</th><th>ResNet</th></tr></thead><tbody><tr><td>18 layers</td><td>27.94</td><td>27.88</td></tr><tr><td>34 layers</td><td>28.54</td><td><b>25.03</b></td></tr></tbody></table>

Plus le réseau est profond plus les blocs résiduels sont efficaces, limitant le VGE (Table 1).

Cette approche bien qu'intéressante impose, une fois de plus, une topologie au réseau et là, seule une catégorie de réseaux de neurones peut convenir.

## 1.3 SYNTHESE DES LIMITES DE L'ETAT DE L'ART

La recherche bibliographique sur l'utilisation de la phylogénétique montre qu'il n'existe pas à ce jour de recherche sur l'application de la phylogénétique aux réseaux de neurones numériques, ni de planification de mutation topologique sur un réseau de neurones numérique lors de l'apprentissage.

On trouve en revanche beaucoup d'articles sur l'utilisation de l'IA dans la classification phylogénétique des espèces mais qui ne sont bien évidement pas le sujet de cette thèse et seront donc ici ignorés.

Les études connexes à cette thèse concernent le « Vanishing Gradient Effect ». Certaines méthodes décrites semblent s'apparenter à ce qui est étudié dans cette thèse mais elles sont pourtant bien différentes.

Ces recherches bibliographiques ont été utiles pour rationaliser et comprendre en quoi la méthode phylogénétique est innovante et sur quoi, elle peut être efficace.
# 2. PROBLEMES ET MÉTHODOLOGIE PROPOSÉE

Dans ce chapitre seront abordés les problématiques rencontrées actuellement et la méthodologie mise en œuvre pour répondre à la question de recherche.

## 2.1 PROBLEMATIQUES ACTUELLES

Les enjeux majeurs de l'intelligence artificielle (IA) contemporaine sont réunis ici pour mieux comprendre le contexte et les défis liés à la création de réseaux neuronaux toujours plus performants et aptes à résoudre des problèmes de plus en plus complexes.

La revue de littérature révèle que tous les modèles d'IA actuels, quelle que soit leur méthode d'élaboration, sont statiques, c'est-à-dire que leur structure ne se modifie pas pendant l'apprentissage. Cette rigidité limite leur capacité d'apprentissage, en particulier pour les modèles de grande taille et complexes, en partie à cause de la problématique de l'évanescence du gradient d'erreur (le VGE). L'apprentissage phylogénétique pourrait offrir une solution à ce problème.

L'un des défis cruciaux de l'IA est de déterminer la structure la plus optimale possible en fonction de l'objectif poursuivi. Il s'agit de trouver un équilibre entre divers facteurs tels que la rapidité de calcul, le coût en termes de temps et de ressources humaines, la taille du modèle et sa consommation énergétique pour résoudre un problème spécifique.

Au départ, l'efficacité était le seul critère de succès pour résoudre un problème. Cependant, ce point de vue est devenu problématique quand la capacité d'abstraction est devenue un critère de performance essentiel pour l'IA et que la consommation de ressources, qui ne sont pas illimitées, a été prise en compte.

Avec l'évolution des besoins, les modèles d'IA sont devenus plus grands, rendant l'optimisation essentielle. Les frameworks actuels imposent un traitement matriciel, ce qui conduit à des optimisations mathématiques qui, dans la plupart des cas, limitent les capacités d'apprentissage des modèles, comme en témoigne le problème du VGE.

Pour remédier à ces limitations, la pratique courante consiste à modifier des modèles existants, comme Bert et les versions de GPT, qui sont surdimensionnés et pré-entraînés, pour les spécialiser dans un domaine d'application donné. Toutefois, malgré leur efficacité apparente, l'utilisation de ces modèles est limitée en raison de leur coût énergétique, principalement dû à leur taille, une conclusion qui avait déjà été établie dans les travaux de Bender et al, [4].
Un autre défi est la dépendance des résultats aux poids initiaux du modèle. Plus un modèle est grand, plus il y a de poids à déterminer au départ, ce qui rend difficile l'obtention d'un apprentissage efficace, surtout en ce qui concerne la détermination des poids initiaux nécessaires à l'apprentissage. Seules de grandes entreprises sont capables de relever ce défi aujourd'hui.

La taille n'est pas le seul problème. À mesure que les modèles deviennent plus complexes, avec des topologies comportant de nombreuses couches, leur capacité d'apprentissage diminue en raison du VGE. Il existe certes des techniques pour atténuer ce phénomène, comme l'utilisation de fonctions d'activation spécifiques ou la structuration des couches pour connecter directement les couches initiales et finales.

Un autre obstacle est l'utilisation de structures de couche capables de résoudre des problèmes plus complexes, comme la conception de boucles de mémoire. Les couches LSTM, par exemple, ne répondent que partiellement à ce besoin et augmentent la complexité des modèles.

Ces solutions techniques et mathématiques ne résolvent pas fondamentalement les difficultés d'apprentissage inhérentes à ces structures complexes. La difficulté est exacerbée par l'absence de règles formelles pour construire des architectures d'IA, constituant un obstacle majeur à la création de modèles complexes.

Contrairement au domaine numérique, le monde biologique présente un exemple de réseau neuronal complexe et efficace : le cerveau humain. Malgré sa complexité, le cerveau ne semble pas souffrir des mêmes problèmes que les IA en termes d'évolution de taille ou de complexité.

## 2.2 QUESTION DE DEPART ET OBJECTIF

Pour résoudre les problèmes posés par les réseaux neuronaux complexes, pourquoi ne pas utiliser un mécanisme d'apprentissage copiant une fois de plus la nature ?

La nature a programmé l'évolution topologique du cerveau biologique dans l'ADN des espèces facilitant, entre autres, l'apprentissage. La question est donc de savoir si copier ce mécanisme naturel aurait un sens ou une utilité en l'intégrant sur les cerveaux numériques ? Si l'on pouvait coder l'historique de l'évolution topologique qui nous aura permis d'obtenir le meilleur des modèles dans un contexte donné et l'intégrer dans l'apprentissage d'un autre modèle en gardant ou pas, le même contexte ?

Cette approche baptisée Phylogénétique Replay Learning, permettrait alors de réduire l'importance des paramètres initiaux sur le résultat final de l'apprentissage ou encore d'augmenter la capacité d'apprentissage des modèles en réduisant le vanishing gradient effect.
L'objectif est de montrer que l'apprentissage itératif et planifié d'un réseau de neurones numérique issu de mutations successives est plus performant que l'apprentissage du même réseau de neurones (final ou pris dans sa version optimale) gardant sa topologie durant l'apprentissage.

## 2.3 METHODOLOGIE

Elle consiste en

- La comparaison de la méthode d'apprentissage classique (dite DDL) avec la méthode Phylogenetic Replay Learning (dite PRL - voir définition dans le glossaire) conçue pour résoudre le problème d'apprentissage des modèles complexes.

- De réitérer plusieurs fois l'action pour que la comparaison soit statistiquement représentative.

- De mettre en place des métriques telles l'efficacité et l'entropie des modèles obtenus, qui seront utilisées pour effectuer la comparaison.

Cette méthodologie se décline opérationnellement en 3 phases plus une phase de prérequis dite Phase 0 indispensable pour obtenir l'historique des mutations topologiques lors de l'évolution d'un modèle initial vers un modèle Champion.

### Phase 0 :

En effet, au lieu d'utiliser uniquement un processus d'apprentissage direct sur une topologie fixe (méthode dite DDL) comme le font les experts actuellement, la phase 0 permettra d'enrichir le processus avec des modifications planifiées à appliquer sur la topologie du modèle initial en procédant par étape lors de l'apprentissage de ce modèle initial pour obtenir un modèle Champion (méthode PRL).

La phase 0 correspond donc à la définition du chemin phylogénétique du modèle d'expérimentation. Pour créer ce chemin, on applique un algorithme génétique de neuro évolution sur le modèle initial choisi. On passe d'une étape à une autre, en ne mémorisant que les modifications de chaque modèle intermédiaire, $M_n$. Pendant l'élaboration du modèle final champion $M_c$, un chemin phylogénétique est donc enregistré. A la fin, de l'étape 0 on obtient bien un modèle Champion $M_c$ auquel est rattaché un chemin évolutif qui est le chemin phylogénétique (sous la forme d'un code génétique numérique stocké au sein d'un fichier) ainsi que sa topologie de départ $M_0$.

Il est à noter que l'efficacité de la neuro évolution (ici utilisée en phase 0) n'est pas étudiée dans cette thèse, seule l'efficacité de l'approche PRL y est évaluée.
**Phase 1 :**

Les modèles Champions obtenus résultant des expérimentations avec la méthode DDL et celle PRL sont comparés.

**Phase 2 :**

Capacité de transférabilité de la Méthode PRL

La phase 2 soit la transférabilité consiste à l'issue de la phase 0, à partir du modèle « Champion » $M_c$ et de son chemin phylogénétique, de rejouer DDL et PRL dans un champ d'application IA différent (soit avec un jeu de données différent que celui utilisé en phase 1) afin d'évaluer la capacité de transposition du mécanisme d'apprentissage phylogénétique tout en continuant à le comparer avec ce que l'on aurait obtenu avec la méthode DDL dans ce nouveau champ d'application.

**Reproductibilité :**

Capacité de reproductibilité de la Méthode PRL

Pour tester la reproductibilité, les phases de 0 à 2 seront recommencées mais cette fois en partant d'un nouveau modèle initial $M'_{0}$ doté également d'un nouveau jeu de données.

Pour les phases 1, 2 et la reproductibilité, le framework d'apprentissage Keras de Google sera utilisé pour effectuer des expérimentations en environnement contrôlé. L'apprentissage des modèles est effectué par rétropropagation de gradients. Un mécanisme d'arrêt d'apprentissage automatique est mis en place pour qu'il s'arrête automatiquement si le modèle n'apprend plus après plusieurs epoch (voir définition dans le glossaire) successifs.

Comme il n'y a pas d'algorithme de neuroévolution au sein de ce framework, la solution Raise de la société DataValoris, est utilisée en complément pour fournir ce service. A noter que cet algorithme ne sera utilisé que dans la phase 0 de la méthodologie.

Précisons également que l'algorithme phylogénétique (PRL) a été spécifiquement développé pour la thèse pour venir en complément de la solution Raise afin de procéder à l'enregistrement des chemins phylogénétiques (mutations successives) et également de pouvoir les rejouer (comme un lecteur/enregistreur).

Enfin le champ d'application sur lequel cette approche sera testée est dédié à la reconnaissance d'images. Il s'agira alors de comparer les résultats des modèles possédant une topologie fixe et ayant appris directement (méthode DDL) avec ceux possédant une topologie variable et ayant appris de manière évolutive (méthode PRL).
## 2.5 PROTOCOLE EXPERIMENTAL

Pour chaque expérimentation avec un jeu de données choisi, le protocole employé consiste si le chemin phylogénétique n'existe pas de le produire (Phase 0), de comparer les métriques de la méthode PRL et DDL (Phase 1) puis de comparer les métriques des deux méthodes sur un autre jeu de données (Phase 2).

### 2.5.a PHASE 0 : CONSTRUCTION DU MODELE CHAMPION ET DU CHEMIN PHYLOGENETIQUE

* Construction automatique d'un modèle « champion » $M_c$ basé sur la neuro évolution pour l'évolution et le DL pour l'apprentissage sur le corpus de données choisi.

* Stockage de son arbre phylogénétique

* Stockage des informations statistiques des modèles ainsi générés

* Définition de la base de comparaison.

Lors de la construction du chemin phylogénétique, le processus neuroévolutif effectue une sélection (voir définition dans le glossaire) basée sur le score généré par l'algorithme d'apprentissage. Le score utilisé comme fitness est dans notre cas la précision du test du modèle $M_n$. Le système est réglé de telle sorte que la vitesse d'apprentissage diminue lorsque le score ne s'améliore pas pendant 3 évaluations consécutives (Patience - voir définition dans le glossaire). Pour chaque cycle (voir définition dans le glossaire) 10 Mutants (voir définition dans le glossaire) sont formés, puis leurs scores sont comparés aux Modèles M du Hall of Fame (voir définition dans le glossaire), HOF. Si un score d'un modèle $M_{n+1}$ enfant/mutant au sein de la génération (voir définition dans le glossaire) actuelle est supérieur à celui d'un modèle $M_n$ au sein du HOF qui a les mêmes caractéristiques topologiques, le modèle mutant remplace le modèle au sein du HOF. Si le modèle mutant a un score le plus élevé et a une topologie non présente dans le HOF, le modèle avec le score le plus faible dans le HOF est supprimé et le nouveau modèle est ajouté à sa place.
PRL nécessite l'existence d'un chemin phylogénétique du modèle qui doit être formé. La première phase (phase 0) vise à construire le modèle Champion $M_c$ tout en enregistrant son parcours phylogénétique (mutations qui ont été appliquées séquentiellement pour le générer). La neuro évolution est utilisée pour accomplir cela (Figure 13).

La neuro évolution génère un chemin phylogénétique (Figure 14) de la topologie du modèle le plus performant appelé « champion » $M_c$. Dans cette figure théorique, le champion $M_c = M_3$ a 3 ancêtres. La figure montre également quelles mutations topologiques ont été appliquées pour passer d'un modèle à l'autre. L'architecture neuronale est construite par le processus évolutif (qui peut être des CNN, des couches denses, une structure de type Resnet, etc.).

<figure><img src="image_16.png" /><figcaption>Figure 13. Exemple du processus de sélection (NeuroEvolution) [41]</figcaption></figure>
<figure><img src="image_17.png" /><figcaption>Figure 14. Chemin Phylogénétique du champion. [41]</figcaption></figure>

Une autre alternative possible serait, pour pallier le manque d'historique des modèles que l'on trouve aujourd'hui dans la littérature, une approche de construction « artificielle » du chemin évolutif. Elle pourrait peut-être être utilisée [31], et tout modèle profond serait reconstruit couche après couche en utilisant soit une couche de sortie temporaire créée spécifiquement (de la longueur de couche de sortie qui sera ajoutée ensuite) jusqu'à la dernière couche [37] soit en ré-attachant ponctuellement la couche de sortie après chaque couche itérativement ajoutée afin de pouvoir effectuer les apprentissages à chaque étape de reconstruction.

Ces approches de reconstruction du chemin évolutif sont limitées à des topologies simples et principalement séquentielles. De telles limitations sont levées dès qu'il s'agit de construire un chemin basé sur la neuro évolution ou si l'historique des modifications est consigné par les experts ayant constitué le modèle final.

2.5.b PHASE 1 : COMPARAISON DES TESTS D'EFFICACITE DDL ET PRL

A ce stade, le modèle champion et un modèle initial avec le chemin phylogénétique sont définis.
Les tests peuvent démarrer. Ils consistent en :

* Apprentissages multiples, afin d'avoir une vision ensembliste sur les résultats, initié sur des poids initiaux stochastiques du modèle champion M_c sans utilisation des mécanismes évolutifs. C'est un apprentissage direct (DDL) du modèle topologique adulte M_c comme les data-scientists le font traditionnellement dans leur framework.

* Apprentissages multiples basés sur des poids initiaux stochastiques avec utilisation de l'arbre phylogénétique du champion M_c. Chaque test est donc une succession d'apprentissage par rétropropagation de gradients et de mutations programmées par l'arbre phylogénétique depuis le modèle topologique initial M_0 jusqu'à la topologie du
modèle final dit champion $M_c$ avec transferts de poids. Cet ensemble sera appelé « Apprentissage Phylogénétique ou PRL ».

## Apprentissage avec la Méthode PRL :

Le chemin phylogénétique qui mène au modèle champion $M_c$ est défini, il peut être rejoué à volonté depuis le modèle initial $M_0$ jusqu'au modèle champion (Figure 15) $M_c$.

<figure><img src="image_18.png" /><figcaption>Figure 15. The phylogenetic learning path from initial model to the final one.[41]</figcaption></figure>

Lors de la relecture du chemin phylogénétique, il faut :

1. Initialiser le modèle initial avec un nouvel ensemble de poids synaptiques aléatoires

2. Générer les poids aléatoires pour les couches impactées par les mutations.

Cela engendre ensuite le modèle final $M'_c$ avec la même topologie que le modèle champion $M_c$, mais avec son propre ensemble de paramètres. C'est un moyen d'évaluer statistiquement pendant le test l'impact des poids aléatoires initiaux et de l'apprentissage en général.

## 2.5.c PHASE 2 : COMPARAISON DES TESTS DE TRANSFERABILITE OU DE TRANSPOSITION

Il s'agit de faire des tests d'apprentissages PRL du champion $M_c$ existant en le transposant sur un autre jeu de données de données et d'en comparer les résultats avec les tests d'apprentissage direct DDL du champion $M_c$ sur ce même nouveau jeu de données. Ce jeu de données respecte les mêmes caractéristiques que l'original (taille de l'input, nombre de classe de classification) ayant servi a produire le champion mais avec des classes d'objets différentes.

Cette phase générera de nouveaux modèles finaux champion $M''_c$ avec la même structure topologique du modèle $M_c$.
### 2.5.d TESTER LA REPRODUCTIBILITE

Il s'agit dans ce cas de vérifier que la méthode PRL est efficace versus DDL si on la réutilise en rejouant les phases 0, 1 et 2 en utilisant sur un autre champ d'application avec un autre jeu de données et un autre modèle.

Ici sont utilisés de nouveaux modèles initiaux et champions, respectivement $N_0$ et $N_c$.

Des tests de transférabilité seront aussi effectués sur ces nouveaux modèles pour obtenir des $N_c''$.

## 2.6 TECHNIQUES, BIAIS, ECHANTILLON, TYPES D'ANALYSES

### 2.6.a Environnement de travail

Voici les Framework d'apprentissage qui seront utilisés pour toutes les expérimentations de cette thèse :

**Type A** : Keras au-dessus de plaidML (pour le support de GPU AMD) sur Python 3.7.

Intel Core i9 8 cœurs

64 Go 2667 MHz DDR4

AMD Radeon Pro 5500M VRAM (totale) : 8 Go, Unités de calcul : 22, Performances de calcul en demi-précision maximales : 9.26 TFLOPs

**Type B** : Keras au-dessus de TensorFlow (pour le support de GPU NVIDIA au Genci ou Cloud IBM).

Framework Neuroévolutif : Neural Network Topology Optimizer v3 de la plateforme Raise de DataValoris

Un serveur avec des cartes Nvidia Tesla v100 GPU.

Soit sur un accès aux ressources HPC/AI de l'IDRIS sous allocation 2021- AD011012674 accordé par le GENCI. Soit sur serveur Cloud IBM

Pour les tests, même si deux types de hardwares ont été utilisés selon les expérimentations, les mêmes environnements sont utilisés pour les comparaisons d'un même modèle $M_c$, $M'_c$ et $M''_c$ sur une expérimentation donnée.
## 2.6.b ÉCHANTILLON ET JEUX DE DONNEES

Les trois mêmes datasets seront utilisés pour les besoins des tests principaux.

Deux autres datasets ont été utilisés pour valider le résultat sur d'autres champs de recherche en
test de reproductibilité.

* JEU DE DONNEES MNIST

Corpus de 50,000 32x32 images de chiffres en niveau de gris d'entrainement, labellisées en 10 catégories (0,1,2,3,4,5,6,7,8,9), et 10,000 images de test.

keras datasets mnist load data()

<figure><img src="image_19.png" /><figcaption>Figure 16 représentation du dataset MNIST</figcaption></figure>
• JEU DE DONNEES MNIST FASHION

Les caractéristiques de ce jeu de données sont un volume de 50,000 images en 32x32 pixels en niveau de gris, labellisées en 10 catégories de vêtements (T-shirt, Pantalon, Pullover, Robe, Manteau, Sandal, Shirt, Sneaker, bag, boots) pour l'entrainement, et de 10,000 images de test.

keras datasets fashion mnist load data()

<figure><img src="image_20.png" /><figcaption>Figure 17 représentation du dataset MNIST Fashion</figcaption></figure>

• JEU DE DONNEES CIFAR 10 « GREY » BASE SUR LE CIFAR10 MODIFIE

Corpus initial de 50,000 images en couleur 32x32 pixel d'entrainement, labellisées en 10 catégories, et 10,000 images de test.

keras datasets cifar10 load data()

<figure><img src="image_21.png" /><figcaption>Figure 18 représentation du dataset CIFAR10</figcaption></figure>

Le traitement effectué sur ce jeu de données pour passer de la couleur aux Niveaux de gris :
```python
train_data_downscaled = np.zeros((50000, 28, 28))
test_data_downscaled = np zeros((10000, 28, 28))
for i, img in enumerate(X_train):
    small img = cv2_resize(img, dsize=(28, 28), interpolation =cv2_INTER_CUBIC)
    train_data_downscaled[i] = cv2.cvtColor(small img, cv2.COLOR_BGR2GRAY)
X_train= train_data_downscaled
for i, img in enumerate(X_test):
    small img = cv2_resize(img, dsize=(28, 28), interpolation =cv2_INTER_CUBIC)
    test_data_downscaled[i] = cv2.cvtColor(small img, cv2.COLOR_BGR2GRAY)
X_test= test_data_downscaled
# END OF CIFAR10 RESHAPE
```

L'objectif de cette correction est double.

1/ de complexifier la tâche d'apprentissage du réseau de neurones. En effet la couleur est un élément important dans la reconnaissance de ces objets.

2/ de faciliter le transfert phylogénétique en conservant les input et output entre les 3 jeux de données.

<figure><img src="image_22.png" /><figcaption>Figure 19 représentation du dataset CIFAR10 désaturé</figcaption></figure>
• JEU DE DONNEES TINY IMAGENET

Tiny ImageNet est un sous-ensemble du jeu de données du célèbre [ImageNet Large Scale Visual Recognition Challenge (ILSVRC)](https://www.imagenet.org/).

L'ensemble de données contient 100 000 images de 200 classes (500 images pour chaque classe) avec une résolution de 64 × 64 pixels en couleur. Chaque classe contient 400 images d'entraînement, 50 images de validation et 50 images de test

<figure><img src="image_23.png" /><figcaption>Figure 20 représentation du dataset Tiny ImageNet</figcaption></figure>

• SIMULATEUR GYM (CARTPOLE)

Un CartPole est un terrain de jeu simulé simple fourni par OpenAI pour entraîner et tester des algorithmes d'apprentissage par renforcement.

Le projet CartPole est de faire apprendre un modèle de réseau de neurones sur des informations issues d'un simulateur par renforcement. Ici le simulateur GYM a été utilisé dans le contexte du CartPole où le but est de faire tenir le bâton le plus longtemps malgré les mouvements aléatoires du chariot.

<figure><img src="image_24.png" /><figcaption>Figure 21. Cartpole</figcaption></figure>
• TRAITEMENTS EFFECTUES SUR LES JEUX DE DONNEES MNIST, FASHION MNIST ET CIFAR :

Aucune augmentation de données n'est utilisée et la répartition Train/Test est celle fournie en
standard du site source (Keras).

Normalisation des données

# transformation de l'output en 10 colones chacune représentant une réponse 1000000000 correspond à la première catégorie, 0100000000 à la deuxième et ainsi de suite...

Y_train = np_utils.to_categorical(Y_train)

Y_test = np_utils.to_categorical(Y_test)

# mise en forme technique du tableau d'input (images)

X_train = X_train.reshape(X_train.shape[0], 28, 28, 1).astype('float32')

X_test = X_test.reshape(X_test.shape[0], 28, 28, 1).astype('float32')

# normalization des pixels des images d'une Valeur 0-255 en nombre compris entre 0 et 1

X_train = X_train / 255

X_test = X_test / 255

2.6.c BASE DU CODE D'APPRENTISSAGE KERAS ET NEUROEVOLUTION

Voici le code de base utilisé pour les apprentissages entre les évolutions. Sauf exceptions qui seront précisées, seule la patience du early_stop, entre 3 et 9, et le nombre d'epoch, entre 20 et 60, de l'entrainement, évolueront.

# compilation du modèle utilisé

Model.compile(loss=Loss, optimizer=Optimizer, metrics=[Config['metrics']])

#definition des conditions d'arrêt de l'apprentissage pour éviter le sur-apprentissage

early_stop =keras callbacks.EarlyStopping( monitor='val_loss', min_delta=0, patience=3, verbose=0, mode='auto', baseline=None, restore_best_weights=True)

# definition du contrôle de la Vitesse d'apprentissage lors de la retropropagation de
gradiant pour affiner l'apprentissage en fin de cycle

reduce_lr =keras callbacks.ReduceLROnPlateau( monitor='val_loss', factor=0.2, patience=1, min_lr=0.001, verbose=1)

#log du temps d'apprentissage

time_callback = client.TimeHistory()

# lancement de l'apprentissage en précisant les données d'apprentissage et de validation

FitResults = Model.fit(X_train, Y_train, validation_data=(X_test, Y_test), epochs=20,
batch_size=Config['batch_size'], callbacks=[early_stop, reduce_lr, time_callback],
verbose=2)

Pour la partie neuroévolutive la technologie de la société Datavaloris a été utilisée. Ils ont accepté, pour des raisons de recherche, que leurs algorithmes soient utilisés gracieusement sans dévoiler leurs secrets industriels. Dans le cadre de cette thèse, il n’est pas nécessaire d’en savoir plus que
ce qui sera décrit dans ce document. Tout algorithme génétique appliqué au graphe de couches des modèles Keras aboutissant à une amélioration des modèles est utilisable.

La technologie utilisée est un algorithme génétique qui fait muter la topologie des modèles « Keras » dans notre cas, puis en évalue l'efficacité et sélectionne les modèles mutants les plus performants pour aboutir à un modèle champion.

<figure><img src="image_25.png" /><figcaption>Figure 22 Exemple de mutations [41]</figcaption></figure>

Les développements qui ont été effectuées pour cette thèse et qui ont été appliquées à l'algorithme génétique sont l'enregistrement des séquences de mutations (Figure 22) pour générer un chemin phylogénétique (Figure 23) et surtout pouvoir le rejouer à volonté à partir du modèle mère initial.

<figure><img src="image_26.png" /><figcaption>Figure 23 représentation d'un chemin phylogénétique</figcaption></figure>
<figure><img src="image_27.png" /></figure>

Attention ! En algorithmie génétique classique, la génération est ici appelée cycle. Cela étant précisé, un modèle M₃ avec 98,23% de score du cycle 8 et de génération 3, a donc 3 ancêtres dans son arbre phylogénétique et a été obtenu au cycle 8 (il aurait tout autant pu apparaître en cycle 3 au minimum ou 12...).

La neuro évolution ne sert que pour la Phase 0 de construction de l'arbre phylogénétique (manquant dans les modèles que l'on trouve sur internet).

Elle n'a pas d'importance en soit pour la thèse mais elle est détaillée un peu ici pour permettre aux lecteurs intéresser de comprendre son fonctionnement.

Le code génétique d'un modèle décrit de manière neutre la structure en graphe de la topologie du réseau de neurones du modèle considéré. Il inclut aussi l'historique de mutation depuis le modèle initial. Il est stocké au format XLM JSON voir Figure 24

<figure><img src="image_28.png" /><figcaption>Figure 24 - Ex de génotype d'un modèle</figcaption></figure>

Ce génotype est transformé en un phénotype qui est pour les besoins de la thèse un modèle au
format Keras/TensorFlow.
Règles utilisées par le moteur évolutif :

"PopSize": 5,
Taille de la population produite a chaque étape.

"FitnessGoal": 1.0,
Objectif du moteur évolutif qui s'arrêtera lorsqu'atteint ici un score de 100%

"LearnRate": 0.1,
Paramètre permettant de définir la puissance des mutations appliquées

"SelectionType": "UnScaled",
Paramètre permettant de limiter ou non la production de mutant de taille inférieur au parant

"SelectionParameter": 0.001,
Critère permettant de définir la tolérance de remplacement d'un champion par un mutant de
performance supérieur ou équivalente

"HOFSize": 10,
Taille du pool de champion

"NeuralEffeciency": 0.5,
Paramètre permettant de définir la puissance des mutations appliquées

"ProblemDomain": "Classification",
"LayerSearchConstraint": "PureLayers",
"MutationSearchConstraint": "Unconstrained",
Paramètres définissant les contraintes de mutations

"FreezeWeights": false,
Paramètre indiquant si un mutant voit ses poids hérités du parent figés lors de
l'apprentissage. Peut améliorer la vitesse d'apprentissage local des modèles.
## 2.6.d METRIQUES D'EVALUATION

La métrique utilisée pour la comparaison des modèles est la précision du jeu de test (Test Accuracy). L'arrêt précoce (early stop) a été appliqué, basé sur le score suivi et qui n'a pas été utilisé pour l'entraînement. La précision est utilisée comme métrique.

Pour mieux comprendre la différence de densité informationnelle des modèles, l'entropie de Shannon de leurs poids [36] (1), (2) après entraînement est calculée :

$$P_i = \frac{i}{\sum_{i=1}^{n} (i)} \qquad (1)$$

H entropy :

$$H = - \sum_{i=1}^{n} P_i \ln (P_i) \qquad (2)$$

## 2.6.e BIAIS METHODOLOGIQUES

Pour limiter des biais méthodologiques et faciliter la reproductibilité des expérimentations, il a été choisi d'utiliser des corpus de données publics et non augmentés. C'est un choix permettant de faire des comparaisons objectives.

Le propos de la thèse n'est pas de prouver l'efficacité de l'augmentation de données, sujet traité par ailleurs dans d'autres publications. Ces techniques complémentaires pourront être appliquées ultérieurement et dans les phases d'industrialisation.

La réduction de dimension du CIFAR10 induira un biais d'apprentissage car certaines images seront beaucoup plus difficiles à reconnaître et donc à apprendre. L'avantage de cette approche est que cette complexité d'apprentissage simule un système difficile à apprendre, comme il aurait été possible avec des jeux de donnés beaucoup plus conséquents mais que la puissance de calcul à disposition pour cette thèse n'aurait pas permis d'expérimenter.

Pour les comparaisons des résultats des tests, les hyperparamètres d'apprentissage seront les mêmes sauf pour le DDL où ils seront renforcés (epoch et patience doublée). Ainsi en cas de résultats en faveur du PRL, les résultats de la méthode DDL maximisés diminueront les contestations.

La notion de complexité d'un modèle Mc est en soit un sujet. Ce qui peut sembler complexe a un expert ne l'est peut-être pas dans la réalité. La règle utilisée (et discutable) est qu'un modèle est d'autant plus complexe qu'il est profond et dotés d'embranchements.
# 3. ANALYSE DES RÉSULTATS

Dans ce chapitre, les résultats des expérimentations qui ont été effectuées en suivant le protocole défini plus avant, y sont détaillés et analysés.

La première expérience sert de base à l'analyse et donne les premiers résultats sur la pertinence des méthodes.

Les expériences suivantes permettent de tester la reproductibilité des résultats obtenus en première expérimentation dans des contextes différents. Que ce soit de données mais aussi de méthodes d'apprentissage.

## 3.1 EXPERIENCE 1.

L'expérience 1, utilise le jeu de données MNIST

### 3.1.a EXP 1 - PHASE 0 : CONSTRUCTION DU CHEMIN PHYLOGENETIQUE

La Table 2 montre le modèle simple $M^1_0$ utilisé comme modèle de départ. Il comprend 7850 paramètres et 1 couche cachée dans une architecture séquentielle.

<table><caption>Table 2. Modèle initial 1, $M^1_0$.</caption><thead><tr><td>Layer Number</td><td>Type</td><td>Output</td><td>Params</td></tr></thead><tbody><tr><td>1</td><td>InputLayer</td><td>N, 28, 28, 1</td><td>0</td></tr><tr><td>2</td><td>Flatten</td><td>N, 784</td><td>0</td></tr><tr><td>3</td><td>Dense</td><td>N, 10</td><td>7850</td></tr></tbody></table>

Création du Champion 1 : $M^1_c$ et de son chemin phylogénétique :

L'expérience a été configurée comme suit :

* Lors de l'utilisation de la méthode neuroévolutive, une population de départ de 20 modèles minimalistes aléatoires est générée.

* 5 mutants sont générés à chaque cycle (par mutation) à partir des meilleurs modèles du HOF (avec une taille maximale du HOF de 10), où la probabilité d'utiliser un modèle comme parent de la progéniture mutante étant proportionnelle à son score (précision) par rapport aux autres modèles du HOF.
* Cette expérience a utilisé le jeu de données MNIST.

* Le moteur évolutif a appliqué 1 à 2 mutations (choisies au hasard) pour créer un modèle de descendants mutants à partir du parent choisi.

Les paramètres d'apprentissage en profondeur utilisés étaient les suivants : 20 epochs avec une patience de 3 (nombre d'epoch sans amélioration avant arrêt de l'apprentissage), basée sur la métrique de val_loss.

La patience est un paramètre d'apprentissage qui définit le nombre de tentatives d'apprentissage infructueux avant d'arrêter le processus d'apprentissage.

Dans la liste des champions générés à l'aide de la méthode neuroévolutive (phase 0), le meilleur $M^1_c$ est choisi, comme indiqué dans le Table 3.

<table><caption>Table 3. Information du Champion 1 $M^1_c$ choisi (MNIST).</caption><thead><tr><td>Score</td><td>Cycle</td><td>Génération</td><td>Paramètres</td><td>Noeud</td><td>Couches</td></tr></thead><tbody><tr><td>0.9944</td><td>96</td><td>19</td><td>409158</td><td>25</td><td>13</td></tr></tbody></table>

Le champion $M^1_c$ (= $M^1_{19}$) choisi a 409158 paramètres (poids, biais...) répartis entre 25 nœuds (éléments de la structure du réseau de neurone qui peuvent être soit des nœud techniques soit des noeuds de type couche de neurones) de 13 couches profondes de réseaux de neurones. Il a été généré au 96ème cycle et est de la génération 19 (il a 19 ancêtres et a nécessité 19 étapes de mutations). Son score de 99,44 % est proche de celui de l'état de l'art sur le corpus MNIST non augmenté. Les mutations enregistrées à chaque étape qui conduisent à la topologie championne finale sont affichées dans la Table 4. À chaque étape évolutif, 1 à 2 mutations ont été appliquées. Le nombre de mutations appliquées à chaque étape est limité à un maximum de 2 afin de générer un modèle complexe avec de petits changements entre chaque étape, ce qui permet à PRL de travailler sur des parties plus petites lors de chaque mutation.

La Table 4 présente une base de comparaison ; il montre les scores PRL du champion $M^1_c$ à chaque étape de son parcours évolutif (ici 19 générations). Ces scores ont été utilisés comme critères de sélection pour l'entrée HOF des descendants au cours du processus évolutif. Ce premier résultat montre que le modèle a augmenté de taille. Il s'agit d'un comportement classique d'un algorithme génétique si aucune restriction de taille n'est favorisée lors de la génération et de la mutation du modèle (les mutations de réduction de taille sont moins efficaces au début de l'évolution). On voit aussi que l'entropie de Shannon décroît de génération en génération, passant de 8,98 à 8,90 (modèle initial exclu, i.e.12,51).
<table><caption>Table 4. Score pour chaque étape évolutives du champion $M^1_c$.</caption><thead><tr><th>Etape</th><th>Taille</th><th>SCORE</th><th>SHANNON</th><th>Etape</th><th>Taille</th><th>SCORE</th><th>SHANNON</th></tr></thead><tbody><tr><td>0</td><td>7850</td><td>8.79</td><td>12.5151</td><td>10</td><td>264970</td><td>99.3</td><td>8.92824</td></tr><tr><td>1</td><td>94906</td><td>97.51</td><td>8.98112</td><td>11</td><td>269130</td><td>99.27</td><td>8.92447</td></tr><tr><td>2</td><td>27082</td><td>98.43</td><td>8.97188</td><td>12</td><td>300874</td><td>99.28</td><td>8.92426</td></tr><tr><td>3</td><td>58538</td><td>98.96</td><td>8.98559</td><td>13</td><td>300874</td><td>99.33</td><td>8.91894</td></tr><tr><td>4</td><td>90346</td><td>99.03</td><td>8.98102</td><td>14</td><td>304970</td><td>99.34</td><td>8.91918</td></tr><tr><td>5</td><td>90282</td><td>99.03</td><td>8.96616</td><td>15</td><td>304970</td><td>99.34</td><td>8.91798</td></tr><tr><td>6</td><td>183818</td><td>99.23</td><td>8.95914</td><td>16</td><td>304970</td><td>99.35</td><td>8.91156</td></tr><tr><td>7</td><td>183818</td><td>99.19</td><td>8.9567</td><td>17</td><td>304970</td><td>99.36</td><td>8.90396</td></tr><tr><td>8</td><td>258570</td><td>99.24</td><td>8.94914</td><td>18</td><td>405486</td><td>99.41</td><td>8.90111</td></tr><tr><td>9</td><td>264330</td><td>99.29</td><td>8.9393</td><td>19</td><td>409158</td><td>99.44</td><td>8.90037</td></tr></tbody></table>

Cette réduction d'entropie peut être interprétée comme l'augmentation de l'organisation et de la quantité d'informations utiles stockées par les poids du modèle. L'ensemble de poids presque aléatoire pour $M^1_0$ passe à un ensemble de poids qui stocke des informations utiles avec une distribution plus organisée pour $M^1_{19}$.

### 3.1.b EXP 1 - PHASE 1 : TESTS D'EFFICACITÉ : DDL VS PRL

Au cours de la phase 1, les résultats des deux différentes approches d'apprentissage pour évaluer l'impact de l'utilisation de PRL par rapport au DDL sont rassemblés.

Ces tests vont permettre de constater l'impact de l'application de la phylogénèse à l'équivalent de l'embryogénèse pour la construction d'une entité neurogénétique numérique.

Il s'agit donc de rejouer l'évolution d'un modèle initial « primitif » $M^1_0$ en appliquant les mutations qui ont été enregistrées dans le chemin évolutif lors de la construction d'un modèle « final » champion $M^1_c$ de réseau de neurones.

Plus le modèle est complexe et profond, plus l'effet de la méthode PRL devrait être efficace contrant, entre autres, l'effet grandissant du gradient évanescent (VGE).

Les résultats bruts sont décrits puis suivis de l'analyse statistique de ces derniers pour en tirer des conclusions partielles.
• DDL DU CHAMPION 1 $M^{1d_c}$

Pour évaluer la capacité d'apprentissage du modèle généré par la phase 0, le Champion 1, $M^1_c$, 50 exécutions de la méthode d'apprentissage standard DDL sont appliquées directement à la topologie de ce modèle $M^1_c$.

Les poids initiaux de chaque expérience ont été initialisés aléatoirement. Ce nombre d'exécutions permet de calculer un écart-type statistiquement pertinent. En théorie, les résultats d'apprentissage DDL du modèle $M^{1d_c}$ pourrait être les mêmes (voir meilleurs) que le champion 1 original $M^1_c$ car la seule différence se trouve dans les poids du réseau de neurones, mais la probabilité que ces 409158 paramètres aléatoires soient précurseurs d'un optimum post apprentissage reste très faible et proche de 0.

Pour effectuer ces expériences et maximiser la probabilité d'atteindre un bon minimum local, 60 epochs par cycle ont été utilisés, avec une patience fixée à 6 (soit le double de ce qui sera utilisé pour le PRL). Au cours de nos expériences, un maximum de 53 epochs ont été utilisés avant l'arrêt précoce (quand le modèle n'apprend plus). En moyenne, 45 epochs sur 60 ont été exploités avant le déclenchement de l'arrêt précoce.

Pour rappel, au cours de la phase 0 de la méthode PRL, le champion 1, $M^1_c$, a atteint une précision de 99,44 %. Son entropie de Shannon était de 8,90037.

Le meilleur score/précision obtenu lors de l'expérimentation en utilisant la DDL pour arriver au modèle champion $M^{1d_c}$ est de 99,05 %, avec une différence statistiquement significative (Table 5).

Le VGE est soupçonné d'être à l'origine de ce mauvais résultat. De plus, il est visible que l'entropie de Shannon du modèle $M^{1d_c}$ le plus performant formé à l'aide de l'approche DDL (9,1227) est également supérieure à l'entropie du modèle champion 1 $M^1_c$ produit lors de la phase 0 (8,9003).

<table><caption>Table 5. Résultats du DDL sur le champion 1 : $M^{1d_c}$ (MNIST).</caption><thead><tr><td>$M^{1d_c}$</td><td>SCORE</td><td>SHANNON</td></tr></thead><tbody><tr><td>BEST</td><td>99.05</td><td>9.1227</td></tr><tr><td>MEAN</td><td>98.93</td><td>9.1615</td></tr><tr><td>Standard Deviation</td><td>0.067</td><td>0.0168</td></tr></tbody></table>
Les résultats obtenus lors de l'utilisation de DDL sur la topologie du modèle champion sont également moins bons que le résultat obtenu lors de la phase 0 de cette expérience.

• PHYLOGENETIC REPLAY LEARNING DU CHAMPION 1 $M^{1P_c}$

A partir du modèle initial $M^1_0$, les mutations sont appliquées en fonction du chemin phylogénétique du modèle champion 1, $M^1_c$. Les poids sont générés de manière aléatoire pour les nouvelles couches mutées ainsi que pour le modèle $M^1_0$ de départ. L'expérience PRL a été reproduite 50 fois pour recueillir des données statistiquement représentatives sur lesquelles baser les résultats.

Les poids des couches non mutées n'étaient pas réinitialisés entre les mutations (ce qui peut être considéré comme un apprentissage par transfert partiel). La Table 6 montre les résultats des 50 expériences PRL.

Le meilleur score atteint de $M^{1P_c}$, est de 99,40% avec une moyenne de 99,26%. Ce score est très proche de celui du modèle champion 1 original $M^1_c$ qui atteignait 99,44%. Il y a donc une cohérence substantielle.

<table><caption>Table 6. Résultats du PRL sur le champion 1 : $M^{1P_c}$ (MNIST).</caption><thead><tr><th>Step</th><th>Mean Score</th><th>Std. Deviation</th><th>Best Score</th><th>Shannon</th><th>Step</th><th>Mean Score</th><th>Std. Deviation</th><th>Best Score</th><th>Shannon</th></tr></thead><tbody><tr><td>0</td><td>92.14</td><td>0.0771</td><td>92.33</td><td>12.5163</td><td>10</td><td>99.16</td><td>0.0647</td><td>99.32</td><td>8.8497</td></tr><tr><td>1</td><td>97.68</td><td>0.2711</td><td>98.11</td><td>8.9256</td><td>11</td><td>99.17</td><td>0.0700</td><td>99.35</td><td>8.8454</td></tr><tr><td>2</td><td>98.35</td><td>0.0925</td><td>98.58</td><td>8.9015</td><td>12</td><td>99.18</td><td>0.0563</td><td>99.31</td><td>8.8437</td></tr><tr><td>3</td><td>98.88</td><td>0.0841</td><td>99.02</td><td>8.9079</td><td>13</td><td>99.19</td><td>0.0641</td><td>99.34</td><td>8.8415</td></tr><tr><td>4</td><td>99.01</td><td>0.0676</td><td>99.16</td><td>8.8960</td><td>14</td><td>99.19</td><td>0.0626</td><td>99.34</td><td>8.8396</td></tr><tr><td>5</td><td>99.05</td><td>0.0634</td><td>99.13</td><td>8.8802</td><td>15</td><td>99.19</td><td>0.0618</td><td>99.31</td><td>8.8373</td></tr><tr><td>6</td><td>99.12</td><td>0.0553</td><td>99.23</td><td>8.8749</td><td>16</td><td>99.24</td><td>0.0606</td><td>99.36</td><td>8.8262</td></tr><tr><td>7</td><td>99.11</td><td>0.0541</td><td>99.22</td><td>8.8702</td><td>17</td><td>99.24</td><td>0.0521</td><td>99.37</td><td>8.8208</td></tr><tr><td>8</td><td>99.14</td><td>0.0515</td><td>99.27</td><td>8.8628</td><td>18</td><td>99.24</td><td>0.0542</td><td>99.35</td><td>8.8185</td></tr><tr><td>9</td><td>99.14</td><td>0.0660</td><td>99.26</td><td>8.8547</td><td>19</td><td>99.26</td><td>0.0628</td><td>99.40</td><td>8.8147</td></tr></tbody></table>
L'entropie de Shannon du modèle $M^{1}_{P_c}$ le plus performant formé à l'aide de l'approche PRL (8,8147) est inférieure à l'entropie du modèle champion $1 M^{1}_{c}$ produit lors de la phase 0 de la méthode (8,9003) ce qui en soit est intéressant même si la différence n'est pas significative.

## ANALYSE DES RESULTATS

La Table 7 montre les informations statistiques des expérimentations DDL and PRL.

<table><caption>Table 7. Statistiques de l'expérience 1</caption><thead><tr><th></th><th>DDL</th><th>PRL</th><th></th></tr></thead><tbody><tr><td>Mean Score</td><td>98.93%</td><td>99.26%</td><td>POOLED VARIANCE</td><td>4.2E-07</td></tr><tr><td>VARIANCE</td><td>4.5E-07</td><td>3.9E-07</td><td>T STAT</td><td>-25.13668</td></tr><tr><td>OBSERVATIONS</td><td>50</td><td>50</td><td></td></tr></tbody></table>

* Les scores sont inférieurs à ceux produits par le champion $M^{1}_{c}$ (qui a suivi le chemin optimal en phase 0). Cela est probablement dû aux poids générés aléatoirement à chaque étape. Mais, il est également visible que l'écart type des expériences est faible, il y a donc une cohérence de performance en ce qui concerne les résultats produits par PRL.

* Le score produit par PRL est meilleur que celui produit par DDL. Avec un maximum moyen de 99,26% contre 98,93% de DDL, la différence est statistiquement significative ($p < 0,001$ - Table 7. Statistiques de l'expérience 1) et la distribution est bien séparée Figure 25. Même constat, en comparant les deux maximums de 99,40 % (PRL $M^{1}_{P_c}$) et 99,05 % (DDL $M^{1}_{D_c}$). Donner plus de temps à DDL pour s'entraîner (60 epochs) n'améliore pas ses performances (l'arrêt précoce se produit presque toujours avant le nombre maximum d'epochs).

* L'écart type de PRL est inférieur (meilleur) à celui du DDL (Table 7). C'est un faisceau d'indices qui semble confirmer que PRL est une approche plus robuste et plus résistante à l'initialisation aléatoire des poids.

* Au cours de l'expérience PRL, la valeur de Shannon a constamment diminué à chaque étape (Table 6) du processus. Cela peut être vu comme une organisation/densité informationnelle croissante du modèle tandis que la complexité du modèle augmente à chaque étape.

* L'entropie de Shannon du modèle basé sur PRL est inférieure (meilleure) que celle du modèle basé sur DDL ; 8,81 contre 9,16.

Les deux derniers résultats renforcent l'hypothèse que le PRL atténue le VGE. Bien que d'autres tests devraient être menés pour conforter l'analyse de cette méthode phylogénétique, ces résultats semblent d'ores et déjà annoncer une voie prometteuse. La Table 8 montre que lors de l'utilisation
de DDL, l'entropie de Shannon des dernières couches du modèle est inférieure à celles du modèle formé par PRL (valeurs en gras pour l'entropie la plus faible dans la Table 8). L'entropie calculée pour chaque couche du champion 1 est affichée à des fins de comparaison.

<table><caption>Table 8. Comparaison des entropies de Shannon par couche du NN.</caption><thead><tr><th>LAYER #</th><th>TYPE</th><th>DDL<br>M<sup>1d</sup><sub>c</sub></th><th>PRL<br>M<sup>1p</sup><sub>c</sub></th><th>Ref.<br>M<sup>1c</sup></th></tr></thead><tbody><tr><td>2</td><td>CONV2D</td><td>9.162</td><td>8.815</td><td></td></tr><tr><td>3</td><td>SEPCNV2D</td><td>8.372</td><td>8.234</td><td>8.235</td></tr><tr><td>4</td><td>CONV2D</td><td>15.159</td><td>15.138</td><td>15.142</td></tr><tr><td>5</td><td>DENSE</td><td>14.776</td><td>14.727</td><td>14.715</td></tr><tr><td>6</td><td>DENSE</td><td>11.683</td><td>11.687</td><td>11.691</td></tr><tr><td>7</td><td>CONV2D</td><td>14.155</td><td>14.081</td><td>14.054</td></tr><tr><td>8</td><td>CONV2D</td><td>14.186</td><td>14.077</td><td>14.068</td></tr><tr><td>9</td><td>DENSE</td><td>12.104</td><td>12.101</td><td>12.095</td></tr><tr><td>10</td><td>DENSE</td><td>11.684</td><td>11.688</td><td>11.689</td></tr><tr><td>11</td><td>DENSE</td><td>17.405</td><td>17.512</td><td>17.517</td></tr><tr><td>12</td><td>DENSE</td><td>11.689</td><td>11.711</td><td>11.713</td></tr><tr><td>13</td><td>DENSE</td><td>12.466</td><td>12.588</td><td>12.582</td></tr></tbody></table>

Cela laisse entendre que l'entrainement standard (DDL) affecte principalement les dernières couches du modèle en raison du VGE. Le modèle DDL stocke ses informations dans ces couches de manière plus dense, tandis qu'avec la méthode PRL, l'ajustement du poids et le stockage des informations sont répartis plus uniformément entre les couches hautes et basses du modèle final. De plus les Shannon de chaque couche du modèle PRL sont plus proches de celles du modèle Champion issu de la phase 0 utilisé comme référence de métrique (en **bleu** dans la table 8). L'entropie totale de Shannon est plus faible dans PRL que dans DDL.
<table><caption>Table 9. Comparaison DDL vs. PRL pour chaque étape évolutives.</caption><thead><tr><th>STEP</th><th>DDL Max. score</th><th>PRL Mean score</th><th>STEP</th><th>DDL Max. score</th><th>PRL Mean score</th></tr></thead><tbody><tr><td>0</td><td>92.140</td><td>92.144</td><td>10</td><td>98.760</td><td>99.161</td></tr><tr><td>1</td><td>98.160</td><td>97.679</td><td>11</td><td>98.870</td><td>99.173</td></tr><tr><td>2</td><td>98.130</td><td>98.347</td><td>12</td><td>98.870</td><td>99.179</td></tr><tr><td>3</td><td>98.470</td><td>98.879</td><td>13</td><td>98.760</td><td>99.193</td></tr><tr><td>4</td><td>98.430</td><td>99.007</td><td>14</td><td>98.860</td><td>99.186</td></tr><tr><td>5</td><td>98.420</td><td>99.048</td><td>15</td><td>98.750</td><td>99.192</td></tr><tr><td>6</td><td>98.560</td><td>99.115</td><td>16</td><td>98.860</td><td>99.239</td></tr><tr><td>7</td><td>98.780</td><td>99.105</td><td>17</td><td>98.860</td><td>99.239</td></tr><tr><td>8</td><td>98.770</td><td>99.135</td><td>18</td><td>98.820</td><td>99.243</td></tr><tr><td>9</td><td>98.940</td><td>99.138</td><td>19</td><td>98.790</td><td>99.258</td></tr></tbody></table>

La Table 9 montre que si, à chaque étape, le même modèle est entraîné (en réinitialisant d'abord ses poids) à l'aide de DDL, il atteint à la fois une précision finale inférieure (baisse d'efficacité) et, sur la base de son score d'entropie de Shannon, stockerait moins d'informations. Les différences de performances entre les modèles entraînés DDL et PRL augmentent à mesure qu'ils deviennent plus complexes et profonds.

La Figure 25 montre une représentation graphique des résultats de la Table 9 où l'écart entre les 2 courbes est flagrant et également que chaque expérience suit une distribution gaussienne.

<figure><img src="image_29.png" /><figcaption>Figure 25. Distribution des scores DDL et PRL pour l'expérimentation 1 sur corpus MNIST</figcaption></figure>
La Figure 26. Graphique de résultat de l'expérimentation 1 montre les 3 résultats obtenus sur le score et l'entropie de Shannon :

* Score d'évolution et Shannon récupérés lors de la phase 0 de la création du champion 1 $M^1_c$. En bleu dans le graphique.

* Score DDL moyen et Shannon du modèle produit à chaque étape, utilisé en apprentissage direct DDL, jusqu'au modèle final $M^{1d}_c$. En rouge dans le graphique.

* Score PRL moyen et croissance du modèle de Shannon du champion moyen $M^{1P_c}$ par étape de mutation. En vert dans le graphique.

<figure><img src="image_30.png" /><figcaption>Figure 26. Graphique de résultat de l'expérimentation 1 par étape (MNIST).</figcaption></figure>

En ce qui concerne la représentation des résultats, les lignes pleines représentent le score (échelle à droite, le meilleur situé le plus en haut), les lignes en pointillé représentent l'entropie de Shannon (échelle à gauche, le meilleur situé le plus en bas) et à titre de comparaison, le meilleur score PRL est représenté par la ligne en trait vert. Le score moyen de Shannon est, à chaque étape, supérieur (moins ordonné et donc moins porteur d'information) pour le modèle sous DDL en rouge pointillé que pour celui obtenu avec la méthode PRL en vert pointillé.

D'autres tests devront être menés pour conclure si ce comportement pourrait s'appliquer également à d'autres modèles complexes (voir discussion sur la notion de complexité 4.2.d).
### 3.1.c EXP 1 - PHASE 2 : TESTS DE TRANSFERABILITE

Dans cette sous-section, il s'agit de répondre aux deux questions suivantes :

1. Peut-on utiliser PRL pour reprendre le modèle $M^1$ des expériences précédentes sur de nouveaux ensembles de données du même champ d'application ?

et

2. Le résultat de ce transfert avec PRL reste-t-il plus efficace qu'avec DDL ?

Afin de répondre à ces questions, PRL a de nouveau été appliqué au modèle initial $M^1_0$ avec le chemin phylogénétique du champion $1 M^1_c$, mais, cette fois, en l'entraînant sur un corpus de données différent. Le but de cette expérience est d'évaluer si un modèle avec son chemin évolutif enregistré à partir d'un ensemble de données A peut être appliqué sur un autre ensemble de données B structuré de la même façon (même nombre de catégorie d'objets – 10- et même taille d'images 28*28 pixels)

#### • EXPERIENCE 1.1 : CHAMPION 1 MNIST => JEU DE DONNEES MNIST FASHION

Les deux méthodes d'apprentissage sont réappliquées au corpus de données de Fashion MNIST. Cet ensemble de données a le même format d'entrée et de sortie que le MNIST standard. Dans cet ensemble de données, la classification se fait sur divers objets de mode (robes, chaussures, etc.) plutôt que sur des chiffres dessinés. Cet ensemble de données s'avère plus complexe que le MNIST standard à discriminer.

DDL Score moyen du $M^1_{1dc}$ sur jeu de données FashMNIST

Score : 90.44% Shannon : 9.0238

PRL Score moyen du $M^{1.1p_c}$ sur jeu de données FashMNIST

Score : 91.98% Shannon : 8.4813

Cette expérience montre que la méthode PRL peut être réappliquée à un modèle existant, et le faire réapprendre sur un ensemble de données connexes, mais différent. PRL fournit un meilleur résultat que DDL. À titre de comparaison, le score du modèle à l'état de l'art appliqué au Fashion MNIST est de 91,4% sans augmentation des données [38]. Le score PRL de 91,98% de l'expérience est donc un résultat concurrentiel qui surpasse l'état de l'art. L'une des implications potentielles de ce résultat de transférabilité est que PRL pourrait permettre de réutiliser plus facilement des topologies de modèles existantes sur de nouveaux champs d'application (mais qui restent tout de même liés à celui de départ). La transférabilité à de nouveaux champs d'application
pour lesquels ces architectures n'ont pas été conçues à l'origine devient possible tout en conservant des scores très élevés, ce que DDL ne permet pas facilement.

<table><caption>Table 10. Comparaison des Shannon par couche pour FASHION MNIST.</caption><thead><tr><th>LAYER</th><th>TYPE</th><th>DDL</th><th>PRL</th></tr></thead><tbody><tr><td>2</td><td>CONV2D</td><td>9.0238</td><td><strong>8.4813</strong></td></tr><tr><td>3</td><td>SEPCNV2D</td><td>8.307</td><td><strong>8.0439</strong></td></tr><tr><td>4</td><td>CONV2D</td><td>15.1492</td><td><strong>15.1338</strong></td></tr><tr><td>5</td><td>DENSE</td><td>14.7804</td><td><strong>14.7331</strong></td></tr><tr><td>6</td><td>DENSE</td><td>11.6941</td><td><strong>11.6841</strong></td></tr><tr><td>7</td><td>CONV2D</td><td>14.1506</td><td><strong>13.9888</strong></td></tr><tr><td>8</td><td>CONV2D</td><td>14.1568</td><td><strong>13.9923</strong></td></tr><tr><td>9</td><td>DENSE</td><td>12.1115</td><td><strong>12.1017</strong></td></tr><tr><td>10</td><td>DENSE</td><td>11.6922</td><td><strong>11.6905</strong></td></tr><tr><td>11</td><td>DENSE</td><td><strong>17.3703</strong></td><td>17.4783</td></tr><tr><td>12</td><td>DENSE</td><td><strong>11.6984</strong></td><td>11.71</td></tr><tr><td>13</td><td>DENSE</td><td><strong>12.3777</strong></td><td>12.5757</td></tr></tbody></table>

La Table 10 montre à nouveau que PRL est plus en mesure de réduire le VGE. Les premières couches ont de meilleures valeurs d'entropie de Shannon lorsqu'un modèle est formé via PRL, alors que les dernières couches ont de meilleures valeurs d'entropie lorsque c'est DDL qui est utilisé pour former le modèle.

• EXPERIENCE 1.2 : CHAMPION 1 MNIST => JEU DE DONNEES CIFAR10 GRAY

Dans cette expérience, le modèle Champion 1 $M^1_c$ est entraîné sur le corpus de données CIFAR10 converti en niveaux de gris (C10G). Pour cette expérience, il a été converti à la résolution 28 * 28 * 1, en niveau de gris, afin de pouvoir utiliser à nouveau le même modèle et tester sa transférabilité. Cet ensemble de données rétrogradé est beaucoup plus difficile pour l'entrainement que pour le MNIST.
DDL Score moyen du $M^{1.2d_c}$ - jeu de données C10G:

Score: 54.40%

Shannon: 9.1690

PRL Score moyen du $M^{1.2p_c}$ - jeu de données C10G

Score: 65.01%

Shannon: 8.9345

Ces résultats montrent à nouveau la capacité du PRL à transférer un modèle existant sur un ensemble de données nouveau, mais lié (avec la même résolution d'image et le même nombre de catégorie d'image). Dans nos expériences, PRL produit systématiquement de meilleurs résultats que DDL, à la fois en termes de précision et de densité d'informations (valeurs d'entropie de Shannon).

## 3.2 EXPERIENCE 2 (REPRODUCTIBILITE).

Cette expérience numéro 2 reprend les mêmes phases que l'expérience 1. L'expérience 1 avait pour but de valider l'intérêt ou non de l'approche phylogénétique vis-à-vis d'un apprentissage classique DDL. Cette deuxième expérience permettra d'évaluer la reproductibilité de la méthode.

Le contexte de l'expérience 2 a été changé dans le but de complexifier le système, pour simuler un projet plus compliqué. Les mutations ont été ralenties pour obtenir un modèle champion plus complexe, c'est-à-dire plus profond, avec des branches et regroupements. De plus le modèle initial $M^2_0$ bien que plus profond (plus de couches) est plus petit en nombre de paramètres.

Le jeu de données utiliser est toujours MNIST.

L'environnement utilise un autre framework - PlaidML - et un autre support matériel - AMD - pour évaluer PRL sur un autre support.
### 3.2.a EXP 2 - PHASE 0 : CONSTRUCTION DU CHEMIN DU CHAMPION 2

#### Model Initial 2 : $M_0^2$

La Table 11 montre le modèle simple utilisé comme modèle initial. Il comprend 4 900 paramètres et 3 couches cachées dans une architecture séquentielle.

<table><caption>Table 11. Modèle Initial 2.</caption><thead><tr><th>Layer Number</th><th>Type</th><th>Output</th><th>Params</th></tr></thead><tbody><tr><td rowspan="3">1</td><td>InputLayer</td><td>N, 28, 28, 1</td><td>0</td></tr><tr><td>Conv2D</td><td>N, 27, 27, 6</td><td>30</td></tr><tr><td>MaxPooling2D</td><td>N, 9, 9, 6</td><td>0</td></tr><tr><td>2</td><td>Flatten</td><td>N, 486</td><td>0</td></tr><tr><td>3</td><td>Dense</td><td>N, 10</td><td>4870</td></tr></tbody></table>

#### • CHAMPION 2 : CONSTRUCTION

Cette phase 0 consiste en la construction d'un nouveau modèle Champion 2 : $M_2^c$.

Les règles évolutives utilisées pour l'obtention de l'arbre phylogénétique s'appuient sur des cycles de 5 mutants issus d'un vivier de parents des 10 plus performants. Le moteur évolutif a été volontairement ralenti (divisé par 4 grâce à des mutations moins impactantes sur la topologie) pour obtenir plus d'étapes et simuler un champ d'application plus complexe à apprendre que juste le MNIST, qui est vite assimilé par le mécanisme évolutif.

Les règles d'apprentissage sont celles décrites précédemment à savoir des apprentissages de 20 epochs avec une patience avant arrêt sur le Val_loss de 3.

La génération reste le nombre de parents depuis l'origine du test.

La Figure 27 Courbe de construction automatisé des champions successifs par neuroevolution, montre les courbes de progression lors de l'apparition des champions pendant de la phase 0 de neuroévolution.
<figure><img src="image_31.png" /><figcaption>Figure 27 Courbe de construction automatisé des champions successifs par neuroevolution</figcaption></figure>

La Table 12 quant à elle montre sous forme d'un tableau la liste des champions successifs avec l'évolution du score et de la taille dans le temps.

<table><caption>Table 12. Liste des Champions MNIST au cours du temps obtenus en phase 0</caption><thead><tr><td>Score</td><td>cycle</td><td>Generation</td><td>Params</td><td>Noeuds</td><td>Couches</td></tr></thead><tbody><tr><td>0,93990</td><td>-</td><td>-</td><td>6 790</td><td>5</td><td>4</td></tr><tr><td>0,95130</td><td>-</td><td>-</td><td>3 410</td><td>5</td><td>4</td></tr><tr><td>0,95130</td><td>1</td><td>-</td><td>3 410</td><td>5</td><td>4</td></tr><tr><td>0,97750</td><td>3</td><td>2</td><td>18 160</td><td>7</td><td>5</td></tr><tr><td>0,98230</td><td>8</td><td>3</td><td>114 454</td><td>10</td><td>5</td></tr><tr><td>0,98350</td><td>11</td><td>4</td><td>28 468</td><td>8</td><td>5</td></tr><tr><td>0,98510</td><td>13</td><td>4</td><td>146 184</td><td>10</td><td>6</td></tr><tr><td>0,98710</td><td>22</td><td>6</td><td>28 650</td><td>10</td><td>6</td></tr><tr><td>0,98740</td><td>25</td><td>7</td><td>28 650</td><td>10</td><td>6</td></tr><tr><td>0,98760</td><td>28</td><td>8</td><td>70 010</td><td>10</td><td>6</td></tr><tr><td>0,98800</td><td>28</td><td>9</td><td>61 816</td><td>15</td><td>6</td></tr><tr><td>0,98810</td><td>29</td><td>9</td><td>35 832</td><td>16</td><td>6</td></tr></tbody></table>
<table><tr><td>0,98820</td><td>29</td><td>10</td><td>61 816</td><td>15</td><td>6</td></tr><tr><td>0,98840</td><td>31</td><td>10</td><td>17 744</td><td>14</td><td>7</td></tr><tr><td>0,98930</td><td>34</td><td>9</td><td>64 184</td><td>17</td><td>7</td></tr><tr><td>0,98990</td><td>34</td><td>12</td><td>95 454</td><td>19</td><td>7</td></tr><tr><td>0,99040</td><td>35</td><td>13</td><td>95 454</td><td>19</td><td>7</td></tr><tr><td>0,99070</td><td>40</td><td>14</td><td>82 496</td><td>20</td><td>7</td></tr><tr><td>0,99080</td><td>43</td><td>14</td><td>65 110</td><td>21</td><td>6</td></tr><tr><td>0,99110</td><td>52</td><td>15</td><td>83 616</td><td>22</td><td>7</td></tr><tr><td>0,99170</td><td>58</td><td>16</td><td>102 498</td><td>24</td><td>7</td></tr><tr><td>0,99180</td><td>62</td><td>16</td><td>144 670</td><td>23</td><td>7</td></tr><tr><td>0,99200</td><td>70</td><td>19</td><td>147 940</td><td>28</td><td>10</td></tr><tr><td>0,99230</td><td>72</td><td>16</td><td>93 516</td><td>22</td><td>7</td></tr><tr><td>0,99240</td><td>76</td><td>18</td><td>87 508</td><td>28</td><td>9</td></tr><tr><td>0,99330</td><td>84</td><td>21</td><td>225 244</td><td>31</td><td>11</td></tr><tr><td>0,99340</td><td>98</td><td>21</td><td>238 010</td><td>31</td><td>11</td></tr><tr><td>0,99390</td><td>98</td><td>25</td><td>227 344</td><td>35</td><td>13</td></tr><tr><td>0,99420</td><td>139</td><td>28</td><td>228 140</td><td>40</td><td>15</td></tr><tr><td>0,99430</td><td>144</td><td>28</td><td>226 592</td><td>39</td><td>14</td></tr></table>

De cette liste de champions successifs, le dernier (le meilleur) est retenu pour la suite de l'expérience :

<table><thead><tr><td>Score</td><td>Cycle</td><td>Génération</td><td>Params</td><td>Noeux</td><td>Couches</td></tr></thead><tbody><tr><td>0,99430</td><td>144</td><td>28</td><td>226 592</td><td>39</td><td>14</td></tr></tbody></table>

Le Champion 2, M²c (=M²28) a donc 226 592 paramètres répartis en 14 couches.

Il a été généré lors du cycle 144 et est de génération 28 (et il a donc 28 ancêtres).
Son score est de 99,43% sur un corpus de données standard non augmenté. Même si le propos de cette thèse n'est pas de démontrer l'efficacité de l'utilisation de la neuro évolution pour la construction de modèles de réseaux de neurones, les résultats de cet algorithme sont intéressants.

* ARBRE PHYLOGENETIQUE DU CHAMPION 2

Les topologies des différentes étapes évolutives du Champion sont suffisantes pour reproduire l'expérience.

VOIR EN ANNEXE les topologies des modèles du champion 2, M²c

3.2.b EXP 2 PHASE 1 : TESTS D'EFFICACITE

Afin de pouvoir comparer les résultats, pour commencer, il sera défini une base de comparaison.
Les résultats du champion issu de l'évolution initiale sont déjà acquis.

La prochaine action sera donc d'évaluer l'efficacité du modèle Champion en apprentissage direct

* APPRENTISSAGE DIRECT DDL DU CHAMPION 2 MNIST

Pour évaluer l'apprentissage direct du champion M²c, on lance donc un apprentissage direct du modèle champion pour obtenir M²d.

Comme les poids initiaux seront générés de manière aléatoire, il conviendra de faire de multiples apprentissages, pour évaluer la moyenne et l'écart-type de l'efficacité d'un apprentissage direct.

Pour rappel, en théorie, rien ne devrait empêcher l'obtention d'un modèle champion ayant appris de manière optimum par DDL, c'est à dire avec une efficacité égale ou supérieure à celle du Champion 2 généré par neuro évolution. Les 2 éléments qui pourraient être un frein à cela sont les poids initiaux et l'effet d'évanescence du gradient (VGE) rétropropagé vers les couches hautes.

Même si 226 592 paramètres semblent peu, la combinatoire est grande et donc la probabilité de tomber sur le résultat optimum est très faible.

Pour l'apprentissage, le paramétrage choisi pour en tirer le maximum est un nombre d'epochs de 60 et une patience de 6. Néanmoins 32 epochs au maximum ont été utilisés avant l'arrêt précoce pour cette expérience (soit moins que pour l'expérience 1). Cet arrêt précoce montre qu'il y a probablement une corrélation entre la facilité d'apprentissage et la simplicité du modèle.
<table><caption>Table 13. Echantillon de résultats de DDL Champion 2 M²dc</caption><thead><tr><th></th><th>val_ACC</th><th>epochs</th></tr></thead><tbody><tr><td>Train 1</td><td>98,83%</td><td>30</td></tr><tr><td>Train 2</td><td>98,85%</td><td>24</td></tr><tr><td>Train 3</td><td>98,77%</td><td>23</td></tr><tr><td>Train 4</td><td>98,91%</td><td>30</td></tr><tr><td>Train 5</td><td>98,76%</td><td>21</td></tr><tr><td>Train 6</td><td>99,06%</td><td>32</td></tr><tr><td>Train 7</td><td>98,89%</td><td>29</td></tr><tr><td>Train 8</td><td>98,91%</td><td>22</td></tr><tr><td>Train 9</td><td>98,99%</td><td>28</td></tr><tr><td>Train 10</td><td>98,91%</td><td>25</td></tr><tr><td>Train 11</td><td>98,85%</td><td>24</td></tr><tr><td>Train 12</td><td>98,89%</td><td>25</td></tr><tr><td>Train 13</td><td>98,76%</td><td>22</td></tr><tr><td>Train 14</td><td>98,84%</td><td>28</td></tr><tr><td>Train 15</td><td>99,05%</td><td>29</td></tr><tr><td>Train 16</td><td>99,08%</td><td>26</td></tr></tbody></table>

4 tentatives d'apprentissage direct sont en échec de convergence. C'est probablement dû à un bug Keras/PlaidML car ce problème ne s'est pas présenté pour l'expérience 1 du champion 1.
La base de comparaison est donc :

<table><tr><td>Ecartype :</td><td>0,10%</td></tr><tr><td>Moyenne :</td><td>98,90%</td></tr><tr><td>Max :</td><td>99,08%</td></tr></table>

Pour rappel, 99,43% est l'efficacité atteinte par le champion $2 M^2_c$ à sa construction en phase 0.

## APPRENTISSAGE PHYLOGENETIQUE PRL DU CHAMPION 2 MNIST

Ce test consiste à évaluer l'efficacité de la programmation génétique pour générer un nouveau modèle sur base de champion 2 : $M^{2p_0}$.

A partir du modèle initial 1 les mutations seront appliquées séquentiellement selon la séquence phylogénétique du Champion 2 source.

Les poids initiaux seront aussi aléatoires et donc pour les mêmes raisons que pour l'apprentissage direct, plusieurs tests seront à effectuer. Les poids non mutés sont transmis de génération en génération à chaque étape en utilisant le service de transfert learning du framework.

Voici les résultats des scores sur 10 apprentissages phylogénétiques :

<table><caption>Table 14. Résultats PRL champion 2 $M^{2p_c}$ (MNIST)</caption><thead><tr><th>Etapes</th><th>Ecartype</th><th>Score Moyen</th><th>Original Score</th><th>Paramètres</th></tr></thead><tbody><tr><td>0</td><td>0,72%</td><td>94,31%</td><td>94,60%</td><td>4 900</td></tr><tr><td>1</td><td>0,59%</td><td>95,81%</td><td>95,96%</td><td>8 160</td></tr><tr><td>2</td><td>0,48%</td><td>96,48%</td><td>95,35%</td><td>29 260</td></tr><tr><td>3</td><td>0,26%</td><td>97,78%</td><td>97,72%</td><td>29 324</td></tr><tr><td>4</td><td>0,12%</td><td>98,28%</td><td>98,35%</td><td>28 468</td></tr><tr><td>5</td><td>0,13%</td><td>98,54%</td><td>98,34%</td><td>28 594</td></tr><tr><td>6</td><td>0,09%</td><td>98,73%</td><td>98,71%</td><td>28 650</td></tr></tbody></table>
<table><tr><td>7</td><td>0,11%</td><td>98,50%</td><td>98,40%</td><td>8 070</td></tr><tr><td>8</td><td>0,11%</td><td>98,56%</td><td>98,60%</td><td>10 540</td></tr><tr><td>9</td><td>0,20%</td><td>98,51%</td><td>98,73%</td><td>15 580</td></tr><tr><td>10</td><td>0,11%</td><td>98,73%</td><td>98,84%</td><td>17 744</td></tr><tr><td>11</td><td>0,22%</td><td>98,67%</td><td>98,84%</td><td>94 554</td></tr><tr><td>12</td><td>0,11%</td><td>98,91%</td><td>98,99%</td><td>95 454</td></tr><tr><td>13</td><td>0,11%</td><td>98,98%</td><td>99,04%</td><td>95 454</td></tr><tr><td>14</td><td>0,06%</td><td>99,01%</td><td>99,07%</td><td>82 496</td></tr><tr><td>15</td><td>0,05%</td><td>99,11%</td><td>99,14%</td><td>83 096</td></tr><tr><td>16</td><td>0,07%</td><td>99,11%</td><td>99,18%</td><td>144 670</td></tr><tr><td>17</td><td>0,05%</td><td>99,15%</td><td>99,09%</td><td>143 972</td></tr><tr><td>18</td><td>0,06%</td><td>99,19%</td><td>99,15%</td><td>147 124</td></tr><tr><td>19</td><td>0,05%</td><td>99,17%</td><td>99,20%</td><td>147 940</td></tr><tr><td>20</td><td>0,06%</td><td>99,18%</td><td>99,24%</td><td>225 250</td></tr><tr><td>21</td><td>0,06%</td><td>99,18%</td><td>99,31%</td><td>225 276</td></tr><tr><td>22</td><td>0,04%</td><td>99,14%</td><td>99,31%</td><td>228 170</td></tr><tr><td>23</td><td>0,06%</td><td>99,14%</td><td>99,24%</td><td>227 374</td></tr><tr><td>24</td><td>0,07%</td><td>99,14%</td><td>99,32%</td><td>227 350</td></tr><tr><td>25</td><td>0,07%</td><td>99,18%</td><td>99,33%</td><td>226 904</td></tr><tr><td>26</td><td>0,08%</td><td>99,13%</td><td>99,37%</td><td>227 316</td></tr><tr><td>27</td><td>0,06%</td><td>99,18%</td><td>99,35%</td><td>227 532</td></tr><tr><td>28</td><td>0,06%</td><td>99,19%</td><td>99,43%</td><td>226 592</td></tr></table>
Le maxima atteint sur tous les apprentissages phylogénétiques est de 99,31 % avec une moyenne des maxima de chaque test à 99,24%.

Le temps pour l'apprentissage phylogénétique est d'environ 1H45

<figure><img src="image_32.png" /></figure>

Un premier constat est que l'efficacité de l'apprentissage phylogénétique $M^{2p_c}$ ou DDL $M^{2d_c}$ est moins bonne que celle du champion source $M^2_c$.

<figure><img src="image_33.png" /></figure>

Un second constat est que l'efficacité de l'apprentissage PRL est meilleure que celle de l'apprentissage DDL. La différence de la moyenne des maxima de 99,24% pour PRL contre 98,90% pour l'apprentissage DDL, qui bien qu'elle soit faible reste significative. Même le maximum 99,31% contre 99,08% reste pertinent. Cela confirme les résultats de l'expérience 1.

<figure><img src="image_34.png" /></figure>

Un troisième constat, et peut-être le plus important à noter, est que l'écart-type de l'apprentissage PRL est meilleur que celui de l'apprentissage DDL : soit 0,06% pour le premier contre 0,1% pour l'apprentissage DDL. Constat qui rend l'apprentissage PRL plus robuste face aux conditions de poids initiaux.

<figure><img src="image_35.png" /></figure>

Un quatrième et dernier constat est que l'apprentissage phylogénétique est plus coûteux en temps de calcul dans cette expérience que l'apprentissage direct. Aucune optimisation PRL n'est appliquée à ce stade.

### 3.2.c EXP 2 PHASE 2 : TESTS DE TRANSFERABILITE

Les tests de transférabilité ont été faits dans le contexte de l'expérimentation 2 sur deux autres jeux de données.

* EXP 2.1 : CHAMPION 2 MNIST => JEU DE DONNEES MNIST FASHION

Il s'agit comme pour l'expérience 1.1 d'appliquer le PRL du champion 2, $M^2_c$, sur le corpus Fashion MNIST et de voir si les résultats sont confirmés.

DDL Score moyen du $M^{2.1d_c}$ - jeu de données FashM :
Score : 90.71% |

PRL Score moyen du $M^{2.1p_c}$ - jeu de données FashM :
Score : **92.62%**

* EXP 2.2 : CHAMPION 2 MNIST => JEU DE DONNEES CIFAR 10 GRIS

Il s'agit comme pour l'expérience 1.1 d'appliquer le PRL du champion 2, $M^2_c$, sur le corpus CIFAR10G et de voir si les résultats sont confirmés.
DDL Score moyen du $M^{2.2d_c}$ - jeu de données C10G :
Score : 62.19%

PRL Score moyen du $M^{2.2p_c}$ - jeu de données C10G :
Score : **67.83%**

PRL obtient encore de meilleurs résultats que DDL. A noter que les résultats du modèle, pourtant pas prévu pour ces corpus, semblent être acceptables en termes de score et conformes à l'expérience 1.1 et 1.2

## 3.3 EXPERIENCE 3 (REPRODUCTIBILITE).

Pour cette expérience 3 qui reprend les mêmes phase 0, 1 et 2 que l'expérience 1 et 2, les tests sont réalisés sur un corpus différent et également plus gros afin de confirmer l'hypothèse que la méthode PRL reste plus efficace que celle DDL.

Dans cette cinquième expérience, l'ensemble de données TinyImageNet avec 200 classes et un nombre relativement faible d'échantillons d'apprentissage (dotés d'une plus grande difficulté d'apprentissage) ont été utilisés. 50 tests ont été exécutés en utilisant DDL et PRL.

Champion 3 $M^3_c$ généré (TinyImageNet):
19,771,676 paramètres, 65 noeuds, 30 couches, 44 générations
Score: 42.87% Shannon: 9.3795

DDL Score moyen du $M^{3d_c}$ - jeu de données TIN :
Score : 38.37% Shannon : 9.3833

PRL Score moyen du $M^{3p_c}$ - jeu de données TIN :
Score : **41.79%** Shannon : **9.3611**

L'apprentissage PRL produit à nouveau un meilleur résultat que celui DDL.

Étant donné que notre objectif est de comparer des "pommes aux pommes" et de trouver les performances relatives d'une méthode par rapport à une autre, PRL et DDL ont été appliqués à l'ensemble de données TinyImageNet d'origine. Il convient de repréciser qu'aucune augmentation de données (ajout d'images transformées au jeu d'apprentissage ou encore de pré-traitement supplémentaire) n'a été appliquée à l'ensemble de données. L'augmentation des données étant une
approche courante avec cet ensemble de données en raison du peu d'échantillons qu'il contient
pour chaque classe.

## 3.4 EXPERIENCE 4 (REPRODUCTIBILITÉ).

Lorsque l'on fait référence à la complexité du modèle, il est supposé que le modèle possède beaucoup de branches, qu'il est profond et non séquentiel. Plus le modèle est complexe (en termes de topologie), plus il serait bénéfique de l'entrainer en utilisant PRL. Ainsi, afin d'explorer davantage ces hypothèses, une autre expérience a été menée où les règles de sélection naturelles de la phase 0 ont été changées.

Lors de cette expérience, une règle a été notamment ajoutée au processus de sélection pour privilégier les modèles qui apprennent plus rapidement. La vitesse d'entraînement du modèle est utilisée pour pondérer le score. Le score du modèle est alors une combinaison de l'efficacité et de la rapidité d'exécution. Avec cette approche, un modèle avec la même précision qu'un autre, mais avec une vitesse d'apprentissage plus courte (aka Time Epoch), est sélectionné pour entrer dans le HOF. Cette pression sélective a favorisé, en phase 0 de construction du chemin évolutif, les champions qui sont rapides à entrainer, donc probablement moins sensibles à l'effet de VGE.

Champion 4 $M^4_c$ généré (MNIST) :

Score : 99.40% Shannon : 8.4799

DDL Score moyen du $M^{4d}_c$ - Jeu de données MNIST :

Score : **99.37%** Shannon : 8.4150

PRL Score moyen du $M^{4p}_c$ - Jeu de données MNIST :

Score : 99.33% Shannon : **8.3535**

Dans cette expérience, la valeur de Shannon est toujours plus faible lors de l'utilisation de PRL par rapport à DDL. Néanmoins la différence entre les résultats de cette expérience est tout de même moins significative, par exemple le score qui est quasi identique entre PRL et DDL, et reste également proche de celui du modèle champion $M^4_c$ lui-même.

La notion de complexité d'un modèle, qui permet de faire l'estimation de l'efficacité de PRL, est donc non seulement liée à la complexité topologique (paramètres totaux, les nœuds totaux et les liaisons de nœuds), mais également à la rapidité d'apprentissage (du temps nécessaire pour apprendre) du modèle. Plus il est lent et difficile pour le modèle d'apprendre sur l'ensemble des données d'apprentissage, plus sa structure doit être complexe et plus la méthode PRL sera alors bénéfique sur son entrainement.
## 3.5 EXPERIENCE 5 (REPRODUCTIBILITE CIFAR10G)

Il s'agit de rejouer les phases 0, 1 et 2 en utilisant un autre corpus de données comme base de construction de l'arbre phylogénétique. Ici le CIFAR10G.

### 3.5.a EXP 5 - PHASE 0 ET 1 : CONSTRUCTION DU CHAMPION 5 SUR CIFAR10G

Un Champion 5 a été construit pour l'expérience 5 basée sur le corpus de données initial CIFAR10 Grey.

Le champion 5 $M^5_c$ a été utilisé pour refaire les tests d'apprentissage PRL et DDL. Le modèle est particulièrement profond et complexe.

Voici les résultats pour un nombre de test n=10 :

Champion 5 $M^5_c$ généré (CIFAR10G) :
1,018,526 paramètres, 42 nodes, 18 layers, 27 générations

Score: **75.37%**

DDL Score moyen du $M^{5d}_c$ - Jeu de données C10G :

Score : 61.93% EcartType : 1.05%

PRL Score moyen du $M^{5p}_c$ - Jeu de données C10G :

Score : **74.65%** EcartType : **0.49%**

Il est à noter que le score obtenu par un modèle PRL est de 75,30% soit équivalent au score du champion 4 généré par neuroévolution.

Cette expérience confirme les résultats déjà obtenus où l'écart entre PRL et DDL est significatif avec un écart-type beaucoup plus faible pour PRL.

Le score PRL obtenu dans l'expérience 1 était de 65,1% sur CIFAR10G $M^{1.1p_c}$ à partir du modèle Champion 1 $M^1_c$ MNIST qui est proche du DDL mais bien en deçà du PRL.
### 3.5.b EXP 5 - PHASE 2 : TESTS DE TRANSFERT DE JEU DE DONNEES

* EXP 5.1 - CHAMPION 5 C10G => JEU DE DONNEES MNIST FASHION

DDL Score moyen du $M^{5.1}_c$ – Jeu de données FashM :
Score : 91.29%

PRL Score moyen du $M^{5.1}_p$ – Jeu de données FashM :
Score : **92.75%**

En utilisant le $M^5_c$ sur le corpus Fashion MNIST, le score moyen obtenu est **92,75% en PRL** et 91,29% en DDL.

Là encore PRL est meilleur que DDL.

Le résultat est également meilleur que pour l'expérience 1 : **91.98% exp1 FMNIST**

* EXP 5.2 - CHAMPION 5 C10G => JEU DE DONNEES MNIST

DDL Score moyen du $M^{5.2}_c$ – Jeu de données MNIST :
Score : 99.22%

PRL Score moyen du $M^{5.2}_p$ – Jeu de données MNIST
Score : **99.50%**

En utilisant le $M^5_c$ sur le corpus MNIST, le score moyen obtenu est 99,50% et 99,22% en DDL

Le score PRL est dans ce cas impressionnant car c'est le meilleur obtenu de toutes les expériences, y compris sur les champions MNIST 1 à 99.44%

### 3.5.c EXP 5 : ANALYSE DES IMPACTS DES POIDS INITIAUX

Pour évaluer l'impact des poids initiaux, bien que l'on observe dans l'approche PRL que les poids initiaux concernent moins de paramètres que pour le DDL et ce, avec une prise en compte progressive des nouveaux poids induits par les mutations successives, une autre expérience a été effectuée :

Pour l'expérience 5 sur PRL, on repart avec le même modèle initial et le même chemin phylogénétique mais pour chaque test, le modèle initial reçoit des poids synaptiques initiaux générés de manière aléatoire. On constate lors de l'expérience que les performances des modèles de champion évolutifs étaient tous très similaires et plus
cohérents qu’en DDL avec l’initialisation de manière aléatoire d’un modèle complet (la Table 17 montre un écart type des 10 tests PRL assez faible).

La Figure 25 montre aussi que non seulement l’apprentissage PRL est plus efficace mais aussi que les poids initiaux interviennent moins dans le résultat. On ne peut tout de même pas statuer définitivement quant à l’impact réel de la méthode sur la réduction de l’aléa des poids initiaux.
## 3.6 EXPERIENCE 6 (REPRODUCTIBILITE CARTPOLE)

L'expérience 6 est une expérience pour sortir du champ d'application lié à la reconnaissance d'image. Cette expérimentation est un préalable à d'autres tests pour lesquels PRL pourrait aussi s'appliquer. Il n'y a pas de raison apparente pour que tout champ d'application s'appuyant sur des modèles de Réseaux de neurones ne puisse bénéficier de l'approche phylogénétique.

Ici nous sommes sur un apprentissage par renforcement avec des récompenses.

Le but du modèle dans cette expérience est de conserver le plus longtemps possible une barre à la verticale posée sur un chariot ayant des mouvements aléatoires droite / gauche (problématique en 2D). Dans l'expérience, le but opérationnel est de garder la barre verticale, au maximum sur 1000 mouvements du chariot (100% = 1000 mouvements sans tomber).

Le chariot est contrôlé par deux actions possibles +1 ou -1, chacune permettant de pointer sur un déplacement à gauche ou à droite, aléatoirement.

La récompense +1 est donnée à chaque pas de temps si la perche reste droite. Le but est d'empêcher le poteau de tomber (maximiser la récompense totale) comme dans la Figure 21.

L'épisode se termine lorsque le poteau est à plus de 15 degrés de la verticale (considéré comme étant tombé) ou que le chariot se déplace à plus de 2,4 unités du centre ou si le nombre de mouvements maximum autorisé est atteint.

Après obtention d'un modèle champion qui a atteint 1000 mouvements sans tomber au moins une fois :

### DDL Scores

Score : 3% Maximum : 13%

### PRL Scores

Score : 52 % Maximum : 100%

Chaque résultat de N est obtenu avec 10 tentatives.

N=17 soit 170 tentatives en tout.

PRL est dans ce contexte largement meilleur que DDL. Le max du DDL n'atteint pas la moyenne du PRL.
# 4. SYNTHESE ET DISCUSSION

## 4.1 SYNTHESE ET REPONSE A LA QUESTION DE RECHERCHE

### 4.1.a SYNTHESE

A l'issue des 7 expériences, l'approche phylogénétique a montré un intérêt dans tous les cas vis-à-vis de l'approche traditionnelle d'apprentissage par DDL. Pour l'expérience 4, le résultat est similaire mais montre quand même une plus grande cohérence de l'information entre les couches.

<table><caption>Table 15. Synthèse des scores des expériences par corpus</caption><thead><tr><th></th><th>Initial</th><th>Initial</th><th>Initial</th><th>Transfert</th><th>Transfert</th><th>Transfert</th><th>Transfert</th><th>Initial</th><th>Transfert</th><th>Transfert</th><th>Initial</th><th>Initial</th></tr></thead><tbody><tr><th>Corpus</th><td>M</td><td>M</td><td>M</td><td>M</td><td>FM</td><td>FM</td><td>FM</td><td>C10G</td><td>C10G</td><td>C10G</td><td>TIN</td><td>CartPole</td></tr><tr><th>Modèle du champion #</th><td>1</td><td>2</td><td>4</td><td>5</td><td>1</td><td>2</td><td>5</td><td>5</td><td>1</td><td>2</td><td>3</td><td>6</td></tr><tr><th>Exp.</th><td>1</td><td>2</td><td>4</td><td>5.2</td><td>1.1</td><td>2.1</td><td>5.1</td><td>5</td><td>1.2</td><td>2.2</td><td>3</td><td>6</td></tr><tr><th>DDL %moy</th><td>98.93</td><td>98.90</td><td><strong>99.37</strong></td><td>99.22</td><td>90.44</td><td>90.71</td><td>91.29</td><td>61.93</td><td>54.40</td><td>62.19</td><td>38.37</td><td>3</td></tr><tr><th>PRL %moy</th><td><strong>99.26</strong></td><td><strong>99.18</strong></td><td>99.33</td><td><strong>99.50</strong></td><td><strong>91.98</strong></td><td><strong>92.62</strong></td><td><strong>92.75</strong></td><td><strong>74.65</strong></td><td><strong>65.01</strong></td><td><strong>67.83</strong></td><td><strong>41.79</strong></td><td><strong>52</strong></td></tr></tbody></table>

Les résultats sont clairement en faveur de l'approche phylogénétique par rapport à la méthode classique d'apprentissage.

Il est à noter que le modèle champion généré lors de l'expérience 5 gagne avec l'apprentissage PRL sur toutes les autres expériences que ce soit pour les résultats sur le corpus initial de l'expérience 5 avec CIFAR 10G mais aussi pour les autres corpus de données utilisés en mode test de transfert.

Est-ce que l'apprentissage PRL sur des corpus complexes est bénéfique ? Oui, néanmoins à ce stade il est impossible d'en tirer une conclusion globale sur l'efficacité systématique de la méthode PRL, car la phase 0 de neuro évolution a peut-être suivi un chemin évolutif favorable à PRL et donc une obtention d'un champion plus performant. Ce n'est donc pas un gage de reproductibilité.
Une recommandation aux experts ou producteurs de modèles de deep learning, serait de ne pas seulement publier leurs modèles finaux mais d'y associer systématiquement toutes les modifications (ordonnées) apportées à ce modèle.

## 4.1.b REPONSE A LA QUESTION DE RECHERCHE

Rappel de la question de recherche :

Pour résoudre les problèmes posés par les réseaux neuronaux complexes liés à leurs limitations d'apprentissage, pourquoi ne pas utiliser un mécanisme d'apprentissage copiant une fois de plus la nature ? Baptisé Phylogénétique Replay Learning (PRL), il permettrait alors de réduire l'importance de l'effet du gradient évanescent, de réduire l'impact des paramètres initiaux aléatoires sur le résultat final de l'apprentissage, permettant ainsi d'augmenter la capacité d'apprentissage des modèles.

Concernant l'impact du VGE, les résultats des expérimentations confirment, par l'efficacité des modèles PRL, ainsi que par la répartition homogène de l'information sur l'ensemble des couches des modèles montrée par l'entropie de Shannon, la réduction voire la maîtrise de l'impact de l'effet du gradient évanescent lors de l'apprentissage.

Concernant l'impact des poids initiaux, DDL a des résultats inférieurs à PRL mais encore plus vis-à-vis du champion issu de la phase 0. Le VGE est fautif mais les poids initiaux sont aussi à la manœuvre. Il est difficile d'évaluer l'impact de la méthode PRL sur l'absorption des impacts des poids initiaux. Néanmoins l'expérience 7 ainsi que les résultats des autres expériences montrent que le PRL réduit l'aléa induit par de mauvais poids initiaux.

## 4.1.c UNE MISE EN PERSPECTIVE DE LA RECHERCHE

Sur la base des expériences et des résultats, PRL a systématiquement surpassé le DDL, principalement en atténuant le problème VGE. L'approche phylogénétique PRL agit, comme le montrent les valeurs d'entropie de Shannon calculées pour chaque couche, grâce à un agencement des poids plus homogène dans le modèle final. Ces valeurs d'entropie sont plus faibles dans des couches plus profondes dans les modèles formés par PRL que pour ceux formés par DDL. De surcroit, autre avantage, l'approche phylogénétique PRL est plus résiliente à l'initialisation de poids aléatoires par rapport à celle DDL.

Les entités biologiques qui utilisent toutes le PRL ouvrent donc un chemin de recherche pour les entités neurogénétiques numériques pour lesquelles cette approche semble avoir une efficacité non négligeable dans l'apprentissage de ces réseaux de neurones.
Les expériences sur la transférabilité montrent également que la méthode PRL est efficace pour réutiliser les modèles sur des ensembles de données connexes. Des applications en robotique ou dans l'industrie où les environnements de fonctionnement de ces IA comportent des variations importantes deviennent accessibles. En effet un robot conçu en laboratoire mais qui, au final, doit intervenir dans un environnement où l'intervention humaine est coûteuse (sur la lune, dans une centrale nucléaire, dans des failles sous-marines...) bénéficiera de la méthode PRL car il évoluera et apprendra mieux dans l'environnement cible.

### 4.1.d LES LIMITES DE LA RECHERCHE

Un certain nombre de points ont été évoqués quant aux limites de cette recherche. Bien que les expérimentations faites soient statistiquement solides, la limitation en ressources de calcul n'a pas permis de travailler sur des modèles beaucoup plus complexes et profonds. L'adage « qui peut le plus peut le moins » pourrait s'appliquer "intuitivement" sur les résultats obtenus en le transformant en un « si l'apprentissage est amélioré sur des modèles simples, cela sera encore plus impactant sur des modèles de nature complexe ». Il restera cependant nécessaire d'effectuer des tests de validation et d'approfondissement sur de gros modèles.

L'efficacité de l'utilisation de PRL sur des méthodes d'apprentissage à base de rétropropagation de gradients est validée, en revanche l'efficacité de PRL sur d'autres méthodes doit encore être étudiée. Déjà l'expérience 7 qui utilise un apprentissage par renforcement semble être prometteuse mais ne confirme cependant rien en ce sens.

## 4.2 DISCUSSION SUR LES LIMITES

A partir de certains des points soulevés au chapitre précédent, quelques pistes et perspectives suivent pour permettre d'aller plus loin sur ces points.

### 4.2.a TEMPS D'APPRENTISSAGE

Les algorithmes de neuro évolution sont réputés pour avoir besoin de plus de temps pour obtenir des résultats mais dans les faits, ils en nécessitent beaucoup moins si l'on prend en compte le temps passé par les experts pour concevoir manuellement des topologies spécifiques par coups d'essais-erreurs. Un point méritant d'être précisé bien qu'il ne soit pas le sujet de cette thèse.

Si on se focalise sur le coût de PRL, seul le temps d'apprentissage (aussi appelé coût d'apprentissage) a de l'importance. Analyse :
Dans l'ensemble, le processus PRL nécessite plus d'epochs (19 étapes * 20 epochs au plus dans l'expérience 1), mais les durées des epochs sont plus courtes au cours des premières étapes (de 3 à 15 fois moins longues que les suivantes). La méthode classique DDL a requis au plus 60 epochs lors de nos expérimentations. Il n'est pas rare que les experts fassent 200 ou 300 epochs en forçant les apprentissages pour des gains discutables.

Il existe des techniques complémentaires qui font baisser ces temps d'apprentissage. Des méthodes telles que le freeze de couches (les poids sont figés et ne sont pas modifiés pour les couches non mutées) ou encore l'optimisation du nombre d'epochs ...

Concernant l'optimisation du nombre d'epochs lors du processus PRL, des tests préliminaires de PRL avec 4 epochs pendant la première moitié des étapes, suivis d'une augmentation du nombre d'epochs jusqu'à la dernière étape, ont été réalisés. Et les résultats sont toujours restés meilleurs par rapport aux tests avec DDL, tout en diminuant le temps d'apprentissage nécessaire.

Tableau des durées d'apprentissage de la première expérience :

x = durée en seconde d'un epoch.

DDL: 60 epoch\*x = 60.0x

PRL: (20 epoch\*19 step)\*(x/3) =126.6x

PRL avec # d'epochs croissant: (4 epoch\*10 step+12 epoch\*9 step)\*(x/3) = 49.3x

PRL est plus long que DDL, mais avec une simple optimisation, on descend en dessous du temps DDL pour un résultat correct.

Nomenclature utilisée : e60p6 veut dire 60 epochs et une patience de 6.

<table><caption>Table 16. Scores par étape PRL avec différentes règles d'apprentissage Expérience 2</caption><thead><tr><th rowspan="2">Étape</th><th colspan="3">Apprentissage direct</th></tr><tr><th>e60p6</th><th>e5p3</th><th>e(Gen+5)p3</th></tr></thead><tbody><tr><td>0</td><td>96,53%</td><td>88,25%</td><td>90,26%</td><td>96,37%</td></tr><tr><td>1</td><td>97,53%</td><td>92,13%</td><td>91,90%</td><td>96,09%</td></tr><tr><td>2</td><td>97,62%</td><td>92,31%</td><td>92,74%</td><td>97,38%</td></tr><tr><td>3</td><td>97,84%</td><td>93,35%</td><td>96,28%</td><td>97,33%</td></tr><tr><td>4</td><td>98,55%</td><td>96,21%</td><td>97,80%</td><td>98,46%</td></tr><tr><td>5</td><td>98,62%</td><td>97,44%</td><td>97,89%</td><td>98,47%</td></tr><tr><td>6</td><td>98,92%</td><td>96,44%</td><td>97,33%</td><td>98,59%</td></tr><tr><td>7</td><td>98,92%</td><td>95,71%</td><td>98,04%</td><td>98,75%</td></tr><tr><td>8</td><td>98,83%</td><td>64,12%</td><td>97,99%</td><td>98,63%</td></tr></tbody></table>
<table><tr><td>9</td><td>98,89%</td><td>95,48%</td><td>98,49%</td><td>98,69%</td></tr><tr><td>10</td><td>98,82%</td><td>97,22%</td><td>98,71%</td><td>98,80%</td></tr><tr><td>11</td><td>98,81%</td><td>69,37%</td><td>98,73%</td><td>98,87%</td></tr><tr><td>12</td><td>98,93%</td><td>94,90%</td><td>99,05%</td><td>98,71%</td></tr><tr><td>13</td><td>98,95%</td><td>98,61%</td><td>99,15%</td><td>98,86%</td></tr><tr><td>14</td><td>99,17%</td><td>92,79%</td><td>99,08%</td><td>98,92%</td></tr><tr><td>15</td><td>99,11%</td><td>98,33%</td><td>99,10%</td><td>98,71%</td></tr><tr><td>16</td><td>99,15%</td><td>95,04%</td><td>99,06%</td><td>98,96%</td></tr><tr><td>17</td><td>99,22%</td><td>96,52%</td><td>99,11%</td><td>98,96%</td></tr><tr><td>18</td><td>99,19%</td><td>98,46%</td><td>99,14%</td><td>98,84%</td></tr><tr><td>19</td><td>99,11%</td><td>96,86%</td><td>99,12%</td><td>98,98%</td></tr><tr><td>20</td><td>99,17%</td><td>98,05%</td><td>99,12%</td><td>98,93%</td></tr><tr><td>21</td><td>99,24%</td><td>98,70%</td><td>99,22%</td><td>98,97%</td></tr><tr><td>22</td><td>99,17%</td><td>98,47%</td><td>99,24%</td><td>98,91%</td></tr><tr><td>23</td><td>99,21%</td><td>98,45%</td><td>99,15%</td><td>98,90%</td></tr><tr><td>24</td><td>99,28%</td><td>98,36%</td><td>99,13%</td><td>99,02%</td></tr><tr><td>25</td><td>99,27%</td><td>98,75%</td><td>99,21%</td><td>98,86%</td></tr><tr><td>26</td><td>99,24%</td><td>98,32%</td><td>99,20%</td><td>98,97%</td></tr><tr><td>27</td><td>99,31%</td><td>98,79%</td><td>99,19%</td><td>98,92%</td></tr><tr><td>28</td><td>99,19%</td><td>98,72%</td><td>99,17%</td><td>98,83%</td></tr></table>

Table 16, qui reprend les résultats de l'expérience 2, à part en bridant violement à 5 epochs par étape, le nombre d'epochs impacte peu sur le résultat final, le maximum de 99,24% est atteint également.

L'efficacité par cette piste d'amélioration de l'apprentissage phylogénétique est montrée par le test avec nombre d'epochs progressif. On obtient des résultats équivalents tout en réduisant le nombre d'epochs total à faire.

La piste du regroupement d'étapes permettrait aussi de réduire le temps d'apprentissage en réduisant tout simplement le nombre d'étapes.

D'autres expériences pourraient être menées pour optimiser le temps d'apprentissage.

## 4.2.b REPARTITION DE L'INFORMATION

L'utilisation de l'entropie de Shannon pour évaluer la répartition de l'information au sein des couches des modèles, est une piste intéressante. Les résultats restent néanmoins difficiles à interpréter. Dire que plus petit implique plus d'information est un raccourci. Cela montre une plus grande organisation des informations s'éloignant du hasard pur mais jusqu'à quel point ? La
comparaison entre couche montre d'ailleurs que la comparaison ne peut se faire que dans la globalité ou pour les mêmes types de couches. On a des couches avec une entropie de 8 et d'autres de 12 dans le même modèle.

Dans tous les cas cette mesure montre que la méthode PRL obtient un effet plus grand sur les couches proches des senseurs/entrées que l'approche d'apprentissage direct.

Cette entropie pourrait peut-être être utilisée lors de la phase 1 pour faire une pression sélective sur les modèles générés.

D'autres méthodes d'évaluation de l'efficacité pourraient être imaginées. La loi de Benford [39] non vérifiée mais utilisée pour détecter des fraudes bancaires par exemple, pourrait aussi être un indicateur des modèles obtenus pour savoir s'ils suivent la loi (répartition naturelle) ou non (répartition « artificielle »).

## 4.2.c OPTIMISATION DES ETAPES

Une question a émergé lors des différentes expérimentations : certaines étapes obtiennent des régressions de score par rapport aux précédentes. La Table 17, étape 2, 9 et dans une moindre mesure étape 18 montrent ce fait.

De surcroît certaines étapes ont des gains faibles (11, 12...).

De même les 3 premières étapes montrent que DDL est plus efficace. Le regroupement de ces 3 étapes seraient peut-être intéressantes à évaluer.

Un autre point à noter est le delta de score entre PRL et DDL qui bien que croissant est, pour certaines étapes, plus important. L'analyse des couches et le delta associé permettraient aussi de voir les types de mutations ou de structurations qui impactent les modèles et d'en déduire des pistes d'amélioration.

Certaines étapes pourraient donc être fusionnées et probablement d'autres dédoublées. Ceci est une intuition qui nécessiterait de plus amples recherches pour avancer sur les points soulevés.
<table><caption>Table 17. Détail des scores de l'expérimentation 5 par étape sur 10 tests</caption><thead><tr><th rowspan="2">Mutant List<br>Parameters</th><th rowspan="2">Generation</th><th rowspan="2">Ecartype</th><th rowspan="2">Original Fit</th><th colspan="2">C10G 28,28,1</th><th colspan="8">e20p3 : 20 epoch patience 3 val_lors</th><th colspan="2">Stochastic initial weight</th><th colspan="2">max : ave : Test10</th><th colspan="2">75.30% 74.65%</th><th colspan="2">direct max</th><th rowspan="2">delta Max</th></tr><tr><th>Val Acc</th><th>Test1</th><th>Test2</th><th>Test3</th><th>Test4</th><th>Test5</th><th>Test6</th><th>Test7</th><th>Test8</th><th>Test9</th><th>Average</th><th>e60p6</th><th>delta Max</th></tr></thead><tbody><tr><td>69 842</td><td>0</td><td>0.49%</td><td>57.05%</td><td>57.05%</td><td>57.14%</td><td>56.78%</td><td>57.32%</td><td>56.78%</td><td>57.78%</td><td>57.67%</td><td>57.82%</td><td>56.93%</td><td>56.34%</td><td>57.16%</td><td>59.16%</td><td>-1.34%</td><td>-1.34%</td><td>0.37%</td><td>0.37%</td></tr><tr><td>69 474</td><td>1</td><td>0.46%</td><td>63.83%</td><td>62.77%</td><td>63.91%</td><td>63.78%</td><td>63.40%</td><td>63.07%</td><td>63.34%</td><td>62.46%</td><td>62.91%</td><td>63.26%</td><td>62.73%</td><td>63.16%</td><td>63.54%</td><td>0.37%</td><td>0.37%</td><td>-0.98%</td><td>-0.98%</td></tr><tr><td>30 754</td><td>2</td><td>0.69%</td><td>58.66%</td><td>59.36%</td><td>59.71%</td><td>58.94%</td><td>57.84%</td><td>58.76%</td><td>59.10%</td><td>59.73%</td><td>59.44%</td><td>58.24%</td><td>58.02%</td><td>58.91%</td><td>60.71%</td><td>0.69%</td><td>0.69%</td><td>60.71%</td><td>60.71%</td></tr><tr><td>30 744</td><td>3</td><td>0.64%</td><td>61.60%</td><td>61.03%</td><td>62.59%</td><td>61.42%</td><td>61.75%</td><td>61.77%</td><td>61.35%</td><td>62.88%</td><td>61.50%</td><td>61.38%</td><td>60.83%</td><td>61.65%</td><td>60.81%</td><td>2.07%</td><td>2.07%</td><td>60.81%</td><td>60.81%</td></tr><tr><td>30 744</td><td>4</td><td>0.48%</td><td>62.01%</td><td>61.90%</td><td>62.28%</td><td>62.19%</td><td>61.87%</td><td>62.25%</td><td>62.93%</td><td>63.08%</td><td>62.71%</td><td>61.62%</td><td>62.64%</td><td>62.35%</td><td>60.77%</td><td>2.31%</td><td>2.31%</td><td>60.77%</td><td>60.77%</td></tr><tr><td>55 880</td><td>5</td><td>0.77%</td><td>65.14%</td><td>64.53%</td><td>66.19%</td><td>65.98%</td><td>65.27%</td><td>65.80%</td><td>66.25%</td><td>67.12%</td><td>66.00%</td><td>64.97%</td><td>65.01%</td><td>65.71%</td><td>64.33%</td><td>2.79%</td><td>2.79%</td><td>64.33%</td><td>64.33%</td></tr><tr><td>67 208</td><td>6</td><td>0.91%</td><td>66.39%</td><td>66.74%</td><td>67.53%</td><td>67.17%</td><td>66.10%</td><td>66.98%</td><td>67.69%</td><td>68.85%</td><td>66.91%</td><td>66.29%</td><td>65.64%</td><td>66.99%</td><td>62.74%</td><td>6.11%</td><td>6.11%</td><td>62.74%</td><td>62.74%</td></tr><tr><td>87 688</td><td>7</td><td>0.57%</td><td>67.74%</td><td>67.52%</td><td>69.11%</td><td>68.72%</td><td>67.86%</td><td>68.25%</td><td>67.90%</td><td>68.26%</td><td>68.07%</td><td>67.51%</td><td>67.25%</td><td>68.04%</td><td>62.62%</td><td>6.49%</td><td>6.49%</td><td>68.04%</td><td>62.62%</td></tr><tr><td>67 208</td><td>8</td><td>0.63%</td><td>68.53%</td><td>67.60%</td><td>69.48%</td><td>68.77%</td><td>67.84%</td><td>68.33%</td><td>68.40%</td><td>68.18%</td><td>68.70%</td><td>67.72%</td><td>67.41%</td><td>68.24%</td><td>63.74%</td><td>5.74%</td><td>5.74%</td><td>68.24%</td><td>63.74%</td></tr><tr><td>51 848</td><td>9</td><td>0.40%</td><td>67.57%</td><td>66.70%</td><td>66.68%</td><td>66.84%</td><td>66.92%</td><td>66.76%</td><td>66.52%</td><td>67.60%</td><td>67.60%</td><td>66.78%</td><td>66.50%</td><td>66.89%</td><td>61.78%</td><td>5.82%</td><td>5.82%</td><td>66.89%</td><td>61.78%</td></tr><tr><td>67 218</td><td>10</td><td>0.69%</td><td>68.92%</td><td>67.33%</td><td>69.09%</td><td>68.01%</td><td>69.05%</td><td>69.16%</td><td>68.19%</td><td>67.64%</td><td>68.45%</td><td>67.66%</td><td>67.62%</td><td>68.22%</td><td>62.74%</td><td>6.42%</td><td>6.42%</td><td>68.22%</td><td>62.74%</td></tr><tr><td>102 002</td><td>11</td><td>0.45%</td><td>70.46%</td><td>69.66%</td><td>70.68%</td><td>69.70%</td><td>70.32%</td><td>69.51%</td><td>70.29%</td><td>69.92%</td><td>70.05%</td><td>69.09%</td><td>69.89%</td><td>69.91%</td><td>61.64%</td><td>9.04%</td><td>9.04%</td><td>69.91%</td><td>61.64%</td></tr><tr><td>115 954</td><td>12</td><td>0.61%</td><td>70.75%</td><td>69.48%</td><td>70.88%</td><td>70.96%</td><td>70.49%</td><td>71.26%</td><td>70.84%</td><td>70.10%</td><td>71.41%</td><td>70.08%</td><td>70.15%</td><td>70.56%</td><td>62.50%</td><td>8.91%</td><td>8.91%</td><td>70.56%</td><td>62.50%</td></tr><tr><td>183 586</td><td>13</td><td>0.48%</td><td>71.26%</td><td>71.03%</td><td>71.03%</td><td>71.79%</td><td>70.83%</td><td>71.10%</td><td>70.83%</td><td>70.75%</td><td>71.92%</td><td>70.35%</td><td>70.75%</td><td>71.04%</td><td>61.69%</td><td>10.23%</td><td>10.23%</td><td>71.04%</td><td>61.69%</td></tr><tr><td>219 426</td><td>14</td><td>0.41%</td><td>71.31%</td><td>71.27%</td><td>71.26%</td><td>71.90%</td><td>70.87%</td><td>70.31%</td><td>70.98%</td><td>71.21%</td><td>71.16%</td><td>70.87%</td><td>70.85%</td><td>71.07%</td><td>62.67%</td><td>9.23%</td><td>9.23%</td><td>71.07%</td><td>62.67%</td></tr><tr><td>482 562</td><td>15</td><td>0.46%</td><td>72.86%</td><td>71.95%</td><td>72.72%</td><td>71.74%</td><td>72.07%</td><td>72.36%</td><td>72.49%</td><td>72.15%</td><td>72.33%</td><td>71.04%</td><td>72.17%</td><td>72.10%</td><td>62.21%</td><td>10.51%</td><td>10.51%</td><td>72.10%</td><td>62.21%</td></tr><tr><td>484 098</td><td>16</td><td>0.48%</td><td>72.93%</td><td>72.78%</td><td>72.32%</td><td>72.71%</td><td>73.21%</td><td>72.64%</td><td>71.93%</td><td>72.98%</td><td>72.53%</td><td>71.70%</td><td>72.02%</td><td>72.48%</td><td>62.88%</td><td>10.33%</td><td>10.33%</td><td>72.48%</td><td>62.88%</td></tr><tr><td>484 098</td><td>17</td><td>0.47%</td><td>73.01%</td><td>72.34%</td><td>72.96%</td><td>73.28%</td><td>73.37%</td><td>72.60%</td><td>72.27%</td><td>73.45%</td><td>72.98%</td><td>72.46%</td><td>72.25%</td><td>72.80%</td><td>63.81%</td><td>9.64%</td><td>9.64%</td><td>72.98%</td><td>63.81%</td></tr><tr><td>500 482</td><td>18</td><td>0.57%</td><td>72.34%</td><td>72.42%</td><td>71.63%</td><td>72.18%</td><td>71.58%</td><td>72.62%</td><td>71.98%</td><td>72.55%</td><td>72.15%</td><td>71.31%</td><td>70.89%</td><td>71.93%</td><td>62.73%</td><td>9.89%</td><td>9.89%</td><td>71.93%</td><td>62.73%</td></tr><tr><td>776 574</td><td>19</td><td>0.65%</td><td>73.05%</td><td>72.76%</td><td>73.60%</td><td>72.99%</td><td>72.13%</td><td>73.33%</td><td>73.48%</td><td>73.46%</td><td>72.83%</td><td>72.69%</td><td>71.54%</td><td>72.88%</td><td>62.23%</td><td>11.37%</td><td>11.37%</td><td>72.88%</td><td>62.23%</td></tr><tr><td>1 001 758</td><td>20</td><td>0.43%</td><td>73.20%</td><td>73.35%</td><td>73.76%</td><td>73.64%</td><td>73.25%</td><td>73.61%</td><td>73.72%</td><td>73.62%</td><td>73.88%</td><td>73.21%</td><td>72.39%</td><td>73.44%</td><td>60.92%</td><td>12.96%</td><td>12.96%</td><td>73.44%</td><td>60.92%</td></tr><tr><td>1 003 454</td><td>21</td><td>0.35%</td><td>73.73%</td><td>73.74%</td><td>73.55%</td><td>73.09%</td><td>73.45%</td><td>73.83%</td><td>74.06%</td><td>73.68%</td><td>73.56%</td><td>73.13%</td><td>72.99%</td><td>73.51%</td><td>59.93%</td><td>14.13%</td><td>13.31%</td><td>73.51%</td><td>59.93%</td></tr><tr><td>1 071 070</td><td>22</td><td>0.43%</td><td>73.97%</td><td>73.49%</td><td>74.36%</td><td>73.83%</td><td>73.75%</td><td>73.10%</td><td>73.59%</td><td>74.23%</td><td>73.41%</td><td>73.12%</td><td>73.31%</td><td>73.62%</td><td>61.05%</td><td>13.31%</td><td>13.31%</td><td>73.62%</td><td>61.05%</td></tr><tr><td>906 494</td><td>23</td><td>0.56%</td><td>74.16%</td><td>73.65%</td><td>74.61%</td><td>73.51%</td><td>73.85%</td><td>73.21%</td><td>74.19%</td><td>74.60%</td><td>73.29%</td><td>73.02%</td><td>73.61%</td><td>73.75%</td><td>62.12%</td><td>12.49%</td><td>12.49%</td><td>73.75%</td><td>62.12%</td></tr><tr><td>906 494</td><td>24</td><td>0.50%</td><td>74.66%</td><td>73.58%</td><td>74.65%</td><td>73.80%</td><td>74.47%</td><td>74.29%</td><td>74.81%</td><td>74.60%</td><td>74.04%</td><td>73.78%</td><td>73.36%</td><td>74.14%</td><td>61.88%</td><td>12.93%</td><td>12.93%</td><td>74.04%</td><td>61.88%</td></tr><tr><td>909 182</td><td>25</td><td>0.42%</td><td>74.80%</td><td>74.20%</td><td>75.30%</td><td>73.77%</td><td>74.30%</td><td>74.27%</td><td>73.86%</td><td>73.99%</td><td>74.20%</td><td>74.04%</td><td>74.12%</td><td>74.20%</td><td>63.43%</td><td>11.87%</td><td>11.87%</td><td>74.20%</td><td>63.43%</td></tr><tr><td>909 390</td><td>26</td><td>0.42%</td><td>75.00%</td><td>74.22%</td><td>74.92%</td><td>74.25%</td><td>74.13%</td><td>74.45%</td><td>74.64%</td><td>74.84%</td><td>74.80%</td><td>73.59%</td><td>74.05%</td><td>74.39%</td><td>62.15%</td><td>12.77%</td><td>12.77%</td><td>74.39%</td><td>62.15%</td></tr><tr><td>1 018 526</td><td>27</td><td>0.49%</td><td>75.37%</td><td>73.67%</td><td>74.38%</td><td>75.06%</td><td>74.24%</td><td>74.34%</td><td>75.10%</td><td>74.96%</td><td>74.49%</td><td>74.05%</td><td>73.89%</td><td>74.42%</td><td>63.31%</td><td>11.79%</td><td>11.79%</td><td>74.42%</td><td>63.31%</td></tr></tbody></table>

Cette table montre aussi que les apprentissages directs sont d'autant moins bons que le nombre d'étapes augmente ce qui confirme une nouvelle piste à potentiellement suivre : démontrer que plus le problème à traiter sera complexe, plus l'intérêt de l'apprentissage phylogénétique sera important.

## 4.2.d COMPLEXITE DU MODELE

Comme vu plus haut, la méthode de construction du modèle permet aussi d'obtenir des modèles dont le DDL est proche du PRL, voire du champion.

Un modèle dont la pression sélective a privilégié, lors de la phase 0 de neuro évolution, la rapidité (synonyme de facilité d'apprentissage ?) d'exécution semble moins bénéficier de la méthode PRL. La complexité topologique du modèle ne semble pas à elle seule être un critère suffisant pour que PRL soit efficace. Les modèles utilisés dans cette thèse ne sont donc pas assez complexes pour contrebalancer une topologie ayant une vitesse d'exécution optimisée.

Il conviendrait de poursuivre des recherches, avec plus de puissance de calcul, par exemple, pour l'obtention de modèles très complexes de type GPT3 en appliquant une pression sélective sur la rapidité d'exécution. L'objectif est ainsi de pouvoir mieux définir les périmètres d'efficacité de PRL.
La vitesse d'exécution d'un modèle semble être corrélé avec la facilité d'apprentissage et donc lié à sa plus faible sensibilité à l'évanescence du gradient. Le VGE reste néanmoins un problème.

### 4.2.e RETROPROPAGATION DE GRADIENT ?

L'approche phylogénétique est efficace sur des modèles utilisant comme méthode d'apprentissage la rétropropagation de gradient (méthode la plus utilisée). Est-ce que cela serait aussi efficace avec une autre optimisation de poids comme, par exemple, l'apprentissage mémétique qui est moins affecté de par conception, par l'évanescence du gradient ?

L'expérience 6 utilisant un apprentissage par renforcement semble néanmoins bénéficier de la méthode PRL.

Dans ce cas la réduction de l'impact des poids aléatoires peut raisonnablement être invoquée. Cela reste toutefois à confirmer.

### 4.2.f METHODE DE TRAVAIL DES EXPERTS IA

La méthode PRL nécessite de connaître le chemin phylogénétique, l'utilisation de la neuro évolution est certes intéressante mais ne permet pas d'utiliser des modèles existants.

L'efficacité de la PRL démontre que les experts devraient noter les modifications qu'ils appliquent, au fur et à mesure, de la construction de leurs modèles. Si, en trouvant le modèle d'un confrère sur internet, il y avait également son modèle initial accompagné de la liste des modifications apportées, il serait alors possible d'appliquer le PRL.
CONCLUSION ET PERSPECTIVES

En conclusion, l'intuition initiale que la transposition, depuis le monde biologique, de la programmation génétique de l'évolution de la topologie du système nerveux central au cours de la croissance de l'individu, au monde numérique, semble avoir des bénéfices intéressants en termes d'apprentissage.

Cette thèse montre que le modèle d'IA/ML apprend mieux que l'état de l'art et que la méthode phylogénétique non seulement, ne remet pas en question les méthodes d'apprentissage existantes, mais en sont complémentaires. Il y a quelques applications concrètes qui peuvent découler de cette approche comme des systèmes dont le modèle d'IA devra être déployé et opéré dans des environnements très disparates voir inconnus. Des environnements où l'adaptation rapide devient fondamentale et où un processus de recherche évolutive des possibles serait trop lent et trop coûteux et les méthodes d'apprentissage traditionnelles pas assez adaptables. Exemple en robotique dans des environnements variés et extrêmes, ou encore pour des chaudières industrielles devant aussi bien s'adapter à un magasin, qu'à une usine...

Les résultats obtenus sont donc prometteurs et ouvrent une voie intéressante pour la recherche en IA/ML d'autant que l'obésité des modèles produits actuellement montrent qu'on atteint des limites dans les apprentissages bruts tant en termes de taille qu'en termes d'efficacité d'apprentissage.

Cette thèse a pour ambition d'ouvrir la porte à des recherches supplémentaires sur l'utilisation de la méthode PRL où un modèle avec son chemin phylogénétique peut être efficacement appliqué sur un nouvel ensemble de données ou encore une version mise à jour du même ensemble de données. Des recherches supplémentaires seraient nécessaires dans ce domaine.

L'utilisation de la méthode phylogénétique, où l'évolution programmée du modèle est combinée avec l'entrainement, produira des systèmes plus performants, par rapport aux systèmes où le modèle est entrainé directement (DDL).

Il est important pour les experts que les modifications effectuées soient stockées et historisées pour permettre de reproduire l'arbre phylogénétique et ainsi pouvoir l'utiliser pour bénéficier du réel potentiel de la méthode PRL.

Cette méthode pourrait être particulièrement efficace dans la formation de modèles très profonds et très complexes. De futurs travaux pourraient donc se concentrer sur l'expansion et l'exploration de cette méthode.
L'ouverture pour de nouvelles recherches est essentielle, car il reste un grand nombre de questions à résoudre :

a) Coûts de la méthode PRL ?

b) Comment évaluer la répartition d'information des couches ?

c) Doit-on regrouper des mutations sur une même étape pour en réduire le nombre ?

d) À partir de quel stade de maturité du modèle M₀, doit-on appliquer l'apprentissage phylogénétique (quel modèle initial choisir) ?

e) A quelle limite d'apprentissage (nombre d'epochs), doit-on s'arrêter pour chaque étape de mutation ?

f) A partir de quel seuil de complexité du modèle obtenu, la méthode PRL peut-elle être considérée comme pertinente ?

g) Est-ce que le *freeze* des couches non mutées accélère le processus PRL ?

h) Est-ce que la PRL s'applique à des modèles n'utilisant pas la rétropropagation de gradient ?

i) Quelle variation du champ d'application, la transférabilité supporte-t-elle ?

Etc.

Les expériences ont permis de répondre à certaines des questions sur l'intérêt de l'approche phylogénétique sur des modèles de DL. En revanche, elles soulèvent de nouvelles interrogations mais cette fois, sur son périmètre d'utilisation.

Un point d'étude potentielle : le coût d'apprentissage. C'est un élément important aujourd'hui car lié à la consommation énergétique des modèles. Au niveau de l'apprentissage, l'approche PRL semble équivalente ou légèrement plus coûteuse que la méthode DDL classique (voir le point sur le Temps d'apprentissage).

Toujours lié au coût, l'obtention du chemin phylogénétique peut être coûteux selon la méthode utilisée. Il a été choisi ici la neuro évolution pour le faire, ce qui n'est pas forcément plus coûteux que des techniques d'AutoML classiques (sans processus évolutif) utilisées par les experts dans les approches DDL traditionnelles.

Un second point assez important pour mériter réflexion est l'évaluation de la répartition de l'information au sein du modèle de deep learning. L'entropie de Shannon a été utilisée ici pour l'évaluer. D'autres méthodes seraient peut-être plus appropriées.

Le quatrième point à examiner de plus près est la pertinence de mutations successives. En effet le système de neuro évolution a généré des mutations aléatoires qui ont été conservées car cela donnait un avantage compétitif. Si l'on examine les gains de score ramenés par étape de mutation, il est probable que l'on puisse regrouper certaines étapes de mutations.
Un autre point à approfondir : déterminer à partir de quelle mutation, il pourrait être utile de lancer la méthode PRL. Ici, on a fait le choix de démarrer avec le modèle initial mais comme le montre la Table 17, on voit que l'avancée ne se fait pas forcément dès la première mutation mais à partir seulement de la 4ème voire de la 5ème mutation.
# GLOSSAIRE

**Apprentissage ou entrainement** : Algorithme dont l'action est de faire « apprendre » un modèle (ajuster le graphe de neurones le composant) de façon à atteindre un objectif déterminé, généralement un comportement souhaité (par exemple, reconnaître une catégorie d'images). Généralement, l'apprentissage démarre avec un jeu de données lu en boucle (voir epoch) par un algorithme dit d'apprentissage, ce dernier s'appuyant sur un framework de réseaux de neurones.

**Couche** : Une couche représente une brique de construction d'un modèle. Elles sont disponibles au sein du catalogue du framework de réseau de neurones utilisé. Par exemple couche de convolution, couche dense, couche LSTM... chacune apportant au modèle une caractéristique mathématique, en général, spécifique. La topologie d'un modèle donné est constituée d'un ensemble de couches liées.

**Cycle** : Le numéro du cycle (en neuro évolution) d'un modèle représente le moment d'apparition de ce modèle précis. Un modèle de cycle 5 est apparu après 5 itérations du processus de neuro évolution. A ne pas confondre avec la génération. Un modèle qui est apparu par exemple dans le cycle 8 peut être seulement de génération 3 ($M_3$).

**Direct Deep Learning (DDL)** : est le nom donné dans le cadre de cette thèse à la méthode d'apprentissage standard d'un modèle, généralement utilisée par les experts en datascience. L'expert récupère un modèle existant ou en fabrique un, et lui fait apprendre un comportement, à partir d'un jeu de données (par exemple, reconnaître une image...) et d'un algorithme d'apprentissage adapté. Cette méthode d'apprentissage implique que le modèle utilisé possède une topologie (structuration des couches) fixe dont seuls les poids (représentation numérique de l'importance d'un lien entre deux neurones) sont modifiés lors de l'apprentissage. L'historique de construction du modèle (comment il a été conçu, pourquoi sa topologie a cette forme et comment on est arrivé à cette architecture de réseaux de neurones) n'est généralement pas connu, ni exploité.

**Epoch** : représentation technique en datascience utilisée lors de l'apprentissage d'un modèle. Il s'agit de l'action de faire lire complètement un jeu de données d'apprentissage à un modèle pour qu'il apprenne le comportement attendu. Lorsque l'on parle de 5 epochs, le jeu de données a été lu 5 fois pour apprendre (similaire à lire 5 fois un texte pour l'apprendre par cœur).

**Étape** : concept utilisé dans le cadre de la méthode PRL. C'est le passage d'un modèle $M_n$ (existant à l'étape n) avec une topologie donnée, à un nouveau modèle $M_{n+1}$, avec une topologie différente à l'étape n+1. Le modèle à l'étape n+1 pouvant comporter une à plusieurs mutations par rapport au modèle à l'étape n. L'étape correspond ainsi à l'état topologique d'un modèle
pendant son apprentissage PRL. Ce terme "étape" sera systématiquement utilisé dès qu'il s'agira de décrire le chemin évolutif programmé dans la méthode PRL. En effet, lors d'un processus de type PRL, le mécanisme correspond plus à une planification d'une série d'étapes codées génétiquement pour arriver à un modèle final Champion en partant d'un modèle initial donné. Dans un contexte de neuro évolution, le terme employé entre deux modèles successifs, Mn et Mn+1, est "génération".

**Framework de réseaux de neurones** : Il s'agit d'une plateforme logicielle dont le rôle est de fournir des services pour définir la topologie d'un modèle de réseaux de neurones et de le construire. Elle permet également de l'utiliser : entraînement dans un contexte donné avec un jeu de données et enfin l'exploitation des modèles créés. Il en existe plusieurs, commerciaux ou open source. Dans le cadre de cette thèse, le choix s'est porté sur TensorFlow de Google, le plus utilisé à l'époque.

**Génération** : dans cette thèse, il sera considéré qu'en neuro évolution, la génération n du modèle considéré M_n représente le nombre d'ancêtres depuis le modèle initial M_0. Un modèle de génération 1 (M_1) descend directement du modèle initial M_0, alors qu'un modèle de génération 5 appelé M_5 descend également de M_0 mais en passant par 5 évolutions successives (M_5 = M_(4) + 1 = M(((((0)+1)+1)+1)+1)+1*)). Une évolution consistant à une ou plusieurs mutations. En neuro évolution il est normal que 2 modèles de génération 5 n'aient pas la même topologie car il est très peu probable qu'ils aient suivi les mêmes évolutions. Il est à préciser que la notion du n pour le modèle considéré M_n lorsque que l'on utilise la méthode PRL (chemin évolutif préenregistré) représente le nombre d'étapes nécessaires pour atteindre la topologie du modèle considéré M_n. Dans ce cadre, contrairement au contexte de neuro évolution, il n'est pas possible d'avoir 2 modèles avec une topologie différente lorsque l'on est à une étape n donnée car on utilise un même chemin évolutif unique programmé (phylogénétique) pour faire évoluer le modèle depuis M_0 jusque M_n.

* Suite arithmétique de raison 1 partant de M₀, Mᵢ = Mᵢ₋₁ + 1 pour i= 1 à n, i représentant une génération.

**Hall of Fame** : HOF en abrégé, est la liste des dix modèles de réseaux de neurones les plus performants que l'algorithme de neuro évolution a généré pendant la phase 0 (recherche du modèle Champion). Cette liste est utilisée par l'algorithme de neuro évolution pour construire les modèles de génération suivante et également pour comparer leur efficacité par rapport à ceux contenus dans la liste. Si l'un des modèles de la nouvelle génération est considéré par l'algorithme comme plus performant selon les critères de sélection mis en place, il vient en remplacer un moindre de cette liste.
**Modèle IA** : est dans le cadre de cette thèse, la représentation d'un réseau de neurones numérique avec des caractéristiques propres : organisation topologique des neurones numériques entre eux, poids, couches, input (format des données entrées), output (format de données sorties) ... Il est parfois appelé "Agent" dans l'algorithme de neuroévolution.

**Modèle Champion** : est un modèle $M_c$ représentant le meilleur modèle (optimum) que la neuroévolution a produit lors de la phase 0 pour résoudre un problème donné. Ce modèle champion sert d'étalon topologique dans les expériences de DDL et PRL

**Modèle Initial** : est le modèle $M_0$ utilisé comme point de départ pour la recherche des meilleurs modèles en neuroévolution. En général, c'est un modèle que l'on pourrait qualifier de "primitif" dans le sens où il possède peu de neurones et couches.

**Mutant** : est un modèle $M_n$ ayant subi une ou des mutations qui le différencient du modèle parent $M_{n-1}$ dont il est issu.

**Mutations** : à chaque génération du processus évolutif ou étape de la méthode PRL, une ou plusieurs mutations sont appliquées à la topologie d'un modèle parent $M_n$ afin de créer un modèle enfant/mutant $M_{n+1}$. Une mutation topologique peut ajouter une couche au modèle, modifier les paramètres d'une couche existante, supprimer une couche, cloner une couche existante, ajouter, supprimer ou modifier un lien entre deux couches ou encore transformer une couche contre un autre type de couche...

**Neuroévolution** : le processus neuroévolutif est une mise en œuvre d'algorithmes génétiques pour générer de meilleurs modèles d'intelligence artificielle selon les objectifs à atteindre (par exemple, reconnaissance de forme, génération de langage...) en simulant un processus d'évolution « naturelle ». La neuroévolution n'est utilisée dans cette thèse que pour définir le chemin évolutif (phylogénétique) au moment de la phase 0 de la méthodologie de la thèse.

**NN ou RNN** : Réseau de neurones. Neural Network en anglais. Voir modèle IA.

**Patience** : c'est un paramètre du framework qui permet lors de la phase d'apprentissage de déterminer a quel moment on arrête l'apprentissage. Cela permet d'éviter que le modèle apprenne trop par cœur.

**Phylogenetic Replay Learning (PRL)** : c'est le nom choisi pour définir la méthode créée et évaluée lors de cette thèse. C'est une méthode d'apprentissage qui imite l'évolution structurelle d'un cerveau biologique au cours de sa croissance. Un cerveau biologique possède une topologie génétiquement programmée pour évoluer au cours du temps. C'est une programmation qui semble faciliter l'apprentissage du cerveau. L'approche PRL copie ce mécanisme de programmation en appliquant un chemin évolutif planifié de la topologie à un modèle initial $M_0$ dans le but d'obtenir un modèle Champion $M_c$.
**Processus de sélection** : est le mécanisme grâce auquel l'algorithme de neuroévolution sélectionne les meilleures entités $M_c$ en fonction de leur score (fonction fitness) et les stocke dans la liste "Hall of Fame" (HOF).

**Rétropropagation de Gradients** : algorithme d'apprentissage d'un modèle de réseau de neurones numériques profond (dit de *deep learning*). Après avoir calculé le résultat de la lecture d'une donnée par le modèle, pour se rapprocher du résultat attendu, il s'agit de propager une éventuelle correction des poids du modèle (Gradient d'erreur) couche par couche en remontant le modèle depuis son output vers l'input (Rétropropagation).

**Topologie** : La topologie du réseau de neurones d'un modèle représente son architecture (sous forme de graphe). C'est-à-dire le nombre de neurones, la manière dont ils sont reliés, leur méthode de fonctionnement... Dans cette thèse, les poids des liens entre les neurones du réseau ne sont pas traités comme faisant partie de la topologie impactée par les mutations. Ces poids ne sont traités que lors de l'apprentissage du modèle par le framework de réseaux de neurones.

**Transfert learning** : service du framework de réseaux de neurones qui consiste dans la reprise des poids issus de l'apprentissage d'un modèle pour l'appliquer à un autre modèle. Dans le cadre de cette thèse, il est utilisé pour transférer l'apprentissage du modèle parent $M_n$ et l'appliquer au modèle enfant $M_{n+1}$. Il est à préciser que les éléments (couches, liens...) du modèle $M_n$ ayant subi des mutations doivent, quant à eux, être initialisés avec des poids aléatoires dans le modèle $M_{n+1}$ car ils n'existait pas dans le modèle parent.
BIBLIOGRAPHIE

[1] Hsu, Feng-hsiung (2002). "Behind Deep Blue: Building the Computer that Defeated the World Chess Champion". Princeton University Press. ISBN 0-691-09065-3.

[2] D. Silver, David et al. (2016), "Mastering the Game of Go with Deep Neural Networks and Tree Search," Nature, vol. 529, pp. 484-489, DOI: 10.1038/nature16961.

[3] F. Gomez, J. Schmidhuber and R. Miikkulainen (2008), "Accelerated Neural Evolution through Cooperatively Coevolved Synapses," Journal of Machine Learning Research, vol. 9, pp. 937-965, DOI: 10.1145/1390681.1390712.

[4] Bender et al (2021), "On the Dangers of Stochastic Parrots: Can Language Models Be Too Big?" In Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency (FAccT '21). Association for Computing Machinery, New York, NY, USA, 610-623. https://doi.org/10.1145/3442188.3445922

[5] B. Cessac, T. Viéville, C. Leininger (2007), https://interstices.info/le-cerveau-est-il-un-bon-modele-de-reseau-de-neurones/

[6] Hornik K, Stinchcombe M, White H (1989) Multilayer Feedforward Networks are Universal Approximators. Neural Networks 2, 359-366.

[7] Haykin S (1999) Neural Networks: A Comprehensive Foundation J. Griffin, ed. (Prentice Hall).

[8] Koza JR (1992) Genetic Programming: On the Programming of Computers by Means of Natural Selection. (MIT Press), ISBN 0262111705.

[9] Holland JH (1975) Adaptation in Natural and Artificial Systems J. H. Holland, ed. (University of Michigan Press).

[10] X. Zhang, J. Clune and K. Stanley (2017), "On the Relationship between the OpenAI Evolution Strategy and Stochastic Gradient Descent", arXiv: 1712.06564, DOI: 10.48550/arXiv.1712.06564.

[11] J. Lehman, J. Chen, J. Clune and K. Stanley (2018), "ES Is More Than Just a Traditional Finite-difference Approximator," Proc. of the Genetic and Evolutionary Computation Conference (GECCO '18), pp. 450-457, DOI: 10.1145/3205455.3205474.
[12] E. Conti, Edoardo et al. (2017), "Improving Exploration in Evolution Strategies for Deep Reinforcement Learning via a Population of Novelty-seeking Agents," Proc. of the 32nd Int. Conf. on Neural Information Processing Systems (NIPS'18), pp. 5032–5043.

[13] F. Such et al. (2017), "Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning" arXiv, DOI: 10.48550/arXiv.1712.06567.

[14] R. De Nardi, J. Togelius, O. Holland and S. Lucas (2006), "Evolution of Neural Networks for Helicopter Control: Why Modularity Matters," Proc. of the IEEE Int. Conf. on Evolutionary Computation, pp. 1799-1806, DOI: 10.1109/CEC.2006.1688525, Vancouver, Canada.

[15] V. Heidrich-Meisner, C. Igel, B. Hoeffding and Bernstein (2009), "Races for Selecting Policies in Evolutionary Direct Policy Search," Proc. of the 26th Annual Int. Conf. on Machine Learning (ICML '09), vol. 51, DOI: 10.1145/1553374.1553426.

[16] J. Lehman et al. (2020), "The Surprising Creativity of Digital Evolution: A Collection of Anecdotes from the Evolutionary Computation and Artificial Life Research Communities," Massachusetts Institute of Technology, Artificial Life, vol. 26, no. 2, pp. 274–306.

[17] P. Vikhar (2016), "Evolutionary Algorithms: A Critical Review and Its Future Prospects," Proc. of the IEEE Int. Conf. on Global Trends in Signal Process., Inf. Comp. and Comm. pp. 261-265, Jalgaon, India.

[18] P. Mengal (1993), Histoire du concept de récapitulation : ontogenèse et phylogènèse en biologie et sciences humaines, (Masson)

[19] L. Krubitzer, L Lefebvre (2010),
https://lecerveau.mcgill.ca/flash/i/i_05/i_05_cr/i_05_cr_her/i_05_cr_her.html,
https://lecerveau.mcgill.ca/flash/a/a_05/a_05_cr/a_05_cr_her/a_05_cr_her.html

[20] S. Hochreiter (1991), Untersuchungen zu dynamischen neuronalen Netzen, Diploma Thesis, Josef Hochreiter Institut fur Informatik, Technische Universitat Munchen, Germany.

[21] F. Informatik, Y. Bengio, P. Frasconi and J. Schmidhuber Jfirgen (2003), "Gradient Flow in Recurrent Nets: the Difficulty of Learning Long-Term Dependencies," Chapter of Book: A Field Guide to Dynamical Recurrent Neural Networks, pp. 237–243, DOI: 10.1109/9780470544037.ch14, IEEE Press.

[22] Y. Bengio, P. Simard and P. Frasconi (1994), "Learning Long-term Dependencies with Gradient Descent Is Difficult," IEEE Transactions on Neural Networks, vol. 5, pp. 157-166, DOI: 10.1109/72.279181.
[23] R. Pascanu, T. Mikolov and Y. Bengio (2013), "On the Difficulty of Training Recurrent Neural Networks," Proc. of the 30th Int. Conf. on Machine Learning, JMLR: W&CP, vol. 28, Atlanta, Georgia, USA.

[24] X. Glorot, A. Bordes and Y. Bengio (2011), "Deep Sparse Rectifier Neural Networks," Proc. of the 14th Int. Conf. on Artificial Intelligence and Statistics, vol. 15, pp. 315-323, Fort Lauderdale, FL, USA.

[25] Y. Lecun, L. Bottou, G. Orr and K.-R. Müller (1998), "Efficient BackProp," Chapter in Book: Neural Networks: Tricks of the Trade, vol. 7700, pp. 9-48, DOI: 10.1007/3-540-49430-8_2.

[26] X. Glorot and Y. Bengio (2010), "Understanding the Difficulty of Training Deep Feedforward Neural Networks," Journal of Machine Learning Research, vol. 9, pp. 249-256.

[27] S. Ioffe and C. Szegedy (2015), "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift," Proceedings of the 32nd International Conference on Machine Learning, PMLR 37:448-456, https://proceedings.mlr.press/v37/ioffe15.html.

[28] Y. Lecun et al. (1989), "Backpropagation Applied to Handwritten Zip Code Recognition," Neural Computation, vol. 1, pp. 541-551, DOI: 10.1162 neco.1989.1.4.541.

[29] K. He, X. Zhang, S. Ren and J. Sun (2016), "Deep Residual Learning for Image Recognition," Proc. of the IEEE Conf. on Comp. Vision and Pattern Recog. (CVPR), pp. 770-778, DOI: 10.1109 CVPR.2016.90.

[30] H. Noh, T. You, J. Mun and B. Han (2017), "Regularizing Deep Neural Networks by Noise: Its Interpretation and Optimization," Proc. of the 31st Conf. on Neural Inf. Process. Sys. (NIPS), Long Beach, USA.

[31] S. Enrique, J. Hare and M. Niranjan (2018), "Deep Cascade Learning," IEEE Transactions on Neural Networks and Learning Systems, vol. 29, no. 11, pp. 5475-5485, DOI: 10.1109/TNNLS.2018.2805098.

[32] J. Metzen, M. Edgington, Y. Kassahun and F. Kirchner (2008), "Performance Evaluation of EANT in the Robocup Keepaway Benchmark," Proc. of the 6th Int. Conf. on Machine Learning and Applications (ICMLA 2007), pp. 342-347, DOI: 10.1109/ICMLA.2007.23.

[33] K. Stanley and R. Miikkulainen (2002), "Evolving Neural Networks through Augmenting Topologies," Evolutionary Computation, vol. 10, pp. 99-127, DOI: 10.1162/106365602320169811.
[34] E. Real, A. Aggarwal, Y. Huang and Q. Le (2018), "Regularized Evolution for Image Classifier Architecture Search," Proc. of AAAI Conf. on Artificial Intelligence, vol. 33, DOI: 10.1609/aaai.v33i01.33014780.

[35] A. Gaier and D. Ha (2019), "Weight Agnostic Neural Networks," arXiv: 1906.04358, DOI: 10.13140/RG.2.2.16025.88169.

[36] C. Shannon and W. Weaver (1963), *The Mathematical Theory of Communication*, Note 78, p. 44.

[37] J. Schmidhuber (1992), "Learning Complex, Extended Sequences Using the Principle of History Compression," Neural Computation, vol. 4, pp. 234-242, DOI: 10.1162/neco.1992.4.2.234.

[38] O. Granmo et al. (2019), "The Convolutional Tsetlin Machine," arXiv: 1905.09688v5, DOI: 10.48550/arXiv.1905.09688.

[39] Frank Benford (1938), « The law of anomalous numbers », Proceedings of the American Philosophical Society, vol. 78, p. 551-572.

[40] Vecoven N, Ernst D, Wehenkel A, Drion G (2020), "Introducing neuromodulation in deep neural networks to learn adaptive behaviours", PLOS ONE 15(1): e0227922. https://doi.org/10.1371/journal.pone.0227922.

[41] Glafkides JP, Sher G, Akdag H (2022), "PHYLOGENETIC REPLAY LEARNING IN DEEP NEURAL NETWORKS", Jordanian Journal of Computers and Information Technology (JJCIT), Volume 08, Number 03, pp. 218 - 231, doi: 10.5455/jjcit.71-1643583878
# LISTE DES TABLEAUX ET FIGURES

## TABLEAUX :

<table><tr><td>TABLE 1. RESNET RESULTAT DE L'ERREUR</td><td>37</td></tr><tr><td>TABLE 2. MODELE INITIAL 1, M<sup>1</sup><sub>0</sub></td><td>59</td></tr><tr><td>TABLE 3. INFORMATION DU CHAMPION 1 M<sup>1</sup><sub>c</sub> CHOISI (MNIST)</td><td>60</td></tr><tr><td>TABLE 4. SCORE POUR CHAQUE ETAPE EVOLUTIVE DU CHAMPION M<sup>1</sup><sub>c</sub></td><td>61</td></tr><tr><td>TABLE 5. RESULTATS DU DDL SUR LE CHAMPION 1 : M<sup>1D</sup><sub>c</sub> (MNIST)</td><td>62</td></tr><tr><td>TABLE 6. RESULTATS DU PRL SUR LE CHAMPION 1 : M<sup>1P</sup><sub>c</sub> (MNIST)</td><td>63</td></tr><tr><td>TABLE 7. STATISTIQUES DE L'EXPERIENCE 1</td><td>64</td></tr><tr><td>TABLE 8. COMPARAISON DES ENTROPIES DE SHANNON PAR COUCHE DU NN</td><td>65</td></tr><tr><td>TABLE 9. COMPARAISON DDL VS. PRL POUR CHAQUE ETAPE EVOLUTIVE</td><td>66</td></tr><tr><td>TABLE 10. COMPARAISON DES SHANNON PAR COUCHE POUR FASHION MNIST</td><td>69</td></tr><tr><td>TABLE 11. MODELE INITIAL 2</td><td>71</td></tr><tr><td>TABLE 12. LISTE DES CHAMPIONS MNIST AU COURS DU TEMPS OBTENUS EN PHASE 0</td><td>72</td></tr><tr><td>TABLE 13. ECHANTILLON DE RESULTATS DE DDL CHAMPION 2 M<sup>2D</sup><sub>c</sub></td><td>75</td></tr><tr><td>TABLE 14. RESULTATS PRL CHAMPION 2 M<sup>2P</sup><sub>c</sub> (MNIST)</td><td>76</td></tr><tr><td>TABLE 15. SYNTHESE DES SCORES DES EXPERIENCES PAR CORPUS</td><td>85</td></tr><tr><td>TABLE 16. SCORES PAR ETAPE PRL AVEC DIFFERENTES REGLES D'APPRENTISSAGE EXPERIENCE 2</td><td>88</td></tr><tr><td>TABLE 17. DETAIL DES SCORES DE L'EXPERIMENTATION 5 PAR ETAPE SUR 10 TESTS</td><td>91</td></tr></table>
FIGURES :

<table><tr><td>FIGURE 1- DIAGRAMME DE VENN POUR L'IA, LE ML & LE DL</td><td>15</td></tr><tr><td>FIGURE 2 - LE NEURONE BIOLOGIQUE (SOURCE WIKIPEDIA)</td><td>24</td></tr><tr><td>FIGURE 3 - FORMALISATION D'UN NEURONE NUMERIQUE</td><td>24</td></tr><tr><td>FIGURE 4 - EXEMPLES DE RESEAUX DE NEURONES NUMERIQUES (REPRESENTATION 3D PAR DATAVALORIS)</td><td>26</td></tr><tr><td>FIGURE 5 - EXEMPLE D'UN GENOTYPE EN ARBRE</td><td>29</td></tr><tr><td>FIGURE 6 - EXEMPLE D'UN GENOTYPE EN GRAPHE</td><td>29</td></tr><tr><td>FIGURE 7 - COMPARAISON DE L'EMBRYOGENESE DU CERVEAU DE 2 ESPECES PHYLOGENETIQUEMENT DIFFERENTES</td><td>33</td></tr><tr><td>FIGURE 8 - COMPARAISON TOPOLOGIQUE DE CERVEAUX DE 4 ESPECES DISTINCTES</td><td>33</td></tr><tr><td>FIGURE 9 - DEEP CASCADE LEARNING</td><td>35</td></tr><tr><td>FIGURE 10 - DEEPCASCADE LEARNING RESULT COMPARISON</td><td>36</td></tr><tr><td>FIGURE 11. IMPACT DE LA PROFONDEUR DU RESEAU SUR L'APPRENTISSAGE</td><td>36</td></tr><tr><td>FIGURE 12. BLOC DE CONSTRUCTION D'UN RESNET</td><td>37</td></tr><tr><td>FIGURE 13. EXEMPLE DU PROCESSUS DE SELECTION (NEUROEVOLUTION) [41]</td><td>45</td></tr><tr><td>FIGURE 14. CHEMIN PHYLOGENETIQUE DU CHAMPION. [41]</td><td>46</td></tr><tr><td>FIGURE 15. THE PHYLOGENETIC LEARNING PATH FROM INITIAL MODEL TO THE FINAL ONE. [41]</td><td>47</td></tr><tr><td>FIGURE 16 REPRESENTATION DU DATASET MNIST</td><td>49</td></tr><tr><td>FIGURE 17 REPRESENTATION DU DATASET MNIST FASHION</td><td>50</td></tr><tr><td>FIGURE 18 REPRESENTATION DU DATASET CIFAR10</td><td>50</td></tr><tr><td>FIGURE 19 REPRESENTATION DU DATASET CIFAR10 DESATURE</td><td>51</td></tr><tr><td>FIGURE 20 REPRESENTATION DU DATASET TINY IMAGENET</td><td>52</td></tr><tr><td>FIGURE 21. CARTPOLE</td><td>52</td></tr><tr><td>FIGURE 22 EXEMPLE DE MUTATIONS [41]</td><td>54</td></tr><tr><td>FIGURE 23 REPRESENTATION D'UN CHEMIN PHYLOGENETIQUE</td><td>54</td></tr><tr><td>FIGURE 24 - EX DE GENOTYPE D'UN MODELE</td><td>55</td></tr><tr><td>FIGURE 25. DISTRIBUTION DES SCORES DDL ET PRL POUR L'EXPERIMENTATION 1 SUR CORPUS MNIST</td><td>66</td></tr><tr><td>FIGURE 26. GRAPHIQUE DE RESULTAT DE L'EXPERIMENTATION 1 PAR ETAPE (MNIST)</td><td>67</td></tr><tr><td>FIGURE 27 COURBE DE CONSTRUCTION AUTOMATISE DES CHAMPIONS SUCCESSIFS PAR NEUROEVOLUTION</td><td>72</td></tr></table>
# ANNEXES

## ANNEXE 1 : DESCRIPTION D'UN APPRENTISSAGE DLL AU QUOTIDIEN D'UN EXPERT

Un expert en apprentissage profond travaille généralement soit sur des modèles déjà existants, soit créé ses propres modèles en s'appuyant sur les meilleures pratiques en vigueur ou des travaux préexistants.

### Utilisation de Modèles Existants

Dans le cas de l'utilisation de modèles existants, l'expert commence par chercher des travaux pertinents en ligne, souvent dans des publications scientifiques, des catalogues de modèles comme Hugging Face ou des plateformes de compétitions comme Kaggle. Une fois un modèle approprié trouvé, l'expert l'adapte à son propre cas d'usage. Si les besoins sont très similaires, une simple personnalisation, ou "fine tuning", peut être suffisante.

### Création de Modèles

En revanche, lorsqu'il crée un modèle de zéro ou lorsque le modèle existant ne répond pas aux besoins, l'expert se trouve face à un manque d'historique de la construction et de l'évolution topologique du modèle. Cet historique pourrait inclure les changements dans la structure du réseau (ajout de couches, changement de fonctions d'activation, etc.), ce qui peut être précieux pour comprendre le comportement du modèle.

### Apprentissage du Modèle

L'expert procède ensuite à l'entraînement du modèle sur son propre jeu de données. Les méthodes peuvent varier, allant du transfert de connaissances ("transfer learning") à l'apprentissage à partir de zéro. Le protocole DDL sert à guider ce processus lorsque l'évolution topologique du modèle n'est pas envisagée, c'est-à-dire lorsque la structure du réseau est fixée dès le départ.

### Importance de l'Histoire de Construction

Ce que cette thèse démontre, c'est que l'historique de construction et d'évolution topologique des modèles, bien qu'habituellement négligé, peut être très utile pour comprendre la performance et les limitations des modèles, et pourrait donc être précieusement conservé...
# ANNEXE 2 : MODELES PHYLOGENETIQUE DU CHAMPION 2 DE L'EXPERIMENTATION 2

Voici l'arbre depuis l'étape 0 initiale :

En **rouge** les mutations de l'étape par rapport à la génération précédente.

## GÉNÉRATION 00

<table><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td>DV_0_500_1 (InputLayer)</td><td>(None, 28, 28, 1)</td><td>0</td></tr><tr><td>DV_250_500_1 (Conv2D)</td><td>(None, 27, 27, 6)</td><td>30</td></tr><tr><td>DV_500_500_1 (MaxPooling2D)</td><td>(None, 9, 9, 6)</td><td>0</td></tr><tr><td>DV_750_500_1 (Flatten)</td><td>(None, 486)</td><td>0</td></tr><tr><td>DV_1000_500_1 (Dense)</td><td>(None, 10)</td><td>4870</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 4,900</td></tr></tfoot></table>

## GÉNÉRATION 01

<table><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td>DV_0_500_1 (InputLayer)</td><td>(None, 28, 28, 1)</td><td>0</td></tr><tr><td>DV_250_500_3 (Conv2D)</td><td>(None, 27, 27, 10)</td><td>50</td></tr><tr><td>DV_500_500_2 (MaxPooling2D)</td><td>(None, 9, 9, 10)</td><td>0</td></tr><tr><td>DV_750_500_2 (Flatten)</td><td>(None, 810)</td><td>0</td></tr><tr><td>DV_1000_500_2 (Dense)</td><td>(None, 10)</td><td>8110</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 8,160</td></tr></tfoot></table>
## GÉNÉRATION 02

<table><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td>DV_0_500_1 (InputLayer)</td><td>(None, 28, 28, 1)</td><td>0</td></tr><tr><td>DV_250_500_3 (Conv2D)</td><td>(None, 27, 27, 10)</td><td>50</td></tr><tr><td>DV_500_500_3 (Dense)</td><td>(None, 27, 27, 4)</td><td>40</td></tr><tr><td>DV_750_500_3 (Flatten)</td><td>(None, 2916)</td><td>0</td></tr><tr><td>DV_1000_500_3 (Dense)</td><td>(None, 10)</td><td>29170</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 29,260</td></tr></tfoot></table>

## GÉNÉRATION 03

<table><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td>DV_0_500_1 (InputLayer)</td><td>(None, 28, 28, 1)</td><td>0</td></tr><tr><td>DV_250_500_3 (Conv2D)</td><td>(None, 27, 27, 10)</td><td>50</td></tr><tr><td>DV_500_500_3 (Dense)</td><td>(None, 27, 27, 4)</td><td>40</td></tr><tr><td>DV_625_500_1 (DepthwiseConv2)</td><td>(None, 27, 27, 4)</td><td>64</td></tr><tr><td>DV_750_500_4 (Flatten)</td><td>(None, 2916)</td><td>0</td></tr><tr><td>DV_1000_500_4 (Dense)</td><td>(None, 10)</td><td>29170</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 29,324</td></tr></tfoot></table>

## GÉNÉRATION 04

<table><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th><th>Connected to</th></tr></thead><tbody><tr><td>DV_0_500_1 (InputLayer)</td><td>(None, 28, 28, 1)</td><td>0</td><td></td></tr><tr><td>DV_250_500_3 (Conv2D)</td><td>(None, 27, 27, 10)</td><td>50</td><td>DV_0_500_1[0][0]</td></tr><tr><td>DV_500_500_4 (Conv2D)</td><td>(None, 14, 14, 4)</td><td>644</td><td>DV_250_500_3[0][0]</td></tr><tr><td>DV_500_750_1 (DepthwiseConv2D)</td><td>(None, 14, 14, 10)</td><td>100</td><td>DV_250_500_3[0][0]</td></tr><tr><td>DV_625_500_3_C (Concatenate)</td><td>(None, 14, 14, 14)</td><td>0</td><td>DV_500_500_4[0][0]<br>DV_500_750_1[0][0]</td></tr><tr><td>DV_625_500_3 (DepthwiseConv2D)</td><td>(None, 14, 14, 14)</td><td>224</td><td>DV_625_500_3_C[0][0]</td></tr><tr><td>DV_750_500_6 (Flatten)</td><td>(None, 2744)</td><td>0</td><td>DV_625_500_3[0][0]</td></tr><tr><td>DV_1000_500_6 (Dense)</td><td>(None, 10)</td><td>27450</td><td>DV_750_500_6[0][0]</td></tr></tbody><tfoot><tr><td colspan="4">Total params: 28,468</td></tr></tfoot></table>