LEARNING-1

Le Deep learning, un cerveau dans une machine

Le Deep Learning (l’apprentissage profond) est une technologie récente qui a boulversé le monde de l’Intelligence Artificielle en quelques années.

Elle met en oeuvre des réseaux de neurones artificiels numériques associés à de puissants modèle d’algorithmes (comme le modèle de neurone convolutif) et puisent par exemple leurs informations dans des gigantesques bases de données (big data), afin de générer grâce aux machines surpuissantes d’aujourd’hui, une nouvelle forme d’intelligence par l’apprentissage (à la manière de l’intélligence humaine, mais avec une logique propre à la machine). Une machine autonome, capable d’apprendre, d’évoluer et de réaliser des choses que l’on pensait jusqu’à lors impossibles.

En effet, la technologie est particulièrement exitante et passionnante. La machine a les capacité de créer sa propre intélligence, d’apprendre d’elle même, sur base de données, d’informations et de connaissances qu’elle aura pu challenger au préalable. Elle en tire donc sa propre logique et reflexion pour évoluer selon le contexte ou son environnement qu’elle gardera également en mémoire pour en tirer des leçons. Même avec aucune demande ou consigne particulière de notre part, la technologie arrive à tirer des conclusions de ce qu’elle observe. (voir mon exemple sur le concept du chat de l’année 2012 plus bas).

Mais avant tout, revenons sur l’évolution chronologique de l’IA.

Les années 1950, premières phases sérieuses autour de l’IA

Le concept ou plutôt le fantasme d’une intelligence artificielle remonte jusqu’à l’antiquité. Toute au long de l’histoire, il y a eu diverses représentations conceptuelles autour du sujet, pensant qu’un programme, une machine, pouvait immiter ou recréer des comportements humains, penser, voir même à avoir des émotions.

La première vraie notion d’intelligence artificielle a été abordée dans les années 1950 par le mathématicien Alan Turing. Ce dernier crée alors un test visant à déterminer si une machine peut être considérée comme « consciente ». Le test de Turing était une machine immitant la parole humaine, au point de la confondre avec un vrai humain. Si l’expérience fonctionnait, alors la machine avait remplie sa tache.

Il faudra attendre 1956 pour obtenir une définition de l’IA proposée par Marvin Lee Minsky : « La construction de programmes informatiques qui s’adonnent à des tâches qui sont, pour l’instant, accomplies de façon plus satisfaisante par des êtres humains car elles demandent des processus mentaux de haut niveau tels que : l’apprentissage perceptuel, l’organisation de la mémoire et le raisonnement critique. »
Cette période de grand enthousiasme autour du sujet à donnée rapidement place à une certaine désillusion et à de nombreux échèque ou expériences très limités jusque dans les années 90, car les capacités des machines de l’époque n’ont pas permis de mettre en pratique certaine théorie. Cependant l’IA a continuée de fasciner les scientifiques, mais aussi les romanciers et cinéastes qui ont contribués à donner une vision idéaliste, innovante et futuriste de la vision que l’on en avait. (Blade Runner, Terminator, Matrix…)

Les années 1990 – Période enthousiaste grâce au Machine learning (l’apprentissage automatique)

Le machine Learning est un pas en avant dans le monde de l’IA. Il permet de nous attaquer à des problèmes qui sont trop complexes à résoudre pour les humains en transférant une partie de la charge à l’algorithme.
L’objectif de la plupart des Machine Learning est de développer un moteur de prédiction pour un cas d’utilisation particulier. Les algorithmes du machine learning apprennent par l’entrainement. Un algorithme reçoit d’abord des exemples dont les résultats sont connus, note la différence entre ses prévisions et les résultats corrects, et s’accorde avec des pondérations pour affiner sa précision de ses prédictions jusqu’à ce qu’elles soient optimisés. La caractéristique des algorithmes en machine learning, est que la qualité de leurs prédictions s’améliore avec l’expérience. Plus nous leurs fournissons de données (jusqu’à un certain point), meilleurs sont les moteurs de prédiction. Notez que la taille des ensembles de données nécessaires sont très dépendants du contexte).

Exemple facile à comprendre : Prédire la hauteur (h) d’un arbre uniquement avec la taille de son diamètre (d) est possible si l’on étudie plusieurs cas d’arbre de hauteur  et de diamètre différent. Car même si chaque arbre est unique, il y a une certaine cohérence linéaire dans les différents cas. L’algorithme va se charger d’ajuster au mieux ses calculs pour définir le meilleur pronostique suite à une logique apparante qu’il déterminera avec précision.

Autre exemple : Prédire la meilleure actualité Facebook à remonter pour un utilisateur (x) en fonction de son comportement (intérêt, amis, …)

La complexité de certains programmes pose parfois problème. En effet, certaines tâches comme la compréhension de la parole, reconnaître des objets dans les images sont extrêmement complexes car elles demandent énormément d’informations et de caractéristiques à prendre en compte dans le calcul. Le Machine Learning à donc ses limites. Les scientifiques vont alors se tourner vers un apprentissage dit profond « Le deep learning » qui avait connu des concepts dans les années 50, mais n’a jamais pu voir le jour à cause des ressources gourmantes qu’il demandé.

