Machine Learning et Intelligence Artificielle : le b.a.-ba

Guillaume André
Dec 28, 2018 · 6 min read

Cet article s’adresse aux data scientists débutants et aux développeurs curieux qui souhaitent en savoir plus sur le Machine Learning et l’Intelligence Artificielle. J’évoquerai au cours de cet article les différents sous ensembles qui composent l’Intelligence Artificielle avec des exemples d’usage. Concernant le Machine Learning je vais tenter d’énumérer et expliquer le plus simplement possible les différentes familles d’algorithmes d’apprentissage et leurs champs d’applications.

Machine Learning vs Intelligence Artificielle ?

Pour bien appréhender le Machine Learning, il convient de le visualiser et le positionner dans son contexte.

L’Intelligence Artificielle et ses sous ensembles

Le machine Learning est un sous ensemble de l’Intelligence Artificielle. Le terme d’Intelligence Artificielle étant souvent utilisé à tort (buzzword au sens d’intelligence globale) il convient dans cet article de bien distinguer son usage.

“Difference between machine learning and AI: If it is written in Python, it’s probably machine learning If it is written in PowerPoint, it’s probably AI”
Mat Velloso (https://twitter.com/matvelloso/status/1065778379612282885)

Parlons des sous ensembles qui composent l’Intelligence Artificielle

Voici une définition avec exemples des branches les plus connues de l’Intelligence Artificielle (en bleu sur le schéma ci-dessus), nous terminerons par le Machine Learning (en vert) :

  • Natural Language Processing (NLP) : Est la capacité pour une machine entrainée de comprendre et interpréter l’écriture et la voix. Le NLP peut-être accompagné par des “outils” on parlera de “categorization”, “tapping”, “ontologies”, “dictionnaries”, etc.

Exemple de services qui utilisent cette technologie (mais pas que) : Alexa, Google Home/Assistant, Bixby, Siri, Cortana et certains bots (assistants).

  • Reasoning : Est la capacité pour une machine de faire un raisonnement c’est-à-dire, une déduction (et induction) ou conclusion sur base d’un jeu de données. Il y a ici aucun entrainement, le système utilise les connaissances dont il dispose pour combler les lacunes des données.

Exemple d’usage : Jaco est un perroquet. Un perroquet est une espèce d’oiseau. Les oiseaux ont des ailes. Jaco a-t-il des ailes ?

  • Planning : Est la capacité pour une machine de construire une séquence d’action de manière autonome pour arriver à un but défini.

Exemple de problématique adressée : Résoudre un Rubik’s cube.

  • Knowledge Representation (KR) : Il s’agit ici d’organiser et représenter le savoir humain. C’est une sorte de standard de la connaissance. On parle d’ontologie. Répondre à la question “Qu’est-ce que c’est ?” sans y répondre directement mais en se servant de substitues est sans doute le meilleur exemple. En pratique structurer le savoir humain peut s’avérer complexe lorsqu’on parle de sentiments… Cet ensemble peut-être rapproché du “Reasoning” on parle alors de KRR.

Exemple d’usage : Un programme qui prend des décisions se basant sur des formules mathématiques.

  • Perception : “La possibilité pour un ordinateur d’avoir des sens”. L’idée est d’apporter à l’ordinateur des capteurs lui permettant d’évoluer, interagir, prendre des décisions et raisonner dans environnement réel.
  • Motion and Manipulation : Est la capacité de manipuler des objets, tirer, pousser, etc.

Exemple : La robotique (Boston Dynamics)

  • Social Intelligence (SQ) : Comprendre les émotions humaines, les interactions humaines via un ordinateur.

Exemple : Certains assistants virtuels (rare car le plus souvent les assistants sont uniquement programmés pour répondre à des questions précisent)

  • General Intelligence : L’idée qu’une intelligence “globale” coordonne les autres intelligences.
  • Machine Learning : La branche sous-jacent de l’intelligence artificielle sans doute la plus exploitée et qui fait beaucoup parler d’elle en ce moment est le Machine Learning. Nous allons-y revenir plus en détails ci-après. Il convient néanmoins de rappeler encore une fois que L’Intelligence Artificielle ne se limite pas uniquement au Machine Learning.

Qu’est-ce que le Machine Learning ?

Le Machine Learning (ML) ou Apprentissage automatique en français permet aux machines d’apprendre via la donnée. Autrement dit, la machine apprend des règles en se basant sur les données d’apprentissages et peut les appliquer à de nouvelles données entrantes. Exemples d’usage de Machine Learning : Recommandations en fonction de vos achats et écoutes (Amazon, Spotify), Suggestions en fonction de vos recherches précédentes et des recherches réalisées par tous les utilisateurs ainsi que les sujets d’actualités (Google Search), Prédictions (Prix, Trafic), Diagnostiques médical (Imagia), Reconnaissance d’images (Amis Facebook, Microsoft Cognitive Services), Détection de fraude (Paypal), etc.

Les différentes familles d’algorithmes en Machine Learning

  • Apprentissage supervisé (Supervised learning) : L’apprentissage supervisé permet sur base d’un échantillon déjà étiqueté de réaliser une classification sur un jeu de données qui lui ne sera pas étiqueté. Généralement ici, c’est l’humain qui se charge de fournir le bon échantillon et de définir les étiquettes.

Exemple : Les champignons venimeux et les champignons comestibles. On étiquettera les champignons rouge et jaune comme étant des champignons venimeux sur l’échantillon. On pourra ensuite procéder à une classification sur le jeu de donnée non étiqueté et distinguer les champignons venimeux des champignons comestibles.

  • Apprentissage non supervisé (Unsupervised learning) : Contrairement à l’apprentissage supervisé le non supervisé permet de s’abstraire d’un étiquetage humain. L’apprentissage non supervisé va lui même détecter les similarités (une structuration) dans un jeu de données et les étiqueter, on comprend ici que cette approche est plus complexe étant donné que nous ne connaissons pas les étiquettes en amont de la démarche de classification. Tout dépendra du jeu de donnée. Plusieurs approches existent : le partitionnement des données (clustering), la détection d’éléments atypiques (outlier detection), la réduction de dimensions, etc.

Exemple : Netflix et la proposition de film, Amazon et la recommandation de produit (http://fortune.com/2012/07/30/amazons-recommendation-secret/)

  • Apprentissage semi-supervisé (Semi-supervised learning) : Il se situe entre l’apprentissage supervisé et l’apprentissage non supervisé. Il utilise ainsi des données étiquetées et des données non étiquetées. Cette méthode permet d’améliorer la qualité de l’apprentissage.
  • Apprentissage par renforcement (Reinforcement learning) : Orienté pour la prise de décision cet apprentissage se base sur l’expérience (échecs et succès constatés).

Exemple : jeu d’échec, poker, backgammon, go…

  • Apprentissage par transfert (Transfer learning) : C’est un apprentissage qui peut venir optimiser et améliorer un model d’apprentissage déjà en place. Sa compréhension est donc assez conceptuelle. L’idée est de pouvoir appliquer un ensemble acquis sur une tâche à un second ensemble relatif.

Exemple d’usage : word2vec (https://code.google.com/archive/p/word2vec/)

  • Apprentissage profond (Deep Learning) : Sans doute le plus connu car très utilisé et efficace, l’apprentissage profond est une méthode d’apprentissage automatique. La machine va elle même apprendre à réaliser une tâche. Il existe plusieurs champs d’application comme la reconnaissance de forme, la reconnaissance de la parole, le traitement automatique des langues (TAL).

Exemple : Identification d’éléments composant une image (exemple : un chat blanc sur un fauteuil vert), diagnostique par imagerie médicale…

Et en pratique ?

Savoir positionner le Machine Learning au sein de l’Intelligence Artificielle et comprendre les différences entre les familles d’algorithmes de Machine Learning est une première étape afin de pouvoir adresser une problématique avec de l’Intelligence Artificielle. Très souvent, il s’agira de paralleliser différentes approches pour arriver à des résultats extrêmement efficaces.

Les GAFAM n’hésitent pas à mêler ces différentes branches de l’Intelligence Artificielle. C’est le cas du récent Smart Compose de Google (https://ai.googleblog.com/2018/05/smart-compose-using-neural-networks-to.html) présenté à la Google IO 2018 qui allie plusieurs techniques à savoir : Machine Learning & NLP, on parle donc d’Intelligence Artificielle.

Smart compose par Google

Google, Amazon, et Microsoft s’attèlent à développer et mettre en avant des librairies (souvent open source) et des outils, afin d’accompagner les data scientists, développeurs et chercheurs à la mise en oeuvre de solutions de Machine Learning. Il existe deux niveaux d’approches à savoir via des services (API) ou outils en ligne :

…ou via des librairies et des toolkit :

En fonction de votre besoin, du contexte de développement de votre produit, et de votre budget, il convient de faire attention à internaliser les développements ou à utiliser ce type d’outils et services facilitateurs.

Notez toutefois que la mise en place d’un projet à base de Machine Learning quel qu’il soit nécessite une expertise technique qui ne s’improvise pas.

Pour rappel, le Machine Learning est issu du monde de la recherche. L’execution de ce type de projet jusqu’à leur mise en production sont différents des projets classiques. Il convient ainsi de prendre les précautions et dispositions nécessaires.

Guillaume André

Written by

CTO Wexperience / Wex IT / UX.CARE, Focus on SaaS & UX

More From Medium

Also tagged Machine Learning

Related reads

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade