Browsing Category

Définitions

Cette catégorie reprend l’ensemble des définitions utiles à un Data Scientist

Définitions

Computer Vision : définition, fonctionnement, cas d’usage, formations

La Computer Vision ou vision par ordinateur est une technologie d’intelligence artificielle permettant aux machines d’imiter la vision humaine. Découvrez tout ce que vous devez savoir : définition, fonctionnement, histoire, applications, formations…

Depuis maintenant plusieurs années, nous sommes entrés dans l’ère de l’image. Nos smartphones sont équipés de caméras haute définition, et nous capturons sans cesse des photos et des vidéos que nous partageons au monde entier sur les réseaux sociaux.

Les services d’hébergement vidéo comme YouTube connaissent une popularité explosive, et des centaines d’heures de vidéo sont mises en ligne et visionnées chaque minute. Ainsi, l’internet est désormais composé aussi bien de texte que d’images.

Toutefois, s’il est relativement simple d’indexer les textes et de les explorer avec des moteurs de recherche tels que Google, la tâche est bien plus difficile en ce qui concerne les images. Pour les indexer et permettre de les parcourir, les algorithmes ont besoin de connaître leur contenu.

Pendant très longtemps, la seule façon de présenter le contenu d’une image aux ordinateurs était de renseigner sa méta-description lors de la mise en ligne. Désormais, grâce à la technologie de ” vision par ordinateur ” (Computer Vision), les machines sont en mesure de ” voir “ les images et de comprendre leur contenu.

Qu’est ce que la vision par ordinateur ?

La Computer Vision peut être décrite comme un domaine de recherche ayant pour but de permettre aux ordinateurs de voir. De façon concrète, l’idée est de transmettre à une machine des informations sur le monde réel à partir des données d’une image observée.

Pour le cerveau humain, la vision est naturelle. Même un enfant est capable de décrire le contenu d’une photo, de résumer une vidéo ou de reconnaître un visage après les avoir vus une seule fois. Le but de la vision par ordinateur est de transmettre cette capacité humaine aux ordinateurs.

Il s’agit d’un vaste champ pluridisciplinaire, pouvant être considéré comme une branche de l’intelligence artificielle et du Machine Learning. Toutefois, il est aussi possible d’utiliser des méthodes spécialisées et des algorithmes d’apprentissage général n’étant pas nécessairement liés à l’intelligence artificielle.

De nombreuses techniques en provenance de différents domaines de science et d’ingénierie peuvent être exploitées. Certaines tâches de vision peuvent être accomplies à l’aide d’une méthode statistique relativement simple, d’autres nécessiteront de vastes ensembles d’algorithmes de Machine Learning complexes.

 

 

L’histoire de la Computer Vision

En 1966, les pionniers de l’intelligence artificielle Seymour Papert et Marvin Minsky lance le Summer Vision Project : une initiative de deux mois, rassemblant 10 hommes dans le but de créer un ordinateur capable d’identifier les objets dans des images.

Pour atteindre cet objectif, il était nécessaire de créer un logiciel capable de reconnaître un objet à partir des pixels qui le composent. À l’époque, l’IA symbolique – ou IA basée sur les règles – était la branche prédominante de l’intelligence artificielle.

Les programmeurs informatiques devaient spécifier manuellement les règles de détection d’objets dans les images. Or, cette approche pose problème puisque les objets dans les images peuvent apparaître sous différents angles et différents éclairages. Ils peuvent aussi être altérés par l’arrière-plan, ou obstrués par d’autres objets.

Les valeurs de pixels variaient donc fortement en fonction de nombreux facteurs, et il était tout simplement impossible de créer des règles manuellement pour chaque situation possible. Ce projet se heurta donc aux limites techniques de l’époque.

Quelques années plus tard, en 1979, le scientifique japonais Kunihiko Fukushima créa un système de vision par ordinateur appelé ” neocognitron “ en se basant sur les études neuroscientifiques menées sur le cortex visuel humain. Même si ce système échoua à effectuer des tâches visuelles complexes, il posa les bases de l’avancée la plus importante dans le domaine de la Computer Vision…

La révolution du Deep Learning

La Computer Vision n’est pas une nouveauté, mais ce domaine scientifique a récemment pris son envol grâce aux progrès effectués dans les technologies d’intelligence artificielle, de Deep Learning et de réseaux de neurones.

Dans les années 1980, le Français Yan LeCun crée le premier réseau de neurones convolutif : une IA inspirée par le neocognitron de Kunihiko Fukushima. Ce réseau est composé de multiples couches de neurones artificiels, des composants mathématiques imitant le fonctionnement de neurones biologiques.

Lorsqu’un réseau de neurones traite une image, chacune de ses couches extrait des caractéristiques spécifiques à partir des pixels. La première couche détectera les éléments les plus basiques, comme les bordures verticales et horizontales.

À mesure que l’on s’enfonce en profondeur dans ce réseau, les couches détectent des caractéristiques plus complexes comme les angles et les formes. Les couches finales détectent les éléments spécifiques comme les visages, les portes, les voitures. Le réseau produit enfin un résultat sous forme de tableau de valeurs numériques, représentant les probabilités qu’un objet spécifique soit découvert dans l’image.

L’invention de Yann LeCun est brillante, et a ouvert de nouvelles possibilités. Toutefois, son réseau de neurones était restreint par d’importantes contraintes techniques. Il était nécessaire d’utiliser d’immenses volumes de données et des ressources de calcul titanesques pour le configurer et l’utiliser. Or, ces ressources n’étaient tout simplement pas disponibles à cette époque.

Dans un premier temps, les réseaux de neurones convolutifs furent donc limités à une utilisation dans les domaines tels que les banques et les services postaux pour traiter des chiffres et des lettres manuscrites sur les enveloppes et les chèques.

Il a fallu attendre 2012 pour que des chercheurs en IA de Toronto développent le réseau de neurones convolutif AlexNet et triomphent de la compétition ImageNet dédiée à la reconnaissance d’image. Ce réseau a démontré que l’explosion du volume de données et l’augmentation de puissance de calcul des ordinateurs permettaient enfin d’appliquer les ” neural networks ” à la vision par ordinateur.

Ce réseau de neurones amorça la révolution du Deep Learning : une branche du Machine Learning impliquant l’utilisation de réseaux de neurones à multiples couches. Ces avancées ont permis de réaliser des bonds de géants dans le domaine de la Computer Vision. Désormais, les machines sont même en mesure de surpasser les humains pour certaines tâches de détection et d’étiquetage d’images.

 

Comment fonctionne la vision par ordinateur

Les algorithmes de vision par ordinateur sont basés sur la ” reconnaissance de motifs “. Les ordinateurs sont entraînés sur de vastes quantités de données visuelles. Ils traitent les images, étiquettent les objets, et trouvent des motifs (patterns) dans ces objets.

Par exemple, si l’on nourrit une machine avec un million de photos de fleurs, elle les analysera et détectera des motifs communs à toutes les fleurs. Elle créera ensuite un modèle, et sera capable par la suite de reconnaître une fleur chaque fois qu’elle verra une image en comportant une.

Les algorithmes de vision par ordinateur reposent sur les réseaux de neurones, censés imiter le fonctionnement du cerveau humain. Or, nous ne savons pas encore exactement comment le cerveau et les yeux traitent les images. Il est donc difficile de savoir à quel point les algorithmes de Computer Vision miment ce processus biologique.

Les machines interprètent les images de façon très simple. Elles les perçoivent comme des séries de pixels, avec chacun son propre ensemble de valeurs numériques correspondant aux couleurs. Une image est donc perçue comme une grille constituée de pixels, chacun pouvant être représenté par un nombre généralement compris entre 0 et 255.

Bien évidemment, les choses se compliquent pour les images en couleur. Les ordinateurs lisent les couleurs comme des séries de trois valeurs : rouge, vert et bleu. Là encore, l’échelle s’étend de 0 à 255. Ainsi, chaque pixel d’une image en couleur à trois valeurs que l’ordinateur doit enregistrer en plus de sa position.

Chaque valeur de couleur est stockée en 8 bits. Ce chiffre est multiplié par trois pour une image en couleurs, ce qui équivaut à 24 bits par pixel. Pour une image de 1024×768 pixels, il faut donc compter 24 bits par pixels soit presque 19 millions de bits ou 2,36 mégabytes.

Vous l’aurez compris : il faut beaucoup de mémoire pour stocker une image. L’algorithme de Computer Vision quant à lui doit parcourir un grand nombre de pixels pour chaque image. Or, il faut généralement plusieurs dizaines de milliers d’images pour entraîner un modèle de Deep Learning.

