PACK : Intelligence artificielle


  • Magazine Papier
  • Flipbook (liseuse HTML5)


  • Magazine Papier
  • Flipbook (liseuse HTML5)

Machine Learning

Le guide pratique pour démarrer en intelligence artificielle


SOMMAIRE :

Découvrez… le machine learning, le mécanisme d'apprentissage des intelligences artificielles

p. 08 Petite introduction au Machine Learning

Choisissez… le framework adapté à vos besoins

p. 20 Évaluez efficacement les frameworks de Machine Learning

Préparez… vos données grâce à des outils mathématiques simples

p. 36 Utilisez la régression linéaire pour la prédiction
p. 56 La malédiction de la dimension

Appliquez... 4 exemples concrets pour utiliser le Machine Learning :

p. 74 Comment coder un système de recommandation en Python : l'exemple de Mangaki
p. 88 L'Univers, ses galaxies et le machine Learning
p. 112 Prédiction de structures secondaires de protéines
p. 120 Recherche de molécules innovantes

Préface :

Avec l’explosion du nombre de données disponibles, il faut trouver des méthodes efficaces de traitement pour parvenir à en faire émerger des connaissances. En effet, posséder des milliards et des milliards de données dans différents domaines n’a strictement aucun intérêt en soi si l’on est incapable de les faire « parler », d’établir des relations entre elles ou des inférences. Si nous prenons l’exemple de la biologie, à quoi bon posséder des génomes séquencés si nous nous arrêtons à leurs séquences de nucléotides ? Cela ne nous renseigne en aucune manière sur le fonctionnement de l’organisme étudié. Il faut pour cela passer par les acides aminés, les gènes et leur organisation sur le génome, les protéines, leur structure et leur fonction, etc. Et lorsque les données croissent drastiquement, il n’est plus question d’annotation manuelle et d’expériences (si ce n’est pour valider des hypothèses), il faut un outil informatique puissant qui va aider à faire des prédictions. Cet outil, utilisé par le data scientist (l’expert scientifique chargé de l’analyse de données), peut être le machine learning, thème de ce guide.

De nombreux frameworks permettent d’utiliser le machine learning relativement simplement et ils vous seront présentés de manière plus ou moins avancée dans les différents articles que vous pourrez lire dans les pages suivantes. Il faut toutefois noter deux éléments fondamentaux :

  • La donnée est la clé de tout ! Cela peut sembler trivial, mais si vos données ne sont pas de bonne qualité, vous aurez beau appliquer l’outil le plus performant du monde, vous n’en tirerez aucune information. Et comme le machine learning passe par une phase d’apprentissage, il est quand même assez intéressant que cet apprentissage soit effectué sur des données valides... sous peine de reproduire des erreurs, d’introduire des biais dans vos données et donc de biaiser vos données présentes et futures. Ces données sont donc des éléments à traiter avec beaucoup de considération, à ordonner, nettoyer, enrichir (feature engineering qui peut parfois être automatisé par deep learning dans certains cas spécifiques), etc. C’est d’ailleurs une grande partie du travail de data scientist, si ce n’est la plus importante. 
  • Utiliser un framework permet de gagner du temps... ou pas ! Vous vous rendrez compte que suivant les frameworks, la documentation sera plus ou moins précise et accompagnée d’exemples. Il existe des frameworks très puissants, mais très mal documentés et il est alors plus rapide par exemple de réaliser un clustering K-means à la main qu’à l’aide de méthodes toutes prêtes. Bien entendu, il faut mesurer le rapport gain/risque puisque si vous implémentez un algo que vous ne maîtrisez pas, vous pouvez obtenir des résultats erronés qui vous feront également perdre du temps...

Pour que ce guide soit complet, nous avons voulu le bâtir de manière à proposer des articles présentant les bases théoriques et des exemples pratiques, illustrant comment appliquer le machine learning sur des données et quelles informations en retirer. Vous devriez donc avoir entre les mains tout ce qu’il vous faut pour vous lancer, il ne reste plus qu’à trouver les données...

Tristan Colombo  

Vision assistée par ordinateur avec OpenCV


SOMMAIRE 

DÉBUTEZ... avec la bibliothèque graphique libre OpenCV

p.10 Découvrez le monde fabuleux d'OpenCV
p.28 Mesurez les couleurs : les bases de la colorimètrie

RECONNAISSEZ... des expressions faciales ou encore des chiffres en écriture digitale

p.40 Reconnaissez les expressions d'un visage
p.50 Reconnaissez les chiffres en écriture digitale

