Chargement...
 

Evolution de réseaux de régulation génétiques artificiels

Sujets de stage Master2 ou Ecole d'Ingénieur proposés par Marc Schoenauer - Année 2009-2010

Trois sujets de stage sont proposés, tous basés sur un modèle de réseau de régulation génétique, éventuellement relié à un type particulier de réseau de neurones, les Echo State Networks. Ces deux domaines sont tout d'abord rapidement introduits, avant la description des sujets proprement dits.


Genetic Regulatory Networks

Les réseaux de régulation génétiques (ou Genetic Regulatory Newtorks, GRN) sont les réseaux décrivant les interactions entre gènes et protéines dans une cellule. Vu de très loin : les gènes, disposés sur un génôme (brin d'ADN), sont responsables de la production de protéines. Certaines protéines, ou "facteurs de transcription", peuvent se fixer sur des sites dits "promoteurs" situés en amont d'autres génes, et ainsi activer ou inhiber la création de protéines par ces gènes. Un GRN est la donnée de l'ensemble de telles interactions.

Plusieurs modèles de degrés de complexité variés, ou réseaux de régulatoin génétiques artificiels (AGRNs) ont été proposés pour décrire des GRNs. L'ADN est représenté par une chaîne de caractères, à base de 0/1 [1], ou d'alphabets plus complexes [2], les protéines sont des chaînes de caractères données, et la force de l'interaction est donnée par le degré d'appariement des protéines avec les sites activateurs ou inhibiteurs des gènes [1]. Ces interactions déterminent ensuite la dynamique de l'évolution des concentrations de protéines au cours du temps.

Deux utilisations ont été proposées pour les AGRNs. D'une part, en considérant chaque gène comme représentant un noeud, et chaque interactions entre gènes, une connection, les AGRNs jouent le rôle d'un modèle génératif de réseaux, dont on peut éventuellement contrôler des propriétés macroscopiques par évolution artificielle [3]. Et si l'on considére aussi les forces des interactions comme autant de poids sur les connections, les AGRNs sont alors un modèle génératif de réseaux de neurones.

D'autre part, considérant les concentrations de protéines comme des variables d'un système dynamique, un AGRN est vu directement comme une 'unité de calcul', les concentrations de certaines protéines pouvant être imposée de l'extérieur, comme entrées du système, et les concentrations d'autres protéines devenant les résultats du calcul [4]. Dans les 2 cas, le GRN peut être utilisé pour résoudre des problèmes d'apprentissage par renforcement (e.g. des problèmes de contrôle, en robotique par exemple), c'est-à-dire des problèmes pour lesquels on ne dispose que d'une mesure de la qualité d'un contrôleur qu'après de nombreuses utilisations de celui-ci (e.g. le robot a-t-il atteint sa cible ?).

Echo State Networks :

La topologie d'un réseau de neurones (RN) a une importance primordiale sur ses performances, et les plus grands succès des RNs ont souvent été obtenus après une mise au point fine de la topologie des RN utilisés.

L'approche récente du "Reservoir Computing" propose au contraire d'utiliser un très grand nombre de neurones (le réservoir), dont la topologie aléatoire est uniquement spécifiée par des paramètres de haut niveau (densité de connections, valeurs possibles pour les poids, ...). Ainsi, les Echo State Networks (ESN) sont des RN récurrents à neurones sigmoïdaux qui se sont révélés très performants pour des tâches d'apprentissages supervisé de séries temporelles [5] : l'idée de base est que le réservoir comporte suffisamment de dynamiques différentes pour qu'une combinaison linéaire de celles-ci permette d'approcher n'importe quel système dynamique. L'apprentissage supervisé des poids de sortie du réseau se ramène alors à un problème quadratique trivial. Dans le cas de problèmes de renforcement, le problème n'est plus quadratique, mais il reste à portée des méthodes d'optimisation évolutionnaires standard [6].

Cependant, il a été constaté que plusieurs ESN possédant des caractéristiques macroscopiques identiques, pouvaient donner des résultats assez différents, que ce soit dans le cadre supervisé ou de renforcement. Il semble donc que la topologie ait encore un rôle à jouer ici, et que d'autres paramètres macroscopiques doivent être pris en compte.

Sujets de stage

1- Evolution de AGRNs

Quelle que soit l'application visée, l'évolution de AGRN a pour l'insant été réalisée sur le 'génôme' développé. Or les génômes biologiques sont souvent le résultats de processus de duplication-mutation à partir d'un petit segment d'ADN. Le but du stage est de tester l'évolution de séquences de transformations dont le résultat serait évalué sur un problème de type renforcement. Un des points cruciaux ici est bien entendu la définition d'un langage de description de telles séquences de transformations. De la description in extenso de séquences précises à la spécification via des grammaires ou des arbres d'opérateurs, plusieurs pistes pourront être explorées.

2- AGRNs et mémoire

Un des problème cruciaux en robotique est de doter les contrôleurs de robot de mémoire. Les réseaux de neurones récurrents sont dotés d'une mémoire, mais qui s'évanouit rapidement. Ainsi, un ESN a pu résoudre des problèmes de robotiques dans lesquels le robot doit 'savoir compter'.
Lorsqu'un AGRN est utilisé directement comme contrôleur de robot, de quel type de mémoire dispose-t-il, et est-il possible d'obtenir par évolution artificielle des contrôleurs de type GRN capables d'apprendre à compter ?

3- AGRN et ESN

Lorsqu'on utilise les AGRN comme générateurs de réseaux de neurones, et le réseau résultant comme base d'un ESN, est-il possible de faire évoluer le génôme décrivant l'AGRN pour augmenter les performances de l'ESN résultant ? Et les réseaux obtenus ont-ils des caractéristiques macroscopiques particulières qui seraient corrélées aux performances ? Est-il alors possible d'augmenter les performances des ESNs en utilisant ces particularités (i.e. sans évolution) ?

Déroulement des stages

  • Les stages auront lieu au sein de l'équipe TAO au LRI, sous la supervision de Marc Schoenauer.
  • Une connaissance préalable des réseaux de neurones et/ou de l'évolution artificielle est recommandée, sans être absolument nécessaire.
  • Les programmes (en C++) modélisant les GRN utilisés pour [3] et [4] sont disponibles - et leur auteur pas loin en cas de besoin.
  • Un goût certain pour la programmation en C++ est indispensable. Une connaissance de la programmation parallèle est un gros plus.

Références

[1] W. Banzhaf. Artificial regulatory networks and genetic programming. In Rick Riolo and Bill Worzel, editors, Genetic Programming Theory and Practice, chapter 4, pp 43-62. Kluwer Publishers, 2003.

[2] P. Dürr, C. Mattiussi, and D. Floreano. Neuroevolution with Analog Genetic Encoding. In Th. Runarsson et al., editor, PPSN IX, pp 671-680. LNCS 4193, Springer Verlag, 2006.

[3] Nicolau, M. and Schoenauer, M.. On the Evolution of Scale-Free Topologies with a Gene Regulatory Network Model. BioSystems Journal, 98(3) pp 137-148, 2009.

[4] Nicolau, M. , Schoenauer, M. and Banzhaf, W.. Evolving Genes to Balance a Pole. In A. I. Esparcia and A. Eckart, eds., 13th European Conference on Genetic Programming, LNCS 6021, pp 196-207, Springer Verlag, 2010.

[5] H. Jaeger. The Echo State Approach to Analysing and Training Recurrent Neural Networks. Technical Report GMD Report 148, German National Research Center for Information Technology, 2001.

[6] Jiang, F. , Berry, H. and Schoenauer, M.. Supervised and Evolutionary Learning of Echo State Networks. In G. Rudolph et al., eds., PPSN X, pp 215-224, LNCS 5199, Springer Verlag, 2008.


Collaborateur(s) de cette page: evomarc .
Page dernièrement modifiée le Dimanche 06 février 2011 20:07:55 CET par evomarc.