C’est la raison pour laquelle la vision par ordinateur est une discipline complexe, nécessitant une puissance de calcul et une capacité de stockage colossales pour l’entraînement des modèles. Voilà pourquoi il a fallu attendre de nombreuses années pour que l’informatique se développe et permette à la Computer Vision de prendre son envol.

 

Les différentes applications de Computer Vision

La vision par ordinateur englobe toutes les tâches de calcul impliquant le contenu visuel telles que les images, les vidéos ou même les icônes. Cependant, il existe de nombreuses branches dans cette vaste discipline.

La classification d’objet consiste à entraîner un modèle sur un ensemble de données d’objets spécifiques, afin de lui apprendre à classer de nouveaux objets dans différentes catégories. L’identification d’objet quant à elle vise à entraîner un modèle à reconnaître un objet.

Parmi les applications les plus courantes de vision par ordinateur, on peut citer la reconnaissance d’écriture manuscrite. Un autre exemple est l’analyse de mouvement vidéo, permettant d’estimer la vélocité des objets dans une vidéo ou directement sur la caméra.

Dans la segmentation d’image, les algorithmes répartissent les images dans plusieurs ensembles de vues. La reconstruction de scène permet de créer un modèle 3D d’une scène à partir d’images et de vidéos.

Enfin, la restauration d’image exploite le Machine Learning pour supprimer le ” bruit ” (grain, flou…) sur des photos. De manière générale, toute application impliquant la compréhension des pixels par un logiciel peut être associée à la Computer Vision.

 

Quels sont les cas d’usages de la Computer Vision ?

La Computer Vision fait partie des applications du Machine Learning que nous utilisons déjà au quotidien, parfois sans même le savoir. Par exemple, les algorithmes de Google parcourent des cartes pour en extraire de précieuses données et identifier les noms de rues, les commerces ou les bureaux d’entreprises.

De son côté, Facebook exploite la vision par ordinateur afin d’identifier les personnes sur les photos. Sur les réseaux sociaux, elle permet aussi de détecter automatiquement le contenu problématique pour le censurer immédiatement.

Les voitures autonomes

Les entreprises de la technologie sont loin d’être les seules à se tourner vers cette technologie. Ainsi, le constructeur automobile Ford utilise la Computer Vision pour développer ses futurs véhicules autonomes. Ces derniers reposent sur l’analyse en temps réel de nombreux flux vidéo capturés par la voiture et ses caméras.

Il en va de même pour tous les systèmes de voitures sans pilote comme ceux de Tesla ou Nvidia. Les caméras de ces véhicules capturent des vidéos sous différents angles et s’en servent pour nourrir le logiciel de vision par ordinateur.

Ce dernier traite les images en temps réel pour identifier les bordures des routes, lire les panneaux de signalisation, détecter les autres voitures, les objets et les piétons. Ainsi, le véhicule est en mesure de conduire sur autoroute et même en agglomération, d’éviter les obstacles et de conduire les passagers jusqu’à leur destination.

 

La santé

Dans le domaine de la santé, la Computer Vision connaît aussi un véritable essor. La plupart des diagnostics sont basés sur le traitement d’image : lecture de radiographies, scans IRM…

Google s’est associé avec des équipes de recherche médicale pour automatiser l’analyse de ces imageries grâce au Deep Learning. D’importants progrès ont été réalisés dans ce domaine. Désormais, les IA de Computer Vision se révèlent plus performantes que les humains pour détecter certaines maladies comme la rétinopathie diabétique ou divers cancers.

Le sport

Dans le domaine du sport, la vision par ordinateur apporte une précieuse assistance. Par exemple, la Major League Baseball utilise une IA pour suivre la balle avec précision. De même, la startup londonienne Hawk-Eye déploie son système de suivi de balle dans plus de 20 sports comme le basketball, le tennis ou le football.

La reconnaissance faciale

Une autre technologie reposant sur la Computer Vision est la reconnaissance faciale. Grâce à l’IA, les caméras sont en mesure de distinguer et de reconnaître les visages. Les algorithmes détectent les caractéristiques faciales dans les images, et les comparent avec des bases de données regroupant de nombreux visages.

Cette technologie est utilisée sur des appareils grand public comme les smartphones pour authentifier l’utilisateur. Elle est aussi exploitée par les réseaux sociaux pour détecter et identifier les personnes sur les photos. De leur côté, les autorités s’en servent pour identifier les criminels dans les flux vidéo.