DÉTECTEZ... des objets avec les algorithmes de Watershed et de Classifier Cascade Haar

p.58 Comptez le nombre de bonbons d'une coupelle
p.74 Complétez les méthodes de détection d'OpenCV : le Classifier Cascade Haar

ALLEZ PLUS LOIN... avec la réalité augmentée, la vision stéréo et le pilotage d'une application par le regard

p.102 Réalité augmentée : intégrez un objet virtuel 3D à une vidéo en temps réel
p.100 Pilotez une application par le regard
p.112 Reconstruisez des objets en 3D avec la vision stéréoscopique

Préface

L’automobile est un secteur qui est en pleine évolution voire révolution et qui intègre de plus en plus de fonctions d’assistance jusqu’à ce que les voitures soient elles même en passe de devenir complètement autonomes. Nombre des fonctions employées utilisent la vision par ordinateur : caméra de recul, détection de dépassement de ligne, etc. Mais le secteur automobile n’est pas le seul domaine d’application où la vision artificielle est employée. Il ne passe pas un jour où nous ne voyons pas une annonce marketing autour des smartphones promouvant telle ou telle soi-disant fonction innovante comme la reconnaissance faciale, la lecture d’émotions ou alors la transformation de votre visage en avatar.

Certes, l’évolution technologique de ces dernières années permet aujourd’hui nombre d’applications qui étaient il y a peu réservées à des expériences de laboratoire. La réalité virtuelle et la réalité augmentée en sont deux beaux exemples. Cependant, le traitement d’images et de flux vidéos sur lequel sont basées ces fonctions est encore considéré comme réservé à une élite aux compétences mathématiques pointues ou à des utilisateurs expérimentés de logiciels spécifiques tels que Photoshop. Les logiciels libres ont participé au changement de mentalité et continuent à faire bouger les lignes avec par exemple The GIMP, Krita, Blender, etc. qui n’ont rien à envier aux logiciels propriétaires. Pour preuve, nombre d’entre eux sont de plus en plus utilisés par les grosses productions hollywoodiennes comme Pixar, Dreamworks ou autres qui ont elles-mêmes contribué au développement de logiciels libres avec OpenSubdiv [1].

Dans ce guide, vous allez découvrir OpenCV qui est un ensemble de librairies sous licence BSD dédiées à la vision par ordinateur et par conséquent au traitement d’images et de flux vidéos. Ces librairies intègrent également des fonctions de deep learning qui ne seront pas abordées dans ce guide. Pour ceux qui souhaitent découvrir cet autre sujet, je vous invite à lire le hors-série numéro 94 sur le machine learning [2]. De plus, pour utiliser OpenCV, il n’est pas nécessaire d’être un expert en mathématiques, bien qu’il soit évident que des connaissances de base soient un avantage comme vous le constaterez en parcourant les différents sujets que nous allons aborder.

Ce guide est construit autour de quatre thèmes progressifs :

  • « Débutez » : dans ce premier chapitre, vous allez découvrir et apprendre à mettre en place les fonctions principales et essentielles à tout traitement d’images et de flux vidéos avec OpenCV, telles que le filtrage, la détection de contours, les différents espaces colorimétriques, etc.
  • « Reconnaissez » : dans cette partie, vous mettrez en application les bases apprises précédemment afin de reconnaître les expressions sur un visage.
  • « Détectez » : vous allez dans cette partie apprendre à regarder une photo sous un autre angle c’est-à-dire utiliser les différentes nuances de gris pour construire un relief et ainsi dénombrer des motifs présents dans la photo : ici les fleurs d’un bouquet ou les bonbons d’une coupelle d’anniversaire. Vous verrez également comment créer un détecteur personnalisé d’objets.
  • « Allez plus loin » : pour finir, plusieurs exemples d’utilisation d’actualité telles que la réalité augmentée, la mise en place de vision stéréoscopique basée sur deux Raspberry Pi et le contrôle d’application par le regard.

Pour toute nouvelle application ou idée que vous souhaitez mettre en œuvre, ne vous arrêtez pas à la perception du monde telle que vous l’avez avec vos yeux, mais posez-vous la question de ce que vous recherchez réellement : détecter un mouvement, une couleur, une variation, un objet spécifique...?

Bonne lecture.

Laurent Delmas

[1] OpenSubdiv : https://github.com/PixarAnimationStudios/OpenSubdiv

[2] Collectif, « Machine learning », GNU/Linux magazine HS n°94, janvier-février 2018 : https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMFHS-094

Acheter ce pack


Référence : P1S

18,61 €

25,27 €

Nouveaux produits