next up previous contents
Next: Performances : une vision Up: Description de l'architecture Previous: Coderack

Température  

  La température joue deux rôles : elle mesure le degré d'organisation perceptuelle dans le système (sa valeur à tout moment est fonction du nombre et de la qualité des structures construites), et elle contrôle le degré de hasard dans les prises de décision (par exemple quel codelet choisir, sur quels objets un codelet choisira-t-il de travailler, quelle structure va gagner un combat). De hautes températures reflètent le fait qu'il y a peu d'informations sur lesquelles baser une décision ; des températures basses montrent que les structures sur lesquels on travaille sont plus fiables. Les décisions sont donc prises avec plus d'équiprobabilité lorsque la température est élevée que lorsqu'elle est basse. Le programme utilise aussi la température pour décider quand arrêter la construction de structures perceptuelles et construire une solution -- la probabilité d'arrêt est plus grande quand la température est basse. La température finale peut être interprétée comme une indication grossière de la satisfaction du programme (plus la température est basse, meilleure est l'évaluation de la réponse finale par le programme).

Dans COPYCAT, la température reflète la qualité de la compréhension du système à un moment donné, c'est un mécanisme de rétro-action déterminant le degré de hasard utilisé par le système. Un mécanisme semblable a été utilisé par Wilson [Wilson1987] dans le contexte des algorithmes génétiques, et par différents chercheurs dans le domaine des réseaux de neurones (par exemple, [Lewenstein et Nowak1989]).

L'indéterminisme  contrôlé par la température de COPYCAT permet au programme d'éviter ce qui constitue apparemment un paradoxe lorsqu'on perçoit des situations : on ne peut explorer toutes les possibilités, mais on ne sait pas quelles sont les possibilités valant qu'on les explore, sans les avoir déjà explorées. On a besoin d'explorer un peu pour évaluer les différentes possibilités, et même pour avoir une meilleure idée des possibilités. On doit avoir une ouverture d'esprit suffisante, sans chercher à explorer toutes les possibilités, car elles sont souvent trop nombreuses. Dans COPYCAT, le fait que les codelets soient choisis aléatoirement plutôt que de manière déterministe permet au processus d'exploration d'être bien réparti : il n'exclut aucune possibilité a priori, et il n'est pas obligé de donner une considération semblable à chaque possibilité.

Voilà le rôle de l'indéterminisme  de COPYCAT : donner aux différentes pressions l'attention qu'elles méritent, grâce à une allocation des ressources changeant dynamiquement à mesure que l'information est découverte. La possibilité qui semble être la meilleure ne devrait jamais prendre entièrement le pas sur les autres possibilités -- surtout au début du traitement, quand l'information la meilleure n'est pas sûre. En fait, la température est aussi une mesure de fiabilité de la solution courante. Elle contrôle aussi, en contrôlant le degré de hasard, à quel point le système est guidé par la solution courante. Les explorations aléatoires initiales du système peuvent être considérées comme un moyen de gagner de l'assurance pour les actions à venir. L'indéterminisme contrôlé par la température est ce qui permet au programme d'augmenter et d'utiliser cette certitude.

Il y a de la redondance au niveau individuel des codelets, surtout pour les codelets chargés d'explorer les possibilités les plus prometteuses, et l'action de n'importe lequel de ces codelets n'influence quasiment pas le comportement global du programme. Tous les effets de haut niveau, comme le balayage parallèle étagé, sont des résultats statistiques induits par un grand nombre d'actions de codelets et par le choix probabiliste des codelets à exécuter. Une exécution typique de COPYCAT consiste en des centaines -- voire, parfois, des milliers, cela dépend du problème -- de pas d'exécution de codelets.

Le parallélisme  asynchrone de COPYCAT s'inspire de l'auto-organisation existant dans les cellules biologiques [Hofstadter1984].  Dans une cellule, toute activité est effectuée par un grand nombre d'enzymes réparties et de genres différents. Ces enzymes dépendent de mouvements aléatoires dans le cytoplasme de la cellule pour rencontrer des substrats (des molécules relativement simples, comme les acides aminés) avec lesquels elles construisent des structures plus importantes (comme les protéines). Le processus de construction des structures complexes passe par une longue chaîne d'actions enzymatiques, qui peuvent être indépendantes et désynchronisées dans des endroits différents du cytoplasme. De plus, la population des enzymes de la cellule elle-même est régulée par les produits de l'activité enzymatique ; elle est donc sensible aux besoins immédiats de la cellule. Dans COPYCAT, les codelets agissent un peu comme les enzymes. Toute activité est effectuée par un grand nombre de codelets qui choisissent d'une manière aléatoire et biaisée par les objets qui leur serviront à construire des structures. Comme dans une cellule, les processus produisant des structures complexes ne sont pas explicitement programmés, mais émergent des chaînes de codelets travaillant en parallèle et de manière asynchrone dans le Workspace de COPYCAT (son « cytoplasme »). Et, comme dans une cellule, la population des codelets dans le Coderack est auto-régulée et sensible aux besoins immédiats du système. Pour prolonger cette analogie, on peut dire que le Slipnet joue le rôle de l'ADN, avec des nœuds actifs, correspondant aux gènes s'exprimant dans la cellule, qui contrôle la production des enzymes.

Le but de Hofstadter, en inventant cette métaphore, était de s'inspirer des mécanismes d'auto-organisation d'un système naturel relativement bien compris, et d'utiliser ces idées pour créer des mécanismes de perception de haut niveau. Les mécanismes des enzymes et de l'ADN dans une cellule ne sont pas à proprement parler des mécanismes de perception. Pourtant, on peut en tirer des principes généraux : le parallélisme distribué asynchrone, les processus émergents, la construction de structures complexes cohérentes, l'auto-organisation, l'auto-régulation, et la sensibilité aux besoins courants du système. Ces principes sont tous centraux dans le modèle de perception étudié, et avoir à l'esprit les mécanismes de la cellule a beaucoup aidé à la conception des mécanismes similaires dans COPYCAT.


next up previous contents
Next: Performances : une vision Up: Description de l'architecture Previous: Coderack
François Parmentier
6/19/1998