La réalité virtuelle et augmentée

Les nouvelles technologies de réalité virtuelle et augmentée reposent également sur la Computer Vision. C’est elle qui permet aux lunettes de réalité augmentée de détecter les objets dans le monde réel et de scanner l’environnement afin de pouvoir y disposer des objets virtuels.

Par exemple, les algorithmes peuvent permettre aux applications AR de détecter des surfaces planes comme des tables, des murs ou des sols. C’est ce qui permet de mesurer la profondeur et les dimensions de l’environnement réel pour pouvoir y intégrer des éléments virtuels.

Les limites et problèmes de la Computer Vision

La vision par ordinateur présente encore des limites. En réalité, les algorithmes se contentent d’associer des pixels. Ils ne ” comprennent ” pas véritablement le contenu des images à la manière du cerveau humain.

Pour cause, comprendre les relations entre les personnes et les objets sur des images nécessite un sens commun et une connaissance du contexte. C’est précisément pourquoi les algorithmes chargés de modérer le contenu sur les réseaux sociaux ne peuvent faire la différence entre la pornographie et une nudité plus candide comme les photos d’allaitement ou les peintures de la Renaissance.

Alors que les humains exploitent leur connaissance du monde réel pour déchiffrer des situations inconnues, les ordinateurs en sont incapables. Ils ont encore besoin de recevoir des instructions précises, et si des éléments inconnus se présentent à eux, les algorithmes dérapent. Un véhicule autonome sera par exemple pris de cours face à un véhicule d’urgence garé de façon incongrue.

Même en entraînant une IA avec toutes les données disponibles, il est en réalité impossible de la préparer à toutes les situations possibles. La seule façon de surmonter cette limite serait de parvenir à créer une intelligence artificielle générale, à savoir une IA véritablement similaire au cerveau humain.

Comment se former à la Computer Vision ?

Si vous êtes intéressé par la Computer Vision et ses multiples applications, vous devez vous former à l’intelligence artificielle, au Machine Learning et au Deep Learning. Vous pouvez opter pour les formations DataScientest.

Le Machine Learning et le Deep Learning sont au coeur de nos formations Data Scientist et Data Analyst. Vous apprendrez à connaître et à manier les différents algorithmes et méthodes de Machine Learning, et les outils de Deep Learning comme les réseaux de neurones, les GANs, TensorFlow et Keras.

Ces formations vous permettront aussi d’acquérir toutes les compétences nécessaires pour exercer les métiers de Data Scientist et de Data Analyst. À travers les différents modules, vous pourrez devenir expert en programmation, en Big Data et en visualisation de données.

Nos différentes formations adoptent une approche innovante de Blended Learning, alliant le présentiel au distanciel pour profiter du meilleur des deux mondes. Elles peuvent être effectuées en Formation Continue, ou en BootCamp.

Pour le financement, ces parcours sont éligibles au CPF et peuvent être financés par Pôle Emploi via l’AIF. À l’issue du cursus, les apprenants reçoivent un diplôme certifié par l’Université de la Sorbonne. Parmi nos alumnis, 93% trouvent un emploi immédiatement après l’obtention du diplôme. N’attendez plus, et découvrez nos formations.

Vous savez tout sur la Computer Vision. Découvrez tout ce que vous devez savoir sur le Text Mining, et les différents algorithmes de Machine Learning.

Définitions

Apprentissage supervisé : Définition et explications

L’apprentissage supervisé, dans le contexte de l’intelligence artificielle, est la méthode d’apprentissage la plus utilisée en Machine Learning et en Deep Learning. L’apprentissage supervisé consiste à surveiller l’apprentissage de la machine en lui présentant des exemples de ce qu’elle doit effectuer. Ses utilisations sont nombreuses : reconnaissance vocale, intelligence artificielle, classifications, etc. Ainsi, la régression linéaire fait partie d’une des techniques d’apprentissage supervisé la plus utilisée dans la prédiction d’une valeur continue. Aussi, la grande majorité des problèmes de Machine Learning et de Deep Learning utilisent l’apprentissage supervisé : il est donc primordial de comprendre correctement le fonctionnement de cette méthode. 

Le but de l’apprentissage automatique est de créer des algorithmes aptes à recevoir des ensembles de données et à réaliser une analyse statistique pour prédire un résultat.

