Archives de Catégorie: Correspondance

J’ai continue a reflechir au processus de remise en cause des valeurs dans un cognit.

Tout d’abord, j’ai change les criteres de reproduction. Maintenant un mebius mort engendre un nouveau mebius a son image (avec des alterations aleatoires) s’il a reussi a vivre presque (actuellement 80%) aussi longtemps que le champion courant, sinon c’est le champion qui se reproduit. Ca ameliore un peu l’evolution de la population.

Mais il y avait toujours cette periode de regression apres l’apparition d’un champion. Apres reflexion j’ai compris que ca venait de la facon dont je fais bouger la cible. A chaque fois qu’un champion apparait, elle se deplace plus rapidement. La contrainte sur les Mebius est donc plus grande, une erreur de trajectoire les entrainant en moyenne plus loin de la cible. Il faut alors attendre qu’ils evoluent pour etre plus performants et caapble de suivre la cible a sa nouvelle vitesse de deplacement. Au passage c’est deja en soit une facon de constater qu’il y a une certaine remise en cause remise en cause des valeurs dans les cognits, puisque de nouveaux champions continuent effectivement a apparaitre.

Cependant, en regardant les videos des cognits je me suis rendu compte que des valeurs ‘correctes’ ont tendance a se perdre. En soit c’est normal, le mebius en lui meme ne sait pas qu’elle est correcte et la remet en cause comme les autres. Mais etant correcte elle devrait reapparaitre tres rapidement et etre remise en cause beaucoup moins souvent d’apres mon modele. La, j’ai trouve que le probleme venait de l’implementation des cognits interfaces. Ils ne disposaient en effet que d’un senseur global de rapprochement a la cible pour alimenter les cognits d’apprentissage. Ainsi, si le mebius s’eloigne globalement de la cible, il va avoir tendance a penser que ses valeurs ne sont pas bonnes et chercher de nouvelles. Mais s’il s’est eloigne car les cognits gerant le deplacement haut/bas ont fait n’importe quoi, pendant que les cognits droite/gauche ont vu juste, ces derniers seront penalises a tort. J’ai donc divise le senseur de rapprochement pour chaque axe dans le mebius interface et reconfigurer les cognits de son mebius. On obtient tout de suite de bien meilleurs resultats :


Distance moyenne a la cible
en bleu mebius interface a senseurs separes,
en rouge mebius interface a senseurs confondus

Plus les mebius ont d’information sur leur environnement et plus elles sont pertinentes, plus ils obtiennent de bons resultats. C’est coherent avec le modele, donc c’est satisfaisant.

Ensuite je me suis penche sur le probleme inverse, les valeurs incorrectes qui ne sont pas remises en cause. La aussi j’ai commence par suspecter un probleme de configuration, au niveau des cognits d’enseignement. J’ai reflechi aux parametres que j’utilisais, et je me suis dit qu’ils engendraient des mebius un peu trop sur d’eux, prompt a decider et rechignant a changer d’idee. J’ai donc changer les parametres pour des mebius un peu plus prudent et ouvert d’esprit, et j’ai refait tourner un petit run.

Distance moyenne a la cible
en bleu parametres « prudent et ouvert »
en rouge parametres « fonceur et tetu »

Le mebius prudent et ouvert stagne au debut, il prend le temps de s’assurer de ses choix diront nous, alors que le mebius fonceur arrive tres rapidement a sur une solution. Mais au bout de 30.000 iterations, ils arrivent tout les deux a des performances similaires. Cependant le mebius ouvert a des valeurs maximales de distance a la cible plus grandes que le mebius fonceur. C’est parce qu’il continue a explorer des possibilites, donc commet des erreurs qui le penalise, alors que le mebius fonceur s’en tient a sa solution optimale. Il va donc etre interressant de comparer les deux sur du long terme. A priori le tetu ne progressera plus, alors que le prudent va finir par trouver une meilleure solution. Je vais arreter la pour aujourd’hui et laisser tourner a nouveau un run d’un million d’iteration pendant que je vais me changer les idees devant un petit cafe ! Si ca a fini de tourner ce soir je referai un autre long run avec le mebius fonceur, et demain soir je devrai pouvoir comparer les resultats.

Deuxieme video

Bon j’ai laisse tourner la meme experience hier sur 1.000.000 d’iteration pour voir a plus long terme si ca continuait a converger. Ca a donne ca :

Les courbes d’evolution de duree de vie, de confiance, de precision (elles s’arretent autour de 500.000 car il n’y a pas eu de progression ensuite) :

Duree de vie en nombre d’iteration

Precision (distance moyenne a la cible)

Confiance

C’est plutot decevant. En terme de confiance, ca stagne, et on arrive a un petit 0.58 au mieux (ca devrait approcher 1.0 si tout va pour le mieux). En meme temps, la precision est tres tres proche de 0.05, et sachant que le Mebius ne voit la cible et ne controle sa position qu’a 0.05 pres, c’est vraiment bien. Je me suis demande pourquoi la confiance ne grimpe pas plus, autrement dit pourquoi l’irm ne converge pas plus vers l’image ideale. Je craignais un probleme, et puis en fait non, c’est tout simplement la meme raison que precedemment. Tout vient du contexte dans lequel je plonge les Mebius. Dans cet etat ils sont deja au top de ce qu’ils peuvent faire en terme de positionnement sur la cible. Ils n’ont donc plus de raison d’evoluer plus avant, et stagne. Si je veux les rendre plus confiant, il faut que je modifie l’environnement pour les obliger a explorer des cas qu’ils ne rencontrent pas actuellement. Il faut que je les entraine mieux si je veux en faire des champions au top de toutes leurs capacites. En pratique ca veux dire modifier la facon dont la cible bouge. Et il apparait que trouver le meilleur programme d’entrainement n’est pas evident.

De la un probleme apparait : meme s’il est clair que l’algo marche, l’environnement externe peut le conduire a des resultats apparemment mediocres. Ici je suis encore sur un cas extrement simple ou je peux imaginer ce qu’il se passe et comprendre. Mais quand je vais attaquer des trucs plus compliques pour voir jusqu’ou peuvent aller mes petits Mebius, le risque sera de penser qu’ils echouent alors qu’en fait c’est leur environnement exterieur qui etait inapproprie. Autrement dit la difficulte va peut etre rapidement se deplacer de l’algo des Mebius, a la definition de leur environnement.
En tout cas c’est comme pour nous. Dans un environnement non stimulant ou inadequat, on restera mediocre quelque soit nos capacites intrinseques. A l’inverse, pour faire un sportif de haut niveau il faut un programme d’entrainement tres pointu et parfaitement adapte a l’individu.
Pour l’instant je vais refaire un run en modifiant le comportement de la cible pour tester et enlever tout soupcon quand a la validite de l’algo.