Ca faisait longtemps que j’avais envie de reprendre un chien (j’en avais un il y a plus de 30 ans !).
On a franchi le pas il y a quelques mois, avec Marcel, un berger australien.
(Marcel cet été, 18 mois, il adore se baigner 😉 )
Je me suis intéressé au dressage, et c’est génial a quel point cela a évolué. Aujourd’hui, le lien entre le chien et ses maîtres est bien plus subtil que ce qu’on faisait il y a quelques années. On parle d’éducation positive, on ne cherche pas le rapport de force, et c’est super.
Je me suis aussi intéressé au développement de l’intelligence.
C’est comme ça que je suis tombé sur cette vidéo, qui montre une chercheuse qui teste les limites de l’intelligence du chien avec des raisonnement déductifs :
Je me suis lancé dans le développement de cette machine !
L’idée est assez simple :
- L’écran est séparé en deux parties
- On affiche une image dans chaque partie
- Si le chien clique du bon côté, il a une récompense
Le coeur de la machine est un Raspberry Pi.
J’ai d’abord essayé avec un écran tactile, mais la truffe humide du chien marche pas bien. J’ai donc ajouté deux panneaux de plastique, avec des petits boutons poussoirs pour savoir quel côté est cliqué, ça marche bien mieux.
En fait, le plus compliqué a été de faire le distributeur de récompenses. Je n’ai pas trouvé de modèles tout fait, et en impression 3D, je n’ai trouvé que des distributeurs de croquettes.
Après plusieurs tentatives, ce modèle là marche plutôt bien :
J’ai construit un premier prototype, très moche mais fonctionnel.
Et comme ça marche bien, j’en ai construit un deuxième pour Martin, mon fils, qui a aussi pris un chien. Le deuxième modèle est aussi un proto, mais bien plus compacte, mieux fait, plus joli et plus solide.
Niveau programme, j’ai fait ça en python, vous pouvez récupérer ça ici.
Rien de très compliqué, la classe Strategy peut être spécialisée, pour faire différents exercices.
Bon ça c’est la technique.
Comment ça s’est passé avec Marcel ?
Et bien c’est intéressant ;).
D’abord, il a fallut lui apprendre à « cliquer ». Je pensais pas que ça serait si compliqué. Comme il ne comprenait pas du tout ce qu’il fallait faire, j’ai commencé avec un livre posé sur une table, avec un bout ouvert, et si Marcel réussissait à faire bouger le livre sur la commande « touche », il avait une récompense.
Bon il a fini par comprendre, et on a pu rentrer dans le vif du sujet, avec la « Machine ».
Au début, j’affichais une image blanche sur les deux côtés, et il avait une récompense quelque soit le côté cliqué.
Maintenant qu’il a bien compris, j’en suis au stade d’après : une image s’affiche, d’un côté ou de l’autre, et Marcel a une récompense s’il clique du bon côté.
Là aussi, j’ai eu un peu de mal, et pour l’aider à comprendre, j’ai ajouté une séparation physique entre les deux parties de l’écran.
On en est là, Marcel s’entraine tous les jours, et j’ai l’impression que les performances s’améliorent.
J’ai bien tous les résultats en base de données, mais je n’ai pas encore fait d’application pour « voir » la progression
Une fois qu’il aura bien compris qu’il ne gagne que s’il clique du bon côté, on augmentera la difficulté, avec plusieurs images « négatives » qui changent, … Je vous raconterais ça.