Si on appelle ça un apprentissage supervisé, c’est parce que le processus d’un algorithme tiré du Training Set (ensembles de données) peut être considéré comme un enseignant qui surveille le processus d’apprentissage. Nous connaissons les bonnes réponses, l’algorithme effectue des prédictions sur les réponses et est ensuite corrigé par l’enseignant. L’apprentissage cesse quand l’algorithme atteint le niveau attendu pour être efficient. 

L’apprentissage supervisé consiste en des variables d’entrée X et une variable de sortie Y. L’algorithme a pour but d’apprendre la fonction de l’entrée jusqu’à la sortie.

Y = f (X)

Les étapes de l’apprentissage supervisé sont : 

  1.     La collecte des données et leur labellisation
  2.     Le nettoyage des données pour identifier de potentielles erreurs ou manquement
  3.     Le prétraitement des données (identification des variables explicatives notamment)
  4.     Instanciation des modèles (modèle de régression ou de classification par exemple).
  5.     Entraînement des modèles 
  6.     Validation du modèle 

Ainsi et comme le montre la formule Y = f (X), le modèle d’apprentissage supervisé est très efficace pour étudier des relations linéaires mais il reste incapable de performer quand il y a des relations plus complexes qu’une linéarité entre les variables.

A contrario de l’apprentissage supervisé se trouve l’apprentissage non supervisé. Celui-ci correspond au fait de n’utiliser que des données d’entrée (X) et aucune variable de sortie Y correspondante. Le but de l’apprentissage non supervisé est de modéliser la structure des données afin d’en apprendre plus sur les données et à la différence de l’apprentissage supervisé, il n’y a pas de bonne réponse ni d’enseignant. Les algorithmes sont laissés à leurs propres processus pour étudier et choisir la structure des données qui soit intéressante. 

L’apprentissage supervisé présente des atouts que les apprentissages non supervisés n’ont pas, mais il rencontre aussi des difficultés. En effet, l’apprentissage supervisé est plus apte à prendre des décisions auxquelles les humains peuvent s’identifier car les données sont elles-mêmes fournies par l’humain. Néanmoins, les apprentissages supervisés rencontrent plus de difficultés à traiter les données qui s’ajoutent après l’apprentissage. En effet, si un système connaît les groupes chiens et chats et reçoit une photographie de souris, il devra la placer dans l’un ou l’autre de ces deux groupes alors qu’elle n’y appartient pas. Au contraire, si le système avait suivi un apprentissage non supervisé, il ne serait pas capable d’identifier que c’est une souris mais il serait capable de le définir comme n’appartenant à aucune des 2 catégories chiens et chats. 

L’apprentissage supervisé chez DataScientest

Considérant l’efficacité et l’importance de l’apprentissage supervisé, DataScientest le place parmi les connaissances à valider aux cours de ses formations. Notamment au sein de la formation de data analyst et dans le module de Machine Learning de 75h, il vous sera demandé d’apprendre à identifier les problèmes de Machine Learning non supervisés, et apprendre à utiliser des méthodes d’apprentissage supervisé par des problèmes de régression. De même, dans la formation de data management, dans le module Data Literacy, nous apprendrons à identifier quelle méthode de Machine Learning utiliser selon le type de métier. Enfin, dans la formation de data scientist, le module de Machine Learning de 75h se verra attribuer une partie conséquente sur le sujet des apprentissages supervisés et non supervisés, leurs mises en place et l’identification de leurs problèmes.

Définitions

Focus sur le NLP ou Natural Language Processing

C’est seulement il y a 40 ans que l’objectif de doter les ordinateurs de la capacité de comprendre le langage naturel au sens de courant a commencé. Cet objectif de compréhension du langage naturel par les ordinateurs – plus communément appelé traitement du langage naturel ou “natural language processing” en anglais (NLP)est le sujet de cet article. 

Le Natural Language Processing est considéré comme une branche de l’Intelligence Artificielle, mais est devenu au fil des années un domaine d’études intéressant en matière de statistiques informatiques et de fouille de données textuelles.  

La maitrise du NLP permet d’accéder à des opportunités professionnelles dans le secteur de la data science. Seul un data scientist qui maitrise les techniques de machine learning et deep learning sera capable d’utiliser ces modèles pour les appliquer à des problématiques de traitement du langage naturel. D’où la nécessité de se former à la data science au travers d’une formation spécialisée.

