12,90 € TTC
p.06 IPython 7.0, la nouvelle version du shell interactif Python survitaminé
p.08 Côté livres...
p.10 Quel IDE pour analyser vos données en Python ?
p. 20 Le Deep Learning, en fait rien de nouveau
p. 38 Computer Vision : le traitement des images par Machine Learning
p. 52 Kaggle, la Data Science en compétition
p. 60 Génération d’articles à l’aide de réseaux de neurones
p. 78 Le Machine Learning portable : écrivez une IA de jeu de morpion en Go, distribuez-la en Wasm
p. 102 Journal de bord d’un hackathon, dans la peau d’un Data Scientist
p.110 Deep Learning et humanités numériques, Entretien avec Daniel Stökl Ben Ezra
p.118 Supervision à petite échelle avec Conky et Collectd
« Comment fer cuire un neuf ? »
« Kel tant pour un neuf molé ? »
« Cé ki le prézident ? »
Ce qui est intéressant avec le Machine Learning ou le Deep Learning, c’est la faculté du programme à apprendre par lui-même. Ce qui est dangereux, ce sont les données que nous lui fournissons pour son apprentissage. Prenez un moteur de recherche tel que Google et soumettez-lui les requêtes précédentes : vous obtiendrez des réponses sensées. Pourquoi ? Parce que l’intelligence artificielle qui se cache derrière le moteur de recherche a appris à répondre à ce genre de requêtes. La question qui se pose alors est : d’où peuvent bien provenir des inepties pareilles ? Si je veux connaître le temps de cuisson pour un œuf mollet, je tape : « temps cuisson œuf mollet »
Donc comment la machine a-t-elle pu déduire une telle déformation de langage ? En fait, elle a appris des milliers de requêtes d’utilisateurs et de leur navigation pour en déduire ce qu’ils recherchaient. Le facteur incontrôlable de cet apprentissage permanent ce sont donc « les gens ». Le service devant répondre à la masse il s’adapte, il mute et éventuellement pourrait ne plus reconnaître à terme des requêtes correctement formulées. Lorsque votre recherche par mots-clés échoue, essayez de la réécrire sous forme dysorthographique, vous aurez parfois des surprises et ça fait froid dans le dos. Imaginez une voiture autonome apprenant en se basant sur le comportement des conducteurs humains : demi-tour au milieu de la route, dépassement par la droite, stationnement dans un rond-point, non-respect des distances de sécurité, etc. Au lieu de nous retrouver face à une machine qui, sauf défaillance technique, se comporte de manière rationnelle et prévisible, nous nous retrouverions face à des véhicules à la conduite erratique, semblable à ce que peut faire un conducteur humain. Quel serait alors le gain pour la Société ?
La question que je pose donc en préambule de ce hors-série est la suivante : est-il toujours nécessaire d’apprendre en se calquant sur le comportement du plus grand nombre ? L’Histoire nous a montré à de nombreuses reprises (Galilée démontrant l’héliocentrisme - la Terre tourne autour du Soleil - pour ne citer qu’un seul exemple) que le plus grand nombre n’a pas toujours raison. Est-il donc judicieux de laisser des systèmes apprendre par eux-mêmes et remettre en cause leurs connaissances en se basant sur des comportements de masse ? Tant que l’ensemble d’apprentissage est maîtrisé, l’algorithme va tendre vers un résultat « connu » : classer des photos d’ophrys (des orchidées) en fonction des différentes espèces par exemple. Mais si l’on commence à intégrer à l’ensemble d’apprentissage les observations de citadins incapables de distinguer une marguerite d’une edelweiss, on va aboutir à une nouvelle classification des espèces d’ophrys, une classification qui n’aura plus rien de scientifique, mais qui correspondra au plus grand nombre. Les données sont donc comme toujours à traiter avec beaucoup de prudence. Le Machine Learning et le Deep Learning ne sont pas des méthodes magiques, une préparation des données et un paramétrage précis seront nécessaires et ce sont bien des prédictions que l’on obtiendra et non un résultat. En étant conscients de cela, nous disposons tout de même d’un formidable outil qui sera au cœur du dossier de ce hors-série. Bonne lecture !
Tristan Colombo
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
« L’intelligence artificielle [...] n’existera jamais, c’est un terme marketing. Depuis 1957, on fait du Machine Learning. Nous programmons des machines qui appliquent des règles » Luc Julia, vice-président du centre de recherche de Samsung.
Dans cet article, je vous propose d'écrire un jeu de morpion en utilisant le Deep Learning. Le moteur se base sur le système LSTM. Le langage de programmation utilisé sera le Go.