Construire, déconstruire ou reconstruire… quelle différence?
August 6th, 2009 by Francois Rivest
La principale différence entre les chercheurs en intelligence artificielle et ceux en neuroscience réside dans leurs objectifs. Ils ne poursuivent pas les mêmes buts, et par conséquent, ils ont des méthodologies et des critères d’évaluations bien différents. Cette section fait un survol des différences entres ces deux approches au problème de l’apprentissage.
Robotique, intelligence artificielle et apprentissage machine
Dans ces disciplines, l’objectif est d’inventer ou de construire une machine capable de résoudre un problème. Le robot doit pourvoir se rendre du point A au point B, l’ordinateur doit pouvoir jouer aux échecs et gagner, ou le programme doit pouvoir reconnaitre des objets dans une image, etc.
La solution doit-elle ressembler à une solution qu’une espèce vivante a développée comme une aile, un Å“il ou un neurone? Non, c’est hors propos. L’objectif c’est que la solution marche! On peut mesurer la performance de la solution. Le robot réussit-il a aller du point A au point B, en combien de temps, en consommant combien d’énergie? L’ordinateur bat-il Kasparov? Combien de codes postaux le programme reconnait-il? Construirions-nous un avion qui bat des ailes comme un oiseau? Non! Considérant les moyens à notre disposition, ce n’est pas performant. Le contexte et les contraintes ne sont pas le même que pour l’oiseau. Une bonne solution est une solution qui marche, et qui répond à des critères de performance : économie, durabilité, nombre d’erreurs, etc.
La définition même de « simplicité » (principe du rasoir d’Ocam) souvent utilisée en science nous encouragerait tout simplement à minimiser le nombre d’éléments utilisé. La règle la plus simple, le moins de systèmes que possible. En informatique, on regarde aussi le temps de calcul ou la mémoire requise. Moins de temps de calcul, moins de mémoire nécessaire, meilleur algorithme. On parle de complexité de calcul pour parler du temps de calcul d’un algorithme ou de la complexité d’un problème à résoudre. Cependant, pour un algorithme, le mot complexité est ici synonyme de lenteur. Un algorithme basé sur une idée simple et facile à comprendre devra souvent effectuer beaucoup plus de calculs pour trouver la solution à un problème, il aura donc une grande complexité calculatoire. À l’opposé, un algorithme qui résoudra le problème en moins d’opérations ou en prenant moins de mémoire devra souvent être plus ingénieux, et peut s’avérer très compliqué et difficile à analyser ou à comprendre.
Modélisation en science cognitive et neuroscience
Lorsque l’on fait de la modélisation en science cognitive, en neuroscience ou dans toute autre discipline scientifique étudiant des phénomènes naturels, l’objectif premier est de mieux comprendre le phénomène en question. Comment le lapin se rappelle-t-il du chemin entre le point A et B, pourquoi prend-il toujours le même chemin? Comment l’enfant apprend-il à parler? Comment reconnait-on les objets sur une photo? Pourquoi sommes-nous meilleurs dans certains cas que dans d’autres?
Construire un modèle n’est pas un objectif en soi. Construire un modèle, c’est construire un outil pour nous aider à étudier le phénomène en question. Les critères d’évaluation d’un modèle de la reconnaissance d’images ne sont donc pas du tout les mêmes que les critères d’évaluation d’un algorithme de reconnaissance d’images, même si à première vue, ils font la même chose. Alors que l’algorithme doit reconnaître les images avec le moins d’erreurs possible, le modèle doit plutôt reproduire les performances du système biologique qu’il représente. Il doit donc préférablement faire les mêmes erreurs, dans les mêmes situations. Mais la qualité de reproduction d’un phénomène donné n’est pas le seul critère d’évaluation d’un modèle. Un bon modèle est un modèle qui a aussi un bon pouvoir explicatif, mesure beaucoup plus subjective que le nombre d’erreurs sur un ensemble donné. Ici, « simple » veut souvent dire facile à comprendre. L’évaluation d’un modèle passe donc souvent par son pouvoir de prédiction. Dans quelle mesure le modèle me permet-il d’imaginer ou de prédire le phénomène étudié sous différentes conditions. On effectue donc des prédictions à l’aide du modèle qui pourront par la suite être validées ou invalidées par des expériences scientifiques.
Par exemple, trois modèles peuvent représenter trois règles différentes ayant un sens pour le chercheur. On peut évaluer leur performance en regardant leur capacité à reproduire les données existantes. Peut-être seules deux règles sembleront suffisamment bonnes. Pour les évaluer encore mieux, on effectue des prédictions à l’aide des modèles pour trouver des situations ou ils diffèrent. On peut finalement effectuer une expérience pour voir si un des modèles dit vrai. L’un d’eux en sortira peut-être gagnant. Maintenant, on peut aussi supposer un quatrième modèle, aussi performant quantitativement que le précédent, mais fait de deux ou trois règles au lieu d’une seule. A priori, ce modèle n’est que plus compliqué et peut sembler moins bon. Supposons cependant que ses règles représentent des éléments constitutifs du système naturel étudié. Dans ce cas, ce modèle permet d’analyser indépendamment ces éléments et leurs interactions. À ce niveau d’étude, ce modèle devient meilleur. De même que la mécanique newtonienne nous permet d’étudier les phénomènes macroscopiques, la mécanique quantique devient un outil préférable lorsque vient le temps d’étudier les particules plus petites et leurs effets les unes sur les autres.
La règle de la simplicité veut aussi dire inventer ou supposer le moins de processus que possible. Il est a priori préférable de partir des éléments dont on connait déjà l’existence, que d’en inventer de nouveau pour des raisons purement algorithmiques. Moins on doit inventer de nouveaux éléments, mieux c’est. C’est lorsque nous n’avons plus d’autres choix que de supposer l’existence de nouveaux éléments constitutifs que l’on fait les plus grandes découvertes, ou que l’on découvre simplement combien le modèle est erroné.
Computational Neuroscience (and Programming) Blog
Excellent billet! “Simple” n’est effectivement pas simple à définir!