Qu’est ce que le NLP ? 

La NLP est une approche computationnelle de l’analyse des textes. 

“Il s’agit d’une gamme de techniques informatiques à motivation théorique pour l’analyse et la représentation de textes naturels à un ou plusieurs niveaux d’analyse linguistique dans le but d’obtenir un traitement du langage similaire à l’humain pour une série de tâches ou d’applications”.

Le NLP regroupe les techniques qui utilisent des ordinateurs pour analyser, déterminer la similarité sémantique entre des mots et traduire entre les langues. Ce domaine concerne généralement les langues écrites, mais il pourrait également s’appliquer à la parole. 

Dans cet article, nous aborderons les définitions et concepts nécessaires à la compréhension et méthodes nécessaires à la compréhension du NLP, les méthodes de l’analyse syntaxique ainsi que le modèle d’espace vectoriel pour le NLP au niveau du document. 

Définitions et concepts

Présentons d’abord quelques définitions et concepts utilisés en NLP:

  • un corpus est un ensemble de documents
  • le lexique est un ensemble de mots utilisés dans la langue. En NLP, le lexique fait généralement référence à l’ensemble des mots uniques contenus dans le corpus

Les axes d’analyse pris en NLP sont :

  • la morphologie traite de la structure des mots individuels. Ainsi, les techniques dans ce domaine comprendraient des méthodes pour endiguer, attribuer la partie des balises vocales…
  • la syntaxe concerne la structure des phrases et les règles pour les construire. Elle est particulièrement importante car elle permet de déterminer le sens d’une phrase, également appelé sémantique.
  • la sémantique

Revenons quelques instants sur la syntaxe : une structure syntaxique peut être créée grâce à l’utilisation de la grammaire qui spécifie les règles de la langue. Un type de grammaire communément utilisé en NLP est la grammaire sans contexte (CFGs). 

Un CFG comprend les parties suivantes :

  • des symboles des terminaux, qui peuvent être des mots ou de la ponctuation
  • des symboles non terminaux, qui peuvent être des parties de discours, de phrases…
  • des symboles de départ
  • ou encore un ensemble de règles avec un seul symbole non terminal à gauche et un ou plusieurs symboles à droite (terminaux ou non terminaux)

Les CFG ont certaines limites, mais ils peuvent s’acquitter de manière adéquate de certaines tâches de la NLP, telles que l’analyse syntaxique des phrases.

Un système de NLP devrait idéalement être capable de déterminer la structure du texte, afin de pouvoir répondre à des questions sur le sens ou la sémantique de la langue écrite. La première étape consiste à analyser les phrases en structures grammaticales. Cependant, l’analyse et la compréhension d’une langue naturelle à partir d’un domaine illimité se sont révélées extrêmement difficiles en raison de la complexité des langues naturelles, de l’ambiguïté des mots et des règles de grammaire difficiles. 

Cet article fournit une introduction au NLP, qui comprend des informations sur ses principales approches. 

Parmi les domaines de recherche fructueux en matière de NLP et de fouille de données textuelles, citons différentes méthodes pour la conversion de textes en données quantitatives, d’autres moyens de réduire les dimensions du texte, des techniques de visualisation des grands corpus,  et des approches qui prennent en compte la dimension temporelle de certaines collections de documents. 

Par conséquent, le NLP est utilisé dans une grande variété de disciplines pour résoudre de nombreux types de problèmes différents. L’analyse de texte est effectuée sur des textes allant de quelques mots saisis par l’utilisateur pour une requête Internet à de multiples documents qui doivent être résumés. La quantité et la disponibilité des données non structurées ont fortement augmenté au cours des dernières années. Cela a pris des formes telles que les blogs, les tweets et divers autres réseaux sociaux. Le NLP est idéal pour analyser ce type d’informations. 

Le Machine Learning et l’analyse de texte sont fréquemment utilisés pour améliorer l’utilité d’une application. 

Voici une brève liste des domaines d’application:

  • la recherche qui identifie des éléments spécifiques du texte. Elle peut être aussi simple que de trouver l’occurrence d’un nom dans un document ou peut impliquer l’utilisation de synonymes et d’orthographes/fausses orthographes alternatives pour trouver des entrées proches de la chaîne de recherche originale
  • la traduction automatique qui implique généralement la traduction d’une langue naturelle dans une autre. 
  • des résumés : le NLP a été utilisé avec succès pour résumer des paragraphes, articles, documents ou recueils de documents 
  • NER (Named-Entity Recognition) qui consiste à extraire du texte les noms des lieux, des personnes et des choses. Généralement, cette opération est utilisée en conjonction avec d’autres tâches du NLP, comme le traitement des requêtes