L’arrivée du « Deep learning » (l’apprentissage profond), la révolution de l’IA

Le Deep Learning évite au programmeur d’avoir à assumer les tâches de spécification de fonction (définissant les caractéristiques à analyser à partir des données) et l’optimisation (comment peser les données pour fournir une prévision précise) – l’algorithme fait alors les deux.

2012 – Quand la machine découvre par elle même et comprend qu’un chat existe

En 2012, le concept du chat à permis de donner à cette technologie une dimension spéctaculaire. Google Brain (le centre de recherche de deep learning de Google) a donc réalisé une expérience en demandant à la machine d’analyser pendant 3 jours, 10 millions de captures d’écran issues de YouTube, choisies aléatoirement et surtout, non étiquettées. Un apprentissage en vrac qui a porté ses fruits, car à l’issue de cet entraînement abtrait, sans consigne prédéfinie, la machine avait appris elle-même à détecter des têtes de chats et des corps humains, grâce aux formes réccurentes dans les images. Elle a compris que ces formes étaient la représentation de quelque chose, en lui attribuant les caractéristiques du chat que l’on connait (oreille, queue, pattes, …)

« Ce qui est remarquable, c’est que le système a découvert le concept de chat lui-même. Personne ne lui a jamais dit que c’était un chat. Ça a marqué un tournant dans le machine learning », a expliqué Andrew Ng, fondateur du projet Google Brains.

Concrètement, comment la machine a fait ?

Le programme était constitué d’un réseau de neurones profond (un vaste programme informatique constitué de centaines ou milliers de fonctions mathématiques organisées en plusieurs couches logicielles successives). Les neurones d’une couche sont reliés à ceux des couches suivantes et précédente. Chacun d’eux traite, selon des transformations hautement non linéraires, les signaux qu’il reçoit de la couche précédente et propage le résultat en sortie vers les neurones de la couche suivante. Le niveau d’information devient de plus en plus sophistiqué à mesure que l’on s’enfonce dans le réseau.


Pour représenter cette méthode sur le concept du chat, prenons la description de Yann Ollivier, chercheur en IA au CNRS, spécialiste du sujet qui explique étape par étape ce phénomène :
« Comment reconnaître une image de chat ? Les points saillants sont les yeux et les oreilles. Comment reconnaître une oreille de chat ? L’angle est à peu près de 45°. Pour reconnaître la présence d’une ligne, la première couche de neurones va comparer la différence des pixels au-dessus et en dessous : cela donnera une caractéristique de niveau 1. La deuxième couche va travailler sur ces caractéristiques et les combiner entre elles. S’il y a deux lignes qui se rencontrent à 45°, elle va commencer à reconnaître le triangle de l’oreille de chat. Et ainsi de suite. »

A chaque étape, il peut y avoir jusqu’à une vingtaine de couches, le réseau de neurones approfondit sa compréhension de l’image avec des concepts de plus en plus précis. Pour reconnaître une personne, par exemple, la machine décompose l’image : d’abord le visage, les cheveux, la bouche, puis elle ira vers des propriétés de plus en plus fines, comme le grain de beauté. « Avec les méthodes traditionnelles, la machine se contente de comparer les pixels. Le deep learning permet un apprentissage sur des caractéristiques plus abstraites que des valeurs de pixels, qu’elle va elle-même construire », précise Yann Ollivier.

2015 – Deep Dream, un programme amusant qui expérimente la visualisation du deep learning (la machine psychédéliques de Google)

Deep Dream était destiné au départ à détecter des visages et d’autres motifs dans des images, avec pour objectif leur classification automatique. Avec un peu d’expérimentation, en réitérant l’algorithme pour renforcer les images perçues, il apparait une forme de paréidolie, créant des images relevant de l’art psychédélique et du surréalisme.
En clair, on demande au réseau « quoi que tu vois, on en veut plus ». Si un nuage ressemble un peu à un oiseau, le réseau va le faire ressembler encore plus à un oiseau. La ressemblance souvent mentionnée de ces images avec des hallucinations induites par le LSD et la psilocybine suggère une ressemblance fonctionnelle entre les réseaux de neurones artificiels et certaines couches du cortex visuel. Ce qui n’est pas si étonnant vue que la structure des neurones profonds est fortement inspirée de la structure de nos neurones.

Voici quelques exemples de Deep Dream :

 

Deep Dream Generator permet de tester en ligne Deep Dream, mais aussi Deep Style et Thin Style.

Deep Dream Generator propose une web application permettant de générer une image grâce à la technologie des neurones profonds à partir de deux images que le programme va fusionner. (une image qui constituera la base de l’image finale et la seconde qui va déployer le style général). Le résultat donne parfois des images magnifiques. Une communauté poste régulièrement sur le site de la web application les résultats les plus réussis.

Voici une petite sélection d’images dont les graphismes sont spectaculaires tirés du site Deep Dream Generator.