09/01/2020 science-et-vie.com  4 min #167217

L'Ia en a fini avec les tests anti-robots des sites web

C'était l'une des aptitudes qui échappaient jusque-là à la machine : la reconnaissance des célèbres CAPTCHA par lesquelles l'on pouvait encore montrer qu'on était un être humain et non un algorithme. Un système automatisé permettant aux machines des sites du Web de d'interdire l'accès aux webbots (robots virtuels).

Mais ce terrain est désormais perdu, avec la mise au point d'un système IA super-expert dans la reconnaissance des lettres des CAPTCHA - un acronyme de Completely Automated Public Turing test to tell Computers and Humans Apart, quelque chose comme "Test public de Turing totalement automatique pour différencier les humains des ordinateurs".

Enfin... En vérité ce terrain a été perdu il y a 4 ans mais pour des raisons de sécurité, les chercheurs n'avaient pas publié leur travail. Maintenant que les images ont majoritairement remplacé les lettres ("cochez les cases où apparaît un panneau de signalement"), l'équipe dévoile  son algorithme dans la revue Science.

Réseau de neurones et cycles

C'est un " réseau de neurones artificiel", bien sûr. C'est-à-dire un programme qui simule de petites unités de calcul, ou automates cellulaires, interconnectées et qui s'échangent de minimes informations (influx). Selon le type de calcul que fait chaque neurone quand il reçoit des influx (pour savoir s'il en déclenche un à son tour) et la manière dont les influx circulent (interconnexions, sens de circulation), il y a des sous-catégories. Cette fois, il s'agit de " réseaux récurrents".

Ce type de réseau est particulièrement bon pour reconnaître des objets (images, écriture, sons) en prenant en compte son contexte : dans le cas des CAPTCHA, quand le réseau associe une forme à une ou plusieurs lettres possibles (chacune avec sa probabilité chiffrée), il va ensuite explorer les images voisines afin de voir si ces informations permettent d'affiner la valeur de ses hypothèses (lettres).

Le risque

La reconnaissance de la forme en-soi et la prise en compte du contexte sont effectuées en boucle, par cycles récurrents (ou boucles de feedback) qui chaque fois intègrent de nouvelles informations et modifient les probabilités des lettres possibles pour l'image analysée... jusqu'à ce que l'une d'elles devienne dominante.

Si l'algorithme des chercheurs présentait un risque à l'époque c'est qu'il était capable de reconnaître des CAPTCHA de lettres mieux que tous les réseaux de neurones et programmes concurrents avec un minimum de temps d'entrainement (nécessaire pour se constituer une bibliothèque probabiliste de formes associées à des lettres).

Et l'algorithme, qui concentre toute l'intelligence des chercheurs, aurait pu être amélioré à mauvais escient.

Accessible à bas coût

Ainsi, alors que les autres systèmes de reconnaissance des CAPTCHA (des réseaux de neurones également) doivent s'entrainer sur quelque 8 millions d'items avant d'afficher un résultat de l'ordre de 84% de réussite, le système des chercheurs n'a eu besoin que de 26 000 CAPCHA (avec leur équivalent en lettres) pour apprendre. Avec ça, il obtient un 86,2 % de réussite.

Avec cet algorithme, les ressources de calcul nécessaires, en temps et en microprocesseurs, pour avoir un système efficace plus de 8 fois sur 10 sont divisées par un facteur de 300 : ce n'est plus seulement Google, Facebook et quelques autres qui auraient pu l'exploiter, mais tout programmeur un peu suréquipé en informatique.

Mais la question n'est plus d'actualité avec les nouveaux CAPTCHA à images, les "je ne suis pas un robot". Du moins pour le moment.

 science-et-vie.com

 Commenter