Les tâches du NLP utilisent fréquemment différentes techniques de Machine Learning. Une approche commune commence par la formation d’un modèle à l’exécution d’une tâche, la vérification que le modèle est correct, puis l’application du modèle à un problème.

Application du NLP

Le NLP peut nous aider dans de nombreuses tâches et ses champs d’application semblent s’élargir chaque jour. Mentionnons quelques exemples :

  • le NLP permet la reconnaissance et la prédiction des maladies sur la base des dossiers médicaux électroniques et de la parole du patient. Cette capacité est explorée dans des conditions de santé qui vont des maladies cardiovasculaires à la dépression et même à la schizophrénie. Par exemple, Amazon Comprehend Medical est un service qui utilise le NLP pour extraire les états pathologiques, les médicaments et les résultats des traitements à partir des notes des patients, des rapports d’essais cliniques et d’autres dossiers médicaux électroniques.
  • Les organisations peuvent déterminer ce que les clients disent d’un service ou d’un produit en identifiant et en extrayant des informations dans des sources telles que les réseaux sociaux. Cette analyse des sentiments peut fournir de nombreuses informations sur les choix des clients et les facteurs de décision.
  • Un inventeur travaillant chez IBM a mis au point un assistant cognitif qui fonctionne comme un moteur de recherche personnalisé en apprenant tout sur vous et en vous rappelant ensuite un nom, une chanson ou tout ce dont vous ne vous souvenez pas au moment où vous en avez besoin.
  • Le NLP est également utilisé dans les phases de recherche et de sélection de recrutement des talents, pour identifier les compétences des personnes susceptibles d’être embauchées et aussi pour repérer les prospects avant qu’ils ne deviennent actifs sur le marché du travail. 

Le NLP est particulièrement en plein essor dans le secteur des soins de santé. Cette technologie améliore la prestation des soins, le diagnostic des maladies et fait baisser les coûts, tandis que les organismes de soins de santé adoptent de plus en plus les dossiers de santé électroniques. Le fait que la documentation clinique puisse être améliorée signifie que les patients peuvent être mieux compris et bénéficier de meilleurs soins de santé.

 

Définitions

Machine Learning vs Human Decision Making (Similarités et Différences):

Nous entendons tous parler du terme « Machine Learning », qui peut se décomposer en trois grandes catégories :

  • L’apprentissage supervisé
  • L’apprentissage non supervisé
  • L’apprentissage par renforcement

En apprentissage supervisé, un programme informatique reçoit un ensemble de données qui est étiqueté avec des valeurs de sorties correspondantes, ainsi on pourra alors « s’entrainer » sur ce modèle et une fonction sera déterminée. Cette fonction, ou algorithme pourra par la suite être utilisé sur de nouvelles données afin de prédire leurs valeurs de sorties correspondantes. C’est le cas par exemple de la Régression Linéaire, des Arbres de décisions, SVM (Support Vector Machine)…

En voici une illustration :

 

Pour l’Homme, il s’agit du même principe. De par son expérience, il va mémoriser une grande quantité d’informations et face à une situation, il va pouvoir se remémorer une situation similaire et émettre une conclusion.

Dans l’apprentissage non-supervisé, l’ensemble des données n’a pas de valeurs de sorties spécifiques. Puisqu’il n’y a pas de bonnes réponses à tirer, l’objectif de l’algorithme est donc de trouver lui-même tous les modèles intéressants à partir des données. Certains des exemples bien connus d’apprentissage non supervisé comprennent les algorithmes de Clustering comme KMeans, DB-Scan et de réduction de dimension comme l’ACP (Analyse en Composantes Principales) et les réseaux de neurones.

Chez l’Homme, le principe est le même, certains critères vous nous permettre de différencier ce que se présente sous yeux et donc de déterminer différentes classes.

Dans l’apprentissage par renforcement, les « bonnes réponses » contiennent des récompenses, que l’algorithme doit maximiser en choisissant les actions à prendre.

Essentiellement, l’apprentissage par renforcement consiste à trouver le bon équilibre entre l’exploration et l’exploitation, ou l’exploration ouvre la possibilité de trouver des récompenses plus élevées, ou risque de n’obtenir aucunes récompenses. Les jeux tels que les Dames sont basés sur ce principe.

Le psychologue BF Skinner (1938), a observé le même résultat au cours d’une expérience sur les rats ou un levier offrait une récompense tandis qu’un autre administrait un choc. Le constat est simple, la punition a entrainé une diminution de la pression du levier de choc.

En comparant le Machine Learning à l’apprentissage d’un Humain, on observe donc beaucoup de similitude mais évidemment, il existe encore des différences fondamentales entre les deux :

Bien que les algorithmes d’apprentissage supervisé fournissent un aperçu complet de l’environnement, ils nécessitent une grande quantité de données pour que le modèle soit construit, ce qui peut être un peu lourd en termes de calculs.

A l’inverse, l’Homme a besoin de beaucoup moins de données pour être capable de faire des prédictions notamment en extrapolant les concepts qu’il a en mémoire. Le Machine Learning lui ne pourra pas le faire car les programmes n’interprètent pas des concepts mais des données.

Un autre problème survient quand on parle de sur-apprentissage ou « Overfitting » en anglais, qui se produit lorsque les données d’apprentissage utilisées pour construire un modèle expliquent très voire « trop » bien les données mais ne parviennent pas à faire des prédictions utiles pour de nouvelles données. L’Homme aura donc plus de flexibilité dans son raisonnement alors que les algorithmes de Machine Learning seront eux plus rigides.

En conclusion, le Machine Learning a souvent été comparé au raisonnement Humain, même si les deux ne sont pas exactement les mêmes.

Chez l’Homme, l’apprentissage a été façonné par des processus évolutifs pour devenir ce qu’il est aujourd’hui. Bien que de nombreuses théories ont tenté de d’expliquer ses mécanismes, sa nature dynamique conduit à dire que différentes stratégies peuvent être utilisées simultanément ou séparément, selon la situation. Il est donc difficile de le comparer au Machine Learning. Après tout, le Machine Learning a été programme par les humains… ainsi, de nouveaux concepts verront le jour pour pouvoir sans cesse améliorer nos algorithmes d’apprentissage qui sont déjà très efficace pour la prise de décision sur de large bases de données. Une Machine dotée d’une conscience ne verra sans doute jamais le jour, mais d’ici peu, la capacité de prise de décision des automates supplantera celle des humains dans quasiment tous les domaines

Définitions

Aperçu – simple ! – des principaux modèles prédictifs

De nombreux termes barbares hantent les articles liés à la Data Science et au prédictif, que ce soient des algorithmes ou des modèles, comment avoir un aperçu de ce qui les caractérise et les différencie, sans pour autant être bac+10 en statistiques ?

Réponse sur 3 modèles que j’ai le plus fréquemment rencontrés : la régression linéaire, la régression logistique et l’arbre de décisions.

Attention, cet article s’adresse à des non-matheux, d’où un langage et des explications volontairement simplifiées 😉

Continue Reading

Définitions

R ou Python: le combat

On me pose souvent la question: pourquoi avoir commencé à apprendre Python plutôt que R?

A la base, je n’ai pas de réponse, si ce n’est le hasard, puisque j’ai commencé à apprendre Python grâce à Codecademy. Et il semblerait que ce soit difficile d’apprendre les deux en parallèle…

Mais les deux s’opposent-ils vraiment? Choisir, c’est renoncer, alors à quoi devons-nous renoncer exactement?

Continue Reading

illustration abstraite du machine learning
Définitions

Qu’est-ce que le Machine Learning ?

Comment définir le Machine learning ?

Le Machine learning est un type d’intelligence artificielle (IA) qui permet aux ordinateurs d’apprendre sans être explicitement programmés. Il se concentre sur le développement de programmes informatiques qui peuvent changer lorsqu’ils sont exposés à de nouvelles données.
Le processus d’apprentissage automatique est similaire à celui de l’exploration de données. Les deux systèmes recherchent dans les données pour trouver des modèles. Cependant, au lieu d’extraire les données pour la compréhension humaine, le Machine learning utilise ces données pour détecter des modèles dans ces données et ajuster les actions du programme en conséquence. Par exemple, Facebook utilise l’apprentissage automatique pour ajuster chaque contenu en fonction du profil d’un utilisateur.

Continue Reading